friendica/bin/composer.phar

90835 lines
1.8 MiB
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view
* the license that is located at the bottom of this file.
*/
// Avoid APC causing random fatal errors per https://github.com/composer/composer/issues/264
if (extension_loaded('apc') && filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN) && filter_var(ini_get('apc.cache_by_default'), FILTER_VALIDATE_BOOLEAN)) {
if (version_compare(phpversion('apc'), '3.0.12', '>=')) {
ini_set('apc.cache_by_default', 0);
} else {
fwrite(STDERR, 'Warning: APC <= 3.0.12 may cause fatal errors when running composer commands.'.PHP_EOL);
fwrite(STDERR, 'Update APC, or set apc.enable_cli or apc.cache_by_default to 0 in your php.ini.'.PHP_EOL);
}
}
Phar::mapPhar('composer.phar');
require 'phar://composer.phar/bin/composer';
__HALT_COMPILER(); ?>
¨•ø composer.phar+src/Composer/Autoload/AutoloadGenerator.phpüc˜Þ^ücÊÇv`¶+src/Composer/Autoload/ClassMapGenerator.php¨˜Þ ™fsrc/Composer/Cache.phpç˜Þ³›î%src/Composer/Command/AboutCommand.phpؘÞö÷;‡¶'src/Composer/Command/ArchiveCommand.phpž˜ÞlG$src/Composer/Command/BaseCommand.phpÜ ˜Þ .src/Composer/Command/BaseDependencyCommand.phpñ˜ÞXgFð¶1src/Composer/Command/CheckPlatformReqsCommand.php ˜Þ^ *Þ¯T¶*src/Composer/Command/ClearCacheCommand.phpµ˜Þvÿyƒ¶&src/Composer/Command/ConfigCommand.phpM˜Þ^MÛ=-src/Composer/Command/CreateProjectCommand.phpß5˜Þ^ß5ü<>_÷¶'src/Composer/Command/DependsCommand.phpø˜Þªeá¶(src/Composer/Command/DiagnoseCommand.phpåM˜Þ^åMhÇÔ¶,src/Composer/Command/DumpAutoloadCommand.phpL ˜Þ^L °E²ù¶$src/Composer/Command/ExecCommand.phpï˜ÞXrœ¾¶&src/Composer/Command/GlobalCommand.phpz ˜Þ^z ³çå?¶$src/Composer/Command/HomeCommand.php˜Þ^qLBŽ¶$src/Composer/Command/InitCommand.php¯Q˜Þ^¯QœÁ ´¶'src/Composer/Command/InstallCommand.phpT˜Þ^TÞùõ›¶(src/Composer/Command/LicensesCommand.php˜Þ^±s'(src/Composer/Command/OutdatedCommand.php ˜Þ^ ا)src/Composer/Command/ProhibitsCommand.php˜Þ^_¤éS¶&src/Composer/Command/RemoveCommand.phpá˜Þ½í<C2BD>'src/Composer/Command/RequireCommand.php"'˜Þ^"'ü¤Ø²¶)src/Composer/Command/RunScriptCommand.php=˜Þ^=rºmܶ+src/Composer/Command/ScriptAliasCommand.php¯˜Þ?=Ѷ&src/Composer/Command/SearchCommand.phpU ˜Þ^U …ß*src/Composer/Command/SelfUpdateCommand.php;3˜Þ^;3˜$src/Composer/Command/ShowCommand.phphq˜Þ^hq+a_&src/Composer/Command/StatusCommand.php˜Þ^ùjض(src/Composer/Command/SuggestsCommand.phpò ˜ÞíAǶ&src/Composer/Command/UpdateCommand.phpñ#˜Þ^ñ#p\F(src/Composer/Command/ValidateCommand.php¤˜ÞNšýsrc/Composer/Composer.phpN ˜Þ^N ݆¤A¶src/Composer/Config.phph$˜Þ^h$»‰Á¶-src/Composer/Config/ConfigSourceInterface.php˜Þ^³ [/¶(src/Composer/Config/JsonConfigSource.php²˜ÞQiÃb¶$src/Composer/Console/Application.phpý6˜Þ^ý6ò|-,src/Composer/Console/HtmlOutputFormatter.php3˜Þ^3Ú<>Eu¶-src/Composer/DependencyResolver/Decisions.php'˜Þ^'¹ÔŽ¼¶1src/Composer/DependencyResolver/DefaultPolicy.php˜Þ^õÝv/src/Composer/DependencyResolver/GenericRule.phpµ˜Þ᫤¶>src/Composer/DependencyResolver/Operation/InstallOperation.phpC˜Þ^C´\õ*¶Isrc/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php÷˜ÞïÎà÷¶Ksrc/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.phpý˜Þ3#†¶@src/Composer/DependencyResolver/Operation/OperationInterface.phpÓ˜ÞÙâ&ä¶=src/Composer/DependencyResolver/Operation/SolverOperation.php¹˜Þ&¢e
@src/Composer/DependencyResolver/Operation/UninstallOperation.phpI˜Þ^IFûÂɶ=src/Composer/DependencyResolver/Operation/UpdateOperation.phph˜Þ^höSÕ]¶3src/Composer/DependencyResolver/PolicyInterface.php­˜Þ^­Ÿ(src/Composer/DependencyResolver/Pool.php¯"˜Þ^¯"m½ ¶+src/Composer/DependencyResolver/Problem.phpú˜Þ]D5¶+src/Composer/DependencyResolver/Request.phpƒ˜ÞåVP„¶(src/Composer/DependencyResolver/Rule.php?˜Þ^?¬‘œü¶1src/Composer/DependencyResolver/Rule2Literals.php˜Þ^tZÅɶ+src/Composer/DependencyResolver/RuleSet.phpª
˜Þ
4src/Composer/DependencyResolver/RuleSetGenerator.phpʘÞD¦õZ¶3src/Composer/DependencyResolver/RuleSetIterator.php˜Þ^Cü$¶2src/Composer/DependencyResolver/RuleWatchChain.phpi˜Þ^ihïš,¶2src/Composer/DependencyResolver/RuleWatchGraph.phpá˜Þ‰rôv¶1src/Composer/DependencyResolver/RuleWatchNode.php˜Þ^<00>Gd7¶*src/Composer/DependencyResolver/Solver.php<68>:˜Þ^<5E>:æ¯Ép¶6src/Composer/DependencyResolver/SolverBugException.php™˜Þ^™Xg6¶;src/Composer/DependencyResolver/SolverProblemsException.phpô˜Þ×|Ŧ¶/src/Composer/DependencyResolver/Transaction.phpטÞ^×Vm쟶-src/Composer/Downloader/ArchiveDownloader.phpÆ ˜ÞG s0¶1src/Composer/Downloader/ChangeReportInterface.php̘ޯਿ¶+src/Composer/Downloader/DownloadManager.php`˜Þ^`#ÏX/src/Composer/Downloader/DownloaderInterface.phpʘÞgs!l¶3src/Composer/Downloader/DvcsDownloaderInterface.phpјÞ&Áœ¿¶*src/Composer/Downloader/FileDownloader.phpG˜Þ^GäOж/src/Composer/Downloader/FilesystemException.php
˜Þ^
.-‹¶,src/Composer/Downloader/FossilDownloader.php ˜Þ^ Ü<>Ii¶)src/Composer/Downloader/GitDownloader.php³6˜Þ^³6¦Ü(9¶*src/Composer/Downloader/GzipDownloader.phpó˜Þ}Úo¶(src/Composer/Downloader/HgDownloader.php”˜Þ^”ßis̶*src/Composer/Downloader/PathDownloader.phpé˜Þ$²FQ¶0src/Composer/Downloader/PearPackageExtractor.phpu˜Þ^uz„‡¶.src/Composer/Downloader/PerforceDownloader.phpž˜ÞÖüñ9¶*src/Composer/Downloader/PharDownloader.phpå˜ÞÞÉç¶)src/Composer/Downloader/RarDownloader.phpž˜Þ6 3U¶)src/Composer/Downloader/SvnDownloader.phpG˜Þ^GM#j)src/Composer/Downloader/TarDownloader.phpã˜ÞÍX?¶.src/Composer/Downloader/TransportException.php=˜Þ^=ZÎÈÞ¶9src/Composer/Downloader/VcsCapableDownloaderInterface.phpÔ˜Þ`§ôö¶)src/Composer/Downloader/VcsDownloader.php¡˜Þ( à>¶(src/Composer/Downloader/XzDownloader.php§˜ÞW$;á¶)src/Composer/Downloader/ZipDownloader.phpk˜Þ^kÒo”ζ&src/Composer/EventDispatcher/Event.php ˜Þ^ ±™jï¶0src/Composer/EventDispatcher/EventDispatcher.php$4˜Þ^$4x9src/Composer/EventDispatcher/EventSubscriberInterface.php©˜Þ9src/Composer/EventDispatcher/ScriptExecutionException.phpv˜Þ^vwZ8S¶)src/Composer/Exception/NoSslException.phpf˜Þ^fËíM<C3AD>src/Composer/Factory.php_=˜Þ^_=x"Ŷsrc/Composer/IO/BaseIO.phpõ˜Þ¸´
src/Composer/IO/BufferIO.php¾˜ÞX~dsrc/Composer/IO/ConsoleIO.php˜Þ^üw·¶src/Composer/IO/IOInterface.phpì˜ÞÕ<>src/Composer/IO/NullIO.phpÀ˜ÞF`sʶsrc/Composer/Installer.phpŸ˜Þ^Ÿäº»*src/Composer/Installer/BinaryInstaller.php
˜Þ^
t¤{ø¶2src/Composer/Installer/BinaryPresenceInterface.php˘ÞÀ5š¨¶.src/Composer/Installer/InstallationManager.php-˜Þ^-¾}Œ7¶)src/Composer/Installer/InstallerEvent.php˜Þ^lÔzi¶*src/Composer/Installer/InstallerEvents.phpÞ˜ÞìŸ@G¶-src/Composer/Installer/InstallerInterface.phpã˜Þ^ƒ“ʶ+src/Composer/Installer/LibraryInstaller.php%˜Þ^% »<>̶/src/Composer/Installer/MetapackageInstaller.phpʘÞÙti·¶(src/Composer/Installer/NoopInstaller.php+˜Þ^+À·M}¶'src/Composer/Installer/PackageEvent.phpe˜Þ^e(src/Composer/Installer/PackageEvents.php¸˜Þ^¸dbØs¶.src/Composer/Installer/PearBinaryInstaller.phpø ˜Þ *ë•k¶(src/Composer/Installer/PearInstaller.php¢˜ÞÈ‚¶Ñ¶*src/Composer/Installer/PluginInstaller.php˜Þ^ÒX8¶+src/Composer/Installer/ProjectInstaller.php˜Þ^*0@P¶4src/Composer/Installer/SuggestedPackagesReporter.php:˜Þ^:´UV¶src/Composer/Json/JsonFile.php[˜Þ^[°<>Ë™¶#src/Composer/Json/JsonFormatter.phpb˜Þ^bÝNš¶%src/Composer/Json/JsonManipulator.phpÀ3˜Þ^À3<00> -src/Composer/Json/JsonValidationException.php\˜Þ^\.Xóܶ%src/Composer/Package/AliasPackage.php§˜ÞÕ”R™¶7src/Composer/Package/Archiver/ArchivableFilesFilter.php ˜Þ^ yY+¦¶7src/Composer/Package/Archiver/ArchivableFilesFinder.phpÞ˜Þ ²²¹¶0src/Composer/Package/Archiver/ArchiveManager.phpÝ ˜Þ í<´3src/Composer/Package/Archiver/ArchiverInterface.php˜Þ^ñ´> 3src/Composer/Package/Archiver/BaseExcludeFilter.php˜Þ^y¶=ƶ7src/Composer/Package/Archiver/ComposerExcludeFilter.php˜Þ^SZ0¶2src/Composer/Package/Archiver/GitExcludeFilter.phpr˜Þ^r3Mh¶1src/Composer/Package/Archiver/HgExcludeFilter.php ˜Þ^  •¦S¶.src/Composer/Package/Archiver/PharArchiver.php?˜Þ^?®— u¶-src/Composer/Package/Archiver/ZipArchiver.php½˜Þ¨¶$src/Composer/Package/BasePackage.php˜Þ^D|ŸÈ¶*src/Composer/Package/Comparer/Comparer.phpR˜Þ^RÏسî¶(src/Composer/Package/CompletePackage.phpü˜ÞþM˶¶1src/Composer/Package/CompletePackageInterface.phpõ˜Þ¦Ê<C2A6>ò¶+src/Composer/Package/Dumper/ArrayDumper.phpW ˜Þ^W ¿éÁ¦¶src/Composer/Package/Link.phpˆ˜Þ^ˆå¶Y«¶7src/Composer/Package/LinkConstraint/EmptyConstraint.php˜Þ^é~‹¶?src/Composer/Package/LinkConstraint/LinkConstraintInterface.phpd˜Þ^d¤ôLn¶7src/Composer/Package/LinkConstraint/MultiConstraint.php˜Þ^ób`ý¶:src/Composer/Package/LinkConstraint/SpecificConstraint.phpi˜Þ^iÞ”š%¶9src/Composer/Package/LinkConstraint/VersionConstraint.phpX˜Þ^X}`y¶+src/Composer/Package/Loader/ArrayLoader.phpN˜Þ^NâQ¬¶7src/Composer/Package/Loader/InvalidPackageException.phpE˜Þ^Exb¾¶*src/Composer/Package/Loader/JsonLoader.phpù˜Þ!~ˆ/src/Composer/Package/Loader/LoaderInterface.php²˜Þ¦}úζ1src/Composer/Package/Loader/RootPackageLoader.phpó˜Þl”.ض5src/Composer/Package/Loader/ValidatingArrayLoader.php(>˜Þ^(>´src/Composer/Package/Locker.php¥!˜Þ^¥!/=xö¶ src/Composer/Package/Package.phpɘÞ<63>)src/Composer/Package/PackageInterface.php\˜Þ^\xåp¨¶)src/Composer/Package/RootAliasPackage.php ˜Þ^ _€ø¶$src/Composer/Package/RootPackage.php˜Þ^ŽÎ_¶-src/Composer/Package/RootPackageInterface.php¹˜Þ"maV¶/src/Composer/Package/Version/VersionGuesser.phpÏ!˜Þ^Ï!(”Ü.¶.src/Composer/Package/Version/VersionParser.php¥˜Þô´à¶0src/Composer/Package/Version/VersionSelector.phpK ˜Þ^K ²<ȶ-src/Composer/Plugin/Capability/Capability.phpW˜Þ^Wæ_¨1¶2src/Composer/Plugin/Capability/CommandProvider.php—˜Þ^—ûOâ>¶src/Composer/Plugin/Capable.php˜Þ^Æq$src/Composer/Plugin/CommandEvent.phpâ˜Þ³ÆÇW¶$src/Composer/Plugin/PluginEvents.phpö˜Þá1=z¶'src/Composer/Plugin/PluginInterface.phpô˜Þ)'*ض%src/Composer/Plugin/PluginManager.phpª$˜Þ^ª$m‰ƒä¶*src/Composer/Plugin/PreCommandRunEvent.phpõ˜Þ:ðd,src/Composer/Plugin/PreFileDownloadEvent.php`˜Þ^`9-ζ4src/Composer/Question/StrictConfirmationQuestion.php˜Þ^'.³è¶+src/Composer/Repository/ArrayRepository.php˜Þ^éÌt.src/Composer/Repository/ArtifactRepository.phpí˜Þq9OS¶*src/Composer/Repository/BaseRepository.phpŠ˜ÞäÝ÷¶.src/Composer/Repository/ComposerRepository.php0U˜Þ^0UÃ7L†¶/src/Composer/Repository/CompositeRepository.php;˜Þ^;¤¯S;src/Composer/Repository/ConfigurableRepositoryInterface.php…˜Þ^…±Ÿ_0src/Composer/Repository/FilesystemRepository.phpp˜Þ^p#ù¶4src/Composer/Repository/InstalledArrayRepository.php£˜Þ/ö~>¶9src/Composer/Repository/InstalledFilesystemRepository.php£˜ÞV
•_¶8src/Composer/Repository/InstalledRepositoryInterface.php‡˜Þ^‡£9p¶6src/Composer/Repository/InvalidRepositoryException.phpn˜Þ^nà“똶-src/Composer/Repository/PackageRepository.phpj˜Þ^j¥ôò̶*src/Composer/Repository/PathRepository.php¡ ˜Þ XWL¶2src/Composer/Repository/Pear/BaseChannelReader.phpI˜Þ^Ic6³¶,src/Composer/Repository/Pear/ChannelInfo.phpĘÞ:T*ɶ.src/Composer/Repository/Pear/ChannelReader.phpí˜Þ?ÈYT¶4src/Composer/Repository/Pear/ChannelRest10Reader.php® ˜Þ™ÖÛú¶4src/Composer/Repository/Pear/ChannelRest11Reader.php& ˜Þ^& òUb5src/Composer/Repository/Pear/DependencyConstraint.phpq˜Þ^q9/src/Composer/Repository/Pear/DependencyInfo.phpq˜Þ^qfºTò¶8src/Composer/Repository/Pear/PackageDependencyParser.php…˜Þ^…÷$Li¶,src/Composer/Repository/Pear/PackageInfo.php°˜ÞŸ ¸ ,src/Composer/Repository/Pear/ReleaseInfo.php˜Þ^o“ŠÃ¶*src/Composer/Repository/PearRepository.phpª˜Þ)Ÿƒ}¶.src/Composer/Repository/PlatformRepository.phpå˜Þ»G÷å¶-src/Composer/Repository/RepositoryFactory.php`˜Þ^`K¾du¶/src/Composer/Repository/RepositoryInterface.phpÛ˜ÞâÁ¶-src/Composer/Repository/RepositoryManager.php2
˜Þ^2
á…5#¶7src/Composer/Repository/RepositorySecurityException.phpo˜Þ^opÕ«ª¶/src/Composer/Repository/Vcs/BitbucketDriver.php• ˜Þ^• $©Rç¶,src/Composer/Repository/Vcs/FossilDriver.php³˜ÞÐCk2src/Composer/Repository/Vcs/GitBitbucketDriver.phpë˜Þœ´½X¶)src/Composer/Repository/Vcs/GitDriver.php<68>˜Þ^<5E>ù,src/Composer/Repository/Vcs/GitHubDriver.php})˜Þ^})ê¦x®¶,src/Composer/Repository/Vcs/GitLabDriver.php]%˜Þ^]%sÇø ¶1src/Composer/Repository/Vcs/HgBitbucketDriver.phpå˜Þ@)‰L¶(src/Composer/Repository/Vcs/HgDriver.phpB˜Þ^B»ƒî¶.src/Composer/Repository/Vcs/PerforceDriver.phpù ˜Þ&½tÙ¶)src/Composer/Repository/Vcs/SvnDriver.php¤˜Þ )src/Composer/Repository/Vcs/VcsDriver.phpæ
˜Þ
eׯ-¶2src/Composer/Repository/Vcs/VcsDriverInterface.php÷˜ÞÇX[‰¶)src/Composer/Repository/VcsRepository.phpÙ*˜Þ^Ù*~Á£f¶1src/Composer/Repository/VersionCacheInterface.php”˜Þ^”A?Rï¶3src/Composer/Repository/WritableArrayRepository.php˜Þ^¾G7src/Composer/Repository/WritableRepositoryInterface.php‰˜Þ^‰/sï¶$src/Composer/Script/CommandEvent.phpW˜Þ^W£VZt¶src/Composer/Script/Event.phpº˜Þò<>»¤¶$src/Composer/Script/PackageEvent.phpœ˜Þ§ÿÉ ¶$src/Composer/Script/ScriptEvents.phpP˜Þ^P<>¶¶ src/Composer/SelfUpdate/Keys.php<68>˜Þ^<5E> îÊN¶$src/Composer/SelfUpdate/Versions.phpì˜Þ͵‘ƒ¶ src/Composer/Util/AuthHelper.php˘Þ>zxsrc/Composer/Util/Bitbucket.php*˜Þ^*,Lšk¶$src/Composer/Util/ComposerMirror.php±˜Þ­½øض%src/Composer/Util/ConfigValidator.php÷˜Þv•Í"src/Composer/Util/ErrorHandler.php»˜ÞOrk¶ src/Composer/Util/Filesystem.phpr/˜Þ^r/Ò^j¶src/Composer/Util/Git.php<.˜Þ^<.*%›û¶src/Composer/Util/GitHub.php| ˜Þ^| `0tü¶src/Composer/Util/GitLab.php¬ ˜ÞB3 ë¶src/Composer/Util/Hg.php¾˜Þ <0C>src/Composer/Util/IniHelper.phph˜Þ^h;F$src/Composer/Util/NoProxyPattern.php¾˜ÞZ+°m¶#src/Composer/Util/PackageSorter.phpÞ˜Þê×ìY¶src/Composer/Util/Perforce.php¸2˜Þ^¸2Ás&}¶src/Composer/Util/Platform.phpü˜Þs­fç¶%src/Composer/Util/ProcessExecutor.php$ ˜Þ^$ ¨Nó&src/Composer/Util/RemoteFilesystem.phpøn˜Þ^øn?src/Composer/Util/Silencer.phpé˜Þ“Vjf¶!src/Composer/Util/SpdxLicense.php˜Þ^¾7
ñ¶*src/Composer/Util/StreamContextFactory.php˜Þ^CÉ…ù¶src/Composer/Util/Svn.php,˜Þ^,Ì žÄ¶src/Composer/Util/TlsHelper.phpL
˜Þ^L
" isrc/Composer/Util/Url.php£˜Þ3œÉܶsrc/Composer/Util/Zip.php´˜Þ^´°³¶¶src/Composer/XdebugHandler.phpð˜ÞzÓf~¶src/bootstrap.php¹˜ÞI}œ¶%src/Composer/Autoload/ClassLoader.php“4˜Þ^“4²z<C2B2>#res/composer-repository-schema.jsonð˜Þ<00>GÐà¶res/composer-schema.json!˜˜Þ^!˜CF¶±¶6vendor/composer/spdx-licenses/res/spdx-exceptions.json%
˜Þ^%
ïBð4vendor/composer/spdx-licenses/res/spdx-licenses.jsonÓ˜˜Þ^Ó˜Id¤÷¶4vendor/symfony/console/Resources/bin/hiddeninput.exe$˜Þ^$<>¥v¶&vendor/symfony/console/Application.php=X˜Þ^=X<00> S*vendor/symfony/console/Command/Command.phpî"˜Þ^î"x°jÕ¶.vendor/symfony/console/Command/HelpCommand.phpؘަÚ-:¶.vendor/symfony/console/Command/ListCommand.phpZ˜Þ^Z»w(vendor/symfony/console/ConsoleEvents.phpé˜ÞRÛÔe¶<vendor/symfony/console/Descriptor/ApplicationDescription.phpИޙŽ5°¶0vendor/symfony/console/Descriptor/Descriptor.php<68>˜Þ^<5E>¿N•¶9vendor/symfony/console/Descriptor/DescriptorInterface.phpü˜Þ±Qµ¶4vendor/symfony/console/Descriptor/JsonDescriptor.phpÜ ˜Þ<>ɶ8vendor/symfony/console/Descriptor/MarkdownDescriptor.php¶˜Þ·Ô;ݶ4vendor/symfony/console/Descriptor/TextDescriptor.php¼˜Þòç3vendor/symfony/console/Descriptor/XmlDescriptor.php˜Þ^b{<¶4vendor/symfony/console/Event/ConsoleCommandEvent.php°˜Þ!ȶ-vendor/symfony/console/Event/ConsoleEvent.phpŘÞÒxÛ\¶6vendor/symfony/console/Event/ConsoleExceptionEvent.php˜Þ^á2é¶6vendor/symfony/console/Event/ConsoleTerminateEvent.phpz˜Þ^z³,îL¶=vendor/symfony/console/Exception/CommandNotFoundException.phpÔ˜ÞÈ÷ L¶7vendor/symfony/console/Exception/ExceptionInterface.phpf˜Þ^f¡ABª¶=vendor/symfony/console/Exception/InvalidArgumentException.php¦˜ÞÖ̽Z¶;vendor/symfony/console/Exception/InvalidOptionException.php¦˜ÞË×3vendor/symfony/console/Exception/LogicException.php˜Þ^ÍO\e¶5vendor/symfony/console/Exception/RuntimeException.php˜Þ^Ùí,6¶4vendor/symfony/console/Formatter/OutputFormatter.php6˜Þ^6?=¨=vendor/symfony/console/Formatter/OutputFormatterInterface.phpŒ˜ÞòññÀ¶9vendor/symfony/console/Formatter/OutputFormatterStyle.phpF˜Þ^F𦴶Bvendor/symfony/console/Formatter/OutputFormatterStyleInterface.php„˜Þ^„÷½>vendor/symfony/console/Formatter/OutputFormatterStyleStack.php@˜Þ^@G¨ýU¶6vendor/symfony/console/Helper/DebugFormatterHelper.phpy˜Þ^yÌ8Æж2vendor/symfony/console/Helper/DescriptorHelper.phpw˜Þ^w.vendor/symfony/console/Helper/DialogHelper.php˜Þ^¹ÜÃ_¶1vendor/symfony/console/Helper/FormatterHelper.phpd˜Þ^d§×,¸¶(vendor/symfony/console/Helper/Helper.php«˜Þ!<21>§—¶1vendor/symfony/console/Helper/HelperInterface.phpå˜ÞŠ +vendor/symfony/console/Helper/HelperSet.phpʘÞáÏW"¶2vendor/symfony/console/Helper/InputAwareHelper.phpc˜Þ^cÌøƒ¶/vendor/symfony/console/Helper/ProcessHelper.phpÓ ˜Þ©w-vendor/symfony/console/Helper/ProgressBar.phpl%˜Þ^l% díÛ¶0vendor/symfony/console/Helper/ProgressHelper.php]˜Þ^]ù»‰X¶3vendor/symfony/console/Helper/ProgressIndicator.phpN˜Þ^Nÿ§³l¶0vendor/symfony/console/Helper/QuestionHelper.phpl˜Þ^lNtó¶7vendor/symfony/console/Helper/SymfonyQuestionHelper.php
˜Þ^
- Ø'vendor/symfony/console/Helper/Table.phpÄ*˜Þ^Ä*¾™ØT¶+vendor/symfony/console/Helper/TableCell.php<68>˜Þ^<5E>åV^¶-vendor/symfony/console/Helper/TableHelper.php ˜Þ^ uô™¶0vendor/symfony/console/Helper/TableSeparator.phpʘÞaz,vendor/symfony/console/Helper/TableStyle.php
˜Þ^
_ÍI"¶*vendor/symfony/console/Input/ArgvInput.php˜Þ^×ö†›¶+vendor/symfony/console/Input/ArrayInput.php) ˜Þ^) ¥Ñ&vendor/symfony/console/Input/Input.php£ ˜Þ f¡?¶.vendor/symfony/console/Input/InputArgument.php˜Þ^D £4vendor/symfony/console/Input/InputAwareInterface.php˜˜Þ^˜­O°¶0vendor/symfony/console/Input/InputDefinition.php†˜Þ^†¤U)¤¶/vendor/symfony/console/Input/InputInterface.php£˜ÞÆBŒ'¶,vendor/symfony/console/Input/InputOption.php ˜Þ^ \¢Ü=¶,vendor/symfony/console/Input/StringInput.phpš˜Þžµ è¶vendor/symfony/console/LICENSE)˜Þ^)NUN½¶/vendor/symfony/console/Logger/ConsoleLogger.php0 ˜Þ^0 <> ¸¶0vendor/symfony/console/Output/BufferedOutput.php_˜Þ^_ >P¶/vendor/symfony/console/Output/ConsoleOutput.php±˜Þnì!f¶8vendor/symfony/console/Output/ConsoleOutputInterface.phpà˜Þ‡†Æʶ,vendor/symfony/console/Output/NullOutput.phpϘޮ˜(vendor/symfony/console/Output/Output.php˜ ˜Þ^˜ 0p1vendor/symfony/console/Output/OutputInterface.php˜Þ^ì.vendor/symfony/console/Output/StreamOutput.php<68>˜Þ^<5E>ÄOç¶2vendor/symfony/console/Question/ChoiceQuestion.phpx
˜Þ^x
W€!¶8vendor/symfony/console/Question/ConfirmationQuestion.phpè˜Þ/Ô<>,vendor/symfony/console/Question/Question.phpÎ ˜ÞlF vendor/symfony/console/Shell.phpæ˜Þ¼XÒA¶,vendor/symfony/console/Style/OutputStyle.php\˜Þ^\wפ/vendor/symfony/console/Style/StyleInterface.phpϘÞ&nÅѶ-vendor/symfony/console/Style/SymfonyStyle.phpä˜Þ­å (¶3vendor/symfony/console/Tester/ApplicationTester.phpϘÞsž9i¶/vendor/symfony/console/Tester/CommandTester.phpª˜Þ¬K (vendor/symfony/debug/BufferingLogger.phpt˜Þ^t=hܶvendor/symfony/debug/Debug.php,˜Þ^,Ë~Ž.¶)vendor/symfony/debug/DebugClassLoader.phpµ˜Þ1rEÓ¶%vendor/symfony/debug/ErrorHandler.phpH˜Þ^H¹:D#¶9vendor/symfony/debug/Exception/ClassNotFoundException.php˜Þ^i‰æô¶8vendor/symfony/debug/Exception/ContextErrorException.php˜˜Þ^˜-
d2¶1vendor/symfony/debug/Exception/DummyException.php˜Þ^®+Ãê¶6vendor/symfony/debug/Exception/FatalErrorException.php˜Þ^™Ä¶6vendor/symfony/debug/Exception/FatalThrowableError.phpW˜Þ^W?àèK¶3vendor/symfony/debug/Exception/FlattenException.php¼˜Þ ׶7vendor/symfony/debug/Exception/OutOfMemoryException.php~˜Þ^~ë¨oâ¶=vendor/symfony/debug/Exception/UndefinedFunctionException.phpš˜Þ<00>ñJÀ¶;vendor/symfony/debug/Exception/UndefinedMethodException.php˜˜Þ^˜nöêض)vendor/symfony/debug/ExceptionHandler.php)3˜Þ^)3<00>h5=¶Ivendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.phpA˜Þ^AϤ¹l¶Evendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php˜Þ^ĹBV¶Mvendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.phpx˜Þ^x~ò"¶Kvendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.phpO˜Þ^O<00>ž¦*¶vendor/symfony/debug/LICENSE)˜Þ^)NUN½¶:vendor/symfony/filesystem/Exception/ExceptionInterface.phpi˜Þ^i$ ÿ›¶=vendor/symfony/filesystem/Exception/FileNotFoundException.php¼˜Þpí\¶¶3vendor/symfony/filesystem/Exception/IOException.php‡˜Þ^‡€ü#Ѷ<vendor/symfony/filesystem/Exception/IOExceptionInterface.php¦˜ÞjÙwM¶(vendor/symfony/filesystem/Filesystem.phpc4˜Þ^c4×@þ¶!vendor/symfony/filesystem/LICENSE)˜Þ^)NUN½¶)vendor/symfony/filesystem/LockHandler.phpö˜ÞŸZµ1¶1vendor/symfony/finder/Adapter/AbstractAdapter.php\ ˜Þ^\ hˆ5vendor/symfony/finder/Adapter/AbstractFindAdapter.php<68>˜Þ^<5E>HC€/¶2vendor/symfony/finder/Adapter/AdapterInterface.php˜Þ^Mþ0vendor/symfony/finder/Adapter/BsdFindAdapter.php3˜Þ^375$·¶0vendor/symfony/finder/Adapter/GnuFindAdapter.php˜Þ^Ÿ`]¶,vendor/symfony/finder/Adapter/PhpAdapter.phpô˜ÞÞdè;¶/vendor/symfony/finder/Comparator/Comparator.php<68>˜Þ^<5E>¾üœµ¶3vendor/symfony/finder/Comparator/DateComparator.php#˜Þ^#°ζ5vendor/symfony/finder/Comparator/NumberComparator.php|˜Þ^|ITÇͶ9vendor/symfony/finder/Exception/AccessDeniedException.php„˜Þ^„½¾sœ¶;vendor/symfony/finder/Exception/AdapterFailureException.php¬˜Þw6vendor/symfony/finder/Exception/ExceptionInterface.php„˜Þ^„Gz-¶Avendor/symfony/finder/Exception/OperationNotPermitedException.php)˜Þ^)x§e¶@vendor/symfony/finder/Exception/ShellCommandFailureException.phpº˜Þ˜þ˜¶/vendor/symfony/finder/Expression/Expression.php˜Þ^i¥:Ŷ)vendor/symfony/finder/Expression/Glob.phpf˜Þ^fDÞcj¶*vendor/symfony/finder/Expression/Regex.php˜Þ^ü(Ã϶3vendor/symfony/finder/Expression/ValueInterface.php͘Þ\p4†¶ vendor/symfony/finder/Finder.phpc.˜Þ^c.:ˆ5g¶vendor/symfony/finder/Glob.phpL˜Þ^LjÍ9×7vendor/symfony/finder/Iterator/CustomFilterIterator.php]˜Þ^]ÎoÅƶ:vendor/symfony/finder/Iterator/DateRangeFilterIterator.phpx˜Þ^xô;vendor/symfony/finder/Iterator/DepthRangeFilterIterator.phpî˜ÞüÍ<C3BC>Avendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.phpí˜ÞnõH¶4vendor/symfony/finder/Iterator/FilePathsIterator.php#˜Þ^#G?T½¶9vendor/symfony/finder/Iterator/FileTypeFilterIterator.phpZ˜Þ^Z(&ø¶<vendor/symfony/finder/Iterator/FilecontentFilterIterator.php5˜Þ^5ší9vendor/symfony/finder/Iterator/FilenameFilterIterator.phpr˜Þ^rt1vendor/symfony/finder/Iterator/FilterIterator.phpØޚ+µÞ¶=vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php-˜Þ^-ºÎÒ_¶5vendor/symfony/finder/Iterator/PathFilterIterator.phpИÞ=vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php ˜Þ^ ë]í»¶:vendor/symfony/finder/Iterator/SizeRangeFilterIterator.phpe˜Þ^eŸ’áé¶3vendor/symfony/finder/Iterator/SortableIterator.php+˜Þ^+õÝË ¶vendor/symfony/finder/LICENSE)˜Þ^)NUN½¶'vendor/symfony/finder/Shell/Command.php> ˜Þ^> _~u %vendor/symfony/finder/Shell/Shell.phpr˜Þ^rþpN¶%vendor/symfony/finder/SplFileInfo.php˜Þ^þíù¶'vendor/symfony/polyfill-ctype/Ctype.phpH ˜Þ^H ³<>Õݶ%vendor/symfony/polyfill-ctype/LICENSE)˜Þ^)´`e0¶+vendor/symfony/polyfill-ctype/bootstrap.phpI˜Þ^I<00>D!e¶(vendor/symfony/polyfill-mbstring/LICENSE)˜Þ^)“\ª¶-vendor/symfony/polyfill-mbstring/Mbstring.phpG˜Þ^GÉS|G¶@vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php÷@˜Þ^÷@õžØ¶Fvendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.phpã˜Þöy_•¶@vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.phpfA˜Þ^fAÚf”߶.vendor/symfony/polyfill-mbstring/bootstrap.php˜Þ^À‘ Š¶7vendor/symfony/process/Exception/ExceptionInterface.phpf˜Þ^f]ö>T¶=vendor/symfony/process/Exception/InvalidArgumentException.php¨˜ÞÐÀ+_¶3vendor/symfony/process/Exception/LogicException.php”˜Þ^” ³ãñ¶;vendor/symfony/process/Exception/ProcessFailedException.phpx˜Þ^x¨Ìzy¶=vendor/symfony/process/Exception/ProcessTimedOutException.php˜Þ^«¶5vendor/symfony/process/Exception/RuntimeException.php˜˜Þ^˜¢Ø:¶+vendor/symfony/process/ExecutableFinder.php<68>˜Þ^<5E>ûus€¶vendor/symfony/process/LICENSE)˜Þ^)NUN½¶.vendor/symfony/process/PhpExecutableFinder.phpϘÞÎ%h%vendor/symfony/process/PhpProcess.phpü˜Þ‡jûü¶.vendor/symfony/process/Pipes/AbstractPipes.php½˜Þæ/vendor/symfony/process/Pipes/PipesInterface.phpD˜Þ^DvØ*vendor/symfony/process/Pipes/UnixPipes.php>˜Þ^>ª•ir¶-vendor/symfony/process/Pipes/WindowsPipes.phpp ˜Þ^p âU~ɶ"vendor/symfony/process/Process.php·R˜Þ^·RŠ`Õ¶)vendor/symfony/process/ProcessBuilder.phpâ
˜Þ
M¶¶'vendor/symfony/process/ProcessUtils.phpQ˜Þ^Qb-$m¶vendor/seld/jsonlint/LICENSE"˜Þ^"aƒsy¶@vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php*˜Þ^*•pñ¶5vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php82˜Þ^82ªÃZt¶0vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php˜Þ^%ÿ3N¶;vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php˜Þ^‰²ñ¶4vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php>˜Þ^>ÿqŸŸ¶(vendor/justinrainbow/json-schema/LICENSE ˜Þ^ ºç©¶.vendor/justinrainbow/json-schema/demo/demo.phpñ˜ÞfNvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php¡ ˜Þ†wÌl¶Tvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php<68>
˜Þ^<5E>
ÍèÓ¯¶Jvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php§ ˜ÞSvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php¼˜Þÿ Qœ¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php]˜Þ^]VŽU<¶Gvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.phpã ˜Þ á0;Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php…˜Þ^…“TœÚ¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php‡ ˜Þ^‡ ï›Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.phpØީżx¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php0 ˜Þ^0 ×j´˜Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php˜Þ^¥wš‡¶Xvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.phpa˜Þ^a qöYvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php—˜Þ^—4~¾ ¶\vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php‰˜Þ^‰“µ+j¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php&˜Þ^&4˜©T¶Svendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.phpa"˜Þ^a"<00>MÙë¶Fvendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.phpè˜Þ{NPvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.phpI˜Þ^I%|°¶Vvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php•˜Þ^•àGTvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.phpl˜Þ^lA!L×Tvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.phpl˜Þ^lè2÷þ¶]vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.phpu˜Þ^u=hçWvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.phpw˜Þ^wN-ò[¶Svendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.phpÞ˜Þ\¸
Wvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.phpo˜Þ^opíÛù¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php…˜Þ^…%…—¶^vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php€˜Þ^€u-#1¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.phpj˜Þ^jå><3E>Qvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.phpf˜Þ^f¬¤„þ¶Kvendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.phpþ˜ÞM<>„õ¶;vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php ˜Þ^ f4÷³¶Avendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.phpœ ˜ÞåfO¶Jvendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php˜Þ^oŠ+}¶Tvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.phpá˜Þ[þA<C3BE>Gvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php¥˜ÞÔ§Lb¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php%˜Þ^%5" ¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php,˜Þ^,1•5þ¶Xvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php®˜Þÿ‹Áå¶Cvendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php ˜Þ^ £Ÿ)à¶Dvendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.phpF˜Þ^F¨IaD¶Hvendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.phpƒ˜ÞJ€Ivendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php…˜Þ^…íæ=vendor/justinrainbow/json-schema/src/JsonSchema/Validator.phpv˜Þ^võÍ%vendor/composer/spdx-licenses/LICENSE˜Þ^Bhí¶2vendor/composer/spdx-licenses/src/SpdxLicenses.phpH˜Þ^H͉Tvendor/composer/semver/LICENSE˜Þ^Bhí¶)vendor/composer/semver/src/Comparator.php˜Þ^wlƒï¶<vendor/composer/semver/src/Constraint/AbstractConstraint.phpî˜ÞÕ­w-¶4vendor/composer/semver/src/Constraint/Constraint.php ˜Þ^ I&â¶=vendor/composer/semver/src/Constraint/ConstraintInterface.phpߘÞ0C,‡¶9vendor/composer/semver/src/Constraint/EmptyConstraint.phpä˜Þïõ‚³¶9vendor/composer/semver/src/Constraint/MultiConstraint.php,˜Þ^,%vendor/composer/semver/src/Semver.php˜Þ^?nݶ,vendor/composer/semver/src/VersionParser.php¸*˜Þ^¸*GLÇí¶!vendor/composer/ca-bundle/LICENSE˜Þ^*!^`¶*vendor/composer/ca-bundle/src/CaBundle.phpç˜Þë¶&vendor/composer/xdebug-handler/LICENSE)˜Þ^)#Ô;^¶0vendor/composer/xdebug-handler/src/PhpConfig.php´˜Þ^´*D.vendor/composer/xdebug-handler/src/Process.phpp ˜Þ^p i,i-vendor/composer/xdebug-handler/src/Status.php
˜Þ^
$Ÿv-¶4vendor/composer/xdebug-handler/src/XdebugHandler.php/!˜Þ^/!L)-&¶vendor/psr/log/LICENSE=˜Þ^=p±ŽO¶)vendor/psr/log/Psr/Log/AbstractLogger.php;˜Þ^;ñ>3[¶3vendor/psr/log/Psr/Log/InvalidArgumentException.php`˜Þ^` ˆX1¶#vendor/psr/log/Psr/Log/LogLevel.phpû˜Þjðñ8¶/vendor/psr/log/Psr/Log/LoggerAwareInterface.php|˜Þ^|$£ˆ¶+vendor/psr/log/Psr/Log/LoggerAwareTrait.php§˜ÞT½úB¶*vendor/psr/log/Psr/Log/LoggerInterface.phpȘޚx&vendor/psr/log/Psr/Log/LoggerTrait.phpk˜Þ^k£}‰’¶%vendor/psr/log/Psr/Log/NullLogger.php ˜Þ^ ÆDi¯¶3vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.phpj ˜Þ^j Nÿ*vendor/psr/log/Psr/Log/Test/TestLogger.php<˜Þ^<þ(åI¶vendor/autoload.php˜Þ^Öf¤@¶'vendor/composer/autoload_namespaces.phpd˜Þ^dZ¡¦H¶!vendor/composer/autoload_psr4.php÷˜ÞÅ*š%vendor/composer/autoload_classmap.phpd˜Þ^dZ¡¦H¶"vendor/composer/autoload_files.php˜Þ^¥ ®¶!vendor/composer/autoload_real.phpI˜Þ^Iþö,¶#vendor/composer/autoload_static.php§
˜Þ
œç(»¶vendor/composer/ClassLoader.php¨˜Þxää`¶(vendor/composer/ca-bundle/res/cacert.pemÇi˜Þ^Çi4ËŸ‡¶ bin/composerʘÞÿêPLICENSE.˜Þ^. Õ<?php
namespace Composer\Autoload;
use Composer\Config;
use Composer\EventDispatcher\EventDispatcher;
use Composer\Installer\InstallationManager;
use Composer\IO\IOInterface;
use Composer\Package\AliasPackage;
use Composer\Package\PackageInterface;
use Composer\Repository\InstalledRepositoryInterface;
use Composer\Util\Filesystem;
use Composer\Script\ScriptEvents;
use Composer\Util\PackageSorter;
class AutoloadGenerator
{
private $eventDispatcher;
private $io;
private $devMode = false;
private $classMapAuthoritative = false;
private $apcu = false;
private $runScripts = false;
public function __construct(EventDispatcher $eventDispatcher, IOInterface $io = null)
{
$this->eventDispatcher = $eventDispatcher;
$this->io = $io;
}
public function setDevMode($devMode = true)
{
$this->devMode = (bool) $devMode;
}
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = (bool) $classMapAuthoritative;
}
public function setApcu($apcu)
{
$this->apcu = (bool) $apcu;
}
public function setRunScripts($runScripts = true)
{
$this->runScripts = (bool) $runScripts;
}
public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '')
{
if ($this->classMapAuthoritative) {
$scanPsr0Packages = true;
}
if ($this->runScripts) {
$this->eventDispatcher->dispatchScript(ScriptEvents::PRE_AUTOLOAD_DUMP, $this->devMode, array(), array(
'optimize' => (bool) $scanPsr0Packages,
));
}
$filesystem = new Filesystem();
$filesystem->ensureDirectoryExists($config->get('vendor-dir'));
$basePath = $filesystem->normalizePath(realpath(realpath(getcwd())));
$vendorPath = $filesystem->normalizePath(realpath(realpath($config->get('vendor-dir'))));
$useGlobalIncludePath = (bool) $config->get('use-include-path');
$prependAutoloader = $config->get('prepend-autoloader') === false ? 'false' : 'true';
$targetDir = $vendorPath.'/'.$targetDir;
$filesystem->ensureDirectoryExists($targetDir);
$vendorPathCode = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true);
$vendorPathCode52 = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode);
$vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true);
$appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true);
$appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode);
$namespacesFile = <<<EOF
<?php
// autoload_namespaces.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$psr4File = <<<EOF
<?php
// autoload_psr4.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages());
$autoloads = $this->parseAutoloads($packageMap, $mainPackage, $this->devMode === false);
foreach ($autoloads['psr-0'] as $namespace => $paths) {
$exportedPaths = array();
foreach ($paths as $path) {
$exportedPaths[] = $this->getPathCode($filesystem, $basePath, $vendorPath, $path);
}
$exportedPrefix = var_export($namespace, true);
$namespacesFile .= " $exportedPrefix => ";
$namespacesFile .= "array(".implode(', ', $exportedPaths)."),\n";
}
$namespacesFile .= ");\n";
foreach ($autoloads['psr-4'] as $namespace => $paths) {
$exportedPaths = array();
foreach ($paths as $path) {
$exportedPaths[] = $this->getPathCode($filesystem, $basePath, $vendorPath, $path);
}
$exportedPrefix = var_export($namespace, true);
$psr4File .= " $exportedPrefix => ";
$psr4File .= "array(".implode(', ', $exportedPaths)."),\n";
}
$psr4File .= ");\n";
$classmapFile = <<<EOF
<?php
// autoload_classmap.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$targetDirLoader = null;
$mainAutoload = $mainPackage->getAutoload();
if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) {
$levels = substr_count($filesystem->normalizePath($mainPackage->getTargetDir()), '/') + 1;
$prefixes = implode(', ', array_map(function ($prefix) {
return var_export($prefix, true);
}, array_keys($mainAutoload['psr-0'])));
$baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true);
$targetDirLoader = <<<EOF
public static function autoload(\$class)
{
\$dir = $baseDirFromTargetDirCode . '/';
\$prefixes = array($prefixes);
foreach (\$prefixes as \$prefix) {
if (0 !== strpos(\$class, \$prefix)) {
continue;
}
\$path = \$dir . implode('/', array_slice(explode('\\\\', \$class), $levels)).'.php';
if (!\$path = stream_resolve_include_path(\$path)) {
return false;
}
require \$path;
return true;
}
}
EOF;
}
$blacklist = null;
if (!empty($autoloads['exclude-from-classmap'])) {
$blacklist = '{(' . implode('|', $autoloads['exclude-from-classmap']) . ')}';
}
$classMap = array();
if ($scanPsr0Packages) {
$namespacesToScan = array();
foreach (array('psr-0', 'psr-4') as $psrType) {
foreach ($autoloads[$psrType] as $namespace => $paths) {
$namespacesToScan[$namespace][] = array('paths' => $paths, 'type' => $psrType);
}
}
krsort($namespacesToScan);
foreach ($namespacesToScan as $namespace => $groups) {
foreach ($groups as $group) {
foreach ($group['paths'] as $dir) {
$dir = $filesystem->normalizePath($filesystem->isAbsolutePath($dir) ? $dir : $basePath.'/'.$dir);
if (!is_dir($dir)) {
continue;
}
$namespaceFilter = $namespace === '' ? null : $namespace;
$classMap = $this->addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist, $namespaceFilter, $classMap);
}
}
}
}
foreach ($autoloads['classmap'] as $dir) {
$classMap = $this->addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist, null, $classMap);
}
ksort($classMap);
foreach ($classMap as $class => $code) {
$classmapFile .= ' '.var_export($class, true).' => '.$code;
}
$classmapFile .= ");\n";
if (!$suffix) {
if (!$config->get('autoloader-suffix') && is_readable($vendorPath.'/autoload.php')) {
$content = file_get_contents($vendorPath.'/autoload.php');
if (preg_match('{ComposerAutoloaderInit([^:\s]+)::}', $content, $match)) {
$suffix = $match[1];
}
}
if (!$suffix) {
$suffix = $config->get('autoloader-suffix') ?: md5(uniqid('', true));
}
}
file_put_contents($targetDir.'/autoload_namespaces.php', $namespacesFile);
file_put_contents($targetDir.'/autoload_psr4.php', $psr4File);
file_put_contents($targetDir.'/autoload_classmap.php', $classmapFile);
$includePathFilePath = $targetDir.'/include_paths.php';
if ($includePathFileContents = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) {
file_put_contents($includePathFilePath, $includePathFileContents);
} elseif (file_exists($includePathFilePath)) {
unlink($includePathFilePath);
}
$includeFilesFilePath = $targetDir.'/autoload_files.php';
if ($includeFilesFileContents = $this->getIncludeFilesFile($autoloads['files'], $filesystem, $basePath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) {
file_put_contents($includeFilesFilePath, $includeFilesFileContents);
} elseif (file_exists($includeFilesFilePath)) {
unlink($includeFilesFilePath);
}
file_put_contents($targetDir.'/autoload_static.php', $this->getStaticFile($suffix, $targetDir, $vendorPath, $basePath, $staticPhpVersion));
file_put_contents($vendorPath.'/autoload.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
file_put_contents($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion));
$this->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php');
$this->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE');
if ($this->runScripts) {
$this->eventDispatcher->dispatchScript(ScriptEvents::POST_AUTOLOAD_DUMP, $this->devMode, array(), array(
'optimize' => (bool) $scanPsr0Packages,
));
}
return count($classMap);
}
private function addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist = null, $namespaceFilter = null, array $classMap = array())
{
foreach ($this->generateClassMap($dir, $blacklist, $namespaceFilter) as $class => $path) {
$pathCode = $this->getPathCode($filesystem, $basePath, $vendorPath, $path).",\n";
if (!isset($classMap[$class])) {
$classMap[$class] = $pathCode;
} elseif ($this->io && $classMap[$class] !== $pathCode && !preg_match('{/(test|fixture|example|stub)s?/}i', strtr($classMap[$class].' '.$path, '\\', '/'))) {
$this->io->writeError(
'<warning>Warning: Ambiguous class resolution, "'.$class.'"'.
' was found in both "'.str_replace(array('$vendorDir . \'', "',\n"), array($vendorPath, ''), $classMap[$class]).'" and "'.$path.'", the first will be used.</warning>'
);
}
}
return $classMap;
}
private function generateClassMap($dir, $blacklist = null, $namespaceFilter = null, $showAmbiguousWarning = true)
{
return ClassMapGenerator::createMap($dir, $blacklist, $showAmbiguousWarning ? $this->io : null, $namespaceFilter);
}
public function buildPackageMap(InstallationManager $installationManager, PackageInterface $mainPackage, array $packages)
{
$packageMap = array(array($mainPackage, ''));
foreach ($packages as $package) {
if ($package instanceof AliasPackage) {
continue;
}
$this->validatePackage($package);
$packageMap[] = array(
$package,
$installationManager->getInstallPath($package),
);
}
return $packageMap;
}
protected function validatePackage(PackageInterface $package)
{
$autoload = $package->getAutoload();
if (!empty($autoload['psr-4']) && null !== $package->getTargetDir()) {
$name = $package->getName();
$package->getTargetDir();
throw new \InvalidArgumentException("PSR-4 autoloading is incompatible with the target-dir property, remove the target-dir in package '$name'.");
}
if (!empty($autoload['psr-4'])) {
foreach ($autoload['psr-4'] as $namespace => $dirs) {
if ($namespace !== '' && '\\' !== substr($namespace, -1)) {
throw new \InvalidArgumentException("psr-4 namespaces must end with a namespace separator, '$namespace' does not, use '$namespace\\'.");
}
}
}
}
public function parseAutoloads(array $packageMap, PackageInterface $mainPackage, $filterOutRequireDevPackages = false)
{
$mainPackageMap = array_shift($packageMap);
if ($filterOutRequireDevPackages) {
$packageMap = $this->filterPackageMap($packageMap, $mainPackage);
}
$sortedPackageMap = $this->sortPackageMap($packageMap);
$sortedPackageMap[] = $mainPackageMap;
array_unshift($packageMap, $mainPackageMap);
$psr0 = $this->parseAutoloadsType($packageMap, 'psr-0', $mainPackage);
$psr4 = $this->parseAutoloadsType($packageMap, 'psr-4', $mainPackage);
$classmap = $this->parseAutoloadsType(array_reverse($sortedPackageMap), 'classmap', $mainPackage);
$files = $this->parseAutoloadsType($sortedPackageMap, 'files', $mainPackage);
$exclude = $this->parseAutoloadsType($sortedPackageMap, 'exclude-from-classmap', $mainPackage);
krsort($psr0);
krsort($psr4);
return array(
'psr-0' => $psr0,
'psr-4' => $psr4,
'classmap' => $classmap,
'files' => $files,
'exclude-from-classmap' => $exclude,
);
}
public function createLoader(array $autoloads)
{
$loader = new ClassLoader();
if (isset($autoloads['psr-0'])) {
foreach ($autoloads['psr-0'] as $namespace => $path) {
$loader->add($namespace, $path);
}
}
if (isset($autoloads['psr-4'])) {
foreach ($autoloads['psr-4'] as $namespace => $path) {
$loader->addPsr4($namespace, $path);
}
}
if (isset($autoloads['classmap'])) {
$blacklist = null;
if (!empty($autoloads['exclude-from-classmap'])) {
$blacklist = '{(' . implode('|', $autoloads['exclude-from-classmap']) . ')}';
}
foreach ($autoloads['classmap'] as $dir) {
try {
$loader->addClassMap($this->generateClassMap($dir, $blacklist, null, false));
} catch (\RuntimeException $e) {
$this->io->writeError('<warning>'.$e->getMessage().'</warning>');
}
}
}
return $loader;
}
protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode)
{
$includePaths = array();
foreach ($packageMap as $item) {
list($package, $installPath) = $item;
if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) {
$installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir()));
}
foreach ($package->getIncludePaths() as $includePath) {
$includePath = trim($includePath, '/');
$includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath;
}
}
if (!$includePaths) {
return;
}
$includePathsCode = '';
foreach ($includePaths as $path) {
$includePathsCode .= " " . $this->getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n";
}
return <<<EOF
<?php
// include_paths.php @generated by Composer
\$vendorDir = $vendorPathCode;
\$baseDir = $appBaseDirCode;
return array(
$includePathsCode);
EOF;
}
protected function getIncludeFilesFile(array $files, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode)
{
$filesCode = '';
foreach ($files as $fileIdentifier => $functionFile) {
$filesCode .= ' ' . var_export($fileIdentifier, true) . ' => '
. $this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile) . ",\n";
}