| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
- Switch to USES=tar
- Add NO_ARCH
- Switch to options helpers
|
|
|
|
| |
- Fix plist for WITH=SMB
|
|
|
|
|
| |
- Add NO_ARCH
- Switch to options helpers
|
|
|
|
|
| |
- Switch to options helpers
- Regenerate patches with `make makepatch`
|
|
|
|
|
| |
- Remove unneeded eval's
- Switch to options helpers
|
|
|
|
|
| |
- Add NO_ARCH
- Drop unneeded @dirs from plist
|
|
|
|
|
| |
PR: 205685
Submitted by: neel@neelc.org (maintainer)
|
|
|
|
| |
- Switch to options helpers
|
|
|
|
| |
- Switch to options helpers
|
|
|
|
| |
- Regenerate patches with `make makepatch`
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20151217.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20151224.diff
|
|
|
|
| |
- Switch to options helpers
|
|
|
|
| |
Reported by: ak
|
| |
|
|
|
|
|
|
|
|
|
| |
- While here remove old gruft
PR: 201535 [1]
Submitted by: Andriy Voskoboinyk
Approved by: mat (mentor); maintainer timeout
Differential Revision: D4657
|
|
|
|
|
|
|
|
| |
- Add LICENSE
Changes: http://git.savannah.gnu.org/cgit/findutils.git/tree/NEWS
PR: 205428
Submitted by: Klaus Aehlig <aehlig@linta.de> (maintainer)
|
|
|
|
|
|
| |
- Add NO_ARCH
Changes: http://search.cpan.org/dist/Business-ISBN/Changes
|
| |
|
| |
|
|
|
|
| |
- Use proper command for library installation
|
|
|
|
|
|
|
|
| |
Powerline is a statusline plugin for vim, and provides statuslines and prompts
for several other applications, including zsh, bash, tmux, IPython, Awesome, i3
and Qtile.
WWW: https://github.com/powerline/powerline
|
| |
|
| |
|
|
|
|
| |
Approved by: doceng (implicit)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
${PERL5} points to a specific version of perl, say, perl5.22.1, it is
fine to use it in a ports Makefile to do Perly things, but ports using
it must use ${PERL}, that points to /usr/local/bin/perl so that if the
minor version is updated, the shebang keep working.
While there, make some ports use shebangfix, regen a few patches, and
bump PORTREVISION where a shebang went from PERL5 to PERL.
PR: 205367
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
|
| |
- fix dependecies
- option FREETYPE is no longer default
- option FREETYPE and XFT now conflicting
|
|
|
|
|
|
|
| |
PR: 205288
Submitted by: maintainer
Approved by: bapt (mentor)
Differential Revision: D4565
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.
Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).
PR: 204672
|
|
|
|
|
|
|
| |
Do it like we already do in devel/py-qt4-core: call compileall.py with -d so
that the .pyc and .pyo files do not have ${STAGEDIR} in them.
While at it, also call python with -O to generate .pyo files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring in some long overdue updates, some of which are required for us to
later land the PyQt5 ports.
One big change with this update is that the PyQt4 ports now install their
.sip files into share/py-sip/PyQt4 instead of share/py-sip. This way we do
not end up with directories like share/py-sip/QtCore, which are especially
confusing once PyQt5 lands and starts installing files with the same names.
Other noteworthy items:
- PORTREVISION has been bumped on ports depending on devel/qscintilla2
because libqscintilla2.so's SOVERSION has changed.
- graphics/seexpr has been converted to USE_PYQT, as the file it used to
define a build-time dependency on x11-toolkits/py-qt4-gui has moved.
Once again, big thanks to Tobias Berner <tcberner@gmail.com> and Guido Falsi
(madpilot@) for their initial work on these ports as part of the effort to
land PyQt5 into the tree (see D2910 in Phabricator for an earlier version of
the PyQt5 patch set).
PR: 205143
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Mark magicpoint broken, maintainer is notified.
Exp-runs run by antoine@
This version also fixes shadowing of TYPEOF in ftconfig.h [2]
PR: 203554 [1], 202083 [2]
Submitted by: rhurlin@gwdg.de [2]
|
|
|
|
| |
Changes: http://search.cpan.org/dist/Geo-GeoNames/Changes
|
|
|
|
| |
- Switch from makefile echo's to pkg-message
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation for landing PyQt5 ports, generalize devel/py-qt4's
bsd.pyqt.mk and make it a proper file in Uses/.
Ports wishing to depend on PyQt4 ports can now do the following:
USES= pyqt:4
USE_PYQT= foo bar_build baz_run
Other changes include the renaming of the PYQT4_DIST variable to PYQT_DIST
and the introduction of the PYQT_SIPDIR plist substitution variable. The
rest of the contents of Uses/pyqt.mk are pretty much identical to what we
had in bsd.pyqt.mk with additional processing of USE_PYQT.
Even though this patch touches files in many different ports, the goal is
for it to be a no-op from an end-user perspective (so that the basic
infrastructure is landed before the other, riskier changes): no dependencies
have been changed, PyQt/SIP/QScintilla have not been upgraded and the plists
should remain exactly the same, since PYQT_SIPDIR currently contains the
same value that used to be hardcoded in the plists.
Huge thanks to Guido Falsi (madpilot@) for spearheading most of the work: he
took the initiative to work on PyQt5 and sent D2910 to Phabricator with the
original version of this patch. Tobias Berner (tcberner@gmail.com) later
applied it to kde@'s experimental area51 repositories and did some more work
on it.
|
|
|
|
|
|
| |
PR: 205059
Submitted by: myself
Approved by: makc@ (maintainer)
|
| |
|
|
|
|
|
|
|
| |
r344123 broke it by replacing RUN_DEPENDS with PYQT4_RUN_DEPENDS. The latter
has no meaning, so the port stopped depending on all other PyQt4 ports.
MFH: 2015Q4
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20151205.diff
|
|
|
|
| |
Changes: https://pecl.php.net/package-changelog.php?package=timezonedb
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first major release of FreePascal in nearly four years.
There are a ton of new features, way more to list here. see:
http://wiki.freepascal.org/FPC_New_Features_3.0
Several new unit ports were added, some were contracted. Most of
those were absorbed into the main FPC packages, but two units are
no longer supported: sndfile and matroshka.
All 99 remaining ports (including Lazarus ports) were build tested
on FreeBSD i386 and amd64 Release 10.2
|
|
|
|
|
|
| |
- Update WWW
Changes: https://github.com/mime-types/ruby-mime-types/blob/master/History.rdoc
|
|
|
|
|
|
|
|
|
| |
mime-types-data provides a registry for information about MIME media type
definitions. It can be used with the Ruby mime-types library or other software
to determine defined filename extensions for MIME types, or to use filename
extensions to look up the likely MIME type definitions.
WWW: https://github.com/mime-types/mime-types-data
|
|
|
|
| |
PR: 204492
|
|
|
|
|
|
|
|
| |
- While here, add LICENSE
PR: 187001
Submitted by: darius@dons.net.au
Approved by: maintainer timeout (uffe@uffe.org, 9 months)
|
| |
|
|
|
|
|
| |
(It does not require any patching, who mark the port BROKEN
can easily do it by yourself)
|
|
|
|
| |
dependency which conflicts with the 'version.h:' dependency that -MP generates.
|
|
|
|
| |
Approved by: doceng (implicit)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Geo::GeoNames provides a perl interface to the webservices found at [1]. That
is, given a given placename or postalcode, the module will look it up and return
more information (longitude, lattitude, etc) for the given placename or
postalcode. Wikipedia lookups are also supported. If more than one match is
found, a list of locations will be returned.
Before you start, get a free GeoNames account and enable it for access to the
free web service:
- Get an account [2]
- Respond to the email
- Login and enable your account for free access [3]
[1] http://api.geonames.org/
[2] http://www.geonames.org/login
[3] http://www.geonames.org/enablefreewebservice
WWW: http://search.cpan.org/dist/Geo-GeoNames/
|
|
|
|
| |
Approved by: mat (mentor)
|
|
|
|
|
|
| |
PR: 204724
Submitted by: Boris Korzun <drtr0jan@yandex.ru>
Approved by: portmgr (blanket)
|
|
|
|
|
|
|
| |
- Rewrite port options code
PR: 204724
Submitted by: Ben Woods <woodsb02@gmail.com> (maintainer)
|
|
|
|
| |
- Cosmetic fixes
|
| |
|
|
|
|
|
| |
- Add LICENSE_FILE
- Switch to options helpers
|
|
|
|
| |
- Switch to options helpers
|
|
|
|
| |
- Switch to options helpers
|
|
|
|
| |
Approved by: portmgr (blanket)
|
|
|
|
|
| |
Approved by: mm (maintainer)
Sponsored by: Gandi.net
|
| |
|
|
|
|
| |
Use INSTALL_LIB instead of INSTALL_DATA.
|
|
|
|
|
|
| |
Drop liblwres, which is purely internal. Add a missing OSVERSION check
to prevent building on 8 or older. Add an unconditional dependency on
compat10x on 11 or newer. Use INSTALL_LIB instead of INSTALL_DATA.
|
|
|
|
|
| |
dependency on compat9x with an unconditional one. Use INSTALL_LIB instead
of INSTALL_DATA.
|
|
|
|
|
|
|
| |
- Pass maintainership to submitter
PR: 204565
Submitted by: Walter Hop
|
| |
|
|
|
|
|
| |
PR: 204388
Submitted by: mikael.urankar@gmail.com (maintainer)
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20151108.diff
|
|
|
|
| |
PR: 204492
|
|
|
|
|
| |
PR: 204388
Submitted by: mikael.urankar@gmail.com (maintainer)
|
|
|
|
|
|
|
|
|
|
| |
Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
New zone America/Fort_Nelson.
|
|
|
|
|
| |
- Add NO_ARCH
- Switch to options helpers
|
|
|
|
| |
- Pet portlint: fix diff header of patch files
|
| |
|
|
|
|
| |
Approved by: bdrewery (mentor)
|
|
|
|
|
|
| |
It initially supports the BeagleBone Black, but others will follow.
Approved by: bdrewery (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In general, taking random out-of-context verses from a Bible is a
VERY bad idea. This said, this is an experiment to generate a not
too bad fortune-cookie database under the following principles:
- Only the text from the psalms, which are usually meant for praying,
were taken.
- The texts always include at least some context: you are always
notified where the text came from and there is always sufficient
text so that the phrases make sense.
- The text was taken from the classic Douai Bible, a direct translation
from the latin Vulgata. The old language will not give you false
impressions that you are actually understanding it fully.
- No effort was done to remove the original comments. Non-Christians
may rightfully feel the translation is biased.
This is meant to be a general aid for Christian meditation: it is not
generally to be taken as my message-of-the-day from God.
To use, you need UNIX fortune(6) utility and you should follow the
instructions from the corresponding man page.
PR: 202896
Submitted by: pfg
|
|
|
|
|
|
|
|
| |
PR: 204056
Submitted by: mat
Reviewed by: bapt
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D2735
|
| |
|
| |
|
|
|
|
|
|
| |
- Add NO_ARCH
Changes: http://search.cpan.org/dist/Chatbot-Eliza/Changes
|
|
|
|
|
|
|
| |
Changes: https://github.com/visit1985/mdp/compare/1.0.1...1.0.2
PR: 204136
Submitted by: Neel Chauhan <neel@neelc.org> (maintainer)
|
| |
|
| |
|
|
|
|
|
| |
2015-10-22 misc/ruby-progressbar: Abandoned upstream, superseded by devel/rubygem-ruby-progressbar
2015-10-24 www/twig: Upstream vanished, php3 and php4 are long unsupported
|
|
|
|
|
|
|
|
|
|
| |
- Convert to option helpers and thus cleanup Makefile; running `make
package OPTIONS_UNSET=DOCS -DBATCH' will produce a docless package
without any pre-staging-era hacks in the Makefile
PR: 203098
Submitted by: dhw
Approved by: maintainer
|
|
|
|
|
|
| |
PR: 203952
Submitted by: s3erios@gmail.com
Approved by: portmgr blanket
|
|
|
|
|
|
| |
"todo" lists.
PR: 198722
|
|
|
|
|
| |
Submitted by: Mikael Urankar <mikael.urankar@gmail.com> (maintainer)
Approved by: bdrewery (mentor)
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20151011.diff
|
|
|
|
| |
Approved by: bdrewery (mentor)
|
|
|
|
|
| |
Submitted by: Mikael Urankar <mikael.urankar at gmail.com> via freebsd-arm
Approved by: bdrewery (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")
Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")
Update shebangfix usage according to new rules in many ports:
- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces
Fix shebangfix usage in many ports (irrelevant to infrastructure change):
- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string
Approved by: portmgr (bapt)
Differential Revision: D3756
|
|
|
|
|
|
| |
- Convert to new options helper
- Cosmetic change
- Pet portlint: fix diff header of patch files
|
|
|
|
| |
- Convert to new options target helper
|
|
|
|
| |
- Convert to new options target helper
|
|
|
|
|
| |
- Use LIBS instead of CFLAGS
- Cleanup Makefile
|
|
|
|
|
|
| |
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3694
|
| |
|
|
|
|
|
| |
- Update to 0.19
- Add pkg-message for those who don't read README (or build ports without DOCS)
|
|
|
|
|
|
| |
PR: 203274
Submitted by: Dmitry Marakasov <amdmi3@FreeBSD.org>
Approved by: doceng (implicit)
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150928.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20151007.diff
|
| |
|
|
|
|
|
| |
PR: 203272
Approved by: mat
|
| |
|
|
|
|
| |
Approved by: tota (maintainer, via private mail)
|
|
|
|
|
|
|
|
|
|
|
| |
Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby.
The output can be customized with a flexible formatting system including
percentage, bars of various formats, elapsed time and estimated time remaining.
WWW: https://github.com/jfelchner/ruby-progressbar
As this gem is based on the code that's available as misc/ruby-progressbar,
conflict with it, to avoid problems.
|
| |
|
|
|
|
|
|
|
| |
- Convert to new options helper
- Convert to new options target helper
Approved by: portmgr (blanket)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
with some fixes (Add NO_ARCH knob [1]).
203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274203274
Submitted by: Dmitry Marakasov (amdmi3@FreeBSD.org) [1]
Approved by: doceng (implicit)
|
|
|
|
| |
Approved by: doceng (implicit)
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150919.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150924.diff
|
| |
|
|
|
|
| |
- Update WWW
|
|
|
|
| |
- Regenerate patches with `make makepatch`
|
| |
|
| |
|
| |
|
|
|
|
| |
Approved by: portmgr blanket
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
domain is available for stuff built from source.
Some ports were already installing in the System domain, for these just remove the Makefile lines explicitly specifying the install domain.
The rest are installed in the Local domain, remove any overrides, update their pkg-plists and any explicit paths in the Makefiles and then bump port revision.
Approved by: bapt (mentor)
Differential Revision: https://reviews.freebsd.org/D2977
|
|
|
|
| |
caused by 2-year-old infrastructure change
|
|
|
|
| |
- Sort PLIST
|
|
|
|
|
|
|
|
| |
All applications in the ports tree works correctly with unicode version of wxGTK
Newer version of wxGTK are unicode only (3.0+)
Note that now WX_UNICODE macro is noop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to upstream, this is the last planned Qt4 release.
A list of changes since 4.8.6 can be found here:
<http://download.qt.io/official_releases/qt/4.8/4.8.7/changes-4.8.7>
Porting notes and changes:
- Remove several patches that have been upstreamed.
- Make Uses/qmake.mk pass the contents of LIBS to the qmake environment. [1]
- Repurpose devel/qt4/files/extrapatch-src-corelib-global-qglobal.h now the
original patch is part of the release (curiously enough, the original
patch was never actually used, as the ?= assignment in r362837 after
r362770 was never possible).
This works around the way compiler support for C++11 features is detected
in Qt 4.8.7: while it originally only uses the compiler to determine if
something is supported or not, the initializer lists feature also depends
on the C++ standard library being used. It's a problem in FreeBSD 9.x,
where USES=compiler:c++0x or USES=compiler:c++11-lang means we will use
clang to build a port but use libstdc++ from base (GCC 4.2). The latter
obviously does not support initializer lists, and the build fails because
Qt tries to include headers that do not exist (<initializer_list>).
Since detecting libstdc++'s version is not trivial (we need to include a
non-lightweight header like cstdio and then check for __GLIBCXX__), we
just enable Q_COMPILER_INITIALIZER_LISTS support only when libc++ is used
(there should be no reason for someone to be using clang with GCC 4.8's
libstdc++, for example).
x11/kdelibs4's FindQt4.cmake had to include a backported change from the
upstream FindQt4.cmake in CMake itself to use a C++ compiler to detect
flags like Q_WS_X11, otherwise the inclusion of <ciso646> in qglobal.h
makes the build fail.
This patch contains changes by me, makc@ and alonso@.
PR: 202552 [1]
PR: 202808 [exp-run]
Submitted by: pawel@ [1]
|
|
|
|
| |
Changes: https://github.com/halostatue/mime-types/blob/master/History.rdoc
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150904.diff
|
|
|
|
|
|
| |
PR: 199397
Submitted by: Florian Limberger <flo@snakeoilproductions.net>
Approved by: maintainer timeout (> 4 months)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move Perl's man1 files along with its man3 files.
- Move where Perl installs its modules man1 pages.
- Convert the ports installing man1 pages.
- Make different Perl versions installable at the same time.
Though you should note that only the default version can be used to
install Perl modules, and the non default Perl versions cannot use the
modules installed via ports if they contain .so as they are installed
in a version specific directory.
Reviewed by: bapt (the Mk bits)
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3542
|
| |
|
| |
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150910.diff
|
|
|
|
| |
Approved by: portmgr blanket
|
|
|
|
|
| |
Approved by: portmgr blanket
MFH: 2015Q3 (blanket)
|
|
|
|
|
|
| |
- Add NO_ARCH
Approved by: portmgr blanket
|
|
|
|
| |
- Update to 0.12
|
| |
|
|
|
|
| |
Changes: https://pecl.php.net/package-changelog.php?package=timezonedb
|
|
|
|
|
|
|
|
|
|
| |
- Add LICENSE
- Cleanup the port
- While here, add NO_ARCH
PR: 202331
Submitted by: eserte12@yahoo.de
Approved by: maintainer timeout (slaven@rezic.de, 2 weeks)
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150901.diff
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Add LICENSE_FILE
- Pet portlint
- Switch to @sample
|
| |
|
|
|
|
|
|
|
| |
- Switch to options helpers
- Switch to @sample
Approved by: portmgr blanket
|
|
|
|
|
|
| |
- While here, add some NO_ARCHes and couple missing PORT_OPTIONS=DOCS
Approved by: portmgr blanket
|
| |
|
|
|
|
| |
- Cosmetic fixes
|
|
|
|
|
| |
- Update to 0.13
- Use new options helpers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* print/ghostscript{7,8,9,9-agpl}-base
Installs Ghostscript binary, libgs, and related files.
These ports do not depend on X11 libraries (i.e. x11* devices
are not available). USES=ghostscript will set dependency on
one of them depending on GHOSTSCRIPT_DEFAULT.
The default device is set to "display" or "bbox".
* print/ghostscript{7,8,9,9-agpl}-x11
Installs a shared library which provides X11 support to
the installed Ghostscript binaries. x11* devices will be
enabled when the library is available.
This depends on *-base (RUN_DEPENDS). USES=ghostscript:x11
will set dependency on one of them.
- Fix integer overflow reported as CVE-2015-3228.
- Update Uses/ghostscript.mk:
* Add x11 keyword. nox11 keyword is now obsolete.
* Use packagename in *_DEPENDS line to prevent relationship between
-base and -x11 packages from being broken.
- Fix x11/nox11 keyword and bump PORTREVISION in ports using
USES=ghostscript to update dependency of pre-compiled packages.
|
|
|
|
| |
misc/freebsd-doc-*, devel/linux-c6-qt47
|
|
|
|
|
|
|
|
|
|
|
|
| |
<simon@comsys.ntu-kpi.kiev.ua>: host mx.kpi.ua[77.47.128.136] said:
550-Verification failed for <indexbuild@FreeBSD.org> 550-Called:
8.8.178.115 550-Sent: RCPT TO:<indexbuild@FreeBSD.org> 550-Response:
554 5.7.1 Service unavailable; Unverified Client host [mail1.kpi.ua]
blocked using dbl.spamhaus.org;
http://www.spamhaus.org/query/dbl?domain=kpi.ua 550 From email address must
be valid (in reply to RCPT TO command)
Sponsored by: DK Hostmaster A/S
|
|
|
|
|
|
|
| |
<ea@zaib.as>: Host or domain name not found. Name service error for
name=zaib.as type=AAAA: Host not found
Sponsored by: DK Hostmaster A/S
|
|
|
|
|
|
| |
Add PKGNAMEPREFIX so I can use the package name with sysutils/terraform
While here, pet portlint by removing duplicate PORTREVISION and sorting USES
Bump PORTREVISION for package name change
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes affecting future time stamps
North Korea switches to +0830 on 2015-08-15. (Thanks to Steffen Thorsen.)
The abbreviation remains "KST". (Thanks to Robert Elz.)
Uruguay no longer observes DST. (Thanks to Steffen Thorsen and Pablo Camargo.)
Changes affecting past and future time stamps
Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC. (Thanks to Roman Tudos.)
|
| |
|
|
|
|
| |
- Add NO_ARCH
|
|
|
|
|
|
|
| |
- Remove MASTER_SITE_SUBDIR
- Add NO_ARCH
Changes: http://search.cpan.org/dist/Geo-Coder-Google/Changes
|
|
|
|
| |
- Add NO_ARCH
|
|
|
|
| |
Changes: https://pecl.php.net/package-changelog.php?package=timezonedb
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150727.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150731.diff
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add USE_FPC_RUN to bsd.fpc.mk. It add fpc units like run dependencies. Otherwise
fpc units only are added like build dependencies (less dependencies registered
when they are installed with pkg).
- Remove GTK1 obsolete dependencies
- Bump all ports with dependencies of fpc-* units
- Bump all ports with dependencies of lazarus ports
- Clean up
|
|
|
|
|
|
|
| |
Guesses the MIME type from a filename extension using the data
derived from /etc/mime.types in UNIX-type systems.
WWW: https://cran.r-project.org/web/packages/mime/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The offical GNOME 3.16 release notes can be found at https://help.gnome.org/misc/release-notes/3.16/
Upgrade instructions for port users:
Delete the old tracker package with:
# pkg delete -f tracker
And user port upgrade tool of choice to upgrade.
Thanks to Antoine Brodin for running the exp-runs.
This release was made possible by the following people:
Gustau Perez
Ting-Wei_Lan
PR: 201980
|
|
|
|
| |
Approved by: portmgr blanket
|
| |
|
|
|
|
|
|
|
| |
Chase all users of shlib version change of libpoppler.so.
PR: 201477 [1]
Submitted by: olivierd@ [1]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do. On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).
Bump PORTREVISION on all ports where the build log contains -export-symbols.
audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions. Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to. Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.
japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything. Just don't hide anything at all
like the textproc/scim configure script does.
multimedia/schroedinger: Apply an upstream patch.
textproc/scim-input-pad: Same as japanese/scim-honoka.
PR: 201922
Approved by: portmgr (antoine)
Exp-run by: antoine
|
|
|
|
|
| |
- Fix shebangs
- Use options helpers
|
|
|
|
|
|
|
|
|
| |
using python
PR: 201077
Reviewed by: mat
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D2955
|
| |
|
| |
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150722.diff
|
|
|
|
|
| |
PR: 201766
Submitted by: neel@neelc.org
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Solarized is a sixteen color palette (eight monotones, eight accent colors)
designed for use with terminal and gui applications. It has several unique
properties. It has been tested extensively in real world use on color
calibrated displays (as well as uncalibrated/intentionally miscalibrated
displays) and in a variety of lighting conditions.
WWW: http://ethanschoonover.com/solarized
PR: 201096
Submitted by: Danilo G. Baio <dbaio@bsd.com.br>
|
|
|
|
|
|
|
|
|
| |
- Add or update the following ports which latex-biber depends on:
japanese/p5-Encode-EUCJPASCII (added, eucJP-open encoding support)
misc/p5-Business-ISMN (added, ISMN support)
textproc/p5-Text-BibTeX (updated to 0.71)
textproc/p5-Text-Roman (added, conversion of Roman numerals)
|
|
|
|
| |
Approved by: doceng (implicit)
|
|
|
|
|
|
|
|
|
|
| |
Add GHOSTSCRIPT_DEFAULT to bsd.default-versions.mk for easy version selection.
Arguments supported: <empty>, build, run, nox11 and agpl
PR: 201201 (exp-run)
Approved by: portmgr (mat@)
Exp run by: antione@ (previous patch)
Differential Revision: https://reviews.freebsd.org/D2938
|
|
|
|
|
|
|
|
|
|
|
| |
- update from 0.7.8 to 0.8
- use github instead of SF
- sort USES
- pass maintainer to submitter, previous maintainer has 3 successive
timeouts and no approvals or updates since 2013.
PR: 201579
Submitted by: mp39590@gmail.com
|
| |
|
|
|
|
| |
This is a fork of the real py-progressbar with a few additions.
|
|
|
|
|
|
| |
- Add NO_ARCH
- Add PORTSCOUT: 1.4.7 tarball is corrupted
- Cosmetic change
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150710.diff
|
|
|
|
| |
Approved by: doceng (implicit)
|
| |
|
| |
|
|
|
|
|
| |
Reported by: adamw
Pointyhat to: swills
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
AnsiWeather is a Shell script for displaying the current weather conditions
in your terminal, with support for ANSI colors and Unicode symbols.
Weather data comes from the OpenWeatherMap free weather API.
WWW: https://github.com/fcambus/ansiweather/
PR: 201097
Submitted by: Danilo G. Baio <dbaio@bsd.com.br>
|
|
|
|
|
|
|
| |
Obtained from: DEVELOPER_MODE
With Hat: ruby@
Sponsored by: RideCharge Inc / Curb
|
| |
|
|
|
|
| |
Sort USES.
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150622.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150701.diff
|
|
|
|
|
|
|
| |
- Modernize
PR: 201176
Submitted by: tkato432@yahoo.com
|
|
|
|
|
|
|
| |
Also fix a few bits of generic infrastructure along the way.
Approved by: bapt (mentor)
Differential Revision: https://reviews.freebsd.org/D2961
|
| |
|
|
|
|
| |
- Cleanup Makefile
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Add NO_ARCH
Changes: https://github.com/bkeepers/dotenv/blob/master/Changelog.md
|
|
|
|
| |
Submitted by: ryusuke
|
|
|
|
| |
Changes: https://pecl.php.net/package-changelog.php?package=timezonedb
|
|
|
|
|
|
| |
- Add NO_ARCH
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150609.diff
|
|
|
|
|
|
| |
- Add NO_ARCH
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150615.diff
|
|
|
|
|
|
|
|
|
|
| |
Changes affecting future time stamps
Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
not 06-13 and 07-18 as we had guessed. (Thanks to Milamber.)
Assume Cayman Islands will observe DST starting next year, using US rules.
Although it isn't guaranteed, it is the most likely.
|
| |
|
|
|
|
| |
Approved by: portmgr
|
|
|
|
|
|
| |
PR: 197522
Submitted by: jbeich
Approved by: portmgr
|
|
|
|
|
|
| |
- Fix shebangs
MFH: 2015Q2
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D2710
|
|
|
|
| |
- Update to 0.12
|
|
|
|
| |
MFH: 2015Q2 (blanket)
|
| |
|
|
|
|
| |
MFH: 2015Q2
|
| |
|
|
|
|
| |
Sponsored by: Absolight
|
|
|
|
| |
- Strip library
|
|
|
|
|
|
| |
- Add in/min and others to speed category
- Add files/patch-gonvert.desktop
|
|
|
|
|
|
| |
- Do not unconditionally strip binary
PR: 200523
|
| |
|
|
|
|
| |
Changes: http://search.cpan.org/dist/Geo-Coder-Google/Changes
|
|
|
|
|
|
|
| |
python 2.7.10
Differential Revision: https://reviews.freebsd.org/D2639
Reviewed by: sunpoet, mva
|
| |
|
|
|
|
|
|
| |
- Update COMMENT
- Use = instead of +=
- Update WWW
|
|
|
|
|
|
|
| |
- Add LICENSE
- Use = instead of +=
Changes: https://github.com/bkeepers/dotenv/blob/master/Changelog.md
|
| |
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/usbids-20150505.diff
|
|
|
|
| |
Changes: http://people.FreeBSD.org/~sunpoet/pciids-20150523.diff
|