aboutsummaryrefslogtreecommitdiff
blob: 348c86d916e4b47f103afd93db845e91c85dde79 (plain)
ofshex dumpascii
0000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 2f 2a 0a 20 2a 20 54 #!/usr/bin/env.php.<?php./*..*.T
0020 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a his.file.is.part.of.Composer...*
0040 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 ..*.(c).Nils.Adermann.<naderman@
0060 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 naderman.de>..*.....Jordi.Boggia
0080 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f no.<j.boggiano@seld.be>..*..*.Fo
00a0 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 r.the.full.copyright.and.license
00c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 0a 20 2a 20 74 68 65 .information,.please.view..*.the
00e0 20 6c 69 63 65 6e 73 65 20 74 68 61 74 20 69 73 20 6c 6f 63 61 74 65 64 20 61 74 20 74 68 65 20 .license.that.is.located.at.the.
0100 62 6f 74 74 6f 6d 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2e 0a 20 2a 2f 0a 0a 2f 2f 20 41 76 6f bottom.of.this.file...*/..//.Avo
0120 69 64 20 41 50 43 20 63 61 75 73 69 6e 67 20 72 61 6e 64 6f 6d 20 66 61 74 61 6c 20 65 72 72 6f id.APC.causing.random.fatal.erro
0140 72 73 20 70 65 72 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 rs.per.https://github.com/compos
0160 65 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 73 73 75 65 73 2f 32 36 34 0a 69 66 20 28 65 78 74 65 6e er/composer/issues/264.if.(exten
0180 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 61 70 63 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 sion_loaded('apc').&&.filter_var
01a0 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 2c 20 46 49 4c 54 (ini_get('apc.enable_cli'),.FILT
01c0 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 20 26 26 20 66 69 6c 74 65 72 5f 76 ER_VALIDATE_BOOLEAN).&&.filter_v
01e0 61 72 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 ar(ini_get('apc.cache_by_default
0200 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a '),.FILTER_VALIDATE_BOOLEAN)).{.
0220 20 20 20 20 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 ....if.(version_compare(phpversi
0240 6f 6e 28 27 61 70 63 27 29 2c 20 27 33 2e 30 2e 31 32 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 20 20 on('apc'),.'3.0.12',.'>=')).{...
0260 20 20 20 20 20 20 69 6e 69 5f 73 65 74 28 27 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 ......ini_set('apc.cache_by_defa
0280 75 6c 74 27 2c 20 30 29 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 66 ult',.0);.....}.else.{.........f
02a0 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 57 61 72 6e 69 6e 67 3a 20 41 50 43 20 3c 3d 20 33 write(STDERR,.'Warning:.APC.<=.3
02c0 2e 30 2e 31 32 20 6d 61 79 20 63 61 75 73 65 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 77 68 65 .0.12.may.cause.fatal.errors.whe
02e0 6e 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 73 2e 27 2e 50 48 n.running.composer.commands.'.PH
0300 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 20 20 20 20 66 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 P_EOL);.........fwrite(STDERR,.'
0320 55 70 64 61 74 65 20 41 50 43 2c 20 6f 72 20 73 65 74 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c Update.APC,.or.set.apc.enable_cl
0340 69 20 6f 72 20 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 20 74 6f 20 30 20 69 i.or.apc.cache_by_default.to.0.i
0360 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 7d n.your.php.ini.'.PHP_EOL);.....}
0380 0a 7d 0a 0a 50 68 61 72 3a 3a 6d 61 70 50 68 61 72 28 27 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 .}..Phar::mapPhar('composer.phar
03a0 27 29 3b 0a 72 65 71 75 69 72 65 20 27 70 68 61 72 3a 2f 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 ');.require.'phar://composer.pha
03c0 72 2f 62 69 6e 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 49 4c 45 r/bin/composer';..__HALT_COMPILE
03e0 52 28 29 3b 20 3f 3e 0d 0a 34 95 00 00 f6 01 00 00 11 00 00 00 01 00 0d 00 00 00 63 6f 6d 70 6f R();.?>..4.................compo
0400 73 65 72 2e 70 68 61 72 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 ser.phar....+...src/Composer/Aut
0420 6f 6c 6f 61 64 2f 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 b5 65 00 00 68 oload/AutoloadGenerator.php.e..h
0440 be ac 5c b5 65 00 00 1b aa 1b 7d b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\.e.....}........+...src/Compo
0460 73 65 72 2f 41 75 74 6f 6c 6f 61 64 2f 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 2e 70 ser/Autoload/ClassMapGenerator.p
0480 68 70 96 12 00 00 68 be ac 5c 96 12 00 00 a4 3e 50 7a b6 01 00 00 00 00 00 00 16 00 00 00 73 72 hp....h..\.....>Pz............sr
04a0 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 61 63 68 65 2e 70 68 70 92 13 00 00 68 be ac 5c 92 13 00 00 c/Composer/Cache.php....h..\....
04c0 ad 62 9a 30 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d .b.0........%...src/Composer/Com
04e0 6d 61 6e 64 2f 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 cd 02 00 00 68 be ac 5c cd 02 00 mand/AboutCommand.php....h..\...
0500 00 ff cc 8c 34 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f ....4........'...src/Composer/Co
0520 6d 6d 61 6e 64 2f 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 9e 14 00 00 68 be ac 5c mmand/ArchiveCommand.php....h..\
0540 9e 14 00 00 19 6c 47 0f b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....lG.........$...src/Composer
0560 2f 43 6f 6d 6d 61 6e 64 2f 42 61 73 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 dc 0b 00 00 68 be ac 5c /Command/BaseCommand.php....h..\
0580 dc 0b 00 00 67 f4 1a 31 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....g..1............src/Composer
05a0 2f 43 6f 6d 6d 61 6e 64 2f 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 2e 70 /Command/BaseDependencyCommand.p
05c0 68 70 f1 18 00 00 68 be ac 5c f1 18 00 00 58 67 46 f0 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 hp....h..\....XgF.........1...sr
05e0 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d c/Composer/Command/CheckPlatform
0600 52 65 71 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 eb 0d 00 00 68 be ac 5c eb 0d 00 00 6b 17 e2 c2 b6 ReqsCommand.php....h..\....k....
0620 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......*...src/Composer/Command/
0640 43 6c 65 61 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 aa 05 00 00 68 be ac 5c aa 05 00 ClearCacheCommand.php....h..\...
0660 00 c8 a8 a0 4a b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f ....J........&...src/Composer/Co
0680 6d 6d 61 6e 64 2f 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 2e 70 68 70 2f 4a 00 00 68 be ac 5c 2f mmand/ConfigCommand.php/J..h..\/
06a0 4a 00 00 72 3e 1d 1c b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f J..r>..........-...src/Composer/
06c0 43 6f 6d 6d 61 6e 64 2f 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 Command/CreateProjectCommand.php
06e0 67 35 00 00 68 be ac 5c 67 35 00 00 e6 ca 8f 86 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f g5..h..\g5..............'...src/
0700 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 2e Composer/Command/DependsCommand.
0720 70 68 70 f8 02 00 00 68 be ac 5c f8 02 00 00 aa 65 11 e1 b6 01 00 00 00 00 00 00 28 00 00 00 73 php....h..\.....e..........(...s
0740 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 69 61 67 6e 6f 73 65 43 6f 6d 6d rc/Composer/Command/DiagnoseComm
0760 61 6e 64 2e 70 68 70 e5 4d 00 00 68 be ac 5c e5 4d 00 00 13 68 c7 d4 b6 01 00 00 00 00 00 00 2c and.php.M..h..\.M...h..........,
0780 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 75 6d 70 41 75 74 6f ...src/Composer/Command/DumpAuto
07a0 6c 6f 61 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 41 0c 00 00 68 be ac 5c 41 0c 00 00 d2 29 9a 4e b6 loadCommand.phpA...h..\A....).N.
07c0 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......$...src/Composer/Command/
07e0 45 78 65 63 43 6f 6d 6d 61 6e 64 2e 70 68 70 ef 07 00 00 68 be ac 5c ef 07 00 00 58 72 9c be b6 ExecCommand.php....h..\....Xr...
0800 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......&...src/Composer/Command/
0820 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 2e 70 68 70 7a 09 00 00 68 be ac 5c 7a 09 00 00 b3 e7 e5 GlobalCommand.phpz...h..\z......
0840 3f b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e ?........$...src/Composer/Comman
0860 64 2f 48 6f 6d 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 04 0f 00 00 68 be ac 5c 04 0f 00 00 71 4c 42 d/HomeCommand.php....h..\....qLB
0880 8e b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e .........$...src/Composer/Comman
08a0 64 2f 49 6e 69 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 25 50 00 00 68 be ac 5c 25 50 00 00 91 e7 2a d/InitCommand.php%P..h..\%P....*
08c0 5b b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e [........'...src/Composer/Comman
08e0 64 2f 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 2e 70 68 70 54 14 00 00 68 be ac 5c 54 14 00 00 d/InstallCommand.phpT...h..\T...
0900 de f9 f5 9b b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d ............(...src/Composer/Com
0920 6d 61 6e 64 2f 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 77 0e 00 00 68 be ac 5c mand/LicensesCommand.phpw...h..\
0940 77 0e 00 00 02 9a 98 56 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 w......V........(...src/Composer
0960 2f 43 6f 6d 6d 61 6e 64 2f 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 02 0c 00 00 /Command/OutdatedCommand.php....
0980 68 be ac 5c 02 0c 00 00 55 fd 40 5d b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 h..\....U.@]........)...src/Comp
09a0 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 50 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 oser/Command/ProhibitsCommand.ph
09c0 70 12 03 00 00 68 be ac 5c 12 03 00 00 5f a4 e9 53 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 p....h..\...._..S........&...src
09e0 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 2e /Composer/Command/RemoveCommand.
0a00 70 68 70 e1 18 00 00 68 be ac 5c e1 18 00 00 bd ed 9d 29 b6 01 00 00 00 00 00 00 27 00 00 00 73 php....h..\.......)........'...s
0a20 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 65 71 75 69 72 65 43 6f 6d 6d 61 rc/Composer/Command/RequireComma
0a40 6e 64 2e 70 68 70 cc 24 00 00 68 be ac 5c cc 24 00 00 d8 0a 15 0c b6 01 00 00 00 00 00 00 29 00 nd.php.$..h..\.$..............).
0a60 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 75 6e 53 63 72 69 70 74 ..src/Composer/Command/RunScript
0a80 43 6f 6d 6d 61 6e 64 2e 70 68 70 22 0f 00 00 68 be ac 5c 22 0f 00 00 89 24 8c d4 b6 01 00 00 00 Command.php"...h..\"....$.......
0aa0 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 63 72 69 ...+...src/Composer/Command/Scri
0ac0 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 af 05 00 00 68 be ac 5c af 05 00 00 3f 3d ptAliasCommand.php....h..\....?=
0ae0 10 d1 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 ..........&...src/Composer/Comma
0b00 6e 64 2f 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 2e 70 68 70 4a 09 00 00 68 be ac 5c 4a 09 00 00 nd/SearchCommand.phpJ...h..\J...
0b20 6c ba 11 6f b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d l..o........*...src/Composer/Com
0b40 6d 61 6e 64 2f 53 65 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 30 33 00 00 68 be mand/SelfUpdateCommand.php03..h.
0b60 ac 5c 30 33 00 00 6a 2e ad a0 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\03..j...........$...src/Compos
0b80 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 68 6f 77 43 6f 6d 6d 61 6e 64 2e 70 68 70 68 71 00 00 68 be er/Command/ShowCommand.phphq..h.
0ba0 ac 5c 68 71 00 00 2b 61 5f 11 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\hq..+a_.........&...src/Compos
0bc0 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 96 15 00 00 er/Command/StatusCommand.php....
0be0 68 be ac 5c 96 15 00 00 f9 1c 6a d8 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 h..\......j.........(...src/Comp
0c00 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 oser/Command/SuggestsCommand.php
0c20 e5 0d 00 00 68 be ac 5c e5 0d 00 00 05 de 3d 15 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f ....h..\......=.........&...src/
0c40 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 Composer/Command/UpdateCommand.p
0c60 68 70 f1 23 00 00 68 be ac 5c f1 23 00 00 70 5c 46 19 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 hp.#..h..\.#..p\F.........(...sr
0c80 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 c/Composer/Command/ValidateComma
0ca0 6e 64 2e 70 68 70 80 14 00 00 68 be ac 5c 80 14 00 00 cd c3 90 ee b6 01 00 00 00 00 00 00 19 00 nd.php....h..\..................
0cc0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 70 6f 73 65 72 2e 70 68 70 4e 0b 00 00 68 ..src/Composer/Composer.phpN...h
0ce0 be ac 5c 4e 0b 00 00 50 d6 a1 c7 b6 01 00 00 00 00 00 00 17 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\N...P...............src/Compo
0d00 73 65 72 2f 43 6f 6e 66 69 67 2e 70 68 70 70 23 00 00 68 be ac 5c 70 23 00 00 b8 92 b7 9a b6 01 ser/Config.phpp#..h..\p#........
0d20 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2f 43 6f ......-...src/Composer/Config/Co
0d40 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 0e 02 00 00 68 be ac 5c 0e nfigSourceInterface.php....h..\.
0d60 02 00 00 b3 0c 5b 2f b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f .....[/........(...src/Composer/
0d80 43 6f 6e 66 69 67 2f 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 2e 70 68 70 75 13 00 00 68 Config/JsonConfigSource.phpu...h
0da0 be ac 5c 75 13 00 00 3d a4 1c 83 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\u...=...........$...src/Compo
0dc0 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 b2 34 00 00 68 ser/Console/Application.php.4..h
0de0 be ac 5c b2 34 00 00 8c 8e 12 e6 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\.4..............,...src/Compo
0e00 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 48 74 6d 6c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e ser/Console/HtmlOutputFormatter.
0e20 70 68 70 33 06 00 00 68 be ac 5c 33 06 00 00 da 81 45 75 b6 01 00 00 00 00 00 00 2d 00 00 00 73 php3...h..\3.....Eu........-...s
0e40 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 44 rc/Composer/DependencyResolver/D
0e60 65 63 69 73 69 6f 6e 73 2e 70 68 70 27 10 00 00 68 be ac 5c 27 10 00 00 b9 d4 8e bc b6 01 00 00 ecisions.php'...h..\'...........
0e80 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 ....1...src/Composer/DependencyR
0ea0 65 73 6f 6c 76 65 72 2f 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 2e 70 68 70 02 17 00 00 68 be ac esolver/DefaultPolicy.php....h..
0ec0 5c 02 17 00 00 f5 dd 76 7f b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 \......v........./...src/Compose
0ee0 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 47 65 6e 65 72 69 63 52 75 6c 65 r/DependencyResolver/GenericRule
0f00 2e 70 68 70 b5 03 00 00 68 be ac 5c b5 03 00 00 19 e1 ab a4 b6 01 00 00 00 00 00 00 3e 00 00 00 .php....h..\................>...
0f20 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f src/Composer/DependencyResolver/
0f40 4f 70 65 72 61 74 69 6f 6e 2f 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 43 02 Operation/InstallOperation.phpC.
0f60 00 00 68 be ac 5c 43 02 00 00 b4 5c f5 2a b6 01 00 00 00 00 00 00 49 00 00 00 73 72 63 2f 43 6f ..h..\C....\.*........I...src/Co
0f80 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 mposer/DependencyResolver/Operat
0fa0 69 6f 6e 2f 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 2e ion/MarkAliasInstalledOperation.
0fc0 70 68 70 f7 02 00 00 68 be ac 5c f7 02 00 00 ef ce e0 f7 b6 01 00 00 00 00 00 00 4b 00 00 00 73 php....h..\................K...s
0fe0 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f rc/Composer/DependencyResolver/O
1000 70 65 72 61 74 69 6f 6e 2f 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 peration/MarkAliasUninstalledOpe
1020 72 61 74 69 6f 6e 2e 70 68 70 fd 02 00 00 68 be ac 5c fd 02 00 00 19 33 23 86 b6 01 00 00 00 00 ration.php....h..\.....3#.......
1040 00 00 40 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 ..@...src/Composer/DependencyRes
1060 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 olver/Operation/OperationInterfa
1080 63 65 2e 70 68 70 d3 00 00 00 68 be ac 5c d3 00 00 00 d9 e2 26 e4 b6 01 00 00 00 00 00 00 3d 00 ce.php....h..\......&.........=.
10a0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ..src/Composer/DependencyResolve
10c0 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 b9 r/Operation/SolverOperation.php.
10e0 01 00 00 68 be ac 5c b9 01 00 00 26 a2 65 0a b6 01 00 00 00 00 00 00 40 00 00 00 73 72 63 2f 43 ...h..\....&.e.........@...src/C
1100 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 omposer/DependencyResolver/Opera
1120 74 69 6f 6e 2f 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 49 02 00 00 68 tion/UninstallOperation.phpI...h
1140 be ac 5c 49 02 00 00 46 fb c2 c9 b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\I...F...........=...src/Compo
1160 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e ser/DependencyResolver/Operation
1180 2f 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 68 03 00 00 68 be ac 5c 68 03 00 00 /UpdateOperation.phph...h..\h...
11a0 f6 53 d5 5d b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 .S.]........3...src/Composer/Dep
11c0 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 2e endencyResolver/PolicyInterface.
11e0 70 68 70 ad 01 00 00 68 be ac 5c ad 01 00 00 18 9f 8b 52 b6 01 00 00 00 00 00 00 28 00 00 00 73 php....h..\.......R........(...s
1200 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 rc/Composer/DependencyResolver/P
1220 6f 6f 6c 2e 70 68 70 af 22 00 00 68 be ac 5c af 22 00 00 6d bd 0d 09 b6 01 00 00 00 00 00 00 2b ool.php."..h..\."..m...........+
1240 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 ...src/Composer/DependencyResolv
1260 65 72 2f 50 72 6f 62 6c 65 6d 2e 70 68 70 b9 18 00 00 68 be ac 5c b9 18 00 00 52 e1 6a 6c b6 01 er/Problem.php....h..\....R.jl..
1280 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 ......+...src/Composer/Dependenc
12a0 79 52 65 73 6f 6c 76 65 72 2f 52 65 71 75 65 73 74 2e 70 68 70 83 04 00 00 68 be ac 5c 83 04 00 yResolver/Request.php....h..\...
12c0 00 e5 56 50 84 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 ..VP.........(...src/Composer/De
12e0 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 2e 70 68 70 3f 19 00 00 68 be ac pendencyResolver/Rule.php?...h..
1300 5c 3f 19 00 00 ac 91 9c fc b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 \?...............1...src/Compose
1320 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 32 4c 69 74 65 72 61 r/DependencyResolver/Rule2Litera
1340 6c 73 2e 70 68 70 18 05 00 00 68 be ac 5c 18 05 00 00 74 5a c5 c9 b6 01 00 00 00 00 00 00 2b 00 ls.php....h..\....tZ..........+.
1360 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ..src/Composer/DependencyResolve
1380 72 2f 52 75 6c 65 53 65 74 2e 70 68 70 aa 0a 00 00 68 be ac 5c aa 0a 00 00 5f ce 82 1b b6 01 00 r/RuleSet.php....h..\...._......
13a0 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 .....4...src/Composer/Dependency
13c0 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 26 1e 00 Resolver/RuleSetGenerator.php&..
13e0 00 68 be ac 5c 26 1e 00 00 67 c7 46 a3 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d .h..\&...g.F.........3...src/Com
1400 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 poser/DependencyResolver/RuleSet
1420 49 74 65 72 61 74 6f 72 2e 70 68 70 11 06 00 00 68 be ac 5c 11 06 00 00 9b 43 fc 24 b6 01 00 00 Iterator.php....h..\.....C.$....
1440 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 ....2...src/Composer/DependencyR
1460 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 2e 70 68 70 69 01 00 00 68 be esolver/RuleWatchChain.phpi...h.
1480 ac 5c 69 01 00 00 68 ef 9a 2c b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\i...h..,........2...src/Compos
14a0 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 47 er/DependencyResolver/RuleWatchG
14c0 72 61 70 68 2e 70 68 70 e1 06 00 00 68 be ac 5c e1 06 00 00 89 72 f4 76 b6 01 00 00 00 00 00 00 raph.php....h..\.....r.v........
14e0 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 1...src/Composer/DependencyResol
1500 76 65 72 2f 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 2e 70 68 70 05 04 00 00 68 be ac 5c 05 04 00 ver/RuleWatchNode.php....h..\...
1520 00 8f 47 64 37 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 ..Gd7........*...src/Composer/De
1540 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 2e 70 68 70 9d 3a 00 00 68 pendencyResolver/Solver.php.:..h
1560 be ac 5c 9d 3a 00 00 e6 af c9 70 b6 01 00 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\.:.....p........6...src/Compo
1580 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 42 75 67 ser/DependencyResolver/SolverBug
15a0 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 99 01 00 00 68 be ac 5c 99 01 00 00 58 12 67 36 b6 01 00 Exception.php....h..\....X.g6...
15c0 00 00 00 00 00 3b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 .....;...src/Composer/Dependency
15e0 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e Resolver/SolverProblemsException
1600 2e 70 68 70 f4 07 00 00 68 be ac 5c f4 07 00 00 d7 7c c5 a6 b6 01 00 00 00 00 00 00 2f 00 00 00 .php....h..\.....|........../...
1620 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f src/Composer/DependencyResolver/
1640 54 72 61 6e 73 61 63 74 69 6f 6e 2e 70 68 70 d7 13 00 00 68 be ac 5c d7 13 00 00 56 6d ec 9f b6 Transaction.php....h..\....Vm...
1660 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 .......-...src/Composer/Download
1680 65 72 2f 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 c6 09 00 00 68 be ac 5c er/ArchiveDownloader.php....h..\
16a0 c6 09 00 00 47 20 73 30 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....G.s0........1...src/Composer
16c0 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 /Downloader/ChangeReportInterfac
16e0 65 2e 70 68 70 cc 00 00 00 68 be ac 5c cc 00 00 00 af e0 a8 bf b6 01 00 00 00 00 00 00 2b 00 00 e.php....h..\................+..
1700 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 6f 77 6e 6c 6f 61 .src/Composer/Downloader/Downloa
1720 64 4d 61 6e 61 67 65 72 2e 70 68 70 60 15 00 00 68 be ac 5c 60 15 00 00 23 cf 58 14 b6 01 00 00 dManager.php`...h..\`...#.X.....
1740 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f ..../...src/Composer/Downloader/
1760 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ca 01 00 00 68 be ac 5c ca DownloaderInterface.php....h..\.
1780 01 00 00 67 73 21 6c b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...gs!l........3...src/Composer/
17a0 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 Downloader/DvcsDownloaderInterfa
17c0 63 65 2e 70 68 70 d1 00 00 00 68 be ac 5c d1 00 00 00 26 c1 9c bf b6 01 00 00 00 00 00 00 2a 00 ce.php....h..\....&...........*.
17e0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 69 6c 65 44 6f ..src/Composer/Downloader/FileDo
1800 77 6e 6c 6f 61 64 65 72 2e 70 68 70 47 1c 00 00 68 be ac 5c 47 1c 00 00 85 81 c4 f7 b6 01 00 00 wnloader.phpG...h..\G...........
1820 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f ..../...src/Composer/Downloader/
1840 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0a 01 00 00 68 be ac 5c 0a FilesystemException.php....h..\.
1860 01 00 00 2e 2d 1e 8b b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....-..........,...src/Composer/
1880 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 82 Downloader/FossilDownloader.php.
18a0 0b 00 00 68 be ac 5c 82 0b 00 00 dc 81 49 69 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 ...h..\......Ii........)...src/C
18c0 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 omposer/Downloader/GitDownloader
18e0 2e 70 68 70 71 34 00 00 68 be ac 5c 71 34 00 00 5a ce c7 d7 b6 01 00 00 00 00 00 00 2a 00 00 00 .phpq4..h..\q4..Z...........*...
1900 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 47 7a 69 70 44 6f 77 6e src/Composer/Downloader/GzipDown
1920 6c 6f 61 64 65 72 2e 70 68 70 f3 06 00 00 68 be ac 5c f3 06 00 00 7d da 6f c2 b6 01 00 00 00 00 loader.php....h..\....}.o.......
1940 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 48 67 ..(...src/Composer/Downloader/Hg
1960 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 94 08 00 00 68 be ac 5c 94 08 00 00 df 69 73 cc b6 01 Downloader.php....h..\.....is...
1980 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 ......*...src/Composer/Downloade
19a0 72 2f 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 de 12 00 00 68 be ac 5c de 12 00 00 r/PathDownloader.php....h..\....
19c0 a8 4d ed 7e b6 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 .M.~........0...src/Composer/Dow
19e0 6e 6c 6f 61 64 65 72 2f 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 2e 70 68 70 nloader/PearPackageExtractor.php
1a00 75 1b 00 00 68 be ac 5c 75 1b 00 00 7a 84 15 87 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f u...h..\u...z...............src/
1a20 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 65 72 66 6f 72 63 65 44 6f 77 6e Composer/Downloader/PerforceDown
1a40 6c 6f 61 64 65 72 2e 70 68 70 a7 07 00 00 68 be ac 5c a7 07 00 00 e2 83 10 a8 b6 01 00 00 00 00 loader.php....h..\..............
1a60 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 68 ..*...src/Composer/Downloader/Ph
1a80 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e5 00 00 00 68 be ac 5c e5 00 00 00 de c9 1f e7 arDownloader.php....h..\........
1aa0 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 ........)...src/Composer/Downloa
1ac0 64 65 72 2f 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 9e 07 00 00 68 be ac 5c 9e 07 00 der/RarDownloader.php....h..\...
1ae0 00 36 09 33 55 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f .6.3U........)...src/Composer/Do
1b00 77 6e 6c 6f 61 64 65 72 2f 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 47 14 00 00 68 be wnloader/SvnDownloader.phpG...h.
1b20 ac 5c 47 14 00 00 4d 23 6a 1d b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\G...M#j.........)...src/Compos
1b40 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e3 er/Downloader/TarDownloader.php.
1b60 00 00 00 68 be ac 5c e3 00 00 00 cd 92 58 3f b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 ...h..\......X?............src/C
1b80 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 54 72 61 6e 73 70 6f 72 74 45 78 63 65 omposer/Downloader/TransportExce
1ba0 70 74 69 6f 6e 2e 70 68 70 3d 02 00 00 68 be ac 5c 3d 02 00 00 5a ce c8 de b6 01 00 00 00 00 00 ption.php=...h..\=...Z..........
1bc0 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 56 63 73 .9...src/Composer/Downloader/Vcs
1be0 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d4 00 CapableDownloaderInterface.php..
1c00 00 00 68 be ac 5c d4 00 00 00 60 a7 f4 f6 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f ..h..\....`...........)...src/Co
1c20 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 2e mposer/Downloader/VcsDownloader.
1c40 70 68 70 a1 16 00 00 68 be ac 5c a1 16 00 00 28 09 e0 3e b6 01 00 00 00 00 00 00 28 00 00 00 73 php....h..\....(..>........(...s
1c60 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 58 7a 44 6f 77 6e 6c 6f 61 rc/Composer/Downloader/XzDownloa
1c80 64 65 72 2e 70 68 70 a7 04 00 00 68 be ac 5c a7 04 00 00 57 24 3b e1 b6 01 00 00 00 00 00 00 29 der.php....h..\....W$;.........)
1ca0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 5a 69 70 44 6f ...src/Composer/Downloader/ZipDo
1cc0 77 6e 6c 6f 61 64 65 72 2e 70 68 70 6b 15 00 00 68 be ac 5c 6b 15 00 00 d2 6f 94 ce b6 01 00 00 wnloader.phpk...h..\k....o......
1ce0 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 ....&...src/Composer/EventDispat
1d00 63 68 65 72 2f 45 76 65 6e 74 2e 70 68 70 a0 02 00 00 68 be ac 5c a0 02 00 00 b1 99 6a ef b6 01 cher/Event.php....h..\......j...
1d20 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 ......0...src/Composer/EventDisp
1d40 61 74 63 68 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2e 70 68 70 59 33 00 00 68 be atcher/EventDispatcher.phpY3..h.
1d60 ac 5c 59 33 00 00 e3 26 3d 71 b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\Y3...&=q........9...src/Compos
1d80 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2f 45 76 65 6e 74 53 75 62 73 63 72 69 62 er/EventDispatcher/EventSubscrib
1da0 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a9 00 00 00 68 be ac 5c a9 00 00 00 68 b7 01 30 b6 erInterface.php....h..\....h..0.
1dc0 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 .......9...src/Composer/EventDis
1de0 70 61 74 63 68 65 72 2f 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e patcher/ScriptExecutionException
1e00 2e 70 68 70 76 00 00 00 68 be ac 5c 76 00 00 00 77 5a 38 53 b6 01 00 00 00 00 00 00 29 00 00 00 .phpv...h..\v...wZ8S........)...
1e20 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4e 6f 53 73 6c 45 78 63 65 src/Composer/Exception/NoSslExce
1e40 70 74 69 6f 6e 2e 70 68 70 66 00 00 00 68 be ac 5c 66 00 00 00 cb ed 4d 9d b6 01 00 00 00 00 00 ption.phpf...h..\f.....M........
1e60 00 18 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 46 61 63 74 6f 72 79 2e 70 68 70 5f 3d 00 .....src/Composer/Factory.php_=.
1e80 00 68 be ac 5c 5f 3d 00 00 78 22 10 c5 b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d .h..\_=..x"..............src/Com
1ea0 70 6f 73 65 72 2f 49 4f 2f 42 61 73 65 49 4f 2e 70 68 70 8c 10 00 00 68 be ac 5c 8c 10 00 00 28 poser/IO/BaseIO.php....h..\....(
1ec0 82 6c 91 b6 01 00 00 00 00 00 00 1c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 42 .l.............src/Composer/IO/B
1ee0 75 66 66 65 72 49 4f 2e 70 68 70 2a 04 00 00 68 be ac 5c 2a 04 00 00 a2 ae 68 54 b6 01 00 00 00 ufferIO.php*...h..\*.....hT.....
1f00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 43 6f 6e 73 6f 6c 65 49 4f .......src/Composer/IO/ConsoleIO
1f20 2e 70 68 70 37 17 00 00 68 be ac 5c 37 17 00 00 a5 10 3c c8 b6 01 00 00 00 00 00 00 1f 00 00 00 .php7...h..\7.....<.............
1f40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 49 4f 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ec src/Composer/IO/IOInterface.php.
1f60 05 00 00 68 be ac 5c ec 05 00 00 00 d5 9d 0e b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 ...h..\....................src/C
1f80 6f 6d 70 6f 73 65 72 2f 49 4f 2f 4e 75 6c 6c 49 4f 2e 70 68 70 c0 04 00 00 68 be ac 5c c0 04 00 omposer/IO/NullIO.php....h..\...
1fa0 00 46 60 73 ca b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e .F`s.............src/Composer/In
1fc0 73 74 61 6c 6c 65 72 2e 70 68 70 c4 9d 00 00 68 be ac 5c c4 9d 00 00 cd 4d 6c 49 b6 01 00 00 00 staller.php....h..\.....MlI.....
1fe0 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 42 69 ...*...src/Composer/Installer/Bi
2000 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 0a 12 00 00 68 be ac 5c 0a 12 00 00 74 a4 7b naryInstaller.php....h..\....t.{
2020 f8 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c .........2...src/Composer/Instal
2040 6c 65 72 2f 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cb ler/BinaryPresenceInterface.php.
2060 00 00 00 68 be ac 5c cb 00 00 00 c0 35 9a a8 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 ...h..\.....5..............src/C
2080 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 omposer/Installer/InstallationMa
20a0 6e 61 67 65 72 2e 70 68 70 2d 17 00 00 68 be ac 5c 2d 17 00 00 be 7d 8c 37 b6 01 00 00 00 00 00 nager.php-...h..\-....}.7.......
20c0 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 .)...src/Composer/Installer/Inst
20e0 61 6c 6c 65 72 45 76 65 6e 74 2e 70 68 70 0e 06 00 00 68 be ac 5c 0e 06 00 00 6c d4 7a 69 b6 01 allerEvent.php....h..\....l.zi..
2100 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 ......*...src/Composer/Installer
2120 2f 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 2e 70 68 70 de 00 00 00 68 be ac 5c de 00 00 00 /InstallerEvents.php....h..\....
2140 ec 9f 40 47 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 ..@G........-...src/Composer/Ins
2160 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e3 02 00 taller/InstallerInterface.php...
2180 00 68 be ac 5c e3 02 00 00 5e 83 93 ca b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d .h..\....^...........+...src/Com
21a0 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 poser/Installer/LibraryInstaller
21c0 2e 70 68 70 25 14 00 00 68 be ac 5c 25 14 00 00 0c bb 8f cc b6 01 00 00 00 00 00 00 2f 00 00 00 .php%...h..\%.............../...
21e0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4d 65 74 61 70 61 63 6b 61 src/Composer/Installer/Metapacka
2200 67 65 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 ca 07 00 00 68 be ac 5c ca 07 00 00 d9 74 69 b7 b6 geInstaller.php....h..\.....ti..
2220 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 .......(...src/Composer/Installe
2240 72 2f 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 2b 05 00 00 68 be ac 5c 2b 05 00 00 c0 r/NoopInstaller.php+...h..\+....
2260 b7 4d 7d b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 .M}........'...src/Composer/Inst
2280 61 6c 6c 65 72 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 2e 70 68 70 65 03 00 00 68 be ac 5c 65 03 aller/PackageEvent.phpe...h..\e.
22a0 00 00 3b b0 20 1a b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 ..;...........(...src/Composer/I
22c0 6e 73 74 61 6c 6c 65 72 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 73 2e 70 68 70 b8 01 00 00 68 be nstaller/PackageEvents.php....h.
22e0 ac 5c b8 01 00 00 64 62 d8 73 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\....db.s............src/Compos
2300 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 er/Installer/PearBinaryInstaller
2320 2e 70 68 70 f8 0c 00 00 68 be ac 5c f8 0c 00 00 2a eb 95 6b b6 01 00 00 00 00 00 00 28 00 00 00 .php....h..\....*..k........(...
2340 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 49 6e 73 74 61 src/Composer/Installer/PearInsta
2360 6c 6c 65 72 2e 70 68 70 a2 07 00 00 68 be ac 5c a2 07 00 00 c8 82 b6 d1 b6 01 00 00 00 00 00 00 ller.php....h..\................
2380 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 6c 75 67 69 *...src/Composer/Installer/Plugi
23a0 6e 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 8b 06 00 00 68 be ac 5c 8b 06 00 00 0f d2 58 38 b6 01 nInstaller.php....h..\......X8..
23c0 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 ......+...src/Composer/Installer
23e0 2f 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 1d 06 00 00 68 be ac 5c 1d 06 00 /ProjectInstaller.php....h..\...
2400 00 2a 30 40 50 b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e .*0@P........4...src/Composer/In
2420 73 74 61 6c 6c 65 72 2f 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 staller/SuggestedPackagesReporte
2440 72 2e 70 68 70 3a 07 00 00 68 be ac 5c 3a 07 00 00 82 b4 55 56 b6 01 00 00 00 00 00 00 1e 00 00 r.php:...h..\:.....UV...........
2460 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 69 6c 65 2e 70 68 70 ee .src/Composer/Json/JsonFile.php.
2480 13 00 00 68 be ac 5c ee 13 00 00 62 2d 7e 04 b6 01 00 00 00 00 00 00 23 00 00 00 73 72 63 2f 43 ...h..\....b-~.........#...src/C
24a0 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 62 06 omposer/Json/JsonFormatter.phpb.
24c0 00 00 68 be ac 5c 62 06 00 00 12 dd 4e 9a b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f ..h..\b.....N.........%...src/Co
24e0 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 70 68 70 92 mposer/Json/JsonManipulator.php.
2500 33 00 00 68 be ac 5c 92 33 00 00 e9 37 12 1b b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 3..h..\.3...7..........-...src/C
2520 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 omposer/Json/JsonValidationExcep
2540 74 69 6f 6e 2e 70 68 70 5c 01 00 00 68 be ac 5c 5c 01 00 00 2e 58 f3 dc b6 01 00 00 00 00 00 00 tion.php\...h..\\....X..........
2560 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 6c 69 61 73 50 61 %...src/Composer/Package/AliasPa
2580 63 6b 61 67 65 2e 70 68 70 05 17 00 00 68 be ac 5c 05 17 00 00 b9 97 7e 9a b6 01 00 00 00 00 00 ckage.php....h..\......~........
25a0 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 .7...src/Composer/Package/Archiv
25c0 65 72 2f 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 2e 70 68 70 09 02 00 00 er/ArchivableFilesFilter.php....
25e0 68 be ac 5c 09 02 00 00 79 59 2b a6 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 h..\....yY+.........7...src/Comp
2600 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 61 62 6c 65 oser/Package/Archiver/Archivable
2620 46 69 6c 65 73 46 69 6e 64 65 72 2e 70 68 70 de 05 00 00 68 be ac 5c de 05 00 00 0c b2 b2 b9 b6 FilesFinder.php....h..\.........
2640 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f .......0...src/Composer/Package/
2660 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2e 70 68 70 dd 0c 00 00 68 Archiver/ArchiveManager.php....h
2680 be ac 5c dd 0c 00 00 ed 3c b4 42 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\.....<.B........3...src/Compo
26a0 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 65 72 49 6e 74 ser/Package/Archiver/ArchiverInt
26c0 65 72 66 61 63 65 2e 70 68 70 07 01 00 00 68 be ac 5c 07 01 00 00 f1 b4 3e 0b b6 01 00 00 00 00 erface.php....h..\......>.......
26e0 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 ..3...src/Composer/Package/Archi
2700 76 65 72 2f 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 96 06 00 00 68 be ac ver/BaseExcludeFilter.php....h..
2720 5c 96 06 00 00 79 b6 3d c6 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 \....y.=.........7...src/Compose
2740 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 r/Package/Archiver/ComposerExclu
2760 64 65 46 69 6c 74 65 72 2e 70 68 70 1f 01 00 00 68 be ac 5c 1f 01 00 00 8b 53 5a 30 b6 01 00 00 deFilter.php....h..\.....SZ0....
2780 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 ....2...src/Composer/Package/Arc
27a0 68 69 76 65 72 2f 47 69 74 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 72 03 00 00 68 be hiver/GitExcludeFilter.phpr...h.
27c0 ac 5c 72 03 00 00 33 91 4d 68 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\r...3.Mh........1...src/Compos
27e0 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 48 67 45 78 63 6c 75 64 65 46 69 6c er/Package/Archiver/HgExcludeFil
2800 74 65 72 2e 70 68 70 0b 05 00 00 68 be ac 5c 0b 05 00 00 0d 95 a6 53 b6 01 00 00 00 00 00 00 2e ter.php....h..\.......S.........
2820 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 ...src/Composer/Package/Archiver
2840 2f 50 68 61 72 41 72 63 68 69 76 65 72 2e 70 68 70 3f 06 00 00 68 be ac 5c 3f 06 00 00 ae 97 09 /PharArchiver.php?...h..\?......
2860 75 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 u........-...src/Composer/Packag
2880 65 2f 41 72 63 68 69 76 65 72 2f 5a 69 70 41 72 63 68 69 76 65 72 2e 70 68 70 bd 04 00 00 68 be e/Archiver/ZipArchiver.php....h.
28a0 ac 5c bd 04 00 00 56 c0 82 a8 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\....V...........$...src/Compos
28c0 65 72 2f 50 61 63 6b 61 67 65 2f 42 61 73 65 50 61 63 6b 61 67 65 2e 70 68 70 11 0e 00 00 68 be er/Package/BasePackage.php....h.
28e0 ac 5c 11 0e 00 00 44 7c 9f c8 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\....D|..........*...src/Compos
2900 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 61 72 65 72 2f 43 6f 6d 70 61 72 65 72 2e 70 68 70 er/Package/Comparer/Comparer.php
2920 52 08 00 00 68 be ac 5c 52 08 00 00 cf d8 b3 ee b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f R...h..\R...............(...src/
2940 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 Composer/Package/CompletePackage
2960 2e 70 68 70 fc 06 00 00 68 be ac 5c fc 06 00 00 fe 4d cb b6 b6 01 00 00 00 00 00 00 31 00 00 00 .php....h..\.....M..........1...
2980 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 src/Composer/Package/CompletePac
29a0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f5 01 00 00 68 be ac 5c f5 01 00 00 a6 ca 81 kageInterface.php....h..\.......
29c0 f2 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .........+...src/Composer/Packag
29e0 65 2f 44 75 6d 70 65 72 2f 41 72 72 61 79 44 75 6d 70 65 72 2e 70 68 70 57 0c 00 00 68 be ac 5c e/Dumper/ArrayDumper.phpW...h..\
2a00 57 0c 00 00 bf e9 c1 a6 b6 01 00 00 00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 W...................src/Composer
2a20 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 2e 70 68 70 88 05 00 00 68 be ac 5c 88 05 00 00 e5 b6 59 /Package/Link.php....h..\......Y
2a40 ab b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .........7...src/Composer/Packag
2a60 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 e/LinkConstraint/EmptyConstraint
2a80 2e 70 68 70 82 01 00 00 68 be ac 5c 82 01 00 00 0e e9 7e 8b b6 01 00 00 00 00 00 00 3f 00 00 00 .php....h..\......~.........?...
2aa0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 src/Composer/Package/LinkConstra
2ac0 69 6e 74 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 64 int/LinkConstraintInterface.phpd
2ae0 01 00 00 68 be ac 5c 64 01 00 00 a4 f4 4c 6e b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 ...h..\d.....Ln........7...src/C
2b00 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 4d omposer/Package/LinkConstraint/M
2b20 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 82 01 00 00 68 be ac 5c 82 01 00 00 f3 62 ultiConstraint.php....h..\.....b
2b40 60 fd b6 01 00 00 00 00 00 00 3a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 `.........:...src/Composer/Packa
2b60 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 ge/LinkConstraint/SpecificConstr
2b80 61 69 6e 74 2e 70 68 70 69 01 00 00 68 be ac 5c 69 01 00 00 de 94 9a 25 b6 01 00 00 00 00 00 00 aint.phpi...h..\i......%........
2ba0 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 9...src/Composer/Package/LinkCon
2bc0 73 74 72 61 69 6e 74 2f 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 58 01 00 straint/VersionConstraint.phpX..
2be0 00 68 be ac 5c 58 01 00 00 02 7d 60 79 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d .h..\X....}`y........+...src/Com
2c00 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 41 72 72 61 79 4c 6f 61 64 65 72 poser/Package/Loader/ArrayLoader
2c20 2e 70 68 70 4e 1e 00 00 68 be ac 5c 4e 1e 00 00 e2 03 51 ac b6 01 00 00 00 00 00 00 37 00 00 00 .phpN...h..\N.....Q.........7...
2c40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 49 6e 76 61 src/Composer/Package/Loader/Inva
2c60 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 45 02 00 00 68 be ac 5c 45 lidPackageException.phpE...h..\E
2c80 02 00 00 78 62 13 be b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...xb..........*...src/Composer/
2ca0 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 4a 73 6f 6e 4c 6f 61 64 65 72 2e 70 68 70 f9 01 00 Package/Loader/JsonLoader.php...
2cc0 00 68 be ac 5c f9 01 00 00 21 7e 88 7b b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d .h..\....!~.{......../...src/Com
2ce0 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 4c 6f 61 64 65 72 49 6e 74 65 72 poser/Package/Loader/LoaderInter
2d00 66 61 63 65 2e 70 68 70 b2 00 00 00 68 be ac 5c b2 00 00 00 a6 7d fa ce b6 01 00 00 00 00 00 00 face.php....h..\.....}..........
2d20 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 1...src/Composer/Package/Loader/
2d40 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 2e 70 68 70 f3 19 00 00 68 be ac 5c f3 19 00 RootPackageLoader.php....h..\...
2d60 00 6c 94 2e d8 b6 01 00 00 00 00 00 00 35 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 .l...........5...src/Composer/Pa
2d80 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 ckage/Loader/ValidatingArrayLoad
2da0 65 72 2e 70 68 70 ba 3c 00 00 68 be ac 5c ba 3c 00 00 b0 2d e0 40 b6 01 00 00 00 00 00 00 1f 00 er.php.<..h..\.<...-.@..........
2dc0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 63 6b 65 72 2e 70 68 ..src/Composer/Package/Locker.ph
2de0 70 a5 21 00 00 68 be ac 5c a5 21 00 00 2f 3d 78 f6 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 p.!..h..\.!../=x.............src
2e00 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 50 61 63 6b 61 67 65 2e 70 68 70 c9 1a 00 /Composer/Package/Package.php...
2e20 00 68 be ac 5c c9 1a 00 00 63 c3 8f 68 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d .h..\....c..h........)...src/Com
2e40 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 poser/Package/PackageInterface.p
2e60 68 70 a0 07 00 00 68 be ac 5c a0 07 00 00 fb c7 5e c6 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 hp....h..\......^.........)...sr
2e80 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b c/Composer/Package/RootAliasPack
2ea0 61 67 65 2e 70 68 70 1f 09 00 00 68 be ac 5c 1f 09 00 00 09 5f 80 f8 b6 01 00 00 00 00 00 00 24 age.php....h..\....._..........$
2ec0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b ...src/Composer/Package/RootPack
2ee0 61 67 65 2e 70 68 70 11 05 00 00 68 be ac 5c 11 05 00 00 02 8e ce 5f b6 01 00 00 00 00 00 00 2d age.php....h..\......._........-
2f00 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b ...src/Composer/Package/RootPack
2f20 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 b9 03 00 00 68 be ac 5c b9 03 00 00 22 6d 61 56 ageInterface.php....h..\...."maV
2f40 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 ......../...src/Composer/Package
2f60 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2e 70 68 70 cf 1d 00 00 68 /Version/VersionGuesser.php....h
2f80 be ac 5c cf 1d 00 00 cc c2 df 04 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\....................src/Compo
2fa0 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 ser/Package/Version/VersionParse
2fc0 72 2e 70 68 70 a5 05 00 00 68 be ac 5c a5 05 00 00 f4 b4 16 e0 b6 01 00 00 00 00 00 00 30 00 00 r.php....h..\................0..
2fe0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 65 .src/Composer/Package/Version/Ve
3000 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2e 70 68 70 4b 0c 00 00 68 be ac 5c 4b 0c 00 00 b2 3c 0f rsionSelector.phpK...h..\K....<.
3020 c8 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e .........-...src/Composer/Plugin
3040 2f 43 61 70 61 62 69 6c 69 74 79 2f 43 61 70 61 62 69 6c 69 74 79 2e 70 68 70 57 00 00 00 68 be /Capability/Capability.phpW...h.
3060 ac 5c 57 00 00 00 e6 5f a8 31 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\W...._.1........2...src/Compos
3080 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 69 6c 69 74 79 2f 43 6f 6d 6d 61 6e 64 50 72 6f 76 er/Plugin/Capability/CommandProv
30a0 69 64 65 72 2e 70 68 70 97 00 00 00 68 be ac 5c 97 00 00 00 fb 4f e2 3e b6 01 00 00 00 00 00 00 ider.php....h..\.....O.>........
30c0 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 6c 65 2e ....src/Composer/Plugin/Capable.
30e0 70 68 70 7f 00 00 00 68 be ac 5c 7f 00 00 00 c6 71 15 2b b6 01 00 00 00 00 00 00 24 00 00 00 73 php....h..\.....q.+........$...s
3100 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e rc/Composer/Plugin/CommandEvent.
3120 70 68 70 e2 02 00 00 68 be ac 5c e2 02 00 00 b3 c6 c7 57 b6 01 00 00 00 00 00 00 24 00 00 00 73 php....h..\.......W........$...s
3140 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 45 76 65 6e 74 73 2e rc/Composer/Plugin/PluginEvents.
3160 70 68 70 f6 00 00 00 68 be ac 5c f6 00 00 00 e1 31 3d 7a b6 01 00 00 00 00 00 00 27 00 00 00 73 php....h..\.....1=z........'...s
3180 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 rc/Composer/Plugin/PluginInterfa
31a0 63 65 2e 70 68 70 f4 00 00 00 68 be ac 5c f4 00 00 00 29 27 2a d8 b6 01 00 00 00 00 00 00 25 00 ce.php....h..\....)'*.........%.
31c0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 4d 61 6e 61 ..src/Composer/Plugin/PluginMana
31e0 67 65 72 2e 70 68 70 1b 24 00 00 68 be ac 5c 1b 24 00 00 8b 02 4b a9 b6 01 00 00 00 00 00 00 2a ger.php.$..h..\.$....K.........*
3200 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 43 6f 6d 6d 61 6e ...src/Composer/Plugin/PreComman
3220 64 52 75 6e 45 76 65 6e 74 2e 70 68 70 f5 01 00 00 68 be ac 5c f5 01 00 00 3a f0 64 1e b6 01 00 dRunEvent.php....h..\....:.d....
3240 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 .....,...src/Composer/Plugin/Pre
3260 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2e 70 68 70 60 02 00 00 68 be ac 5c 60 02 00 FileDownloadEvent.php`...h..\`..
3280 00 00 39 2d ce b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 51 75 ..9-.........4...src/Composer/Qu
32a0 65 73 74 69 6f 6e 2f 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f estion/StrictConfirmationQuestio
32c0 6e 2e 70 68 70 1e 05 00 00 68 be ac 5c 1e 05 00 00 27 2e b3 e8 b6 01 00 00 00 00 00 00 2b 00 00 n.php....h..\....'...........+..
32e0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 41 72 72 61 79 52 65 .src/Composer/Repository/ArrayRe
3300 70 6f 73 69 74 6f 72 79 2e 70 68 70 13 0e 00 00 68 be ac 5c 13 0e 00 00 e9 cc 74 00 b6 01 00 00 pository.php....h..\......t.....
3320 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f ........src/Composer/Repository/
3340 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 09 0d 00 00 68 be ac 5c 09 0d ArtifactRepository.php....h..\..
3360 00 00 46 9c e2 f2 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 ..F...........*...src/Composer/R
3380 65 70 6f 73 69 74 6f 72 79 2f 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 76 0d 00 00 epository/BaseRepository.phpv...
33a0 68 be ac 5c 76 0d 00 00 84 dc 18 4c b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 h..\v......L............src/Comp
33c0 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f oser/Repository/ComposerReposito
33e0 72 79 2e 70 68 70 81 54 00 00 68 be ac 5c 81 54 00 00 a9 1d 91 5e b6 01 00 00 00 00 00 00 2f 00 ry.php.T..h..\.T.....^......../.
3400 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 ..src/Composer/Repository/Compos
3420 69 74 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 3b 08 00 00 68 be ac 5c 3b 08 00 00 a4 af 53 iteRepository.php;...h..\;.....S
3440 1f b6 01 00 00 00 00 00 00 3b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 .........;...src/Composer/Reposi
3460 74 6f 72 79 2f 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 tory/ConfigurableRepositoryInter
3480 66 61 63 65 2e 70 68 70 85 00 00 00 68 be ac 5c 85 00 00 00 b1 9f 5f 1c b6 01 00 00 00 00 00 00 face.php....h..\......_.........
34a0 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 46 69 6c 65 0...src/Composer/Repository/File
34c0 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 70 05 00 00 68 be ac 5c 70 05 00 00 systemRepository.phpp...h..\p...
34e0 23 18 f9 7f b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 #...........4...src/Composer/Rep
3500 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 ository/InstalledArrayRepository
3520 2e 70 68 70 a3 00 00 00 68 be ac 5c a3 00 00 00 2f f6 7e 3e b6 01 00 00 00 00 00 00 39 00 00 00 .php....h..\..../.~>........9...
3540 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 src/Composer/Repository/Installe
3560 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 a3 00 00 00 68 be ac dFilesystemRepository.php....h..
3580 5c a3 00 00 00 56 0a 95 5f b6 01 00 00 00 00 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 \....V.._........8...src/Compose
35a0 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 r/Repository/InstalledRepository
35c0 49 6e 74 65 72 66 61 63 65 2e 70 68 70 87 00 00 00 68 be ac 5c 87 00 00 00 18 a3 39 70 b6 01 00 Interface.php....h..\......9p...
35e0 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 .....6...src/Composer/Repository
3600 2f 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6e /InvalidRepositoryException.phpn
3620 00 00 00 68 be ac 5c 6e 00 00 00 e0 93 eb 98 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 ...h..\n...............-...src/C
3640 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 61 63 6b 61 67 65 52 65 70 6f 73 69 omposer/Repository/PackageReposi
3660 74 6f 72 79 2e 70 68 70 6a 03 00 00 68 be ac 5c 6a 03 00 00 a5 f4 f2 cc b6 01 00 00 00 00 00 00 tory.phpj...h..\j...............
3680 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 61 74 68 *...src/Composer/Repository/Path
36a0 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 96 0b 00 00 68 be ac 5c 96 0b 00 00 57 db 02 12 b6 01 Repository.php....h..\....W.....
36c0 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......2...src/Composer/Repositor
36e0 79 2f 50 65 61 72 2f 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 2e 70 68 70 49 05 00 00 y/Pear/BaseChannelReader.phpI...
3700 68 be ac 5c 49 05 00 00 63 08 36 b3 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 h..\I...c.6.........,...src/Comp
3720 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 49 6e 66 6f oser/Repository/Pear/ChannelInfo
3740 2e 70 68 70 c4 01 00 00 68 be ac 5c c4 01 00 00 3a 54 2a c9 b6 01 00 00 00 00 00 00 2e 00 00 00 .php....h..\....:T*.............
3760 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 src/Composer/Repository/Pear/Cha
3780 6e 6e 65 6c 52 65 61 64 65 72 2e 70 68 70 ed 06 00 00 68 be ac 5c ed 06 00 00 3f c8 59 54 b6 01 nnelReader.php....h..\....?.YT..
37a0 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......4...src/Composer/Repositor
37c0 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 2e 70 68 70 ae 09 y/Pear/ChannelRest10Reader.php..
37e0 00 00 68 be ac 5c ae 09 00 00 99 d6 db fa b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f ..h..\................4...src/Co
3800 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 mposer/Repository/Pear/ChannelRe
3820 73 74 31 31 52 65 61 64 65 72 2e 70 68 70 26 09 00 00 68 be ac 5c 26 09 00 00 f2 55 62 08 b6 01 st11Reader.php&...h..\&....Ub...
3840 00 00 00 00 00 00 35 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......5...src/Composer/Repositor
3860 79 2f 50 65 61 72 2f 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 71 y/Pear/DependencyConstraint.phpq
3880 02 00 00 68 be ac 5c 71 02 00 00 39 0e 17 3d b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 ...h..\q...9..=......../...src/C
38a0 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 44 65 70 65 6e 64 65 6e omposer/Repository/Pear/Dependen
38c0 63 79 49 6e 66 6f 2e 70 68 70 71 01 00 00 68 be ac 5c 71 01 00 00 66 ba 54 f2 b6 01 00 00 00 00 cyInfo.phpq...h..\q...f.T.......
38e0 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 ..8...src/Composer/Repository/Pe
3900 61 72 2f 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 2e 70 68 70 85 16 ar/PackageDependencyParser.php..
3920 00 00 68 be ac 5c 85 16 00 00 f7 24 4c 69 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f ..h..\.....$Li........,...src/Co
3940 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 50 61 63 6b 61 67 65 49 6e mposer/Repository/Pear/PackageIn
3960 66 6f 2e 70 68 70 b0 03 00 00 68 be ac 5c b0 03 00 00 9f 0d b8 0c b6 01 00 00 00 00 00 00 2c 00 fo.php....h..\................,.
3980 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 52 ..src/Composer/Repository/Pear/R
39a0 65 6c 65 61 73 65 49 6e 66 6f 2e 70 68 70 92 01 00 00 68 be ac 5c 92 01 00 00 6f 93 8a c3 b6 01 eleaseInfo.php....h..\....o.....
39c0 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......*...src/Composer/Repositor
39e0 79 2f 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 aa 16 00 00 68 be ac 5c aa 16 00 00 y/PearRepository.php....h..\....
3a00 29 9f 83 7d b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 )..}............src/Composer/Rep
3a20 6f 73 69 74 6f 72 79 2f 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 e5 1f ository/PlatformRepository.php..
3a40 00 00 68 be ac 5c e5 1f 00 00 bb 47 f7 e5 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f ..h..\.....G..........-...src/Co
3a60 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 mposer/Repository/RepositoryFact
3a80 6f 72 79 2e 70 68 70 60 12 00 00 68 be ac 5c 60 12 00 00 4b be 64 75 b6 01 00 00 00 00 00 00 2f ory.php`...h..\`...K.du......../
3aa0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 ...src/Composer/Repository/Repos
3ac0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 db 01 00 00 68 be ac 5c db 01 00 00 92 11 itoryInterface.php....h..\......
3ae0 e2 c1 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 ..........-...src/Composer/Repos
3b00 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2e 70 68 70 32 0a 00 00 68 itory/RepositoryManager.php2...h
3b20 be ac 5c 32 0a 00 00 e1 85 35 23 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\2.....5#........7...src/Compo
3b40 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 ser/Repository/RepositorySecurit
3b60 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6f 00 00 00 68 be ac 5c 6f 00 00 00 70 d5 ab aa b6 01 yException.phpo...h..\o...p.....
3b80 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ....../...src/Composer/Repositor
3ba0 79 2f 56 63 73 2f 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 f8 1f 00 00 68 be ac y/Vcs/BitbucketDriver.php....h..
3bc0 5c f8 1f 00 00 c6 6f a2 b1 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 \.....o..........,...src/Compose
3be0 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 46 6f 73 73 69 6c 44 72 69 76 65 72 2e 70 68 r/Repository/Vcs/FossilDriver.ph
3c00 70 a9 12 00 00 68 be ac 5c a9 12 00 00 74 31 da ae b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 p....h..\....t1..........2...src
3c20 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 42 69 74 62 /Composer/Repository/Vcs/GitBitb
3c40 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 ea 05 00 00 68 be ac 5c ea 05 00 00 c3 8e bb 14 b6 ucketDriver.php....h..\.........
3c60 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f .......)...src/Composer/Reposito
3c80 72 79 2f 56 63 73 2f 47 69 74 44 72 69 76 65 72 2e 70 68 70 bc 11 00 00 68 be ac 5c bc 11 00 00 ry/Vcs/GitDriver.php....h..\....
3ca0 8a a9 d0 ea b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 ............,...src/Composer/Rep
3cc0 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 48 75 62 44 72 69 76 65 72 2e 70 68 70 a1 28 00 00 ository/Vcs/GitHubDriver.php.(..
3ce0 68 be ac 5c a1 28 00 00 73 9b 53 3b b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 h..\.(..s.S;........,...src/Comp
3d00 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 4c 61 62 44 72 69 76 65 72 oser/Repository/Vcs/GitLabDriver
3d20 2e 70 68 70 cd 23 00 00 68 be ac 5c cd 23 00 00 df 4e ec ca b6 01 00 00 00 00 00 00 31 00 00 00 .php.#..h..\.#...N..........1...
3d40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 48 67 42 69 src/Composer/Repository/Vcs/HgBi
3d60 74 62 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 e4 05 00 00 68 be ac 5c e4 05 00 00 69 9b fc tbucketDriver.php....h..\....i..
3d80 e0 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 .........(...src/Composer/Reposi
3da0 74 6f 72 79 2f 56 63 73 2f 48 67 44 72 69 76 65 72 2e 70 68 70 5c 11 00 00 68 be ac 5c 5c 11 00 tory/Vcs/HgDriver.php\...h..\\..
3dc0 00 73 e0 d8 1e b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 .s...............src/Composer/Re
3de0 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 50 65 72 66 6f 72 63 65 44 72 69 76 65 72 2e 70 68 70 27 pository/Vcs/PerforceDriver.php'
3e00 09 00 00 68 be ac 5c 27 09 00 00 d9 f3 48 05 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 ...h..\'.....H.........)...src/C
3e20 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 53 76 6e 44 72 69 76 65 72 omposer/Repository/Vcs/SvnDriver
3e40 2e 70 68 70 a4 1c 00 00 68 be ac 5c a4 1c 00 00 1e 11 1f 0c b6 01 00 00 00 00 00 00 29 00 00 00 .php....h..\................)...
3e60 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 56 63 73 44 src/Composer/Repository/Vcs/VcsD
3e80 72 69 76 65 72 2e 70 68 70 e6 0a 00 00 68 be ac 5c e6 0a 00 00 65 d7 af 2d b6 01 00 00 00 00 00 river.php....h..\....e..-.......
3ea0 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 .2...src/Composer/Repository/Vcs
3ec0 2f 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f7 02 00 00 68 be ac 5c f7 /VcsDriverInterface.php....h..\.
3ee0 02 00 00 c7 58 5b 89 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....X[.........)...src/Composer/
3f00 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 8c 29 00 00 Repository/VcsRepository.php.)..
3f20 68 be ac 5c 8c 29 00 00 f2 9e 7c 39 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 h..\.)....|9........1...src/Comp
3f40 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 65 72 73 69 6f 6e 43 61 63 68 65 49 6e 74 65 oser/Repository/VersionCacheInte
3f60 72 66 61 63 65 2e 70 68 70 94 00 00 00 68 be ac 5c 94 00 00 00 41 3f 52 ef b6 01 00 00 00 00 00 rface.php....h..\....A?R........
3f80 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 .3...src/Composer/Repository/Wri
3fa0 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 0f 03 00 00 68 be ac 5c tableArrayRepository.php....h..\
3fc0 0f 03 00 00 be 47 17 2a b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....G.*........7...src/Composer
3fe0 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e /Repository/WritableRepositoryIn
4000 74 65 72 66 61 63 65 2e 70 68 70 89 01 00 00 68 be ac 5c 89 01 00 00 91 2f 73 ef b6 01 00 00 00 terface.php....h..\...../s......
4020 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 43 6f 6d 6d 61 ...$...src/Composer/Script/Comma
4040 6e 64 45 76 65 6e 74 2e 70 68 70 57 00 00 00 68 be ac 5c 57 00 00 00 a3 56 5a 74 b6 01 00 00 00 ndEvent.phpW...h..\W....VZt.....
4060 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 45 76 65 6e 74 .......src/Composer/Script/Event
4080 2e 70 68 70 b5 02 00 00 68 be ac 5c b5 02 00 00 6c 74 a6 4d b6 01 00 00 00 00 00 00 24 00 00 00 .php....h..\....lt.M........$...
40a0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 src/Composer/Script/PackageEvent
40c0 2e 70 68 70 9c 00 00 00 68 be ac 5c 9c 00 00 00 a7 ff c9 0d b6 01 00 00 00 00 00 00 24 00 00 00 .php....h..\................$...
40e0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 53 63 72 69 70 74 45 76 65 6e 74 73 src/Composer/Script/ScriptEvents
4100 2e 70 68 70 50 04 00 00 68 be ac 5c 50 04 00 00 87 8f 04 b6 b6 01 00 00 00 00 00 00 20 00 00 00 .phpP...h..\P...................
4120 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 2f 4b 65 79 73 2e 70 68 70 src/Composer/SelfUpdate/Keys.php
4140 9d 01 00 00 68 be ac 5c 9d 01 00 00 0b ee ca 4e b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f ....h..\.......N........$...src/
4160 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 2f 56 65 72 73 69 6f 6e 73 2e 70 68 70 Composer/SelfUpdate/Versions.php
4180 ec 05 00 00 68 be ac 5c ec 05 00 00 cd b5 91 83 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f ....h..\....................src/
41a0 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 41 75 74 68 48 65 6c 70 65 72 2e 70 68 70 cb 03 00 00 Composer/Util/AuthHelper.php....
41c0 68 be ac 5c cb 03 00 00 3e 7a 78 96 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 h..\....>zx.............src/Comp
41e0 6f 73 65 72 2f 55 74 69 6c 2f 42 69 74 62 75 63 6b 65 74 2e 70 68 70 2a 15 00 00 68 be ac 5c 2a oser/Util/Bitbucket.php*...h..\*
4200 15 00 00 2c 4c 9a 6b b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...,L.k........$...src/Composer/
4220 55 74 69 6c 2f 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 2e 70 68 70 b1 04 00 00 68 be ac 5c b1 Util/ComposerMirror.php....h..\.
4240 04 00 00 ad bd f8 d8 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...............%...src/Composer/
4260 55 74 69 6c 2f 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 2e 70 68 70 f7 13 00 00 68 be ac 5c Util/ConfigValidator.php....h..\
4280 f7 13 00 00 76 95 cd 04 b6 01 00 00 00 00 00 00 22 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....v..........."...src/Composer
42a0 2f 55 74 69 6c 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 ac 04 00 00 68 be ac 5c ac 04 /Util/ErrorHandler.php....h..\..
42c0 00 00 9a 5e 60 c6 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 ...^`.............src/Composer/U
42e0 74 69 6c 2f 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 4e 2f 00 00 68 be ac 5c 4e 2f 00 00 ef 08 til/Filesystem.phpN/..h..\N/....
4300 16 ac b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f ..............src/Composer/Util/
4320 47 69 74 2e 70 68 70 32 2b 00 00 68 be ac 5c 32 2b 00 00 7d 72 f0 a6 b6 01 00 00 00 00 00 00 1c Git.php2+..h..\2+..}r...........
4340 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 74 48 75 62 2e 70 68 70 7c ...src/Composer/Util/GitHub.php|
4360 0d 00 00 68 be ac 5c 7c 0d 00 00 60 30 74 fc b6 01 00 00 00 00 00 00 1c 00 00 00 73 72 63 2f 43 ...h..\|...`0t.............src/C
4380 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 74 4c 61 62 2e 70 68 70 9c 0c 00 00 68 be ac 5c 9c omposer/Util/GitLab.php....h..\.
43a0 0c 00 00 0d 60 59 d6 b6 01 00 00 00 00 00 00 18 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....`Y.............src/Composer/
43c0 55 74 69 6c 2f 48 67 2e 70 68 70 be 07 00 00 68 be ac 5c be 07 00 00 4c d3 0c 9d b6 01 00 00 00 Util/Hg.php....h..\....L........
43e0 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 49 6e 69 48 65 6c 70 .......src/Composer/Util/IniHelp
4400 65 72 2e 70 68 70 68 02 00 00 68 be ac 5c 68 02 00 00 3b 46 08 50 b6 01 00 00 00 00 00 00 24 00 er.phph...h..\h...;F.P........$.
4420 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 4e 6f 50 72 6f 78 79 50 61 74 74 65 ..src/Composer/Util/NoProxyPatte
4440 72 6e 2e 70 68 70 be 06 00 00 68 be ac 5c be 06 00 00 5a 2b b0 6d b6 01 00 00 00 00 00 00 1e 00 rn.php....h..\....Z+.m..........
4460 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 65 72 66 6f 72 63 65 2e 70 68 70 ..src/Composer/Util/Perforce.php
4480 c1 32 00 00 68 be ac 5c c1 32 00 00 f1 f7 01 8b b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f .2..h..\.2..................src/
44a0 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 6c 61 74 66 6f 72 6d 2e 70 68 70 fc 04 00 00 68 be Composer/Util/Platform.php....h.
44c0 ac 5c fc 04 00 00 73 ad 66 e7 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\....s.f.........%...src/Compos
44e0 65 72 2f 55 74 69 6c 2f 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2e 70 68 70 0b 0c 00 00 68 er/Util/ProcessExecutor.php....h
4500 be ac 5c 0b 0c 00 00 9b c9 ba 16 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..\................&...src/Compo
4520 73 65 72 2f 55 74 69 6c 2f 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 e7 6c 00 ser/Util/RemoteFilesystem.php.l.
4540 00 68 be ac 5c e7 6c 00 00 be 0c 1b e2 b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d .h..\.l..................src/Com
4560 70 6f 73 65 72 2f 55 74 69 6c 2f 53 69 6c 65 6e 63 65 72 2e 70 68 70 e9 02 00 00 68 be ac 5c e9 poser/Util/Silencer.php....h..\.
4580 02 00 00 93 56 6a 66 b6 01 00 00 00 00 00 00 21 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....Vjf........!...src/Composer/
45a0 55 74 69 6c 2f 53 70 64 78 4c 69 63 65 6e 73 65 2e 70 68 70 03 01 00 00 68 be ac 5c 03 01 00 00 Util/SpdxLicense.php....h..\....
45c0 be 37 0a f1 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 .7..........*...src/Composer/Uti
45e0 6c 2f 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2e 70 68 70 06 10 00 00 68 be l/StreamContextFactory.php....h.
4600 ac 5c 06 10 00 00 43 c9 85 f9 b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .\....C...............src/Compos
4620 65 72 2f 55 74 69 6c 2f 53 76 6e 2e 70 68 70 2c 14 00 00 68 be ac 5c 2c 14 00 00 cc 0d 9e c4 b6 er/Util/Svn.php,...h..\,........
4640 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 54 6c 73 ...........src/Composer/Util/Tls
4660 48 65 6c 70 65 72 2e 70 68 70 6e 0a 00 00 68 be ac 5c 6e 0a 00 00 53 af cd 3a b6 01 00 00 00 00 Helper.phpn...h..\n...S..:......
4680 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 55 72 6c 2e 70 68 70 a3 ......src/Composer/Util/Url.php.
46a0 07 00 00 68 be ac 5c a3 07 00 00 33 9c c9 dc b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 ...h..\....3...............src/C
46c0 6f 6d 70 6f 73 65 72 2f 58 64 65 62 75 67 48 61 6e 64 6c 65 72 2e 70 68 70 f0 01 00 00 68 be ac omposer/XdebugHandler.php....h..
46e0 5c f0 01 00 00 7a d3 66 7e b6 01 00 00 00 00 00 00 11 00 00 00 73 72 63 2f 62 6f 6f 74 73 74 72 \....z.f~............src/bootstr
4700 61 70 2e 70 68 70 b9 01 00 00 68 be ac 5c b9 01 00 00 15 49 7d 9c b6 01 00 00 00 00 00 00 25 00 ap.php....h..\.....I}.........%.
4720 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 6f 6c 6f 61 64 2f 43 6c 61 73 73 4c 6f 61 ..src/Composer/Autoload/ClassLoa
4740 64 65 72 2e 70 68 70 93 34 00 00 68 be ac 5c 93 34 00 00 b2 7a 8d 96 b6 01 00 00 00 00 00 00 23 der.php.4..h..\.4...z..........#
4760 00 00 00 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 6f 72 79 2d 73 63 68 65 6d ...res/composer-repository-schem
4780 61 2e 6a 73 6f 6e f0 0f 00 00 68 be ac 5c f0 0f 00 00 81 47 d0 e0 b6 01 00 00 00 00 00 00 18 00 a.json....h..\.....G............
47a0 00 00 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 85 96 00 00 68 be ..res/composer-schema.json....h.
47c0 ac 5c 85 96 00 00 0b ba 2c 98 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d .\......,.........6...vendor/com
47e0 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 72 65 73 2f 73 70 64 78 2d 65 78 63 poser/spdx-licenses/res/spdx-exc
4800 65 70 74 69 6f 6e 73 2e 6a 73 6f 6e 4a 09 00 00 68 be ac 5c 4a 09 00 00 f1 52 9d 19 b6 01 00 00 eptions.jsonJ...h..\J....R......
4820 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 ....4...vendor/composer/spdx-lic
4840 65 6e 73 65 73 2f 72 65 73 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2e 6a 73 6f 6e de 94 00 00 enses/res/spdx-licenses.json....
4860 68 be ac 5c de 94 00 00 59 8c 73 a4 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 h..\....Y.s.........4...vendor/s
4880 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 ymfony/console/Resources/bin/hid
48a0 64 65 6e 69 6e 70 75 74 2e 65 78 65 00 24 00 00 68 be ac 5c 00 24 00 00 95 8d a5 76 b6 01 00 00 deninput.exe.$..h..\.$.....v....
48c0 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 41 ....&...vendor/symfony/console/A
48e0 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 3d 58 00 00 68 be ac 5c 3d 58 00 00 8f 20 53 92 b6 01 pplication.php=X..h..\=X....S...
4900 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......*...vendor/symfony/console
4920 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 ee 22 00 00 68 be ac 5c ee 22 00 00 /Command/Command.php."..h..\."..
4940 78 b0 6a d5 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 x.j.............vendor/symfony/c
4960 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 48 65 6c 70 43 6f 6d 6d 61 6e 64 2e 70 68 70 d8 07 onsole/Command/HelpCommand.php..
4980 00 00 68 be ac 5c d8 07 00 00 a6 da 2d 3a b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 ..h..\......-:............vendor
49a0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 4c 69 73 74 43 6f 6d /symfony/console/Command/ListCom
49c0 6d 61 6e 64 2e 70 68 70 5a 08 00 00 68 be ac 5c 5a 08 00 00 bb 77 04 60 b6 01 00 00 00 00 00 00 mand.phpZ...h..\Z....w.`........
49e0 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6e 73 6f (...vendor/symfony/console/Conso
4a00 6c 65 45 76 65 6e 74 73 2e 70 68 70 e9 00 00 00 68 be ac 5c e9 00 00 00 52 db d4 65 b6 01 00 00 leEvents.php....h..\....R..e....
4a20 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 ....<...vendor/symfony/console/D
4a40 65 73 63 72 69 70 74 6f 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e escriptor/ApplicationDescription
4a60 2e 70 68 70 d0 08 00 00 68 be ac 5c d0 08 00 00 99 8e 35 b0 b6 01 00 00 00 00 00 00 30 00 00 00 .php....h..\......5.........0...
4a80 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f vendor/symfony/console/Descripto
4aa0 72 2f 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 8f 07 00 00 68 be ac 5c 8f 07 00 00 bf 4e 0f 95 r/Descriptor.php....h..\.....N..
4ac0 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f ........9...vendor/symfony/conso
4ae0 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 le/Descriptor/DescriptorInterfac
4b00 65 2e 70 68 70 fc 00 00 00 68 be ac 5c fc 00 00 00 b1 51 07 b5 b6 01 00 00 00 00 00 00 34 00 00 e.php....h..\.....Q..........4..
4b20 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 .vendor/symfony/console/Descript
4b40 6f 72 2f 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 dc 0d 00 00 68 be ac 5c dc 0d 00 or/JsonDescriptor.php....h..\...
4b60 00 2a fb 9d c9 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .*...........8...vendor/symfony/
4b80 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 console/Descriptor/MarkdownDescr
4ba0 69 70 74 6f 72 2e 70 68 70 b6 0e 00 00 68 be ac 5c b6 0e 00 00 b7 d4 3b dd b6 01 00 00 00 00 00 iptor.php....h..\......;........
4bc0 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 .4...vendor/symfony/console/Desc
4be0 72 69 70 74 6f 72 2f 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 bc 1e 00 00 68 be ac riptor/TextDescriptor.php....h..
4c00 5c bc 1e 00 00 f2 e7 06 24 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \.......$........3...vendor/symf
4c20 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 58 6d 6c 44 65 73 63 72 69 ony/console/Descriptor/XmlDescri
4c40 70 74 6f 72 2e 70 68 70 01 1c 00 00 68 be ac 5c 01 1c 00 00 7f 62 7b 3c b6 01 00 00 00 00 00 00 ptor.php....h..\.....b{<........
4c60 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 4...vendor/symfony/console/Event
4c80 2f 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 b0 01 00 00 68 be ac 5c /ConsoleCommandEvent.php....h..\
4ca0 b0 01 00 00 07 21 00 c8 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .....!..........-...vendor/symfo
4cc0 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 2e 70 68 ny/console/Event/ConsoleEvent.ph
4ce0 70 c5 02 00 00 68 be ac 5c c5 02 00 00 d2 78 db 5c b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e p....h..\.....x.\........6...ven
4d00 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c dor/symfony/console/Event/Consol
4d20 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 2e 70 68 70 12 03 00 00 68 be ac 5c 12 03 00 00 e1 eExceptionEvent.php....h..\.....
4d40 16 32 e9 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f .2.........6...vendor/symfony/co
4d60 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e nsole/Event/ConsoleTerminateEven
4d80 74 2e 70 68 70 7a 02 00 00 68 be ac 5c 7a 02 00 00 b3 2c ee 4c b6 01 00 00 00 00 00 00 3d 00 00 t.phpz...h..\z....,.L........=..
4da0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f .vendor/symfony/console/Exceptio
4dc0 6e 2f 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 d4 01 n/CommandNotFoundException.php..
4de0 00 00 68 be ac 5c d4 01 00 00 c8 f7 20 4c b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 ..h..\.......L........7...vendor
4e00 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 /symfony/console/Exception/Excep
4e20 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 66 00 00 00 68 be ac 5c 66 00 00 00 a1 41 42 tionInterface.phpf...h..\f....AB
4e40 aa b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 .........=...vendor/symfony/cons
4e60 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole/Exception/InvalidArgumentExc
4e80 65 70 74 69 6f 6e 2e 70 68 70 a6 00 00 00 68 be ac 5c a6 00 00 00 d6 cc bd 5a b6 01 00 00 00 00 eption.php....h..\.......Z......
4ea0 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 ..;...vendor/symfony/console/Exc
4ec0 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 eption/InvalidOptionException.ph
4ee0 70 a6 00 00 00 68 be ac 5c a6 00 00 00 13 cb d7 48 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e p....h..\.......H........3...ven
4f00 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f dor/symfony/console/Exception/Lo
4f20 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 92 00 00 00 68 be ac 5c 92 00 00 00 cd 4f 5c 65 gicException.php....h..\.....O\e
4f40 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f ........5...vendor/symfony/conso
4f60 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 le/Exception/RuntimeException.ph
4f80 70 96 00 00 00 68 be ac 5c 96 00 00 00 d9 ed 2c 36 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e p....h..\......,6........4...ven
4fa0 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 dor/symfony/console/Formatter/Ou
4fc0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 36 0e 00 00 68 be ac 5c 36 0e 00 00 3f 3d a8 tputFormatter.php6...h..\6...?=.
4fe0 04 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 .........=...vendor/symfony/cons
5000 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 ole/Formatter/OutputFormatterInt
5020 65 72 66 61 63 65 2e 70 68 70 8c 01 00 00 68 be ac 5c 8c 01 00 00 f2 f1 f1 c0 b6 01 00 00 00 00 erface.php....h..\..............
5040 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 ..9...vendor/symfony/console/For
5060 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 2e 70 68 70 46 matter/OutputFormatterStyle.phpF
5080 10 00 00 68 be ac 5c 46 10 00 00 1d f0 a6 b4 b6 01 00 00 00 00 00 00 42 00 00 00 76 65 6e 64 6f ...h..\F...............B...vendo
50a0 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 r/symfony/console/Formatter/Outp
50c0 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 84 01 00 utFormatterStyleInterface.php...
50e0 00 68 be ac 5c 84 01 00 00 f7 bd 10 47 b6 01 00 00 00 00 00 00 3e 00 00 00 76 65 6e 64 6f 72 2f .h..\.......G........>...vendor/
5100 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 symfony/console/Formatter/Output
5120 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 2e 70 68 70 40 05 00 00 68 be ac 5c 40 FormatterStyleStack.php@...h..\@
5140 05 00 00 47 a8 fd 55 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ...G..U........6...vendor/symfon
5160 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 y/console/Helper/DebugFormatterH
5180 65 6c 70 65 72 2e 70 68 70 79 08 00 00 68 be ac 5c 79 08 00 00 cc 38 c6 d0 b6 01 00 00 00 00 00 elper.phpy...h..\y....8.........
51a0 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 .2...vendor/symfony/console/Help
51c0 65 72 2f 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 2e 70 68 70 77 05 00 00 68 be ac 5c 77 er/DescriptorHelper.phpw...h..\w
51e0 05 00 00 7c a6 01 43 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ...|..C............vendor/symfon
5200 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 69 61 6c 6f 67 48 65 6c 70 65 72 2e 70 68 y/console/Helper/DialogHelper.ph
5220 70 03 1f 00 00 68 be ac 5c 03 1f 00 00 b9 dc c3 5f b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e p....h..\......._........1...ven
5240 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 46 6f 72 6d 61 dor/symfony/console/Helper/Forma
5260 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 64 04 00 00 68 be ac 5c 64 04 00 00 a7 d7 2c b8 b6 01 tterHelper.phpd...h..\d.....,...
5280 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......(...vendor/symfony/console
52a0 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 2e 70 68 70 ab 07 00 00 68 be ac 5c ab 07 00 00 21 90 /Helper/Helper.php....h..\....!.
52c0 a7 97 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ..........1...vendor/symfony/con
52e0 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e5 sole/Helper/HelperInterface.php.
5300 00 00 00 68 be ac 5c e5 00 00 00 1f 8a a0 18 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f ...h..\................+...vendo
5320 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 r/symfony/console/Helper/HelperS
5340 65 74 2e 70 68 70 ca 07 00 00 68 be ac 5c ca 07 00 00 e1 cf 57 22 b6 01 00 00 00 00 00 00 32 00 et.php....h..\......W"........2.
5360 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f ..vendor/symfony/console/Helper/
5380 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 2e 70 68 70 63 01 00 00 68 be ac 5c 63 01 00 00 InputAwareHelper.phpc...h..\c...
53a0 06 cc f8 83 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 ............/...vendor/symfony/c
53c0 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 63 65 73 73 48 65 6c 70 65 72 2e 70 68 70 d3 onsole/Helper/ProcessHelper.php.
53e0 09 00 00 68 be ac 5c d3 09 00 00 a9 77 82 52 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f ...h..\.....w.R........-...vendo
5400 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 r/symfony/console/Helper/Progres
5420 73 42 61 72 2e 70 68 70 6c 25 00 00 68 be ac 5c 6c 25 00 00 20 64 ed db b6 01 00 00 00 00 00 00 sBar.phpl%..h..\l%...d..........
5440 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 0...vendor/symfony/console/Helpe
5460 72 2f 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 2e 70 68 70 5d 1b 00 00 68 be ac 5c 5d 1b 00 00 r/ProgressHelper.php]...h..\]...
5480 f9 bb 89 58 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 ...X........3...vendor/symfony/c
54a0 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 2e onsole/Helper/ProgressIndicator.
54c0 70 68 70 4e 14 00 00 68 be ac 5c 4e 14 00 00 ff a7 b3 6c b6 01 00 00 00 00 00 00 30 00 00 00 76 phpN...h..\N......l........0...v
54e0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 51 75 65 endor/symfony/console/Helper/Que
5500 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 6c 1d 00 00 68 be ac 5c 6c 1d 00 00 4e 74 08 f3 b6 stionHelper.phpl...h..\l...Nt...
5520 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c .......7...vendor/symfony/consol
5540 65 2f 48 65 6c 70 65 72 2f 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 e/Helper/SymfonyQuestionHelper.p
5560 68 70 96 0a 00 00 68 be ac 5c 96 0a 00 00 2d 0c d8 1a b6 01 00 00 00 00 00 00 27 00 00 00 76 65 hp....h..\....-...........'...ve
5580 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c ndor/symfony/console/Helper/Tabl
55a0 65 2e 70 68 70 c4 2a 00 00 68 be ac 5c c4 2a 00 00 be 99 d8 54 b6 01 00 00 00 00 00 00 2b 00 00 e.php.*..h..\.*.....T........+..
55c0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 .vendor/symfony/console/Helper/T
55e0 61 62 6c 65 43 65 6c 6c 2e 70 68 70 81 03 00 00 68 be ac 5c 81 03 00 00 e5 16 56 5e b6 01 00 00 ableCell.php....h..\......V^....
5600 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 ....-...vendor/symfony/console/H
5620 65 6c 70 65 72 2f 54 61 62 6c 65 48 65 6c 70 65 72 2e 70 68 70 0e 0c 00 00 68 be ac 5c 0e 0c 00 elper/TableHelper.php....h..\...
5640 00 9b 75 f4 99 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..u..........0...vendor/symfony/
5660 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 2e 70 68 console/Helper/TableSeparator.ph
5680 70 ca 00 00 00 68 be ac 5c ca 00 00 00 61 7a 1f 1c b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e p....h..\....az..........,...ven
56a0 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 dor/symfony/console/Helper/Table
56c0 53 74 79 6c 65 2e 70 68 70 20 0a 00 00 68 be ac 5c 20 0a 00 00 5f cd 49 22 b6 01 00 00 00 00 00 Style.php....h..\...._.I".......
56e0 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 .*...vendor/symfony/console/Inpu
5700 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 0f 16 00 00 68 be ac 5c 0f 16 00 00 d7 f6 86 9b b6 t/ArgvInput.php....h..\.........
5720 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c .......+...vendor/symfony/consol
5740 65 2f 49 6e 70 75 74 2f 41 72 72 61 79 49 6e 70 75 74 2e 70 68 70 29 0b 00 00 68 be ac 5c 29 0b e/Input/ArrayInput.php)...h..\).
5760 00 00 a5 d1 06 43 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 .....C........&...vendor/symfony
5780 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 2e 70 68 70 a3 0b 00 00 68 be ac 5c /console/Input/Input.php....h..\
57a0 a3 0b 00 00 13 66 a1 3f b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .....f.?............vendor/symfo
57c0 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 2e 70 ny/console/Input/InputArgument.p
57e0 68 70 12 06 00 00 68 be ac 5c 12 06 00 00 44 0d a3 06 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 hp....h..\....D...........4...ve
5800 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 ndor/symfony/console/Input/Input
5820 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 98 00 00 00 68 be ac 5c 98 00 00 00 ad 0f AwareInterface.php....h..\......
5840 4f b0 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e O.........0...vendor/symfony/con
5860 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 2e 70 68 70 86 19 sole/Input/InputDefinition.php..
5880 00 00 68 be ac 5c 86 19 00 00 a4 55 29 a4 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 ..h..\.....U)........./...vendor
58a0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 49 6e 74 65 /symfony/console/Input/InputInte
58c0 72 66 61 63 65 2e 70 68 70 a3 03 00 00 68 be ac 5c a3 03 00 00 c6 42 8c 27 b6 01 00 00 00 00 00 rface.php....h..\.....B.'.......
58e0 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 .,...vendor/symfony/console/Inpu
5900 74 2f 49 6e 70 75 74 4f 70 74 69 6f 6e 2e 70 68 70 14 0c 00 00 68 be ac 5c 14 0c 00 00 5c a2 dc t/InputOption.php....h..\....\..
5920 3d b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 =........,...vendor/symfony/cons
5940 6f 6c 65 2f 49 6e 70 75 74 2f 53 74 72 69 6e 67 49 6e 70 75 74 2e 70 68 70 9a 06 00 00 68 be ac ole/Input/StringInput.php....h..
5960 5c 9a 06 00 00 9e b5 0d e8 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \....................vendor/symf
5980 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 49 43 45 4e 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 4e ony/console/LICENSE)...h..\)...N
59a0 55 4e bd b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f UN........./...vendor/symfony/co
59c0 6e 73 6f 6c 65 2f 4c 6f 67 67 65 72 2f 43 6f 6e 73 6f 6c 65 4c 6f 67 67 65 72 2e 70 68 70 30 09 nsole/Logger/ConsoleLogger.php0.
59e0 00 00 68 be ac 5c 30 09 00 00 85 8d 0d b8 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 ..h..\0...............0...vendor
5a00 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 42 75 66 66 65 72 65 64 /symfony/console/Output/Buffered
5a20 4f 75 74 70 75 74 2e 70 68 70 5f 01 00 00 68 be ac 5c 5f 01 00 00 8b a0 3e 50 b6 01 00 00 00 00 Output.php_...h..\_.....>P......
5a40 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 ../...vendor/symfony/console/Out
5a60 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 2e 70 68 70 b1 07 00 00 68 be ac 5c b1 07 00 put/ConsoleOutput.php....h..\...
5a80 00 6e ec 21 66 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .n.!f........8...vendor/symfony/
5aa0 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 console/Output/ConsoleOutputInte
5ac0 72 66 61 63 65 2e 70 68 70 e0 00 00 00 68 be ac 5c e0 00 00 00 87 86 c6 ca b6 01 00 00 00 00 00 rface.php....h..\...............
5ae0 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 .,...vendor/symfony/console/Outp
5b00 75 74 2f 4e 75 6c 6c 4f 75 74 70 75 74 2e 70 68 70 cf 03 00 00 68 be ac 5c cf 03 00 00 ae 98 8b ut/NullOutput.php....h..\.......
5b20 5a b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 Z........(...vendor/symfony/cons
5b40 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 2e 70 68 70 98 09 00 00 68 be ac 5c 98 09 00 ole/Output/Output.php....h..\...
5b60 00 30 70 04 08 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .0p..........1...vendor/symfony/
5b80 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 console/Output/OutputInterface.p
5ba0 68 70 17 03 00 00 68 be ac 5c 17 03 00 00 00 ec 06 26 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 hp....h..\.......&............ve
5bc0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 53 74 72 65 ndor/symfony/console/Output/Stre
5be0 61 6d 4f 75 74 70 75 74 2e 70 68 70 9d 06 00 00 68 be ac 5c 9d 06 00 00 c4 92 4f e7 b6 01 00 00 amOutput.php....h..\......O.....
5c00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 ....2...vendor/symfony/console/Q
5c20 75 65 73 74 69 6f 6e 2f 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 2e 70 68 70 78 0a 00 00 68 be uestion/ChoiceQuestion.phpx...h.
5c40 ac 5c 78 0a 00 00 57 16 80 21 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\x...W..!........8...vendor/sym
5c60 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 43 6f 6e 66 69 72 6d 61 74 69 fony/console/Question/Confirmati
5c80 6f 6e 51 75 65 73 74 69 6f 6e 2e 70 68 70 e8 02 00 00 68 be ac 5c e8 02 00 00 2f 1d d4 8f b6 01 onQuestion.php....h..\..../.....
5ca0 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......,...vendor/symfony/console
5cc0 2f 51 75 65 73 74 69 6f 6e 2f 51 75 65 73 74 69 6f 6e 2e 70 68 70 ce 09 00 00 68 be ac 5c ce 09 /Question/Question.php....h..\..
5ce0 00 00 6c 46 0f 10 b6 01 00 00 00 00 00 00 20 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..lF..............vendor/symfony
5d00 2f 63 6f 6e 73 6f 6c 65 2f 53 68 65 6c 6c 2e 70 68 70 e6 0f 00 00 68 be ac 5c e6 0f 00 00 bc 58 /console/Shell.php....h..\.....X
5d20 d2 41 b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e .A........,...vendor/symfony/con
5d40 73 6f 6c 65 2f 53 74 79 6c 65 2f 4f 75 74 70 75 74 53 74 79 6c 65 2e 70 68 70 5c 05 00 00 68 be sole/Style/OutputStyle.php\...h.
5d60 ac 5c 5c 05 00 00 77 d7 a4 04 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\\...w.........../...vendor/sym
5d80 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 53 74 79 6c 65 49 6e 74 65 72 66 61 63 fony/console/Style/StyleInterfac
5da0 65 2e 70 68 70 cf 03 00 00 68 be ac 5c cf 03 00 00 26 6e c5 d1 b6 01 00 00 00 00 00 00 2d 00 00 e.php....h..\....&n..........-..
5dc0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 53 79 .vendor/symfony/console/Style/Sy
5de0 6d 66 6f 6e 79 53 74 79 6c 65 2e 70 68 70 e4 1f 00 00 68 be ac 5c e4 1f 00 00 ad e5 20 28 b6 01 mfonyStyle.php....h..\.......(..
5e00 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......3...vendor/symfony/console
5e20 2f 54 65 73 74 65 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 2e 70 68 70 cf 05 00 /Tester/ApplicationTester.php...
5e40 00 68 be ac 5c cf 05 00 00 73 9e 39 69 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f .h..\....s.9i......../...vendor/
5e60 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f 43 6f 6d 6d 61 6e 64 54 65 symfony/console/Tester/CommandTe
5e80 73 74 65 72 2e 70 68 70 aa 06 00 00 68 be ac 5c aa 06 00 00 ac 4b 0c 7a b6 01 00 00 00 00 00 00 ster.php....h..\.....K.z........
5ea0 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 42 75 66 66 65 72 69 (...vendor/symfony/debug/Bufferi
5ec0 6e 67 4c 6f 67 67 65 72 2e 70 68 70 74 01 00 00 68 be ac 5c 74 01 00 00 3d 00 68 dc b6 01 00 00 ngLogger.phpt...h..\t...=.h.....
5ee0 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 ........vendor/symfony/debug/Deb
5f00 75 67 2e 70 68 70 2c 03 00 00 68 be ac 5c 2c 03 00 00 cb 7e 8e 2e b6 01 00 00 00 00 00 00 29 00 ug.php,...h..\,....~..........).
5f20 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 75 67 43 6c 61 73 ..vendor/symfony/debug/DebugClas
5f40 73 4c 6f 61 64 65 72 2e 70 68 70 b5 1d 00 00 68 be ac 5c b5 1d 00 00 31 72 45 d3 b6 01 00 00 00 sLoader.php....h..\....1rE......
5f60 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 72 72 6f ...%...vendor/symfony/debug/Erro
5f80 72 48 61 6e 64 6c 65 72 2e 70 68 70 1d 48 00 00 68 be ac 5c 1d 48 00 00 b9 3a 44 23 b6 01 00 00 rHandler.php.H..h..\.H...:D#....
5fa0 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 ....9...vendor/symfony/debug/Exc
5fc0 65 70 74 69 6f 6e 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 eption/ClassNotFoundException.ph
5fe0 70 96 01 00 00 68 be ac 5c 96 01 00 00 69 89 e6 f4 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e p....h..\....i...........8...ven
6000 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6e 74 dor/symfony/debug/Exception/Cont
6020 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 01 00 00 68 be ac 5c 98 01 00 extErrorException.php....h..\...
6040 00 2d 0a 64 32 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .-.d2........1...vendor/symfony/
6060 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 2e 70 debug/Exception/DummyException.p
6080 68 70 02 01 00 00 68 be ac 5c 02 01 00 00 ae 2b c3 ea b6 01 00 00 00 00 00 00 36 00 00 00 76 65 hp....h..\.....+..........6...ve
60a0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 ndor/symfony/debug/Exception/Fat
60c0 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0e 07 00 00 68 be ac 5c 0e 07 00 00 alErrorException.php....h..\....
60e0 1b 17 99 c4 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 ............6...vendor/symfony/d
6100 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 ebug/Exception/FatalThrowableErr
6120 6f 72 2e 70 68 70 57 02 00 00 68 be ac 5c 57 02 00 00 3f e0 e8 4b b6 01 00 00 00 00 00 00 33 00 or.phpW...h..\W...?..K........3.
6140 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e ..vendor/symfony/debug/Exception
6160 2f 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 bc 16 00 00 68 be ac 5c bc 16 00 /FlattenException.php....h..\...
6180 00 11 15 0c d7 b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .............7...vendor/symfony/
61a0 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 debug/Exception/OutOfMemoryExcep
61c0 74 69 6f 6e 2e 70 68 70 7e 00 00 00 68 be ac 5c 7e 00 00 00 eb a8 6f e2 b6 01 00 00 00 00 00 00 tion.php~...h..\~.....o.........
61e0 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 =...vendor/symfony/debug/Excepti
6200 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 on/UndefinedFunctionException.ph
6220 70 9a 01 00 00 68 be ac 5c 9a 01 00 00 81 f1 4a c0 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e p....h..\......J.........;...ven
6240 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 dor/symfony/debug/Exception/Unde
6260 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 01 00 00 68 be ac 5c finedMethodException.php....h..\
6280 98 01 00 00 6e f6 ea d8 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ....n...........)...vendor/symfo
62a0 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2e 70 68 70 29 33 00 ny/debug/ExceptionHandler.php)3.
62c0 00 68 be ac 5c 29 33 00 00 81 68 35 3d b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f .h..\)3...h5=........I...vendor/
62e0 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f symfony/debug/FatalErrorHandler/
6300 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 ClassNotFoundFatalErrorHandler.p
6320 68 70 41 12 00 00 68 be ac 5c 41 12 00 00 cf a4 b9 6c b6 01 00 00 00 00 00 00 45 00 00 00 76 65 hpA...h..\A......l........E...ve
6340 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e ndor/symfony/debug/FatalErrorHan
6360 64 6c 65 72 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 2e dler/FatalErrorHandlerInterface.
6380 70 68 70 03 01 00 00 68 be ac 5c 03 01 00 00 c4 b9 42 56 b6 01 00 00 00 00 00 00 4d 00 00 00 76 php....h..\......BV........M...v
63a0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 endor/symfony/debug/FatalErrorHa
63c0 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f ndler/UndefinedFunctionFatalErro
63e0 72 48 61 6e 64 6c 65 72 2e 70 68 70 78 08 00 00 68 be ac 5c 78 08 00 00 7e f2 22 7f b6 01 00 00 rHandler.phpx...h..\x...~.".....
6400 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 ....K...vendor/symfony/debug/Fat
6420 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 alErrorHandler/UndefinedMethodFa
6440 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 4f 05 00 00 68 be ac 5c 4f 05 00 00 8d talErrorHandler.phpO...h..\O....
6460 9e a6 2a b6 01 00 00 00 00 00 00 1c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 ..*............vendor/symfony/de
6480 62 75 67 2f 4c 49 43 45 4e 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 4e 55 4e bd b6 01 00 00 00 bug/LICENSE)...h..\)...NUN......
64a0 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d ...:...vendor/symfony/filesystem
64c0 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 /Exception/ExceptionInterface.ph
64e0 70 69 00 00 00 68 be ac 5c 69 00 00 00 24 20 ff 9b b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e pi...h..\i...$...........=...ven
6500 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e dor/symfony/filesystem/Exception
6520 2f 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 bc 01 00 00 68 be /FileNotFoundException.php....h.
6540 ac 5c bc 01 00 00 70 ed 5c b6 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\....p.\.........3...vendor/sym
6560 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 49 4f 45 78 63 65 fony/filesystem/Exception/IOExce
6580 70 74 69 6f 6e 2e 70 68 70 87 01 00 00 68 be ac 5c 87 01 00 00 80 fc 23 d1 b6 01 00 00 00 00 00 ption.php....h..\......#........
65a0 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 .<...vendor/symfony/filesystem/E
65c0 78 63 65 70 74 69 6f 6e 2f 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 xception/IOExceptionInterface.ph
65e0 70 a6 00 00 00 68 be ac 5c a6 00 00 00 6a d9 77 4d b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e p....h..\....j.wM........(...ven
6600 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 46 69 6c 65 73 79 73 74 65 dor/symfony/filesystem/Filesyste
6620 6d 2e 70 68 70 63 34 00 00 68 be ac 5c 63 34 00 00 8b d7 40 fe b6 01 00 00 00 00 00 00 21 00 00 m.phpc4..h..\c4....@.........!..
6640 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 4c 49 43 45 4e .vendor/symfony/filesystem/LICEN
6660 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 29 00 00 00 76 65 SE)...h..\)...NUN.........)...ve
6680 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 4c 6f 63 6b 48 61 6e 64 ndor/symfony/filesystem/LockHand
66a0 6c 65 72 2e 70 68 70 f6 05 00 00 68 be ac 5c f6 05 00 00 9f 5a b5 31 b6 01 00 00 00 00 00 00 31 ler.php....h..\.....Z.1........1
66c0 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 ...vendor/symfony/finder/Adapter
66e0 2f 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 2e 70 68 70 5c 0b 00 00 68 be ac 5c 5c 0b 00 00 /AbstractAdapter.php\...h..\\...
6700 68 19 88 42 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 h..B........5...vendor/symfony/f
6720 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 inder/Adapter/AbstractFindAdapte
6740 72 2e 70 68 70 8f 19 00 00 68 be ac 5c 8f 19 00 00 48 43 80 2f b6 01 00 00 00 00 00 00 32 00 00 r.php....h..\....HC./........2..
6760 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 .vendor/symfony/finder/Adapter/A
6780 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 9b 03 00 00 68 be ac 5c 9b 03 00 00 4d dapterInterface.php....h..\....M
67a0 07 fe 1b b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 ...........0...vendor/symfony/fi
67c0 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 33 nder/Adapter/BsdFindAdapter.php3
67e0 07 00 00 68 be ac 5c 33 07 00 00 37 35 24 b7 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f ...h..\3...75$.........0...vendo
6800 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 47 6e 75 46 69 6e 64 r/symfony/finder/Adapter/GnuFind
6820 41 64 61 70 74 65 72 2e 70 68 70 15 07 00 00 68 be ac 5c 15 07 00 00 9f 1c 60 5d b6 01 00 00 00 Adapter.php....h..\......`].....
6840 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 ...,...vendor/symfony/finder/Ada
6860 70 74 65 72 2f 50 68 70 41 64 61 70 74 65 72 2e 70 68 70 f4 07 00 00 68 be ac 5c f4 07 00 00 de pter/PhpAdapter.php....h..\.....
6880 64 e8 3b b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 d.;......../...vendor/symfony/fi
68a0 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 8d 03 nder/Comparator/Comparator.php..
68c0 00 00 68 be ac 5c 8d 03 00 00 be fc 9c b5 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 ..h..\................3...vendor
68e0 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 44 61 74 65 43 /symfony/finder/Comparator/DateC
6900 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 23 03 00 00 68 be ac 5c 23 03 00 00 16 b0 1f ce b6 01 00 omparator.php#...h..\#..........
6920 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 .....5...vendor/symfony/finder/C
6940 6f 6d 70 61 72 61 74 6f 72 2f 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 7c 03 omparator/NumberComparator.php|.
6960 00 00 68 be ac 5c 7c 03 00 00 49 54 c7 cd b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 ..h..\|...IT..........9...vendor
6980 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 41 63 63 65 73 73 /symfony/finder/Exception/Access
69a0 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 84 00 00 00 68 be ac 5c 84 00 00 00 bd DeniedException.php....h..\.....
69c0 be 73 9c b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 .s.........;...vendor/symfony/fi
69e0 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 nder/Exception/AdapterFailureExc
6a00 65 70 74 69 6f 6e 2e 70 68 70 ac 02 00 00 68 be ac 5c ac 02 00 00 77 1e 18 52 b6 01 00 00 00 00 eption.php....h..\....w..R......
6a20 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 ..6...vendor/symfony/finder/Exce
6a40 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 84 00 00 00 ption/ExceptionInterface.php....
6a60 68 be ac 5c 84 00 00 00 1c 47 7a 2d b6 01 00 00 00 00 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 73 h..\.....Gz-........A...vendor/s
6a80 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f ymfony/finder/Exception/Operatio
6aa0 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 29 01 00 00 68 be ac nNotPermitedException.php)...h..
6ac0 5c 29 01 00 00 78 1f a7 65 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \)...x..e........@...vendor/symf
6ae0 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 53 68 65 6c 6c 43 6f 6d 6d 61 6e ony/finder/Exception/ShellComman
6b00 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ba 02 00 00 68 be ac 5c ba 02 00 dFailureException.php....h..\...
6b20 00 98 fe 15 98 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ............./...vendor/symfony/
6b40 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 45 78 70 72 65 73 73 69 6f 6e 2e 70 68 70 finder/Expression/Expression.php
6b60 07 06 00 00 68 be ac 5c 07 06 00 00 69 a5 3a c5 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 ....h..\....i.:.........)...vend
6b80 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 47 6c 6f or/symfony/finder/Expression/Glo
6ba0 62 2e 70 68 70 66 04 00 00 68 be ac 5c 66 04 00 00 44 de 63 6a b6 01 00 00 00 00 00 00 2a 00 00 b.phpf...h..\f...D.cj........*..
6bc0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f .vendor/symfony/finder/Expressio
6be0 6e 2f 52 65 67 65 78 2e 70 68 70 04 0f 00 00 68 be ac 5c 04 0f 00 00 fc 28 c3 cf b6 01 00 00 00 n/Regex.php....h..\.....(.......
6c00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 ...3...vendor/symfony/finder/Exp
6c20 72 65 73 73 69 6f 6e 2f 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cd 01 00 00 68 be ression/ValueInterface.php....h.
6c40 ac 5c cd 01 00 00 5c 70 34 86 b6 01 00 00 00 00 00 00 20 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\....\p4.............vendor/sym
6c60 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 46 69 6e 64 65 72 2e 70 68 70 63 2e 00 00 68 be ac 5c 63 2e fony/finder/Finder.phpc...h..\c.
6c80 00 00 3a 88 35 67 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..:.5g............vendor/symfony
6ca0 2f 66 69 6e 64 65 72 2f 47 6c 6f 62 2e 70 68 70 4c 05 00 00 68 be ac 5c 4c 05 00 00 6a cd 39 d7 /finder/Glob.phpL...h..\L...j.9.
6cc0 b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 ........7...vendor/symfony/finde
6ce0 72 2f 49 74 65 72 61 74 6f 72 2f 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e r/Iterator/CustomFilterIterator.
6d00 70 68 70 5d 02 00 00 68 be ac 5c 5d 02 00 00 ce 6f c5 c6 b6 01 00 00 00 00 00 00 3a 00 00 00 76 php]...h..\]....o..........:...v
6d20 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 61 endor/symfony/finder/Iterator/Da
6d40 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 78 02 00 00 68 be ac teRangeFilterIterator.phpx...h..
6d60 5c 78 02 00 00 0f f4 03 50 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \x......P........;...vendor/symf
6d80 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 65 70 74 68 52 61 6e 67 65 46 69 ony/finder/Iterator/DepthRangeFi
6da0 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 ee 01 00 00 68 be ac 5c ee 01 00 00 fc cd 9d 71 lterIterator.php....h..\.......q
6dc0 b6 01 00 00 00 00 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 ........A...vendor/symfony/finde
6de0 72 2f 49 74 65 72 61 74 6f 72 2f 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 r/Iterator/ExcludeDirectoryFilte
6e00 72 49 74 65 72 61 74 6f 72 2e 70 68 70 ed 05 00 00 68 be ac 5c ed 05 00 00 6e 05 f5 48 b6 01 00 rIterator.php....h..\....n..H...
6e20 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 .....4...vendor/symfony/finder/I
6e40 74 65 72 61 74 6f 72 2f 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 2e 70 68 70 23 06 00 terator/FilePathsIterator.php#..
6e60 00 68 be ac 5c 23 06 00 00 47 3f 54 bd b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f .h..\#...G?T.........9...vendor/
6e80 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 54 79 70 65 symfony/finder/Iterator/FileType
6ea0 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 5a 02 00 00 68 be ac 5c 5a 02 00 00 28 1a FilterIterator.phpZ...h..\Z...(.
6ec0 26 f8 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e &.........<...vendor/symfony/fin
6ee0 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 der/Iterator/FilecontentFilterIt
6f00 65 72 61 74 6f 72 2e 70 68 70 35 02 00 00 68 be ac 5c 35 02 00 00 9a ed 1f 14 b6 01 00 00 00 00 erator.php5...h..\5.............
6f20 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 ..9...vendor/symfony/finder/Iter
6f40 61 74 6f 72 2f 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 72 ator/FilenameFilterIterator.phpr
6f60 01 00 00 68 be ac 5c 72 01 00 00 74 08 1a 75 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f ...h..\r...t..u........1...vendo
6f80 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 74 65 72 r/symfony/finder/Iterator/Filter
6fa0 49 74 65 72 61 74 6f 72 2e 70 68 70 c3 02 00 00 68 be ac 5c c3 02 00 00 9a 2b b5 de b6 01 00 00 Iterator.php....h..\.....+......
6fc0 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 ....=...vendor/symfony/finder/It
6fe0 65 72 61 74 6f 72 2f 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f erator/MultiplePcreFilterIterato
7000 72 2e 70 68 70 2d 05 00 00 68 be ac 5c 2d 05 00 00 ba ce d2 5f b6 01 00 00 00 00 00 00 35 00 00 r.php-...h..\-......_........5..
7020 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f .vendor/symfony/finder/Iterator/
7040 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 d0 01 00 00 68 be ac 5c d0 01 PathFilterIterator.php....h..\..
7060 00 00 12 82 08 63 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 .....c........=...vendor/symfony
7080 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 /finder/Iterator/RecursiveDirect
70a0 6f 72 79 49 74 65 72 61 74 6f 72 2e 70 68 70 15 09 00 00 68 be ac 5c 15 09 00 00 eb 5d ed bb b6 oryIterator.php....h..\.....]...
70c0 01 00 00 00 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 .......:...vendor/symfony/finder
70e0 2f 49 74 65 72 61 74 6f 72 2f 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f /Iterator/SizeRangeFilterIterato
7100 72 2e 70 68 70 65 02 00 00 68 be ac 5c 65 02 00 00 9f 92 e1 e9 b6 01 00 00 00 00 00 00 33 00 00 r.phpe...h..\e...............3..
7120 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f .vendor/symfony/finder/Iterator/
7140 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 2e 70 68 70 2b 06 00 00 68 be ac 5c 2b 06 00 00 SortableIterator.php+...h..\+...
7160 f5 dd cb 20 b6 01 00 00 00 00 00 00 1d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 ................vendor/symfony/f
7180 69 6e 64 65 72 2f 4c 49 43 45 4e 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 4e 55 4e bd b6 01 00 inder/LICENSE)...h..\)...NUN....
71a0 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 .....'...vendor/symfony/finder/S
71c0 68 65 6c 6c 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 3e 0b 00 00 68 be ac 5c 3e 0b 00 00 5f 7e 75 0c hell/Command.php>...h..\>..._~u.
71e0 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 ........%...vendor/symfony/finde
7200 72 2f 53 68 65 6c 6c 2f 53 68 65 6c 6c 2e 70 68 70 72 04 00 00 68 be ac 5c 72 04 00 00 fe 1d 70 r/Shell/Shell.phpr...h..\r.....p
7220 4e b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 N........%...vendor/symfony/find
7240 65 72 2f 53 70 6c 46 69 6c 65 49 6e 66 6f 2e 70 68 70 06 03 00 00 68 be ac 5c 06 03 00 00 fe 00 er/SplFileInfo.php....h..\......
7260 ed f9 b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c ..........'...vendor/symfony/pol
7280 79 66 69 6c 6c 2d 63 74 79 70 65 2f 43 74 79 70 65 2e 70 68 70 48 09 00 00 68 be ac 5c 48 09 00 yfill-ctype/Ctype.phpH...h..\H..
72a0 00 b3 9d d5 dd b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .............%...vendor/symfony/
72c0 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 4c 49 43 45 4e 53 45 24 04 00 00 68 be ac 5c 24 04 polyfill-ctype/LICENSE$...h..\$.
72e0 00 00 3f 87 73 3a b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..?.s:........+...vendor/symfony
7300 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 49 03 00 /polyfill-ctype/bootstrap.phpI..
7320 00 68 be ac 5c 49 03 00 00 8f 44 21 65 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f .h..\I....D!e........(...vendor/
7340 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4c 49 43 45 4e 53 symfony/polyfill-mbstring/LICENS
7360 45 29 04 00 00 68 be ac 5c 29 04 00 00 b1 03 ed d0 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e E)...h..\)...............-...ven
7380 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4d 62 dor/symfony/polyfill-mbstring/Mb
73a0 73 74 72 69 6e 67 2e 70 68 70 1e 43 00 00 68 be ac 5c 1e 43 00 00 0e e3 5a 3f b6 01 00 00 00 00 string.php.C..h..\.C....Z?......
73c0 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 ..@...vendor/symfony/polyfill-mb
73e0 73 74 72 69 6e 67 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 6c 6f 77 65 72 43 61 string/Resources/unidata/lowerCa
7400 73 65 2e 70 68 70 f7 40 00 00 68 be ac 5c f7 40 00 00 f5 10 9e d8 b6 01 00 00 00 00 00 00 46 00 se.php.@..h..\.@..............F.
7420 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 ..vendor/symfony/polyfill-mbstri
7440 6e 67 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 74 69 74 6c 65 43 61 73 65 52 65 ng/Resources/unidata/titleCaseRe
7460 67 65 78 70 2e 70 68 70 e3 17 00 00 68 be ac 5c e3 17 00 00 f6 79 5f 95 b6 01 00 00 00 00 00 00 gexp.php....h..\.....y_.........
7480 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 @...vendor/symfony/polyfill-mbst
74a0 72 69 6e 67 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 75 70 70 65 72 43 61 73 65 ring/Resources/unidata/upperCase
74c0 2e 70 68 70 66 41 00 00 68 be ac 5c 66 41 00 00 da 66 94 df b6 01 00 00 00 00 00 00 2e 00 00 00 .phpfA..h..\fA...f..............
74e0 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 vendor/symfony/polyfill-mbstring
7500 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 cb 10 00 00 68 be ac 5c cb 10 00 00 f3 3c cb a2 b6 01 /bootstrap.php....h..\.....<....
7520 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 ......7...vendor/symfony/process
7540 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 /Exception/ExceptionInterface.ph
7560 70 66 00 00 00 68 be ac 5c 66 00 00 00 5d f6 3e 54 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e pf...h..\f...].>T........=...ven
7580 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e dor/symfony/process/Exception/In
75a0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a8 00 00 00 68 be validArgumentException.php....h.
75c0 ac 5c a8 00 00 00 d0 c0 2b 5f b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\......+_........3...vendor/sym
75e0 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 fony/process/Exception/LogicExce
7600 70 74 69 6f 6e 2e 70 68 70 94 00 00 00 68 be ac 5c 94 00 00 00 20 b3 e3 f1 b6 01 00 00 00 00 00 ption.php....h..\...............
7620 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 .;...vendor/symfony/process/Exce
7640 70 74 69 6f 6e 2f 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ption/ProcessFailedException.php
7660 78 03 00 00 68 be ac 5c 78 03 00 00 a8 cc 7a 79 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 x...h..\x.....zy........=...vend
7680 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 50 72 6f or/symfony/process/Exception/Pro
76a0 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 1f 04 00 00 68 be ac cessTimedOutException.php....h..
76c0 5c 1f 04 00 00 7f ef 0e ab b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \................5...vendor/symf
76e0 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 ony/process/Exception/RuntimeExc
7700 65 70 74 69 6f 6e 2e 70 68 70 98 00 00 00 68 be ac 5c 98 00 00 00 a2 1b d8 3a b6 01 00 00 00 00 eption.php....h..\.......:......
7720 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 65 ..+...vendor/symfony/process/Exe
7740 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 9d 04 00 00 68 be ac 5c 9d 04 00 00 fb 75 73 cutableFinder.php....h..\.....us
7760 80 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 .............vendor/symfony/proc
7780 65 73 73 2f 4c 49 43 45 4e 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 4e 55 4e bd b6 01 00 00 00 ess/LICENSE)...h..\)...NUN......
77a0 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 68 .......vendor/symfony/process/Ph
77c0 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 cf 04 00 00 68 be ac 5c cf 04 00 pExecutableFinder.php....h..\...
77e0 00 ce 25 68 1c b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..%h.........%...vendor/symfony/
7800 70 72 6f 63 65 73 73 2f 50 68 70 50 72 6f 63 65 73 73 2e 70 68 70 fc 03 00 00 68 be ac 5c fc 03 process/PhpProcess.php....h..\..
7820 00 00 87 6a fb fc b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ...j..............vendor/symfony
7840 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 41 62 73 74 72 61 63 74 50 69 70 65 73 2e 70 68 70 /process/Pipes/AbstractPipes.php
7860 bd 07 00 00 68 be ac 5c bd 07 00 00 e6 18 86 01 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 ....h..\................/...vend
7880 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 50 69 70 65 73 49 6e or/symfony/process/Pipes/PipesIn
78a0 74 65 72 66 61 63 65 2e 70 68 70 44 01 00 00 68 be ac 5c 44 01 00 00 76 d8 ee a1 b6 01 00 00 00 terface.phpD...h..\D...v........
78c0 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 ...*...vendor/symfony/process/Pi
78e0 70 65 73 2f 55 6e 69 78 50 69 70 65 73 2e 70 68 70 3e 08 00 00 68 be ac 5c 3e 08 00 00 aa 95 69 pes/UnixPipes.php>...h..\>.....i
7900 72 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 r........-...vendor/symfony/proc
7920 65 73 73 2f 50 69 70 65 73 2f 57 69 6e 64 6f 77 73 50 69 70 65 73 2e 70 68 70 70 0c 00 00 68 be ess/Pipes/WindowsPipes.phpp...h.
7940 ac 5c 70 0c 00 00 e2 55 7e c9 b6 01 00 00 00 00 00 00 22 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\p....U~........."...vendor/sym
7960 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 2e 70 68 70 b7 52 00 00 68 be ac 5c fony/process/Process.php.R..h..\
7980 b7 52 00 00 8a 18 60 d5 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .R....`.........)...vendor/symfo
79a0 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 2e 70 68 70 e2 0a 00 ny/process/ProcessBuilder.php...
79c0 00 68 be ac 5c e2 0a 00 00 86 1e 4d b6 b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f .h..\......M.........'...vendor/
79e0 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 55 74 69 6c 73 2e 70 68 70 symfony/process/ProcessUtils.php
7a00 51 06 00 00 68 be ac 5c 51 06 00 00 62 2d 24 6d b6 01 00 00 00 00 00 00 1c 00 00 00 76 65 6e 64 Q...h..\Q...b-$m............vend
7a20 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 4c 49 43 45 4e 53 45 22 04 00 00 68 be ac 5c or/seld/jsonlint/LICENSE"...h..\
7a40 22 04 00 00 61 83 73 79 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f "...a.sy........@...vendor/seld/
7a60 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 44 75 70 6c 69 jsonlint/src/Seld/JsonLint/Dupli
7a80 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 2a 01 00 00 68 be ac 5c 2a 01 00 00 cateKeyException.php*...h..\*...
7aa0 19 95 70 f1 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e ..p.........5...vendor/seld/json
7ac0 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 4a 73 6f 6e 50 61 72 73 65 lint/src/Seld/JsonLint/JsonParse
7ae0 72 2e 70 68 70 2f 32 00 00 68 be ac 5c 2f 32 00 00 ad df 98 f6 b6 01 00 00 00 00 00 00 30 00 00 r.php/2..h..\/2..............0..
7b00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a .vendor/seld/jsonlint/src/Seld/J
7b20 73 6f 6e 4c 69 6e 74 2f 4c 65 78 65 72 2e 70 68 70 06 0f 00 00 68 be ac 5c 06 0f 00 00 25 ff 33 sonLint/Lexer.php....h..\....%.3
7b40 4e b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e N........;...vendor/seld/jsonlin
7b60 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 50 61 72 73 69 6e 67 45 78 63 65 70 t/src/Seld/JsonLint/ParsingExcep
7b80 74 69 6f 6e 2e 70 68 70 1e 01 00 00 68 be ac 5c 1e 01 00 00 89 b2 10 f1 b6 01 00 00 00 00 00 00 tion.php....h..\................
7ba0 34 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 4...vendor/seld/jsonlint/src/Sel
7bc0 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 55 6e 64 65 66 69 6e 65 64 2e 70 68 70 3e 00 00 00 68 be ac 5c d/JsonLint/Undefined.php>...h..\
7be0 3e 00 00 00 ff 71 9f 9f b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 >....q..........(...vendor/justi
7c00 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 4c 49 43 45 4e 53 45 20 04 00 00 nrainbow/json-schema/LICENSE....
7c20 68 be ac 5c 20 04 00 00 ba e7 06 a9 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 6a h..\....................vendor/j
7c40 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 64 65 6d 6f 2f 64 65 ustinrainbow/json-schema/demo/de
7c60 6d 6f 2e 70 68 70 f1 01 00 00 68 be ac 5c f1 01 00 00 66 1b 12 43 b6 01 00 00 00 00 00 00 4e 00 mo.php....h..\....f..C........N.
7c80 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
7ca0 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 42 61 ma/src/JsonSchema/Constraints/Ba
7cc0 73 65 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 a1 09 00 00 68 be ac 5c a1 09 00 00 86 77 cc 6c seConstraint.php....h..\.....w.l
7ce0 b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 ........T...vendor/justinrainbow
7d00 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 /json-schema/src/JsonSchema/Cons
7d20 74 72 61 69 6e 74 73 2f 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 traints/CollectionConstraint.php
7d40 29 0d 00 00 68 be ac 5c 29 0d 00 00 23 a9 14 14 b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 )...h..\)...#...........J...vend
7d60 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 or/justinrainbow/json-schema/src
7d80 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6e 73 74 72 61 69 /JsonSchema/Constraints/Constrai
7da0 6e 74 2e 70 68 70 a7 0d 00 00 68 be ac 5c a7 0d 00 00 9b 56 d8 18 b6 01 00 00 00 00 00 00 53 00 nt.php....h..\.....V..........S.
7dc0 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
7de0 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f ma/src/JsonSchema/Constraints/Co
7e00 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 bc 01 00 00 68 be ac 5c bc 01 00 nstraintInterface.php....h..\...
7e20 00 ff 20 51 9c b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 ...Q.........N...vendor/justinra
7e40 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 inbow/json-schema/src/JsonSchema
7e60 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 5d /Constraints/EnumConstraint.php]
7e80 03 00 00 68 be ac 5c 5d 03 00 00 56 8e 55 3c b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f ...h..\]...V.U<........G...vendo
7ea0 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
7ec0 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 46 61 63 74 6f 72 79 2e 70 JsonSchema/Constraints/Factory.p
7ee0 68 70 e3 0c 00 00 68 be ac 5c e3 0c 00 00 e1 30 3b 16 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 hp....h..\.....0;.........P...ve
7f00 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 ndor/justinrainbow/json-schema/s
7f20 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 46 6f 72 6d 61 74 rc/JsonSchema/Constraints/Format
7f40 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 85 14 00 00 68 be ac 5c 85 14 00 00 93 54 9c da b6 01 Constraint.php....h..\.....T....
7f60 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a ......P...vendor/justinrainbow/j
7f80 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 son-schema/src/JsonSchema/Constr
7fa0 61 69 6e 74 73 2f 4e 75 6d 62 65 72 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 9a 0a 00 00 68 be aints/NumberConstraint.php....h.
7fc0 ac 5c 9a 0a 00 00 15 1e 7a 26 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .\......z&........P...vendor/jus
7fe0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
8000 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 4f 62 6a 65 63 74 43 6f 6e 73 74 72 61 69 chema/Constraints/ObjectConstrai
8020 6e 74 2e 70 68 70 c3 11 00 00 68 be ac 5c c3 11 00 00 a9 c5 bc 78 b6 01 00 00 00 00 00 00 50 00 nt.php....h..\.......x........P.
8040 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8060 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 53 63 ma/src/JsonSchema/Constraints/Sc
8080 68 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 30 09 00 00 68 be ac 5c 30 09 00 00 d7 6a hemaConstraint.php0...h..\0....j
80a0 b4 98 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 ..........P...vendor/justinrainb
80c0 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f ow/json-schema/src/JsonSchema/Co
80e0 6e 73 74 72 61 69 6e 74 73 2f 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 7f 04 nstraints/StringConstraint.php..
8100 00 00 68 be ac 5c 7f 04 00 00 a5 77 9a 87 b6 01 00 00 00 00 00 00 58 00 00 00 76 65 6e 64 6f 72 ..h..\.....w..........X...vendor
8120 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a /justinrainbow/json-schema/src/J
8140 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f sonSchema/Constraints/TypeCheck/
8160 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 2e 70 68 70 61 04 00 00 68 be ac 5c 61 04 00 00 0b 09 LooseTypeCheck.phpa...h..\a.....
8180 71 c3 b6 01 00 00 00 00 00 00 59 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 q.........Y...vendor/justinrainb
81a0 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f ow/json-schema/src/JsonSchema/Co
81c0 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f 53 74 72 69 63 74 54 79 70 65 43 68 nstraints/TypeCheck/StrictTypeCh
81e0 65 63 6b 2e 70 68 70 70 02 00 00 68 be ac 5c 70 02 00 00 12 72 1f eb b6 01 00 00 00 00 00 00 5c eck.phpp...h..\p....r..........\
8200 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 ...vendor/justinrainbow/json-sch
8220 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 ema/src/JsonSchema/Constraints/T
8240 79 70 65 43 68 65 63 6b 2f 54 79 70 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 2e 70 68 70 89 ypeCheck/TypeCheckInterface.php.
8260 01 00 00 68 be ac 5c 89 01 00 00 93 b5 2b 6a b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f ...h..\......+j........N...vendo
8280 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
82a0 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 6f 6e 73 74 JsonSchema/Constraints/TypeConst
82c0 72 61 69 6e 74 2e 70 68 70 26 0f 00 00 68 be ac 5c 26 0f 00 00 34 98 a9 54 b6 01 00 00 00 00 00 raint.php&...h..\&...4..T.......
82e0 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 .S...vendor/justinrainbow/json-s
8300 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 chema/src/JsonSchema/Constraints
8320 2f 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 2c 22 00 00 68 be ac 5c /UndefinedConstraint.php,"..h..\
8340 2c 22 00 00 75 6c d9 b7 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 ,"..ul..........F...vendor/justi
8360 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
8380 65 6d 61 2f 45 6e 74 69 74 79 2f 4a 73 6f 6e 50 6f 69 6e 74 65 72 2e 70 68 70 e8 06 00 00 68 be ema/Entity/JsonPointer.php....h.
83a0 ac 5c e8 06 00 00 06 7b 4e 96 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .\.....{N.........P...vendor/jus
83c0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
83e0 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 chema/Exception/ExceptionInterfa
8400 63 65 2e 70 68 70 49 00 00 00 68 be ac 5c 49 00 00 00 25 7c 19 b0 b6 01 00 00 00 00 00 00 56 00 ce.phpI...h..\I...%|..........V.
8420 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8440 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 ma/src/JsonSchema/Exception/Inva
8460 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 95 00 00 00 68 be ac 5c lidArgumentException.php....h..\
8480 95 00 00 00 8b e0 47 05 b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 ......G.........T...vendor/justi
84a0 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
84c0 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 43 6f 6e 66 69 67 45 78 63 65 70 ema/Exception/InvalidConfigExcep
84e0 74 69 6f 6e 2e 70 68 70 6c 00 00 00 68 be ac 5c 6c 00 00 00 41 21 4c d7 b6 01 00 00 00 00 00 00 tion.phpl...h..\l...A!L.........
8500 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 T...vendor/justinrainbow/json-sc
8520 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e hema/src/JsonSchema/Exception/In
8540 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6c 00 00 00 68 be ac 5c validSchemaException.phpl...h..\
8560 6c 00 00 00 e8 32 f7 fe b6 01 00 00 00 00 00 00 5d 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 l....2..........]...vendor/justi
8580 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
85a0 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 ema/Exception/InvalidSchemaMedia
85c0 54 79 70 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 75 00 00 00 68 be ac 5c 75 00 00 00 3d 68 e7 TypeException.phpu...h..\u...=h.
85e0 07 b6 01 00 00 00 00 00 00 57 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f .........W...vendor/justinrainbo
8600 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 w/json-schema/src/JsonSchema/Exc
8620 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 6f 75 72 63 65 55 72 69 45 78 63 65 70 74 69 6f 6e eption/InvalidSourceUriException
8640 2e 70 68 70 77 00 00 00 68 be ac 5c 77 00 00 00 4e 2d f2 5b b6 01 00 00 00 00 00 00 53 00 00 00 .phpw...h..\w...N-.[........S...
8660 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 vendor/justinrainbow/json-schema
8680 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 4a 73 6f 6e 44 65 /src/JsonSchema/Exception/JsonDe
86a0 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 de 02 00 00 68 be ac 5c de 02 00 00 5c codingException.php....h..\....\
86c0 b8 0d 0a b6 01 00 00 00 00 00 00 57 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e ...........W...vendor/justinrain
86e0 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 bow/json-schema/src/JsonSchema/E
8700 78 63 65 70 74 69 6f 6e 2f 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 xception/ResourceNotFoundExcepti
8720 6f 6e 2e 70 68 70 6f 00 00 00 68 be ac 5c 6f 00 00 00 70 ed db f9 b6 01 00 00 00 00 00 00 4e 00 on.phpo...h..\o...p...........N.
8740 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8760 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 ma/src/JsonSchema/Exception/Runt
8780 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 85 00 00 00 68 be ac 5c 85 00 00 00 08 25 85 97 imeException.php....h..\.....%..
87a0 b6 01 00 00 00 00 00 00 5e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 ........^...vendor/justinrainbow
87c0 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 /json-schema/src/JsonSchema/Exce
87e0 70 74 69 6f 6e 2f 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 ption/UnresolvableJsonPointerExc
8800 65 70 74 69 6f 6e 2e 70 68 70 80 00 00 00 68 be ac 5c 80 00 00 00 75 2d 23 31 b6 01 00 00 00 00 eption.php....h..\....u-#1......
8820 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d ..R...vendor/justinrainbow/json-
8840 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f schema/src/JsonSchema/Exception/
8860 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6a 00 00 00 68 be ac 5c UriResolverException.phpj...h..\
8880 6a 00 00 00 e5 1a 3e 8f b6 01 00 00 00 00 00 00 51 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 j.....>.........Q...vendor/justi
88a0 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
88c0 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f ema/Exception/ValidationExceptio
88e0 6e 2e 70 68 70 66 00 00 00 68 be ac 5c 66 00 00 00 ac a4 84 fe b6 01 00 00 00 00 00 00 4b 00 00 n.phpf...h..\f...............K..
8900 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d .vendor/justinrainbow/json-schem
8920 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 49 74 65 72 61 74 6f 72 2f 4f 62 6a 65 63 74 a/src/JsonSchema/Iterator/Object
8940 49 74 65 72 61 74 6f 72 2e 70 68 70 fe 05 00 00 68 be ac 5c fe 05 00 00 4d 8f 84 f5 b6 01 00 00 Iterator.php....h..\....M.......
8960 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....;...vendor/justinrainbow/jso
8980 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 52 66 63 33 33 33 39 2e n-schema/src/JsonSchema/Rfc3339.
89a0 70 68 70 a0 02 00 00 68 be ac 5c a0 02 00 00 66 34 f7 b3 b6 01 00 00 00 00 00 00 41 00 00 00 76 php....h..\....f4..........A...v
89c0 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f endor/justinrainbow/json-schema/
89e0 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 53 63 68 65 6d 61 53 74 6f 72 61 67 65 2e 70 68 70 src/JsonSchema/SchemaStorage.php
8a00 9c 0d 00 00 68 be ac 5c 9c 0d 00 00 02 e5 66 4f b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 ....h..\......fO........J...vend
8a20 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 or/justinrainbow/json-schema/src
8a40 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 /JsonSchema/SchemaStorageInterfa
8a60 63 65 2e 70 68 70 01 01 00 00 68 be ac 5c 01 01 00 00 6f 8a 2b 7d b6 01 00 00 00 00 00 00 54 00 ce.php....h..\....o.+}........T.
8a80 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8aa0 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 ma/src/JsonSchema/Uri/Retrievers
8ac0 2f 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 2e 70 68 70 e1 00 00 00 68 be ac 5c e1 00 /AbstractRetriever.php....h..\..
8ae0 00 00 5b fe 41 81 b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 ..[.A.........G...vendor/justinr
8b00 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d ainbow/json-schema/src/JsonSchem
8b20 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 43 75 72 6c 2e 70 68 70 a5 04 00 00 68 be ac a/Uri/Retrievers/Curl.php....h..
8b40 5c a5 04 00 00 d4 a7 4c 62 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 \......Lb........R...vendor/just
8b60 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 inrainbow/json-schema/src/JsonSc
8b80 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 46 69 6c 65 47 65 74 43 6f 6e 74 65 hema/Uri/Retrievers/FileGetConte
8ba0 6e 74 73 2e 70 68 70 25 05 00 00 68 be ac 5c 25 05 00 00 35 22 10 a0 b6 01 00 00 00 00 00 00 52 nts.php%...h..\%...5"..........R
8bc0 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 ...vendor/justinrainbow/json-sch
8be0 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 ema/src/JsonSchema/Uri/Retriever
8c00 73 2f 50 72 65 64 65 66 69 6e 65 64 41 72 72 61 79 2e 70 68 70 2c 02 00 00 68 be ac 5c 2c 02 00 s/PredefinedArray.php,...h..\,..
8c20 00 31 95 35 fe b6 01 00 00 00 00 00 00 58 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 .1.5.........X...vendor/justinra
8c40 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 inbow/json-schema/src/JsonSchema
8c60 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 /Uri/Retrievers/UriRetrieverInte
8c80 72 66 61 63 65 2e 70 68 70 ae 00 00 00 68 be ac 5c ae 00 00 00 ff 8b c1 e5 b6 01 00 00 00 00 00 rface.php....h..\...............
8ca0 00 43 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 .C...vendor/justinrainbow/json-s
8cc0 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 55 72 69 52 65 73 6f chema/src/JsonSchema/Uri/UriReso
8ce0 6c 76 65 72 2e 70 68 70 05 0b 00 00 68 be ac 5c 05 0b 00 00 a3 9f 29 e0 b6 01 00 00 00 00 00 00 lver.php....h..\......).........
8d00 44 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 D...vendor/justinrainbow/json-sc
8d20 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 55 72 69 52 65 74 72 69 hema/src/JsonSchema/Uri/UriRetri
8d40 65 76 65 72 2e 70 68 70 26 13 00 00 68 be ac 5c 26 13 00 00 bc ee 82 a2 b6 01 00 00 00 00 00 00 ever.php&...h..\&...............
8d60 48 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 H...vendor/justinrainbow/json-sc
8d80 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 52 65 73 6f 6c 76 65 72 49 hema/src/JsonSchema/UriResolverI
8da0 6e 74 65 72 66 61 63 65 2e 70 68 70 83 00 00 00 68 be ac 5c 83 00 00 00 12 4a 80 1f b6 01 00 00 nterface.php....h..\.....J......
8dc0 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....I...vendor/justinrainbow/jso
8de0 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 52 65 74 72 69 n-schema/src/JsonSchema/UriRetri
8e00 65 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 85 00 00 00 68 be ac 5c 85 00 00 00 ed e6 1b everInterface.php....h..\.......
8e20 65 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f e........=...vendor/justinrainbo
8e40 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 56 61 6c w/json-schema/src/JsonSchema/Val
8e60 69 64 61 74 6f 72 2e 70 68 70 78 05 00 00 68 be ac 5c 78 05 00 00 65 17 c3 fe b6 01 00 00 00 00 idator.phpx...h..\x...e.........
8e80 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e ..%...vendor/composer/spdx-licen
8ea0 73 65 73 2f 4c 49 43 45 4e 53 45 1c 04 00 00 68 be ac 5c 1c 04 00 00 06 42 68 ed b6 01 00 00 00 ses/LICENSE....h..\.....Bh......
8ec0 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 ...2...vendor/composer/spdx-lice
8ee0 6e 73 65 73 2f 73 72 63 2f 53 70 64 78 4c 69 63 65 6e 73 65 73 2e 70 68 70 48 14 00 00 68 be ac nses/src/SpdxLicenses.phpH...h..
8f00 5c 48 14 00 00 cd 89 54 04 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 \H.....T.............vendor/comp
8f20 6f 73 65 72 2f 73 65 6d 76 65 72 2f 4c 49 43 45 4e 53 45 1c 04 00 00 68 be ac 5c 1c 04 00 00 06 oser/semver/LICENSE....h..\.....
8f40 42 68 ed b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 Bh.........)...vendor/composer/s
8f60 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 02 04 00 00 68 be ac 5c emver/src/Comparator.php....h..\
8f80 02 04 00 00 77 6c 83 ef b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f ....wl..........<...vendor/compo
8fa0 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 41 62 73 74 72 61 ser/semver/src/Constraint/Abstra
8fc0 63 74 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 ee 02 00 00 68 be ac 5c ee 02 00 00 d5 ad 77 2d ctConstraint.php....h..\......w-
8fe0 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 ........4...vendor/composer/semv
9000 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 er/src/Constraint/Constraint.php
9020 aa 0c 00 00 68 be ac 5c aa 0c 00 00 c7 4f 37 b2 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 ....h..\.....O7.........=...vend
9040 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e or/composer/semver/src/Constrain
9060 74 2f 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 df 00 00 00 68 be ac t/ConstraintInterface.php....h..
9080 5c df 00 00 00 30 43 2c 87 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 \....0C,.........9...vendor/comp
90a0 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 45 6d 70 74 79 oser/semver/src/Constraint/Empty
90c0 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 e9 01 00 00 68 be ac 5c e9 01 00 00 21 2d d8 99 b6 01 Constraint.php....h..\....!-....
90e0 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 ......9...vendor/composer/semver
9100 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 2e /src/Constraint/MultiConstraint.
9120 70 68 70 31 05 00 00 68 be ac 5c 31 05 00 00 ed a0 78 55 b6 01 00 00 00 00 00 00 25 00 00 00 76 php1...h..\1.....xU........%...v
9140 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 53 65 6d 76 65 72 endor/composer/semver/src/Semver
9160 2e 70 68 70 76 06 00 00 68 be ac 5c 76 06 00 00 8b d7 c8 9b b6 01 00 00 00 00 00 00 2c 00 00 00 .phpv...h..\v...............,...
9180 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 56 65 72 73 69 vendor/composer/semver/src/Versi
91a0 6f 6e 50 61 72 73 65 72 2e 70 68 70 af 2a 00 00 68 be ac 5c af 2a 00 00 5a 1b d2 93 b6 01 00 00 onParser.php.*..h..\.*..Z.......
91c0 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c ....!...vendor/composer/ca-bundl
91e0 65 2f 4c 49 43 45 4e 53 45 1c 04 00 00 68 be ac 5c 1c 04 00 00 2a 21 5e 60 b6 01 00 00 00 00 00 e/LICENSE....h..\....*!^`.......
9200 00 2a 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 .*...vendor/composer/ca-bundle/s
9220 72 63 2f 43 61 42 75 6e 64 6c 65 2e 70 68 70 15 1d 00 00 68 be ac 5c 15 1d 00 00 ca 0b 7e c4 b6 rc/CaBundle.php....h..\......~..
9240 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 .......&...vendor/composer/xdebu
9260 67 2d 68 61 6e 64 6c 65 72 2f 4c 49 43 45 4e 53 45 29 04 00 00 68 be ac 5c 29 04 00 00 23 d4 3b g-handler/LICENSE)...h..\)...#.;
9280 5e b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 ^........0...vendor/composer/xde
92a0 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 50 68 70 43 6f 6e 66 69 67 2e 70 68 70 b4 02 00 bug-handler/src/PhpConfig.php...
92c0 00 68 be ac 5c b4 02 00 00 2a 44 92 00 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f .h..\....*D..............vendor/
92e0 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 50 72 6f 63 composer/xdebug-handler/src/Proc
9300 65 73 73 2e 70 68 70 74 08 00 00 68 be ac 5c 74 08 00 00 db 8c fa 26 b6 01 00 00 00 00 00 00 2d ess.phpt...h..\t......&........-
9320 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 ...vendor/composer/xdebug-handle
9340 72 2f 73 72 63 2f 53 74 61 74 75 73 2e 70 68 70 0f 0a 00 00 68 be ac 5c 0f 0a 00 00 b2 17 82 b2 r/src/Status.php....h..\........
9360 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 ........4...vendor/composer/xdeb
9380 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 58 64 65 62 75 67 48 61 6e 64 6c 65 72 2e 70 68 70 ug-handler/src/XdebugHandler.php
93a0 13 21 00 00 68 be ac 5c 13 21 00 00 32 7c bf 43 b6 01 00 00 00 00 00 00 16 00 00 00 76 65 6e 64 .!..h..\.!..2|.C............vend
93c0 6f 72 2f 70 73 72 2f 6c 6f 67 2f 4c 49 43 45 4e 53 45 3d 04 00 00 68 be ac 5c 3d 04 00 00 70 b1 or/psr/log/LICENSE=...h..\=...p.
93e0 8e 4f b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 .O........)...vendor/psr/log/Psr
9400 2f 4c 6f 67 2f 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 2e 70 68 70 3b 04 00 00 68 be ac 5c 3b /Log/AbstractLogger.php;...h..\;
9420 04 00 00 f1 3e 33 5b b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f ....>3[........3...vendor/psr/lo
9440 67 2f 50 73 72 2f 4c 6f 67 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 g/Psr/Log/InvalidArgumentExcepti
9460 6f 6e 2e 70 68 70 60 00 00 00 68 be ac 5c 60 00 00 00 20 88 58 31 b6 01 00 00 00 00 00 00 23 00 on.php`...h..\`.....X1........#.
9480 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 4c 65 76 65 ..vendor/psr/log/Psr/Log/LogLeve
94a0 6c 2e 70 68 70 fb 00 00 00 68 be ac 5c fb 00 00 00 6a f0 f1 38 b6 01 00 00 00 00 00 00 2f 00 00 l.php....h..\....j..8......../..
94c0 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 .vendor/psr/log/Psr/Log/LoggerAw
94e0 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 7c 00 00 00 68 be ac 5c 7c 00 00 00 24 13 a3 88 areInterface.php|...h..\|...$...
9500 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c ........+...vendor/psr/log/Psr/L
9520 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 2e 70 68 70 a7 00 00 00 68 be ac 5c a7 og/LoggerAwareTrait.php....h..\.
9540 00 00 00 54 bd fa 42 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f ...T..B........*...vendor/psr/lo
9560 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 c6 02 00 g/Psr/Log/LoggerInterface.php...
9580 00 68 be ac 5c c6 02 00 00 bb 12 73 67 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f .h..\......sg........&...vendor/
95a0 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 54 72 61 69 74 2e 70 68 70 69 psr/log/Psr/Log/LoggerTrait.phpi
95c0 04 00 00 68 be ac 5c 69 04 00 00 33 35 a7 de b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f ...h..\i...35..........%...vendo
95e0 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4e 75 6c 6c 4c 6f 67 67 65 72 2e 70 68 70 r/psr/log/Psr/Log/NullLogger.php
9600 9e 00 00 00 68 be ac 5c 9e 00 00 00 c7 02 c3 1f b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 ....h..\................3...vend
9620 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 54 65 73 74 2f 4c 6f 67 67 65 72 49 6e or/psr/log/Psr/Log/Test/LoggerIn
9640 74 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 49 0d 00 00 68 be ac 5c 49 0d 00 00 f5 c7 41 73 b6 terfaceTest.phpI...h..\I.....As.
9660 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f .......*...vendor/psr/log/Psr/Lo
9680 67 2f 54 65 73 74 2f 54 65 73 74 4c 6f 67 67 65 72 2e 70 68 70 20 08 00 00 68 be ac 5c 20 08 00 g/Test/TestLogger.php....h..\...
96a0 00 f4 63 00 9b b6 01 00 00 00 00 00 00 13 00 00 00 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 ..c..............vendor/autoload
96c0 2e 70 68 70 82 00 00 00 68 be ac 5c 82 00 00 00 b3 41 68 a5 b6 01 00 00 00 00 00 00 27 00 00 00 .php....h..\.....Ah.........'...
96e0 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 vendor/composer/autoload_namespa
9700 63 65 73 2e 70 68 70 64 00 00 00 68 be ac 5c 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 21 ces.phpd...h..\d...Z..H........!
9720 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 ...vendor/composer/autoload_psr4
9740 2e 70 68 70 f7 04 00 00 68 be ac 5c f7 04 00 00 c5 2a 9a 16 b6 01 00 00 00 00 00 00 25 00 00 00 .php....h..\.....*..........%...
9760 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 vendor/composer/autoload_classma
9780 70 2e 70 68 70 64 00 00 00 68 be ac 5c 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 22 00 00 p.phpd...h..\d...Z..H........"..
97a0 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e .vendor/composer/autoload_files.
97c0 70 68 70 1f 01 00 00 68 be ac 5c 1f 01 00 00 a5 00 a0 ae b6 01 00 00 00 00 00 00 21 00 00 00 76 php....h..\................!...v
97e0 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 endor/composer/autoload_real.php
9800 49 07 00 00 68 be ac 5c 49 07 00 00 05 a4 ac 5f b6 01 00 00 00 00 00 00 23 00 00 00 76 65 6e 64 I...h..\I......_........#...vend
9820 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 a7 or/composer/autoload_static.php.
9840 0a 00 00 68 be ac 5c a7 0a 00 00 a4 b1 1c af b6 01 00 00 00 00 00 00 1f 00 00 00 76 65 6e 64 6f ...h..\....................vendo
9860 72 2f 63 6f 6d 70 6f 73 65 72 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 a8 18 00 00 68 be r/composer/ClassLoader.php....h.
9880 ac 5c a8 18 00 00 78 e4 e4 60 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d .\....x..`........(...vendor/com
98a0 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 72 65 73 2f 63 61 63 65 72 74 2e 70 65 6d cc 59 poser/ca-bundle/res/cacert.pem.Y
98c0 03 00 68 be ac 5c cc 59 03 00 52 2e a3 04 b6 01 00 00 00 00 00 00 0c 00 00 00 62 69 6e 2f 63 6f ..h..\.Y..R...............bin/co
98e0 6d 70 6f 73 65 72 ca 06 00 00 68 be ac 5c ca 06 00 00 ff ea 50 17 b6 01 00 00 00 00 00 00 07 00 mposer....h..\......P...........
9900 00 00 4c 49 43 45 4e 53 45 2e 04 00 00 68 be ac 5c 2e 04 00 00 20 d5 08 03 b6 01 00 00 00 00 00 ..LICENSE....h..\...............
9920 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
9940 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e oser\Autoload;..use.Composer\Con
9960 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 fig;.use.Composer\EventDispatche
9980 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\EventDispatcher;.use.Composer\
99a0 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 Installer\InstallationManager;.u
99c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 se.Composer\IO\IOInterface;.use.
99e0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 Composer\Package\AliasPackage;.u
9a00 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
9a20 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e face;.use.Composer\Repository\In
9a40 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 stalledRepositoryInterface;.use.
9a60 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f Composer\Util\Filesystem;.use.Co
9a80 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a mposer\Script\ScriptEvents;.....
9aa0 0a 63 6c 61 73 73 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 .class.AutoloadGenerator.{....pr
9ac0 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 ivate.$eventDispatcher;.....priv
9ae0 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 20 3d 20 ate.$io;.....private.$devMode.=.
9b00 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 false;.....private.$classMapAuth
9b20 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 oritative.=.false;.....private.$
9b40 61 70 63 75 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 75 6e 53 63 apcu.=.false;.....private.$runSc
9b60 72 69 70 74 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ripts.=.false;..public.function.
9b80 5f 5f 63 6f 6e 73 74 72 75 63 74 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 __construct(EventDispatcher.$eve
9ba0 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 ntDispatcher,.IOInterface.$io.=.
9bc0 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d null).{.$this->eventDispatcher.=
9be0 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 .$eventDispatcher;.$this->io.=.$
9c00 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 4d 6f 64 io;.}..public.function.setDevMod
9c20 65 28 24 64 65 76 4d 6f 64 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 4d e($devMode.=.true).{.$this->devM
9c40 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ode.=.(bool).$devMode;.}........
9c60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f public.function.setClassMapAutho
9c80 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 ritative($classMapAuthoritative)
9ca0 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 .{.$this->classMapAuthoritative.
9cc0 3d 20 28 62 6f 6f 6c 29 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b =.(bool).$classMapAuthoritative;
9ce0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 .}.......public.function.setApcu
9d00 28 24 61 70 63 75 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 63 75 20 3d 20 28 62 6f 6f 6c 29 20 24 ($apcu).{.$this->apcu.=.(bool).$
9d20 61 70 63 75 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 apcu;.}.......public.function.se
9d40 74 52 75 6e 53 63 72 69 70 74 73 28 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 0a tRunScripts($runScripts.=.true).
9d60 7b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 75 {.$this->runScripts.=.(bool).$ru
9d80 6e 53 63 72 69 70 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d nScripts;.}..public.function.dum
9da0 70 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 p(Config.$config,.InstalledRepos
9dc0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 61 63 6b 61 itoryInterface.$localRepo,.Packa
9de0 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 49 6e 73 74 61 6c geInterface.$mainPackage,.Instal
9e00 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 lationManager.$installationManag
9e20 65 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 er,.$targetDir,.$scanPsr0Package
9e40 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 75 66 66 69 78 20 3d 20 27 27 29 0a 7b 0a 69 66 20 28 24 s.=.false,.$suffix.=.'').{.if.($
9e60 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 0a this->classMapAuthoritative).{..
9e80 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 .$scanPsr0Packages.=.true;.}.if.
9ea0 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 ($this->runScripts).{.$this->eve
9ec0 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 ntDispatcher->dispatchScript(Scr
9ee0 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 74 iptEvents::PRE_AUTOLOAD_DUMP,.$t
9f00 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 6f his->devMode,.array(),.array(.'o
9f20 70 74 69 6d 69 7a 65 27 20 3d 3e 20 28 62 6f 6f 6c 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b ptimize'.=>.(bool).$scanPsr0Pack
9f40 61 67 65 73 2c 0a 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 ages,.));.}..$filesystem.=.new.F
9f60 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 ilesystem();.$filesystem->ensure
9f80 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 DirectoryExists($config->get('ve
9fa0 6e 64 6f 72 2d 64 69 72 27 29 29 3b 0a 0a 20 0a 20 0a 20 24 62 61 73 65 50 61 74 68 20 3d 20 24 ndor-dir'));.......$basePath.=.$
9fc0 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 72 65 61 6c 70 61 filesystem->normalizePath(realpa
9fe0 74 68 28 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 29 29 3b 0a 24 76 65 6e 64 6f 72 th(realpath(getcwd())));.$vendor
a000 50 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 Path.=.$filesystem->normalizePat
a020 68 28 72 65 61 6c 70 61 74 68 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 h(realpath(realpath($config->get
a040 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 29 3b 0a 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 ('vendor-dir'))));.$useGlobalInc
a060 6c 75 64 65 50 61 74 68 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 ludePath.=.(bool).$config->get('
a080 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 29 3b 0a 24 70 72 65 70 65 6e 64 41 75 74 6f use-include-path');.$prependAuto
a0a0 6c 6f 61 64 65 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 70 65 6e 64 2d 61 loader.=.$config->get('prepend-a
a0c0 75 74 6f 6c 6f 61 64 65 72 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 66 61 6c 73 65 27 20 utoloader').===.false.?.'false'.
a0e0 3a 20 27 74 72 75 65 27 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 :.'true';.$targetDir.=.$vendorPa
a100 74 68 2e 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e th.'/'.$targetDir;.$filesystem->
a120 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 ensureDirectoryExists($targetDir
a140 29 3b 0a 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 );..$vendorPathCode.=.$filesyste
a160 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 m->findShortestPathCode(realpath
a180 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 74 72 75 65 29 ($targetDir),.$vendorPath,.true)
a1a0 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 ;.$vendorPathCode52.=.str_replac
a1c0 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 27 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 27 e('__DIR__',.'dirname(__FILE__)'
a1e0 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 ,.$vendorPathCode);.$vendorPathT
a200 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 oTargetDirCode.=.$filesystem->fi
a220 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 ndShortestPathCode($vendorPath,.
a240 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 74 72 75 65 29 3b 0a 0a 24 61 realpath($targetDir),.true);..$a
a260 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e ppBaseDirCode.=.$filesystem->fin
a280 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 dShortestPathCode($vendorPath,.$
a2a0 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 basePath,.true);.$appBaseDirCode
a2c0 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 27 24 76 65 6e 64 .=.str_replace('__DIR__',.'$vend
a2e0 6f 72 44 69 72 27 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 3b 0a 0a 24 6e 61 6d 65 orDir',.$appBaseDirCode);..$name
a300 73 70 61 63 65 73 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 spacesFile.=.<<<EOF.<?php..//.au
a320 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 toload_namespaces.php.@generated
a340 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e .by.Composer..\$vendorDir.=.$ven
a360 64 6f 72 50 61 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 dorPathCode52;.\$baseDir.=.$appB
a380 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b aseDirCode;..return.array(..EOF;
a3a0 0a 0a 24 70 73 72 34 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 ..$psr4File.=.<<<EOF.<?php..//.a
a3c0 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 utoload_psr4.php.@generated.by.C
a3e0 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 omposer..\$vendorDir.=.$vendorPa
a400 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 thCode52;.\$baseDir.=.$appBaseDi
a420 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a 20 24 rCode;..return.array(..EOF;....$
a440 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 65 packageMap.=.$this->buildPackage
a460 4d 61 70 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 6d 61 69 6e 50 Map($installationManager,.$mainP
a480 61 63 6b 61 67 65 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c ackage,.$localRepo->getCanonical
a4a0 50 61 63 6b 61 67 65 73 28 29 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 24 74 68 69 73 2d Packages());.$autoloads.=.$this-
a4c0 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 >parseAutoloads($packageMap,.$ma
a4e0 69 6e 50 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 3d 3d 20 66 61 inPackage,.$this->devMode.===.fa
a500 6c 73 65 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 lse);....foreach.($autoloads['ps
a520 72 2d 30 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b r-0'].as.$namespace.=>.$paths).{
a540 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 .$exportedPaths.=.array();.forea
a560 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 ch.($paths.as.$path).{.$exported
a580 50 61 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 Paths[].=.$this->getPathCode($fi
a5a0 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 lesystem,.$basePath,.$vendorPath
a5c0 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 20 76 61 ,.$path);.}.$exportedPrefix.=.va
a5e0 72 5f 65 78 70 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 6e 61 6d r_export($namespace,.true);.$nam
a600 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 65 espacesFile..=."....$exportedPre
a620 66 69 78 20 3d 3e 20 22 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 61 72 fix.=>.";.$namespacesFile..=."ar
a640 72 61 79 28 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 74 ray(".implode(',.',.$exportedPat
a660 68 73 29 2e 22 29 2c 5c 6e 22 3b 0a 7d 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d hs)."),\n";.}.$namespacesFile..=
a680 20 22 29 3b 5c 6e 22 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b .");\n";....foreach.($autoloads[
a6a0 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 'psr-4'].as.$namespace.=>.$paths
a6c0 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f ).{.$exportedPaths.=.array();.fo
a6e0 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f 72 reach.($paths.as.$path).{.$expor
a700 74 65 64 50 61 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 tedPaths[].=.$this->getPathCode(
a720 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 $filesystem,.$basePath,.$vendorP
a740 61 74 68 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d ath,.$path);.}.$exportedPrefix.=
a760 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 .var_export($namespace,.true);.$
a780 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 psr4File..=."....$exportedPrefix
a7a0 20 3d 3e 20 22 3b 0a 24 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 61 72 72 61 79 28 22 2e 69 6d 70 .=>.";.$psr4File..=."array(".imp
a7c0 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 29 2e 22 29 2c 5c 6e lode(',.',.$exportedPaths)."),\n
a7e0 22 3b 0a 7d 0a 24 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 24 63 6c 61 73 ";.}.$psr4File..=.");\n";..$clas
a800 73 6d 61 70 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f smapFile.=.<<<EOF.<?php..//.auto
a820 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 load_classmap.php.@generated.by.
a840 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 Composer..\$vendorDir.=.$vendorP
a860 61 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 athCode52;.\$baseDir.=.$appBaseD
a880 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a 20 irCode;..return.array(..EOF;....
a8a0 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 6d 61 69 6e 41 75 $targetDirLoader.=.null;.$mainAu
a8c0 74 6f 6c 6f 61 64 20 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f toload.=.$mainPackage->getAutolo
a8e0 61 64 28 29 3b 0a 69 66 20 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 ad();.if.($mainPackage->getTarge
a900 74 44 69 72 28 29 20 26 26 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 tDir().&&.!empty($mainAutoload['
a920 70 73 72 2d 30 27 5d 29 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 psr-0'])).{.$levels.=.substr_cou
a940 6e 74 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 6d nt($filesystem->normalizePath($m
a960 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 2c 20 27 2f 27 ainPackage->getTargetDir()),.'/'
a980 29 20 2b 20 31 3b 0a 24 70 72 65 66 69 78 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c ).+.1;.$prefixes.=.implode(',.',
a9a0 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 70 72 65 66 69 78 29 20 7b 0a .array_map(function.($prefix).{.
a9c0 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 70 72 65 66 69 78 2c 20 74 72 75 65 29 return.var_export($prefix,.true)
a9e0 3b 0a 7d 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 70 ;.},.array_keys($mainAutoload['p
aa00 73 72 2d 30 27 5d 29 29 29 3b 0a 24 62 61 73 65 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 72 sr-0'])));.$baseDirFromTargetDir
aa20 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 Code.=.$filesystem->findShortest
aa40 50 61 74 68 43 6f 64 65 28 24 74 61 72 67 65 74 44 69 72 2c 20 24 62 61 73 65 50 61 74 68 2c 20 PathCode($targetDir,.$basePath,.
aa60 74 72 75 65 29 3b 0a 0a 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 20 3d 20 3c 3c 3c 45 4f true);..$targetDirLoader.=.<<<EO
aa80 46 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 F......public.static.function.au
aaa0 74 6f 6c 6f 61 64 28 5c 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 5c 24 toload(\$class).....{.........\$
aac0 64 69 72 20 3d 20 24 62 61 73 65 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 dir.=.$baseDirFromTargetDirCode.
aae0 2e 20 27 2f 27 3b 0a 20 20 20 20 20 20 20 20 5c 24 70 72 65 66 69 78 65 73 20 3d 20 61 72 72 61 ..'/';.........\$prefixes.=.arra
ab00 79 28 24 70 72 65 66 69 78 65 73 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 5c y($prefixes);.........foreach.(\
ab20 24 70 72 65 66 69 78 65 73 20 61 73 20 5c 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 $prefixes.as.\$prefix).{........
ab40 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 5c 24 63 6c 61 73 73 2c 20 5c .....if.(0.!==.strpos(\$class,.\
ab60 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 $prefix)).{.................cont
ab80 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 inue;.............}.............
aba0 5c 24 70 61 74 68 20 3d 20 5c 24 64 69 72 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 61 72 \$path.=.\$dir...implode('/',.ar
abc0 72 61 79 5f 73 6c 69 63 65 28 65 78 70 6c 6f 64 65 28 27 5c 5c 5c 5c 27 2c 20 5c 24 63 6c 61 73 ray_slice(explode('\\\\',.\$clas
abe0 73 29 2c 20 24 6c 65 76 65 6c 73 29 29 2e 27 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 s),.$levels)).'.php';...........
ac00 20 20 69 66 20 28 21 5c 24 70 61 74 68 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 ..if.(!\$path.=.stream_resolve_i
ac20 6e 63 6c 75 64 65 5f 70 61 74 68 28 5c 24 70 61 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 nclude_path(\$path)).{..........
ac40 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .......return.false;............
ac60 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 70 61 74 68 3b 0a 0a .}.............require.\$path;..
ac80 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 ............return.true;........
aca0 20 7d 0a 20 20 20 20 7d 0a 0a 45 4f 46 3b 0a 7d 0a 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e .}.....}..EOF;.}..$blacklist.=.n
acc0 75 6c 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c ull;.if.(!empty($autoloads['excl
ace0 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 ude-from-classmap'])).{.$blackli
ad00 73 74 20 3d 20 27 7b 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 61 75 74 6f 6c 6f st.=.'{('...implode('|',.$autolo
ad20 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 20 2e 20 ads['exclude-from-classmap'])...
ad40 27 29 7d 27 3b 0a 7d 0a 0a 0a 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a ')}';.}....$classMap.=.array();.
ad60 69 66 20 28 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 6e 61 6d 65 73 70 if.($scanPsr0Packages).{.$namesp
ad80 61 63 65 73 54 6f 53 63 61 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 acesToScan.=.array();....foreach
ada0 20 28 61 72 72 61 79 28 27 70 73 72 2d 30 27 2c 20 27 70 73 72 2d 34 27 29 20 61 73 20 24 70 73 .(array('psr-0',.'psr-4').as.$ps
adc0 72 54 79 70 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 24 70 73 rType).{.foreach.($autoloads[$ps
ade0 72 54 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 rType].as.$namespace.=>.$paths).
ae00 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 5b 24 6e 61 6d 65 73 70 61 63 65 5d 5b {.$namespacesToScan[$namespace][
ae20 5d 20 3d 20 61 72 72 61 79 28 27 70 61 74 68 73 27 20 3d 3e 20 24 70 61 74 68 73 2c 20 27 74 79 ].=.array('paths'.=>.$paths,.'ty
ae40 70 65 27 20 3d 3e 20 24 70 73 72 54 79 70 65 29 3b 0a 7d 0a 7d 0a 0a 6b 72 73 6f 72 74 28 24 6e pe'.=>.$psrType);.}.}..krsort($n
ae60 61 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d amespacesToScan);..foreach.($nam
ae80 65 73 70 61 63 65 73 54 6f 53 63 61 6e 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 espacesToScan.as.$namespace.=>.$
aea0 67 72 6f 75 70 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 67 72 6f 75 70 73 20 61 73 20 24 67 groups).{.foreach.($groups.as.$g
aec0 72 6f 75 70 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 67 72 6f 75 70 5b 27 70 61 74 68 73 27 5d roup).{.foreach.($group['paths']
aee0 20 61 73 20 24 64 69 72 29 20 7b 0a 24 64 69 72 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e .as.$dir).{.$dir.=.$filesystem->
af00 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 normalizePath($filesystem->isAbs
af20 6f 6c 75 74 65 50 61 74 68 28 24 64 69 72 29 20 3f 20 24 64 69 72 20 3a 20 24 62 61 73 65 50 61 olutePath($dir).?.$dir.:.$basePa
af40 74 68 2e 27 2f 27 2e 24 64 69 72 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 th.'/'.$dir);.if.(!is_dir($dir))
af60 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 .{.continue;.}..$namespaceFilter
af80 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3d 3d 20 27 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 6e .=.$namespace.===.''.?.null.:.$n
afa0 61 6d 65 73 70 61 63 65 3b 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 amespace;.$classMap.=.$this->add
afc0 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 ClassMapCode($filesystem,.$baseP
afe0 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 ath,.$vendorPath,.$dir,.$blackli
b000 73 74 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 2c 20 24 63 6c 61 73 73 4d 61 70 29 st,.$namespaceFilter,.$classMap)
b020 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 ;.}.}.}.}..foreach.($autoloads['
b040 63 6c 61 73 73 6d 61 70 27 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 24 63 6c 61 73 73 4d 61 70 20 classmap'].as.$dir).{.$classMap.
b060 3d 20 24 74 68 69 73 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 =.$this->addClassMapCode($filesy
b080 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 stem,.$basePath,.$vendorPath,.$d
b0a0 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 6e 75 6c 6c 2c 20 24 63 6c 61 73 73 4d 61 70 29 ir,.$blacklist,.null,.$classMap)
b0c0 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 66 6f 72 65 61 63 68 20 28 ;.}..ksort($classMap);.foreach.(
b0e0 24 63 6c 61 73 73 4d 61 70 20 61 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 63 6f 64 65 29 20 7b 0a $classMap.as.$class.=>.$code).{.
b100 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 27 20 20 20 20 27 2e 76 61 72 5f 65 78 70 6f $classmapFile..=.'....'.var_expo
b120 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 29 2e 27 20 3d 3e 20 27 2e 24 63 6f 64 65 3b 0a 7d rt($class,.true).'.=>.'.$code;.}
b140 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 69 66 20 28 21 .$classmapFile..=.");\n";..if.(!
b160 24 73 75 66 66 69 78 29 20 7b 0a 69 66 20 28 21 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 75 $suffix).{.if.(!$config->get('au
b180 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 toloader-suffix').&&.is_readable
b1a0 28 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 20 7b ($vendorPath.'/autoload.php')).{
b1c0 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 76 .$content.=.file_get_contents($v
b1e0 65 6e 64 6f 72 50 61 74 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 3b 0a 69 66 20 28 endorPath.'/autoload.php');.if.(
b200 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 preg_match('{ComposerAutoloaderI
b220 6e 69 74 28 5b 5e 3a 5c 73 5d 2b 29 3a 3a 7d 27 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 6d 61 74 nit([^:\s]+)::}',.$content,.$mat
b240 63 68 29 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a ch)).{.$suffix.=.$match[1];.}.}.
b260 0a 69 66 20 28 21 24 73 75 66 66 69 78 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 24 63 6f 6e 66 .if.(!$suffix).{.$suffix.=.$conf
b280 69 67 2d 3e 67 65 74 28 27 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 29 20 3f 3a 20 ig->get('autoloader-suffix').?:.
b2a0 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 md5(uniqid('',.true));.}.}..file
b2c0 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c _put_contents($targetDir.'/autol
b2e0 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 oad_namespaces.php',.$namespaces
b300 46 69 6c 65 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 File);.file_put_contents($target
b320 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 2c 20 24 70 73 72 34 46 Dir.'/autoload_psr4.php',.$psr4F
b340 69 6c 65 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 ile);.file_put_contents($targetD
b360 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 2c 20 24 63 6c ir.'/autoload_classmap.php',.$cl
b380 61 73 73 6d 61 70 46 69 6c 65 29 3b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 assmapFile);.$includePathFilePat
b3a0 68 20 3d 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 h.=.$targetDir.'/include_paths.p
b3c0 68 70 27 3b 0a 69 66 20 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e 74 hp';.if.($includePathFileContent
b3e0 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 24 s.=.$this->getIncludePathsFile($
b400 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 packageMap,.$filesystem,.$basePa
b420 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 th,.$vendorPath,.$vendorPathCode
b440 35 32 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 52,.$appBaseDirCode)).{.file_put
b460 5f 63 6f 6e 74 65 6e 74 73 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 2c 20 _contents($includePathFilePath,.
b480 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c 73 $includePathFileContents);.}.els
b4a0 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c eif.(file_exists($includePathFil
b4c0 65 50 61 74 68 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c ePath)).{.unlink($includePathFil
b4e0 65 50 61 74 68 29 3b 0a 7d 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 20 ePath);.}.$includeFilesFilePath.
b500 3d 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 =.$targetDir.'/autoload_files.ph
b520 70 27 3b 0a 69 66 20 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e 74 p';.if.($includeFilesFileContent
b540 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 24 s.=.$this->getIncludeFilesFile($
b560 61 75 74 6f 6c 6f 61 64 73 5b 27 66 69 6c 65 73 27 5d 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c autoloads['files'],.$filesystem,
b580 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 .$basePath,.$vendorPath,.$vendor
b5a0 50 61 74 68 43 6f 64 65 35 32 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 29 20 7b 0a PathCode52,.$appBaseDirCode)).{.
b5c0 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 file_put_contents($includeFilesF
b5e0 69 6c 65 50 61 74 68 2c 20 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e ilePath,.$includeFilesFileConten
b600 74 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 63 6c ts);.}.elseif.(file_exists($incl
b620 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 69 6e 63 udeFilesFilePath)).{.unlink($inc
b640 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 ludeFilesFilePath);.}.file_put_c
b660 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 ontents($targetDir.'/autoload_st
b680 61 74 69 63 2e 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 61 74 69 63 46 69 6c 65 28 atic.php',.$this->getStaticFile(
b6a0 24 73 75 66 66 69 78 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 $suffix,.$targetDir,.$vendorPath
b6c0 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 29 ,.$basePath,.$staticPhpVersion))
b6e0 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 76 65 6e 64 6f 72 50 61 74 68 2e ;.file_put_contents($vendorPath.
b700 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 6f 6c '/autoload.php',.$this->getAutol
b720 6f 61 64 46 69 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f oadFile($vendorPathToTargetDirCo
b740 64 65 2c 20 24 73 75 66 66 69 78 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 de,.$suffix));.file_put_contents
b760 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 ($targetDir.'/autoload_real.php'
b780 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 74 72 75 ,.$this->getAutoloadRealFile(tru
b7a0 65 2c 20 28 62 6f 6f 6c 29 20 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e e,.(bool).$includePathFileConten
b7c0 74 73 2c 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 2c 20 28 62 6f 6f 6c 29 20 24 69 6e ts,.$targetDirLoader,.(bool).$in
b7e0 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 24 76 65 6e 64 6f 72 50 cludeFilesFileContents,.$vendorP
b800 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 athCode,.$appBaseDirCode,.$suffi
b820 78 2c 20 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 70 72 65 70 65 x,.$useGlobalIncludePath,.$prepe
b840 6e 64 41 75 74 6f 6c 6f 61 64 65 72 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 ndAutoloader,.$staticPhpVersion)
b860 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 61 66 65 43 6f 70 79 28 5f 5f 44 49 52 5f 5f 2e 27 2f 43 6c );..$this->safeCopy(__DIR__.'/Cl
b880 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 43 6c 61 assLoader.php',.$targetDir.'/Cla
b8a0 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 29 3b 0a 24 74 68 69 73 2d 3e 73 61 66 65 43 6f 70 79 28 ssLoader.php');.$this->safeCopy(
b8c0 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 4c 49 43 45 4e 53 45 27 2c 20 24 74 61 __DIR__.'/../../../LICENSE',.$ta
b8e0 72 67 65 74 44 69 72 2e 27 2f 4c 49 43 45 4e 53 45 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d rgetDir.'/LICENSE');..if.($this-
b900 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 >runScripts).{.$this->eventDispa
b920 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e tcher->dispatchScript(ScriptEven
b940 74 73 3a 3a 50 4f 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 74 68 69 73 2d 3e 64 ts::POST_AUTOLOAD_DUMP,.$this->d
b960 65 76 4d 6f 64 65 2c 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 6f 70 74 69 6d 69 7a evMode,.array(),.array(.'optimiz
b980 65 27 20 3d 3e 20 28 62 6f 6f 6c 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 2c 0a e'.=>.(bool).$scanPsr0Packages,.
b9a0 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a ));.}..return.count($classMap);.
b9c0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 43 }..private.function.addClassMapC
b9e0 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e ode($filesystem,.$basePath,.$ven
ba00 64 6f 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c dorPath,.$dir,.$blacklist.=.null
ba20 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 ,.$namespaceFilter.=.null,.array
ba40 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 .$classMap.=.array()).{.foreach.
ba60 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 69 72 2c 20 24 ($this->generateClassMap($dir,.$
ba80 62 6c 61 63 6b 6c 69 73 74 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 29 20 61 73 20 blacklist,.$namespaceFilter).as.
baa0 24 63 6c 61 73 73 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 43 6f 64 65 20 3d 20 24 $class.=>.$path).{.$pathCode.=.$
bac0 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 this->getPathCode($filesystem,.$
bae0 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 2e 22 2c basePath,.$vendorPath,.$path).",
bb00 5c 6e 22 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 \n";.if.(!isset($classMap[$class
bb20 5d 29 29 20 7b 0a 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 70 61 74 68 43 ])).{.$classMap[$class].=.$pathC
bb40 6f 64 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 63 6c 61 ode;.}.elseif.($this->io.&&.$cla
bb60 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 21 3d 3d 20 24 70 61 74 68 43 6f 64 65 20 26 26 20 21 ssMap[$class].!==.$pathCode.&&.!
bb80 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2f 28 74 65 73 74 7c 66 69 78 74 75 72 65 7c 65 78 61 6d preg_match('{/(test|fixture|exam
bba0 70 6c 65 7c 73 74 75 62 29 73 3f 2f 7d 69 27 2c 20 73 74 72 74 72 28 24 63 6c 61 73 73 4d 61 70 ple|stub)s?/}i',.strtr($classMap
bbc0 5b 24 63 6c 61 73 73 5d 2e 27 20 27 2e 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 29 [$class].'.'.$path,.'\\',.'/')))
bbe0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 3c 77 61 72 6e .{.$this->io->writeError(.'<warn
bc00 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c 61 73 73 20 72 65 73 ing>Warning:.Ambiguous.class.res
bc20 6f 6c 75 74 69 6f 6e 2c 20 22 27 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 20 77 61 73 20 66 6f olution,."'.$class.'"'..'.was.fo
bc40 75 6e 64 20 69 6e 20 62 6f 74 68 20 22 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 und.in.both."'.str_replace(array
bc60 28 27 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 5c 27 27 2c 20 22 27 2c 5c 6e 22 29 2c 20 61 72 72 ('$vendorDir...\'',."',\n"),.arr
bc80 61 79 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 27 27 29 2c 20 24 63 6c 61 73 73 4d 61 70 5b 24 ay($vendorPath,.''),.$classMap[$
bca0 63 6c 61 73 73 5d 29 2e 27 22 20 61 6e 64 20 22 27 2e 24 70 61 74 68 2e 27 22 2c 20 74 68 65 20 class]).'".and."'.$path.'",.the.
bcc0 66 69 72 73 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 first.will.be.used.</warning>'.)
bce0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 0a 70 72 69 76 ;.}.}..return.$classMap;.}..priv
bd00 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 ate.function.generateClassMap($d
bd20 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 ir,.$blacklist.=.null,.$namespac
bd40 65 46 69 6c 74 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 73 68 6f 77 41 6d 62 69 67 75 6f 75 73 57 61 eFilter.=.null,.$showAmbiguousWa
bd60 72 6e 69 6e 67 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 43 6c 61 73 73 4d 61 70 47 rning.=.true).{.return.ClassMapG
bd80 65 6e 65 72 61 74 6f 72 3a 3a 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b enerator::createMap($dir,.$black
bda0 6c 69 73 74 2c 20 24 73 68 6f 77 41 6d 62 69 67 75 6f 75 73 57 61 72 6e 69 6e 67 20 3f 20 24 74 list,.$showAmbiguousWarning.?.$t
bdc0 68 69 73 2d 3e 69 6f 20 3a 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 his->io.:.null,.$namespaceFilter
bde0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 63 6b 61 );.}..public.function.buildPacka
be00 67 65 4d 61 70 28 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 geMap(InstallationManager.$insta
be20 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 llationManager,.PackageInterface
be40 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a .$mainPackage,.array.$packages).
be60 7b 0a 0a 20 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 61 72 72 61 79 28 24 6d {...$packageMap.=.array(array($m
be80 61 69 6e 50 61 63 6b 61 67 65 2c 20 27 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 ainPackage,.''));..foreach.($pac
bea0 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 kages.as.$package).{.if.($packag
bec0 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e e.instanceof.AliasPackage).{.con
bee0 74 69 6e 75 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 61 63 6b 61 67 65 28 tinue;.}.$this->validatePackage(
bf00 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 4d 61 70 5b 5d 20 3d 20 61 72 72 61 $package);..$packageMap[].=.arra
bf20 79 28 0a 24 70 61 63 6b 61 67 65 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 y(.$package,.$installationManage
bf40 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 0a 29 3b 0a r->getInstallPath($package),.);.
bf60 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 }..return.$packageMap;.}.......p
bf80 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 61 63 6b 61 67 rotected.function.validatePackag
bfa0 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 e(PackageInterface.$package).{.$
bfc0 61 75 74 6f 6c 6f 61 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 autoload.=.$package->getAutoload
bfe0 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 ();.if.(!empty($autoload['psr-4'
c000 5d 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 ]).&&.null.!==.$package->getTarg
c020 65 74 44 69 72 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 etDir()).{.$name.=.$package->get
c040 4e 61 6d 65 28 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 Name();.$package->getTargetDir()
c060 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 ;.throw.new.\InvalidArgumentExce
c080 70 74 69 6f 6e 28 22 50 53 52 2d 34 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 69 73 20 69 6e 63 6f ption("PSR-4.autoloading.is.inco
c0a0 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 74 61 72 67 65 74 2d 64 69 72 20 70 72 6f mpatible.with.the.target-dir.pro
c0c0 70 65 72 74 79 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 74 61 72 67 65 74 2d 64 69 72 20 69 6e 20 perty,.remove.the.target-dir.in.
c0e0 70 61 63 6b 61 67 65 20 27 24 6e 61 6d 65 27 2e 22 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 package.'$name'.");.}.if.(!empty
c100 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 ($autoload['psr-4'])).{.foreach.
c120 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 ($autoload['psr-4'].as.$namespac
c140 65 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 21 3d 3d e.=>.$dirs).{.if.($namespace.!==
c160 20 27 27 20 26 26 20 27 5c 5c 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 73 70 61 63 .''.&&.'\\'.!==.substr($namespac
c180 65 2c 20 2d 31 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 e,.-1)).{.throw.new.\InvalidArgu
c1a0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 70 73 72 2d 34 20 6e 61 6d 65 73 70 61 63 65 73 20 mentException("psr-4.namespaces.
c1c0 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 must.end.with.a.namespace.separa
c1e0 74 6f 72 2c 20 27 24 6e 61 6d 65 73 70 61 63 65 27 20 64 6f 65 73 20 6e 6f 74 2c 20 75 73 65 20 tor,.'$namespace'.does.not,.use.
c200 27 24 6e 61 6d 65 73 70 61 63 65 5c 5c 27 2e 22 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a '$namespace\\'.");.}.}.}.}......
c220 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c 6f 61 ....public.function.parseAutoloa
c240 64 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 ds(array.$packageMap,.PackageInt
c260 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 24 66 69 6c 74 65 72 4f 75 74 52 erface.$mainPackage,.$filterOutR
c280 65 71 75 69 72 65 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6d 61 equireDevPackages.=.false).{.$ma
c2a0 69 6e 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 63 6b inPackageMap.=.array_shift($pack
c2c0 61 67 65 4d 61 70 29 3b 0a 69 66 20 28 24 66 69 6c 74 65 72 4f 75 74 52 65 71 75 69 72 65 44 65 ageMap);.if.($filterOutRequireDe
c2e0 76 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 vPackages).{.$packageMap.=.$this
c300 2d 3e 66 69 6c 74 65 72 50 61 63 6b 61 67 65 4d 61 70 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 ->filterPackageMap($packageMap,.
c320 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d $mainPackage);.}.$sortedPackageM
c340 61 70 20 3d 20 24 74 68 69 73 2d 3e 73 6f 72 74 50 61 63 6b 61 67 65 4d 61 70 28 24 70 61 63 6b ap.=.$this->sortPackageMap($pack
c360 61 67 65 4d 61 70 29 3b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 5b 5d 20 3d 20 24 ageMap);.$sortedPackageMap[].=.$
c380 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 3b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 mainPackageMap;.array_unshift($p
c3a0 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 29 3b 0a 0a 24 70 ackageMap,.$mainPackageMap);..$p
c3c0 73 72 30 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 sr0.=.$this->parseAutoloadsType(
c3e0 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 27 70 73 72 2d 30 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 $packageMap,.'psr-0',.$mainPacka
c400 67 65 29 3b 0a 24 70 73 72 34 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 ge);.$psr4.=.$this->parseAutoloa
c420 64 73 54 79 70 65 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 27 70 73 72 2d 34 27 2c 20 24 6d 61 dsType($packageMap,.'psr-4',.$ma
c440 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 63 6c 61 73 73 6d 61 70 20 3d 20 24 74 68 69 73 2d 3e 70 inPackage);.$classmap.=.$this->p
c460 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 arseAutoloadsType(array_reverse(
c480 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 29 2c 20 27 63 6c 61 73 73 6d 61 70 27 2c 20 $sortedPackageMap),.'classmap',.
c4a0 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 66 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 $mainPackage);.$files.=.$this->p
c4c0 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 arseAutoloadsType($sortedPackage
c4e0 4d 61 70 2c 20 27 66 69 6c 65 73 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 65 78 Map,.'files',.$mainPackage);.$ex
c500 63 6c 75 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 clude.=.$this->parseAutoloadsTyp
c520 65 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 2c 20 27 65 78 63 6c 75 64 65 2d 66 72 e($sortedPackageMap,.'exclude-fr
c540 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 0a 6b 72 om-classmap',.$mainPackage);..kr
c560 73 6f 72 74 28 24 70 73 72 30 29 3b 0a 6b 72 73 6f 72 74 28 24 70 73 72 34 29 3b 0a 0a 72 65 74 sort($psr0);.krsort($psr4);..ret
c580 75 72 6e 20 61 72 72 61 79 28 0a 27 70 73 72 2d 30 27 20 3d 3e 20 24 70 73 72 30 2c 0a 27 70 73 urn.array(.'psr-0'.=>.$psr0,.'ps
c5a0 72 2d 34 27 20 3d 3e 20 24 70 73 72 34 2c 0a 27 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 24 63 6c r-4'.=>.$psr4,.'classmap'.=>.$cl
c5c0 61 73 73 6d 61 70 2c 0a 27 66 69 6c 65 73 27 20 3d 3e 20 24 66 69 6c 65 73 2c 0a 27 65 78 63 6c assmap,.'files'.=>.$files,.'excl
c5e0 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 24 65 78 63 6c 75 64 65 2c 0a ude-from-classmap'.=>.$exclude,.
c600 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 );.}........public.function.crea
c620 74 65 4c 6f 61 64 65 72 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 73 29 0a 7b 0a 24 6c 6f teLoader(array.$autoloads).{.$lo
c640 61 64 65 72 20 3d 20 6e 65 77 20 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 69 66 20 28 69 ader.=.new.ClassLoader();..if.(i
c660 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 29 29 20 7b 0a 66 6f 72 sset($autoloads['psr-0'])).{.for
c680 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 20 61 73 20 24 6e 61 each.($autoloads['psr-0'].as.$na
c6a0 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 mespace.=>.$path).{.$loader->add
c6c0 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 ($namespace,.$path);.}.}..if.(is
c6e0 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 29 29 20 7b 0a 66 6f 72 65 set($autoloads['psr-4'])).{.fore
c700 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d ach.($autoloads['psr-4'].as.$nam
c720 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 50 espace.=>.$path).{.$loader->addP
c740 73 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 sr4($namespace,.$path);.}.}..if.
c760 28 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 (isset($autoloads['classmap'])).
c780 7b 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 {.$blacklist.=.null;.if.(!empty(
c7a0 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 $autoloads['exclude-from-classma
c7c0 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 27 7b 28 27 20 2e 20 69 6d 70 6c p'])).{.$blacklist.=.'{('...impl
c7e0 6f 64 65 28 27 7c 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f ode('|',.$autoloads['exclude-fro
c800 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 20 2e 20 27 29 7d 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 m-classmap'])...')}';.}..foreach
c820 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 20 61 73 20 24 64 69 72 .($autoloads['classmap'].as.$dir
c840 29 20 7b 0a 74 72 79 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 ).{.try.{.$loader->addClassMap($
c860 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 69 72 2c 20 24 62 6c this->generateClassMap($dir,.$bl
c880 61 63 6b 6c 69 73 74 2c 20 6e 75 6c 6c 2c 20 66 61 6c 73 65 29 29 3b 0a 7d 20 63 61 74 63 68 20 acklist,.null,.false));.}.catch.
c8a0 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e (\RuntimeException.$e).{.$this->
c8c0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 65 2d 3e 67 io->writeError('<warning>'.$e->g
c8e0 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 7d etMessage().'</warning>');.}.}.}
c900 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ..return.$loader;.}..protected.f
c920 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 61 72 72 61 unction.getIncludePathsFile(arra
c940 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 y.$packageMap,.Filesystem.$files
c960 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 ystem,.$basePath,.$vendorPath,.$
c980 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 vendorPathCode,.$appBaseDirCode)
c9a0 0a 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 .{.$includePaths.=.array();..for
c9c0 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 each.($packageMap.as.$item).{.li
c9e0 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 st($package,.$installPath).=.$it
ca00 65 6d 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 em;..if.(null.!==.$package->getT
ca20 61 72 67 65 74 44 69 72 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 argetDir().&&.strlen($package->g
ca40 65 74 54 61 72 67 65 74 44 69 72 28 29 29 20 3e 20 30 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 etTargetDir()).>.0).{.$installPa
ca60 74 68 20 3d 20 73 75 62 73 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 2c 20 2d 73 74 th.=.substr($installPath,.0,.-st
ca80 72 6c 65 6e 28 27 2f 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 rlen('/'.$package->getTargetDir(
caa0 29 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e )));.}..foreach.($package->getIn
cac0 63 6c 75 64 65 50 61 74 68 73 28 29 20 61 73 20 24 69 6e 63 6c 75 64 65 50 61 74 68 29 20 7b 0a cludePaths().as.$includePath).{.
cae0 24 69 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 74 72 69 6d 28 24 69 6e 63 6c 75 64 65 50 61 74 68 $includePath.=.trim($includePath
cb00 2c 20 27 2f 27 29 3b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d 20 65 6d 70 74 79 28 ,.'/');.$includePaths[].=.empty(
cb20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3f 20 24 69 6e 63 6c 75 64 65 50 61 74 68 20 3a 20 24 $installPath).?.$includePath.:.$
cb40 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 69 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a installPath.'/'.$includePath;.}.
cb60 7d 0a 0a 69 66 20 28 21 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 20 7b 0a 72 65 74 75 72 6e 3b }..if.(!$includePaths).{.return;
cb80 0a 7d 0a 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 43 6f 64 65 20 3d 20 27 27 3b 0a 66 6f 72 65 .}..$includePathsCode.=.'';.fore
cba0 61 63 68 20 28 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 ach.($includePaths.as.$path).{.$
cbc0 69 6e 63 6c 75 64 65 50 61 74 68 73 43 6f 64 65 20 2e 3d 20 22 20 20 20 20 22 20 2e 20 24 74 68 includePathsCode..=."...."...$th
cbe0 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 is->getPathCode($filesystem,.$ba
cc00 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 20 2e 20 22 2c sePath,.$vendorPath,.$path)...",
cc20 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 \n";.}..return.<<<EOF.<?php..//.
cc40 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 include_paths.php.@generated.by.
cc60 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 Composer..\$vendorDir.=.$vendorP
cc80 61 74 68 43 6f 64 65 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 athCode;.\$baseDir.=.$appBaseDir
cca0 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 69 6e 63 6c 75 64 65 50 61 74 Code;..return.array(.$includePat
ccc0 68 73 43 6f 64 65 29 3b 0a 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 hsCode);..EOF;.}..protected.func
cce0 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 61 72 72 61 79 20 24 tion.getIncludeFilesFile(array.$
cd00 66 69 6c 65 73 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 files,.Filesystem.$filesystem,.$
cd20 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 basePath,.$vendorPath,.$vendorPa
cd40 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 0a 7b 0a 24 66 69 6c 65 thCode,.$appBaseDirCode).{.$file
cd60 73 43 6f 64 65 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 sCode.=.'';.foreach.($files.as.$
cd80 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 66 75 6e 63 74 69 6f 6e 46 69 6c 65 29 fileIdentifier.=>.$functionFile)
cda0 20 7b 0a 24 66 69 6c 65 73 43 6f 64 65 20 2e 3d 20 27 20 20 20 20 27 20 2e 20 76 61 72 5f 65 78 .{.$filesCode..=.'....'...var_ex
cdc0 70 6f 72 74 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 74 72 75 65 29 20 2e 20 27 20 port($fileIdentifier,.true)...'.
cde0 3d 3e 20 27 0a 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 =>.'...$this->getPathCode($files
ce00 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 ystem,.$basePath,.$vendorPath,.$
ce20 66 75 6e 63 74 69 6f 6e 46 69 6c 65 29 20 2e 20 22 2c 5c 6e 22 3b 0a 7d 0a 0a 69 66 20 28 21 24 functionFile)...",\n";.}..if.(!$
ce40 66 69 6c 65 73 43 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 filesCode).{.return.false;.}..re
ce60 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 66 turn.<<<EOF.<?php..//.autoload_f
ce80 69 6c 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a iles.php.@generated.by.Composer.
cea0 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 3b 0a .\$vendorDir.=.$vendorPathCode;.
cec0 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 \$baseDir.=.$appBaseDirCode;..re
cee0 74 75 72 6e 20 61 72 72 61 79 28 0a 24 66 69 6c 65 73 43 6f 64 65 29 3b 0a 0a 45 4f 46 3b 0a 7d turn.array(.$filesCode);..EOF;.}
cf00 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 43 6f 64 65 ..protected.function.getPathCode
cf20 28 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 (Filesystem.$filesystem,.$basePa
cf40 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 th,.$vendorPath,.$path).{.if.(!$
cf60 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 filesystem->isAbsolutePath($path
cf80 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 62 61 73 65 50 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 )).{.$path.=.$basePath...'/'...$
cfa0 70 61 74 68 3b 0a 7d 0a 24 70 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 path;.}.$path.=.$filesystem->nor
cfc0 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 24 62 61 73 65 44 69 72 20 3d 20 27 malizePath($path);..$baseDir.=.'
cfe0 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 61 74 68 2e 27 2f 27 2c 20 24 76 65 6e 64 6f 72 ';.if.(strpos($path.'/',.$vendor
d000 50 61 74 68 2e 27 2f 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 Path.'/').===.0).{.$path.=.subst
d020 72 28 24 70 61 74 68 2c 20 73 74 72 6c 65 6e 28 24 76 65 6e 64 6f 72 50 61 74 68 29 29 3b 0a 24 r($path,.strlen($vendorPath));.$
d040 62 61 73 65 44 69 72 20 3d 20 27 24 76 65 6e 64 6f 72 44 69 72 27 3b 0a 0a 69 66 20 28 24 70 61 baseDir.=.'$vendorDir';..if.($pa
d060 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 62 61 73 65 44 69 72 20 2e 3d 20 22 20 2e 20 th.!==.false).{.$baseDir..=."...
d080 22 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 ";.}.}.else.{.$path.=.$filesyste
d0a0 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 m->normalizePath($filesystem->fi
d0c0 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 62 61 73 65 50 61 74 68 2c 20 24 70 61 74 68 2c ndShortestPath($basePath,.$path,
d0e0 20 74 72 75 65 29 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 .true));.if.(!$filesystem->isAbs
d100 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 44 69 72 20 3d 20 27 olutePath($path)).{.$baseDir.=.'
d120 24 62 61 73 65 44 69 72 20 2e 20 27 3b 0a 24 70 61 74 68 20 3d 20 27 2f 27 20 2e 20 24 70 61 74 $baseDir...';.$path.=.'/'...$pat
d140 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5c 2e 70 68 61 72 2e h;.}.}..if.(preg_match('/\.phar.
d160 2b 24 2f 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 44 69 72 20 3d 20 22 27 70 68 61 +$/',.$path)).{.$baseDir.=."'pha
d180 72 3a 2f 2f 27 20 2e 20 22 20 2e 20 24 62 61 73 65 44 69 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 r://'..."...$baseDir;.}..return.
d1a0 24 62 61 73 65 44 69 72 20 2e 20 28 28 24 70 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 3f 20 $baseDir...(($path.!==.false).?.
d1c0 76 61 72 5f 65 78 70 6f 72 74 28 24 70 61 74 68 2c 20 74 72 75 65 29 20 3a 20 22 22 29 3b 0a 7d var_export($path,.true).:."");.}
d1e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 ..protected.function.getAutoload
d200 46 69 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 2c File($vendorPathToTargetDirCode,
d220 20 24 73 75 66 66 69 78 29 0a 7b 0a 24 6c 61 73 74 43 68 61 72 20 3d 20 24 76 65 6e 64 6f 72 50 .$suffix).{.$lastChar.=.$vendorP
d240 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 5b 73 74 72 6c 65 6e 28 24 76 65 6e 64 6f athToTargetDirCode[strlen($vendo
d260 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 29 20 2d 20 31 5d 3b 0a 69 66 20 28 rPathToTargetDirCode).-.1];.if.(
d280 22 27 22 20 3d 3d 3d 20 24 6c 61 73 74 43 68 61 72 20 7c 7c 20 27 22 27 20 3d 3d 3d 20 24 6c 61 "'".===.$lastChar.||.'"'.===.$la
d2a0 73 74 43 68 61 72 29 20 7b 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 stChar).{.$vendorPathToTargetDir
d2c0 43 6f 64 65 20 3d 20 73 75 62 73 74 72 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 Code.=.substr($vendorPathToTarge
d2e0 74 44 69 72 43 6f 64 65 2c 20 30 2c 20 2d 31 29 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c tDirCode,.0,.-1).'/autoload_real
d300 2e 70 68 70 27 2e 24 6c 61 73 74 43 68 61 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 6e 64 6f .php'.$lastChar;.}.else.{.$vendo
d320 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 2e 3d 20 22 20 2e 20 27 2f 61 75 rPathToTargetDirCode..=."...'/au
d340 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c toload_real.php'";.}..return.<<<
d360 41 55 54 4f 4c 4f 41 44 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 2e 70 68 70 20 AUTOLOAD.<?php..//.autoload.php.
d380 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 72 65 71 75 69 72 65 5f @generated.by.Composer..require_
d3a0 6f 6e 63 65 20 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 3b once.$vendorPathToTargetDirCode;
d3c0 0a 0a 72 65 74 75 72 6e 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 ..return.ComposerAutoloaderInit$
d3e0 73 75 66 66 69 78 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 0a 41 55 54 4f 4c 4f 41 44 3b 0a suffix::getLoader();..AUTOLOAD;.
d400 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 }..protected.function.getAutoloa
d420 64 52 65 61 6c 46 69 6c 65 28 24 75 73 65 43 6c 61 73 73 4d 61 70 2c 20 24 75 73 65 49 6e 63 6c dRealFile($useClassMap,.$useIncl
d440 75 64 65 50 61 74 68 2c 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 2c 20 24 75 73 65 49 udePath,.$targetDirLoader,.$useI
d460 6e 63 6c 75 64 65 46 69 6c 65 73 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 ncludeFiles,.$vendorPathCode,.$a
d480 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 2c 20 24 75 73 65 47 6c 6f 62 ppBaseDirCode,.$suffix,.$useGlob
d4a0 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 alIncludePath,.$prependAutoloade
d4c0 72 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 37 30 30 30 30 29 0a 7b 0a r,.$staticPhpVersion.=.70000).{.
d4e0 24 66 69 6c 65 20 3d 20 3c 3c 3c 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f $file.=.<<<HEADER.<?php..//.auto
d500 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 load_real.php.@generated.by.Comp
d520 6f 73 65 72 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e oser..class.ComposerAutoloaderIn
d540 69 74 24 73 75 66 66 69 78 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 5c it$suffix.{.....private.static.\
d560 24 6c 6f 61 64 65 72 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 $loader;......public.static.func
d580 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 5c 24 63 6c 61 73 73 29 0a 20 20 tion.loadClassLoader(\$class)...
d5a0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 5c 5c 41 75 74 6f 6c ..{.........if.('Composer\\Autol
d5c0 6f 61 64 5c 5c 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d 3d 20 5c 24 63 6c 61 73 73 29 20 7b oad\\ClassLoader'.===.\$class).{
d5e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 .............require.__DIR__...'
d600 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 /ClassLoader.php';.........}....
d620 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .}......public.static.function.g
d640 65 74 4c 6f 61 64 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c etLoader().....{.........if.(nul
d660 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 l.!==.self::\$loader).{.........
d680 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 20 ....return.self::\$loader;......
d6a0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 ...}..........spl_autoload_regis
d6c0 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 ter(array('ComposerAutoloaderIni
d6e0 74 24 73 75 66 66 69 78 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 t$suffix',.'loadClassLoader'),.t
d700 72 75 65 2c 20 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 20 20 20 20 20 20 rue,.$prependAutoloader);.......
d720 20 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 20 3d 20 5c 24 6c 6f 61 64 65 72 20 3d 20 6e 65 ..self::\$loader.=.\$loader.=.ne
d740 77 20 5c 5c 43 6f 6d 70 6f 73 65 72 5c 5c 41 75 74 6f 6c 6f 61 64 5c 5c 43 6c 61 73 73 4c 6f 61 w.\\Composer\\Autoload\\ClassLoa
d760 64 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 der();.........spl_autoload_unre
d780 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 gister(array('ComposerAutoloader
d7a0 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 Init$suffix',.'loadClassLoader')
d7c0 29 3b 0a 0a 0a 48 45 41 44 45 52 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 );...HEADER;..if.($useIncludePat
d7e0 68 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 49 4e 43 4c 55 44 45 5f 50 41 54 48 27 0a h).{.$file..=.<<<'INCLUDE_PATH'.
d800 20 20 20 20 20 20 20 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 72 65 71 75 69 72 65 20 ........$includePaths.=.require.
d820 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 27 3b 0a __DIR__...'/include_paths.php';.
d840 20 20 20 20 20 20 20 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d 20 67 65 74 5f 69 6e ........$includePaths[].=.get_in
d860 63 6c 75 64 65 5f 70 61 74 68 28 29 3b 0a 20 20 20 20 20 20 20 20 73 65 74 5f 69 6e 63 6c 75 64 clude_path();.........set_includ
d880 65 5f 70 61 74 68 28 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 e_path(implode(PATH_SEPARATOR,.$
d8a0 69 6e 63 6c 75 64 65 50 61 74 68 73 29 29 3b 0a 0a 0a 49 4e 43 4c 55 44 45 5f 50 41 54 48 3b 0a includePaths));...INCLUDE_PATH;.
d8c0 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 53 54 41 54 49 43 5f 49 4e 49 54 0a 20 20 20 20 20 }..$file..=.<<<STATIC_INIT......
d8e0 20 20 20 5c 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 50 5f 56 45 52 53 49 ...\$useStaticLoader.=.PHP_VERSI
d900 4f 4e 5f 49 44 20 3e 3d 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 26 26 20 21 64 ON_ID.>=.$staticPhpVersion.&&.!d
d920 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 28 21 66 75 6e 63 efined('HHVM_VERSION').&&.(!func
d940 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e tion_exists('zend_loader_file_en
d960 63 6f 64 65 64 27 29 20 7c 7c 20 21 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 coded').||.!zend_loader_file_enc
d980 6f 64 65 64 28 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 5c 24 75 73 65 53 74 61 74 69 63 oded());.........if.(\$useStatic
d9a0 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 5f 6f 6e Loader).{.............require_on
d9c0 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 ce.__DIR__...'/autoload_static.p
d9e0 68 70 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 hp';..............call_user_func
da00 28 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 (\Composer\Autoload\ComposerStat
da20 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 5c 24 icInit$suffix::getInitializer(\$
da40 6c 6f 61 64 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 0a 53 54 41 54 loader));.........}.else.{..STAT
da60 49 43 5f 49 4e 49 54 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 IC_INIT;..if.(!$this->classMapAu
da80 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 50 53 52 30 thoritative).{.$file..=.<<<'PSR0
daa0 34 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 4'.............$map.=.require.__
dac0 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 DIR__...'/autoload_namespaces.ph
dae0 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 p';.............foreach.($map.as
db00 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 .$namespace.=>.$path).{.........
db20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d 65 73 70 61 63 65 2c ........$loader->set($namespace,
db40 20 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 .$path);.............}..........
db60 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 ....$map.=.require.__DIR__...'/a
db80 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 utoload_psr4.php';.............f
dba0 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 oreach.($map.as.$namespace.=>.$p
dbc0 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e ath).{.................$loader->
dbe0 73 65 74 50 73 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 20 20 setPsr4($namespace,.$path);.....
dc00 20 20 20 20 20 20 20 20 7d 0a 0a 0a 50 53 52 30 34 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 43 6c ........}...PSR04;.}..if.($useCl
dc20 61 73 73 4d 61 70 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c 41 53 53 4d 41 50 27 assMap).{.$file..=.<<<'CLASSMAP'
dc40 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 71 75 69 72 65 .............$classMap.=.require
dc60 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 .__DIR__...'/autoload_classmap.p
dc80 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 hp';.............if.($classMap).
dca0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c {.................$loader->addCl
dcc0 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d assMap($classMap);.............}
dce0 0a 0a 43 4c 41 53 53 4d 41 50 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 22 20 20 20 20 20 20 20 ..CLASSMAP;.}..$file..=.".......
dd00 20 7d 5c 6e 5c 6e 22 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 .}\n\n";..if.($this->classMapAut
dd20 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c 41 53 53 horitative).{.$file..=.<<<'CLASS
dd40 4d 41 50 41 55 54 48 4f 52 49 54 41 54 49 56 45 27 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 MAPAUTHORITATIVE'.........$loade
dd60 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 74 72 75 65 r->setClassMapAuthoritative(true
dd80 29 3b 0a 0a 43 4c 41 53 53 4d 41 50 41 55 54 48 4f 52 49 54 41 54 49 56 45 3b 0a 7d 0a 0a 69 66 );..CLASSMAPAUTHORITATIVE;.}..if
dda0 20 28 24 74 68 69 73 2d 3e 61 70 63 75 29 20 7b 0a 24 61 70 63 75 50 72 65 66 69 78 20 3d 20 73 .($this->apcu).{.$apcuPrefix.=.s
ddc0 75 62 73 74 72 28 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 6d 64 35 28 75 6e 69 71 69 64 28 27 ubstr(base64_encode(md5(uniqid('
dde0 27 2c 20 74 72 75 65 29 2c 20 74 72 75 65 29 29 2c 20 30 2c 20 2d 33 29 3b 0a 24 66 69 6c 65 20 ',.true),.true)),.0,.-3);.$file.
de00 2e 3d 20 3c 3c 3c 41 50 43 55 0a 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 73 65 74 .=.<<<APCU.........\$loader->set
de20 41 70 63 75 50 72 65 66 69 78 28 27 24 61 70 63 75 50 72 65 66 69 78 27 29 3b 0a 0a 41 50 43 55 ApcuPrefix('$apcuPrefix');..APCU
de40 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 29 20 ;.}..if.($useGlobalIncludePath).
de60 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 49 4e 43 4c 55 44 45 50 41 54 48 27 0a 20 20 20 20 {.$file..=.<<<'INCLUDEPATH'.....
de80 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 74 ....$loader->setUseIncludePath(t
dea0 72 75 65 29 3b 0a 0a 49 4e 43 4c 55 44 45 50 41 54 48 3b 0a 7d 0a 0a 69 66 20 28 24 74 61 72 67 rue);..INCLUDEPATH;.}..if.($targ
dec0 65 74 44 69 72 4c 6f 61 64 65 72 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 52 45 47 49 53 etDirLoader).{.$file..=.<<<REGIS
dee0 54 45 52 5f 54 41 52 47 45 54 5f 44 49 52 5f 41 55 54 4f 4c 4f 41 44 0a 20 20 20 20 20 20 20 20 TER_TARGET_DIR_AUTOLOAD.........
df00 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d spl_autoload_register(array('Com
df20 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 27 61 75 poserAutoloaderInit$suffix',.'au
df40 74 6f 6c 6f 61 64 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 0a 0a 52 45 47 49 53 54 45 toload'),.true,.true);...REGISTE
df60 52 5f 54 41 52 47 45 54 5f 44 49 52 5f 41 55 54 4f 4c 4f 41 44 3b 0a 7d 0a 0a 24 66 69 6c 65 20 R_TARGET_DIR_AUTOLOAD;.}..$file.
df80 2e 3d 20 3c 3c 3c 52 45 47 49 53 54 45 52 5f 4c 4f 41 44 45 52 0a 20 20 20 20 20 20 20 20 5c 24 .=.<<<REGISTER_LOADER.........\$
dfa0 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 loader->register($prependAutoloa
dfc0 64 65 72 29 3b 0a 0a 0a 52 45 47 49 53 54 45 52 5f 4c 4f 41 44 45 52 3b 0a 0a 69 66 20 28 24 75 der);...REGISTER_LOADER;..if.($u
dfe0 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 49 4e seIncludeFiles).{.$file..=.<<<IN
e000 43 4c 55 44 45 5f 46 49 4c 45 53 0a 20 20 20 20 20 20 20 20 69 66 20 28 5c 24 75 73 65 53 74 61 CLUDE_FILES.........if.(\$useSta
e020 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 69 6e 63 6c 75 ticLoader).{.............\$inclu
e040 64 65 46 69 6c 65 73 20 3d 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 deFiles.=.Composer\Autoload\Comp
e060 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 5c 24 66 69 6c 65 73 3b 0a oserStaticInit$suffix::\$files;.
e080 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 69 ........}.else.{.............\$i
e0a0 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 ncludeFiles.=.require.__DIR__...
e0c0 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d '/autoload_files.php';.........}
e0e0 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 .........foreach.(\$includeFiles
e100 20 61 73 20 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 5c 24 66 69 6c 65 29 20 .as.\$fileIdentifier.=>.\$file).
e120 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 24 73 75 {.............composerRequire$su
e140 66 66 69 78 28 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 5c 24 66 69 6c 65 29 3b 0a ffix(\$fileIdentifier,.\$file);.
e160 20 20 20 20 20 20 20 20 7d 0a 0a 0a 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 24 66 ........}...INCLUDE_FILES;.}..$f
e180 69 6c 65 20 2e 3d 20 3c 3c 3c 4d 45 54 48 4f 44 5f 46 4f 4f 54 45 52 0a 20 20 20 20 20 20 20 20 ile..=.<<<METHOD_FOOTER.........
e1a0 72 65 74 75 72 6e 20 5c 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 7d 0a 0a 4d 45 54 48 4f 44 5f 46 return.\$loader;.....}..METHOD_F
e1c0 4f 4f 54 45 52 3b 0a 0a 24 66 69 6c 65 20 2e 3d 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 OOTER;..$file..=.$targetDirLoade
e1e0 72 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 29 20 7b 0a 72 65 74 75 r;..if.($useIncludeFiles).{.retu
e200 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 46 4f 4f 54 45 52 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e rn.$file...<<<FOOTER.}..function
e220 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 24 73 75 66 66 69 78 28 5c 24 66 69 6c 65 49 64 .composerRequire$suffix(\$fileId
e240 65 6e 74 69 66 69 65 72 2c 20 5c 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 66 20 28 65 6d 70 74 entifier,.\$file).{.....if.(empt
e260 79 28 5c 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 y(\$GLOBALS['__composer_autoload
e280 5f 66 69 6c 65 73 27 5d 5b 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 20 _files'][\$fileIdentifier])).{..
e2a0 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 66 69 6c 65 3b 0a 0a 20 20 20 20 20 20 20 20 .......require.\$file;..........
e2c0 5c 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 \$GLOBALS['__composer_autoload_f
e2e0 69 6c 65 73 27 5d 5b 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b iles'][\$fileIdentifier].=.true;
e300 0a 20 20 20 20 7d 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c .....}.}..FOOTER;.}..return.$fil
e320 65 20 2e 20 3c 3c 3c 46 4f 4f 54 45 52 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a 7d 0a 0a 70 72 6f 74 e...<<<FOOTER.}..FOOTER;.}..prot
e340 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 69 63 46 69 6c 65 28 24 73 75 ected.function.getStaticFile($su
e360 66 66 69 78 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 ffix,.$targetDir,.$vendorPath,.$
e380 62 61 73 65 50 61 74 68 2c 20 26 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 0a 7b 0a basePath,.&$staticPhpVersion).{.
e3a0 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 35 30 36 30 30 3b 0a 0a 24 66 69 6c $staticPhpVersion.=.50600;..$fil
e3c0 65 20 3d 20 3c 3c 3c 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 e.=.<<<HEADER.<?php..//.autoload
e3e0 5f 73 74 61 74 69 63 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 _static.php.@generated.by.Compos
e400 65 72 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b er..namespace.Composer\Autoload;
e420 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 ..class.ComposerStaticInit$suffi
e440 78 0a 7b 0a 0a 48 45 41 44 45 52 3b 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 43 6c 61 73 x.{..HEADER;..$loader.=.new.Clas
e460 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 74 61 72 67 sLoader();..$map.=.require.$targ
e480 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 etDir...'/autoload_namespaces.ph
e4a0 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 p';.foreach.($map.as.$namespace.
e4c0 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d 65 73 70 =>.$path).{.$loader->set($namesp
e4e0 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 ace,.$path);.}..$map.=.require.$
e500 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 targetDir...'/autoload_psr4.php'
e520 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e ;.foreach.($map.as.$namespace.=>
e540 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 6d 65 .$path).{.$loader->setPsr4($name
e560 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 space,.$path);.}..$classMap.=.re
e580 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c quire.$targetDir...'/autoload_cl
e5a0 61 73 73 6d 61 70 2e 70 68 70 27 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 6c assmap.php';.if.($classMap).{.$l
e5c0 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d oader->addClassMap($classMap);.}
e5e0 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 ..$filesystem.=.new.Filesystem()
e600 3b 0a 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 24 66 ;..$vendorPathCode.=.'.=>.'...$f
e620 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 ilesystem->findShortestPathCode(
e640 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 realpath($targetDir),.$vendorPat
e660 68 2c 20 74 72 75 65 2c 20 74 72 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 24 61 70 70 42 61 h,.true,.true)..."...'/";.$appBa
e680 73 65 44 69 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 24 66 69 6c 65 73 79 73 74 65 6d seDirCode.=.'.=>.'...$filesystem
e6a0 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 28 ->findShortestPathCode(realpath(
e6c0 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 2c 20 74 72 $targetDir),.$basePath,.true,.tr
e6e0 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 0a 24 61 62 73 6f 6c 75 74 65 56 65 6e 64 6f 72 50 ue)..."...'/";..$absoluteVendorP
e700 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 28 76 61 72 5f 65 78 athCode.=.'.=>.'...substr(var_ex
e720 70 6f 72 74 28 72 74 72 69 6d 28 24 76 65 6e 64 6f 72 44 69 72 2c 20 27 5c 5c 2f 27 29 20 2e 20 port(rtrim($vendorDir,.'\\/')...
e740 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 24 61 62 73 6f 6c 75 74 65 41 70 70 '/',.true),.0,.-1);.$absoluteApp
e760 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 28 76 61 BaseDirCode.=.'.=>.'...substr(va
e780 72 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 24 62 61 73 65 44 69 72 2c 20 27 5c 5c 2f 27 29 20 r_export(rtrim($baseDir,.'\\/').
e7a0 2e 20 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 0a 24 69 6e 69 74 69 61 6c 69 ..'/',.true),.0,.-1);..$initiali
e7c0 7a 65 72 20 3d 20 27 27 3b 0a 24 70 72 65 66 69 78 20 3d 20 22 5c 30 43 6f 6d 70 6f 73 65 72 5c zer.=.'';.$prefix.=."\0Composer\
e7e0 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 30 22 3b 0a 24 70 72 65 66 69 78 Autoload\ClassLoader\0";.$prefix
e800 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 66 69 6c 65 5f Len.=.strlen($prefix);.if.(file_
e820 65 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 exists($targetDir...'/autoload_f
e840 69 6c 65 73 2e 70 68 70 27 29 29 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 28 27 66 69 6c iles.php')).{.$maps.=.array('fil
e860 65 73 27 20 3d 3e 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 es'.=>.require.$targetDir...'/au
e880 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 61 toload_files.php');.}.else.{.$ma
e8a0 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 ps.=.array();.}..foreach.((array
e8c0 29 20 24 6c 6f 61 64 65 72 20 61 73 20 24 70 72 6f 70 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a ).$loader.as.$prop.=>.$value).{.
e8e0 69 66 20 28 24 76 61 6c 75 65 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 72 6f 70 if.($value.&&.0.===.strpos($prop
e900 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 24 6d 61 70 73 5b 73 75 62 73 74 72 28 24 70 72 6f 70 ,.$prefix)).{.$maps[substr($prop
e920 2c 20 24 70 72 65 66 69 78 4c 65 6e 29 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 66 6f ,.$prefixLen)].=.$value;.}.}..fo
e940 72 65 61 63 68 20 28 24 6d 61 70 73 20 61 73 20 24 70 72 6f 70 20 3d 3e 20 24 76 61 6c 75 65 29 reach.($maps.as.$prop.=>.$value)
e960 20 7b 0a 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e 20 33 32 37 36 37 29 20 7b 0a .{.if.(count($value).>.32767).{.
e980 0a 20 0a 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 37 30 30 30 30 3b 0a 7d ....$staticPhpVersion.=.70000;.}
e9a0 0a 24 76 61 6c 75 65 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 76 61 6c 75 65 2c 20 74 72 75 .$value.=.var_export($value,.tru
e9c0 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 61 62 73 6f 6c 75 e);.$value.=.str_replace($absolu
e9e0 74 65 56 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 teVendorPathCode,.$vendorPathCod
ea00 65 2c 20 24 76 61 6c 75 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 e,.$value);.$value.=.str_replace
ea20 28 24 61 62 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 61 70 70 42 61 ($absoluteAppBaseDirCode,.$appBa
ea40 73 65 44 69 72 43 6f 64 65 2c 20 24 76 61 6c 75 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 6c 74 72 seDirCode,.$value);.$value.=.ltr
ea60 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 20 2a 2f 6d 27 2c 20 27 20 20 20 20 24 im(preg_replace('/^.*/m',.'....$
ea80 30 24 30 27 2c 20 24 76 61 6c 75 65 29 29 3b 0a 0a 24 66 69 6c 65 20 2e 3d 20 73 70 72 69 6e 74 0$0',.$value));..$file..=.sprint
eaa0 66 28 22 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 25 73 20 3d 20 25 73 3b 5c 6e f("....public.static.$%s.=.%s;\n
eac0 5c 6e 22 2c 20 24 70 72 6f 70 2c 20 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 27 66 69 6c 65 73 27 \n",.$prop,.$value);.if.('files'
eae0 20 21 3d 3d 20 24 70 72 6f 70 29 20 7b 0a 24 69 6e 69 74 69 61 6c 69 7a 65 72 20 2e 3d 20 22 20 .!==.$prop).{.$initializer..=.".
eb00 20 20 20 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 24 70 72 6f 70 20 3d 20 43 6f 6d ...........\$loader->$prop.=.Com
eb20 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 5c 24 24 70 72 6f 70 3b poserStaticInit$suffix::\$$prop;
eb40 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 49 4e 49 54 \n";.}.}..return.$file...<<<INIT
eb60 49 41 4c 49 5a 45 52 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 IALIZER.....public.static.functi
eb80 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 43 6c 61 73 73 4c 6f 61 64 65 72 20 5c 24 on.getInitializer(ClassLoader.\$
eba0 6c 6f 61 64 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 5c 43 6c loader).....{.........return.\Cl
ebc0 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 5c 24 6c osure::bind(function.().use.(\$l
ebe0 6f 61 64 65 72 29 20 7b 0a 24 69 6e 69 74 69 61 6c 69 7a 65 72 0a 20 20 20 20 20 20 20 20 7d 2c oader).{.$initializer.........},
ec00 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 63 6c 61 73 73 29 3b 0a 20 20 20 20 .null,.ClassLoader::class);.....
ec20 7d 0a 7d 0a 0a 49 4e 49 54 49 41 4c 49 5a 45 52 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 }.}..INITIALIZER;.}..protected.f
ec40 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 61 72 72 61 79 unction.parseAutoloadsType(array
ec60 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 74 79 70 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 .$packageMap,.$type,.PackageInte
ec80 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 rface.$mainPackage).{.$autoloads
eca0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 .=.array();..foreach.($packageMa
ecc0 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e p.as.$item).{.list($package,.$in
ece0 73 74 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 0a 24 61 75 74 6f 6c 6f 61 64 20 3d stallPath).=.$item;..$autoload.=
ed00 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 69 66 20 28 24 74 .$package->getAutoload();.if.($t
ed20 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 26 26 20 24 70 61 63 6b 61 67 65 20 3d 3d 3d 20 24 6d 61 his->devMode.&&.$package.===.$ma
ed40 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 61 72 72 61 79 5f 6d inPackage).{.$autoload.=.array_m
ed60 65 72 67 65 5f 72 65 63 75 72 73 69 76 65 28 24 61 75 74 6f 6c 6f 61 64 2c 20 24 70 61 63 6b 61 erge_recursive($autoload,.$packa
ed80 67 65 2d 3e 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ge->getDevAutoload());.}....if.(
eda0 21 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 20 7c 7c 20 21 69 73 5f !isset($autoload[$type]).||.!is_
edc0 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 array($autoload[$type])).{.conti
ede0 6e 75 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 nue;.}.if.(null.!==.$package->ge
ee00 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 24 70 61 63 6b 61 67 65 20 21 3d 3d 20 24 6d 61 tTargetDir().&&.$package.!==.$ma
ee20 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 75 62 73 inPackage).{.$installPath.=.subs
ee40 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 2c 20 2d 73 74 72 6c 65 6e 28 27 2f 27 2e tr($installPath,.0,.-strlen('/'.
ee60 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 29 3b 0a 7d 0a 0a 66 $package->getTargetDir()));.}..f
ee80 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 20 61 73 20 24 6e 61 6d oreach.($autoload[$type].as.$nam
eea0 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 espace.=>.$paths).{.foreach.((ar
eec0 72 61 79 29 20 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 69 66 20 28 28 24 74 79 ray).$paths.as.$path).{.if.(($ty
eee0 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 3d 20 27 63 6c 61 pe.===.'files'.||.$type.===.'cla
ef00 73 73 6d 61 70 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 3d 20 27 65 78 63 6c 75 64 65 2d 66 72 6f ssmap'.||.$type.===.'exclude-fro
ef20 6d 2d 63 6c 61 73 73 6d 61 70 27 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 m-classmap').&&.$package->getTar
ef40 67 65 74 44 69 72 28 29 20 26 26 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 74 61 6c getDir().&&.!is_readable($instal
ef60 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 29 29 20 7b 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 lPath.'/'.$path)).{...if.($packa
ef80 67 65 20 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 74 61 72 67 65 74 44 69 ge.===.$mainPackage).{.$targetDi
efa0 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 64 69 72 73 65 70 5c 5c 3e 27 2c 20 r.=.str_replace('\\<dirsep\\>',.
efc0 27 5b 5c 5c 5c 5c 2f 5d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 72 5f 72 65 70 6c 61 63 '[\\\\/]',.preg_quote(str_replac
efe0 65 28 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c 20 27 3c 64 69 72 73 65 70 3e 27 2c 20 e(array('/',.'\\'),.'<dirsep>',.
f000 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 29 29 3b 0a 24 70 61 $package->getTargetDir())));.$pa
f020 74 68 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 27 2e 24 74 61 th.=.ltrim(preg_replace('{^'.$ta
f040 72 67 65 74 44 69 72 2e 27 7d 27 2c 20 27 27 2c 20 6c 74 72 69 6d 28 24 70 61 74 68 2c 20 27 5c rgetDir.'}',.'',.ltrim($path,.'\
f060 5c 2f 27 29 29 2c 20 27 5c 5c 2f 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 70 61 74 68 20 \/')),.'\\/');.}.else.{...$path.
f080 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 2e 20 27 2f 27 =.$package->getTargetDir()...'/'
f0a0 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 65 78 ...$path;.}.}..if.($type.===.'ex
f0c0 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 20 7b 0a 0a 20 24 70 61 74 68 20 clude-from-classmap').{...$path.
f0e0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2f 2b 7d 27 2c 20 27 2f 27 2c 20 70 72 65 67 =.preg_replace('{/+}',.'/',.preg
f100 5f 71 75 6f 74 65 28 74 72 69 6d 28 73 74 72 74 72 28 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 _quote(trim(strtr($path,.'\\',.'
f120 2f 27 29 2c 20 27 2f 27 29 29 29 3b 0a 0a 0a 20 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c /'),.'/')));....$path.=.str_repl
f140 61 63 65 28 27 5c 5c 2a 5c 5c 2a 27 2c 20 27 2e 2b 3f 27 2c 20 24 70 61 74 68 29 3b 0a 24 70 61 ace('\\*\\*',.'.+?',.$path);.$pa
f160 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 5b 5e 2f 5d 2b 3f 27 th.=.str_replace('\\*',.'[^/]+?'
f180 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 24 75 70 64 69 72 20 3d 20 6e 75 6c 6c 3b 0a 24 70 61 74 ,.$path);....$updir.=.null;.$pat
f1a0 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 0a 27 7b 5e 28 28 h.=.preg_replace_callback(.'{^((
f1c0 3f 3a 28 3f 3a 5c 5c 5c 5c 5c 5c 2e 29 7b 31 2c 32 7d 2b 2f 29 2b 29 7d 27 2c 0a 66 75 6e 63 74 ?:(?:\\\\\\.){1,2}+/)+)}',.funct
f1e0 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 26 24 75 70 64 69 72 29 20 7b 0a 69 ion.($matches).use.(&$updir).{.i
f200 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 0a 20 24 75 70 64 69 f.(isset($matches[1])).{...$updi
f220 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2e 27 2c 20 27 2e 27 2c 20 24 6d 61 74 r.=.str_replace('\\.',.'.',.$mat
f240 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 2c 0a 24 70 61 74 68 ches[1]);.}..return.'';.},.$path
f260 0a 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 24 .);.if.(empty($installPath)).{.$
f280 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 74 72 74 72 28 67 65 74 63 77 64 28 29 2c 20 27 5c installPath.=.strtr(getcwd(),.'\
f2a0 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 64 50 61 74 68 20 3d 20 72 65 61 \',.'/');.}..$resolvedPath.=.rea
f2c0 6c 70 61 74 68 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 75 70 64 69 lpath($installPath...'/'...$updi
f2e0 72 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 r);.$autoloads[].=.preg_quote(st
f300 72 74 72 28 24 72 65 73 6f 6c 76 65 64 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 20 2e rtr($resolvedPath,.'\\',.'/'))..
f320 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 6c 61 .'/'...$path;.continue;.}..$rela
f340 74 69 76 65 50 61 74 68 20 3d 20 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3f tivePath.=.empty($installPath).?
f360 20 28 65 6d 70 74 79 28 24 70 61 74 68 29 20 3f 20 27 2e 27 20 3a 20 24 70 61 74 68 29 20 3a 20 .(empty($path).?.'.'.:.$path).:.
f380 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 3b 0a 0a 69 66 20 28 24 74 79 $installPath.'/'.$path;..if.($ty
f3a0 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 24 74 68 pe.===.'files').{.$autoloads[$th
f3c0 69 73 2d 3e 67 65 74 46 69 6c 65 49 64 65 6e 74 69 66 69 65 72 28 24 70 61 63 6b 61 67 65 2c 20 is->getFileIdentifier($package,.
f3e0 24 70 61 74 68 29 5d 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 $path)].=.$relativePath;.continu
f400 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 e;.}.elseif.($type.===.'classmap
f420 27 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 ').{.$autoloads[].=.$relativePat
f440 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 24 6e 61 6d 65 h;.continue;.}..$autoloads[$name
f460 73 70 61 63 65 5d 5b 5d 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 7d 0a 7d 0a space][].=.$relativePath;.}.}.}.
f480 0a 72 65 74 75 72 6e 20 24 61 75 74 6f 6c 6f 61 64 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 .return.$autoloads;.}..protected
f4a0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 49 64 65 6e 74 69 66 69 65 72 28 50 61 63 6b .function.getFileIdentifier(Pack
f4c0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a ageInterface.$package,.$path).{.
f4e0 72 65 74 75 72 6e 20 6d 64 35 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e return.md5($package->getName()..
f500 20 27 3a 27 20 2e 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .':'...$path);.}.........protect
f520 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 50 61 63 6b 61 67 65 4d 61 70 28 61 72 72 ed.function.filterPackageMap(arr
f540 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 ay.$packageMap,.PackageInterface
f560 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 .$mainPackage).{.$packages.=.arr
f580 61 79 28 29 3b 0a 24 69 6e 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 ay();.$include.=.array();..forea
f5a0 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 70 61 63 ch.($packageMap.as.$item).{.$pac
f5c0 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b 30 5d 3b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 kage.=.$item[0];.$name.=.$packag
f5e0 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d e->getName();.$packages[$name].=
f600 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 61 64 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 50 .$package;.}..$add.=.function.(P
f620 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 20 75 73 65 20 28 26 ackageInterface.$package).use.(&
f640 24 61 64 64 2c 20 24 70 61 63 6b 61 67 65 73 2c 20 26 24 69 6e 63 6c 75 64 65 29 20 7b 0a 66 6f $add,.$packages,.&$include).{.fo
f660 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 reach.($package->getRequires().a
f680 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 s.$link).{.$target.=.$link->getT
f6a0 61 72 67 65 74 28 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 63 6c 75 64 65 5b 24 74 61 arget();.if.(!isset($include[$ta
f6c0 72 67 65 74 5d 29 29 20 7b 0a 24 69 6e 63 6c 75 64 65 5b 24 74 61 72 67 65 74 5d 20 3d 20 74 72 rget])).{.$include[$target].=.tr
f6e0 75 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 61 72 67 65 74 5d ue;.if.(isset($packages[$target]
f700 29 29 20 7b 0a 24 61 64 64 28 24 70 61 63 6b 61 67 65 73 5b 24 74 61 72 67 65 74 5d 29 3b 0a 7d )).{.$add($packages[$target]);.}
f720 0a 7d 0a 7d 0a 7d 3b 0a 24 61 64 64 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 0a 72 65 74 .}.}.};.$add($mainPackage);..ret
f740 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 24 70 61 63 6b 61 67 65 4d 61 70 2c 0a 66 urn.array_filter(.$packageMap,.f
f760 75 6e 63 74 69 6f 6e 20 28 24 69 74 65 6d 29 20 75 73 65 20 28 24 69 6e 63 6c 75 64 65 29 20 7b unction.($item).use.($include).{
f780 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b 30 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 .$package.=.$item[0];.foreach.($
f7a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a package->getNames().as.$name).{.
f7c0 69 66 20 28 69 73 73 65 74 28 24 69 6e 63 6c 75 64 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 if.(isset($include[$name])).{.re
f7e0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a turn.true;.}.}..return.false;.}.
f800 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e );.}..........protected.function
f820 20 73 6f 72 74 50 61 63 6b 61 67 65 4d 61 70 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 .sortPackageMap(array.$packageMa
f840 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 74 68 73 p).{.$packages.=.array();.$paths
f860 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 75 73 61 67 65 4c 69 73 74 20 3d 20 61 72 72 61 79 28 29 .=.array();.$usageList.=.array()
f880 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d ;..foreach.($packageMap.as.$item
f8a0 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 20 3d 20 24 69 74 65 ).{.list($package,.$path).=.$ite
f8c0 6d 3b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a m;.$name.=.$package->getName();.
f8e0 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 70 61 $packages[$name].=.$package;.$pa
f900 74 68 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 74 68 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 ths[$name].=.$path;..foreach.(ar
f920 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 ray_merge($package->getRequires(
f940 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 ),.$package->getDevRequires()).a
f960 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 s.$link).{.$target.=.$link->getT
f980 61 72 67 65 74 28 29 3b 0a 24 75 73 61 67 65 4c 69 73 74 5b 24 74 61 72 67 65 74 5d 5b 5d 20 3d arget();.$usageList[$target][].=
f9a0 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 70 75 74 69 6e 67 20 3d 20 61 72 72 61 79 28 .$name;.}.}..$computing.=.array(
f9c0 29 3b 0a 24 63 6f 6d 70 75 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6d 70 75 74 65 );.$computed.=.array();.$compute
f9e0 49 6d 70 6f 72 74 61 6e 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 29 20 75 73 Importance.=.function.($name).us
fa00 65 20 28 26 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 2c 20 26 24 63 6f 6d 70 75 74 e.(&$computeImportance,.&$comput
fa20 69 6e 67 2c 20 26 24 63 6f 6d 70 75 74 65 64 2c 20 24 75 73 61 67 65 4c 69 73 74 29 20 7b 0a 0a ing,.&$computed,.$usageList).{..
fa40 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a .if.(isset($computed[$name])).{.
fa60 72 65 74 75 72 6e 20 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 20 69 66 return.$computed[$name];.}....if
fa80 20 28 69 73 73 65 74 28 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 .(isset($computing[$name])).{.re
faa0 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d 20 3d 20 74 turn.0;.}..$computing[$name].=.t
fac0 72 75 65 3b 0a 24 77 65 69 67 68 74 20 3d 20 30 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 75 73 rue;.$weight.=.0;..if.(isset($us
fae0 61 67 65 4c 69 73 74 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 75 73 61 ageList[$name])).{.foreach.($usa
fb00 67 65 4c 69 73 74 5b 24 6e 61 6d 65 5d 20 61 73 20 24 75 73 65 72 29 20 7b 0a 24 77 65 69 67 68 geList[$name].as.$user).{.$weigh
fb20 74 20 2d 3d 20 31 20 2d 20 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 28 24 75 73 65 t.-=.1.-.$computeImportance($use
fb40 72 29 3b 0a 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d r);.}.}..unset($computing[$name]
fb60 29 3b 0a 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 77 65 69 67 68 74 3b 0a 0a );.$computed[$name].=.$weight;..
fb80 72 65 74 75 72 6e 20 24 77 65 69 67 68 74 3b 0a 7d 3b 0a 0a 24 77 65 69 67 68 74 4c 69 73 74 20 return.$weight;.};..$weightList.
fba0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 =.array();..foreach.($packages.a
fbc0 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 77 65 69 67 68 74 20 3d s.$name.=>.$package).{.$weight.=
fbe0 20 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 28 24 6e 61 6d 65 29 3b 0a 24 77 65 69 .$computeImportance($name);.$wei
fc00 67 68 74 4c 69 73 74 5b 24 6e 61 6d 65 5d 20 3d 20 24 77 65 69 67 68 74 3b 0a 7d 0a 0a 24 73 74 ghtList[$name].=.$weight;.}..$st
fc20 61 62 6c 65 5f 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 61 72 72 61 79 29 20 7b able_sort.=.function.(&$array).{
fc40 0a 73 74 61 74 69 63 20 24 74 72 61 6e 73 66 6f 72 6d 2c 20 24 72 65 73 74 6f 72 65 3b 0a 0a 24 .static.$transform,.$restore;..$
fc60 69 20 3d 20 30 3b 0a 0a 69 66 20 28 21 24 74 72 61 6e 73 66 6f 72 6d 29 20 7b 0a 24 74 72 61 6e i.=.0;..if.(!$transform).{.$tran
fc80 73 66 6f 72 6d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 2c 20 24 6b 29 20 75 73 65 20 28 sform.=.function.(&$v,.$k).use.(
fca0 26 24 69 29 20 7b 0a 24 76 20 3d 20 61 72 72 61 79 28 24 76 2c 20 2b 2b 24 69 2c 20 24 6b 2c 20 &$i).{.$v.=.array($v,.++$i,.$k,.
fcc0 24 76 29 3b 0a 7d 3b 0a 0a 24 72 65 73 74 6f 72 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 $v);.};..$restore.=.function.(&$
fce0 76 2c 20 24 6b 29 20 7b 0a 24 76 20 3d 20 24 76 5b 33 5d 3b 0a 7d 3b 0a 7d 0a 0a 61 72 72 61 79 v,.$k).{.$v.=.$v[3];.};.}..array
fd00 5f 77 61 6c 6b 28 24 61 72 72 61 79 2c 20 24 74 72 61 6e 73 66 6f 72 6d 29 3b 0a 61 73 6f 72 74 _walk($array,.$transform);.asort
fd20 28 24 61 72 72 61 79 29 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 61 72 72 61 79 2c 20 24 72 65 ($array);.array_walk($array,.$re
fd40 73 74 6f 72 65 29 3b 0a 7d 3b 0a 0a 24 73 74 61 62 6c 65 5f 73 6f 72 74 28 24 77 65 69 67 68 74 store);.};..$stable_sort($weight
fd60 4c 69 73 74 29 3b 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 List);..$sortedPackageMap.=.arra
fd80 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 77 65 69 67 68 y();..foreach.(array_keys($weigh
fda0 74 4c 69 73 74 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 tList).as.$name).{.$sortedPackag
fdc0 65 4d 61 70 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 2c eMap[].=.array($packages[$name],
fde0 20 24 70 61 74 68 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 .$paths[$name]);.}..return.$sort
fe00 65 64 50 61 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 edPackageMap;.}........protected
fe20 20 66 75 6e 63 74 69 6f 6e 20 73 61 66 65 43 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 .function.safeCopy($source,.$tar
fe40 67 65 74 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 66 6f 70 65 6e 28 24 73 6f 75 72 63 65 2c 20 get).{.$source.=.fopen($source,.
fe60 27 72 27 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 66 6f 70 65 6e 28 24 74 61 72 67 65 74 2c 20 27 'r');.$target.=.fopen($target,.'
fe80 77 2b 27 29 3b 0a 0a 73 74 72 65 61 6d 5f 63 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f w+');..stream_copy_to_stream($so
fea0 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b urce,.$target);.fclose($source);
fec0 0a 66 63 6c 6f 73 65 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .fclose($target);.}.}.<?php.....
fee0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c .............namespace.Composer\
ff00 41 75 74 6f 6c 6f 61 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Autoload;..use.Symfony\Component
ff20 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c \Finder\Finder;.use.Composer\IO\
ff40 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 IOInterface;.use.Composer\Util\F
ff60 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4d 61 70 ilesystem;........class.ClassMap
ff80 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 Generator.{.......public.static.
ffa0 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 24 64 69 72 73 2c 20 24 66 69 6c 65 29 0a 7b 0a 24 6d function.dump($dirs,.$file).{.$m
ffc0 61 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 aps.=.array();..foreach.($dirs.a
ffe0 73 20 24 64 69 72 29 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d s.$dir).{.$maps.=.array_merge($m
10000 61 70 73 2c 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 29 29 3b 0a 7d aps,.static::createMap($dir));.}
10020 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 2c 20 73 70 72 69 6e ..file_put_contents($file,.sprin
10040 74 66 28 27 3c 3f 70 68 70 20 72 65 74 75 72 6e 20 25 73 3b 27 2c 20 76 61 72 5f 65 78 70 6f 72 tf('<?php.return.%s;',.var_expor
10060 74 28 24 6d 61 70 73 2c 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a t($maps,.true)));.}.............
10080 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 61 70 public.static.function.createMap
100a0 28 24 70 61 74 68 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 ($path,.$blacklist.=.null,.IOInt
100c0 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 erface.$io.=.null,.$namespace.=.
100e0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 74 68 29 29 20 7b 0a null).{.if.(is_string($path)).{.
10100 69 66 20 28 69 73 5f 66 69 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 61 72 if.(is_file($path)).{.$path.=.ar
10120 72 61 79 28 6e 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 70 61 74 68 29 29 3b 0a 7d 20 ray(new.\SplFileInfo($path));.}.
10140 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d elseif.(is_dir($path)).{.$path.=
10160 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 2d 3e 66 69 6c 65 73 28 29 2d 3e 66 6f 6c 6c .Finder::create()->files()->foll
10180 6f 77 4c 69 6e 6b 73 28 29 2d 3e 6e 61 6d 65 28 27 2f 5c 2e 28 70 68 70 7c 69 6e 63 7c 68 68 29 owLinks()->name('/\.(php|inc|hh)
101a0 24 2f 27 29 2d 3e 69 6e 28 24 70 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 $/')->in($path);.}.else.{.throw.
101c0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f new.\RuntimeException(.'Could.no
101e0 74 20 73 63 61 6e 20 66 6f 72 20 63 6c 61 73 73 65 73 20 69 6e 73 69 64 65 20 22 27 2e 24 70 61 t.scan.for.classes.inside."'.$pa
10200 74 68 2e 0a 27 22 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 th..'".which.does.not.appear.to.
10220 62 65 20 61 20 66 69 6c 65 20 6e 6f 72 20 61 20 66 6f 6c 64 65 72 27 0a 29 3b 0a 7d 0a 7d 0a 0a be.a.file.nor.a.folder'.);.}.}..
10240 24 6d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 $map.=.array();.$filesystem.=.ne
10260 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 w.Filesystem();.$cwd.=.realpath(
10280 67 65 74 63 77 64 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 20 61 73 20 24 66 getcwd());..foreach.($path.as.$f
102a0 69 6c 65 29 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 3d 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 ile).{.$filePath.=.$file->getPat
102c0 68 6e 61 6d 65 28 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 70 61 74 68 69 6e 66 6f 28 hname();.if.(!in_array(pathinfo(
102e0 24 66 69 6c 65 50 61 74 68 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 2c 20 $filePath,.PATHINFO_EXTENSION),.
10300 61 72 72 61 79 28 27 70 68 70 27 2c 20 27 69 6e 63 27 2c 20 27 68 68 27 29 29 29 20 7b 0a 63 6f array('php',.'inc',.'hh'))).{.co
10320 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 ntinue;.}..if.(!$filesystem->isA
10340 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 29 20 7b 0a 24 66 69 6c 65 50 bsolutePath($filePath)).{.$fileP
10360 61 74 68 20 3d 20 24 63 77 64 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 50 61 74 68 3b 0a 24 66 ath.=.$cwd...'/'...$filePath;.$f
10380 69 6c 65 50 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 ilePath.=.$filesystem->normalize
103a0 50 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 6c 65 50 Path($filePath);.}.else.{.$fileP
103c0 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5c 5c 5c 5c 2f 5d 7b 32 2c 7d ath.=.preg_replace('{[\\\\/]{2,}
103e0 7d 27 2c 20 27 2f 27 2c 20 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 }',.'/',.$filePath);.}....if.($b
10400 6c 61 63 6b 6c 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 73 lacklist.&&.preg_match($blacklis
10420 74 2c 20 73 74 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 2c 20 27 5c t,.strtr(realpath($filePath),.'\
10440 5c 27 2c 20 27 2f 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 24 \',.'/'))).{.continue;.}...if.($
10460 62 6c 61 63 6b 6c 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 blacklist.&&.preg_match($blackli
10480 73 74 2c 20 73 74 72 74 72 28 24 66 69 6c 65 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 st,.strtr($filePath,.'\\',.'/'))
104a0 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 73 65 6c 66 ).{.continue;.}..$classes.=.self
104c0 3a 3a 66 69 6e 64 43 6c 61 73 73 65 73 28 24 66 69 6c 65 50 61 74 68 29 3b 0a 0a 66 6f 72 65 61 ::findClasses($filePath);..forea
104e0 63 68 20 28 24 63 6c 61 73 73 65 73 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 0a 20 69 66 20 28 ch.($classes.as.$class).{...if.(
10500 6e 75 6c 6c 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 20 26 26 20 30 20 21 3d 3d 20 73 74 72 null.!==.$namespace.&&.0.!==.str
10520 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 29 20 7b 0a 63 6f 6e 74 69 pos($class,.$namespace)).{.conti
10540 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 70 5b 24 63 6c 61 73 73 5d 29 nue;.}..if.(!isset($map[$class])
10560 29 20 7b 0a 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 66 69 6c 65 50 61 74 68 3b 0a 7d 20 ).{.$map[$class].=.$filePath;.}.
10580 65 6c 73 65 69 66 20 28 24 69 6f 20 26 26 20 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 21 3d 3d 20 elseif.($io.&&.$map[$class].!==.
105a0 24 66 69 6c 65 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2f 28 74 65 73 $filePath.&&.!preg_match('{/(tes
105c0 74 7c 66 69 78 74 75 72 65 7c 65 78 61 6d 70 6c 65 7c 73 74 75 62 29 73 3f 2f 7d 69 27 2c 20 73 t|fixture|example|stub)s?/}i',.s
105e0 74 72 74 72 28 24 6d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 20 27 2e 24 66 69 6c 65 50 61 74 68 2c trtr($map[$class].'.'.$filePath,
10600 20 27 5c 5c 27 2c 20 27 2f 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 .'\\',.'/'))).{.$io->writeError(
10620 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c .'<warning>Warning:.Ambiguous.cl
10640 61 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 22 27 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 ass.resolution,."'.$class.'"'..'
10660 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 62 6f 74 68 20 22 27 2e 24 6d 61 70 5b 24 63 6c 61 73 .was.found.in.both."'.$map[$clas
10680 73 5d 2e 27 22 20 61 6e 64 20 22 27 2e 24 66 69 6c 65 50 61 74 68 2e 27 22 2c 20 74 68 65 20 66 s].'".and."'.$filePath.'",.the.f
106a0 69 72 73 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 3b irst.will.be.used.</warning>'.);
106c0 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .}.}.}..return.$map;.}.........p
106e0 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 43 6c 61 73 73 rivate.static.function.findClass
10700 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 3d 20 50 48 50 5f 56 45 es($path).{.$extraTypes.=.PHP_VE
10720 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 34 30 30 20 3f 20 27 27 20 3a 20 27 7c 74 72 61 69 74 27 RSION_ID.<.50400.?.''.:.'|trait'
10740 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 ;.if.(defined('HHVM_VERSION').&&
10760 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 48 48 56 4d 5f 56 45 52 53 49 4f 4e 2c 20 27 .version_compare(HHVM_VERSION,.'
10780 33 2e 33 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 2e 3d 20 27 7c 3.3',.'>=')).{.$extraTypes..=.'|
107a0 65 6e 75 6d 27 3b 0a 7d 0a 0a 0a 20 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 40 70 68 70 5f 73 enum';.}......$contents.=.@php_s
107c0 74 72 69 70 5f 77 68 69 74 65 73 70 61 63 65 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 63 6f trip_whitespace($path);.if.(!$co
107e0 6e 74 65 6e 74 73 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 ntents).{.if.(!file_exists($path
10800 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 64 6f )).{.$message.=.'File.at."%s".do
10820 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 68 65 63 6b 20 79 6f 75 72 20 63 6c 61 73 73 6d 61 es.not.exist,.check.your.classma
10840 70 20 64 65 66 69 6e 69 74 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 72 65 p.definitions';.}.elseif.(!is_re
10860 61 64 61 62 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c adable($path)).{.$message.=.'Fil
10880 65 20 61 74 20 22 25 73 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2c 20 63 68 65 63 6b e.at."%s".is.not.readable,.check
108a0 20 69 74 73 20 70 65 72 6d 69 73 73 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 27 20 .its.permissions';.}.elseif.(''.
108c0 3d 3d 3d 20 74 72 69 6d 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 ===.trim(file_get_contents($path
108e0 29 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b ))).{...return.array();.}.else.{
10900 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 63 6f 75 6c 64 20 .$message.=.'File.at."%s".could.
10920 6e 6f 74 20 62 65 20 70 61 72 73 65 64 20 61 73 20 50 48 50 2c 20 69 74 20 6d 61 79 20 62 65 20 not.be.parsed.as.PHP,.it.may.be.
10940 62 69 6e 61 72 79 20 6f 72 20 63 6f 72 72 75 70 74 65 64 27 3b 0a 7d 0a 24 65 72 72 6f 72 20 3d binary.or.corrupted';.}.$error.=
10960 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 72 .error_get_last();.if.(isset($er
10980 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 50 ror['message'])).{.$message..=.P
109a0 48 50 5f 45 4f 4c 20 2e 20 27 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 65 73 73 61 67 65 20 HP_EOL...'The.following.message.
109c0 6d 61 79 20 62 65 20 68 65 6c 70 66 75 6c 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 72 may.be.helpful:'...PHP_EOL...$er
109e0 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e ror['message'];.}.throw.new.\Run
10a00 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 6d 65 73 73 61 67 65 2c 20 timeException(sprintf($message,.
10a20 24 70 61 74 68 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b $path));.}....if.(!preg_match('{
10a40 5c 62 28 3f 3a 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 72 61 54 79 70 65 \b(?:class|interface'.$extraType
10a60 73 2e 27 29 5c 73 7d 69 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 s.')\s}i',.$contents)).{.return.
10a80 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 array();.}....$contents.=.preg_r
10aa0 65 70 6c 61 63 65 28 27 7b 3c 3c 3c 5b 20 5c 74 5d 2a 28 5b 5c 27 22 5d 3f 29 28 5c 77 2b 29 5c eplace('{<<<[.\t]*([\'"]?)(\w+)\
10ac0 5c 31 28 3f 3a 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 28 3f 3a 2e 2a 3f 29 28 3f 3a 5c 72 5c 6e 7c 5c \1(?:\r\n|\n|\r)(?:.*?)(?:\r\n|\
10ae0 6e 7c 5c 72 29 28 3f 3a 5c 73 2a 29 5c 5c 32 28 3f 3d 5c 73 2b 7c 5b 3b 2c 2e 29 5d 29 7d 73 27 n|\r)(?:\s*)\\2(?=\s+|[;,.)])}s'
10b00 2c 20 27 6e 75 6c 6c 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 24 63 6f 6e 74 65 6e 74 ,.'null',.$contents);...$content
10b20 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 22 5b 5e 22 5c 5c 5c 5c 5d 2a 2b 28 5c s.=.preg_replace('{"[^"\\\\]*+(\
10b40 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 2b 29 2a 2b 22 7c 5c 27 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 2b \\\.[^"\\\\]*+)*+"|\'[^\'\\\\]*+
10b60 28 5c 5c 5c 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 2b 29 2a 2b 5c 27 7d 73 27 2c 20 27 6e 75 6c 6c (\\\\.[^\'\\\\]*+)*+\'}s',.'null
10b80 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 63 6f 6e ',.$contents);...if.(substr($con
10ba0 74 65 6e 74 73 2c 20 30 2c 20 32 29 20 21 3d 3d 20 27 3c 3f 27 29 20 7b 0a 24 63 6f 6e 74 65 6e tents,.0,.2).!==.'<?').{.$conten
10bc0 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 2e 2b 3f 3c 5c 3f 7d 73 27 2c 20 ts.=.preg_replace('{^.+?<\?}s',.
10be0 27 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 2c 20 31 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 '<?',.$contents,.1,.$replacement
10c00 73 29 3b 0a 69 66 20 28 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 3d 3d 3d 20 30 29 20 7b 0a 72 s);.if.($replacements.===.0).{.r
10c20 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d eturn.array();.}.}...$contents.=
10c40 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 3f 3e 2e 2b 3c 5c 3f 7d 73 27 2c 20 27 3f 3e .preg_replace('{\?>.+<\?}s',.'?>
10c60 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f <?',.$contents);...$pos.=.strrpo
10c80 73 28 24 63 6f 6e 74 65 6e 74 73 2c 20 27 3f 3e 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d s($contents,.'?>');.if.(false.!=
10ca0 3d 20 24 70 6f 73 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 73 75 62 73 74 =.$pos.&&.false.===.strpos(subst
10cc0 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 70 6f 73 29 2c 20 27 3c 3f 27 29 29 20 7b 0a 24 63 6f r($contents,.$pos),.'<?')).{.$co
10ce0 6e 74 65 6e 74 73 20 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 2c 20 24 70 ntents.=.substr($contents,.0,.$p
10d00 6f 73 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 3c 5c 3f 29 28 os);.}...if.(preg_match('{(<\?)(
10d20 3f 21 28 70 68 70 7c 68 68 29 29 7d 69 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 24 63 ?!(php|hh))}i',.$contents)).{.$c
10d40 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2f 2f 2e 2a 20 7c 20 ontents.=.preg_replace('{//.*.|.
10d60 2f 5c 2a 28 3f 3a 5b 5e 2a 5d 2b 2b 7c 5c 2a 28 3f 21 2f 29 29 2a 5c 2a 2f 7d 78 27 2c 20 27 27 /\*(?:[^*]++|\*(?!/))*\*/}x',.''
10d80 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 ,.$contents);.}..preg_match_all(
10da0 27 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 '{.............(?:..............
10dc0 20 20 20 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e 5d 29 28 3f 50 3c 74 79 70 65 3e 63 6c 61 73 73 7c ....\b(?<![\$:>])(?P<type>class|
10de0 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 72 61 54 79 70 65 73 2e 27 29 20 5c 73 2b 2b 20 28 interface'.$extraTypes.').\s++.(
10e00 3f 50 3c 6e 61 6d 65 3e 5b 61 2d 7a 41 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 3a 5d 5b 61 2d 7a 41 ?P<name>[a-zA-Z_\x7f-\xff:][a-zA
10e20 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 3a 5c 2d 5d 2a 2b 29 0a 20 20 20 20 20 20 20 20 20 -Z0-9_\x7f-\xff:\-]*+)..........
10e40 20 20 20 20 20 20 7c 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e 5d 29 28 3f 50 3c 6e 73 3e 6e 61 6d 65 ......|.\b(?<![\$:>])(?P<ns>name
10e60 73 70 61 63 65 29 20 28 3f 50 3c 6e 73 6e 61 6d 65 3e 5c 73 2b 2b 5b 61 2d 7a 41 2d 5a 5f 5c 78 space).(?P<nsname>\s++[a-zA-Z_\x
10e80 37 66 2d 5c 78 66 66 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 5d 2a 2b 28 7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(
10ea0 3f 3a 5c 73 2a 2b 5c 5c 5c 5c 5c 73 2a 2b 5b 61 2d 7a 41 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 5d ?:\s*+\\\\\s*+[a-zA-Z_\x7f-\xff]
10ec0 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 5d 2a 2b 29 2a 2b 29 3f 20 5c 73 2a [a-zA-Z0-9_\x7f-\xff]*+)*+)?.\s*
10ee0 2b 20 5b 5c 7b 3b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 7d 69 +.[\{;].............).........}i
10f00 78 27 2c 20 24 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 63 6c 61 73 x',.$contents,.$matches);..$clas
10f20 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a ses.=.array();.$namespace.=.'';.
10f40 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 63 .for.($i.=.0,.$len.=.count($matc
10f60 68 65 73 5b 27 74 79 70 65 27 5d 29 3b 20 24 69 20 3c 20 24 6c 65 6e 3b 20 24 69 2b 2b 29 20 7b hes['type']);.$i.<.$len;.$i++).{
10f80 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 27 6e 73 27 5d 5b 24 69 5d 29 29 .if.(!empty($matches['ns'][$i]))
10fa0 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 .{.$namespace.=.str_replace(arra
10fc0 79 28 27 20 27 2c 20 22 5c 74 22 2c 20 22 5c 72 22 2c 20 22 5c 6e 22 29 2c 20 27 27 2c 20 24 6d y('.',."\t",."\r",."\n"),.'',.$m
10fe0 61 74 63 68 65 73 5b 27 6e 73 6e 61 6d 65 27 5d 5b 24 69 5d 29 20 2e 20 27 5c 5c 27 3b 0a 7d 20 atches['nsname'][$i])...'\\';.}.
11000 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 5b else.{.$name.=.$matches['name'][
11020 24 69 5d 3b 0a 0a 20 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 27 65 78 74 65 6e 64 73 27 20 7c $i];...if.($name.===.'extends'.|
11040 7c 20 24 6e 61 6d 65 20 3d 3d 3d 20 27 69 6d 70 6c 65 6d 65 6e 74 73 27 29 20 7b 0a 63 6f 6e 74 |.$name.===.'implements').{.cont
11060 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 6e 61 6d 65 5b 30 5d 20 3d 3d 3d 20 27 3a 27 29 20 7b 0a inue;.}.if.($name[0].===.':').{.
11080 0a 20 24 6e 61 6d 65 20 3d 20 27 78 68 70 27 2e 73 75 62 73 74 72 28 73 74 72 5f 72 65 70 6c 61 ..$name.=.'xhp'.substr(str_repla
110a0 63 65 28 61 72 72 61 79 28 27 2d 27 2c 20 27 3a 27 29 2c 20 61 72 72 61 79 28 27 5f 27 2c 20 27 ce(array('-',.':'),.array('_',.'
110c0 5f 5f 27 29 2c 20 24 6e 61 6d 65 29 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6d 61 74 __'),.$name),.1);.}.elseif.($mat
110e0 63 68 65 73 5b 27 74 79 70 65 27 5d 5b 24 69 5d 20 3d 3d 3d 20 27 65 6e 75 6d 27 29 20 7b 0a 0a ches['type'][$i].===.'enum').{..
11100 20 0a 20 0a 20 0a 20 24 6e 61 6d 65 20 3d 20 72 74 72 69 6d 28 24 6e 61 6d 65 2c 20 27 3a 27 29 .......$name.=.rtrim($name,.':')
11120 3b 0a 7d 0a 24 63 6c 61 73 73 65 73 5b 5d 20 3d 20 6c 74 72 69 6d 28 24 6e 61 6d 65 73 70 61 63 ;.}.$classes[].=.ltrim($namespac
11140 65 20 2e 20 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 e...$name,.'\\');.}.}..return.$c
11160 6c 61 73 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d lasses;.}.}.<?php............nam
11180 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 espace.Composer;..use.Composer\I
111a0 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c O\IOInterface;.use.Composer\Util
111c0 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 \Filesystem;.use.Composer\Util\S
111e0 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 ilencer;.use.Symfony\Component\F
11200 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 61 63 68 65 0a inder\Finder;.......class.Cache.
11220 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 {.private.static.$cacheCollected
11240 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 .=.false;.private.$io;.private.$
11260 72 6f 6f 74 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 70 root;.private.$enabled.=.true;.p
11280 72 69 76 61 74 65 20 24 77 68 69 74 65 6c 69 73 74 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 rivate.$whitelist;.private.$file
112a0 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f system;........public.function._
112c0 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 63 61 63 _construct(IOInterface.$io,.$cac
112e0 68 65 44 69 72 2c 20 24 77 68 69 74 65 6c 69 73 74 20 3d 20 27 61 2d 7a 30 2d 39 2e 27 2c 20 46 heDir,.$whitelist.=.'a-z0-9.',.F
11300 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ilesystem.$filesystem.=.null).{.
11320 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 20 3d 20 72 $this->io.=.$io;.$this->root.=.r
11340 74 72 69 6d 28 24 63 61 63 68 65 44 69 72 2c 20 27 2f 5c 5c 27 29 20 2e 20 27 2f 27 3b 0a 24 74 trim($cacheDir,.'/\\')...'/';.$t
11360 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 3d 20 24 77 68 69 74 65 6c 69 73 74 3b 0a 24 74 68 his->whitelist.=.$whitelist;.$th
11380 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 is->filesystem.=.$filesystem.?:.
113a0 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 new.Filesystem();..if.(preg_matc
113c0 68 28 27 7b 28 5e 7c 5b 5c 5c 5c 5c 2f 5d 29 28 5c 24 6e 75 6c 6c 7c 4e 55 4c 7c 2f 64 65 76 2f h('{(^|[\\\\/])(\$null|NUL|/dev/
113e0 6e 75 6c 6c 29 28 5b 5c 5c 5c 5c 2f 5d 7c 24 29 7d 27 2c 20 24 63 61 63 68 65 44 69 72 29 29 20 null)([\\\\/]|$)}',.$cacheDir)).
11400 7b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 {.$this->enabled.=.false;..retur
11420 6e 3b 0a 7d 0a 0a 69 66 20 28 0a 28 21 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 n;.}..if.(.(!is_dir($this->root)
11440 20 26 26 20 21 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 6d 6b 64 69 72 27 2c 20 24 74 68 .&&.!Silencer::call('mkdir',.$th
11460 69 73 2d 3e 72 6f 6f 74 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 0a 7c 7c 20 21 69 73 5f 77 72 is->root,.0777,.true)).||.!is_wr
11480 69 74 61 62 6c 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 69 itable($this->root).).{.$this->i
114a0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 61 6e 6e 6f 74 20 63 o->writeError('<warning>Cannot.c
114c0 72 65 61 74 65 20 63 61 63 68 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 74 68 69 73 2d reate.cache.directory.'...$this-
114e0 3e 72 6f 6f 74 20 2e 20 27 2c 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 >root...',.or.directory.is.not.w
11500 72 69 74 61 62 6c 65 2e 20 50 72 6f 63 65 65 64 69 6e 67 20 77 69 74 68 6f 75 74 20 63 61 63 68 ritable..Proceeding.without.cach
11520 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 e</warning>');.$this->enabled.=.
11540 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e false;.}.}..public.function.isEn
11560 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 3b abled().{.return.$this->enabled;
11580 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 28 29 0a 7b 0a .}..public.function.getRoot().{.
115a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 return.$this->root;.}..public.fu
115c0 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e nction.read($file).{.if.($this->
115e0 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 enabled).{.$file.=.preg_replace(
11600 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d '{[^'.$this->whitelist.']}i',.'-
11620 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 ',.$file);.if.(file_exists($this
11640 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 ->root...$file)).{.$this->io->wr
11660 69 74 65 45 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 iteError('Reading.'.$this->root.
11680 2e 20 24 66 69 6c 65 2e 27 20 66 72 6f 6d 20 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 ..$file.'.from.cache',.true,.IOI
116a0 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 67 nterface::DEBUG);..return.file_g
116c0 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 et_contents($this->root...$file)
116e0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ;.}.}..return.false;.}..public.f
11700 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 66 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 29 0a unction.write($file,.$contents).
11720 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 {.if.($this->enabled).{.$file.=.
11740 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c preg_replace('{[^'.$this->whitel
11760 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e ist.']}i',.'-',.$file);..$this->
11780 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 57 72 69 74 69 6e 67 20 27 2e 24 74 68 69 73 2d io->writeError('Writing.'.$this-
117a0 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 69 6e 74 6f 20 63 61 63 68 65 27 2c 20 74 72 75 >root...$file.'.into.cache',.tru
117c0 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 74 72 79 20 7b 0a 72 e,.IOInterface::DEBUG);..try.{.r
117e0 65 74 75 72 6e 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 72 eturn.file_put_contents($this->r
11800 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 63 61 74 63 68 oot...$file,.$contents);.}.catch
11820 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 .(\ErrorException.$e).{.$this->i
11840 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 20 74 o->writeError('<warning>Failed.t
11860 6f 20 77 72 69 74 65 20 69 6e 74 6f 20 63 61 63 68 65 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 o.write.into.cache:.'.$e->getMes
11880 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 sage().'</warning>',.true,.IOInt
118a0 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 erface::DEBUG);.if.(preg_match('
118c0 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 5c 29 3a 20 4f 6e 6c 79 20 28 5b {^file_put_contents\(\):.Only.([
118e0 30 2d 39 5d 2b 29 20 6f 66 20 28 5b 30 2d 39 5d 2b 29 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 0-9]+).of.([0-9]+).bytes.written
11900 7d 27 2c 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 6d 29 29 20 7b 0a 0a 20 75 }',.$e->getMessage(),.$m)).{...u
11920 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 0a 24 6d 65 nlink($this->root...$file);..$me
11940 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 72 69 74 69 ssage.=.sprintf(.'<warning>Writi
11960 6e 67 20 25 31 24 73 20 69 6e 74 6f 20 63 61 63 68 65 20 66 61 69 6c 65 64 20 61 66 74 65 72 20 ng.%1$s.into.cache.failed.after.
11980 25 32 24 75 20 6f 66 20 25 33 24 75 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 2c 20 6f 6e 6c 79 %2$u.of.%3$u.bytes.written,.only
119a0 20 25 34 24 75 20 62 79 74 65 73 20 6f 66 20 66 72 65 65 20 73 70 61 63 65 20 61 76 61 69 6c 61 .%4$u.bytes.of.free.space.availa
119c0 62 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 ble</warning>',.$this->root...$f
119e0 69 6c 65 2c 0a 24 6d 5b 31 5d 2c 0a 24 6d 5b 32 5d 2c 0a 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 ile,.$m[1],.$m[2],.@disk_free_sp
11a00 61 63 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 29 ace($this->root...dirname($file)
11a20 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 ).);..$this->io->writeError($mes
11a40 73 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 sage);..return.false;.}..throw.$
11a60 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c e;.}.}..return.false;.}.....publ
11a80 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 72 6f 6d 28 24 66 69 6c 65 2c 20 24 73 6f 75 ic.function.copyFrom($file,.$sou
11aa0 72 63 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 rce).{.if.($this->enabled).{.$fi
11ac0 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 le.=.preg_replace('{[^'.$this->w
11ae0 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 24 74 68 hitelist.']}i',.'-',.$file);.$th
11b00 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 is->filesystem->ensureDirectoryE
11b20 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c xists(dirname($this->root...$fil
11b40 65 29 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 29 29 e));..if.(!file_exists($source))
11b60 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 .{.$this->io->writeError('<error
11b80 3e 27 2e 24 73 6f 75 72 63 65 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e >'.$source.'.does.not.exist,.can
11ba0 20 6e 6f 74 20 77 72 69 74 65 20 69 6e 74 6f 20 63 61 63 68 65 3c 2f 65 72 72 6f 72 3e 27 29 3b .not.write.into.cache</error>');
11bc0 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 .}.elseif.($this->io->isDebug())
11be0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 57 72 69 74 69 6e .{.$this->io->writeError('Writin
11c00 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 69 6e 74 6f 20 63 g.'.$this->root...$file.'.into.c
11c20 61 63 68 65 20 66 72 6f 6d 20 27 2e 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ache.from.'.$source);.}..return.
11c40 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c copy($source,.$this->root...$fil
11c60 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 e);.}..return.false;.}.....publi
11c80 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 54 6f 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 c.function.copyTo($file,.$target
11ca0 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 ).{.if.($this->enabled).{.$file.
11cc0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 =.preg_replace('{[^'.$this->whit
11ce0 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 elist.']}i',.'-',.$file);.if.(fi
11d00 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 le_exists($this->root...$file)).
11d20 7b 0a 74 72 79 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c {.try.{.touch($this->root...$fil
11d40 65 2c 20 66 69 6c 65 6d 74 69 6d 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 e,.filemtime($this->root...$file
11d60 29 2c 20 74 69 6d 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 ),.time());.}.catch.(\ErrorExcep
11d80 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 74 tion.$e).{.....Silencer::call('t
11da0 6f 75 63 68 27 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a ouch',.$this->root...$file);.}..
11dc0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 $this->io->writeError('Reading.'
11de0 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 66 72 6f 6d 20 63 61 63 68 .$this->root...$file.'.from.cach
11e00 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a e',.true,.IOInterface::DEBUG);..
11e20 72 65 74 75 72 6e 20 63 6f 70 79 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c return.copy($this->root...$file,
11e40 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a .$target);.}.}..return.false;.}.
11e60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 63 49 73 4e 65 63 65 73 73 61 72 79 28 29 .public.function.gcIsNecessary()
11e80 0a 7b 0a 72 65 74 75 72 6e 20 28 21 73 65 6c 66 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 .{.return.(!self::$cacheCollecte
11ea0 64 20 26 26 20 21 6d 74 5f 72 61 6e 64 28 30 2c 20 35 30 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 d.&&.!mt_rand(0,.50));.}..public
11ec0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 .function.remove($file).{.if.($t
11ee0 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 his->enabled).{.$file.=.preg_rep
11f00 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 lace('{[^'.$this->whitelist.']}i
11f20 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 ',.'-',.$file);.if.(file_exists(
11f40 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 $this->root...$file)).{.return.$
11f60 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e this->filesystem->unlink($this->
11f80 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 root...$file);.}.}..return.false
11fa0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 69 ;.}..public.function.clear().{.i
11fc0 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 f.($this->enabled).{.return.$thi
11fe0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 s->filesystem->removeDirectory($
12000 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a this->root);.}..return.false;.}.
12020 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 63 28 24 74 74 6c 2c 20 24 6d 61 78 53 69 .public.function.gc($ttl,.$maxSi
12040 7a 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 65 78 70 ze).{.if.($this->enabled).{.$exp
12060 69 72 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 29 3b 0a 24 65 78 70 69 72 65 2d 3e ire.=.new.\DateTime();.$expire->
12080 6d 6f 64 69 66 79 28 27 2d 27 2e 24 74 74 6c 2e 27 20 73 65 63 6f 6e 64 73 27 29 3b 0a 0a 24 66 modify('-'.$ttl.'.seconds');..$f
120a0 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 64 61 74 65 inder.=.$this->getFinder()->date
120c0 28 27 75 6e 74 69 6c 20 27 2e 24 65 78 70 69 72 65 2d 3e 66 6f 72 6d 61 74 28 27 59 2d 6d 2d 64 ('until.'.$expire->format('Y-m-d
120e0 20 48 3a 69 3a 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 .H:i:s'));.foreach.($finder.as.$
12100 66 69 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e file).{.$this->filesystem->unlin
12120 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 24 74 6f 74 k($file->getPathname());.}..$tot
12140 61 6c 53 69 7a 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 alSize.=.$this->filesystem->size
12160 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a 69 66 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 3e 20 ($this->root);.if.($totalSize.>.
12180 24 6d 61 78 53 69 7a 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 67 $maxSize).{.$iterator.=.$this->g
121a0 65 74 46 69 6e 64 65 72 28 29 2d 3e 73 6f 72 74 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 28 29 etFinder()->sortByAccessedTime()
121c0 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 77 68 69 6c 65 20 28 24 74 6f 74 61 6c 53 69 ->getIterator();.while.($totalSi
121e0 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 20 26 26 20 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 ze.>.$maxSize.&&.$iterator->vali
12200 64 28 29 29 20 7b 0a 24 66 69 6c 65 70 61 74 68 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 63 75 d()).{.$filepath.=.$iterator->cu
12220 72 72 65 6e 74 28 29 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 3b 0a 24 74 6f 74 61 6c 53 69 rrent()->getPathname();.$totalSi
12240 7a 65 20 2d 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 24 66 ze.-=.$this->filesystem->size($f
12260 69 6c 65 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c ilepath);.$this->filesystem->unl
12280 69 6e 6b 28 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 ink($filepath);.$iterator->next(
122a0 29 3b 0a 7d 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d 20 );.}.}..self::$cacheCollected.=.
122c0 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 true;..return.true;.}..return.fa
122e0 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 61 31 28 24 66 69 lse;.}..public.function.sha1($fi
12300 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c le).{.if.($this->enabled).{.$fil
12320 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 e.=.preg_replace('{[^'.$this->wh
12340 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 itelist.']}i',.'-',.$file);.if.(
12360 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 file_exists($this->root...$file)
12380 29 20 7b 0a 72 65 74 75 72 6e 20 73 68 61 31 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 ).{.return.sha1_file($this->root
123a0 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a ...$file);.}.}..return.false;.}.
123c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 61 32 35 36 28 24 66 69 6c 65 29 0a 7b .public.function.sha256($file).{
123e0 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 .if.($this->enabled).{.$file.=.p
12400 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 reg_replace('{[^'.$this->whiteli
12420 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f st.']}i',.'-',.$file);.if.(file_
12440 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 72 exists($this->root...$file)).{.r
12460 65 74 75 72 6e 20 68 61 73 68 5f 66 69 6c 65 28 27 73 68 61 32 35 36 27 2c 20 24 74 68 69 73 2d eturn.hash_file('sha256',.$this-
12480 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 >root...$file);.}.}..return.fals
124a0 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6e 64 e;.}..protected.function.getFind
124c0 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 2d 3e er().{.return.Finder::create()->
124e0 69 6e 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 2d 3e 66 69 6c 65 73 28 29 3b 0a 7d 0a 7d 0a 3c 3f in($this->root)->files();.}.}.<?
12500 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
12520 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e r\Command;..use.Symfony\Componen
12540 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
12560 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
12580 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tput\OutputInterface;.....class.
125a0 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 AboutCommand.extends.BaseCommand
125c0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 .{.protected.function.configure(
125e0 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 61 62 6f 75 74 27 29 0a 2d 3e 73 ).{.$this.->setName('about').->s
12600 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 74 68 65 20 73 68 6f 72 74 20 69 etDescription('Shows.the.short.i
12620 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 43 6f 6d 70 6f 73 65 72 2e 27 29 0a 2d 3e 73 nformation.about.Composer.').->s
12640 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 etHelp(.<<<EOT.<info>php.compose
12660 72 2e 70 68 61 72 20 61 62 6f 75 74 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 r.phar.about</info>.EOT.).;.}..p
12680 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 rotected.function.execute(InputI
126a0 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 nterface.$input,.OutputInterface
126c0 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 .$output).{.$this->getIO()->writ
126e0 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 43 6f 6d 70 6f 73 65 72 20 2d 20 44 65 70 65 6e e(.<<<EOT.<info>Composer.-.Depen
12700 64 65 6e 63 79 20 4d 61 6e 61 67 65 72 20 66 6f 72 20 50 48 50 3c 2f 69 6e 66 6f 3e 0a 3c 63 6f dency.Manager.for.PHP</info>.<co
12720 6d 6d 65 6e 74 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6d mment>Composer.is.a.dependency.m
12740 61 6e 61 67 65 72 20 74 72 61 63 6b 69 6e 67 20 6c 6f 63 61 6c 20 64 65 70 65 6e 64 65 6e 63 69 anager.tracking.local.dependenci
12760 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 73 20 61 6e 64 20 6c 69 62 72 61 72 69 65 es.of.your.projects.and.librarie
12780 73 2e 0a 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 20 s..See.https://getcomposer.org/.
127a0 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a for.more.information.</comment>.
127c0 45 4f 54 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 EOT.);.}.}.<?php............name
127e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d space.Composer\Command;..use.Com
12800 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 poser\Factory;.use.Composer\IO\I
12820 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b OInterface;.use.Composer\Config;
12840 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 .use.Composer\Composer;.use.Comp
12860 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 oser\Repository\CompositeReposit
12880 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 ory;.use.Composer\Repository\Rep
128a0 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 ositoryFactory;.use.Composer\Scr
128c0 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 ipt\ScriptEvents;.use.Composer\P
128e0 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\CommandEvent;.use.Composer
12900 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \Plugin\PluginEvents;.use.Compos
12920 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c er\Util\Filesystem;.use.Symfony\
12940 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 Component\Console\Input\InputArg
12960 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ument;.use.Symfony\Component\Con
12980 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
129a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
129c0 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e nputOption;.use.Symfony\Componen
129e0 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 t\Console\Output\OutputInterface
12a00 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 20 65 78 74 ;.......class.ArchiveCommand.ext
12a20 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ends.BaseCommand.{.protected.fun
12a40 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e ction.configure().{.$this.->setN
12a60 61 6d 65 28 27 61 72 63 68 69 76 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 ame('archive').->setDescription(
12a80 27 43 72 65 61 74 65 73 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 20 74 68 69 73 20 63 6f 6d 70 'Creates.an.archive.of.this.comp
12aa0 6f 73 65 72 20 70 61 63 6b 61 67 65 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 oser.package.').->setDefinition(
12ac0 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 array(.new.InputArgument('packag
12ae0 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 e',.InputArgument::OPTIONAL,.'Th
12b00 65 20 70 61 63 6b 61 67 65 20 74 6f 20 61 72 63 68 69 76 65 20 69 6e 73 74 65 61 64 20 6f 66 20 e.package.to.archive.instead.of.
12b20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 the.current.project'),.new.Input
12b40 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e Argument('version',.InputArgumen
12b60 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 41 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 t::OPTIONAL,.'A.version.constrai
12b80 6e 74 20 74 6f 20 66 69 6e 64 20 74 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 61 72 63 68 69 76 nt.to.find.the.package.to.archiv
12ba0 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 e'),.new.InputOption('format',.'
12bc0 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c f',.InputOption::VALUE_REQUIRED,
12be0 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 61 72 63 68 69 76 .'Format.of.the.resulting.archiv
12c00 65 3a 20 74 61 72 20 6f 72 20 7a 69 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e e:.tar.or.zip'),.new.InputOption
12c20 28 27 64 69 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('dir',.null,.InputOption::VALUE
12c40 5f 52 45 51 55 49 52 45 44 2c 20 27 57 72 69 74 65 20 74 68 65 20 61 72 63 68 69 76 65 20 74 6f _REQUIRED,.'Write.the.archive.to
12c60 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 .this.directory'),.new.InputOpti
12c80 6f 6e 28 27 66 69 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 on('file',.null,.InputOption::VA
12ca0 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 57 72 69 74 65 20 74 68 65 20 61 72 63 68 69 76 65 LUE_REQUIRED,.'Write.the.archive
12cc0 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 66 69 6c 65 20 6e 61 6d 65 2e 27 0a 2e 27 20 4e .with.the.given.file.name.'..'.N
12ce0 6f 74 65 20 74 68 61 74 20 74 68 65 20 66 6f 72 6d 61 74 20 77 69 6c 6c 20 62 65 20 61 70 70 65 ote.that.the.format.will.be.appe
12d00 6e 64 65 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 nded.'),.new.InputOption('ignore
12d20 2d 66 69 6c 74 65 72 73 27 2c 20 66 61 6c 73 65 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 -filters',.false,.InputOption::V
12d40 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 66 69 6c 74 65 72 73 20 77 68 65 6e 20 ALUE_NONE,.'Ignore.filters.when.
12d60 73 61 76 69 6e 67 20 70 61 63 6b 61 67 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a saving.package'),.)).->setHelp(.
12d80 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 61 72 63 68 69 76 65 3c 2f 69 6e 66 6f 3e 20 <<<EOT.The.<info>archive</info>.
12da0 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 20 74 68 command.creates.an.archive.of.th
12dc0 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 6d 61 74 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 e.specified.format.containing.th
12de0 65 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 66 20 74 68 65 20 43 e.files.and.directories.of.the.C
12e00 6f 6d 70 6f 73 65 72 20 70 72 6f 6a 65 63 74 20 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 omposer.project.or.the.specified
12e20 0a 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f .package.in.the.specified.versio
12e40 6e 20 61 6e 64 20 77 72 69 74 65 73 20 69 74 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 n.and.writes.it.to.the.specified
12e60 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e .directory...<info>php.composer.
12e80 70 68 61 72 20 61 72 63 68 69 76 65 20 5b 2d 2d 66 6f 72 6d 61 74 3d 7a 69 70 5d 20 5b 2d 2d 64 phar.archive.[--format=zip].[--d
12ea0 69 72 3d 2f 66 6f 6f 5d 20 5b 70 61 63 6b 61 67 65 20 5b 76 65 72 73 69 6f 6e 5d 5d 3c 2f 69 6e ir=/foo].[package.[version]]</in
12ec0 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d fo>..Read.more.at.https://getcom
12ee0 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 61 72 63 68 69 76 65 0a poser.org/doc/03-cli.md#archive.
12f00 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 EOT.).;.}..protected.function.ex
12f20 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 ecute(InputInterface.$input,.Out
12f40 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 putInterface.$output).{.$config.
12f60 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 63 6f 6d 70 =.Factory::createConfig();.$comp
12f80 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 oser.=.$this->getComposer(false)
12fa0 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 ;.if.($composer).{.$commandEvent
12fc0 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 .=.new.CommandEvent(PluginEvents
12fe0 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 61 72 63 68 69 76 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f ::COMMAND,.'archive',.$input,.$o
13000 75 74 70 75 74 29 3b 0a 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 63 6f 6d 70 utput);.$eventDispatcher.=.$comp
13020 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 3b 0a 24 65 76 65 oser->getEventDispatcher();.$eve
13040 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 ntDispatcher->dispatch($commandE
13060 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b vent->getName(),.$commandEvent);
13080 0a 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 .$eventDispatcher->dispatchScrip
130a0 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d 44 29 t(ScriptEvents::PRE_ARCHIVE_CMD)
130c0 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ;.}..if.(null.===.$input->getOpt
130e0 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 ion('format')).{.$input->setOpti
13100 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 72 63 68 69 on('format',.$config->get('archi
13120 76 65 2d 66 6f 72 6d 61 74 27 29 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e ve-format'));.}.if.(null.===.$in
13140 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d put->getOption('dir')).{.$input-
13160 3e 73 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 >setOption('dir',.$config->get('
13180 61 72 63 68 69 76 65 2d 64 69 72 27 29 29 3b 0a 7d 0a 0a 24 72 65 74 75 72 6e 43 6f 64 65 20 3d archive-dir'));.}..$returnCode.=
131a0 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 28 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c .$this->archive(.$this->getIO(),
131c0 0a 24 63 6f 6e 66 69 67 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 .$config,.$input->getArgument('p
131e0 61 63 6b 61 67 65 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 ackage'),.$input->getArgument('v
13200 65 72 73 69 6f 6e 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 ersion'),.$input->getOption('for
13220 6d 61 74 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 29 2c mat'),.$input->getOption('dir'),
13240 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 29 2c 0a 24 69 6e 70 .$input->getOption('file'),.$inp
13260 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 66 69 6c 74 65 72 73 27 29 2c ut->getOption('ignore-filters'),
13280 0a 24 63 6f 6d 70 6f 73 65 72 0a 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 74 75 72 6e .$composer.);..if.(0.===.$return
132a0 43 6f 64 65 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e Code.&&.$composer).{.$composer->
132c0 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 getEventDispatcher()->dispatchSc
132e0 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 52 43 48 49 56 45 5f ript(ScriptEvents::POST_ARCHIVE_
13300 43 4d 44 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 43 6f 64 65 3b 0a 7d 0a 0a CMD);.}..return.$returnCode;.}..
13320 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 49 4f 49 6e 74 protected.function.archive(IOInt
13340 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 erface.$io,.Config.$config,.$pac
13360 6b 61 67 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c kageName.=.null,.$version.=.null
13380 2c 20 24 66 6f 72 6d 61 74 20 3d 20 27 74 61 72 27 2c 20 24 64 65 73 74 20 3d 20 27 2e 27 2c 20 ,.$format.=.'tar',.$dest.=.'.',.
133a0 24 66 69 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 $fileName.=.null,.$ignoreFilters
133c0 20 3d 20 66 61 6c 73 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e .=.false,.Composer.$composer.=.n
133e0 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 61 72 63 68 69 76 65 ull).{.if.($composer).{.$archive
13400 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 72 63 68 69 76 65 4d Manager.=.$composer->getArchiveM
13420 61 6e 61 67 65 72 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 anager();.}.else.{.$factory.=.ne
13440 77 20 46 61 63 74 6f 72 79 3b 0a 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 66 w.Factory;.$downloadManager.=.$f
13460 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 actory->createDownloadManager($i
13480 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 o,.$config);.$archiveManager.=.$
134a0 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 63 factory->createArchiveManager($c
134c0 6f 6e 66 69 67 2c 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 onfig,.$downloadManager);.}..if.
134e0 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 ($packageName).{.$package.=.$thi
13500 73 2d 3e 73 65 6c 65 63 74 50 61 63 6b 61 67 65 28 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 4e 61 s->selectPackage($io,.$packageNa
13520 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b me,.$version);..if.(!$package).{
13540 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d .return.1;.}.}.else.{.$package.=
13560 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 .$this->getComposer()->getPackag
13580 65 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 e();.}..$io->writeError('<info>C
135a0 72 65 61 74 69 6e 67 20 74 68 65 20 61 72 63 68 69 76 65 20 69 6e 74 6f 20 22 27 2e 24 64 65 73 reating.the.archive.into."'.$des
135c0 74 2e 27 22 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 24 t.'".</info>');.$packagePath.=.$
135e0 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2d 3e 61 72 63 68 69 76 65 28 24 70 61 63 6b 61 67 65 archiveManager->archive($package
13600 2c 20 24 66 6f 72 6d 61 74 2c 20 24 64 65 73 74 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 69 67 ,.$format,.$dest,.$fileName,.$ig
13620 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 noreFilters);.$fs.=.new.Filesyst
13640 65 6d 3b 0a 24 73 68 6f 72 74 50 61 74 68 20 3d 20 24 66 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 em;.$shortPath.=.$fs->findShorte
13660 73 74 50 61 74 68 28 67 65 74 63 77 64 28 29 2c 20 24 70 61 63 6b 61 67 65 50 61 74 68 2c 20 74 stPath(getcwd(),.$packagePath,.t
13680 72 75 65 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 72 65 61 74 65 64 3a rue);..$io->writeError('Created:
136a0 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 74 72 6c 65 6e 28 24 73 .',.false);.$io->write(strlen($s
136c0 68 6f 72 74 50 61 74 68 29 20 3c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 50 61 74 68 29 hortPath).<.strlen($packagePath)
136e0 20 3f 20 24 73 68 6f 72 74 50 61 74 68 20 3a 20 24 70 61 63 6b 61 67 65 50 61 74 68 29 3b 0a 0a .?.$shortPath.:.$packagePath);..
13700 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 return.0;.}..protected.function.
13720 73 65 6c 65 63 74 50 61 63 6b 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 selectPackage(IOInterface.$io,.$
13740 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a packageName,.$version.=.null).{.
13760 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 53 65 61 72 63 68 69 6e 67 $io->writeError('<info>Searching
13780 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 70 61 63 6b 61 67 65 2e 3c 2f 69 6e 66 .for.the.specified.package.</inf
137a0 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 o>');..if.($composer.=.$this->ge
137c0 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d tComposer(false)).{.$localRepo.=
137e0 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 .$composer->getRepositoryManager
13800 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 20 ()->getLocalRepository();.$repo.
13820 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f =.new.CompositeRepository(array_
13840 6d 65 72 67 65 28 61 72 72 61 79 28 24 6c 6f 63 61 6c 52 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 merge(array($localRepo),.$compos
13860 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 er->getRepositoryManager()->getR
13880 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 epositories()));.}.else.{.$defau
138a0 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 ltRepos.=.RepositoryFactory::def
138c0 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 69 6f 2d 3e aultRepos($this->getIO());.$io->
138e0 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 writeError('No.composer.json.fou
13900 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 65 61 nd.in.the.current.directory,.sea
13920 72 63 68 69 6e 67 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 rching.packages.from.'...implode
13940 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 (',.',.array_keys($defaultRepos)
13960 29 29 3b 0a 24 72 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 ));.$repo.=.new.CompositeReposit
13980 6f 72 79 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 ory($defaultRepos);.}..$packages
139a0 20 3d 20 24 72 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 4e .=.$repo->findPackages($packageN
139c0 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 63 6b ame,.$version);..if.(count($pack
139e0 61 67 65 73 29 20 3e 20 31 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 70 ages).>.1).{.$package.=.reset($p
13a00 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f ackages);.$io->writeError('<info
13a20 3e 46 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 65 20 6d 61 74 63 68 65 73 2c 20 73 65 6c 65 63 74 65 >Found.multiple.matches,.selecte
13a40 64 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e d.'.$package->getPrettyString().
13a60 27 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 41 6c '.</info>');.$io->writeError('Al
13a80 74 65 72 6e 61 74 69 76 65 73 20 77 65 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 ternatives.were.'.implode(',.',.
13aa0 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 70 29 20 7b 0a 72 65 74 75 72 6e array_map(function.($p).{.return
13ac0 20 24 70 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 2c 20 24 70 61 63 6b .$p->getPrettyString();.},.$pack
13ae0 61 67 65 73 29 29 2e 27 2e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 63 ages)).'.');.$io->writeError('<c
13b00 6f 6d 6d 65 6e 74 3e 50 6c 65 61 73 65 20 75 73 65 20 61 20 6d 6f 72 65 20 73 70 65 63 69 66 69 omment>Please.use.a.more.specifi
13b20 63 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 70 69 63 6b 20 61 20 64 69 66 66 65 72 65 6e 74 c.constraint.to.pick.a.different
13b40 20 70 61 63 6b 61 67 65 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 .package.</comment>');.}.elseif.
13b60 28 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 ($packages).{.$package.=.reset($
13b80 70 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 packages);.$io->writeError('<inf
13ba0 6f 3e 46 6f 75 6e 64 20 61 6e 20 65 78 61 63 74 20 6d 61 74 63 68 20 27 2e 24 70 61 63 6b 61 67 o>Found.an.exact.match.'.$packag
13bc0 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 29 e->getPrettyString().'.</info>')
13be0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 ;.}.else.{.$io->writeError('<err
13c00 6f 72 3e 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 70 61 63 6b 61 67 65 20 6d 61 74 63 or>Could.not.find.a.package.matc
13c20 68 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 hing.'.$packageName.'.</error>')
13c40 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b ;..return.false;.}..return.$pack
13c60 61 67 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 age;.}.}.<?php............namesp
13c80 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f ace.Composer\Command;..use.Compo
13ca0 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 ser\Composer;.use.Composer\Confi
13cc0 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 g;.use.Composer\Console\Applicat
13ce0 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 ion;.use.Composer\Factory;.use.C
13d00 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
13d20 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 oser\IO\NullIO;.use.Composer\Plu
13d40 67 69 6e 5c 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 gin\PreCommandRunEvent;.use.Comp
13d60 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 oser\Plugin\PluginEvents;.use.Sy
13d80 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
13da0 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
13dc0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ent\Console\Output\OutputInterfa
13de0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
13e00 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 e\Command\Command;........abstra
13e20 63 74 20 63 6c 61 73 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d ct.class.BaseCommand.extends.Com
13e40 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a mand.{....private.$composer;....
13e60 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .private.$io;........public.func
13e80 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 20 3d 20 74 72 75 tion.getComposer($required.=.tru
13ea0 65 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 e,.$disablePlugins.=.null).{.if.
13ec0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 61 70 (null.===.$this->composer).{.$ap
13ee0 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f plication.=.$this->getApplicatio
13f00 6e 28 29 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 n();.if.($application.instanceof
13f20 20 41 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 .Application).{..$this->composer
13f40 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 .=.$application->getComposer($re
13f60 71 75 69 72 65 64 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 20 65 6c 73 65 quired,.$disablePlugins);.}.else
13f80 69 66 20 28 24 72 65 71 75 69 72 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 if.($required).{.throw.new.\Runt
13fa0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 imeException(.'Could.not.create.
13fc0 61 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6e 63 65 2c 20 79 6f a.Composer\Composer.instance,.yo
13fe0 75 20 6d 75 73 74 20 69 6e 6a 65 63 74 20 27 2e 0a 27 6f 6e 65 20 69 66 20 74 68 69 73 20 63 6f u.must.inject.'..'one.if.this.co
14000 6d 6d 61 6e 64 20 69 73 20 6e 6f 74 20 75 73 65 64 20 77 69 74 68 20 61 20 43 6f 6d 70 6f 73 65 mmand.is.not.used.with.a.Compose
14020 72 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 27 0a r\Console\Application.instance'.
14040 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a );.}.}..return.$this->composer;.
14060 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 70 6f 73 65 }.....public.function.setCompose
14080 72 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 r(Composer.$composer).{.$this->c
140a0 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 omposer.=.$composer;.}.....publi
140c0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 24 74 68 c.function.resetComposer().{.$th
140e0 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 67 65 74 41 is->composer.=.null;.$this->getA
14100 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 7d pplication()->resetComposer();.}
14120 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 78 79 .........public.function.isProxy
14140 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a Command().{.return.false;.}.....
14160 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 69 66 20 28 6e 75 public.function.getIO().{.if.(nu
14180 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e ll.===.$this->io).{.$application
141a0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 69 66 20 28 .=.$this->getApplication();.if.(
141c0 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 $application.instanceof.Applicat
141e0 69 6f 6e 29 20 7b 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e ion).{..$this->io.=.$application
14200 2d 3e 67 65 74 49 4f 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 ->getIO();.}.else.{.$this->io.=.
14220 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d new.NullIO();.}.}..return.$this-
14240 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 4f >io;.}.....public.function.setIO
14260 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 (IOInterface.$io).{.$this->io.=.
14280 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e $io;.}.....protected.function.in
142a0 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 itialize(InputInterface.$input,.
142c0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 64 69 OutputInterface.$output).{...$di
142e0 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 sablePlugins.=.$input->hasParame
14300 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 3b 0a 24 63 6f 6d 70 terOption('--no-plugins');.$comp
14320 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c oser.=.$this->getComposer(false,
14340 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 .$disablePlugins);.if.(null.===.
14360 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 $composer).{.$composer.=.Factory
14380 3a 3a 63 72 65 61 74 65 47 6c 6f 62 61 6c 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 20 24 ::createGlobal($this->getIO(),.$
143a0 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 disablePlugins);.}.if.($composer
143c0 29 20 7b 0a 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 ).{.$preCommandRunEvent.=.new.Pr
143e0 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 eCommandRunEvent(PluginEvents::P
14400 52 45 5f 43 4f 4d 4d 41 4e 44 5f 52 55 4e 2c 20 24 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 RE_COMMAND_RUN,.$input,.$this->g
14420 65 74 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 etName());.$composer->getEventDi
14440 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 43 6f 6d 6d 61 6e 64 spatcher()->dispatch($preCommand
14460 52 75 6e 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 43 6f 6d 6d 61 6e 64 RunEvent->getName(),.$preCommand
14480 52 75 6e 45 76 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 RunEvent);.}..if.(true.===.$inpu
144a0 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e t->hasParameterOption(array('--n
144c0 6f 2d 61 6e 73 69 27 29 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 o-ansi')).&&.$input->hasOption('
144e0 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 no-progress')).{.$input->setOpti
14500 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 61 72 65 on('no-progress',.true);.}..pare
14520 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b nt::initialize($input,.$output);
14540 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .}...........protected.function.
14560 67 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 43 6f 6e 66 69 getPreferredInstallOptions(Confi
14580 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 g.$config,.InputInterface.$input
145a0 2c 20 24 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 3d ,.$keepVcsRequiresPreferSource.=
145c0 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b .false).{.$preferSource.=.false;
145e0 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 73 77 69 74 63 68 20 28 24 .$preferDist.=.false;..switch.($
14600 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 config->get('preferred-install')
14620 29 20 7b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 ).{.case.'source':.$preferSource
14640 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 70 72 .=.true;.break;.case.'dist':.$pr
14660 65 66 65 72 44 69 73 74 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 61 75 eferDist.=.true;.break;.case.'au
14680 74 6f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 69 to':.default:...break;.}..if.($i
146a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 nput->getOption('prefer-source')
146c0 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 .||.$input->getOption('prefer-di
146e0 73 74 27 29 20 7c 7c 20 28 24 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 st').||.($keepVcsRequiresPreferS
14700 6f 75 72 63 65 20 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6b 65 65 70 ource.&&.$input->hasOption('keep
14720 2d 76 63 73 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 -vcs').&&.$input->getOption('kee
14740 70 2d 76 63 73 27 29 29 29 20 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 69 6e 70 p-vcs'))).{.$preferSource.=.$inp
14760 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 20 7c ut->getOption('prefer-source').|
14780 7c 20 28 24 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 |.($keepVcsRequiresPreferSource.
147a0 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 &&.$input->hasOption('keep-vcs')
147c0 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 .&&.$input->getOption('keep-vcs'
147e0 29 29 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ));.$preferDist.=.$input->getOpt
14800 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 ion('prefer-dist');.}..return.ar
14820 72 61 79 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 3b ray($preferSource,.$preferDist);
14840 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
14860 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c Composer\Command;..use.Composer\
14880 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d DependencyResolver\Pool;.use.Com
148a0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 poser\Package\Link;.use.Composer
148c0 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 \Package\PackageInterface;.use.C
148e0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f omposer\Repository\ArrayReposito
14900 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 ry;.use.Composer\Repository\Comp
14920 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 ositeRepository;.use.Composer\Re
14940 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 pository\PlatformRepository;.use
14960 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 .Composer\Repository\RepositoryF
14980 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d actory;.use.Composer\Plugin\Comm
149a0 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c andEvent;.use.Composer\Plugin\Pl
149c0 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e uginEvents;.use.Symfony\Componen
149e0 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 t\Console\Formatter\OutputFormat
14a00 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 terStyle;.use.Composer\Package\V
14a20 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ersion\VersionParser;.use.Symfon
14a40 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 y\Component\Console\Helper\Table
14a60 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
14a80 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Input\InputArgument;.use.Symfony
14aa0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e \Component\Console\Input\InputIn
14ac0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
14ae0 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 onsole\Input\InputOption;.use.Sy
14b00 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f mfony\Component\Console\Output\O
14b20 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 61 73 65 utputInterface;.......class.Base
14b40 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f DependencyCommand.extends.BaseCo
14b60 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 47 45 20 3d mmand.{.const.ARGUMENT_PACKAGE.=
14b80 20 27 70 61 63 6b 61 67 65 27 3b 0a 63 6f 6e 73 74 20 41 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 .'package';.const.ARGUMENT_CONST
14ba0 52 41 49 4e 54 20 3d 20 27 63 6f 6e 73 74 72 61 69 6e 74 27 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 RAINT.=.'constraint';.const.OPTI
14bc0 4f 4e 5f 52 45 43 55 52 53 49 56 45 20 3d 20 27 72 65 63 75 72 73 69 76 65 27 3b 0a 63 6f 6e 73 ON_RECURSIVE.=.'recursive';.cons
14be0 74 20 4f 50 54 49 4f 4e 5f 54 52 45 45 20 3d 20 27 74 72 65 65 27 3b 0a 0a 70 72 6f 74 65 63 74 t.OPTION_TREE.=.'tree';..protect
14c00 65 64 20 24 63 6f 6c 6f 72 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ed.$colors;.....protected.functi
14c20 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 69 6e on.configure().{.$this->setDefin
14c40 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 73 ition(array(.new.InputArgument(s
14c60 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 47 45 2c 20 49 6e 70 75 74 41 72 67 75 elf::ARGUMENT_PACKAGE,.InputArgu
14c80 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 ment::REQUIRED,.'Package.to.insp
14ca0 65 63 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 ect'),.new.InputArgument(self::A
14cc0 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e RGUMENT_CONSTRAINT,.InputArgumen
14ce0 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 4f 70 74 69 6f 6e 61 6c 20 76 65 72 73 69 6f 6e 20 63 t::OPTIONAL,.'Optional.version.c
14d00 6f 6e 73 74 72 61 69 6e 74 27 2c 20 27 2a 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f onstraint',.'*'),.new.InputOptio
14d20 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 56 45 2c 20 27 72 27 2c 20 49 n(self::OPTION_RECURSIVE,.'r',.I
14d40 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 63 75 72 73 69 nputOption::VALUE_NONE,.'Recursi
14d60 76 65 6c 79 20 72 65 73 6f 6c 76 65 73 20 75 70 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 70 61 63 vely.resolves.up.to.the.root.pac
14d80 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 kage'),.new.InputOption(self::OP
14da0 54 49 4f 4e 5f 54 52 45 45 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c TION_TREE,.'t',.InputOption::VAL
14dc0 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 69 6e 74 73 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 UE_NONE,.'Prints.the.results.as.
14de0 61 20 6e 65 73 74 65 64 20 74 72 65 65 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a a.nested.tree'),.));.}..........
14e00 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 45 78 65 63 75 74 65 28 49 6e 70 protected.function.doExecute(Inp
14e20 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
14e40 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 76 65 72 74 65 64 20 3d 20 66 61 6c 73 65 29 0a ace.$output,.$inverted.=.false).
14e60 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 {...$composer.=.$this->getCompos
14e80 65 72 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e er();.$commandEvent.=.new.Comman
14ea0 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 24 74 dEvent(PluginEvents::COMMAND,.$t
14ec0 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 his->getName(),.$input,.$output)
14ee0 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 ;.$composer->getEventDispatcher(
14f00 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 )->dispatch($commandEvent->getNa
14f20 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 0a 20 24 70 6c 61 74 66 6f me(),.$commandEvent);....$platfo
14f40 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 rmOverrides.=.$composer->getConf
14f60 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 ig()->get('platform').?:.array()
14f80 3b 0a 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 ;.$repository.=.new.CompositeRep
14fa0 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 0a 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f ository(array(.new.ArrayReposito
14fc0 72 79 28 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 ry(array($composer->getPackage()
14fe0 29 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 )),.$composer->getRepositoryMana
15000 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 0a 6e 65 77 ger()->getLocalRepository(),.new
15020 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c .PlatformRepository(array(),.$pl
15040 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 2c 0a 29 29 3b 0a 24 70 6f 6f 6c 20 3d 20 6e 65 atformOverrides),.));.$pool.=.ne
15060 77 20 50 6f 6f 6c 28 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 w.Pool();.$pool->addRepository($
15080 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 0a 20 6c 69 73 74 28 24 6e 65 65 64 6c 65 2c 20 24 74 repository);....list($needle,.$t
150a0 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 3d 20 61 72 72 61 79 5f 70 61 64 28 0a 65 78 70 6c extConstraint).=.array_pad(.expl
150c0 6f 64 65 28 27 3a 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 73 65 6c ode(':',.$input->getArgument(sel
150e0 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 47 45 29 29 2c 0a 32 2c 0a 24 69 6e 70 75 74 f::ARGUMENT_PACKAGE)),.2,.$input
15100 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 43 4f 4e ->getArgument(self::ARGUMENT_CON
15120 53 54 52 41 49 4e 54 29 0a 29 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c STRAINT).);....$packages.=.$pool
15140 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 65 65 64 6c ->whatProvides(strtolower($needl
15160 65 29 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 74 68 72 e));.if.(empty($packages)).{.thr
15180 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
151a0 28 73 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 (sprintf('Could.not.find.package
151c0 20 22 25 73 22 20 69 6e 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 27 2c 20 24 6e 65 65 64 6c 65 29 ."%s".in.your.project',.$needle)
151e0 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 21 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 );.}......if.(!$repository->find
15200 50 61 63 6b 61 67 65 28 24 6e 65 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 Package($needle,.$textConstraint
15220 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 )).{.$defaultRepos.=.new.Composi
15240 74 65 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a teRepository(RepositoryFactory::
15260 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 29 3b 0a 69 defaultRepos($this->getIO()));.i
15280 66 20 28 24 6d 61 74 63 68 20 3d 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 2d 3e 66 69 6e 64 50 f.($match.=.$defaultRepos->findP
152a0 61 63 6b 61 67 65 28 24 6e 65 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 ackage($needle,.$textConstraint)
152c0 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 6e ).{.$repository->addRepository(n
152e0 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 63 6c 6f 6e 65 20 24 ew.ArrayRepository(array(clone.$
15300 6d 61 74 63 68 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 match)));.}.}....$needles.=.arra
15320 79 28 24 6e 65 65 64 6c 65 29 3b 0a 69 66 20 28 24 69 6e 76 65 72 74 65 64 29 20 7b 0a 66 6f 72 y($needle);.if.($inverted).{.for
15340 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 each.($packages.as.$package).{.$
15360 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 65 65 64 6c 65 73 2c 20 needles.=.array_merge($needles,.
15380 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 4c 69 6e 6b 20 24 6c 69 6e 6b 29 20 array_map(function.(Link.$link).
153a0 7b 0a 72 65 74 75 72 6e 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 2c 20 {.return.$link->getTarget();.},.
153c0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 29 3b 0a 7d 0a 7d 0a 0a $package->getReplaces()));.}.}..
153e0 0a 20 69 66 20 28 27 2a 27 20 21 3d 3d 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b ..if.('*'.!==.$textConstraint).{
15400 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 .$versionParser.=.new.VersionPar
15420 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 ser();.$constraint.=.$versionPar
15440 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 74 65 78 74 43 6f 6e 73 74 ser->parseConstraints($textConst
15460 72 61 69 6e 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e raint);.}.else.{.$constraint.=.n
15480 75 6c 6c 3b 0a 7d 0a 0a 0a 20 24 72 65 6e 64 65 72 54 72 65 65 20 3d 20 24 69 6e 70 75 74 2d 3e ull;.}....$renderTree.=.$input->
154a0 67 65 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 54 52 45 45 29 3b 0a 24 72 getOption(self::OPTION_TREE);.$r
154c0 65 63 75 72 73 69 76 65 20 3d 20 24 72 65 6e 64 65 72 54 72 65 65 20 7c 7c 20 24 69 6e 70 75 74 ecursive.=.$renderTree.||.$input
154e0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 ->getOption(self::OPTION_RECURSI
15500 56 45 29 3b 0a 0a 0a 20 24 72 65 73 75 6c 74 73 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e VE);....$results.=.$repository->
15520 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6e 65 65 64 6c 65 73 2c 20 24 63 6f 6e 73 74 72 61 getDependents($needles,.$constra
15540 69 6e 74 2c 20 24 69 6e 76 65 72 74 65 64 2c 20 24 72 65 63 75 72 73 69 76 65 29 3b 0a 69 66 20 int,.$inverted,.$recursive);.if.
15560 28 65 6d 70 74 79 28 24 72 65 73 75 6c 74 73 29 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 28 6e 75 (empty($results)).{.$extra.=.(nu
15580 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 3f 20 73 70 72 69 6e 74 66 28 27 20 ll.!==.$constraint).?.sprintf('.
155a0 69 6e 20 76 65 72 73 69 6f 6e 73 20 25 73 6d 61 74 63 68 69 6e 67 20 25 73 27 2c 20 24 69 6e 76 in.versions.%smatching.%s',.$inv
155c0 65 72 74 65 64 20 3f 20 27 6e 6f 74 20 27 20 3a 20 27 27 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 erted.?.'not.'.:.'',.$textConstr
155e0 61 69 6e 74 29 20 3a 20 27 27 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 aint).:.'';.$this->getIO()->writ
15600 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c 69 6e 66 6f 3e 54 68 65 72 65 20 69 73 20 eError(sprintf(.'<info>There.is.
15620 6e 6f 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f no.installed.package.depending.o
15640 6e 20 22 25 73 22 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 6e 65 65 64 6c 65 2c 0a 24 65 78 74 72 n."%s"%s</info>',.$needle,.$extr
15660 61 0a 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 6e 64 65 72 54 72 65 65 29 20 7b 0a 24 a.));.}.elseif.($renderTree).{.$
15680 74 68 69 73 2d 3e 69 6e 69 74 53 74 79 6c 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 6f 6f 74 this->initStyles($output);.$root
156a0 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 30 5d 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d .=.$packages[0];.$this->getIO()-
156c0 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 >write(sprintf('<info>%s</info>.
156e0 25 73 20 25 73 27 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 %s.%s',.$root->getPrettyName(),.
15700 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 72 6f 6f 74 $root->getPrettyVersion(),.$root
15720 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 ->getDescription()));.$this->pri
15740 6e 74 54 72 65 65 28 24 72 65 73 75 6c 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 ntTree($results);.}.else.{.$this
15760 2d 3e 70 72 69 6e 74 54 61 62 6c 65 28 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 3b ->printTable($output,.$results);
15780 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .}..return.0;.}........protected
157a0 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 54 61 62 6c 65 28 4f 75 74 70 75 74 49 6e 74 65 72 .function.printTable(OutputInter
157c0 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 face.$output,.$results).{.$table
157e0 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 6f 75 62 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .=.array();.$doubles.=.array();.
15800 64 6f 20 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 6f 77 73 20 3d 20 61 do.{.$queue.=.array();.$rows.=.a
15820 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 rray();.foreach.($results.as.$re
15840 73 75 6c 74 29 20 7b 0a 0a 0a 0a 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b sult).{.....list($package,.$link
15860 2c 20 24 63 68 69 6c 64 72 65 6e 29 20 3d 20 24 72 65 73 75 6c 74 3b 0a 24 75 6e 69 71 75 65 20 ,.$children).=.$result;.$unique.
15880 3d 20 28 73 74 72 69 6e 67 29 20 24 6c 69 6e 6b 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 6f 75 =.(string).$link;.if.(isset($dou
158a0 62 6c 65 73 5b 24 75 6e 69 71 75 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 64 bles[$unique])).{.continue;.}.$d
158c0 6f 75 62 6c 65 73 5b 24 75 6e 69 71 75 65 5d 20 3d 20 74 72 75 65 3b 0a 24 76 65 72 73 69 6f 6e oubles[$unique].=.true;.$version
158e0 20 3d 20 28 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 .=.(strpos($package->getPrettyVe
15900 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 73 65 74 27 29 20 3d 3d 3d 20 30 rsion(),.'No.version.set').===.0
15920 29 20 3f 20 27 2d 27 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 ).?.'-'.:.$package->getPrettyVer
15940 73 69 6f 6e 28 29 3b 0a 24 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 sion();.$rows[].=.array($package
15960 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 ->getPrettyName(),.$version,.$li
15980 6e 6b 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 73 70 72 69 6e 74 66 28 27 25 nk->getDescription(),.sprintf('%
159a0 73 20 28 25 73 29 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 s.(%s)',.$link->getTarget(),.$li
159c0 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 3b 0a 69 66 20 nk->getPrettyConstraint()));.if.
159e0 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 ($children).{.$queue.=.array_mer
15a00 67 65 28 24 71 75 65 75 65 2c 20 24 63 68 69 6c 64 72 65 6e 29 3b 0a 7d 0a 7d 0a 24 72 65 73 75 ge($queue,.$children);.}.}.$resu
15a20 6c 74 73 20 3d 20 24 71 75 65 75 65 3b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 lts.=.$queue;.$table.=.array_mer
15a40 67 65 28 24 72 6f 77 73 2c 20 24 74 61 62 6c 65 29 3b 0a 7d 20 77 68 69 6c 65 20 28 21 65 6d 70 ge($rows,.$table);.}.while.(!emp
15a60 74 79 28 24 72 65 73 75 6c 74 73 29 29 3b 0a 0a 0a 20 24 72 65 6e 64 65 72 65 72 20 3d 20 6e 65 ty($results));....$renderer.=.ne
15a80 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 w.Table($output);.$renderer->set
15aa0 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 Style('compact');.$rendererStyle
15ac0 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 72 65 6e 64 65 .=.$renderer->getStyle();.$rende
15ae0 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 rerStyle->setVerticalBorderChar(
15b00 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 '');.$rendererStyle->setCellRowC
15b20 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d ontentFormat('%s..');.$renderer-
15b40 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a >setRows($table)->render();.}...
15b60 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 ....protected.function.initStyle
15b80 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 s(OutputInterface.$output).{.$th
15ba0 69 73 2d 3e 63 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 67 72 65 65 6e 27 2c 0a 27 79 65 is->colors.=.array(.'green',.'ye
15bc0 6c 6c 6f 77 27 2c 0a 27 63 79 61 6e 27 2c 0a 27 6d 61 67 65 6e 74 61 27 2c 0a 27 62 6c 75 65 27 llow',.'cyan',.'magenta',.'blue'
15be0 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 61 73 20 ,.);..foreach.($this->colors.as.
15c00 24 63 6f 6c 6f 72 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 $color).{.$style.=.new.OutputFor
15c20 6d 61 74 74 65 72 53 74 79 6c 65 28 24 63 6f 6c 6f 72 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 67 65 matterStyle($color);.$output->ge
15c40 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 24 63 6f 6c 6f 72 2c 20 24 tFormatter()->setStyle($color,.$
15c60 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 style);.}.}.........protected.fu
15c80 6e 63 74 69 6f 6e 20 70 72 69 6e 74 54 72 65 65 28 24 72 65 73 75 6c 74 73 2c 20 24 70 72 65 66 nction.printTree($results,.$pref
15ca0 69 78 20 3d 20 27 27 2c 20 24 6c 65 76 65 6c 20 3d 20 31 29 0a 7b 0a 24 63 6f 75 6e 74 20 3d 20 ix.=.'',.$level.=.1).{.$count.=.
15cc0 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 73 29 3b 0a 24 69 64 78 20 3d 20 30 3b 0a 66 6f 72 65 61 count($results);.$idx.=.0;.forea
15ce0 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 0a 0a ch.($results.as.$result).{......
15d00 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 63 68 69 6c 64 72 65 6e 29 list($package,.$link,.$children)
15d20 20 3d 20 24 72 65 73 75 6c 74 3b 0a 0a 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c .=.$result;..$color.=.$this->col
15d40 6f 72 73 5b 24 6c 65 76 65 6c 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 ors[$level.%.count($this->colors
15d60 29 5d 3b 0a 24 70 72 65 76 43 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 28 )];.$prevColor.=.$this->colors[(
15d80 24 6c 65 76 65 6c 20 2d 20 31 29 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 $level.-.1).%.count($this->color
15da0 73 29 5d 3b 0a 24 69 73 4c 61 73 74 20 3d 20 28 2b 2b 24 69 64 78 20 3d 3d 20 24 63 6f 75 6e 74 s)];.$isLast.=.(++$idx.==.$count
15dc0 29 3b 0a 24 76 65 72 73 69 6f 6e 54 65 78 74 20 3d 20 28 73 74 72 70 6f 73 28 24 70 61 63 6b 61 );.$versionText.=.(strpos($packa
15de0 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 ge->getPrettyVersion(),.'No.vers
15e00 69 6f 6e 20 73 65 74 27 29 20 3d 3d 3d 20 30 29 20 3f 20 27 27 20 3a 20 24 70 61 63 6b 61 67 65 ion.set').===.0).?.''.:.$package
15e20 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 54 65 ->getPrettyVersion();.$packageTe
15e40 78 74 20 3d 20 72 74 72 69 6d 28 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 25 73 3c 2f 25 31 24 73 xt.=.rtrim(sprintf('<%s>%s</%1$s
15e60 3e 20 25 73 27 2c 20 24 63 6f 6c 6f 72 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 >.%s',.$color,.$package->getPret
15e80 74 79 4e 61 6d 65 28 29 2c 20 24 76 65 72 73 69 6f 6e 54 65 78 74 29 29 3b 0a 24 6c 69 6e 6b 54 tyName(),.$versionText));.$linkT
15ea0 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 25 73 3c 2f 25 32 24 73 3e 20 ext.=.sprintf('%s.<%s>%s</%2$s>.
15ec0 25 73 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 70 %s',.$link->getDescription(),.$p
15ee0 72 65 76 43 6f 6c 6f 72 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c revColor,.$link->getTarget(),.$l
15f00 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 24 63 69 ink->getPrettyConstraint());.$ci
15f20 72 63 75 6c 61 72 57 61 72 6e 20 3d 20 24 63 68 69 6c 64 72 65 6e 20 3d 3d 3d 20 66 61 6c 73 65 rcularWarn.=.$children.===.false
15f40 20 3f 20 27 28 63 69 72 63 75 6c 61 72 20 64 65 70 65 6e 64 65 6e 63 79 20 61 62 6f 72 74 65 64 .?.'(circular.dependency.aborted
15f60 20 68 65 72 65 29 27 20 3a 20 27 27 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 .here)'.:.'';.$this->writeTreeLi
15f80 6e 65 28 72 74 72 69 6d 28 73 70 72 69 6e 74 66 28 22 25 73 25 73 25 73 20 28 25 73 29 20 25 73 ne(rtrim(sprintf("%s%s%s.(%s).%s
15fa0 22 2c 20 24 70 72 65 66 69 78 2c 20 24 69 73 4c 61 73 74 20 3f 20 27 e2 94 94 e2 94 80 e2 94 80 ",.$prefix,.$isLast.?.'.........
15fc0 27 20 3a 20 27 e2 94 9c e2 94 80 e2 94 80 27 2c 20 24 70 61 63 6b 61 67 65 54 65 78 74 2c 20 24 '.:.'.........',.$packageText,.$
15fe0 6c 69 6e 6b 54 65 78 74 2c 20 24 63 69 72 63 75 6c 61 72 57 61 72 6e 29 29 29 3b 0a 69 66 20 28 linkText,.$circularWarn)));.if.(
16000 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 72 65 65 28 24 63 $children).{.$this->printTree($c
16020 68 69 6c 64 72 65 6e 2c 20 24 70 72 65 66 69 78 20 2e 20 28 24 69 73 4c 61 73 74 20 3f 20 27 20 hildren,.$prefix...($isLast.?.'.
16040 20 20 27 20 3a 20 27 e2 94 82 20 20 27 29 2c 20 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d ..'.:.'.....'),.$level.+.1);.}.}
16060 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 72 65 65 4c 69 .}..private.function.writeTreeLi
16080 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 ne($line).{.$io.=.$this->getIO()
160a0 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 69 ;.if.(!$io->isDecorated()).{.$li
160c0 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 e2 94 94 27 2c 20 27 e2 ne.=.str_replace(array('...',.'.
160e0 94 9c 27 2c 20 27 e2 94 80 e2 94 80 27 2c 20 27 e2 94 82 27 29 2c 20 61 72 72 61 79 28 27 60 2d ..',.'......',.'...'),.array('`-
16100 27 2c 20 27 7c 2d 27 2c 20 27 2d 27 2c 20 27 7c 27 29 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 24 ',.'|-',.'-',.'|'),.$line);.}..$
16120 69 6f 2d 3e 77 72 69 74 65 28 24 6c 69 6e 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a io->write($line);.}.}.<?php.....
16140 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e .......namespace.Composer\Comman
16160 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 d;..use.Composer\Package\Link;.u
16180 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
161a0 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 face;.use.Composer\Semver\Constr
161c0 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d aint\Constraint;.use.Symfony\Com
161e0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 ponent\Console\Helper\Table;.use
16200 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
16220 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \InputInterface;.use.Symfony\Com
16240 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e ponent\Console\Input\InputOption
16260 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
16280 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 Output\OutputInterface;.use.Comp
162a0 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f oser\Repository\PlatformReposito
162c0 72 79 3b 0a 0a 63 6c 61 73 73 20 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d 52 65 71 73 43 6f 6d 6d ry;..class.CheckPlatformReqsComm
162e0 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 and.extends.BaseCommand.{.protec
16300 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 ted.function.configure().{.$this
16320 2d 3e 73 65 74 4e 61 6d 65 28 27 63 68 65 63 6b 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 ->setName('check-platform-reqs')
16340 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 68 65 63 6b 20 74 68 61 74 20 70 6c .->setDescription('Check.that.pl
16360 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 72 65 20 73 61 74 69 73 66 69 65 atform.requirements.are.satisfie
16380 64 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 d.').->setDefinition(array(.new.
163a0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 InputOption('no-dev',.null,.Inpu
163c0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 63 tOption::VALUE_NONE,.'Disables.c
163e0 68 65 63 6b 69 6e 67 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 hecking.of.require-dev.packages.
16400 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c requirements.'),.)).->setHelp(.<
16420 3c 3c 45 4f 54 0a 43 68 65 63 6b 73 20 74 68 61 74 20 79 6f 75 72 20 50 48 50 20 61 6e 64 20 65 <<EOT.Checks.that.your.PHP.and.e
16440 78 74 65 6e 73 69 6f 6e 73 20 76 65 72 73 69 6f 6e 73 20 6d 61 74 63 68 20 74 68 65 20 70 6c 61 xtensions.versions.match.the.pla
16460 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c tform.requirements.of.the.instal
16480 6c 65 64 20 70 61 63 6b 61 67 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 led.packages...<info>php.compose
164a0 72 2e 70 68 61 72 20 63 68 65 63 6b 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 3c 2f 69 6e 66 6f r.phar.check-platform-reqs</info
164c0 3e 0a 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 >..EOT.);.}..protected.function.
164e0 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f execute(InputInterface.$input,.O
16500 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f utputInterface.$output).{.$compo
16520 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 72 65 ser.=.$this->getComposer();..$re
16540 71 75 69 72 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 quires.=.$composer->getPackage()
16560 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 ->getRequires();.if.($input->get
16580 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 Option('no-dev')).{.$dependencie
165a0 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2d 3e 67 65 74 4c s.=.$composer->getLocker()->getL
165c0 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ockedRepository(!$input->getOpti
165e0 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 20 on('no-dev'))->getPackages();.}.
16600 65 6c 73 65 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 else.{.$dependencies.=.$composer
16620 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 ->getRepositoryManager()->getLoc
16640 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 alRepository()->getPackages();.$
16660 72 65 71 75 69 72 65 73 20 2b 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 requires.+=.$composer->getPackag
16680 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 e()->getDevRequires();.}.foreach
166a0 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 20 3d 3e 20 24 6c 69 6e 6b .($requires.as.$require.=>.$link
166c0 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 65 5d 20 3d 20 61 72 72 61 79 28 ).{.$requires[$require].=.array(
166e0 24 6c 69 6e 6b 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 69 65 $link);.}..foreach.($dependencie
16700 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 s.as.$package).{.foreach.($packa
16720 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 72 65 71 75 69 72 65 20 3d 3e ge->getRequires().as.$require.=>
16740 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 65 5d 5b 5d 20 .$link).{.$requires[$require][].
16760 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 7d 0a 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a =.$link;.}.}..ksort($requires);.
16780 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 .$platformRepo.=.new.PlatformRep
167a0 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 63 75 72 72 ository(array(),.array());.$curr
167c0 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 entPlatformPackages.=.$platformR
167e0 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 epo->getPackages();.$currentPlat
16800 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 66 6f formPackageMap.=.array();.....fo
16820 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 20 reach.($currentPlatformPackages.
16840 61 73 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 29 20 7b 0a 24 63 as.$currentPlatformPackage).{.$c
16860 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 63 75 72 72 65 6e urrentPlatformPackageMap[$curren
16880 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 tPlatformPackage->getName()].=.$
168a0 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 72 65 73 75 currentPlatformPackage;.}..$resu
168c0 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 0a lts.=.array();..$exitCode.=.0;..
168e0 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 ...foreach.($requires.as.$requir
16900 65 20 3d 3e 20 24 6c 69 6e 6b 73 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c e.=>.$links).{.if.(preg_match(Pl
16920 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 atformRepository::PLATFORM_PACKA
16940 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 75 69 72 65 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 GE_REGEX,.$require)).{.if.(isset
16960 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 ($currentPlatformPackageMap[$req
16980 75 69 72 65 5d 29 29 20 7b 0a 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a 24 76 65 72 73 69 6f 6e uire])).{.$pass.=.true;.$version
169a0 20 3d 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 .=.$currentPlatformPackageMap[$r
169c0 65 71 75 69 72 65 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 equire]->getVersion();..foreach.
169e0 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 21 24 6c 69 6e 6b 2d 3e ($links.as.$link).{.if.(!$link->
16a00 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 6e 65 77 20 43 6f 6e getConstraint()->matches(new.Con
16a20 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 29 20 7b 0a 24 72 65 73 75 straint('=',.$version))).{.$resu
16a40 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 lts[].=.array(.$currentPlatformP
16a60 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 ackageMap[$require]->getPrettyNa
16a80 6d 65 28 29 2c 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 me(),.$currentPlatformPackageMap
16aa0 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a [$require]->getPrettyVersion(),.
16ac0 24 6c 69 6e 6b 2c 0a 27 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 27 2c 0a $link,.'<error>failed</error>',.
16ae0 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d );.$pass.=.false;..$exitCode.=.m
16b00 61 78 28 24 65 78 69 74 43 6f 64 65 2c 20 31 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 73 73 ax($exitCode,.1);.}.}..if.($pass
16b20 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 63 75 72 72 65 6e 74 ).{.$results[].=.array(.$current
16b40 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 PlatformPackageMap[$require]->ge
16b60 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 tPrettyName(),.$currentPlatformP
16b80 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 56 65 ackageMap[$require]->getPrettyVe
16ba0 72 73 69 6f 6e 28 29 2c 0a 6e 75 6c 6c 2c 0a 27 3c 69 6e 66 6f 3e 73 75 63 63 65 73 73 3c 2f 69 rsion(),.null,.'<info>success</i
16bc0 6e 66 6f 3e 27 2c 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 nfo>',.);.}.}.else.{.$results[].
16be0 3d 20 61 72 72 61 79 28 0a 24 72 65 71 75 69 72 65 2c 0a 27 6e 2f 61 27 2c 0a 24 6c 69 6e 6b 73 =.array(.$require,.'n/a',.$links
16c00 5b 30 5d 2c 0a 27 3c 65 72 72 6f 72 3e 6d 69 73 73 69 6e 67 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 [0],.'<error>missing</error>',.)
16c20 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 78 69 74 43 6f 64 65 2c 20 32 29 ;..$exitCode.=.max($exitCode,.2)
16c40 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 61 62 6c 65 28 24 6f 75 74 70 ;.}.}.}..$this->printTable($outp
16c60 75 74 2c 20 24 72 65 73 75 6c 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 ut,.$results);..return.$exitCode
16c80 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 54 61 62 ;.}..protected.function.printTab
16ca0 6c 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 65 73 le(OutputInterface.$output,.$res
16cc0 75 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 6f 77 73 20 ults).{.$table.=.array();.$rows.
16ce0 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 =.array();.foreach.($results.as.
16d00 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 6c 69 73 74 28 24 70 6c 61 74 66 6f 72 6d 50 61 63 6b $result).{....list($platformPack
16d20 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 6e 6b 2c 20 24 73 74 61 74 75 73 29 20 3d age,.$version,.$link,.$status).=
16d40 20 24 72 65 73 75 6c 74 3b 0a 24 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 70 6c 61 74 .$result;.$rows[].=.array(.$plat
16d60 66 6f 72 6d 50 61 63 6b 61 67 65 2c 0a 24 76 65 72 73 69 6f 6e 2c 0a 24 6c 69 6e 6b 20 3f 20 73 formPackage,.$version,.$link.?.s
16d80 70 72 69 6e 74 66 28 27 25 73 20 25 73 20 25 73 20 28 25 73 29 27 2c 20 24 6c 69 6e 6b 2d 3e 67 printf('%s.%s.%s.(%s)',.$link->g
16da0 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f etSource(),.$link->getDescriptio
16dc0 6e 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e n(),.$link->getTarget(),.$link->
16de0 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3a 20 27 27 2c 0a 24 73 74 getPrettyConstraint()).:.'',.$st
16e00 61 74 75 73 2c 0a 29 3b 0a 7d 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 atus,.);.}.$table.=.array_merge(
16e20 24 72 6f 77 73 2c 20 24 74 61 62 6c 65 29 3b 0a 0a 0a 20 24 72 65 6e 64 65 72 65 72 20 3d 20 6e $rows,.$table);....$renderer.=.n
16e40 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 ew.Table($output);.$renderer->se
16e60 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c tStyle('compact');.$rendererStyl
16e80 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 72 65 6e 64 e.=.$renderer->getStyle();.$rend
16ea0 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 ererStyle->setVerticalBorderChar
16ec0 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 ('');.$rendererStyle->setCellRow
16ee0 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 ContentFormat('%s..');.$renderer
16f00 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 7d ->setRows($table)->render();.}.}
16f20 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
16f40 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 oser\Command;..use.Composer\Cach
16f60 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d e;.use.Composer\Factory;.use.Sym
16f80 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
16fa0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utInterface;.use.Symfony\Compone
16fc0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 nt\Console\Output\OutputInterfac
16fe0 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 65 61 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 20 65 e;.....class.ClearCacheCommand.e
17000 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 xtends.BaseCommand.{.protected.f
17020 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 unction.configure().{.$this.->se
17040 74 4e 61 6d 65 28 27 63 6c 65 61 72 2d 63 61 63 68 65 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 tName('clear-cache').->setAliase
17060 73 28 61 72 72 61 79 28 27 63 6c 65 61 72 63 61 63 68 65 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 s(array('clearcache')).->setDesc
17080 72 69 70 74 69 6f 6e 28 27 43 6c 65 61 72 73 20 63 6f 6d 70 6f 73 65 72 5c 27 73 20 69 6e 74 65 ription('Clears.composer\'s.inte
170a0 72 6e 61 6c 20 70 61 63 6b 61 67 65 20 63 61 63 68 65 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 rnal.package.cache.').->setHelp(
170c0 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 6c 65 61 72 2d 63 61 63 68 65 3c 2f 69 .<<<EOT.The.<info>clear-cache</i
170e0 6e 66 6f 3e 20 64 65 6c 65 74 65 73 20 61 6c 6c 20 63 61 63 68 65 64 20 70 61 63 6b 61 67 65 73 nfo>.deletes.all.cached.packages
17100 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 27 73 0a 63 61 63 68 65 20 64 69 72 65 63 74 6f 72 79 .from.composer's.cache.directory
17120 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ...Read.more.at.https://getcompo
17140 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 63 6c 65 61 72 2d 63 61 63 68 ser.org/doc/03-cli.md#clear-cach
17160 65 2d 63 6c 65 61 72 63 61 63 68 65 2d 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 e-clearcache-.EOT.).;.}..protect
17180 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 ed.function.execute(InputInterfa
171a0 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 ce.$input,.OutputInterface.$outp
171c0 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 ut).{.$config.=.Factory::createC
171e0 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a onfig();.$io.=.$this->getIO();..
17200 24 63 61 63 68 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 0a 27 63 61 63 68 65 2d 76 63 73 2d $cachePaths.=.array(.'cache-vcs-
17220 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d dir'.=>.$config->get('cache-vcs-
17240 64 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 dir'),.'cache-repo-dir'.=>.$conf
17260 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2c 0a 27 63 61 63 68 ig->get('cache-repo-dir'),.'cach
17280 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 e-files-dir'.=>.$config->get('ca
172a0 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 che-files-dir'),.'cache-dir'.=>.
172c0 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 69 72 27 29 2c 0a 29 3b 0a 0a 66 $config->get('cache-dir'),.);..f
172e0 6f 72 65 61 63 68 20 28 24 63 61 63 68 65 50 61 74 68 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 oreach.($cachePaths.as.$key.=>.$
17300 63 61 63 68 65 50 61 74 68 29 20 7b 0a 24 63 61 63 68 65 50 61 74 68 20 3d 20 72 65 61 6c 70 61 cachePath).{.$cachePath.=.realpa
17320 74 68 28 24 63 61 63 68 65 50 61 74 68 29 3b 0a 69 66 20 28 21 24 63 61 63 68 65 50 61 74 68 29 th($cachePath);.if.(!$cachePath)
17340 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 61 63 68 65 20 .{.$io->writeError("<info>Cache.
17360 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 28 24 6b 65 79 29 3a directory.does.not.exist.($key):
17380 20 24 63 61 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b .$cachePath</info>");..continue;
173a0 0a 7d 0a 24 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 24 63 61 63 68 .}.$cache.=.new.Cache($io,.$cach
173c0 65 50 61 74 68 29 3b 0a 69 66 20 28 21 24 63 61 63 68 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 ePath);.if.(!$cache->isEnabled()
173e0 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 61 63 68 65 ).{.$io->writeError("<info>Cache
17400 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 20 28 24 6b 65 79 29 3a 20 24 63 61 63 68 65 50 61 .is.not.enabled.($key):.$cachePa
17420 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 69 6f 2d 3e th</info>");..continue;.}..$io->
17440 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 6c 65 61 72 69 6e 67 20 63 61 63 68 65 writeError("<info>Clearing.cache
17460 20 28 24 6b 65 79 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 24 63 .($key):.$cachePath</info>");.$c
17480 61 63 68 65 2d 3e 63 6c 65 61 72 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ache->clear();.}..$io->writeErro
174a0 72 28 27 3c 69 6e 66 6f 3e 41 6c 6c 20 63 61 63 68 65 73 20 63 6c 65 61 72 65 64 2e 3c 2f 69 6e r('<info>All.caches.cleared.</in
174c0 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 fo>');.}.}.<?php............name
174e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d space.Composer\Command;..use.Com
17500 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 poser\Util\Platform;.use.Compose
17520 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d r\Util\Silencer;.use.Symfony\Com
17540 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 ponent\Console\Input\InputInterf
17560 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
17580 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 le\Input\InputArgument;.use.Symf
175a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
175c0 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
175e0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onsole\Output\OutputInterface;.u
17600 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
17620 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f \Config\JsonConfigSource;.use.Co
17640 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c mposer\Factory;.use.Composer\IO\
17660 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a IOInterface;.use.Composer\Json\J
17680 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 sonFile;.use.Composer\Semver\Ver
176a0 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 sionParser;.use.Composer\Package
176c0 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 43 \BasePackage;......class.ConfigC
176e0 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a ommand.extends.BaseCommand.{....
17700 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 protected.$config;.....protected
17720 20 24 63 6f 6e 66 69 67 46 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e .$configFile;.....protected.$con
17740 66 69 67 53 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f figSource;.....protected.$authCo
17760 6e 66 69 67 46 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f 6e nfigFile;.....protected.$authCon
17780 66 69 67 53 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f figSource;.....protected.functio
177a0 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 n.configure().{.$this.->setName(
177c0 27 63 6f 6e 66 69 67 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 74 73 'config').->setDescription('Sets
177e0 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 .config.options.').->setDefiniti
17800 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 on(array(.new.InputOption('globa
17820 6c 27 2c 20 27 67 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 l',.'g',.InputOption::VALUE_NONE
17840 2c 20 27 41 70 70 6c 79 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 ,.'Apply.command.to.the.global.c
17860 6f 6e 66 69 67 20 66 69 6c 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 65 onfig.file'),.new.InputOption('e
17880 64 69 74 6f 72 27 2c 20 27 65 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f ditor',.'e',.InputOption::VALUE_
178a0 4e 4f 4e 45 2c 20 27 4f 70 65 6e 20 65 64 69 74 6f 72 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f NONE,.'Open.editor'),.new.InputO
178c0 70 74 69 6f 6e 28 27 61 75 74 68 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ption('auth',.'a',.InputOption::
178e0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 66 66 65 63 74 20 61 75 74 68 20 63 6f 6e 66 69 67 20 VALUE_NONE,.'Affect.auth.config.
17900 66 69 6c 65 20 28 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 20 2d 2d 65 64 69 74 6f 72 29 27 29 2c file.(only.used.for.--editor)'),
17920 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 2c 20 6e 75 6c 6c 2c 20 .new.InputOption('unset',.null,.
17940 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 6e 73 65 74 20 InputOption::VALUE_NONE,.'Unset.
17960 74 68 65 20 67 69 76 65 6e 20 73 65 74 74 69 6e 67 2d 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 the.given.setting-key'),.new.Inp
17980 75 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f utOption('list',.'l',.InputOptio
179a0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 63 6f 6e 66 69 67 75 72 61 74 69 n::VALUE_NONE,.'List.configurati
179c0 6f 6e 20 73 65 74 74 69 6e 67 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 on.settings'),.new.InputOption('
179e0 66 69 6c 65 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 file',.'f',.InputOption::VALUE_R
17a00 45 51 55 49 52 45 44 2c 20 27 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 68 6f 6f 73 65 20 EQUIRED,.'If.you.want.to.choose.
17a20 61 20 64 69 66 66 65 72 65 6e 74 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 63 6f 6e a.different.composer.json.or.con
17a40 66 69 67 2e 6a 73 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 62 73 fig.json'),.new.InputOption('abs
17a60 6f 6c 75 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 olute',.null,.InputOption::VALUE
17a80 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 73 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 20 77 _NONE,.'Returns.absolute.paths.w
17aa0 68 65 6e 20 66 65 74 63 68 69 6e 67 20 2a 2d 64 69 72 20 63 6f 6e 66 69 67 20 76 61 6c 75 65 73 hen.fetching.*-dir.config.values
17ac0 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 6c 61 74 69 76 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 .instead.of.relative'),.new.Inpu
17ae0 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 6b 65 79 27 2c 20 6e 75 6c 6c 2c 20 27 tArgument('setting-key',.null,.'
17b00 53 65 74 74 69 6e 67 20 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 Setting.key'),.new.InputArgument
17b20 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a ('setting-value',.InputArgument:
17b40 3a 49 53 5f 41 52 52 41 59 2c 20 27 53 65 74 74 69 6e 67 20 76 61 6c 75 65 27 29 2c 0a 29 29 0a :IS_ARRAY,.'Setting.value'),.)).
17b60 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 ->setHelp(.<<<EOT.This.command.a
17b80 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 65 64 69 74 20 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 llows.you.to.edit.composer.confi
17ba0 67 20 73 65 74 74 69 6e 67 73 20 61 6e 64 20 72 65 70 6f 73 69 74 6f 72 69 65 73 0a 69 6e 20 65 g.settings.and.repositories.in.e
17bc0 69 74 68 65 72 20 74 68 65 20 6c 6f 63 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 ither.the.local.composer.json.fi
17be0 6c 65 20 6f 72 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c le.or.the.global.config.json.fil
17c00 65 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 69 74 20 6c 65 74 73 20 79 6f 75 20 65 64 69 e...Additionally.it.lets.you.edi
17c20 74 20 6d 6f 73 74 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 63 t.most.properties.in.the.local.c
17c40 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 0a 0a 54 6f 20 73 65 74 20 61 20 63 6f 6e 66 69 67 20 73 omposer.json...To.set.a.config.s
17c60 65 74 74 69 6e 67 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 etting:......<comment>%command.f
17c80 75 6c 6c 5f 6e 61 6d 65 25 20 62 69 6e 2d 64 69 72 20 62 69 6e 2f 3c 2f 63 6f 6d 6d 65 6e 74 3e ull_name%.bin-dir.bin/</comment>
17ca0 0a 0a 54 6f 20 72 65 61 64 20 61 20 63 6f 6e 66 69 67 20 73 65 74 74 69 6e 67 3a 0a 0a 20 20 20 ..To.read.a.config.setting:.....
17cc0 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 62 69 .<comment>%command.full_name%.bi
17ce0 6e 2d 64 69 72 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 20 20 20 20 4f 75 74 70 75 74 73 3a 20 3c 69 6e n-dir</comment>.....Outputs:.<in
17d00 66 6f 3e 62 69 6e 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 67 6c 6f 62 61 fo>bin</info>..To.edit.the.globa
17d20 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e l.config.json.file:......<commen
17d40 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 67 6c 6f 62 61 6c 3c 2f t>%command.full_name%.--global</
17d60 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 61 64 64 20 61 20 72 65 70 6f 73 69 74 6f 72 79 3a 0a 0a comment>..To.add.a.repository:..
17d80 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 ....<comment>%command.full_name%
17da0 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 73 3a 2f 2f 62 61 .repositories.foo.vcs.https://ba
17dc0 72 2e 63 6f 6d 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 72 65 6d 6f 76 65 20 61 20 72 65 70 r.com</comment>..To.remove.a.rep
17de0 6f 73 69 74 6f 72 79 20 28 72 65 70 6f 20 69 73 20 61 20 73 68 6f 72 74 20 61 6c 69 61 73 20 66 ository.(repo.is.a.short.alias.f
17e00 6f 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e or.repositories):......<comment>
17e20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 75 6e 73 65 74 20 72 65 70 6f %command.full_name%.--unset.repo
17e40 2e 66 6f 6f 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 64 69 73 61 62 6c 65 20 70 61 63 6b 61 .foo</comment>..To.disable.packa
17e60 67 69 73 74 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c gist:......<comment>%command.ful
17e80 6c 5f 6e 61 6d 65 25 20 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 20 66 61 6c 73 65 3c 2f 63 6f l_name%.repo.packagist.false</co
17ea0 6d 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 74 65 72 20 72 65 70 6f 73 69 74 6f 72 69 mment>..You.can.alter.repositori
17ec0 65 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c es.in.the.global.config.json.fil
17ee0 65 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 74 68 65 0a 3c 69 6e 66 6f 3e 2d 2d 67 6c 6f 62 e.by.passing.in.the.<info>--glob
17f00 61 6c 3c 2f 69 6e 66 6f 3e 20 6f 70 74 69 6f 6e 2e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 66 al</info>.option...To.edit.the.f
17f20 69 6c 65 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 65 64 69 74 6f 72 3a 0a 0a 20 20 20 20 ile.in.an.external.editor:......
17f40 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 <comment>%command.full_name%.--e
17f60 64 69 74 6f 72 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 63 68 6f 6f 73 65 20 79 6f 75 72 20 ditor</comment>..To.choose.your.
17f80 65 64 69 74 6f 72 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 22 45 44 49 54 4f 52 22 20 editor.you.can.set.the."EDITOR".
17fa0 65 6e 76 20 76 61 72 69 61 62 6c 65 2e 0a 0a 54 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 env.variable...To.get.a.list.of.
17fc0 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 66 69 6c 65 configuration.values.in.the.file
17fe0 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 :......<comment>%command.full_na
18000 6d 65 25 20 2d 2d 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c me%.--list</comment>..You.can.al
18020 77 61 79 73 20 70 61 73 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6f 70 74 69 6f 6e 2e 20 ways.pass.more.than.one.option..
18040 41 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 65 64 As.an.example,.if.you.want.to.ed
18060 69 74 20 74 68 65 0a 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a it.the.global.config.json.file..
18080 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 .....<comment>%command.full_name
180a0 25 20 2d 2d 65 64 69 74 6f 72 20 2d 2d 67 6c 6f 62 61 6c 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 52 %.--editor.--global</comment>..R
180c0 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e ead.more.at.https://getcomposer.
180e0 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 63 6f 6e 66 69 67 0a 45 4f 54 0a 29 0a 3b org/doc/03-cli.md#config.EOT.).;
18100 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 .}.....protected.function.initia
18120 6c 69 7a 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 lize(InputInterface.$input,.Outp
18140 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 utInterface.$output).{.parent::i
18160 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 nitialize($input,.$output);..if.
18180 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 ($input->getOption('global').&&.
181a0 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 null.!==.$input->getOption('file
181c0 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ')).{.throw.new.\RuntimeExceptio
181e0 6e 28 27 2d 2d 66 69 6c 65 20 61 6e 64 20 2d 2d 67 6c 6f 62 61 6c 20 63 61 6e 20 6e 6f 74 20 62 n('--file.and.--global.can.not.b
18200 65 20 63 6f 6d 62 69 6e 65 64 27 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 e.combined');.}..$io.=.$this->ge
18220 74 49 4f 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a tIO();.$this->config.=.Factory::
18240 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 0a 0a 20 0a 20 24 63 6f 6e 66 69 67 46 createConfig($io);......$configF
18260 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 ile.=.$input->getOption('global'
18280 29 0a 3f 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 ).?.($this->config->get('home').
182a0 2e 20 27 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 0a 3a 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 ..'/config.json').:.($input->get
182c0 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 29 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f Option('file').?:.Factory::getCo
182e0 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a 0a 0a 20 69 66 20 28 0a 28 24 63 6f 6e 66 69 67 46 mposerFile());....if.(.($configF
18300 69 6c 65 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 63 6f 6e 66 ile.===.'composer.json'.||.$conf
18320 69 67 46 69 6c 65 20 3d 3d 3d 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 0a 26 26 igFile.===.'./composer.json').&&
18340 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 0a 26 26 20 72 65 .!file_exists($configFile).&&.re
18360 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 20 3d 3d 3d 20 72 65 61 6c 70 61 74 68 28 24 74 alpath(getcwd()).===.realpath($t
18380 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 0a 29 20 7b 0a 66 69 his->config->get('home')).).{.fi
183a0 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c 20 22 7b 5c le_put_contents($configFile,."{\
183c0 6e 7d 5c 6e 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 20 3d 20 6e n}\n");.}..$this->configFile.=.n
183e0 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 ew.JsonFile($configFile,.null,.$
18400 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a io);.$this->configSource.=.new.J
18420 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c sonConfigSource($this->configFil
18440 65 29 3b 0a 0a 24 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 e);..$authConfigFile.=.$input->g
18460 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 0a 3f 20 28 24 74 68 69 73 2d 3e 63 6f 6e etOption('global').?.($this->con
18480 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 29 fig->get('home')...'/auth.json')
184a0 0a 3a 20 64 69 72 6e 61 6d 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 .:.dirname(realpath($configFile)
184c0 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f )...'/auth.json';..$this->authCo
184e0 6e 66 69 67 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 61 75 74 68 43 6f 6e nfigFile.=.new.JsonFile($authCon
18500 66 69 67 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 figFile,.null,.$io);.$this->auth
18520 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 ConfigSource.=.new.JsonConfigSou
18540 72 63 65 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2c 20 74 72 75 65 29 rce($this->authConfigFile,.true)
18560 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 ;....if.($input->getOption('glob
18580 61 6c 27 29 20 26 26 20 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 al').&&.!$this->configFile->exis
185a0 74 73 28 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d ts()).{.touch($this->configFile-
185c0 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e >getPath());.$this->configFile->
185e0 77 72 69 74 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 write(array('config'.=>.new.\Arr
18600 61 79 4f 62 6a 65 63 74 29 29 3b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f ayObject));.Silencer::call('chmo
18620 64 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 d',.$this->configFile->getPath()
18640 2c 20 30 36 30 30 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ,.0600);.}.if.($input->getOption
18660 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 ('global').&&.!$this->authConfig
18680 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 61 File->exists()).{.touch($this->a
186a0 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 24 74 68 69 73 uthConfigFile->getPath());.$this
186c0 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 77 72 69 74 65 28 61 72 72 61 79 28 27 62 ->authConfigFile->write(array('b
186e0 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a itbucket-oauth'.=>.new.\ArrayObj
18700 65 63 74 2c 20 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 ect,.'github-oauth'.=>.new.\Arra
18720 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c yObject,.'gitlab-oauth'.=>.new.\
18740 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 20 3d 3e 20 6e ArrayObject,.'gitlab-token'.=>.n
18760 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 68 74 74 70 2d 62 61 73 69 63 27 20 3d 3e ew.\ArrayObject,.'http-basic'.=>
18780 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 29 29 3b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 .new.\ArrayObject));.Silencer::c
187a0 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 all('chmod',.$this->authConfigFi
187c0 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 le->getPath(),.0600);.}..if.(!$t
187e0 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 68 72 his->configFile->exists()).{.thr
18800 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 ow.new.\RuntimeException(sprintf
18820 28 27 46 69 6c 65 20 22 25 73 22 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 ('File."%s".cannot.be.found.in.t
18840 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 27 2c 20 24 63 6f 6e 66 69 67 46 69 he.current.directory',.$configFi
18860 6c 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e le));.}.}.....protected.function
18880 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 .execute(InputInterface.$input,.
188a0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 69 66 20 OutputInterface.$output).{...if.
188c0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 65 64 69 74 6f 72 27 29 29 20 7b 0a ($input->getOption('editor')).{.
188e0 24 65 64 69 74 6f 72 20 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 63 6d 64 28 67 65 74 65 6e 76 28 $editor.=.escapeshellcmd(getenv(
18900 27 45 44 49 54 4f 52 27 29 29 3b 0a 69 66 20 28 21 24 65 64 69 74 6f 72 29 20 7b 0a 69 66 20 28 'EDITOR'));.if.(!$editor).{.if.(
18920 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 65 64 69 74 6f 72 Platform::isWindows()).{.$editor
18940 20 3d 20 27 6e 6f 74 65 70 61 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 .=.'notepad';.}.else.{.foreach.(
18960 61 72 72 61 79 28 27 65 64 69 74 6f 72 27 2c 20 27 76 69 6d 27 2c 20 27 76 69 27 2c 20 27 6e 61 array('editor',.'vim',.'vi',.'na
18980 6e 6f 27 2c 20 27 70 69 63 6f 27 2c 20 27 65 64 27 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 no',.'pico',.'ed').as.$candidate
189a0 29 20 7b 0a 69 66 20 28 65 78 65 63 28 27 77 68 69 63 68 20 27 2e 24 63 61 6e 64 69 64 61 74 65 ).{.if.(exec('which.'.$candidate
189c0 29 29 20 7b 0a 24 65 64 69 74 6f 72 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b )).{.$editor.=.$candidate;.break
189e0 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ;.}.}.}.}..$file.=.$input->getOp
18a00 74 69 6f 6e 28 27 61 75 74 68 27 29 20 3f 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 tion('auth').?.$this->authConfig
18a20 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 File->getPath().:.$this->configF
18a40 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 3b 0a 73 79 73 74 65 6d 28 24 65 64 69 74 6f 72 20 2e ile->getPath();.system($editor..
18a60 20 27 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 .'.'...$file...(Platform::isWind
18a80 6f 77 73 28 29 20 3f 20 27 27 20 3a 20 27 20 3e 20 60 74 74 79 60 27 29 29 3b 0a 0a 72 65 74 75 ows().?.''.:.'.>.`tty`'));..retu
18aa0 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 rn.0;.}..if.(!$input->getOption(
18ac0 27 67 6c 6f 62 61 6c 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 'global')).{.$this->config->merg
18ae0 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 3b 0a 24 74 e($this->configFile->read());.$t
18b00 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 his->config->merge(array('config
18b20 27 20 3d 3e 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 '.=>.$this->authConfigFile->exis
18b40 74 73 28 29 20 3f 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 ts().?.$this->authConfigFile->re
18b60 61 64 28 29 20 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 ad().:.array()));.}....if.($inpu
18b80 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c t->getOption('list')).{.$this->l
18ba0 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e istConfiguration($this->config->
18bc0 61 6c 6c 28 29 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 72 61 77 28 29 2c 20 24 6f 75 all(),.$this->config->raw(),.$ou
18be0 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 73 65 74 74 69 6e 67 4b 65 79 tput);..return.0;.}..$settingKey
18c00 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d .=.$input->getArgument('setting-
18c20 6b 65 79 27 29 3b 0a 69 66 20 28 21 24 73 65 74 74 69 6e 67 4b 65 79 29 20 7b 0a 72 65 74 75 72 key');.if.(!$settingKey).{.retur
18c40 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 69 6e 70 75 74 n.0;.}....if.(array().!==.$input
18c60 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 20 26 ->getArgument('setting-value').&
18c80 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a &.$input->getOption('unset')).{.
18ca0 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 throw.new.\RuntimeException('You
18cc0 20 63 61 6e 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 20 61 20 73 65 74 74 69 6e 67 20 76 61 6c 75 65 .can.not.combine.a.setting.value
18ce0 20 77 69 74 68 20 2d 2d 75 6e 73 65 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 79 28 .with.--unset');.}....if.(array(
18d00 29 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 ).===.$input->getArgument('setti
18d20 6e 67 2d 76 61 6c 75 65 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ng-value').&&.!$input->getOption
18d40 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 72 72 61 79 ('unset')).{.$properties.=.array
18d60 28 27 6e 61 6d 65 27 2c 20 27 74 79 70 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 ('name',.'type',.'description',.
18d80 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 76 65 72 73 69 6f 6e 27 2c 20 27 6d 69 6e 69 6d 75 6d 2d 'homepage',.'version',.'minimum-
18da0 73 74 61 62 69 6c 69 74 79 27 2c 20 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 27 6b 65 stability',.'prefer-stable',.'ke
18dc0 79 77 6f 72 64 73 27 2c 20 27 6c 69 63 65 6e 73 65 27 2c 20 27 65 78 74 72 61 27 29 3b 0a 24 72 ywords',.'license',.'extra');.$r
18de0 61 77 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 awData.=.$this->configFile->read
18e00 28 29 3b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 61 6c 6c 28 29 ();.$data.=.$this->config->all()
18e20 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f 3a 69 74 6f ;.if.(preg_match('/^repos?(?:ito
18e40 72 69 65 73 29 3f 28 3f 3a 5c 2e 28 2e 2b 29 29 3f 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 ries)?(?:\.(.+))?/',.$settingKey
18e60 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 74 63 68 ,.$matches)).{.if.(!isset($match
18e80 65 73 5b 31 5d 29 20 7c 7c 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 27 29 20 7b 0a es[1]).||.$matches[1].===.'').{.
18ea0 24 76 61 6c 75 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 $value.=.isset($data['repositori
18ec0 65 73 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 20 3a 20 es']).?.$data['repositories'].:.
18ee0 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 array();.}.else.{.if.(!isset($da
18f00 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 29 ta['repositories'][$matches[1]])
18f20 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
18f40 63 65 70 74 69 6f 6e 28 27 54 68 65 72 65 20 69 73 20 6e 6f 20 27 2e 24 6d 61 74 63 68 65 73 5b ception('There.is.no.'.$matches[
18f60 31 5d 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 0a 24 76 1].'.repository.defined');.}..$v
18f80 61 6c 75 65 20 3d 20 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 6d 61 alue.=.$data['repositories'][$ma
18fa0 74 63 68 65 73 5b 31 5d 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 70 6f 73 28 24 73 tches[1]];.}.}.elseif.(strpos($s
18fc0 65 74 74 69 6e 67 4b 65 79 2c 20 27 2e 27 29 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f ettingKey,.'.')).{.$bits.=.explo
18fe0 64 65 28 27 2e 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 69 66 20 28 24 62 69 74 73 5b de('.',.$settingKey);.if.($bits[
19000 30 5d 20 3d 3d 3d 20 27 65 78 74 72 61 27 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 72 61 77 44 61 0].===.'extra').{.$data.=.$rawDa
19020 74 61 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 61 74 61 5b 27 63 6f 6e 66 ta;.}.else.{.$data.=.$data['conf
19040 69 67 27 5d 3b 0a 7d 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 ig'];.}.$match.=.false;.foreach.
19060 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a 24 6b 65 79 20 3d 20 69 73 73 65 74 28 24 ($bits.as.$bit).{.$key.=.isset($
19080 6b 65 79 29 20 3f 20 24 6b 65 79 2e 27 2e 27 2e 24 62 69 74 20 3a 20 24 62 69 74 3b 0a 24 6d 61 key).?.$key.'.'.$bit.:.$bit;.$ma
190a0 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 24 6b 65 tch.=.false;.if.(isset($data[$ke
190c0 79 5d 29 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 24 64 61 74 61 20 3d 20 24 64 y])).{.$match.=.true;.$data.=.$d
190e0 61 74 61 5b 24 6b 65 79 5d 3b 0a 75 6e 73 65 74 28 24 6b 65 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 ata[$key];.unset($key);.}.}..if.
19100 28 21 24 6d 61 74 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 (!$match).{.throw.new.\RuntimeEx
19120 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e 6f 74 20 64 65 66 ception($settingKey.'.is.not.def
19140 69 6e 65 64 2e 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 74 61 3b 0a 7d 20 65 6c ined.');.}..$value.=.$data;.}.el
19160 73 65 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 73 65 74 seif.(isset($data['config'][$set
19180 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e tingKey])).{.$value.=.$this->con
191a0 66 69 67 2d 3e 67 65 74 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 69 6e 70 75 74 2d 3e 67 65 fig->get($settingKey,.$input->ge
191c0 74 4f 70 74 69 6f 6e 28 27 61 62 73 6f 6c 75 74 65 27 29 20 3f 20 30 20 3a 20 43 6f 6e 66 69 67 tOption('absolute').?.0.:.Config
191e0 3a 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f ::RELATIVE_PATHS);.}.elseif.(in_
19200 61 72 72 61 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 array($settingKey,.$properties,.
19220 74 72 75 65 29 20 26 26 20 69 73 73 65 74 28 24 72 61 77 44 61 74 61 5b 24 73 65 74 74 69 6e 67 true).&&.isset($rawData[$setting
19240 4b 65 79 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 72 61 77 44 61 74 61 5b 24 73 65 74 74 Key])).{.$value.=.$rawData[$sett
19260 69 6e 67 4b 65 79 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e ingKey];.}.else.{.throw.new.\Run
19280 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e timeException($settingKey.'.is.n
192a0 6f 74 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 ot.defined');.}..if.(is_array($v
192c0 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 alue)).{.$value.=.json_encode($v
192e0 61 6c 75 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 alue);.}..$this->getIO()->write(
19300 24 76 61 6c 75 65 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 $value,.true,.IOInterface::QUIET
19320 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 76 61 6c 75 65 73 20 3d 20 24 69 6e 70 75 );..return.0;.}..$values.=.$inpu
19340 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 3b t->getArgument('setting-value');
19360 20 0a 0a 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 ...$booleanValidator.=.function.
19380 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 ($val).{.return.in_array($val,.a
193a0 72 72 61 79 28 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c rray('true',.'false',.'1',.'0'),
193c0 20 74 72 75 65 29 3b 0a 7d 3b 0a 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 .true);.};.$booleanNormalizer.=.
193e0 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d function.($val).{.return.$val.!=
19400 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 3b 0a 0a 0a 20 =.'false'.&&.(bool).$val;.};....
19420 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 0a 27 70 72 $uniqueConfigValues.=.array(.'pr
19440 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 ocess-timeout'.=>.array('is_nume
19460 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 ric',.'intval'),.'use-include-pa
19480 74 68 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 th'.=>.array($booleanValidator,.
194a0 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 70 72 65 66 65 72 72 65 64 2d $booleanNormalizer),.'preferred-
194c0 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 install'.=>.array(.function.($va
194e0 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 l).{.return.in_array($val,.array
19500 28 27 61 75 74 6f 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 64 69 73 74 27 29 2c 20 74 72 75 65 ('auto',.'source',.'dist'),.true
19520 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 );.},.function.($val).{.return.$
19540 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 73 74 6f 72 65 2d 61 75 74 68 73 27 20 3d 3e 20 61 72 72 61 val;.},.),.'store-auths'.=>.arra
19560 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 y(.function.($val).{.return.in_a
19580 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 rray($val,.array('true',.'false'
195a0 2c 20 27 70 72 6f 6d 70 74 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 ,.'prompt'),.true);.},.function.
195c0 28 24 76 61 6c 29 20 7b 0a 69 66 20 28 27 70 72 6f 6d 70 74 27 20 3d 3d 3d 20 24 76 61 6c 29 20 ($val).{.if.('prompt'.===.$val).
195e0 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 6d 70 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 {.return.'prompt';.}..return.$va
19600 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 2c l.!==.'false'.&&.(bool).$val;.},
19620 0a 29 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 61 72 72 61 79 .),.'notify-on-install'.=>.array
19640 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d ($booleanValidator,.$booleanNorm
19660 61 6c 69 7a 65 72 29 2c 0a 27 76 65 6e 64 6f 72 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 alizer),.'vendor-dir'.=>.array('
19680 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 is_string',.function.($val).{.re
196a0 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 62 69 6e 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 turn.$val;.}),.'bin-dir'.=>.arra
196c0 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b y('is_string',.function.($val).{
196e0 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 61 72 63 68 69 76 65 2d 64 69 72 27 20 .return.$val;.}),.'archive-dir'.
19700 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 =>.array('is_string',.function.(
19720 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 61 72 63 68 69 76 $val).{.return.$val;.}),.'archiv
19740 65 2d 66 6f 72 6d 61 74 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 e-format'.=>.array('is_string',.
19760 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d function.($val).{.return.$val;.}
19780 29 2c 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e ),.'data-dir'.=>.array('is_strin
197a0 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 g',.function.($val).{.return.$va
197c0 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f l;.}),.'cache-dir'.=>.array('is_
197e0 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 string',.function.($val).{.retur
19800 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e n.$val;.}),.'cache-files-dir'.=>
19820 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 .array('is_string',.function.($v
19840 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 72 65 al).{.return.$val;.}),.'cache-re
19860 70 6f 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 po-dir'.=>.array('is_string',.fu
19880 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c nction.($val).{.return.$val;.}),
198a0 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 .'cache-vcs-dir'.=>.array('is_st
198c0 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 ring',.function.($val).{.return.
198e0 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 $val;.}),.'cache-ttl'.=>.array('
19900 69 73 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 63 61 63 68 65 2d 66 is_numeric',.'intval'),.'cache-f
19920 69 6c 65 73 2d 74 74 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 72 69 63 27 2c iles-ttl'.=>.array('is_numeric',
19940 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 .'intval'),.'cache-files-maxsize
19960 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 '.=>.array(.function.($val).{.re
19980 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 5c turn.preg_match('/^\s*([0-9.]+)\
199a0 73 2a 28 3f 3a 28 5b 6b 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f 69 27 2c 20 24 s*(?:([kmg])(?:i?b)?)?\s*$/i',.$
199c0 76 61 6c 29 20 3e 20 30 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 val).>.0;.},.function.($val).{.r
199e0 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 62 69 6e 2d 63 6f 6d 70 61 74 27 20 3d eturn.$val;.},.),.'bin-compat'.=
19a00 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 >.array(.function.($val).{.retur
19a20 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 n.in_array($val,.array('auto',.'
19a40 66 75 6c 6c 27 29 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 full'));.},.function.($val).{.re
19a60 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 turn.$val;.},.),.'discard-change
19a80 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 s'.=>.array(.function.($val).{.r
19aa0 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 73 74 61 73 eturn.in_array($val,.array('stas
19ac0 68 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c 20 h',.'true',.'false',.'1',.'0'),.
19ae0 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 69 66 20 28 true);.},.function.($val).{.if.(
19b00 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 74 61 73 'stash'.===.$val).{.return.'stas
19b20 68 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 h';.}..return.$val.!==.'false'.&
19b40 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 61 75 74 6f 6c 6f 61 64 65 72 &.(bool).$val;.},.),.'autoloader
19b60 2d 73 75 66 66 69 78 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 -suffix'.=>.array('is_string',.f
19b80 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 3d 3d 3d unction.($val).{.return.$val.===
19ba0 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 73 6f 72 74 .'null'.?.null.:.$val;.}),.'sort
19bc0 2d 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 -packages'.=>.array($booleanVali
19be0 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 6f 70 74 dator,.$booleanNormalizer),.'opt
19c00 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c imize-autoloader'.=>.array($bool
19c20 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 eanValidator,.$booleanNormalizer
19c40 29 2c 0a 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 20 3d 3e 20 61 ),.'classmap-authoritative'.=>.a
19c60 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e rray($booleanValidator,.$boolean
19c80 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d Normalizer),.'apcu-autoloader'.=
19ca0 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c >.array($booleanValidator,.$bool
19cc0 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 eanNormalizer),.'prepend-autoloa
19ce0 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c der'.=>.array($booleanValidator,
19d00 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 64 69 73 61 62 6c 65 2d 74 .$booleanNormalizer),.'disable-t
19d20 6c 73 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 ls'.=>.array($booleanValidator,.
19d40 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 73 65 63 75 72 65 2d 68 74 74 $booleanNormalizer),.'secure-htt
19d60 70 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 p'.=>.array($booleanValidator,.$
19d80 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 63 61 66 69 6c 65 27 20 3d 3e 20 booleanNormalizer),.'cafile'.=>.
19da0 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 array(.function.($val).{.return.
19dc0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 76 61 6c 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 file_exists($val).&&.is_readable
19de0 28 24 76 61 6c 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 ($val);.},.function.($val).{.ret
19e00 75 72 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 urn.$val.===.'null'.?.null.:.$va
19e20 6c 3b 0a 7d 2c 0a 29 2c 0a 27 63 61 70 61 74 68 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 l;.},.),.'capath'.=>.array(.func
19e40 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 76 61 6c tion.($val).{.return.is_dir($val
19e60 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 76 61 6c 29 3b 0a 7d 2c 0a 66 75 6e 63 74 ).&&.is_readable($val);.},.funct
19e80 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 ion.($val).{.return.$val.===.'nu
19ea0 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 68 75 62 ll'.?.null.:.$val;.},.),.'github
19ec0 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c -expose-hostname'.=>.array($bool
19ee0 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 eanValidator,.$booleanNormalizer
19f00 29 2c 0a 27 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 20 3d 3e 20 61 72 72 61 79 28 24 ),.'htaccess-protect'.=>.array($
19f20 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c booleanValidator,.$booleanNormal
19f40 69 7a 65 72 29 2c 0a 29 3b 0a 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 61 izer),.);.$multiConfigValues.=.a
19f60 72 72 61 79 28 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e 20 61 72 72 61 rray(.'github-protocols'.=>.arra
19f80 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 y(.function.($vals).{.if.(!is_ar
19fa0 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 ray($vals)).{.return.'array.expe
19fc0 63 74 65 64 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 73 20 61 73 20 24 76 61 6c cted';.}..foreach.($vals.as.$val
19fe0 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 67 ).{.if.(!in_array($val,.array('g
1a000 69 74 27 2c 20 27 68 74 74 70 73 27 2c 20 27 73 73 68 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 it',.'https',.'ssh'))).{.return.
1a020 27 76 61 6c 69 64 20 70 72 6f 74 6f 63 6f 6c 73 20 69 6e 63 6c 75 64 65 3a 20 67 69 74 2c 20 68 'valid.protocols.include:.git,.h
1a040 74 74 70 73 2c 20 73 73 68 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c ttps,.ssh';.}.}..return.true;.},
1a060 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 .function.($vals).{.return.$vals
1a080 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 ;.},.),.'github-domains'.=>.arra
1a0a0 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 y(.function.($vals).{.if.(!is_ar
1a0c0 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 ray($vals)).{.return.'array.expe
1a0e0 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 cted';.}..return.true;.},.functi
1a100 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c on.($vals).{.return.$vals;.},.),
1a120 0a 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 .'gitlab-domains'.=>.array(.func
1a140 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 tion.($vals).{.if.(!is_array($va
1a160 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a ls)).{.return.'array.expected';.
1a180 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 }..return.true;.},.function.($va
1a1a0 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 29 3b 0a 0a 69 66 ls).{.return.$vals;.},.),.);..if
1a1c0 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 20 26 26 20 .($input->getOption('unset').&&.
1a1e0 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 (isset($uniqueConfigValues[$sett
1a200 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 ingKey]).||.isset($multiConfigVa
1a220 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 lues[$settingKey]))).{.return.$t
1a240 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 his->configSource->removeConfigS
1a260 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 etting($settingKey);.}.if.(isset
1a280 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 ($uniqueConfigValues[$settingKey
1a2a0 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 53 69 6e 67 6c 65 ])).{.return.$this->handleSingle
1a2c0 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 Value($settingKey,.$uniqueConfig
1a2e0 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 61 Values[$settingKey],.$values,.'a
1a300 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 ddConfigSetting');.}.if.(isset($
1a320 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 multiConfigValues[$settingKey]))
1a340 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 .{.return.$this->handleMultiValu
1a360 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 e($settingKey,.$multiConfigValue
1a380 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 61 64 64 43 6f 6e s[$settingKey],.$values,.'addCon
1a3a0 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 7d 0a 0a 0a 20 24 75 6e 69 71 75 65 50 72 6f 70 73 20 figSetting');.}....$uniqueProps.
1a3c0 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 =.array(.'name'.=>.array('is_str
1a3e0 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 ing',.function.($val).{.return.$
1a400 76 61 6c 3b 0a 7d 29 2c 0a 27 74 79 70 65 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 val;.}),.'type'.=>.array('is_str
1a420 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 ing',.function.($val).{.return.$
1a440 76 61 6c 3b 0a 7d 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 val;.}),.'description'.=>.array(
1a460 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 'is_string',.function.($val).{.r
1a480 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 68 6f 6d 65 70 61 67 65 27 20 3d 3e 20 61 72 eturn.$val;.}),.'homepage'.=>.ar
1a4a0 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 ray('is_string',.function.($val)
1a4c0 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e .{.return.$val;.}),.'version'.=>
1a4e0 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 .array('is_string',.function.($v
1a500 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 6d 69 6e 69 6d 75 6d 2d al).{.return.$val;.}),.'minimum-
1a520 73 74 61 62 69 6c 69 74 79 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 stability'.=>.array(.function.($
1a540 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a val).{.return.isset(BasePackage:
1a560 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 :$stabilities[VersionParser::nor
1a580 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 76 61 6c 29 5d 29 3b 0a 7d 2c 0a 66 75 6e 63 malizeStability($val)]);.},.func
1a5a0 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 56 65 72 73 69 6f 6e 50 61 72 73 tion.($val).{.return.VersionPars
1a5c0 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 76 61 6c 29 3b 0a 7d 2c er::normalizeStability($val);.},
1a5e0 0a 29 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f .),.'prefer-stable'.=>.array($bo
1a600 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a oleanValidator,.$booleanNormaliz
1a620 65 72 29 2c 0a 29 3b 0a 24 6d 75 6c 74 69 50 72 6f 70 73 20 3d 20 61 72 72 61 79 28 0a 27 6b 65 er),.);.$multiProps.=.array(.'ke
1a640 79 77 6f 72 64 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c ywords'.=>.array(.function.($val
1a660 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 s).{.if.(!is_array($vals)).{.ret
1a680 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 urn.'array.expected';.}..return.
1a6a0 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 true;.},.function.($vals).{.retu
1a6c0 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d 3e 20 61 72 72 rn.$vals;.},.),.'license'.=>.arr
1a6e0 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 ay(.function.($vals).{.if.(!is_a
1a700 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 rray($vals)).{.return.'array.exp
1a720 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 ected';.}..return.true;.},.funct
1a740 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 ion.($vals).{.return.$vals;.},.)
1a760 2c 0a 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f ,.);..if.($input->getOption('glo
1a780 62 61 6c 27 29 20 26 26 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 bal').&&.(isset($uniqueProps[$se
1a7a0 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b ttingKey]).||.isset($multiProps[
1a7c0 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 73 75 62 73 74 72 28 24 73 65 74 74 69 6e 67 $settingKey]).||.substr($setting
1a7e0 4b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 29 29 20 7b 0a 74 68 72 6f Key,.0,.6).===.'extra.')).{.thro
1a800 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
1a820 27 54 68 65 20 27 2e 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 70 72 6f 70 65 72 74 79 20 63 61 'The.'.$settingKey.'.property.ca
1a840 6e 20 6e 6f 74 20 62 65 20 73 65 74 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 n.not.be.set.in.the.global.confi
1a860 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 20 55 73 65 20 60 63 6f 6d 70 6f 73 65 72 20 67 6c 6f 62 61 g.json.file..Use.`composer.globa
1a880 6c 20 63 6f 6e 66 69 67 60 20 74 6f 20 61 70 70 6c 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 l.config`.to.apply.changes.to.th
1a8a0 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 7d 0a 69 66 20 28 e.global.composer.json');.}.if.(
1a8c0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 20 26 26 20 28 69 $input->getOption('unset').&&.(i
1a8e0 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 sset($uniqueProps[$settingKey]).
1a900 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 ||.isset($multiProps[$settingKey
1a920 5d 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 ]))).{.return.$this->configSourc
1a940 65 2d 3e 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a e->removeProperty($settingKey);.
1a960 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e }.if.(isset($uniqueProps[$settin
1a980 67 4b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 53 69 gKey])).{.return.$this->handleSi
1a9a0 6e 67 6c 65 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 75 6e 69 71 75 65 50 72 ngleValue($settingKey,.$uniquePr
1a9c0 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 61 64 64 50 ops[$settingKey],.$values,.'addP
1a9e0 72 6f 70 65 72 74 79 27 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 75 6c 74 69 50 72 6f roperty');.}.if.(isset($multiPro
1aa00 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ps[$settingKey])).{.return.$this
1aa20 2d 3e 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 ->handleMultiValue($settingKey,.
1aa40 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 $multiProps[$settingKey],.$value
1aa60 73 2c 20 27 61 64 64 50 72 6f 70 65 72 74 79 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 s,.'addProperty');.}....if.(preg
1aa80 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f 3a 69 74 6f 72 69 65 73 29 3f 5c 2e 28 2e _match('/^repos?(?:itories)?\.(.
1aaa0 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a +)/',.$settingKey,.$matches)).{.
1aac0 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 if.($input->getOption('unset')).
1aae0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 {.return.$this->configSource->re
1ab00 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a moveRepository($matches[1]);.}..
1ab20 69 66 20 28 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 if.(2.===.count($values)).{.retu
1ab40 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 65 70 6f 73 rn.$this->configSource->addRepos
1ab60 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 itory($matches[1],.array(.'type'
1ab80 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 76 61 6c 75 65 73 .=>.$values[0],.'url'.=>.$values
1aba0 5b 31 5d 2c 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c [1],.));.}..if.(1.===.count($val
1abc0 75 65 73 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 61 6c ues)).{.$value.=.strtolower($val
1abe0 75 65 73 5b 30 5d 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 62 6f 6f 6c 65 61 6e 56 61 ues[0]);.if.(true.===.$booleanVa
1ac00 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 29 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d lidator($value)).{.if.(false.===
1ac20 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 .$booleanNormalizer($value)).{.r
1ac40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 65 eturn.$this->configSource->addRe
1ac60 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a pository($matches[1],.false);.}.
1ac80 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 }.else.{.$value.=.JsonFile::pars
1aca0 65 4a 73 6f 6e 28 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 eJson($values[0]);..return.$this
1acc0 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6d ->configSource->addRepository($m
1ace0 61 74 63 68 65 73 5b 31 5d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e atches[1],.$value);.}.}..throw.n
1ad00 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 70 ew.\RuntimeException('You.must.p
1ad20 61 73 73 20 74 68 65 20 74 79 70 65 20 61 6e 64 20 61 20 75 72 6c 2e 20 45 78 61 6d 70 6c 65 3a ass.the.type.and.a.url..Example:
1ad40 20 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 6f 6e 66 69 67 20 72 65 70 6f 73 69 .php.composer.phar.config.reposi
1ad60 74 6f 72 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 73 3a 2f 2f 62 61 72 2e 63 6f 6d 27 29 tories.foo.vcs.https://bar.com')
1ad80 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 65 78 74 72 61 5c 2e ;.}....if.(preg_match('/^extra\.
1ada0 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 (.+)/',.$settingKey,.$matches)).
1adc0 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 {.if.($input->getOption('unset')
1ade0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e ).{.return.$this->configSource->
1ae00 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a removeProperty($settingKey);.}..
1ae20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 50 return.$this->configSource->addP
1ae40 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 76 61 6c 75 65 73 5b 30 5d 29 roperty($settingKey,.$values[0])
1ae60 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 70 6c 61 74 66 6f 72 ;.}....if.(preg_match('/^platfor
1ae80 6d 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 m\.(.+)/',.$settingKey,.$matches
1aea0 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 )).{.if.($input->getOption('unse
1aec0 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 t')).{.return.$this->configSourc
1aee0 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b e->removeConfigSetting($settingK
1af00 65 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 ey);.}..return.$this->configSour
1af20 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 ce->addConfigSetting($settingKey
1af40 2c 20 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 7d 0a 69 66 20 28 24 73 65 74 74 69 6e 67 4b 65 79 ,.$values[0]);.}.if.($settingKey
1af60 20 3d 3d 3d 20 27 70 6c 61 74 66 6f 72 6d 27 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 .===.'platform'.&&.$input->getOp
1af80 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 tion('unset')).{.return.$this->c
1afa0 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 onfigSource->removeConfigSetting
1afc0 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 ($settingKey);.}....if.(preg_mat
1afe0 63 68 28 27 2f 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 7c 67 69 74 68 75 62 2d 6f 61 ch('/^(bitbucket-oauth|github-oa
1b000 75 74 68 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 7c 68 74 uth|gitlab-oauth|gitlab-token|ht
1b020 74 70 2d 62 61 73 69 63 29 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 tp-basic)\.(.+)/',.$settingKey,.
1b040 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 $matches)).{.if.($input->getOpti
1b060 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 on('unset')).{.$this->authConfig
1b080 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 Source->removeConfigSetting($mat
1b0a0 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d ches[1].'.'.$matches[2]);.$this-
1b0c0 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 >configSource->removeConfigSetti
1b0e0 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b ng($matches[1].'.'.$matches[2]);
1b100 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d ..return;.}..if.($matches[1].===
1b120 20 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 20 7b 0a 69 66 20 28 32 20 21 3d 3d 20 .'bitbucket-oauth').{.if.(2.!==.
1b140 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e count($values)).{.throw.new.\Run
1b160 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 74 77 6f 20 61 72 67 75 timeException('Expected.two.argu
1b180 6d 65 6e 74 73 20 28 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 2c 20 63 6f 6e 73 75 6d 65 72 2d 73 65 ments.(consumer-key,.consumer-se
1b1a0 63 72 65 74 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 3b 0a 7d 0a cret),.got.'.count($values));.}.
1b1c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 $this->configSource->removeConfi
1b1e0 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 gSetting($matches[1].'.'.$matche
1b200 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e s[2]);.$this->authConfigSource->
1b220 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 addConfigSetting($matches[1].'.'
1b240 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 61 79 28 27 63 6f 6e 73 75 6d 65 72 2d 6b 65 .$matches[2],.array('consumer-ke
1b260 79 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 y'.=>.$values[0],.'consumer-secr
1b280 65 74 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 et'.=>.$values[1]));.}.elseif.(i
1b2a0 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 61 72 72 61 79 28 27 67 69 74 68 n_array($matches[1],.array('gith
1b2c0 75 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c ub-oauth',.'gitlab-oauth',.'gitl
1b2e0 61 62 2d 74 6f 6b 65 6e 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 69 66 20 28 31 20 21 3d 3d 20 63 ab-token'),.true)).{.if.(1.!==.c
1b300 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 ount($values)).{.throw.new.\Runt
1b320 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 imeException('Too.many.arguments
1b340 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 6c 79 20 6f 6e 65 20 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 24 ,.expected.only.one.token');.}.$
1b360 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 this->configSource->removeConfig
1b380 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 Setting($matches[1].'.'.$matches
1b3a0 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 [2]);.$this->authConfigSource->a
1b3c0 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e ddConfigSetting($matches[1].'.'.
1b3e0 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 7d 20 65 6c 73 65 $matches[2],.$values[0]);.}.else
1b400 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 68 74 74 70 2d 62 61 73 69 63 27 if.($matches[1].===.'http-basic'
1b420 29 20 7b 0a 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a ).{.if.(2.!==.count($values)).{.
1b440 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 throw.new.\RuntimeException('Exp
1b460 65 63 74 65 64 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 28 75 73 65 72 6e 61 6d 65 2c 20 70 ected.two.arguments.(username,.p
1b480 61 73 73 77 6f 72 64 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 3b assword),.got.'.count($values));
1b4a0 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f .}.$this->configSource->removeCo
1b4c0 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 nfigSetting($matches[1].'.'.$mat
1b4e0 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 ches[2]);.$this->authConfigSourc
1b500 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e e->addConfigSetting($matches[1].
1b520 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 '.'.$matches[2],.array('username
1b540 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 '.=>.$values[0],.'password'.=>.$
1b560 76 61 6c 75 65 73 5b 31 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 values[1]));.}..return;.}....if.
1b580 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 73 63 72 69 70 74 73 5c 2e 28 2e 2b 29 2f 27 2c 20 (preg_match('/^scripts\.(.+)/',.
1b5a0 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 $settingKey,.$matches)).{.if.($i
1b5c0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 nput->getOption('unset')).{.retu
1b5e0 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 50 72 rn.$this->configSource->removePr
1b600 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 operty($settingKey);.}..return.$
1b620 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 50 72 6f 70 65 72 74 79 28 this->configSource->addProperty(
1b640 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 20 3e 20 31 20 $settingKey,.count($values).>.1.
1b660 3f 20 24 76 61 6c 75 65 73 20 3a 20 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 7d 0a 0a 74 68 72 6f ?.$values.:.$values[0]);.}..thro
1b680 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
1b6a0 27 53 65 74 74 69 6e 67 20 27 2e 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 64 6f 65 73 20 6e 6f 'Setting.'.$settingKey.'.does.no
1b6c0 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 t.exist.or.is.not.supported.by.t
1b6e0 68 69 73 20 63 6f 6d 6d 61 6e 64 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 his.command');.}..protected.func
1b700 74 69 6f 6e 20 68 61 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 65 28 24 6b 65 79 2c 20 61 72 72 tion.handleSingleValue($key,.arr
1b720 61 79 20 24 63 61 6c 6c 62 61 63 6b 73 2c 20 61 72 72 61 79 20 24 76 61 6c 75 65 73 2c 20 24 6d ay.$callbacks,.array.$values,.$m
1b740 65 74 68 6f 64 29 0a 7b 0a 6c 69 73 74 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 6e 6f 72 6d 61 ethod).{.list($validator,.$norma
1b760 6c 69 7a 65 72 29 20 3d 20 24 63 61 6c 6c 62 61 63 6b 73 3b 0a 69 66 20 28 31 20 21 3d 3d 20 63 lizer).=.$callbacks;.if.(1.!==.c
1b780 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 ount($values)).{.throw.new.\Runt
1b7a0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 20 6f 6e 6c 79 20 70 61 73 73 20 imeException('You.can.only.pass.
1b7c0 6f 6e 65 20 76 61 6c 75 65 2e 20 45 78 61 6d 70 6c 65 3a 20 70 68 70 20 63 6f 6d 70 6f 73 65 72 one.value..Example:.php.composer
1b7e0 2e 70 68 61 72 20 63 6f 6e 66 69 67 20 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 20 33 30 30 .phar.config.process-timeout.300
1b800 27 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 ');.}..if.(true.!==.$validation.
1b820 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 29 20 7b 0a 74 68 72 6f =.$validator($values[0])).{.thro
1b840 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 w.new.\RuntimeException(sprintf(
1b860 0a 27 22 25 73 22 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 27 2e 28 24 76 61 .'"%s".is.an.invalid.value'.($va
1b880 6c 69 64 61 74 69 6f 6e 20 3f 20 27 20 28 27 2e 24 76 61 6c 69 64 61 74 69 6f 6e 2e 27 29 27 20 lidation.?.'.('.$validation.')'.
1b8a0 3a 20 27 27 29 2c 0a 24 76 61 6c 75 65 73 5b 30 5d 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 :.''),.$values[0].));.}..return.
1b8c0 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 call_user_func(array($this->conf
1b8e0 69 67 53 6f 75 72 63 65 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 6b 65 79 2c 20 24 6e 6f 72 6d 61 igSource,.$method),.$key,.$norma
1b900 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 lizer($values[0]));.}..protected
1b920 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 6b 65 79 2c .function.handleMultiValue($key,
1b940 20 61 72 72 61 79 20 24 63 61 6c 6c 62 61 63 6b 73 2c 20 61 72 72 61 79 20 24 76 61 6c 75 65 73 .array.$callbacks,.array.$values
1b960 2c 20 24 6d 65 74 68 6f 64 29 0a 7b 0a 6c 69 73 74 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 6e ,.$method).{.list($validator,.$n
1b980 6f 72 6d 61 6c 69 7a 65 72 29 20 3d 20 24 63 61 6c 6c 62 61 63 6b 73 3b 0a 69 66 20 28 74 72 75 ormalizer).=.$callbacks;.if.(tru
1b9a0 65 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 e.!==.$validation.=.$validator($
1b9c0 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 values)).{.throw.new.\RuntimeExc
1b9e0 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 eption(sprintf(.'%s.is.an.invali
1ba00 64 20 76 61 6c 75 65 27 2e 28 24 76 61 6c 69 64 61 74 69 6f 6e 20 3f 20 27 20 28 27 2e 24 76 61 d.value'.($validation.?.'.('.$va
1ba20 6c 69 64 61 74 69 6f 6e 2e 27 29 27 20 3a 20 27 27 29 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 lidation.')'.:.''),.json_encode(
1ba40 24 76 61 6c 75 65 73 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 $values).));.}..return.call_user
1ba60 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2c _func(array($this->configSource,
1ba80 20 24 6d 65 74 68 6f 64 29 2c 20 24 6b 65 79 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 .$method),.$key,.$normalizer($va
1baa0 6c 75 65 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e lues));.}..........protected.fun
1bac0 63 74 69 6f 6e 20 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 61 72 72 61 79 20 24 63 ction.listConfiguration(array.$c
1bae0 6f 6e 74 65 6e 74 73 2c 20 61 72 72 61 79 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 2c 20 4f 75 74 ontents,.array.$rawContents,.Out
1bb00 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6b 20 3d 20 6e 75 6c 6c 29 putInterface.$output,.$k.=.null)
1bb20 0a 7b 0a 24 6f 72 69 67 4b 20 3d 20 24 6b 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 .{.$origK.=.$k;.$io.=.$this->get
1bb40 49 4f 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 73 20 61 73 20 24 6b 65 79 IO();.foreach.($contents.as.$key
1bb60 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 .=>.$value).{.if.($k.===.null.&&
1bb80 20 21 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c .!in_array($key,.array('config',
1bba0 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d .'repositories'))).{.continue;.}
1bbc0 0a 0a 24 72 61 77 56 61 6c 20 3d 20 69 73 73 65 74 28 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 ..$rawVal.=.isset($rawContents[$
1bbe0 6b 65 79 5d 29 20 3f 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 6b 65 79 5d 20 3a 20 6e 75 6c key]).?.$rawContents[$key].:.nul
1bc00 6c 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 28 21 69 73 l;..if.(is_array($value).&&.(!is
1bc20 5f 6e 75 6d 65 72 69 63 28 6b 65 79 28 24 76 61 6c 75 65 29 29 20 7c 7c 20 28 24 6b 65 79 20 3d _numeric(key($value)).||.($key.=
1bc40 3d 3d 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6b ==.'repositories'.&&.null.===.$k
1bc60 29 29 29 20 7b 0a 24 6b 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 63 6f 6e 66 ))).{.$k..=.preg_replace('{^conf
1bc80 69 67 5c 2e 7d 27 2c 20 27 27 2c 20 24 6b 65 79 20 2e 20 27 2e 27 29 3b 0a 24 74 68 69 73 2d 3e ig\.}',.'',.$key...'.');.$this->
1bca0 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 76 61 6c 75 65 2c 20 24 72 61 77 56 61 listConfiguration($value,.$rawVa
1bcc0 6c 2c 20 24 6f 75 74 70 75 74 2c 20 24 6b 29 3b 0a 24 6b 20 3d 20 24 6f 72 69 67 4b 3b 0a 0a 63 l,.$output,.$k);.$k.=.$origK;..c
1bce0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 ontinue;.}..if.(is_array($value)
1bd00 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 ).{.$value.=.array_map(function.
1bd20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 3f ($val).{.return.is_array($val).?
1bd40 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 29 20 3a 20 24 76 61 6c 3b 0a 7d 2c 20 24 76 .json_encode($val).:.$val;.},.$v
1bd60 61 6c 75 65 29 3b 0a 0a 24 76 61 6c 75 65 20 3d 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 alue);..$value.=.'['.implode(',.
1bd80 27 2c 20 24 76 61 6c 75 65 29 2e 27 5d 27 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 ',.$value).']';.}..if.(is_bool($
1bda0 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 76 value)).{.$value.=.var_export($v
1bdc0 61 6c 75 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 alue,.true);.}..if.(is_string($r
1bde0 61 77 56 61 6c 29 20 26 26 20 24 72 61 77 56 61 6c 20 21 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 awVal).&&.$rawVal.!=.$value).{.$
1be00 69 6f 2d 3e 77 72 69 74 65 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6b 20 2e 20 24 6b io->write('[<comment>'...$k...$k
1be20 65 79 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 6f 3e 27 20 2e 20 24 72 61 77 ey...'</comment>].<info>'...$raw
1be40 56 61 6c 20 2e 20 27 20 28 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e 27 Val...'.('...$value...')</info>'
1be60 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 20 65 ,.true,.IOInterface::QUIET);.}.e
1be80 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 lse.{.$io->write('[<comment>'...
1bea0 24 6b 20 2e 20 24 6b 65 79 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 6f 3e 27 $k...$key...'</comment>].<info>'
1bec0 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 ...$value...'</info>',.true,.IOI
1bee0 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a nterface::QUIET);.}.}.}.}.<?php.
1bf00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f ...........namespace.Composer\Co
1bf20 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 mmand;..use.Composer\Config;.use
1bf40 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c .Composer\Factory;.use.Composer\
1bf60 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 Installer;.use.Composer\Installe
1bf80 72 5c 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 r\ProjectInstaller;.use.Composer
1bfa0 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a \Installer\InstallationManager;.
1bfc0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 53 75 67 67 65 73 74 65 64 use.Composer\Installer\Suggested
1bfe0 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 PackagesReporter;.use.Composer\I
1c000 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b O\IOInterface;.use.Composer\Pack
1c020 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 age\BasePackage;.use.Composer\De
1c040 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f pendencyResolver\Pool;.use.Compo
1c060 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e ser\DependencyResolver\Operation
1c080 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \InstallOperation;.use.Composer\
1c0a0 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b Package\Version\VersionSelector;
1c0c0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 .use.Composer\Package\AliasPacka
1c0e0 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f ge;.use.Composer\Repository\Repo
1c100 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f sitoryFactory;.use.Composer\Repo
1c120 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 sitory\CompositeRepository;.use.
1c140 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f Composer\Repository\PlatformRepo
1c160 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c sitory;.use.Composer\Repository\
1c180 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 InstalledFilesystemRepository;.u
1c1a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b se.Composer\Script\ScriptEvents;
1c1c0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 .use.Composer\Util\Silencer;.use
1c1e0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
1c200 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 \InputArgument;.use.Symfony\Comp
1c220 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
1c240 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
1c260 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 e\Input\InputOption;.use.Symfony
1c280 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 \Component\Console\Output\Output
1c2a0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
1c2c0 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f \Finder\Finder;.use.Composer\Jso
1c2e0 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c n\JsonFile;.use.Composer\Config\
1c300 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 JsonConfigSource;.use.Composer\U
1c320 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 til\Filesystem;.use.Composer\Pac
1c340 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a kage\Version\VersionParser;.....
1c360 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 20 .....class.CreateProjectCommand.
1c380 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 extends.BaseCommand.{....protect
1c3a0 65 64 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a ed.$suggestedPackagesReporter;..
1c3c0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b protected.function.configure().{
1c3e0 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 .$this.->setName('create-project
1c400 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 6e 65 77 ').->setDescription('Creates.new
1c420 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 67 69 76 .project.from.a.package.into.giv
1c440 65 6e 20 64 69 72 65 63 74 6f 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 en.directory.').->setDefinition(
1c460 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 array(.new.InputArgument('packag
1c480 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 e',.InputArgument::OPTIONAL,.'Pa
1c4a0 63 6b 61 67 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 0a 6e 65 ckage.name.to.be.installed'),.ne
1c4c0 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 2c 20 49 6e 70 w.InputArgument('directory',.Inp
1c4e0 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 44 69 72 65 63 74 6f 72 79 utArgument::OPTIONAL,.'Directory
1c500 20 77 68 65 72 65 20 74 68 65 20 66 69 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 74 .where.the.files.should.be.creat
1c520 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e ed'),.new.InputArgument('version
1c540 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 ',.InputArgument::OPTIONAL,.'Ver
1c560 73 69 6f 6e 2c 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20 6c 61 74 65 73 74 27 29 2c 0a sion,.will.default.to.latest'),.
1c580 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 73 27 new.InputOption('stability',.'s'
1c5a0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 ,.InputOption::VALUE_REQUIRED,.'
1c5c0 4d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 61 6c 6c 6f 77 65 64 20 28 75 6e 6c 65 73 Minimum-stability.allowed.(unles
1c5e0 73 20 61 20 76 65 72 73 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 29 2e 27 29 2c 0a 6e 65 s.a.version.is.specified).'),.ne
1c600 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e w.InputOption('prefer-source',.n
1c620 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 ull,.InputOption::VALUE_NONE,.'F
1c640 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 orces.installation.from.package.
1c660 73 6f 75 72 63 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 sources.when.possible,.including
1c680 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 .VCS.information.'),.new.InputOp
1c6a0 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f tion('prefer-dist',.null,.InputO
1c6c0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 ption::VALUE_NONE,.'Forces.insta
1c6e0 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 llation.from.package.dist.even.f
1c700 6f 72 20 64 65 76 20 76 65 72 73 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 or.dev.versions.'),.new.InputOpt
1c720 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ion('repository',.null,.InputOpt
1c740 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 50 69 63 6b 20 61 20 64 69 66 ion::VALUE_REQUIRED,.'Pick.a.dif
1c760 66 65 72 65 6e 74 20 72 65 70 6f 73 69 74 6f 72 79 20 28 61 73 20 75 72 6c 20 6f 72 20 6a 73 6f ferent.repository.(as.url.or.jso
1c780 6e 20 63 6f 6e 66 69 67 29 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 n.config).to.look.for.the.packag
1c7a0 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 e.'),.new.InputOption('repositor
1c7c0 79 2d 75 72 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 y-url',.null,.InputOption::VALUE
1c7e0 5f 52 45 51 55 49 52 45 44 2c 20 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 20 2d 2d 72 65 _REQUIRED,.'DEPRECATED:.Use.--re
1c800 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 pository.instead.'),.new.InputOp
1c820 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('dev',.null,.InputOption::V
1c840 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e ALUE_NONE,.'Enables.installation
1c860 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 .of.require-dev.packages.(enable
1c880 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 d.by.default,.only.present.for.B
1c8a0 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c C).'),.new.InputOption('no-dev',
1c8c0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
1c8e0 27 44 69 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 'Disables.installation.of.requir
1c900 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 e-dev.packages.'),.new.InputOpti
1c920 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c on('no-custom-installers',.null,
1c940 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 .InputOption::VALUE_NONE,.'DEPRE
1c960 43 41 54 45 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 CATED:.Use.no-plugins.instead.')
1c980 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 ,.new.InputOption('no-scripts',.
1c9a0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
1c9c0 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 Whether.to.prevent.execution.of.
1c9e0 61 6c 6c 20 64 65 66 69 6e 65 64 20 73 63 72 69 70 74 73 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 all.defined.scripts.in.the.root.
1ca00 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d package.'),.new.InputOption('no-
1ca20 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 progress',.null,.InputOption::VA
1ca40 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 LUE_NONE,.'Do.not.output.downloa
1ca60 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 d.progress.'),.new.InputOption('
1ca80 6e 6f 2d 73 65 63 75 72 65 2d 68 74 74 70 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 no-secure-http',.null,.InputOpti
1caa0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 20 74 68 65 20 73 65 63 on::VALUE_NONE,.'Disable.the.sec
1cac0 75 72 65 2d 68 74 74 70 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 20 74 65 6d 70 6f 72 61 72 69 ure-http.config.option.temporari
1cae0 6c 79 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 70 61 63 ly.while.installing.the.root.pac
1cb00 6b 61 67 65 2e 20 55 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2e 20 55 73 69 6e kage..Use.at.your.own.risk..Usin
1cb20 67 20 74 68 69 73 20 66 6c 61 67 20 69 73 20 61 20 62 61 64 20 69 64 65 61 2e 27 29 2c 0a 6e 65 g.this.flag.is.a.bad.idea.'),.ne
1cb40 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 2c 20 6e 75 6c 6c 2c 20 w.InputOption('keep-vcs',.null,.
1cb60 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 InputOption::VALUE_NONE,.'Whethe
1cb80 72 20 74 6f 20 70 72 65 76 65 6e 74 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 76 63 73 20 66 6f r.to.prevent.deleting.the.vcs.fo
1cba0 6c 64 65 72 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 6d 6f 76 65 lder.'),.new.InputOption('remove
1cbc0 2d 76 63 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f -vcs',.null,.InputOption::VALUE_
1cbe0 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 66 6f 72 63 65 20 64 65 6c 65 74 69 6f 6e NONE,.'Whether.to.force.deletion
1cc00 20 6f 66 20 74 68 65 20 76 63 73 20 66 6f 6c 64 65 72 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 .of.the.vcs.folder.without.promp
1cc20 74 69 6e 67 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 ting.'),.new.InputOption('no-ins
1cc40 74 61 6c 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f tall',.null,.InputOption::VALUE_
1cc60 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 73 6b 69 70 20 69 6e 73 74 61 6c 6c 61 74 NONE,.'Whether.to.skip.installat
1cc80 69 6f 6e 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e ion.of.the.package.dependencies.
1cca0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 '),.new.InputOption('ignore-plat
1ccc0 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 form-reqs',.null,.InputOption::V
1cce0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 ALUE_NONE,.'Ignore.platform.requ
1cd00 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 irements.(php.&.ext-.packages).'
1cd20 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 ),.)).->setHelp(.<<<EOT.The.<inf
1cd40 6f 3e 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 o>create-project</info>.command.
1cd60 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 67 69 76 creates.a.new.project.from.a.giv
1cd80 65 6e 0a 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 61 20 6e 65 77 20 64 69 72 65 63 74 6f 72 79 2e en.package.into.a.new.directory.
1cda0 20 49 66 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f 75 74 20 70 61 72 61 6d 73 20 61 6e 64 20 .If.executed.without.params.and.
1cdc0 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 0a 77 69 74 68 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a in.a.directory.with.a.composer.j
1cde0 73 6f 6e 20 66 69 6c 65 20 69 74 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67 65 son.file.it.installs.the.package
1ce00 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e 0a 0a 59 6f 75 20 s.for.the.current.project...You.
1ce20 63 61 6e 20 75 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 6f 6f 74 73 74 72 61 can.use.this.command.to.bootstra
1ce40 70 20 6e 65 77 20 70 72 6f 6a 65 63 74 73 20 6f 72 20 73 65 74 75 70 20 61 20 63 6c 65 61 6e 0a p.new.projects.or.setup.a.clean.
1ce60 76 65 72 73 69 6f 6e 2d 63 6f 6e 74 72 6f 6c 6c 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 version-controlled.installation.
1ce80 66 6f 72 20 64 65 76 65 6c 6f 70 65 72 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e 0a for.developers.of.your.project..
1cea0 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 72 65 61 74 65 2d .<info>php.composer.phar.create-
1cec0 70 72 6f 6a 65 63 74 20 76 65 6e 64 6f 72 2f 70 72 6f 6a 65 63 74 20 74 61 72 67 65 74 2d 64 69 project.vendor/project.target-di
1cee0 72 65 63 74 6f 72 79 20 5b 76 65 72 73 69 6f 6e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 rectory.[version]</info>..You.ca
1cf00 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 77 69 74 68 20 n.also.specify.the.version.with.
1cf20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 75 73 69 6e 67 20 3d 20 6f 72 20 3a 20 61 73 the.package.name.using.=.or.:.as
1cf40 20 73 65 70 61 72 61 74 6f 72 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e .separator...<info>php.composer.
1cf60 70 68 61 72 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 76 65 6e 64 6f 72 2f 70 72 6f 6a 65 phar.create-project.vendor/proje
1cf80 63 74 3a 76 65 72 73 69 6f 6e 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 3c 2f 69 6e 66 ct:version.target-directory</inf
1cfa0 6f 3e 0a 0a 54 6f 20 69 6e 73 74 61 6c 6c 20 75 6e 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 o>..To.install.unstable.packages
1cfc0 2c 20 65 69 74 68 65 72 20 73 70 65 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 ,.either.specify.the.version.you
1cfe0 20 77 61 6e 74 2c 20 6f 72 20 75 73 65 20 74 68 65 0a 2d 2d 73 74 61 62 69 6c 69 74 79 3d 64 65 .want,.or.use.the.--stability=de
1d000 76 20 28 77 68 65 72 65 20 64 65 76 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 52 43 2c 20 62 v.(where.dev.can.be.one.of.RC,.b
1d020 65 74 61 2c 20 61 6c 70 68 61 20 6f 72 20 64 65 76 29 2e 0a 0a 54 6f 20 73 65 74 75 70 20 61 20 eta,.alpha.or.dev)...To.setup.a.
1d040 64 65 76 65 6c 6f 70 65 72 20 77 6f 72 6b 61 62 6c 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 20 73 developer.workable.version.you.s
1d060 68 6f 75 6c 64 20 63 72 65 61 74 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 74 hould.create.the.project.using.t
1d080 68 65 20 73 6f 75 72 63 65 0a 63 6f 6e 74 72 6f 6c 6c 65 64 20 63 6f 64 65 20 62 79 20 61 70 70 he.source.controlled.code.by.app
1d0a0 65 6e 64 69 6e 67 20 74 68 65 20 3c 69 6e 66 6f 3e 27 2d 2d 70 72 65 66 65 72 2d 73 6f 75 72 63 ending.the.<info>'--prefer-sourc
1d0c0 65 27 3c 2f 69 6e 66 6f 3e 20 66 6c 61 67 2e 0a 0a 54 6f 20 69 6e 73 74 61 6c 6c 20 61 20 70 61 e'</info>.flag...To.install.a.pa
1d0e0 63 6b 61 67 65 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 ckage.from.another.repository.th
1d100 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 20 79 6f 75 0a 63 61 6e 20 70 61 73 73 20 an.the.default.one.you.can.pass.
1d120 74 68 65 20 3c 69 6e 66 6f 3e 27 2d 2d 72 65 70 6f 73 69 74 6f 72 79 3d 68 74 74 70 73 3a 2f 2f the.<info>'--repository=https://
1d140 6d 79 72 65 70 6f 73 69 74 6f 72 79 2e 6f 72 67 27 3c 2f 69 6e 66 6f 3e 20 66 6c 61 67 2e 0a 0a myrepository.org'</info>.flag...
1d160 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 Read.more.at.https://getcomposer
1d180 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 .org/doc/03-cli.md#create-projec
1d1a0 74 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 t.EOT.).;.}..protected.function.
1d1c0 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f execute(InputInterface.$input,.O
1d1e0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 utputInterface.$output).{.$confi
1d200 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f g.=.Factory::createConfig();.$io
1d220 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 6c 69 73 74 28 24 70 72 65 66 65 72 .=.$this->getIO();..list($prefer
1d240 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 Source,.$preferDist).=.$this->ge
1d260 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 tPreferredInstallOptions($config
1d280 2c 20 24 69 6e 70 75 74 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 ,.$input,.true);..if.($input->ge
1d2a0 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f tOption('dev')).{.$io->writeErro
1d2c0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 r('<warning>You.are.using.the.de
1d2e0 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 precated.option."dev"..Dev.packa
1d300 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 ges.are.installed.by.default.now
1d320 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 .</warning>');.}.if.($input->get
1d340 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 Option('no-custom-installers')).
1d360 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 {.$io->writeError('<warning>You.
1d380 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 are.using.the.deprecated.option.
1d3a0 22 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d "no-custom-installers"..Use."no-
1d3c0 70 6c 75 67 69 6e 73 22 20 69 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 plugins".instead.</warning>');.$
1d3e0 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 input->setOption('no-plugins',.t
1d400 72 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 72 rue);.}..return.$this->installPr
1d420 6f 6a 65 63 74 28 0a 24 69 6f 2c 0a 24 63 6f 6e 66 69 67 2c 0a 24 69 6e 70 75 74 2c 0a 24 69 6e oject(.$io,.$config,.$input,.$in
1d440 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 0a 24 69 6e put->getArgument('package'),.$in
1d460 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 29 2c 0a 24 put->getArgument('directory'),.$
1d480 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 2c 0a 24 input->getArgument('version'),.$
1d4a0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 2c 0a 24 input->getOption('stability'),.$
1d4c0 70 72 65 66 65 72 53 6f 75 72 63 65 2c 0a 24 70 72 65 66 65 72 44 69 73 74 2c 0a 21 24 69 6e 70 preferSource,.$preferDist,.!$inp
1d4e0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 2c 0a 24 69 6e 70 75 74 2d ut->getOption('no-dev'),.$input-
1d500 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 20 3f 3a 20 24 69 6e 70 >getOption('repository').?:.$inp
1d520 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 29 2c ut->getOption('repository-url'),
1d540 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 .$input->getOption('no-plugins')
1d560 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 ,.$input->getOption('no-scripts'
1d580 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 ),.$input->getOption('no-progres
1d5a0 73 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 74 61 s'),.$input->getOption('no-insta
1d5c0 6c 6c 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d ll'),.$input->getOption('ignore-
1d5e0 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 2c 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 platform-reqs'),.!$input->getOpt
1d600 69 6f 6e 28 27 6e 6f 2d 73 65 63 75 72 65 2d 68 74 74 70 27 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c ion('no-secure-http').);.}..publ
1d620 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 74 28 49 4f 49 6e 74 ic.function.installProject(IOInt
1d640 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 70 75 erface.$io,.Config.$config,.Inpu
1d660 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c tInterface.$input,.$packageName,
1d680 20 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 .$directory.=.null,.$packageVers
1d6a0 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 ion.=.null,.$stability.=.'stable
1d6c0 27 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 ',.$preferSource.=.false,.$prefe
1d6e0 72 44 69 73 74 20 3d 20 66 61 6c 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 rDist.=.false,.$installDevPackag
1d700 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 es.=.false,.$repository.=.null,.
1d720 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 69 $disablePlugins.=.false,.$noScri
1d740 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 pts.=.false,.$noProgress.=.false
1d760 2c 20 24 6e 6f 49 6e 73 74 61 6c 6c 20 3d 20 66 61 6c 73 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 ,.$noInstall.=.false,.$ignorePla
1d780 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 65 63 75 72 65 48 74 74 70 20 3d tformReqs.=.false,.$secureHttp.=
1d7a0 20 74 72 75 65 29 0a 7b 0a 24 6f 6c 64 43 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 .true).{.$oldCwd.=.getcwd();....
1d7c0 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b $io->loadConfiguration($config);
1d7e0 0a 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 ..$this->suggestedPackagesReport
1d800 65 72 20 3d 20 6e 65 77 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 er.=.new.SuggestedPackagesReport
1d820 65 72 28 24 69 6f 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 21 3d 3d 20 6e er($io);..if.($packageName.!==.n
1d840 75 6c 6c 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 24 74 68 69 73 ull).{.$installedFromVcs.=.$this
1d860 2d 3e 69 6e 73 74 61 6c 6c 52 6f 6f 74 50 61 63 6b 61 67 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 ->installRootPackage($io,.$confi
1d880 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 2c 20 24 70 61 g,.$packageName,.$directory,.$pa
1d8a0 63 6b 61 67 65 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 2c 20 24 70 72 65 66 65 ckageVersion,.$stability,.$prefe
1d8c0 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 2c 20 24 69 6e 73 74 61 6c 6c 44 65 rSource,.$preferDist,.$installDe
1d8e0 76 50 61 63 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 64 69 73 61 62 6c 65 vPackages,.$repository,.$disable
1d900 50 6c 75 67 69 6e 73 2c 20 24 6e 6f 53 63 72 69 70 74 73 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 Plugins,.$noScripts,.$noProgress
1d920 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 73 65 63 75 72 65 48 74 ,.$ignorePlatformReqs,.$secureHt
1d940 74 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 tp);.}.else.{.$installedFromVcs.
1d960 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a =.false;.}..$composer.=.Factory:
1d980 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 :create($io,.null,.$disablePlugi
1d9a0 6e 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 ns);.$composer->getDownloadManag
1d9c0 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 er()->setOutputProgress(!$noProg
1d9e0 72 65 73 73 29 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a ress);..$fs.=.new.Filesystem();.
1da00 0a 69 66 20 28 24 6e 6f 53 63 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 24 .if.($noScripts.===.false).{...$
1da20 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e composer->getEventDispatcher()->
1da40 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 dispatchScript(ScriptEvents::POS
1da60 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 2c 20 24 69 6e 73 74 61 6c 6c T_ROOT_PACKAGE_INSTALL,.$install
1da80 44 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f DevPackages);.}....$config.=.$co
1daa0 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 mposer->getConfig();.list($prefe
1dac0 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 rSource,.$preferDist).=.$this->g
1dae0 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 etPreferredInstallOptions($confi
1db00 67 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 0a 20 69 66 20 28 24 6e 6f 49 6e 73 74 61 6c 6c 20 3d 3d g,.$input);....if.($noInstall.==
1db20 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 49 6e 73 74 61 6c 6c 65 =.false).{.$installer.=.Installe
1db40 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 24 69 6e 73 74 r::create($io,.$composer);.$inst
1db60 61 6c 6c 65 72 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f aller->setPreferSource($preferSo
1db80 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 urce).->setPreferDist($preferDis
1dba0 74 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 t).->setDevMode($installDevPacka
1dbc0 67 65 73 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 6e 6f 53 63 72 69 70 74 73 ges).->setRunScripts(!$noScripts
1dbe0 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 ).->setIgnorePlatformRequirement
1dc00 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 2d 3e 73 65 74 53 75 67 67 s($ignorePlatformReqs).->setSugg
1dc20 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e 73 75 67 estedPackagesReporter($this->sug
1dc40 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 29 0a 2d 3e 73 65 74 4f 70 74 gestedPackagesReporter).->setOpt
1dc60 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 imizeAutoloader($config->get('op
1dc80 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 29 3b 0a 0a 69 66 20 28 24 64 69 73 61 timize-autoloader'));..if.($disa
1dca0 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 64 69 73 61 62 6c blePlugins).{.$installer->disabl
1dcc0 65 50 6c 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c ePlugins();.}..$status.=.$instal
1dce0 6c 65 72 2d 3e 72 75 6e 28 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 73 74 61 74 75 73 29 20 7b ler->run();.if.(0.!==.$status).{
1dd00 0a 72 65 74 75 72 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 7d 0a 0a 24 68 61 73 56 63 73 20 3d 20 .return.$status;.}.}..$hasVcs.=.
1dd20 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 3b 0a 69 66 20 28 0a 21 24 69 6e 70 75 74 2d $installedFromVcs;.if.(.!$input-
1dd40 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 0a 26 26 20 24 69 6e 73 74 61 >getOption('keep-vcs').&&.$insta
1dd60 6c 6c 65 64 46 72 6f 6d 56 63 73 0a 26 26 20 28 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 lledFromVcs.&&.(.$input->getOpti
1dd80 6f 6e 28 27 72 65 6d 6f 76 65 2d 76 63 73 27 29 0a 7c 7c 20 21 24 69 6f 2d 3e 69 73 49 6e 74 65 on('remove-vcs').||.!$io->isInte
1dda0 72 61 63 74 69 76 65 28 29 0a 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f ractive().||.$io->askConfirmatio
1ddc0 6e 28 27 3c 69 6e 66 6f 3e 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 74 n('<info>Do.you.want.to.remove.t
1dde0 68 65 20 65 78 69 73 74 69 6e 67 20 56 43 53 20 28 2e 67 69 74 2c 20 2e 73 76 6e 2e 2e 29 20 68 he.existing.VCS.(.git,..svn..).h
1de00 69 73 74 6f 72 79 3f 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 59 2c 6e 3c 2f 63 6f istory?</info>.[<comment>Y,n</co
1de20 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 0a 29 0a 29 20 7b 0a 24 66 69 6e 64 65 72 20 mment>]?.',.true).).).{.$finder.
1de40 3d 20 6e 65 77 20 46 69 6e 64 65 72 28 29 3b 0a 24 66 69 6e 64 65 72 2d 3e 64 65 70 74 68 28 30 =.new.Finder();.$finder->depth(0
1de60 29 2d 3e 64 69 72 65 63 74 6f 72 69 65 73 28 29 2d 3e 69 6e 28 67 65 74 63 77 64 28 29 29 2d 3e )->directories()->in(getcwd())->
1de80 69 67 6e 6f 72 65 56 43 53 28 66 61 6c 73 65 29 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 ignoreVCS(false)->ignoreDotFiles
1dea0 28 66 61 6c 73 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 (false);.foreach.(array('.svn',.
1dec0 27 5f 73 76 6e 27 2c 20 27 43 56 53 27 2c 20 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d '_svn',.'CVS',.'_darcs',.'.arch-
1dee0 70 61 72 61 6d 73 27 2c 20 27 2e 6d 6f 6e 6f 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e params',.'.monotone',.'.bzr',.'.
1df00 67 69 74 27 2c 20 27 2e 68 67 27 2c 20 27 2e 66 73 6c 63 6b 6f 75 74 27 2c 20 27 5f 46 4f 53 53 git',.'.hg',.'.fslckout',.'_FOSS
1df20 49 4c 5f 27 29 20 61 73 20 24 76 63 73 4e 61 6d 65 29 20 7b 0a 24 66 69 6e 64 65 72 2d 3e 6e 61 IL_').as.$vcsName).{.$finder->na
1df40 6d 65 28 24 76 63 73 4e 61 6d 65 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 64 69 72 73 20 3d 20 69 me($vcsName);.}..try.{.$dirs.=.i
1df60 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 75 6e 73 65 74 terator_to_array($finder);.unset
1df80 28 24 66 69 6e 64 65 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 ($finder);.foreach.($dirs.as.$di
1dfa0 72 29 20 7b 0a 69 66 20 28 21 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 r).{.if.(!$fs->removeDirectory($
1dfc0 64 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 dir)).{.throw.new.\RuntimeExcept
1dfe0 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 6d 6f 76 65 20 27 2e 24 64 69 72 29 3b 0a 7d ion('Could.not.remove.'.$dir);.}
1e000 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 6f .}.}.catch.(\Exception.$e).{.$io
1e020 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 41 6e 20 65 72 72 6f 72 20 6f 63 ->writeError('<error>An.error.oc
1e040 63 75 72 72 65 64 20 77 68 69 6c 65 20 72 65 6d 6f 76 69 6e 67 20 74 68 65 20 56 43 53 20 6d 65 curred.while.removing.the.VCS.me
1e060 74 61 64 61 74 61 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 tadata:.'.$e->getMessage().'</er
1e080 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 68 61 73 56 63 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a ror>');.}..$hasVcs.=.false;.}...
1e0a0 20 69 66 20 28 21 24 68 61 73 56 63 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 6f 6d .if.(!$hasVcs).{.$package.=.$com
1e0c0 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 poser->getPackage();.$configSour
1e0e0 63 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 ce.=.new.JsonConfigSource(new.Js
1e100 6f 6e 46 69 6c 65 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 3b 0a 66 6f 72 65 61 63 onFile('composer.json'));.foreac
1e120 68 20 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 h.(BasePackage::$supportedLinkTy
1e140 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6d 65 74 61 29 20 7b 0a 66 6f 72 65 61 63 68 pes.as.$type.=>.$meta).{.foreach
1e160 20 28 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 24 6d 65 74 61 5b 27 6d 65 74 68 6f 64 .($package->{'get'.$meta['method
1e180 27 5d 7d 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 ']}().as.$link).{.if.($link->get
1e1a0 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3d 3d 3d 20 27 73 65 6c 66 2e 76 65 72 PrettyConstraint().===.'self.ver
1e1c0 73 69 6f 6e 27 29 20 7b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 4c 69 6e 6b 28 sion').{.$configSource->addLink(
1e1e0 24 74 79 70 65 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 61 63 6b $type,.$link->getTarget(),.$pack
1e200 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a age->getPrettyVersion());.}.}.}.
1e220 7d 0a 0a 69 66 20 28 24 6e 6f 53 63 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a }..if.($noScripts.===.false).{..
1e240 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 .$composer->getEventDispatcher()
1e260 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 ->dispatchScript(ScriptEvents::P
1e280 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 43 54 5f 43 4d 44 2c 20 24 69 6e 73 74 61 6c 6c OST_CREATE_PROJECT_CMD,.$install
1e2a0 44 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 63 68 64 69 72 28 24 6f 6c 64 43 77 64 29 3b DevPackages);.}..chdir($oldCwd);
1e2c0 0a 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 .$vendorComposerDir.=.$config->g
1e2e0 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 et('vendor-dir').'/composer';.if
1e300 20 28 69 73 5f 64 69 72 28 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 20 26 26 20 .(is_dir($vendorComposerDir).&&.
1e320 24 66 73 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 $fs->isDirEmpty($vendorComposerD
1e340 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 ir)).{.Silencer::call('rmdir',.$
1e360 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 3b 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d vendorComposerDir);.$vendorDir.=
1e380 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 .$config->get('vendor-dir');.if.
1e3a0 28 69 73 5f 64 69 72 28 24 76 65 6e 64 6f 72 44 69 72 29 20 26 26 20 24 66 73 2d 3e 69 73 44 69 (is_dir($vendorDir).&&.$fs->isDi
1e3c0 72 45 6d 70 74 79 28 24 76 65 6e 64 6f 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a rEmpty($vendorDir)).{.Silencer::
1e3e0 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 0a call('rmdir',.$vendorDir);.}.}..
1e400 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 return.0;.}..protected.function.
1e420 69 6e 73 74 61 6c 6c 52 6f 6f 74 50 61 63 6b 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 installRootPackage(IOInterface.$
1e440 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 io,.Config.$config,.$packageName
1e460 2c 20 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 ,.$directory.=.null,.$packageVer
1e480 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c sion.=.null,.$stability.=.'stabl
1e4a0 65 27 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 e',.$preferSource.=.false,.$pref
1e4c0 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 erDist.=.false,.$installDevPacka
1e4e0 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c ges.=.false,.$repository.=.null,
1e500 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 .$disablePlugins.=.false,.$noScr
1e520 69 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 ipts.=.false,.$noProgress.=.fals
1e540 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 2c 20 e,.$ignorePlatformReqs.=.false,.
1e560 24 73 65 63 75 72 65 48 74 74 70 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 73 65 63 75 $secureHttp.=.true).{.if.(!$secu
1e580 72 65 48 74 74 70 29 20 7b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 reHttp).{.$config->merge(array('
1e5a0 63 6f 6e 66 69 67 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d config'.=>.array('secure-http'.=
1e5c0 3e 20 66 61 6c 73 65 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 70 >.false)));.}..if.(null.===.$rep
1e5e0 6f 73 69 74 6f 72 79 29 20 7b 0a 24 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d ository).{.$sourceRepo.=.new.Com
1e600 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f positeRepository(RepositoryFacto
1e620 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b ry::defaultRepos($io,.$config));
1e640 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 52 65 70 6f 73 69 74 6f .}.else.{.$sourceRepo.=.Reposito
1e660 72 79 46 61 63 74 6f 72 79 3a 3a 66 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 ryFactory::fromString($io,.$conf
1e680 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 61 72 73 ig,.$repository,.true);.}..$pars
1e6a0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 72 65 71 75 69 er.=.new.VersionParser();.$requi
1e6c0 72 65 6d 65 6e 74 73 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 61 6d 65 56 65 72 73 rements.=.$parser->parseNameVers
1e6e0 69 6f 6e 50 61 69 72 73 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 29 3b 0a 24 ionPairs(array($packageName));.$
1e700 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b name.=.strtolower($requirements[
1e720 30 5d 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 0]['name']);.if.(!$packageVersio
1e740 6e 20 26 26 20 69 73 73 65 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 76 65 72 n.&&.isset($requirements[0]['ver
1e760 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 sion'])).{.$packageVersion.=.$re
1e780 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 69 66 20 quirements[0]['version'];.}..if.
1e7a0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 74 61 62 69 6c 69 74 79 29 20 7b 0a 69 66 20 28 70 72 65 67 (null.===.$stability).{.if.(preg
1e7c0 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c _match('{^[^,\s]*?@('.implode('|
1e7e0 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 ',.array_keys(BasePackage::$stab
1e800 69 6c 69 74 69 65 73 29 29 2e 27 29 24 7d 69 27 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f ilities)).')$}i',.$packageVersio
1e820 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 61 74 63 n,.$match)).{.$stability.=.$matc
1e840 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 h[1];.}.else.{.$stability.=.Vers
1e860 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 70 61 63 6b 61 ionParser::parseStability($packa
1e880 67 65 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 geVersion);.}.}..$stability.=.Ve
1e8a0 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 rsionParser::normalizeStability(
1e8c0 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 $stability);..if.(!isset(BasePac
1e8e0 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 29 29 kage::$stabilities[$stability]))
1e900 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 .{.throw.new.\InvalidArgumentExc
1e920 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 73 74 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 eption('Invalid.stability.provid
1e940 65 64 20 28 27 2e 24 73 74 61 62 69 6c 69 74 79 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 ed.('.$stability.'),.must.be.one
1e960 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 .of:.'.implode(',.',.array_keys(
1e980 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 29 3b 0a 7d 0a BasePackage::$stabilities)));.}.
1e9a0 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 24 .$pool.=.new.Pool($stability);.$
1e9c0 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 73 6f 75 72 63 65 52 65 70 6f 29 pool->addRepository($sourceRepo)
1e9e0 3b 0a 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 50 68 ;..$phpVersion.=.null;.$prettyPh
1ea00 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 24 69 67 6e 6f 72 65 50 6c 61 pVersion.=.null;.if.(!$ignorePla
1ea20 74 66 6f 72 6d 52 65 71 73 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 tformReqs).{.$platformOverrides.
1ea40 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 =.$config->get('platform').?:.ar
1ea60 72 61 79 28 29 3b 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 ray();...$platform.=.new.Platfor
1ea80 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 mRepository(array(),.$platformOv
1eaa0 65 72 72 69 64 65 73 29 3b 0a 24 70 68 70 50 61 63 6b 61 67 65 20 3d 20 24 70 6c 61 74 66 6f 72 errides);.$phpPackage.=.$platfor
1eac0 6d 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 3b 0a 24 70 68 70 m->findPackage('php',.'*');.$php
1eae0 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f Version.=.$phpPackage->getVersio
1eb00 6e 28 29 3b 0a 24 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 61 63 n();.$prettyPhpVersion.=.$phpPac
1eb20 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 20 24 kage->getPrettyVersion();.}....$
1eb40 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c versionSelector.=.new.VersionSel
1eb60 65 63 74 6f 72 28 24 70 6f 6f 6c 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 76 65 72 73 69 6f ector($pool);.$package.=.$versio
1eb80 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 nSelector->findBestCandidate($na
1eba0 6d 65 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f 6e me,.$packageVersion,.$phpVersion
1ebc0 2c 20 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b ,.$stability);..if.(!$package).{
1ebe0 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 .$errorMessage.=."Could.not.find
1ec00 20 70 61 63 6b 61 67 65 20 24 6e 61 6d 65 20 77 69 74 68 20 22 20 2e 20 28 24 70 61 63 6b 61 67 .package.$name.with."...($packag
1ec20 65 56 65 72 73 69 6f 6e 20 3f 20 22 76 65 72 73 69 6f 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 eVersion.?."version.$packageVers
1ec40 69 6f 6e 22 20 3a 20 22 73 74 61 62 69 6c 69 74 79 20 24 73 74 61 62 69 6c 69 74 79 22 29 3b 0a ion".:."stability.$stability");.
1ec60 69 66 20 28 24 70 68 70 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 if.($phpVersion.&&.$versionSelec
1ec80 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 70 tor->findBestCandidate($name,.$p
1eca0 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 2c 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 29 ackageVersion,.null,.$stability)
1ecc0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
1ece0 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 27 20 69 6e 20 61 20 76 65 ception($errorMessage..'.in.a.ve
1ed00 72 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 61 62 6c 65 20 75 73 69 6e 67 20 79 6f 75 72 20 50 48 50 rsion.installable.using.your.PHP
1ed20 20 76 65 72 73 69 6f 6e 20 27 2e 24 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 2e 27 2e 27 .version.'.$prettyPhpVersion.'.'
1ed40 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 );.}..throw.new.\InvalidArgument
1ed60 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 27 2e 27 29 3b 0a 7d Exception($errorMessage..'.');.}
1ed80 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 70 61 ..if.(null.===.$directory).{.$pa
1eda0 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 2f 22 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 24 64 rts.=.explode("/",.$name,.2);.$d
1edc0 69 72 65 63 74 6f 72 79 20 3d 20 67 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f irectory.=.getcwd()...DIRECTORY_
1ede0 53 45 50 41 52 41 54 4f 52 20 2e 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 7d SEPARATOR...array_pop($parts);.}
1ee00 0a 0a 0a 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 63 6e 74 6c 5f 61 ....if.(function_exists('pcntl_a
1ee20 73 79 6e 63 5f 73 69 67 6e 61 6c 73 27 29 29 20 7b 0a 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 sync_signals')).{.@mkdir($direct
1ee40 6f 72 79 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 24 72 65 61 6c 44 69 72 20 3d ory,.0777,.true);.if.($realDir.=
1ee60 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 70 63 6e 74 6c 5f 61 .realpath($directory)).{.pcntl_a
1ee80 73 79 6e 63 5f 73 69 67 6e 61 6c 73 28 74 72 75 65 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c sync_signals(true);.pcntl_signal
1eea0 28 53 49 47 49 4e 54 2c 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 72 65 61 6c 44 (SIGINT,.function.().use.($realD
1eec0 69 72 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 ir).{.$fs.=.new.Filesystem();.$f
1eee0 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 72 65 61 6c 44 69 72 29 3b 0a 65 78 s->removeDirectory($realDir);.ex
1ef00 69 74 28 31 33 30 29 3b 0a 7d 29 3b 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f it(130);.});.}.}..$io->writeErro
1ef20 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 74 61 6c 6c 69 6e 67 20 27 20 2e 20 24 70 61 63 6b 61 67 65 r('<info>Installing.'...$package
1ef40 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 20 28 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 ->getName()...'.('...$package->g
1ef60 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 66 61 6c 73 65 29 20 2e 20 27 29 3c etFullPrettyVersion(false)...')<
1ef80 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 /info>');..if.($disablePlugins).
1efa0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 6c 75 67 69 6e 73 {.$io->writeError('<info>Plugins
1efc0 20 68 61 76 65 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d .have.been.disabled.</info>');.}
1efe0 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 ..if.($package.instanceof.AliasP
1f000 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ackage).{.$package.=.$package->g
1f020 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 etAliasOf();.}..$dm.=.$this->cre
1f040 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 ateDownloadManager($io,.$config)
1f060 3b 0a 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f ;.$dm->setPreferSource($preferSo
1f080 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 urce).->setPreferDist($preferDis
1f0a0 74 29 0a 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 72 t).->setOutputProgress(!$noProgr
1f0c0 65 73 73 29 3b 0a 0a 24 70 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 50 ess);..$projectInstaller.=.new.P
1f0e0 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 24 64 6d 29 rojectInstaller($directory,.$dm)
1f100 3b 0a 24 69 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f ;.$im.=.$this->createInstallatio
1f120 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 24 70 nManager();.$im->addInstaller($p
1f140 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 29 3b 0a 24 69 6d 2d 3e 69 6e 73 74 61 6c 6c 28 6e rojectInstaller);.$im->install(n
1f160 65 77 20 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 ew.InstalledFilesystemRepository
1f180 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 29 29 2c 20 (new.JsonFile('php://memory')),.
1f1a0 6e 65 77 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 29 3b new.InstallOperation($package));
1f1c0 0a 24 69 6d 2d 3e 6e 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 24 69 6f 29 3b 0a 0a 0a 20 24 74 .$im->notifyInstalls($io);....$t
1f1e0 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e his->suggestedPackagesReporter->
1f200 61 64 64 53 75 67 67 65 73 74 69 6f 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 addSuggestionsFromPackage($packa
1f220 67 65 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 27 73 6f 75 72 63 ge);..$installedFromVcs.=.'sourc
1f240 65 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e e'.===.$package->getInstallation
1f260 53 6f 75 72 63 65 28 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 Source();..$io->writeError('<inf
1f280 6f 3e 43 72 65 61 74 65 64 20 70 72 6f 6a 65 63 74 20 69 6e 20 27 20 2e 20 24 64 69 72 65 63 74 o>Created.project.in.'...$direct
1f2a0 6f 72 79 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 63 68 64 69 72 28 24 64 69 72 65 63 74 6f ory...'</info>');.chdir($directo
1f2c0 72 79 29 3b 0a 0a 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 ry);..$_SERVER['COMPOSER_ROOT_VE
1f2e0 52 53 49 4f 4e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 RSION'].=.$package->getPrettyVer
1f300 73 69 6f 6e 28 29 3b 0a 70 75 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 sion();.putenv('COMPOSER_ROOT_VE
1f320 52 53 49 4f 4e 3d 27 2e 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f RSION='.$_SERVER['COMPOSER_ROOT_
1f340 56 45 52 53 49 4f 4e 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 VERSION']);..return.$installedFr
1f360 6f 6d 56 63 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 omVcs;.}..protected.function.cre
1f380 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 ateDownloadManager(IOInterface.$
1f3a0 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d io,.Config.$config).{.$factory.=
1f3c0 20 6e 65 77 20 46 61 63 74 6f 72 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 .new.Factory();..return.$factory
1f3e0 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f ->createDownloadManager($io,.$co
1f400 6e 66 69 67 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 nfig);.}..protected.function.cre
1f420 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 ateInstallationManager().{.retur
1f440 6e 20 6e 65 77 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 7d n.new.InstallationManager();.}.}
1f460 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
1f480 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f oser\Command;..use.Symfony\Compo
1f4a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 nent\Console\Input\InputInterfac
1f4c0 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
1f4e0 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 \Output\OutputInterface;.....cla
1f500 73 73 20 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 ss.DependsCommand.extends.BaseDe
1f520 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 pendencyCommand.{....protected.f
1f540 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f unction.configure().{.parent::co
1f560 6e 66 69 67 75 72 65 28 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 65 70 nfigure();..$this.->setName('dep
1f580 65 6e 64 73 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 27 29 ends').->setAliases(array('why')
1f5a0 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 68 69 63 68 20 ).->setDescription('Shows.which.
1f5c0 70 61 63 6b 61 67 65 73 20 63 61 75 73 65 20 74 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 packages.cause.the.given.package
1f5e0 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c .to.be.installed.').->setHelp(.<
1f600 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 <<EOT.Displays.detailed.informat
1f620 69 6f 6e 20 61 62 6f 75 74 20 77 68 65 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 72 65 66 ion.about.where.a.package.is.ref
1f640 65 72 65 6e 63 65 64 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 erenced...<info>php.composer.pha
1f660 72 20 64 65 70 65 6e 64 73 20 63 6f 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 r.depends.composer/composer</inf
1f680 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 o>..Read.more.at.https://getcomp
1f6a0 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 64 65 70 65 6e 64 73 2d 77 oser.org/doc/03-cli.md#depends-w
1f6c0 68 79 2d 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 hy-.EOT.).;.}.........protected.
1f6e0 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 function.execute(InputInterface.
1f700 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 $input,.OutputInterface.$output)
1f720 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 45 78 65 63 75 74 65 28 24 69 6e 70 .{.return.parent::doExecute($inp
1f740 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ut,.$output,.false);.}.}.<?php..
1f760 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d ..........namespace.Composer\Com
1f780 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 mand;..use.Composer\Composer;.us
1f7a0 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e.Composer\Factory;.use.Composer
1f7c0 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 \Config;.use.Composer\Downloader
1f7e0 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \TransportException;.use.Compose
1f800 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b r\Repository\PlatformRepository;
1f820 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e .use.Composer\Plugin\CommandEven
1f840 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 t;.use.Composer\Plugin\PluginEve
1f860 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 43 6f 6e 66 69 67 56 61 6c nts;.use.Composer\Util\ConfigVal
1f880 69 64 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c idator;.use.Composer\Util\IniHel
1f8a0 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 per;.use.Composer\Util\ProcessEx
1f8c0 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 ecutor;.use.Composer\Util\Remote
1f8e0 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 Filesystem;.use.Composer\Util\St
1f900 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 reamContextFactory;.use.Composer
1f920 5c 53 65 6c 66 55 70 64 61 74 65 5c 4b 65 79 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 \SelfUpdate\Keys;.use.Composer\S
1f940 65 6c 66 55 70 64 61 74 65 5c 56 65 72 73 69 6f 6e 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 elfUpdate\Versions;.use.Composer
1f960 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e \IO\NullIO;.use.Symfony\Componen
1f980 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
1f9a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
1f9c0 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tput\OutputInterface;.....class.
1f9e0 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d DiagnoseCommand.extends.BaseComm
1fa00 61 6e 64 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 and.{..protected.$rfs;...protect
1fa20 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 69 74 43 6f ed.$process;...protected.$exitCo
1fa40 64 65 20 3d 20 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 de.=.0;..protected.function.conf
1fa60 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 69 61 67 6e igure().{.$this.->setName('diagn
1fa80 6f 73 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 61 67 6e 6f 73 65 ose').->setDescription('Diagnose
1faa0 73 20 74 68 65 20 73 79 73 74 65 6d 20 74 6f 20 69 64 65 6e 74 69 66 79 20 63 6f 6d 6d 6f 6e 20 s.the.system.to.identify.common.
1fac0 65 72 72 6f 72 73 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 errors.').->setHelp(.<<<EOT.The.
1fae0 3c 69 6e 66 6f 3e 64 69 61 67 6e 6f 73 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 68 <info>diagnose</info>.command.ch
1fb00 65 63 6b 73 20 63 6f 6d 6d 6f 6e 20 65 72 72 6f 72 73 20 74 6f 20 68 65 6c 70 20 64 65 62 75 67 ecks.common.errors.to.help.debug
1fb20 67 69 6e 67 20 70 72 6f 62 6c 65 6d 73 2e 0a 0a 54 68 65 20 70 72 6f 63 65 73 73 20 65 78 69 74 ging.problems...The.process.exit
1fb40 20 63 6f 64 65 20 77 69 6c 6c 20 62 65 20 31 20 69 6e 20 63 61 73 65 20 6f 66 20 77 61 72 6e 69 .code.will.be.1.in.case.of.warni
1fb60 6e 67 73 20 61 6e 64 20 32 20 66 6f 72 20 65 72 72 6f 72 73 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 ngs.and.2.for.errors...Read.more
1fb80 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f .at.https://getcomposer.org/doc/
1fba0 30 33 2d 63 6c 69 2e 6d 64 23 64 69 61 67 6e 6f 73 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 03-cli.md#diagnose.EOT.).;.}....
1fbc0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
1fbe0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
1fc00 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d ce.$output).{.$composer.=.$this-
1fc20 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 >getComposer(false);.$io.=.$this
1fc40 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f ->getIO();..if.($composer).{.$co
1fc60 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c mmandEvent.=.new.CommandEvent(Pl
1fc80 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 64 69 61 67 6e 6f 73 65 27 2c uginEvents::COMMAND,.'diagnose',
1fca0 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 .$input,.$output);.$composer->ge
1fcc0 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f tEventDispatcher()->dispatch($co
1fce0 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 mmandEvent->getName(),.$commandE
1fd00 76 65 6e 74 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d vent);..$io->write('Checking.com
1fd20 70 6f 73 65 72 2e 6a 73 6f 6e 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 poser.json:.',.false);.$this->ou
1fd40 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 53 tputResult($this->checkComposerS
1fd60 63 68 65 6d 61 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 chema());.}..if.($composer).{.$c
1fd80 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a onfig.=.$composer->getConfig();.
1fda0 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 }.else.{.$config.=.Factory::crea
1fdc0 74 65 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 teConfig();.}..$config->merge(ar
1fde0 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 ray('config'.=>.array('secure-ht
1fe00 74 70 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 tp'.=>.false)));.$config->prohib
1fe20 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 itUrlByConfig('http://repo.packa
1fe40 67 69 73 74 2e 6f 72 67 27 2c 20 6e 65 77 20 4e 75 6c 6c 49 4f 29 3b 0a 0a 24 74 68 69 73 2d 3e gist.org',.new.NullIO);..$this->
1fe60 72 66 73 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 rfs.=.Factory::createRemoteFiles
1fe80 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 ystem($io,.$config);.$this->proc
1fea0 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a ess.=.new.ProcessExecutor($io);.
1fec0 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 70 6c 61 74 66 6f 72 6d 20 73 .$io->write('Checking.platform.s
1fee0 65 74 74 69 6e 67 73 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 ettings:.',.false);.$this->outpu
1ff00 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 29 3b tResult($this->checkPlatform());
1ff20 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 67 69 74 20 73 65 74 74 69 ..$io->write('Checking.git.setti
1ff40 6e 67 73 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 ngs:.',.false);.$this->outputRes
1ff60 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 47 69 74 28 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 ult($this->checkGit());..$io->wr
1ff80 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 ite('Checking.http.connectivity.
1ffa0 74 6f 20 70 61 63 6b 61 67 69 73 74 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e to.packagist:.',.false);.$this->
1ffc0 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 outputResult($this->checkHttp('h
1ffe0 74 74 70 27 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 ttp',.$config));..$io->write('Ch
20000 65 63 6b 69 6e 67 20 68 74 74 70 73 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 74 6f 20 70 61 63 ecking.https.connectivity.to.pac
20020 6b 61 67 69 73 74 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 kagist:.',.false);.$this->output
20040 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 74 74 70 73 27 2c Result($this->checkHttp('https',
20060 20 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 24 6f 70 74 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 .$config));..$opts.=.stream_cont
20080 65 78 74 5f 67 65 74 5f 6f 70 74 69 6f 6e 73 28 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 ext_get_options(StreamContextFac
200a0 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 27 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 tory::getContext('http://example
200c0 2e 6f 72 67 27 29 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6f 70 74 73 5b 27 68 74 74 70 27 .org'));.if.(!empty($opts['http'
200e0 5d 5b 27 70 72 6f 78 79 27 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b ]['proxy'])).{.$io->write('Check
20100 69 6e 67 20 48 54 54 50 20 70 72 6f 78 79 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 ing.HTTP.proxy:.',.false);.$this
20120 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 ->outputResult($this->checkHttpP
20140 72 6f 78 79 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 roxy());.$io->write('Checking.HT
20160 54 50 20 70 72 6f 78 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 75 6c TP.proxy.support.for.request_ful
20180 6c 75 72 69 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 luri:.',.false);.$this->outputRe
201a0 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 sult($this->checkHttpProxyFullUr
201c0 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 iRequestParam());.$io->write('Ch
201e0 65 63 6b 69 6e 67 20 48 54 54 50 53 20 70 72 6f 78 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 ecking.HTTPS.proxy.support.for.r
20200 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 equest_fulluri:.',.false);.$this
20220 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 73 ->outputResult($this->checkHttps
20240 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 29 3b 0a 7d 0a 0a ProxyFullUriRequestParam());.}..
20260 69 66 20 28 24 6f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 if.($oauth.=.$config->get('githu
20280 62 2d 6f 61 75 74 68 27 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 61 75 74 68 20 61 73 20 b-oauth')).{.foreach.($oauth.as.
202a0 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 $domain.=>.$token).{.$io->write(
202c0 27 43 68 65 63 6b 69 6e 67 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 6f 61 75 74 68 20 61 63 63 65 'Checking.'.$domain.'.oauth.acce
202e0 73 73 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 ss:.',.false);.$this->outputResu
20300 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 64 6f 6d 61 lt($this->checkGithubOauth($doma
20320 69 6e 2c 20 24 74 6f 6b 65 6e 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 in,.$token));.}.}.else.{.$io->wr
20340 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 67 69 74 68 75 62 2e 63 6f 6d 20 72 61 74 65 20 6c 69 ite('Checking.github.com.rate.li
20360 6d 69 74 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 74 72 79 20 7b 0a 24 72 61 74 65 20 3d 20 24 74 mit:.',.false);.try.{.$rate.=.$t
20380 68 69 73 2d 3e 67 65 74 47 69 74 68 75 62 52 61 74 65 4c 69 6d 69 74 28 27 67 69 74 68 75 62 2e his->getGithubRateLimit('github.
203a0 63 6f 6d 27 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 61 74 65 29 29 20 7b 0a 24 com');.if.(!is_array($rate)).{.$
203c0 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 72 61 74 65 29 3b 0a 7d 20 65 6c 73 this->outputResult($rate);.}.els
203e0 65 69 66 20 28 31 30 20 3e 20 24 72 61 74 65 5b 27 72 65 6d 61 69 6e 69 6e 67 27 5d 29 20 7b 0a eif.(10.>.$rate['remaining']).{.
20400 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 $io->write('<warning>WARNING</wa
20420 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 0a 27 3c rning>');.$io->write(sprintf(.'<
20440 63 6f 6d 6d 65 6e 74 3e 47 69 74 68 75 62 20 68 61 73 20 61 20 72 61 74 65 20 6c 69 6d 69 74 20 comment>Github.has.a.rate.limit.
20460 6f 6e 20 74 68 65 69 72 20 41 50 49 2e 20 27 0a 2e 20 27 59 6f 75 20 63 75 72 72 65 6e 74 6c 79 on.their.API..'...'You.currently
20480 20 68 61 76 65 20 3c 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 25 75 3c 2f 6f 70 74 69 6f 6e 73 3d .have.<options=bold>%u</options=
204a0 62 6f 6c 64 3e 20 27 0a 2e 20 27 6f 75 74 20 6f 66 20 3c 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e bold>.'...'out.of.<options=bold>
204c0 25 75 3c 2f 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 20 72 65 71 75 65 73 74 73 20 6c 65 66 74 2e %u</options=bold>.requests.left.
204e0 27 20 2e 20 50 48 50 5f 45 4f 4c 0a 2e 20 27 53 65 65 20 68 74 74 70 73 3a 2f 2f 64 65 76 65 6c '...PHP_EOL...'See.https://devel
20500 6f 70 65 72 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 76 33 2f 23 72 61 74 65 2d 6c 69 6d 69 74 69 6e oper.github.com/v3/#rate-limitin
20520 67 20 61 6e 64 20 61 6c 73 6f 27 20 2e 20 50 48 50 5f 45 4f 4c 0a 2e 20 27 20 20 20 20 68 74 74 g.and.also'...PHP_EOL...'....htt
20540 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 ps://getcomposer.org/doc/article
20560 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 61 70 69 2d 72 61 74 65 2d 6c 69 s/troubleshooting.md#api-rate-li
20580 6d 69 74 2d 61 6e 64 2d 6f 61 75 74 68 2d 74 6f 6b 65 6e 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c mit-and-oauth-tokens</comment>',
205a0 0a 24 72 61 74 65 5b 27 72 65 6d 61 69 6e 69 6e 67 27 5d 2c 0a 24 72 61 74 65 5b 27 6c 69 6d 69 .$rate['remaining'],.$rate['limi
205c0 74 27 5d 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 t'].));.}.else.{.$this->outputRe
205e0 73 75 6c 74 28 74 72 75 65 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f sult(true);.}.}.catch.(\Exceptio
20600 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 n.$e).{.if.($e.instanceof.Transp
20620 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d ortException.&&.$e->getCode().==
20640 3d 20 34 30 31 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 27 3c 63 =.401).{.$this->outputResult('<c
20660 6f 6d 6d 65 6e 74 3e 54 68 65 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 67 69 74 68 75 omment>The.oauth.token.for.githu
20680 62 2e 63 6f 6d 20 73 65 65 6d 73 20 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 b.com.seems.invalid,.run."compos
206a0 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 er.config.--global.--unset.githu
206c0 62 2d 6f 61 75 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 b-oauth.github.com".to.remove.it
206e0 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 </comment>');.}.else.{.$this->ou
20700 74 70 75 74 52 65 73 75 6c 74 28 24 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 tputResult($e);.}.}.}..$io->writ
20720 65 28 27 43 68 65 63 6b 69 6e 67 20 64 69 73 6b 20 66 72 65 65 20 73 70 61 63 65 3a 20 27 2c 20 e('Checking.disk.free.space:.',.
20740 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 false);.$this->outputResult($thi
20760 73 2d 3e 63 68 65 63 6b 44 69 73 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 69 66 s->checkDiskSpace($config));..if
20780 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 .('phar:'.===.substr(__FILE__,.0
207a0 2c 20 35 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 70 75 62 ,.5)).{.$io->write('Checking.pub
207c0 6b 65 79 73 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 keys:.',.false);.$this->outputRe
207e0 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 50 75 62 4b 65 79 73 28 24 63 6f 6e 66 69 67 sult($this->checkPubKeys($config
20800 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d 70 6f 73 ));..$io->write('Checking.compos
20820 65 72 20 76 65 72 73 69 6f 6e 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 er.version:.',.false);.$this->ou
20840 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 24 tputResult($this->checkVersion($
20860 63 6f 6e 66 69 67 29 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 config));.}..$io->write(sprintf(
20880 27 43 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 'Composer.version:.<comment>%s</
208a0 63 6f 6d 6d 65 6e 74 3e 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 29 29 3b 0a comment>',.Composer::VERSION));.
208c0 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 .$platformOverrides.=.$config->g
208e0 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 70 6c 61 74 et('platform').?:.array();.$plat
20900 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 formRepo.=.new.PlatformRepositor
20920 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a y(array(),.$platformOverrides);.
20940 24 70 68 70 50 6b 67 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 $phpPkg.=.$platformRepo->findPac
20960 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 kage('php',.'*');.$phpVersion.=.
20980 24 70 68 70 50 6b 67 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 $phpPkg->getPrettyVersion();.if.
209a0 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 70 68 70 50 6b 67 2d 3e 67 65 74 44 65 (false.!==.strpos($phpPkg->getDe
209c0 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 27 6f 76 65 72 72 69 64 64 65 6e 27 29 29 20 7b 0a 24 70 scription(),.'overridden')).{.$p
209e0 68 70 56 65 72 73 69 6f 6e 20 2e 3d 20 27 20 2d 20 27 20 2e 20 24 70 68 70 50 6b 67 2d 3e 67 65 hpVersion..=.'.-.'...$phpPkg->ge
20a00 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 tDescription();.}..$io->write(sp
20a20 72 69 6e 74 66 28 27 50 48 50 20 76 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c rintf('PHP.version:.<comment>%s<
20a40 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 /comment>',.$phpVersion));..if.(
20a60 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 defined('PHP_BINARY')).{.$io->wr
20a80 69 74 65 28 73 70 72 69 6e 74 66 28 27 50 48 50 20 62 69 6e 61 72 79 20 70 61 74 68 3a 20 3c 63 ite(sprintf('PHP.binary.path:.<c
20aa0 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 50 48 50 5f 42 49 4e 41 52 59 omment>%s</comment>',.PHP_BINARY
20ac0 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 7d ));.}..return.$this->exitCode;.}
20ae0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 ..private.function.checkComposer
20b00 53 63 68 65 6d 61 28 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e 66 Schema().{.$validator.=.new.Conf
20b20 69 67 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 6c 69 73 igValidator($this->getIO());.lis
20b40 74 28 24 65 72 72 6f 72 73 2c 20 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 t($errors,.,.$warnings).=.$valid
20b60 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f ator->validate(Factory::getCompo
20b80 73 65 72 46 69 6c 65 28 29 29 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 77 61 72 serFile());..if.($errors.||.$war
20ba0 6e 69 6e 67 73 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 nings).{.$messages.=.array(.'err
20bc0 6f 72 27 20 3d 3e 20 24 65 72 72 6f 72 73 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 or'.=>.$errors,.'warning'.=>.$wa
20be0 72 6e 69 6e 67 73 2c 0a 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 rnings,.);..$output.=.'';.foreac
20c00 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 h.($messages.as.$style.=>.$msgs)
20c20 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 6f 75 .{.foreach.($msgs.as.$msg).{.$ou
20c40 74 70 75 74 20 2e 3d 20 27 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 tput..=.'<'...$style...'>'...$ms
20c60 67 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 50 48 50 5f 45 4f g...'</'...$style...'>'...PHP_EO
20c80 4c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d L;.}.}..return.rtrim($output);.}
20ca0 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ..return.true;.}..private.functi
20cc0 6f 6e 20 63 68 65 63 6b 47 69 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e on.checkGit().{.$this->process->
20ce0 65 78 65 63 75 74 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 63 6f 6c 6f 72 2e 75 69 27 2c 20 24 execute('git.config.color.ui',.$
20d00 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 74 72 69 6d 28 24 6f 75 output);.if.(strtolower(trim($ou
20d20 74 70 75 74 29 29 20 3d 3d 3d 20 27 61 6c 77 61 79 73 27 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c tput)).===.'always').{.return.'<
20d40 63 6f 6d 6d 65 6e 74 3e 59 6f 75 72 20 67 69 74 20 63 6f 6c 6f 72 2e 75 69 20 73 65 74 74 69 6e comment>Your.git.color.ui.settin
20d60 67 20 69 73 20 73 65 74 20 74 6f 20 61 6c 77 61 79 73 2c 20 74 68 69 73 20 69 73 20 6b 6e 6f 77 g.is.set.to.always,.this.is.know
20d80 6e 20 74 6f 20 63 72 65 61 74 65 20 69 73 73 75 65 73 2e 20 55 73 65 20 22 67 69 74 20 63 6f 6e n.to.create.issues..Use."git.con
20da0 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 63 6f 6c 6f 72 2e 75 69 20 74 72 75 65 22 20 74 6f 20 73 fig.--global.color.ui.true".to.s
20dc0 65 74 20 69 74 20 63 6f 72 72 65 63 74 6c 79 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a et.it.correctly.</comment>';.}..
20de0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e return.true;.}..private.function
20e00 20 63 68 65 63 6b 48 74 74 70 28 24 70 72 6f 74 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 .checkHttp($proto,.Config.$confi
20e20 67 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 g).{.$result.=.$this->checkConne
20e40 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 ctivity();.if.($result.!==.true)
20e60 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 64 69 73 61 62 6c 65 54 6c .{.return.$result;.}..$disableTl
20e80 73 20 3d 20 66 61 6c 73 65 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 s.=.false;.$result.=.array();.if
20ea0 20 28 24 70 72 6f 74 6f 20 3d 3d 3d 20 27 68 74 74 70 73 27 20 26 26 20 24 63 6f 6e 66 69 67 2d .($proto.===.'https'.&&.$config-
20ec0 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a >get('disable-tls').===.true).{.
20ee0 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 $disableTls.=.true;.$result[].=.
20f00 27 3c 77 61 72 6e 69 6e 67 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 '<warning>Composer.is.configured
20f20 20 74 6f 20 64 69 73 61 62 6c 65 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 2e 20 .to.disable.SSL/TLS.protection..
20f40 54 68 69 73 20 77 69 6c 6c 20 6c 65 61 76 65 20 72 65 6d 6f 74 65 20 48 54 54 50 53 20 72 65 71 This.will.leave.remote.HTTPS.req
20f60 75 65 73 74 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 4d 61 6e 2d 49 6e 2d 54 68 65 2d 4d uests.vulnerable.to.Man-In-The-M
20f80 69 64 64 6c 65 20 61 74 74 61 63 6b 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 69 66 20 iddle.attacks.</warning>';.}.if.
20fa0 28 24 70 72 6f 74 6f 20 3d 3d 3d 20 27 68 74 74 70 73 27 20 26 26 20 21 65 78 74 65 6e 73 69 6f ($proto.===.'https'.&&.!extensio
20fc0 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 21 24 64 69 73 61 62 6c 65 n_loaded('openssl').&&.!$disable
20fe0 54 6c 73 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 43 6f 6d 70 6f Tls).{.$result[].=.'<error>Compo
21000 73 65 72 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 75 73 65 20 53 53 4c 2f 54 4c 53 ser.is.configured.to.use.SSL/TLS
21020 20 70 72 6f 74 65 63 74 69 6f 6e 20 62 75 74 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 .protection.but.the.openssl.exte
21040 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 nsion.is.not.available.</error>'
21060 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e ;.}..try.{.$this->rfs->getConten
21080 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 20 2e 20 27 3a 2f ts('packagist.org',.$proto...':/
210a0 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f /repo.packagist.org/packages.jso
210c0 6e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 n',.false);.}.catch.(TransportEx
210e0 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 ception.$e).{.if.(false.!==.strp
21100 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 63 61 66 69 6c 65 27 29 29 20 os($e->getMessage(),.'cafile')).
21120 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 5b 27 20 2e 20 67 65 74 5f 63 {.$result[].=.'<error>['...get_c
21140 6c 61 73 73 28 24 65 29 20 2e 20 27 5d 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 lass($e)...'].'...$e->getMessage
21160 28 29 20 2e 20 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 ()...'</error>';.$result[].=.'<e
21180 72 72 6f 72 3e 55 6e 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 61 20 76 61 6c 69 64 20 43 41 rror>Unable.to.locate.a.valid.CA
211a0 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 2e 20 59 6f 75 20 6d 75 73 74 20 73 65 74 20 .certificate.file..You.must.set.
211c0 61 20 76 61 6c 69 64 20 5c 27 63 61 66 69 6c 65 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 72 6f a.valid.\'cafile\'.option.</erro
211e0 72 3e 27 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 59 6f 75 20 63 61 6e r>';.$result[].=.'<error>You.can
21200 20 61 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f .alternatively.disable.this.erro
21220 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 65 6e 61 62 6c 69 6e 67 r,.at.your.own.risk,.by.enabling
21240 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 .the.\'disable-tls\'.option.</er
21260 72 6f 72 3e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 72 ror>';.}.else.{.array_unshift($r
21280 65 73 75 6c 74 2c 20 27 5b 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e 20 27 5d 20 esult,.'['...get_class($e)...'].
212a0 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 '...$e->getMessage());.}.}..if.(
212c0 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 count($result).>.0).{.return.$re
212e0 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 sult;.}..return.true;.}..private
21300 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 0a 7b 0a 24 72 65 .function.checkHttpProxy().{.$re
21320 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 sult.=.$this->checkConnectivity(
21340 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 );.if.($result.!==.true).{.retur
21360 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 6e 73 n.$result;.}..$protocol.=.extens
21380 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 73 27 20 ion_loaded('openssl').?.'https'.
213a0 3a 20 27 68 74 74 70 27 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 :.'http';.try.{.$json.=.json_dec
213c0 6f 64 65 28 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 ode($this->rfs->getContents('pac
213e0 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 65 70 kagist.org',.$protocol...'://rep
21400 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 2c 20 o.packagist.org/packages.json',.
21420 66 61 6c 73 65 29 2c 20 74 72 75 65 29 3b 0a 24 68 61 73 68 20 3d 20 72 65 73 65 74 28 24 6a 73 false),.true);.$hash.=.reset($js
21440 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 29 3b 0a 24 68 61 73 68 20 on['provider-includes']);.$hash.
21460 3d 20 24 68 61 73 68 5b 27 73 68 61 32 35 36 27 5d 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 =.$hash['sha256'];.$path.=.str_r
21480 65 70 6c 61 63 65 28 27 25 68 61 73 68 25 27 2c 20 24 68 61 73 68 2c 20 6b 65 79 28 24 6a 73 6f eplace('%hash%',.$hash,.key($jso
214a0 6e 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 3b 0a 24 70 72 6f 76 69 n['provider-includes']));.$provi
214c0 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 der.=.$this->rfs->getContents('p
214e0 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 ackagist.org',.$protocol...'://r
21500 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 27 2e 24 70 61 74 68 2c 20 66 61 6c 73 65 epo.packagist.org/'.$path,.false
21520 29 3b 0a 0a 69 66 20 28 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 70 72 6f 76 69 64 65 72 );..if.(hash('sha256',.$provider
21540 29 20 21 3d 3d 20 24 68 61 73 68 29 20 7b 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 ).!==.$hash).{.return.'It.seems.
21560 74 68 61 74 20 79 6f 75 72 20 70 72 6f 78 79 20 69 73 20 6d 6f 64 69 66 79 69 6e 67 20 68 74 74 that.your.proxy.is.modifying.htt
21580 70 20 74 72 61 66 66 69 63 20 6f 6e 20 74 68 65 20 66 6c 79 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 p.traffic.on.the.fly';.}.}.catch
215a0 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a .(\Exception.$e).{.return.$e;.}.
215c0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 .return.true;.}.........private.
215e0 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 function.checkHttpProxyFullUriRe
21600 71 75 65 73 74 50 61 72 61 6d 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e questParam().{.$result.=.$this->
21620 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 checkConnectivity();.if.($result
21640 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a .!==.true).{.return.$result;.}..
21660 24 75 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 $url.=.'http://repo.packagist.or
21680 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 g/packages.json';.try.{.$this->r
216a0 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c fs->getContents('packagist.org',
216c0 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 .$url,.false);.}.catch.(Transpor
216e0 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 tException.$e).{.try.{.$this->rf
21700 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 s->getContents('packagist.org',.
21720 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 $url,.false,.array('http'.=>.arr
21740 61 79 28 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 ay('request_fulluri'.=>.false)))
21760 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 ;.}.catch.(TransportException.$e
21780 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 73 73 20 74 68 65 ).{.return.'Unable.to.assess.the
217a0 20 73 69 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 20 .situation,.maybe.packagist.org.
217c0 69 73 20 64 6f 77 6e 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b is.down.('.$e->getMessage().')';
217e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 69 73 20 61 20 .}..return.'It.seems.there.is.a.
21800 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 problem.with.your.proxy.server,.
21820 74 72 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 22 48 54 54 50 5f 50 52 4f 58 59 5f 52 45 51 55 try.setting.the."HTTP_PROXY_REQU
21840 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 61 6e 64 20 22 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 EST_FULLURI".and."HTTPS_PROXY_RE
21860 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 QUEST_FULLURI".environment.varia
21880 62 6c 65 73 20 74 6f 20 22 66 61 6c 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 bles.to."false"';.}..return.true
218a0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 ;.}.........private.function.che
218c0 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 ckHttpsProxyFullUriRequestParam(
218e0 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 ).{.$result.=.$this->checkConnec
21900 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 tivity();.if.($result.!==.true).
21920 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 {.return.$result;.}..if.(!extens
21940 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 ion_loaded('openssl')).{.return.
21960 27 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 'You.need.the.openssl.extension.
21980 69 6e 73 74 61 6c 6c 65 64 20 66 6f 72 20 74 68 69 73 20 63 68 65 63 6b 27 3b 0a 7d 0a 0a 24 75 installed.for.this.check';.}..$u
219a0 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 rl.=.'https://api.github.com/rep
219c0 6f 73 2f 53 65 6c 64 61 65 6b 2f 6a 73 6f 6e 6c 69 6e 74 2f 7a 69 70 62 61 6c 6c 2f 31 2e 30 2e os/Seldaek/jsonlint/zipball/1.0.
219e0 30 27 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 0';.try.{.$this->rfs->getContent
21a00 73 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 s('github.com',.$url,.false);.}.
21a20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a catch.(TransportException.$e).{.
21a40 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 try.{.$this->rfs->getContents('g
21a60 69 74 68 75 62 2e 63 6f 6d 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 ithub.com',.$url,.false,.array('
21a80 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 http'.=>.array('request_fulluri'
21aa0 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 .=>.false)));.}.catch.(Transport
21ac0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 6e 61 62 6c 65 20 74 Exception.$e).{.return.'Unable.t
21ae0 6f 20 61 73 73 65 73 73 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 67 69 o.assess.the.situation,.maybe.gi
21b00 74 68 75 62 20 69 73 20 64 6f 77 6e 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 thub.is.down.('.$e->getMessage()
21b20 2e 27 29 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 .')';.}..return.'It.seems.there.
21b40 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 is.a.problem.with.your.proxy.ser
21b60 76 65 72 2c 20 74 72 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 22 48 54 54 50 53 5f 50 52 4f 58 ver,.try.setting.the."HTTPS_PROX
21b80 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 Y_REQUEST_FULLURI".environment.v
21ba0 61 72 69 61 62 6c 65 20 74 6f 20 22 66 61 6c 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 ariable.to."false"';.}..return.t
21bc0 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 47 69 rue;.}..private.function.checkGi
21be0 74 68 75 62 4f 61 75 74 68 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 29 0a 7b 0a 24 72 65 thubOauth($domain,.$token).{.$re
21c00 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 sult.=.$this->checkConnectivity(
21c20 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 );.if.($result.!==.true).{.retur
21c40 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 73 65 n.$result;.}..$this->getIO()->se
21c60 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c tAuthentication($domain,.$token,
21c80 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 74 72 79 20 7b 0a 24 75 72 6c 20 3d 20 .'x-oauth-basic');.try.{.$url.=.
21ca0 24 64 6f 6d 61 69 6e 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3f 20 27 68 74 74 70 $domain.===.'github.com'.?.'http
21cc0 73 3a 2f 2f 61 70 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 27 20 3a 20 27 68 74 74 70 73 3a 2f s://api.'.$domain.'/'.:.'https:/
21ce0 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a 72 65 74 75 72 6e 20 24 /'.$domain.'/api/v3/';..return.$
21d00 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 64 6f 6d 61 69 6e 2c 20 this->rfs->getContents($domain,.
21d20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d $url,.false,.array(.'retry-auth-
21d40 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 29 29 20 3f 20 74 72 75 65 20 3a 20 27 failure'.=>.false,.)).?.true.:.'
21d60 55 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 27 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 Unexpected.error';.}.catch.(\Exc
21d80 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 eption.$e).{.if.($e.instanceof.T
21da0 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 ransportException.&&.$e->getCode
21dc0 28 29 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 54 ().===.401).{.return.'<comment>T
21de0 68 65 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 73 he.oauth.token.for.'.$domain.'.s
21e00 65 65 6d 73 20 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 eems.invalid,.run."composer.conf
21e20 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d 6f 61 75 74 68 ig.--global.--unset.github-oauth
21e40 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c 2f 63 6f 6d 6d .'.$domain.'".to.remove.it</comm
21e60 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ent>';.}..return.$e;.}.}........
21e80 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 68 75 62 52 61 74 65 4c 69 private.function.getGithubRateLi
21ea0 6d 69 74 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 mit($domain,.$token.=.null).{.$r
21ec0 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 esult.=.$this->checkConnectivity
21ee0 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 ();.if.($result.!==.true).{.retu
21f00 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 rn.$result;.}..if.($token).{.$th
21f20 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 is->getIO()->setAuthentication($
21f40 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 domain,.$token,.'x-oauth-basic')
21f60 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 24 64 6f 6d 61 69 6e 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e ;.}..$url.=.$domain.===.'github.
21f80 63 6f 6d 27 20 3f 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f com'.?.'https://api.'.$domain.'/
21fa0 72 61 74 65 5f 6c 69 6d 69 74 27 20 3a 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 64 6f 6d 61 69 6e rate_limit'.:.'https://'.$domain
21fc0 2e 27 2f 61 70 69 2f 72 61 74 65 5f 6c 69 6d 69 74 27 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 .'/api/rate_limit';.$json.=.$thi
21fe0 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 64 6f 6d 61 69 6e 2c 20 24 75 72 s->rfs->getContents($domain,.$ur
22000 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c l,.false,.array('retry-auth-fail
22020 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 29 29 3b 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 ure'.=>.false));.$data.=.json_de
22040 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 code($json,.true);..return.$data
22060 5b 27 72 65 73 6f 75 72 63 65 73 27 5d 5b 27 63 6f 72 65 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 ['resources']['core'];.}..privat
22080 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 44 69 73 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 e.function.checkDiskSpace($confi
220a0 67 29 0a 7b 0a 24 6d 69 6e 53 70 61 63 65 46 72 65 65 20 3d 20 31 30 32 34 20 2a 20 31 30 32 34 g).{.$minSpaceFree.=.1024.*.1024
220c0 3b 0a 69 66 20 28 28 28 24 64 66 20 3d 20 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 ;.if.((($df.=.@disk_free_space($
220e0 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 29 20 21 3d 3d dir.=.$config->get('home'))).!==
22100 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c .false.&&.$df.<.$minSpaceFree).|
22120 7c 20 28 28 24 64 66 20 3d 20 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 |.(($df.=.@disk_free_space($dir.
22140 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 21 =.$config->get('vendor-dir'))).!
22160 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 ==.false.&&.$df.<.$minSpaceFree)
22180 0a 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 .).{.return.'<error>The.disk.hos
221a0 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 20 69 73 20 66 75 6c 6c 3c 2f 65 72 72 6f 72 3e 27 3b 0a ting.'.$dir.'.is.full</error>';.
221c0 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 }..return.true;.}..private.funct
221e0 69 6f 6e 20 63 68 65 63 6b 50 75 62 4b 65 79 73 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 68 6f 6d ion.checkPubKeys($config).{.$hom
22200 65 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 24 65 72 72 6f 72 e.=.$config->get('home');.$error
22220 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 s.=.array();.$io.=.$this->getIO(
22240 29 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 );..if.(file_exists($home.'/keys
22260 2e 74 61 67 73 2e 70 75 62 27 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 .tags.pub').&&.file_exists($home
22280 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 .'/keys.dev.pub')).{.$io->write(
222a0 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f '');.}..if.(file_exists($home.'/
222c0 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 54 keys.tags.pub')).{.$io->write('T
222e0 61 67 73 20 50 75 62 6c 69 63 20 4b 65 79 20 46 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 ags.Public.Key.Fingerprint:.'...
22300 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 Keys::fingerprint($home.'/keys.t
22320 61 67 73 2e 70 75 62 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d ags.pub'));.}.else.{.$errors[].=
22340 20 27 3c 65 72 72 6f 72 3e 4d 69 73 73 69 6e 67 20 70 75 62 6b 65 79 20 66 6f 72 20 74 61 67 73 .'<error>Missing.pubkey.for.tags
22360 20 76 65 72 69 66 69 63 61 74 69 6f 6e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 66 .verification</error>';.}..if.(f
22380 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 ile_exists($home.'/keys.dev.pub'
223a0 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 44 65 76 20 50 75 62 6c 69 63 20 4b 65 79 20 )).{.$io->write('Dev.Public.Key.
223c0 46 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 Fingerprint:.'...Keys::fingerpri
223e0 6e 74 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 29 3b 0a 7d 20 65 6c nt($home.'/keys.dev.pub'));.}.el
22400 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 4d 69 73 73 69 6e 67 se.{.$errors[].=.'<error>Missing
22420 20 70 75 62 6b 65 79 20 66 6f 72 20 64 65 76 20 76 65 72 69 66 69 63 61 74 69 6f 6e 3c 2f 65 72 .pubkey.for.dev.verification</er
22440 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 65 72 72 6f 72 73 ror>';.}..if.($errors).{.$errors
22460 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 52 75 6e 20 63 6f 6d 70 6f 73 65 72 20 73 65 6c 66 2d 75 [].=.'<error>Run.composer.self-u
22480 70 64 61 74 65 20 2d 2d 75 70 64 61 74 65 2d 6b 65 79 73 20 74 6f 20 73 65 74 20 74 68 65 6d 20 pdate.--update-keys.to.set.them.
224a0 75 70 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 72 72 6f 72 73 20 3f up</error>';.}..return.$errors.?
224c0 3a 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 :.true;.}..private.function.chec
224e0 6b 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 kVersion($config).{.$result.=.$t
22500 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 his->checkConnectivity();.if.($r
22520 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 esult.!==.true).{.return.$result
22540 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e ;.}..$versionsUtil.=.new.Version
22560 73 28 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a 24 6c 61 74 65 73 74 20 s($config,.$this->rfs);.$latest.
22580 3d 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 28 29 3b 0a 0a 69 =.$versionsUtil->getLatest();..i
225a0 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 24 6c 61 74 65 73 74 f.(Composer::VERSION.!==.$latest
225c0 5b 27 76 65 72 73 69 6f 6e 27 5d 20 26 26 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e ['version'].&&.Composer::VERSION
225e0 20 21 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 76 65 72 73 69 6f 6e 40 27 29 20 7b 0a 72 65 74 75 .!==.'@package_version@').{.retu
22600 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 75 6e 6e 69 6e 67 rn.'<comment>You.are.not.running
22620 20 74 68 65 20 6c 61 74 65 73 74 20 27 2e 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 .the.latest.'.$versionsUtil->get
22640 43 68 61 6e 6e 65 6c 28 29 2e 27 20 76 65 72 73 69 6f 6e 2c 20 72 75 6e 20 60 63 6f 6d 70 6f 73 Channel().'.version,.run.`compos
22660 65 72 20 73 65 6c 66 2d 75 70 64 61 74 65 60 20 74 6f 20 75 70 64 61 74 65 20 28 27 2e 43 6f 6d er.self-update`.to.update.('.Com
22680 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 2e 27 20 3d 3e 20 27 2e 24 6c 61 74 65 73 74 5b 27 76 poser::VERSION.'.=>.'.$latest['v
226a0 65 72 73 69 6f 6e 27 5d 2e 27 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 ersion'].')</comment>';.}..retur
226c0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f n.true;.}.....private.function.o
226e0 75 74 70 75 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 utputResult($result).{.$io.=.$th
22700 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 72 65 73 75 6c is->getIO();.if.(true.===.$resul
22720 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 4f 4b 3c 2f 69 6e 66 6f 3e t).{.$io->write('<info>OK</info>
22740 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 68 61 64 45 72 72 6f 72 20 3d 20 66 61 6c 73 ');..return;.}..$hadError.=.fals
22760 65 3b 0a 24 68 61 64 57 61 72 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 72 65 73 e;.$hadWarning.=.false;.if.($res
22780 75 6c 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 72 65 ult.instanceof.\Exception).{.$re
227a0 73 75 6c 74 20 3d 20 27 3c 65 72 72 6f 72 3e 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 72 65 73 sult.=.'<error>['.get_class($res
227c0 75 6c 74 29 2e 27 5d 20 27 2e 24 72 65 73 75 6c 74 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e ult).'].'.$result->getMessage().
227e0 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 0a '</error>';.}..if.(!$result).{..
22800 20 24 68 61 64 45 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 .$hadError.=.true;.}.else.{.if.(
22820 21 69 73 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 !is_array($result)).{.$result.=.
22840 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 array($result);.}.foreach.($resu
22860 6c 74 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 lt.as.$message).{.if.(false.!==.
22880 73 74 72 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 3c 65 72 72 6f 72 3e 27 29 29 20 7b 0a 24 strpos($message,.'<error>')).{.$
228a0 68 61 64 45 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 hadError.=.true;.}.elseif.(false
228c0 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 3c 77 61 72 6e 69 6e 67 3e .!==.strpos($message,.'<warning>
228e0 27 29 29 20 7b 0a 24 68 61 64 57 61 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a ')).{.$hadWarning.=.true;.}.}.}.
22900 0a 69 66 20 28 24 68 61 64 45 72 72 6f 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 .if.($hadError).{.$io->write('<e
22920 72 72 6f 72 3e 46 41 49 4c 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 rror>FAIL</error>');.$this->exit
22940 43 6f 64 65 20 3d 20 6d 61 78 28 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 2c 20 32 29 3b 0a Code.=.max($this->exitCode,.2);.
22960 7d 20 65 6c 73 65 69 66 20 28 24 68 61 64 57 61 72 6e 69 6e 67 29 20 7b 0a 24 69 6f 2d 3e 77 72 }.elseif.($hadWarning).{.$io->wr
22980 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 72 6e 69 6e 67 3e 27 ite('<warning>WARNING</warning>'
229a0 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 74 68 69 73 2d 3e );.$this->exitCode.=.max($this->
229c0 65 78 69 74 43 6f 64 65 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 29 20 7b 0a exitCode,.1);.}..if.($result).{.
229e0 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a foreach.($result.as.$message).{.
22a00 24 69 6f 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 $io->write($message);.}.}.}..pri
22a20 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 0a 7b 0a vate.function.checkPlatform().{.
22a40 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 6f 75 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 $output.=.'';.$out.=.function.($
22a60 6d 73 67 2c 20 24 73 74 79 6c 65 29 20 75 73 65 20 28 26 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f msg,.$style).use.(&$output).{.$o
22a80 75 74 70 75 74 20 2e 3d 20 27 3c 27 2e 24 73 74 79 6c 65 2e 27 3e 27 2e 24 6d 73 67 2e 27 3c 2f utput..=.'<'.$style.'>'.$msg.'</
22aa0 27 2e 24 73 74 79 6c 65 2e 27 3e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 3b 0a 0a 0a 20 24 65 72 72 '.$style.'>'.PHP_EOL;.};....$err
22ac0 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 ors.=.array();.$warnings.=.array
22ae0 28 29 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a ();.$displayIniMessage.=.false;.
22b00 0a 24 69 6e 69 4d 65 73 73 61 67 65 20 3d 20 50 48 50 5f 45 4f 4c 2e 50 48 50 5f 45 4f 4c 2e 49 .$iniMessage.=.PHP_EOL.PHP_EOL.I
22b20 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 69 6e 69 4d 65 73 73 niHelper::getMessage();.$iniMess
22b40 61 67 65 20 2e 3d 20 50 48 50 5f 45 4f 4c 2e 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 6d age..=.PHP_EOL.'If.you.can.not.m
22b60 6f 64 69 66 79 20 74 68 65 20 69 6e 69 20 66 69 6c 65 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f odify.the.ini.file,.you.can.also
22b80 20 72 75 6e 20 60 70 68 70 20 2d 64 20 6f 70 74 69 6f 6e 3d 76 61 6c 75 65 60 20 74 6f 20 6d 6f .run.`php.-d.option=value`.to.mo
22ba0 64 69 66 79 20 69 6e 69 20 76 61 6c 75 65 73 20 6f 6e 20 74 68 65 20 66 6c 79 2e 20 59 6f 75 20 dify.ini.values.on.the.fly..You.
22bc0 63 61 6e 20 75 73 65 20 2d 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 27 3b 0a 0a 69 66 can.use.-d.multiple.times.';..if
22be0 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 64 65 63 6f 64 65 27 .(!function_exists('json_decode'
22c00 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 6a 73 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a )).{.$errors['json'].=.true;.}..
22c20 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 50 68 61 72 27 29 29 20 7b if.(!extension_loaded('Phar')).{
22c40 0a 24 65 72 72 6f 72 73 5b 27 70 68 61 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 .$errors['phar'].=.true;.}..if.(
22c60 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 66 69 6c 74 65 72 27 29 29 20 7b 0a 24 !extension_loaded('filter')).{.$
22c80 65 72 72 6f 72 73 5b 27 66 69 6c 74 65 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 errors['filter'].=.true;.}..if.(
22ca0 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 68 61 73 68 27 29 29 20 7b 0a 24 65 72 !extension_loaded('hash')).{.$er
22cc0 72 6f 72 73 5b 27 68 61 73 68 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 rors['hash'].=.true;.}..if.(!ext
22ce0 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 69 63 6f 6e 76 27 29 20 26 26 20 21 65 78 74 65 6e ension_loaded('iconv').&&.!exten
22d00 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6d 62 73 74 72 69 6e 67 27 29 29 20 7b 0a 24 65 72 72 6f sion_loaded('mbstring')).{.$erro
22d20 72 73 5b 27 69 63 6f 6e 76 5f 6d 62 73 74 72 69 6e 67 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a rs['iconv_mbstring'].=.true;.}..
22d40 69 66 20 28 21 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 if.(!filter_var(ini_get('allow_u
22d60 72 6c 5f 66 6f 70 65 6e 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c rl_fopen'),.FILTER_VALIDATE_BOOL
22d80 45 41 4e 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e EAN)).{.$errors['allow_url_fopen
22da0 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 '].=.true;.}..if.(extension_load
22dc0 65 64 28 27 69 6f 6e 43 75 62 65 20 4c 6f 61 64 65 72 27 29 20 26 26 20 69 6f 6e 63 75 62 65 5f ed('ionCube.Loader').&&.ioncube_
22de0 6c 6f 61 64 65 72 5f 69 76 65 72 73 69 6f 6e 28 29 20 3c 20 34 30 30 30 39 29 20 7b 0a 24 65 72 loader_iversion().<.40009).{.$er
22e00 72 6f 72 73 5b 27 69 6f 6e 63 75 62 65 27 5d 20 3d 20 69 6f 6e 63 75 62 65 5f 6c 6f 61 64 65 72 rors['ioncube'].=.ioncube_loader
22e20 5f 76 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 _version();.}..if.(PHP_VERSION_I
22e40 44 20 3c 20 35 30 33 30 32 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 D.<.50302).{.$errors['php'].=.PH
22e60 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 65 72 72 6f 72 73 P_VERSION;.}..if.(!isset($errors
22e80 5b 27 70 68 70 27 5d 29 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 ['php']).&&.PHP_VERSION_ID.<.503
22ea0 30 34 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 5f 56 45 52 04).{.$warnings['php'].=.PHP_VER
22ec0 53 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 SION;.}..if.(!extension_loaded('
22ee0 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 6f 70 65 6e 73 73 6c 27 5d 20 openssl')).{.$errors['openssl'].
22f00 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 =.true;.}..if.(extension_loaded(
22f20 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 4e 55 'openssl').&&.OPENSSL_VERSION_NU
22f40 4d 42 45 52 20 3c 20 30 78 31 30 30 30 31 30 30 66 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 MBER.<.0x1000100f).{.$warnings['
22f60 6f 70 65 6e 73 73 6c 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 openssl_version'].=.true;.}..if.
22f80 28 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 21 65 78 (!defined('HHVM_VERSION').&&.!ex
22fa0 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 61 70 63 75 27 29 20 26 26 20 66 69 6c 74 65 72 tension_loaded('apcu').&&.filter
22fc0 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 2c 20 _var(ini_get('apc.enable_cli'),.
22fe0 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 77 61 72 FILTER_VALIDATE_BOOLEAN)).{.$war
23000 6e 69 6e 67 73 5b 27 61 70 63 5f 63 6c 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 nings['apc_cli'].=.true;.}..if.(
23020 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 77 61 !extension_loaded('zlib')).{.$wa
23040 72 6e 69 6e 67 73 5b 27 7a 6c 69 62 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 rnings['zlib'].=.true;.}..ob_sta
23060 72 74 28 29 3b 0a 70 68 70 69 6e 66 6f 28 49 4e 46 4f 5f 47 45 4e 45 52 41 4c 29 3b 0a 24 70 68 rt();.phpinfo(INFO_GENERAL);.$ph
23080 70 69 6e 66 6f 20 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 69 66 20 28 70 72 65 67 pinfo.=.ob_get_clean();.if.(preg
230a0 5f 6d 61 74 63 68 28 27 7b 43 6f 6e 66 69 67 75 72 65 20 43 6f 6d 6d 61 6e 64 28 3f 3a 20 2a 3c _match('{Configure.Command(?:.*<
230c0 2f 74 64 3e 3c 74 64 20 63 6c 61 73 73 3d 22 76 22 3e 7c 20 2a 3d 3e 20 2a 29 28 2e 2a 3f 29 28 /td><td.class="v">|.*=>.*)(.*?)(
230e0 3f 3a 3c 2f 74 64 3e 7c 24 29 7d 6d 27 2c 20 24 70 68 70 69 6e 66 6f 2c 20 24 6d 61 74 63 68 29 ?:</td>|$)}m',.$phpinfo,.$match)
23100 29 20 7b 0a 24 63 6f 6e 66 69 67 75 72 65 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 0a 69 66 20 ).{.$configure.=.$match[1];..if.
23120 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d (false.!==.strpos($configure,.'-
23140 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b -enable-sigchild')).{.$warnings[
23160 27 73 69 67 63 68 69 6c 64 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 'sigchild'].=.true;.}..if.(false
23180 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d 2d 77 69 74 68 2d .!==.strpos($configure,.'--with-
231a0 63 75 72 6c 77 72 61 70 70 65 72 73 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 63 75 72 curlwrappers')).{.$warnings['cur
231c0 6c 77 72 61 70 70 65 72 73 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 66 69 6c lwrappers'].=.true;.}.}..if.(fil
231e0 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 ter_var(ini_get('xdebug.profiler
23200 5f 65 6e 61 62 6c 65 64 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c _enabled'),.FILTER_VALIDATE_BOOL
23220 45 41 4e 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 78 64 65 62 75 67 5f 70 72 6f 66 69 6c EAN)).{.$warnings['xdebug_profil
23240 65 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f e'].=.true;.}.elseif.(extension_
23260 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 78 loaded('xdebug')).{.$warnings['x
23280 64 65 62 75 67 5f 6c 6f 61 64 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 debug_loaded'].=.true;.}..if.(!e
232a0 6d 70 74 79 28 24 65 72 72 6f 72 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 mpty($errors)).{.foreach.($error
232c0 73 20 61 73 20 24 65 72 72 6f 72 20 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 74 63 s.as.$error.=>.$current).{.switc
232e0 68 20 28 24 65 72 72 6f 72 29 20 7b 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 74 65 78 74 20 h.($error).{.case.'json':.$text.
23300 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 6a 73 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 =.PHP_EOL."The.json.extension.is
23320 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e .missing.".PHP_EOL;.$text..=."In
23340 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 stall.it.or.recompile.php.withou
23360 74 20 2d 2d 64 69 73 61 62 6c 65 2d 6a 73 6f 6e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 t.--disable-json";.break;..case.
23380 27 70 68 61 72 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 70 68 61 'phar':.$text.=.PHP_EOL."The.pha
233a0 72 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c r.extension.is.missing.".PHP_EOL
233c0 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 ;.$text..=."Install.it.or.recomp
233e0 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 70 68 61 72 22 3b ile.php.without.--disable-phar";
23400 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 66 69 6c 74 65 72 27 3a 0a 24 74 65 78 74 20 3d 20 .break;..case.'filter':.$text.=.
23420 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 66 69 6c 74 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 PHP_EOL."The.filter.extension.is
23440 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e .missing.".PHP_EOL;.$text..=."In
23460 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 stall.it.or.recompile.php.withou
23480 74 20 2d 2d 64 69 73 61 62 6c 65 2d 66 69 6c 74 65 72 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 t.--disable-filter";.break;..cas
234a0 65 20 27 68 61 73 68 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 68 e.'hash':.$text.=.PHP_EOL."The.h
234c0 61 73 68 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 ash.extension.is.missing.".PHP_E
234e0 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f OL;.$text..=."Install.it.or.reco
23500 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 68 61 73 68 mpile.php.without.--disable-hash
23520 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 63 6f 6e 76 5f 6d 62 73 74 72 69 6e 67 27 ";.break;..case.'iconv_mbstring'
23540 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 69 63 6f 6e 76 20 4f 52 20 :.$text.=.PHP_EOL."The.iconv.OR.
23560 6d 62 73 74 72 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 61 mbstring.extension.is.required.a
23580 6e 64 20 62 6f 74 68 20 61 72 65 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 nd.both.are.missing.".PHP_EOL;.$
235a0 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 6d 20 text..=."Install.either.of.them.
235c0 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 or.recompile.php.without.--disab
235e0 6c 65 2d 69 63 6f 6e 76 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 69 63 6f 64 65 le-iconv";.break;..case.'unicode
23600 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 64 65 74 65 63 74 5f 75 ':.$text.=.PHP_EOL."The.detect_u
23620 6e 69 63 6f 64 65 20 73 65 74 74 69 6e 67 20 6d 75 73 74 20 62 65 20 64 69 73 61 62 6c 65 64 2e nicode.setting.must.be.disabled.
23640 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c ".PHP_EOL;.$text..=."Add.the.fol
23660 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 lowing.to.the.end.of.your.`php.i
23680 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 64 65 74 ni`:".PHP_EOL;.$text..=."....det
236a0 65 63 74 5f 75 6e 69 63 6f 64 65 20 3d 20 4f 66 66 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d ect_unicode.=.Off";.$displayIniM
236c0 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 75 68 essage.=.true;.break;..case.'suh
236e0 6f 73 69 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 73 75 68 6f osin':.$text.=.PHP_EOL."The.suho
23700 73 69 6e 2e 65 78 65 63 75 74 6f 72 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 20 73 sin.executor.include.whitelist.s
23720 65 74 74 69 6e 67 20 69 73 20 69 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 etting.is.incorrect.".PHP_EOL;.$
23740 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 text..=."Add.the.following.to.th
23760 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 20 6f 72 20 73 75 68 6f 73 e.end.of.your.`php.ini`.or.suhos
23780 69 6e 2e 69 6e 69 20 28 45 78 61 6d 70 6c 65 20 70 61 74 68 20 5b 66 6f 72 20 44 65 62 69 61 6e in.ini.(Example.path.[for.Debian
237a0 5d 3a 20 2f 65 74 63 2f 70 68 70 35 2f 63 6c 69 2f 63 6f 6e 66 2e 64 2f 73 75 68 6f 73 69 6e 2e ]:./etc/php5/cli/conf.d/suhosin.
237c0 69 6e 69 29 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 73 75 ini):".PHP_EOL;.$text..=."....su
237e0 68 6f 73 69 6e 2e 65 78 65 63 75 74 6f 72 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 hosin.executor.include.whitelist
23800 20 3d 20 70 68 61 72 20 22 2e 24 63 75 72 72 65 6e 74 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d .=.phar.".$current;.$displayIniM
23820 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 70 essage.=.true;.break;..case.'php
23840 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 50 48 50 20 28 7b 24 ':.$text.=.PHP_EOL."Your.PHP.({$
23860 63 75 72 72 65 6e 74 7d 29 20 69 73 20 74 6f 6f 20 6f 6c 64 2c 20 79 6f 75 20 6d 75 73 74 20 75 current}).is.too.old,.you.must.u
23880 70 67 72 61 64 65 20 74 6f 20 50 48 50 20 35 2e 33 2e 32 20 6f 72 20 68 69 67 68 65 72 2e 22 3b pgrade.to.PHP.5.3.2.or.higher.";
238a0 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 3a .break;..case.'allow_url_fopen':
238c0 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 61 6c 6c 6f 77 5f 75 72 6c 5f .$text.=.PHP_EOL."The.allow_url_
238e0 66 6f 70 65 6e 20 73 65 74 74 69 6e 67 20 69 73 20 69 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 fopen.setting.is.incorrect.".PHP
23900 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e _EOL;.$text..=."Add.the.followin
23920 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 g.to.the.end.of.your.`php.ini`:"
23940 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 61 6c 6c 6f 77 5f 75 72 .PHP_EOL;.$text..=."....allow_ur
23960 6c 5f 66 6f 70 65 6e 20 3d 20 4f 6e 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 l_fopen.=.On";.$displayIniMessag
23980 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6f 6e 63 75 62 65 27 e.=.true;.break;..case.'ioncube'
239a0 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 69 6f 6e 43 75 62 65 20 :.$text.=.PHP_EOL."Your.ionCube.
239c0 4c 6f 61 64 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 28 24 63 75 72 72 65 6e 74 29 20 69 73 20 69 Loader.extension.($current).is.i
239e0 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 50 68 61 72 20 66 69 6c 65 73 2e 22 2e 50 48 ncompatible.with.Phar.files.".PH
23a00 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 55 70 67 72 61 64 65 20 74 6f 20 69 6f 6e 43 P_EOL;.$text..=."Upgrade.to.ionC
23a20 75 62 65 20 34 2e 30 2e 39 20 6f 72 20 68 69 67 68 65 72 20 6f 72 20 72 65 6d 6f 76 65 20 74 68 ube.4.0.9.or.higher.or.remove.th
23a40 69 73 20 6c 69 6e 65 20 28 70 61 74 68 20 6d 61 79 20 62 65 20 64 69 66 66 65 72 65 6e 74 29 20 is.line.(path.may.be.different).
23a60 66 72 6f 6d 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 from.your.`php.ini`.to.disable.i
23a80 74 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 7a 65 6e 64 5f t:".PHP_EOL;.$text..=."....zend_
23aa0 65 78 74 65 6e 73 69 6f 6e 20 3d 20 2f 75 73 72 2f 6c 69 62 2f 70 68 70 35 2f 32 30 30 39 30 36 extension.=./usr/lib/php5/200906
23ac0 32 36 2b 6c 66 73 2f 69 6f 6e 63 75 62 65 5f 6c 6f 61 64 65 72 5f 6c 69 6e 5f 35 2e 33 2e 73 6f 26+lfs/ioncube_loader_lin_5.3.so
23ae0 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 ";.$displayIniMessage.=.true;.br
23b00 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 eak;..case.'openssl':.$text.=.PH
23b20 50 5f 45 4f 4c 2e 22 54 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 P_EOL."The.openssl.extension.is.
23b40 6d 69 73 73 69 6e 67 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 73 65 63 75 72 65 missing,.which.means.that.secure
23b60 20 48 54 54 50 53 20 74 72 61 6e 73 66 65 72 73 20 61 72 65 20 69 6d 70 6f 73 73 69 62 6c 65 2e .HTTPS.transfers.are.impossible.
23b80 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f 73 73 69 62 6c 65 ".PHP_EOL;.$text..=."If.possible
23ba0 20 79 6f 75 20 73 68 6f 75 6c 64 20 65 6e 61 62 6c 65 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 .you.should.enable.it.or.recompi
23bc0 6c 65 20 70 68 70 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 6f 70 65 6e 73 73 6c 22 3b 0a 62 72 65 le.php.with.--with-openssl";.bre
23be0 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 74 65 78 74 2c 20 27 65 72 72 6f 72 27 29 3b 0a 7d 0a 0a 24 ak;.}.$out($text,.'error');.}..$
23c00 6f 75 74 70 75 74 20 2e 3d 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 output..=.PHP_EOL;.}..if.(!empty
23c20 28 24 77 61 72 6e 69 6e 67 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 77 61 72 6e 69 6e 67 ($warnings)).{.foreach.($warning
23c40 73 20 61 73 20 24 77 61 72 6e 69 6e 67 20 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 s.as.$warning.=>.$current).{.swi
23c60 74 63 68 20 28 24 77 61 72 6e 69 6e 67 29 20 7b 0a 63 61 73 65 20 27 61 70 63 5f 63 6c 69 27 3a tch.($warning).{.case.'apc_cli':
23c80 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 73 65 74 .$text.=."The.apc.enable_cli.set
23ca0 74 69 6e 67 20 69 73 20 69 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 ting.is.incorrect.".PHP_EOL;.$te
23cc0 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 xt..=."Add.the.following.to.the.
23ce0 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b end.of.your.`php.ini`:".PHP_EOL;
23d00 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 3d 20 4f 66 .$text..=."..apc.enable_cli.=.Of
23d20 66 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 f";.$displayIniMessage.=.true;.b
23d40 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 7a 6c 69 62 27 3a 0a 24 74 65 78 74 20 3d 20 27 54 68 65 reak;..case.'zlib':.$text.=.'The
23d60 20 7a 6c 69 62 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 61 64 65 64 2c 20 74 .zlib.extension.is.not.loaded,.t
23d80 68 69 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 6f 74 his.can.slow.down.Composer.a.lot
23da0 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 27 49 66 20 70 6f 73 73 69 62 6c .'.PHP_EOL;.$text..=.'If.possibl
23dc0 65 2c 20 65 6e 61 62 6c 65 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 e,.enable.it.or.recompile.php.wi
23de0 74 68 20 2d 2d 77 69 74 68 2d 7a 6c 69 62 27 2e 50 48 50 5f 45 4f 4c 3b 0a 24 64 69 73 70 6c 61 th.--with-zlib'.PHP_EOL;.$displa
23e00 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 yIniMessage.=.true;.break;..case
23e20 20 27 73 69 67 63 68 69 6c 64 27 3a 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f .'sigchild':.$text.=."PHP.was.co
23e40 6d 70 69 6c 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 20 77 68 mpiled.with.--enable-sigchild.wh
23e60 69 63 68 20 63 61 6e 20 63 61 75 73 65 20 69 73 73 75 65 73 20 6f 6e 20 73 6f 6d 65 20 70 6c 61 ich.can.cause.issues.on.some.pla
23e80 74 66 6f 72 6d 73 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 52 65 63 6f tforms.".PHP_EOL;.$text..=."Reco
23ea0 6d 70 69 6c 65 20 69 74 20 77 69 74 68 6f 75 74 20 74 68 69 73 20 66 6c 61 67 20 69 66 20 70 6f mpile.it.without.this.flag.if.po
23ec0 73 73 69 62 6c 65 2c 20 73 65 65 20 61 6c 73 6f 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 ssible,.see.also:".PHP_EOL;.$tex
23ee0 74 20 2e 3d 20 22 20 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 62 75 67 t..=."..https://bugs.php.net/bug
23f00 2e 70 68 70 3f 69 64 3d 32 32 39 39 39 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 75 .php?id=22999";.break;..case.'cu
23f20 72 6c 77 72 61 70 70 65 72 73 27 3a 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f rlwrappers':.$text.=."PHP.was.co
23f40 6d 70 69 6c 65 64 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 61 70 70 65 72 73 20 mpiled.with.--with-curlwrappers.
23f60 77 68 69 63 68 20 77 69 6c 6c 20 63 61 75 73 65 20 69 73 73 75 65 73 20 77 69 74 68 20 48 54 54 which.will.cause.issues.with.HTT
23f80 50 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 61 6e 64 20 47 69 74 48 75 62 2e 22 2e 50 48 P.authentication.and.GitHub.".PH
23fa0 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 52 65 63 6f 6d 70 69 6c 65 20 69 74 20 77 P_EOL;.$text..=.".Recompile.it.w
23fc0 69 74 68 6f 75 74 20 74 68 69 73 20 66 6c 61 67 20 69 66 20 70 6f 73 73 69 62 6c 65 22 3b 0a 62 ithout.this.flag.if.possible";.b
23fe0 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 22 59 6f 75 72 reak;..case.'php':.$text.=."Your
24000 20 50 48 50 20 28 7b 24 63 75 72 72 65 6e 74 7d 29 20 69 73 20 71 75 69 74 65 20 6f 6c 64 2c 20 .PHP.({$current}).is.quite.old,.
24020 75 70 67 72 61 64 69 6e 67 20 74 6f 20 50 48 50 20 35 2e 33 2e 34 20 6f 72 20 68 69 67 68 65 72 upgrading.to.PHP.5.3.4.or.higher
24040 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 .is.recommended.".PHP_EOL;.$text
24060 20 2e 3d 20 22 20 43 6f 6d 70 6f 73 65 72 20 77 6f 72 6b 73 20 77 69 74 68 20 35 2e 33 2e 32 2b ..=.".Composer.works.with.5.3.2+
24080 20 66 6f 72 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2c 20 62 75 74 20 74 68 65 72 65 20 6d 69 67 68 .for.most.people,.but.there.migh
240a0 74 20 62 65 20 65 64 67 65 20 63 61 73 65 20 69 73 73 75 65 73 2e 22 3b 0a 62 72 65 61 6b 3b 0a t.be.edge.case.issues.";.break;.
240c0 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c 5f 76 65 72 73 69 6f 6e 27 3a 0a 0a 20 24 6f 70 65 6e .case.'openssl_version':...$open
240e0 73 73 6c 56 65 72 73 69 6f 6e 20 3d 20 73 74 72 73 74 72 28 74 72 69 6d 28 73 74 72 73 74 72 28 sslVersion.=.strstr(trim(strstr(
24100 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 2c 20 27 20 27 29 29 2c 20 27 20 27 OPENSSL_VERSION_TEXT,.'.')),.'.'
24120 2c 20 74 72 75 65 29 3b 0a 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 3d 20 24 6f 70 65 6e ,.true);.$opensslVersion.=.$open
24140 73 73 6c 56 65 72 73 69 6f 6e 20 3f 3a 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 sslVersion.?:.OPENSSL_VERSION_TE
24160 58 54 3b 0a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 4f 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 XT;..$text.=."The.OpenSSL.librar
24180 79 20 28 7b 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 7d 29 20 75 73 65 64 20 62 79 20 50 48 y.({$opensslVersion}).used.by.PH
241a0 50 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 54 4c 53 76 31 2e 32 20 6f 72 20 54 4c P.does.not.support.TLSv1.2.or.TL
241c0 53 76 31 2e 31 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f Sv1.1.".PHP_EOL;.$text..=."If.po
241e0 73 73 69 62 6c 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 70 67 72 61 64 65 20 4f 70 65 6e 53 53 ssible.you.should.upgrade.OpenSS
24200 4c 20 74 6f 20 76 65 72 73 69 6f 6e 20 31 2e 30 2e 31 20 6f 72 20 61 62 6f 76 65 2e 22 3b 0a 62 L.to.version.1.0.1.or.above.";.b
24220 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 64 65 62 75 67 5f 6c 6f 61 64 65 64 27 3a 0a 24 74 65 reak;..case.'xdebug_loaded':.$te
24240 78 74 20 3d 20 22 54 68 65 20 78 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6c 6f xt.=."The.xdebug.extension.is.lo
24260 61 64 65 64 2c 20 74 68 69 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 aded,.this.can.slow.down.Compose
24280 72 20 61 20 6c 69 74 74 6c 65 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 r.a.little.".PHP_EOL;.$text..=."
242a0 20 44 69 73 61 62 6c 69 6e 67 20 69 74 20 77 68 65 6e 20 75 73 69 6e 67 20 43 6f 6d 70 6f 73 65 .Disabling.it.when.using.Compose
242c0 72 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 r.is.recommended.";.break;..case
242e0 20 27 78 64 65 62 75 67 5f 70 72 6f 66 69 6c 65 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 .'xdebug_profile':.$text.=."The.
24300 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 5f 65 6e 61 62 6c 65 64 20 73 65 74 74 69 6e 67 20 xdebug.profiler_enabled.setting.
24320 69 73 20 65 6e 61 62 6c 65 64 2c 20 74 68 69 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 is.enabled,.this.can.slow.down.C
24340 6f 6d 70 6f 73 65 72 20 61 20 6c 6f 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e omposer.a.lot.".PHP_EOL;.$text..
24360 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 =."Add.the.following.to.the.end.
24380 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 3a of.your.`php.ini`.to.disable.it:
243a0 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 78 64 65 62 75 67 2e 70 72 ".PHP_EOL;.$text..=."..xdebug.pr
243c0 6f 66 69 6c 65 72 5f 65 6e 61 62 6c 65 64 20 3d 20 30 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 ofiler_enabled.=.0";.$displayIni
243e0 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 74 Message.=.true;.break;.}.$out($t
24400 65 78 74 2c 20 27 63 6f 6d 6d 65 6e 74 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 70 6c ext,.'comment');.}.}..if.($displ
24420 61 79 49 6e 69 4d 65 73 73 61 67 65 29 20 7b 0a 24 6f 75 74 28 24 69 6e 69 4d 65 73 73 61 67 65 ayIniMessage).{.$out($iniMessage
24440 2c 20 27 63 6f 6d 6d 65 6e 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 77 61 72 6e 69 6e ,.'comment');.}..return.!$warnin
24460 67 73 20 26 26 20 21 24 65 72 72 6f 72 73 20 3f 20 74 72 75 65 20 3a 20 24 6f 75 74 70 75 74 3b gs.&&.!$errors.?.true.:.$output;
24480 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b .}........private.function.check
244a0 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 0a 7b 0a 69 66 20 28 21 69 6e 69 5f 67 65 74 28 27 61 Connectivity().{.if.(!ini_get('a
244c0 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 3c llow_url_fopen')).{.$result.=.'<
244e0 69 6e 66 6f 3e 53 6b 69 70 70 65 64 20 62 65 63 61 75 73 65 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 info>Skipped.because.allow_url_f
24500 6f 70 65 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 3c 2f 69 6e 66 6f 3e 27 3b 0a 72 65 74 75 72 6e open.is.missing.</info>';.return
24520 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f .$result;.}..return.true;.}.}.<?
24540 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
24560 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c r\Command;..use.Composer\Plugin\
24580 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 CommandEvent;.use.Composer\Plugi
245a0 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 n\PluginEvents;.use.Symfony\Comp
245c0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
245e0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
24600 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 e\Input\InputOption;.use.Symfony
24620 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 \Component\Console\Output\Output
24640 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 75 6d 70 41 75 74 6f 6c 6f 61 Interface;.....class.DumpAutoloa
24660 64 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 dCommand.extends.BaseCommand.{.p
24680 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
246a0 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 27 29 $this.->setName('dump-autoload')
246c0 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 64 75 6d 70 61 75 74 6f 6c 6f 61 .->setAliases(array('dumpautoloa
246e0 64 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 75 6d 70 73 20 74 68 65 d')).->setDescription('Dumps.the
24700 20 61 75 74 6f 6c 6f 61 64 65 72 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 .autoloader.').->setDefinition(a
24720 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 rray(.new.InputOption('no-script
24740 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
24760 45 2c 20 27 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 E,.'Skips.the.execution.of.all.s
24780 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 cripts.defined.in.composer.json.
247a0 66 69 6c 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 file.'),.new.InputOption('optimi
247c0 7a 65 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e ze',.'o',.InputOption::VALUE_NON
247e0 45 2c 20 27 4f 70 74 69 6d 69 7a 65 73 20 50 53 52 30 20 61 6e 64 20 50 53 52 34 20 70 61 63 6b E,.'Optimizes.PSR0.and.PSR4.pack
24800 61 67 65 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 77 69 74 68 20 63 6c 61 73 73 6d 61 70 73 ages.to.be.loaded.with.classmaps
24820 20 74 6f 6f 2c 20 67 6f 6f 64 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 .too,.good.for.production.'),.ne
24840 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 w.InputOption('classmap-authorit
24860 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f ative',.'a',.InputOption::VALUE_
24880 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 NONE,.'Autoload.classes.from.the
248a0 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c .classmap.only..Implicitly.enabl
248c0 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 es.`--optimize`.'),.new.InputOpt
248e0 69 6f 6e 28 27 61 70 63 75 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ion('apcu',.null,.InputOption::V
24900 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 66 6f ALUE_NONE,.'Use.APCu.to.cache.fo
24920 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e und/not-found.classes.'),.new.In
24940 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f putOption('no-dev',.null,.InputO
24960 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 61 75 74 ption::VALUE_NONE,.'Disables.aut
24980 6f 6c 6f 61 64 2d 64 65 76 20 72 75 6c 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 oload-dev.rules.'),.)).->setHelp
249a0 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 (.<<<EOT.<info>php.composer.phar
249c0 20 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 .dump-autoload</info>..Read.more
249e0 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f .at.https://getcomposer.org/doc/
24a00 30 33 2d 63 6c 69 2e 6d 64 23 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 61 75 74 6f 03-cli.md#dump-autoload-dumpauto
24a20 6c 6f 61 64 2d 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 load-.EOT.).;.}..protected.funct
24a40 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 ion.execute(InputInterface.$inpu
24a60 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 t,.OutputInterface.$output).{.$c
24a80 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a omposer.=.$this->getComposer();.
24aa0 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e .$commandEvent.=.new.CommandEven
24ac0 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 64 75 6d 70 2d 61 t(PluginEvents::COMMAND,.'dump-a
24ae0 75 74 6f 6c 6f 61 64 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d utoload',.$input,.$output);.$com
24b00 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 poser->getEventDispatcher()->dis
24b20 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 patch($commandEvent->getName(),.
24b40 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 $commandEvent);..$installationMa
24b60 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 nager.=.$composer->getInstallati
24b80 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f onManager();.$localRepo.=.$compo
24ba0 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 ser->getRepositoryManager()->get
24bc0 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 LocalRepository();.$package.=.$c
24be0 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 63 6f 6e 66 69 67 20 3d omposer->getPackage();.$config.=
24c00 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 6f 70 74 69 6d .$composer->getConfig();..$optim
24c20 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a ize.=.$input->getOption('optimiz
24c40 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 e').||.$config->get('optimize-au
24c60 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e toloader');.$authoritative.=.$in
24c80 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 put->getOption('classmap-authori
24ca0 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d tative').||.$config->get('classm
24cc0 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 ap-authoritative');.$apcu.=.$inp
24ce0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 ut->getOption('apcu').||.$config
24d00 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 69 66 20 28 24 ->get('apcu-autoloader');..if.($
24d20 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d authoritative).{.$this->getIO()-
24d40 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 >writeError('<info>Generating.op
24d60 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 20 28 61 75 74 68 6f 72 69 74 timized.autoload.files.(authorit
24d80 61 74 69 76 65 29 3c 2f 69 6e 66 6f 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 ative)</info>',.false);.}.elseif
24da0 20 28 24 6f 70 74 69 6d 69 7a 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 .($optimize).{.$this->getIO()->w
24dc0 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 riteError('<info>Generating.opti
24de0 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 2c 20 66 61 mized.autoload.files</info>',.fa
24e00 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 lse);.}.else.{.$this->getIO()->w
24e20 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 74 6f riteError('<info>Generating.auto
24e40 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 load.files</info>',.false);.}..$
24e60 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f generator.=.$composer->getAutolo
24e80 61 64 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 adGenerator();.$generator->setDe
24ea0 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 vMode(!$input->getOption('no-dev
24ec0 27 29 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 '));.$generator->setClassMapAuth
24ee0 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 3b 0a 24 67 65 6e 65 oritative($authoritative);.$gene
24f00 72 61 74 6f 72 2d 3e 73 65 74 41 70 63 75 28 24 61 70 63 75 29 3b 0a 24 67 65 6e 65 72 61 74 6f rator->setApcu($apcu);.$generato
24f20 72 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 r->setRunScripts(!$input->getOpt
24f40 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 3b 0a 24 6e 75 6d 62 65 72 4f 66 43 6c 61 ion('no-scripts'));.$numberOfCla
24f60 73 73 65 73 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 64 75 6d 70 28 24 63 6f 6e 66 69 67 2c sses.=.$generator->dump($config,
24f80 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 61 .$localRepo,.$package,.$installa
24fa0 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 6f 70 74 69 6d 69 tionManager,.'composer',.$optimi
24fc0 7a 65 29 3b 0a 0a 69 66 20 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 74 68 69 ze);..if.($authoritative).{.$thi
24fe0 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 s->getIO()->overwriteError('<inf
25000 6f 3e 47 65 6e 65 72 61 74 65 64 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 o>Generated.optimized.autoload.f
25020 69 6c 65 73 20 28 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 iles.(authoritative).containing.
25040 27 2e 20 24 6e 75 6d 62 65 72 4f 66 43 6c 61 73 73 65 73 20 2e 27 20 63 6c 61 73 73 65 73 3c 2f '..$numberOfClasses..'.classes</
25060 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 74 69 6d 69 7a 65 29 20 7b 0a info>');.}.elseif.($optimize).{.
25080 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 $this->getIO()->overwriteError('
250a0 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 65 64 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f <info>Generated.optimized.autolo
250c0 61 64 20 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 27 2e 20 24 6e 75 6d 62 65 72 4f 66 ad.files.containing.'..$numberOf
250e0 43 6c 61 73 73 65 73 20 2e 27 20 63 6c 61 73 73 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 Classes..'.classes</info>');.}.e
25100 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 6f 76 65 72 77 72 69 74 65 45 lse.{.$this->getIO()->overwriteE
25120 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 rror('<info>Generated.autoload.f
25140 69 6c 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 27 2e 20 24 6e 75 6d 62 65 72 4f 66 43 6c 61 73 iles.containing.'..$numberOfClas
25160 73 65 73 20 2e 27 20 63 6c 61 73 73 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 3c ses..'.classes</info>');.}.}.}.<
25180 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
251a0 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 er\Command;..use.Symfony\Compone
251c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
251e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
25200 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\InputOption;.use.Symfony\Co
25220 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
25240 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f erface;.use.Symfony\Component\Co
25260 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 0a 0a 0a 0a 63 nsole\Input\InputArgument;.....c
25280 6c 61 73 73 20 45 78 65 63 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d lass.ExecCommand.extends.BaseCom
252a0 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 mand.{.protected.function.config
252c0 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 65 78 65 63 27 29 0a ure().{.$this.->setName('exec').
252e0 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 45 78 65 63 75 74 65 73 20 61 20 76 65 6e ->setDescription('Executes.a.ven
25300 64 6f 72 65 64 20 62 69 6e 61 72 79 2f 73 63 72 69 70 74 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 dored.binary/script.').->setDefi
25320 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c nition(array(.new.InputOption('l
25340 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ist',.'l',.InputOption::VALUE_NO
25360 4e 45 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 2c NE),.new.InputArgument('binary',
25380 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 62 .InputArgument::OPTIONAL,.'The.b
253a0 69 6e 61 72 79 20 74 6f 20 72 75 6e 2c 20 65 2e 67 2e 20 70 68 70 75 6e 69 74 27 29 2c 0a 6e 65 inary.to.run,.e.g..phpunit'),.ne
253c0 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 0a 27 61 72 67 73 27 2c 0a 49 6e 70 75 74 41 72 w.InputArgument(.'args',.InputAr
253e0 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 gument::IS_ARRAY.|.InputArgument
25400 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 0a 27 41 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 ::OPTIONAL,.'Arguments.to.pass.t
25420 6f 20 74 68 65 20 62 69 6e 61 72 79 2e 20 55 73 65 20 3c 69 6e 66 6f 3e 2d 2d 3c 2f 69 6e 66 6f o.the.binary..Use.<info>--</info
25440 3e 20 74 6f 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 20 61 72 67 75 >.to.separate.from.composer.argu
25460 6d 65 6e 74 73 27 0a 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 45 ments'.),.)).->setHelp(.<<<EOT.E
25480 78 65 63 75 74 65 73 20 61 20 76 65 6e 64 6f 72 65 64 20 62 69 6e 61 72 79 2f 73 63 72 69 70 74 xecutes.a.vendored.binary/script
254a0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 ...................Read.more.at.
254c0 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 https://getcomposer.org/doc/03-c
254e0 6c 69 2e 6d 64 23 65 78 65 63 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 li.md#exec.EOT.).;.}..protected.
25500 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 function.execute(InputInterface.
25520 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 $input,.OutputInterface.$output)
25540 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 .{.$composer.=.$this->getCompose
25560 72 28 29 3b 0a 24 62 69 6e 44 69 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e r();.$binDir.=.$composer->getCon
25580 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 3b 0a 69 66 20 28 24 69 6e 70 75 fig()->get('bin-dir');.if.($inpu
255a0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d t->getOption('list').||.!$input-
255c0 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 29 29 20 7b 0a 24 62 69 6e 73 20 >getArgument('binary')).{.$bins.
255e0 3d 20 67 6c 6f 62 28 24 62 69 6e 44 69 72 20 2e 20 27 2f 2a 27 29 3b 0a 24 62 69 6e 73 20 3d 20 =.glob($binDir...'/*');.$bins.=.
25600 61 72 72 61 79 5f 6d 65 72 67 65 28 24 62 69 6e 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e array_merge($bins,.array_map(fun
25620 63 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 24 65 20 28 6c 6f 63 61 6c 29 22 ction.($e).{.return."$e.(local)"
25640 3b 0a 7d 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 ;.},.$composer->getPackage()->ge
25660 74 42 69 6e 61 72 69 65 73 28 29 29 29 3b 0a 0a 69 66 20 28 21 24 62 69 6e 73 29 20 7b 0a 74 68 tBinaries()));..if.(!$bins).{.th
25680 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 62 69 row.new.\RuntimeException("No.bi
256a0 6e 61 72 69 65 73 20 66 6f 75 6e 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 naries.found.in.composer.json.or
256c0 20 69 6e 20 62 69 6e 2d 64 69 72 20 28 24 62 69 6e 44 69 72 29 22 29 3b 0a 7d 0a 0a 24 74 68 69 .in.bin-dir.($binDir)");.}..$thi
256e0 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 63 6f 6d 6d 65 s->getIO()->write(.<<<EOT.<comme
25700 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 62 69 6e 61 72 69 65 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e nt>Available.binaries:</comment>
25720 0a 45 4f 54 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 73 20 61 73 20 24 62 69 6e 29 .EOT.);..foreach.($bins.as.$bin)
25740 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 70 72 65 76 69 6f 75 73 42 69 6e 29 20 26 26 20 .{...if.(isset($previousBin).&&.
25760 24 62 69 6e 20 3d 3d 3d 20 24 70 72 65 76 69 6f 75 73 42 69 6e 2e 27 2e 62 61 74 27 29 20 7b 0a $bin.===.$previousBin.'.bat').{.
25780 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 72 65 76 69 6f 75 73 42 69 6e 20 3d 20 24 62 69 6e continue;.}..$previousBin.=.$bin
257a0 3b 0a 24 62 69 6e 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 24 74 68 69 73 2d 3e ;.$bin.=.basename($bin);.$this->
257c0 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 2d 20 24 getIO()->write(.<<<EOT.<info>-.$
257e0 62 69 6e 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d bin</info>.EOT.);.}..return.0;.}
25800 0a 0a 24 62 69 6e 61 72 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 ..$binary.=.$input->getArgument(
25820 27 62 69 6e 61 72 79 27 29 3b 0a 0a 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 24 63 6f 6d 70 6f 'binary');..$dispatcher.=.$compo
25840 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 3b 0a 24 64 69 73 70 ser->getEventDispatcher();.$disp
25860 61 74 63 68 65 72 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 27 5f 5f 65 78 65 63 5f 63 6f 6d 6d atcher->addListener('__exec_comm
25880 61 6e 64 27 2c 20 24 62 69 6e 61 72 79 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 and',.$binary);.if.($output->get
258a0 56 65 72 62 6f 73 69 74 79 28 29 20 3d 3d 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a Verbosity().===.OutputInterface:
258c0 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 :VERBOSITY_NORMAL).{.$output->se
258e0 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 tVerbosity(OutputInterface::VERB
25900 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 61 74 63 OSITY_QUIET);.}..return.$dispatc
25920 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 27 5f 5f 65 78 65 63 5f 63 6f 6d 6d her->dispatchScript('__exec_comm
25940 61 6e 64 27 2c 20 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 and',.true,.$input->getArgument(
25960 27 61 72 67 73 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 'args'));.}.}.<?php............n
25980 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 amespace.Composer\Command;..use.
259a0 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 Composer\Factory;.use.Composer\U
259c0 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 til\Filesystem;.use.Symfony\Comp
259e0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
25a00 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
25a20 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
25a40 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e ny\Component\Console\Input\Strin
25a60 67 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f gInput;.use.Symfony\Component\Co
25a80 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a nsole\Output\OutputInterface;...
25aa0 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 ..class.GlobalCommand.extends.Ba
25ac0 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 seCommand.{.protected.function.c
25ae0 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 67 6c onfigure().{.$this.->setName('gl
25b00 6f 62 61 6c 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 41 6c 6c 6f 77 73 20 obal').->setDescription('Allows.
25b20 72 75 6e 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 running.commands.in.the.global.c
25b40 6f 6d 70 6f 73 65 72 20 64 69 72 20 28 24 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 29 2e 27 29 0a omposer.dir.($COMPOSER_HOME).').
25b60 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 ->setDefinition(array(.new.Input
25b80 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 2d 6e 61 6d 65 27 2c 20 49 6e 70 75 74 41 72 Argument('command-name',.InputAr
25ba0 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 gument::REQUIRED,.''),.new.Input
25bc0 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a Argument('args',.InputArgument::
25be0 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e IS_ARRAY.|.InputArgument::OPTION
25c00 41 4c 2c 20 27 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 55 73 AL,.''),.)).->setHelp(.<<<EOT.Us
25c20 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 73 20 61 20 77 72 61 70 70 65 72 20 74 6f 20 72 e.this.command.as.a.wrapper.to.r
25c40 75 6e 20 6f 74 68 65 72 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 73 0a 77 69 74 68 69 un.other.Composer.commands.withi
25c60 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 74 65 78 74 20 6f 66 20 43 4f 4d 50 4f 53 45 52 n.the.global.context.of.COMPOSER
25c80 5f 48 4f 4d 45 2e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 69 6e 73 74 _HOME...You.can.use.this.to.inst
25ca0 61 6c 6c 20 43 4c 49 20 75 74 69 6c 69 74 69 65 73 20 67 6c 6f 62 61 6c 6c 79 2c 20 61 6c 6c 20 all.CLI.utilities.globally,.all.
25cc0 79 6f 75 20 6e 65 65 64 0a 69 73 20 74 6f 20 61 64 64 20 74 68 65 20 43 4f 4d 50 4f 53 45 52 5f you.need.is.to.add.the.COMPOSER_
25ce0 48 4f 4d 45 2f 76 65 6e 64 6f 72 2f 62 69 6e 20 64 69 72 20 74 6f 20 79 6f 75 72 20 50 41 54 48 HOME/vendor/bin.dir.to.your.PATH
25d00 20 65 6e 76 20 76 61 72 2e 0a 0a 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 20 69 73 20 63 3a 5c 55 .env.var...COMPOSER_HOME.is.c:\U
25d20 73 65 72 73 5c 3c 75 73 65 72 3e 5c 41 70 70 44 61 74 61 5c 52 6f 61 6d 69 6e 67 5c 43 6f 6d 70 sers\<user>\AppData\Roaming\Comp
25d40 6f 73 65 72 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 61 6e 64 20 2f 68 6f 6d 65 2f 3c 75 73 65 72 3e oser.on.Windows.and./home/<user>
25d60 2f 2e 63 6f 6d 70 6f 73 65 72 20 6f 6e 20 75 6e 69 78 20 73 79 73 74 65 6d 73 2e 0a 0a 49 66 20 /.composer.on.unix.systems...If.
25d80 79 6f 75 72 20 73 79 73 74 65 6d 20 75 73 65 73 20 66 72 65 65 64 65 73 6b 74 6f 70 2e 6f 72 67 your.system.uses.freedesktop.org
25da0 20 73 74 61 6e 64 61 72 64 73 2c 20 74 68 65 6e 20 69 74 20 77 69 6c 6c 20 66 69 72 73 74 20 63 .standards,.then.it.will.first.c
25dc0 68 65 63 6b 0a 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 20 6f 72 20 64 65 66 61 75 6c 74 20 heck.XDG_CONFIG_HOME.or.default.
25de0 74 6f 20 2f 68 6f 6d 65 2f 3c 75 73 65 72 3e 2f 2e 63 6f 6e 66 69 67 2f 63 6f 6d 70 6f 73 65 72 to./home/<user>/.config/composer
25e00 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 70 61 74 68 20 6d 61 79 20 76 61 72 79 20 64 65 70 65 6e ..Note:.This.path.may.vary.depen
25e20 64 69 6e 67 20 6f 6e 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 73 20 74 6f 20 62 69 6e 2d 64 69 ding.on.customizations.to.bin-di
25e40 72 20 69 6e 0a 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 74 68 65 20 65 6e 76 69 72 6f r.in.composer.json.or.the.enviro
25e60 6e 6d 65 6e 74 61 6c 20 76 61 72 69 61 62 6c 65 20 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 5f 44 49 nmental.variable.COMPOSER_BIN_DI
25e80 52 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 R...Read.more.at.https://getcomp
25ea0 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 67 6c 6f 62 61 6c 0a 45 4f oser.org/doc/03-cli.md#global.EO
25ec0 54 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 T.).;.}..public.function.run(Inp
25ee0 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
25f00 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 74 6f 6b 65 6e 73 20 3d 20 70 72 65 67 5f ace.$output).{...$tokens.=.preg_
25f20 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 72 69 6e split('{\s+}',.$input->__toStrin
25f40 67 28 29 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 g());.$args.=.array();.foreach.(
25f60 24 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 $tokens.as.$token).{.if.($token.
25f80 26 26 20 24 74 6f 6b 65 6e 5b 30 5d 20 21 3d 3d 20 27 2d 27 29 20 7b 0a 24 61 72 67 73 5b 5d 20 &&.$token[0].!==.'-').{.$args[].
25fa0 3d 20 24 74 6f 6b 65 6e 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 72 67 73 29 20 3e 3d 20 32 29 =.$token;.if.(count($args).>=.2)
25fc0 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 61 72 .{.break;.}.}.}....if.(count($ar
25fe0 67 73 29 20 3c 20 32 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 gs).<.2).{.return.parent::run($i
26000 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 46 nput,.$output);.}....$config.=.F
26020 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 68 6f 6d 65 20 3d 20 actory::createConfig();.$home.=.
26040 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 $config->get('home');..if.(!is_d
26060 69 72 28 24 68 6f 6d 65 29 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 ir($home)).{.$fs.=.new.Filesyste
26080 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 m();.$fs->ensureDirectoryExists(
260a0 24 68 6f 6d 65 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 68 6f 6d 65 29 29 20 7b 0a 74 68 $home);.if.(!is_dir($home)).{.th
260c0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 row.new.\RuntimeException('Could
260e0 20 6e 6f 74 20 63 72 65 61 74 65 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 27 29 3b 0a 7d 0a .not.create.home.directory');.}.
26100 7d 0a 0a 74 72 79 20 7b 0a 63 68 64 69 72 28 24 68 6f 6d 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 }..try.{.chdir($home);.}.catch.(
26120 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 \Exception.$e).{.throw.new.\Runt
26140 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 73 77 69 74 63 68 20 74 imeException('Could.not.switch.t
26160 6f 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 20 22 27 2e 24 68 6f 6d 65 2e 27 22 27 2c 20 30 o.home.directory."'.$home.'"',.0
26180 2c 20 24 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 ,.$e);.}.$this->getIO()->writeEr
261a0 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 68 61 6e 67 65 64 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 ror('<info>Changed.current.direc
261c0 74 6f 72 79 20 74 6f 20 27 2e 24 68 6f 6d 65 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 tory.to.'.$home.'</info>');....$
261e0 69 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 70 72 65 67 5f 72 65 70 input.=.new.StringInput(preg_rep
26200 6c 61 63 65 28 27 7b 5c 62 67 28 3f 3a 6c 28 3f 3a 6f 28 3f 3a 62 28 3f 3a 61 28 3f 3a 6c 29 3f lace('{\bg(?:l(?:o(?:b(?:a(?:l)?
26220 29 3f 29 3f 29 3f 29 3f 5c 62 7d 27 2c 20 27 27 2c 20 24 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 )?)?)?)?\b}',.'',.$input->__toSt
26240 72 69 6e 67 28 29 2c 20 31 29 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 ring(),.1));.$this->getApplicati
26260 6f 6e 28 29 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 on()->resetComposer();..return.$
26280 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 75 6e 28 24 69 6e 70 this->getApplication()->run($inp
262a0 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ut,.$output);.}.....public.funct
262c0 69 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 ion.isProxyCommand().{.return.tr
262e0 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ue;.}.}.<?php............namespa
26300 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ce.Composer\Command;..use.Compos
26320 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 er\Package\CompletePackageInterf
26340 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 ace;.use.Composer\Repository\Rep
26360 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ositoryInterface;.use.Composer\R
26380 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 epository\ArrayRepository;.use.C
263a0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 omposer\Repository\RepositoryFac
263c0 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d tory;.use.Composer\Util\Platform
263e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 ;.use.Composer\Util\ProcessExecu
26400 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f tor;.use.Symfony\Component\Conso
26420 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 le\Input\InputArgument;.use.Symf
26440 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
26460 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
26480 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 onsole\Input\InputInterface;.use
264a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
264c0 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 6f 6d t\OutputInterface;.....class.Hom
264e0 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a eCommand.extends.BaseCommand.{..
26500 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 ..protected.function.configure()
26520 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 62 72 6f 77 73 65 27 29 0a 2d 3e 73 .{.$this.->setName('browse').->s
26540 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 68 6f 6d 65 27 29 29 0a 2d 3e 73 65 74 44 65 etAliases(array('home')).->setDe
26560 73 63 72 69 70 74 69 6f 6e 28 27 4f 70 65 6e 73 20 74 68 65 20 70 61 63 6b 61 67 65 5c 27 73 20 scription('Opens.the.package\'s.
26580 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f 72 20 68 6f 6d 65 70 61 67 65 20 69 6e 20 79 6f repository.URL.or.homepage.in.yo
265a0 75 72 20 62 72 6f 77 73 65 72 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 ur.browser.').->setDefinition(ar
265c0 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 ray(.new.InputArgument('packages
265e0 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 2c 20 27 50 61 63 ',.InputArgument::IS_ARRAY,.'Pac
26600 6b 61 67 65 28 73 29 20 74 6f 20 62 72 6f 77 73 65 20 74 6f 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 kage(s).to.browse.to.'),.new.Inp
26620 75 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 48 27 2c 20 49 6e 70 75 74 4f utOption('homepage',.'H',.InputO
26640 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 65 6e 20 74 68 65 20 68 6f 6d ption::VALUE_NONE,.'Open.the.hom
26660 65 70 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 epage.instead.of.the.repository.
26680 55 52 4c 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 2c 20 URL.'),.new.InputOption('show',.
266a0 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 's',.InputOption::VALUE_NONE,.'O
266c0 6e 6c 79 20 73 68 6f 77 20 74 68 65 20 68 6f 6d 65 70 61 67 65 20 6f 72 20 72 65 70 6f 73 69 74 nly.show.the.homepage.or.reposit
266e0 6f 72 79 20 55 52 4c 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 ory.URL.'),.)).->setHelp(.<<<EOT
26700 0a 54 68 65 20 68 6f 6d 65 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 6e 73 20 6f 72 20 73 68 6f 77 73 .The.home.command.opens.or.shows
26720 20 61 20 70 61 63 6b 61 67 65 27 73 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f 72 0a 68 .a.package's.repository.URL.or.h
26740 6f 6d 65 70 61 67 65 20 69 6e 20 79 6f 75 72 20 64 65 66 61 75 6c 74 20 62 72 6f 77 73 65 72 2e omepage.in.your.default.browser.
26760 0a 0a 54 6f 20 6f 70 65 6e 20 74 68 65 20 68 6f 6d 65 70 61 67 65 20 62 79 20 64 65 66 61 75 6c ..To.open.the.homepage.by.defaul
26780 74 2c 20 75 73 65 20 2d 48 20 6f 72 20 2d 2d 68 6f 6d 65 70 61 67 65 2e 0a 54 6f 20 73 68 6f 77 t,.use.-H.or.--homepage..To.show
267a0 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 70 65 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 .instead.of.open.the.repository.
267c0 6f 72 20 68 6f 6d 65 70 61 67 65 20 55 52 4c 2c 20 75 73 65 20 2d 73 20 6f 72 20 2d 2d 73 68 6f or.homepage.URL,.use.-s.or.--sho
267e0 77 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 w...Read.more.at.https://getcomp
26800 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 62 72 6f 77 73 65 2d 68 6f oser.org/doc/03-cli.md#browse-ho
26820 6d 65 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 me.EOT.);.}.....protected.functi
26840 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 on.execute(InputInterface.$input
26860 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 72 65 ,.OutputInterface.$output).{.$re
26880 70 6f 73 20 3d 20 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 52 65 70 6f 73 28 29 3b 0a pos.=.$this->initializeRepos();.
268a0 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 72 65 74 75 72 6e 20 3d 20 $io.=.$this->getIO();.$return.=.
268c0 30 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 0;..$packages.=.$input->getArgum
268e0 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 ent('packages');.if.(!$packages)
26900 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 70 61 63 6b 61 67 65 20 73 .{.$io->writeError('No.package.s
26920 70 65 63 69 66 69 65 64 2c 20 6f 70 65 6e 69 6e 67 20 68 6f 6d 65 70 61 67 65 20 66 6f 72 20 74 pecified,.opening.homepage.for.t
26940 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 he.root.package');.$packages.=.a
26960 72 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 rray($this->getComposer()->getPa
26980 63 6b 61 67 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 ckage()->getName());.}..foreach.
269a0 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 68 ($packages.as.$packageName).{.$h
269c0 61 6e 64 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 20 3d andled.=.false;.$packageExists.=
269e0 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f .false;.foreach.($repos.as.$repo
26a00 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 ).{.foreach.($repo->findPackages
26a20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 ($packageName).as.$package).{.$p
26a40 61 63 6b 61 67 65 45 78 69 73 74 73 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 ackageExists.=.true;.if.($packag
26a60 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 e.instanceof.CompletePackageInte
26a80 72 66 61 63 65 20 26 26 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 50 61 63 6b 61 67 65 28 24 70 rface.&&.$this->handlePackage($p
26aa0 61 63 6b 61 67 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 ackage,.$input->getOption('homep
26ac0 61 67 65 27 29 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 29 age'),.$input->getOption('show')
26ae0 29 29 20 7b 0a 24 68 61 6e 64 6c 65 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 20 32 3b 0a 7d )).{.$handled.=.true;.break.2;.}
26b00 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 29 20 7b 0a 24 72 65 .}.}..if.(!$packageExists).{.$re
26b20 74 75 72 6e 20 3d 20 31 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e turn.=.1;.$io->writeError('<warn
26b40 69 6e 67 3e 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 20 6e 6f 74 ing>Package.'.$packageName.'.not
26b60 20 66 6f 75 6e 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 68 61 6e .found</warning>');.}..if.(!$han
26b80 64 6c 65 64 29 20 7b 0a 24 72 65 74 75 72 6e 20 3d 20 31 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 dled).{.$return.=.1;.$io->writeE
26ba0 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 rror('<warning>'.($input->getOpt
26bc0 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 29 20 3f 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 ion('homepage').?.'Invalid.or.mi
26be0 73 73 69 6e 67 20 68 6f 6d 65 70 61 67 65 27 20 3a 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 ssing.homepage'.:.'Invalid.or.mi
26c00 73 73 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 27 29 2e 27 20 66 6f 72 20 27 2e 24 ssing.repository.URL').'.for.'.$
26c20 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a packageName.'</warning>');.}.}..
26c40 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 return.$return;.}..private.funct
26c60 69 6f 6e 20 68 61 6e 64 6c 65 50 61 63 6b 61 67 65 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 ion.handlePackage(CompletePackag
26c80 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 73 68 6f 77 48 6f 6d 65 70 61 eInterface.$package,.$showHomepa
26ca0 67 65 2c 20 24 73 68 6f 77 4f 6e 6c 79 29 0a 7b 0a 24 73 75 70 70 6f 72 74 20 3d 20 24 70 61 63 ge,.$showOnly).{.$support.=.$pac
26cc0 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 24 75 72 6c 20 3d 20 69 73 73 65 74 kage->getSupport();.$url.=.isset
26ce0 28 24 73 75 70 70 6f 72 74 5b 27 73 6f 75 72 63 65 27 5d 29 20 3f 20 24 73 75 70 70 6f 72 74 5b ($support['source']).?.$support[
26d00 27 73 6f 75 72 63 65 27 5d 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 'source'].:.$package->getSourceU
26d20 72 6c 28 29 3b 0a 69 66 20 28 21 24 75 72 6c 20 7c 7c 20 24 73 68 6f 77 48 6f 6d 65 70 61 67 65 rl();.if.(!$url.||.$showHomepage
26d40 29 20 7b 0a 24 75 72 6c 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 48 6f 6d 65 70 61 67 65 ).{.$url.=.$package->getHomepage
26d60 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 72 6c 20 7c 7c 20 21 66 69 6c 74 65 72 5f 76 61 72 28 ();.}..if.(!$url.||.!filter_var(
26d80 24 75 72 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 29 29 20 7b 0a 72 65 $url,.FILTER_VALIDATE_URL)).{.re
26da0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 4f 6e 6c 79 29 20 7b 0a turn.false;.}..if.($showOnly).{.
26dc0 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c $this->getIO()->write(sprintf('<
26de0 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 75 72 6c 29 29 3b 0a 7d 20 65 6c 73 65 20 info>%s</info>',.$url));.}.else.
26e00 7b 0a 24 74 68 69 73 2d 3e 6f 70 65 6e 42 72 6f 77 73 65 72 28 24 75 72 6c 29 3b 0a 7d 0a 0a 72 {.$this->openBrowser($url);.}..r
26e20 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 eturn.true;.}.......private.func
26e40 74 69 6f 6e 20 6f 70 65 6e 42 72 6f 77 73 65 72 28 24 75 72 6c 29 0a 7b 0a 24 75 72 6c 20 3d 20 tion.openBrowser($url).{.$url.=.
26e60 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a 0a ProcessExecutor::escape($url);..
26e80 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 $process.=.new.ProcessExecutor($
26ea0 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 this->getIO());.if.(Platform::is
26ec0 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 Windows()).{.return.$process->ex
26ee0 65 63 75 74 65 28 27 73 74 61 72 74 20 22 77 65 62 22 20 65 78 70 6c 6f 72 65 72 20 22 27 20 2e ecute('start."web".explorer."'..
26f00 20 24 75 72 6c 20 2e 20 27 22 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 6c 69 6e 75 78 .$url...'"',.$output);.}..$linux
26f20 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 77 68 69 63 68 20 78 64 67 2d .=.$process->execute('which.xdg-
26f40 6f 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 6f 73 78 20 3d 20 24 70 72 6f 63 65 73 73 open',.$output);.$osx.=.$process
26f60 2d 3e 65 78 65 63 75 74 65 28 27 77 68 69 63 68 20 6f 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 ->execute('which.open',.$output)
26f80 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 6e 75 78 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d ;..if.(0.===.$linux).{.$process-
26fa0 3e 65 78 65 63 75 74 65 28 27 78 64 67 2d 6f 70 65 6e 20 27 20 2e 20 24 75 72 6c 2c 20 24 6f 75 >execute('xdg-open.'...$url,.$ou
26fc0 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 24 6f 73 78 29 20 7b 0a 24 tput);.}.elseif.(0.===.$osx).{.$
26fe0 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 6f 70 65 6e 20 27 20 2e 20 24 75 72 6c 2c process->execute('open.'...$url,
27000 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f .$output);.}.else.{.$this->getIO
27020 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 73 75 69 74 61 62 6c 65 20 62 72 6f 77 ()->writeError('No.suitable.brow
27040 73 65 72 20 6f 70 65 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 66 6f 75 6e 64 2c 20 6f 70 65 6e 20 ser.opening.command.found,.open.
27060 79 6f 75 72 73 65 6c 66 3a 20 27 20 2e 20 24 75 72 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a yourself:.'...$url);.}.}........
27080 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 52 65 70 6f .private.function.initializeRepo
270a0 73 28 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 s().{.$composer.=.$this->getComp
270c0 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 72 oser(false);..if.($composer).{.r
270e0 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 41 72 72 eturn.array_merge(.array(new.Arr
27100 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 ayRepository(array($composer->ge
27120 74 50 61 63 6b 61 67 65 28 29 29 29 29 2c 20 0a 20 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 tPackage()))),...array($composer
27140 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 ->getRepositoryManager()->getLoc
27160 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 29 2c 20 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 alRepository()),...$composer->ge
27180 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 tRepositoryManager()->getReposit
271a0 6f 72 69 65 73 28 29 20 0a 20 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 52 65 70 6f 73 69 74 6f 72 ories()...);.}..return.Repositor
271c0 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 yFactory::defaultRepos($this->ge
271e0 74 49 4f 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d tIO());.}.}.<?php............nam
27200 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f espace.Composer\Command;..use.Co
27220 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a mposer\DependencyResolver\Pool;.
27240 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 use.Composer\Factory;.use.Compos
27260 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 er\Json\JsonFile;.use.Composer\P
27280 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ackage\BasePackage;.use.Composer
272a0 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a \Package\Version\VersionParser;.
272c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 use.Composer\Package\Version\Ver
272e0 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 sionSelector;.use.Composer\Repos
27300 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 itory\CompositeRepository;.use.C
27320 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 omposer\Repository\PlatformRepos
27340 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 itory;.use.Composer\Repository\R
27360 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 epositoryFactory;.use.Composer\U
27380 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 til\ProcessExecutor;.use.Symfony
273a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e \Component\Console\Input\ArrayIn
273c0 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f put;.use.Symfony\Component\Conso
273e0 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d le\Input\InputInterface;.use.Sym
27400 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
27420 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c utOption;.use.Symfony\Component\
27440 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
27460 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
27480 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ecutableFinder;.use.Symfony\Comp
274a0 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 onent\Process\Process;......clas
274c0 73 20 49 6e 69 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e s.InitCommand.extends.BaseComman
274e0 64 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 3b 0a 0a 0a 70 72 69 76 61 74 65 d.{..protected.$repos;...private
27500 20 24 67 69 74 43 6f 6e 66 69 67 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 73 3b 0a 0a .$gitConfig;...private.$pools;..
27520 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 ...protected.function.configure(
27540 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 69 74 27 29 0a 2d 3e 73 65 ).{.$this.->setName('init').->se
27560 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f tDescription('Creates.a.basic.co
27580 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 6e 20 63 75 72 72 65 6e 74 20 64 69 72 65 mposer.json.file.in.current.dire
275a0 63 74 6f 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a ctory.').->setDefinition(array(.
275c0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e new.InputOption('name',.null,.In
275e0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4e 61 6d 65 putOption::VALUE_REQUIRED,.'Name
27600 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 .of.the.package'),.new.InputOpti
27620 6f 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 on('description',.null,.InputOpt
27640 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 44 65 73 63 72 69 70 74 69 6f ion::VALUE_REQUIRED,.'Descriptio
27660 6e 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 n.of.package'),.new.InputOption(
27680 27 61 75 74 68 6f 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 'author',.null,.InputOption::VAL
276a0 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 41 75 74 68 6f 72 20 6e 61 6d 65 20 6f 66 20 70 61 63 UE_REQUIRED,.'Author.name.of.pac
276c0 6b 61 67 65 27 29 2c 0a 0a 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 kage'),...new.InputOption('type'
276e0 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f ,.null,.InputOption::VALUE_OPTIO
27700 4e 41 4c 2c 20 27 54 79 70 65 20 6f 66 20 70 61 63 6b 61 67 65 20 28 65 2e 67 2e 20 6c 69 62 72 NAL,.'Type.of.package.(e.g..libr
27720 61 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 74 61 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f ary,.project,.metapackage,.compo
27740 73 65 72 2d 70 6c 75 67 69 6e 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 ser-plugin)'),.new.InputOption('
27760 68 6f 6d 65 70 61 67 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 homepage',.null,.InputOption::VA
27780 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 48 6f 6d 65 70 61 67 65 20 6f 66 20 70 61 63 6b 61 LUE_REQUIRED,.'Homepage.of.packa
277a0 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 27 2c ge'),.new.InputOption('require',
277c0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 .null,.InputOption::VALUE_IS_ARR
277e0 41 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 AY.|.InputOption::VALUE_REQUIRED
27800 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 77 69 74 68 20 61 20 76 65 72 ,.'Package.to.require.with.a.ver
27820 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e sion.constraint,.e.g..foo/bar:1.
27840 30 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 0.0.or.foo/bar=1.0.0.or."foo/bar
27860 20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 .1.0.0"'),.new.InputOption('requ
27880 69 72 65 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ire-dev',.null,.InputOption::VAL
278a0 55 45 5f 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 UE_IS_ARRAY.|.InputOption::VALUE
278c0 5f 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 66 _REQUIRED,.'Package.to.require.f
278e0 6f 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 63 6f or.development.with.a.version.co
27900 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 nstraint,.e.g..foo/bar:1.0.0.or.
27920 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 foo/bar=1.0.0.or."foo/bar.1.0.0"
27940 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c '),.new.InputOption('stability',
27960 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 .'s',.InputOption::VALUE_REQUIRE
27980 44 2c 20 27 4d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 28 65 6d 70 74 79 20 6f 72 20 D,.'Minimum.stability.(empty.or.
279a0 6f 6e 65 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 one.of:.'.implode(',.',.array_ke
279c0 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 ys(BasePackage::$stabilities)).'
279e0 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 )'),.new.InputOption('license',.
27a00 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 'l',.InputOption::VALUE_REQUIRED
27a20 2c 20 27 4c 69 63 65 6e 73 65 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 ,.'License.of.package'),.new.Inp
27a40 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 utOption('repository',.null,.Inp
27a60 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 6e 70 75 74 utOption::VALUE_REQUIRED.|.Input
27a80 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 41 64 64 20 63 75 73 Option::VALUE_IS_ARRAY,.'Add.cus
27aa0 74 6f 6d 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 65 69 74 68 65 72 20 62 79 20 55 52 4c 20 tom.repositories,.either.by.URL.
27ac0 6f 72 20 75 73 69 6e 67 20 4a 53 4f 4e 20 61 72 72 61 79 73 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 or.using.JSON.arrays'),.)).->set
27ae0 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 69 74 3c 2f 69 6e 66 Help(.<<<EOT.The.<info>init</inf
27b00 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f 6d 70 6f o>.command.creates.a.basic.compo
27b20 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 0a 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 ser.json.file.in.the.current.dir
27b40 65 63 74 6f 72 79 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 ectory...<info>php.composer.phar
27b60 20 69 6e 69 74 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 .init</info>..Read.more.at.https
27b80 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 ://getcomposer.org/doc/03-cli.md
27ba0 23 69 6e 69 74 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 #init.EOT.).;.}.....protected.fu
27bc0 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 nction.execute(InputInterface.$i
27be0 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b nput,.OutputInterface.$output).{
27c00 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 24 77 68 69 74 65 6c 69 .$io.=.$this->getIO();..$whiteli
27c20 73 74 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 st.=.array('name',.'description'
27c40 2c 20 27 61 75 74 68 6f 72 27 2c 20 27 74 79 70 65 27 2c 20 27 68 6f 6d 65 70 61 67 65 27 2c 20 ,.'author',.'type',.'homepage',.
27c60 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 20 27 73 74 61 62 69 'require',.'require-dev',.'stabi
27c80 6c 69 74 79 27 2c 20 27 6c 69 63 65 6e 73 65 27 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 lity',.'license');.$options.=.ar
27ca0 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 24 ray_filter(array_intersect_key($
27cc0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 2c 20 61 72 72 61 79 5f 66 6c 69 70 28 input->getOptions(),.array_flip(
27ce0 24 77 68 69 74 65 6c 69 73 74 29 29 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f $whitelist)));..if.(isset($optio
27d00 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f ns['author'])).{.$options['autho
27d20 72 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 75 74 68 6f 72 73 28 24 6f 70 74 rs'].=.$this->formatAuthors($opt
27d40 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b ions['author']);.unset($options[
27d60 27 61 75 74 68 6f 72 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 'author']);.}..$repositories.=.$
27d80 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a input->getOption('repository');.
27da0 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 if.($repositories).{.$config.=.F
27dc0 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 66 6f 72 65 61 actory::createConfig($io);.forea
27de0 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 6f ch.($repositories.as.$repo).{.$o
27e00 70 74 69 6f 6e 73 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 5d 20 3d 20 52 65 70 6f 73 ptions['repositories'][].=.Repos
27e20 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 69 6e 67 28 24 itoryFactory::configFromString($
27e40 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 io,.$config,.$repo);.}.}..if.(is
27e60 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 24 6f set($options['stability'])).{.$o
27e80 70 74 69 6f 6e 73 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3d 20 24 6f ptions['minimum-stability'].=.$o
27ea0 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 ptions['stability'];.unset($opti
27ec0 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 ons['stability']);.}..$options['
27ee0 72 65 71 75 69 72 65 27 5d 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 require'].=.isset($options['requ
27f00 69 72 65 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e ire']).?.$this->formatRequiremen
27f20 74 73 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 3a 20 6e 65 77 20 5c 73 ts($options['require']).:.new.\s
27f40 74 64 43 6c 61 73 73 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 6f 70 74 69 6f 6e tdClass;.if.(array().===.$option
27f60 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 s['require']).{.$options['requir
27f80 65 27 5d 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 e'].=.new.\stdClass;.}..if.(isse
27fa0 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 29 20 7b 0a 24 6f t($options['require-dev'])).{.$o
27fc0 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 ptions['require-dev'].=.$this->f
27fe0 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 ormatRequirements($options['requ
28000 69 72 65 2d 64 65 76 27 5d 29 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 6f 70 74 ire-dev']);.if.(array().===.$opt
28020 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b ions['require-dev']).{.$options[
28040 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 'require-dev'].=.new.\stdClass;.
28060 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 46 61 63 74 6f 72 }.}..$file.=.new.JsonFile(Factor
28080 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a 24 6a 73 6f 6e 20 3d 20 24 y::getComposerFile());.$json.=.$
280a0 66 69 6c 65 2d 3e 65 6e 63 6f 64 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 69 6e file->encode($options);..if.($in
280c0 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 put->isInteractive()).{.$io->wri
280e0 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 24 6a 73 6f 6e 2c 20 27 27 29 29 3b 0a 69 teError(array('',.$json,.''));.i
28100 66 20 28 21 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 44 6f 20 79 6f 75 f.(!$io->askConfirmation('Do.you
28120 20 63 6f 6e 66 69 72 6d 20 67 65 6e 65 72 61 74 69 6f 6e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 .confirm.generation.[<comment>ye
28140 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 s</comment>]?.',.true)).{.$io->w
28160 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 6f 6d 6d 61 6e 64 20 61 62 6f 72 74 65 riteError('<error>Command.aborte
28180 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 0a 0a 24 66 69 d</error>');..return.1;.}.}..$fi
281a0 6c 65 2d 3e 77 72 69 74 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 le->write($options);..if.($input
281c0 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 69 73 5f 64 69 72 28 27 2e 67 69 ->isInteractive().&&.is_dir('.gi
281e0 74 27 29 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e t')).{.$ignoreFile.=.realpath('.
28200 67 69 74 69 67 6e 6f 72 65 27 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 69 67 6e gitignore');..if.(false.===.$ign
28220 6f 72 65 46 69 6c 65 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d 20 72 65 61 6c 70 61 74 oreFile).{.$ignoreFile.=.realpat
28240 68 28 27 2e 27 29 20 2e 20 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 3b 0a 7d 0a 0a 69 66 20 28 21 h('.')...'/.gitignore';.}..if.(!
28260 24 74 68 69 73 2d 3e 68 61 73 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 $this->hasVendorIgnore($ignoreFi
28280 6c 65 29 29 20 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 le)).{.$question.=.'Would.you.li
282a0 6b 65 20 74 68 65 20 3c 69 6e 66 6f 3e 76 65 6e 64 6f 72 3c 2f 69 6e 66 6f 3e 20 64 69 72 65 63 ke.the.<info>vendor</info>.direc
282c0 74 6f 72 79 20 61 64 64 65 64 20 74 6f 20 79 6f 75 72 20 3c 69 6e 66 6f 3e 2e 67 69 74 69 67 6e tory.added.to.your.<info>.gitign
282e0 6f 72 65 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e ore</info>.[<comment>yes</commen
28300 74 3e 5d 3f 20 27 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f t>]?.';..if.($io->askConfirmatio
28320 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 n($question,.true)).{.$this->add
28340 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d VendorIgnore($ignoreFile);.}.}.}
28360 0a 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f ..$question.=.'Would.you.like.to
28380 20 69 6e 73 74 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6e 6f 77 20 5b 3c 63 6f 6d 6d .install.dependencies.now.[<comm
283a0 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 69 66 20 28 24 69 6e 70 75 ent>yes</comment>]?.';.if.($inpu
283c0 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 t->isInteractive().&&.$this->has
283e0 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f 70 74 69 6f 6e 73 29 20 26 26 20 24 69 6f 2d 3e 61 Dependencies($options).&&.$io->a
28400 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 skConfirmation($question,.true))
28420 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f .{.$this->installDependencies($o
28440 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 utput);.}.}.....protected.functi
28460 6f 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 on.interact(InputInterface.$inpu
28480 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 67 t,.OutputInterface.$output).{.$g
284a0 69 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 47 69 74 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 it.=.$this->getGitConfig();.$io.
284c0 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 =.$this->getIO();.$formatter.=.$
284e0 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 66 6f 72 6d 61 this->getHelperSet()->get('forma
28500 74 74 65 72 27 29 3b 0a 0a 0a 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 69 6e 70 75 tter');....$repositories.=.$inpu
28520 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 69 66 20 28 t->getOption('repository');.if.(
28540 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f $repositories).{.$config.=.Facto
28560 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 24 72 65 70 6f 73 20 3d 20 ry::createConfig($io);.$repos.=.
28580 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 66 array(new.PlatformRepository);.f
285a0 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 oreach.($repositories.as.$repo).
285c0 7b 0a 24 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a {.$repos[].=.RepositoryFactory::
285e0 66 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b fromString($io,.$config,.$repo);
28600 0a 7d 0a 24 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a .}.$repos[].=.RepositoryFactory:
28620 3a 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 61 72 72 61 79 28 :createRepo($io,.$config,.array(
28640 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 .'type'.=>.'composer',.'url'.=>.
28660 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 0a 29 29 'https://repo.packagist.org',.))
28680 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 ;..$this->repos.=.new.CompositeR
286a0 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 75 6e 73 65 74 28 24 72 65 70 6f 73 2c epository($repos);.unset($repos,
286c0 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 7d 0a 0a 24 69 6f .$config,.$repositories);.}..$io
286e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 24 66 6f 72 6d 61 74 74 ->writeError(array(.'',.$formatt
28700 65 72 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 27 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 er->formatBlock('Welcome.to.the.
28720 43 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 67 65 6e 65 72 61 74 6f 72 27 2c 20 27 62 67 3d Composer.config.generator',.'bg=
28740 62 6c 75 65 3b 66 67 3d 77 68 69 74 65 27 2c 20 74 72 75 65 29 2c 0a 27 27 2c 0a 29 29 3b 0a 0a blue;fg=white',.true),.'',.));..
28760 0a 20 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 27 54 68 ..$io->writeError(array(.'',.'Th
28780 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 is.command.will.guide.you.throug
287a0 68 20 63 72 65 61 74 69 6e 67 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 63 6f h.creating.your.composer.json.co
287c0 6e 66 69 67 2e 27 2c 0a 27 27 2c 0a 29 29 3b 0a 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 nfig.',.'',.));..$cwd.=.realpath
287e0 28 22 2e 22 29 3b 0a 0a 69 66 20 28 21 24 6e 61 6d 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 (".");..if.(!$name.=.$input->get
28800 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 62 61 73 65 6e 61 Option('name')).{.$name.=.basena
28820 6d 65 28 24 63 77 64 29 3b 0a 24 6e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 me($cwd);.$name.=.preg_replace('
28840 7b 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 5b 41 2d 5a 5d {(?:([a-z])([A-Z])|([A-Z])([A-Z]
28860 5b 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c 20 24 6e 61 6d [a-z]))}',.'\\1\\3-\\2\\4',.$nam
28880 65 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 69 e);.$name.=.strtolower($name);.i
288a0 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 f.(!empty($_SERVER['COMPOSER_DEF
288c0 41 55 4c 54 5f 56 45 4e 44 4f 52 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 AULT_VENDOR'])).{.$name.=.$_SERV
288e0 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 56 45 4e 44 4f 52 27 5d 20 2e 20 ER['COMPOSER_DEFAULT_VENDOR']...
28900 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 69 '/'...$name;.}.elseif.(isset($gi
28920 74 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 67 69 t['github.user'])).{.$name.=.$gi
28940 74 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a t['github.user']...'/'...$name;.
28960 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 4e }.elseif.(!empty($_SERVER['USERN
28980 41 4d 45 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 AME'])).{.$name.=.$_SERVER['USER
289a0 4e 41 4d 45 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 NAME']...'/'...$name;.}.elseif.(
289c0 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d 29 29 20 7b 0a 24 6e 61 6d !empty($_SERVER['USER'])).{.$nam
289e0 65 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 e.=.$_SERVER['USER']...'/'...$na
28a00 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 me;.}.elseif.(get_current_user()
28a20 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 20 2e ).{.$name.=.get_current_user()..
28a40 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6e 61 6d 65 20 2e .'/'...$name;.}.else.{...$name..
28a60 3d 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f =.'/'...$name;.}.$name.=.strtolo
28a80 77 65 72 28 24 6e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d wer($name);.}.else.{.if.(!preg_m
28aa0 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d atch('{^[a-z0-9_.-]+/[a-z0-9_.-]
28ac0 2b 24 7d 44 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 +$}D',.$name)).{.throw.new.\Inva
28ae0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 54 68 65 20 70 61 63 6b 61 lidArgumentException(.'The.packa
28b00 67 65 20 6e 61 6d 65 20 27 2e 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 ge.name.'.$name.'.is.invalid,.it
28b20 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 77 65 72 63 61 73 65 20 61 6e 64 20 68 61 76 65 20 61 20 .should.be.lowercase.and.have.a.
28b40 76 65 6e 64 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 2c 20 61 6e vendor.name,.a.forward.slash,.an
28b60 64 20 61 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 6d 61 74 63 68 69 6e 67 3a 20 5b 61 2d 7a d.a.package.name,.matching:.[a-z
28b80 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 0-9_.-]+/[a-z0-9_.-]+'.);.}.}..$
28ba0 6e 61 6d 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 50 61 63 name.=.$io->askAndValidate(.'Pac
28bc0 6b 61 67 65 20 6e 61 6d 65 20 28 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 29 20 5b 3c 63 6f kage.name.(<vendor>/<name>).[<co
28be0 6d 6d 65 6e 74 3e 27 2e 24 6e 61 6d 65 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 66 mment>'.$name.'</comment>]:.',.f
28c00 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 6e 61 6d 65 29 20 7b 0a 69 unction.($value).use.($name).{.i
28c20 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 f.(null.===.$value).{.return.$na
28c40 6d 65 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d me;.}..if.(!preg_match('{^[a-z0-
28c60 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 24 7d 44 27 2c 20 24 76 61 6c 75 65 29 9_.-]+/[a-z0-9_.-]+$}D',.$value)
28c80 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
28ca0 63 65 70 74 69 6f 6e 28 0a 27 54 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 76 61 ception(.'The.package.name.'.$va
28cc0 6c 75 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6c lue.'.is.invalid,.it.should.be.l
28ce0 6f 77 65 72 63 61 73 65 20 61 6e 64 20 68 61 76 65 20 61 20 76 65 6e 64 6f 72 20 6e 61 6d 65 2c owercase.and.have.a.vendor.name,
28d00 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 2c 20 61 6e 64 20 61 20 70 61 63 6b 61 67 65 20 .a.forward.slash,.and.a.package.
28d20 6e 61 6d 65 2c 20 6d 61 74 63 68 69 6e 67 3a 20 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d name,.matching:.[a-z0-9_.-]+/[a-
28d40 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a z0-9_.-]+'.);.}..return.$value;.
28d60 7d 2c 0a 6e 75 6c 6c 2c 0a 24 6e 61 6d 65 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 },.null,.$name.);.$input->setOpt
28d80 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f ion('name',.$name);..$descriptio
28da0 6e 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 73 63 72 69 70 74 69 n.=.$input->getOption('descripti
28dc0 6f 6e 27 29 20 3f 3a 20 66 61 6c 73 65 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 69 on').?:.false;.$description.=.$i
28de0 6f 2d 3e 61 73 6b 28 0a 27 44 65 73 63 72 69 70 74 69 6f 6e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 o->ask(.'Description.[<comment>'
28e00 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 .$description.'</comment>]:.',.$
28e20 64 65 73 63 72 69 70 74 69 6f 6e 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e description.);.$input->setOption
28e40 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 0a ('description',.$description);..
28e60 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 68 6f 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 if.(null.===.$author.=.$input->g
28e80 65 74 4f 70 74 69 6f 6e 28 27 61 75 74 68 6f 72 27 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 etOption('author')).{.if.(!empty
28ea0 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 41 55 54 48 ($_SERVER['COMPOSER_DEFAULT_AUTH
28ec0 4f 52 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 45 52 OR'])).{.$author_name.=.$_SERVER
28ee0 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 41 55 54 48 4f 52 27 5d 3b 0a 7d 20 65 ['COMPOSER_DEFAULT_AUTHOR'];.}.e
28f00 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 2e 6e 61 6d 65 27 5d 29 29 lseif.(isset($git['user.name']))
28f20 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d 20 24 67 69 74 5b 27 75 73 65 72 2e 6e 61 6d .{.$author_name.=.$git['user.nam
28f40 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d e'];.}..if.(!empty($_SERVER['COM
28f60 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f POSER_DEFAULT_EMAIL'])).{.$autho
28f80 72 5f 65 6d 61 69 6c 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 r_email.=.$_SERVER['COMPOSER_DEF
28fa0 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 AULT_EMAIL'];.}.elseif.(isset($g
28fc0 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 65 6d 61 it['user.email'])).{.$author_ema
28fe0 69 6c 20 3d 20 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d 3b 0a 7d 0a 0a 69 66 20 28 il.=.$git['user.email'];.}..if.(
29000 69 73 73 65 74 28 24 61 75 74 68 6f 72 5f 6e 61 6d 65 29 20 26 26 20 69 73 73 65 74 28 24 61 75 isset($author_name).&&.isset($au
29020 74 68 6f 72 5f 65 6d 61 69 6c 29 29 20 7b 0a 24 61 75 74 68 6f 72 20 3d 20 73 70 72 69 6e 74 66 thor_email)).{.$author.=.sprintf
29040 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5f 6e 61 6d 65 2c 20 24 61 75 74 68 6f ('%s.<%s>',.$author_name,.$autho
29060 72 5f 65 6d 61 69 6c 29 3b 0a 7d 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 61 r_email);.}.}..$self.=.$this;.$a
29080 75 74 68 6f 72 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 41 75 uthor.=.$io->askAndValidate(.'Au
290a0 74 68 6f 72 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 61 75 74 68 6f 72 2e 27 3c 2f 63 6f 6d 6d thor.[<comment>'.$author.'</comm
290c0 65 6e 74 3e 2c 20 6e 20 74 6f 20 73 6b 69 70 5d 3a 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 ent>,.n.to.skip]:.',.function.($
290e0 76 61 6c 75 65 29 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 61 75 74 68 6f 72 29 20 7b 0a 69 66 value).use.($self,.$author).{.if
29100 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 6e 27 20 7c 7c 20 24 76 61 6c 75 65 20 3d 3d 3d 20 27 .($value.===.'n'.||.$value.===.'
29120 6e 6f 27 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 24 76 61 6c 75 65 no').{.return;.}.$value.=.$value
29140 20 3f 3a 20 24 61 75 74 68 6f 72 3b 0a 24 61 75 74 68 6f 72 20 3d 20 24 73 65 6c 66 2d 3e 70 61 .?:.$author;.$author.=.$self->pa
29160 72 73 65 41 75 74 68 6f 72 53 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e rseAuthorString($value);..return
29180 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5b 27 6e 61 6d .sprintf('%s.<%s>',.$author['nam
291a0 65 27 5d 2c 20 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 2c 0a 6e 75 6c 6c 2c e'],.$author['email']);.},.null,
291c0 0a 24 61 75 74 68 6f 72 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 61 .$author.);.$input->setOption('a
291e0 75 74 68 6f 72 27 2c 20 24 61 75 74 68 6f 72 29 3b 0a 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 uthor',.$author);..$minimumStabi
29200 6c 69 74 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c lity.=.$input->getOption('stabil
29220 69 74 79 27 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 ity').?:.null;.$minimumStability
29240 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 4d 69 6e 69 6d 75 6d .=.$io->askAndValidate(.'Minimum
29260 20 53 74 61 62 69 6c 69 74 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6d 69 6e 69 6d 75 6d 53 .Stability.[<comment>'.$minimumS
29280 74 61 62 69 6c 69 74 79 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 66 75 6e 63 74 69 tability.'</comment>]:.',.functi
292a0 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 on.($value).use.($minimumStabili
292c0 74 79 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 ty).{.if.(null.===.$value).{.ret
292e0 75 72 6e 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 69 66 20 28 21 69 urn.$minimumStability;.}..if.(!i
29300 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 sset(BasePackage::$stabilities[$
29320 76 61 6c 75 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 value])).{.throw.new.\InvalidArg
29340 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 6c 69 64 20 6d 69 6e 69 6d 75 6d umentException(.'Invalid.minimum
29360 20 73 74 61 62 69 6c 69 74 79 20 22 27 2e 24 76 61 6c 75 65 2e 27 22 2e 20 4d 75 73 74 20 62 65 .stability."'.$value.'"..Must.be
29380 20 65 6d 70 74 79 20 6f 72 20 6f 6e 65 20 6f 66 3a 20 27 2e 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 .empty.or.one.of:.'..implode(',.
293a0 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 ',.array_keys(BasePackage::$stab
293c0 69 6c 69 74 69 65 73 29 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d ilities)).);.}..return.$value;.}
293e0 2c 0a 6e 75 6c 6c 2c 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 0a 29 3b 0a 24 69 6e ,.null,.$minimumStability.);.$in
29400 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 24 6d 69 6e put->setOption('stability',.$min
29420 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 74 79 70 65 20 3d 20 24 69 6e 70 75 74 2d imumStability);..$type.=.$input-
29440 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 29 20 3f 3a 20 66 61 6c 73 65 3b 0a 24 74 79 >getOption('type').?:.false;.$ty
29460 70 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 50 61 63 6b 61 67 65 20 54 79 70 65 20 28 65 2e pe.=.$io->ask(.'Package.Type.(e.
29480 67 2e 20 6c 69 62 72 61 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 74 61 70 61 63 6b 61 67 65 g..library,.project,.metapackage
294a0 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 29 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 ,.composer-plugin).[<comment>'.$
294c0 74 79 70 65 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 74 79 70 65 0a 29 3b 0a 24 type.'</comment>]:.',.$type.);.$
294e0 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 2c 20 24 74 79 70 65 29 3b input->setOption('type',.$type);
29500 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 20 3d 20 24 69 6e 70 75 74 ..if.(null.===.$license.=.$input
29520 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 29 29 20 7b 0a 69 66 20 28 21 65 ->getOption('license')).{.if.(!e
29540 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f mpty($_SERVER['COMPOSER_DEFAULT_
29560 4c 49 43 45 4e 53 45 27 5d 29 29 20 7b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 5f 53 45 52 56 45 LICENSE'])).{.$license.=.$_SERVE
29580 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 4c 49 43 45 4e 53 45 27 5d 3b 0a 7d R['COMPOSER_DEFAULT_LICENSE'];.}
295a0 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 4c 69 63 65 6e 73 .}..$license.=.$io->ask(.'Licens
295c0 65 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6c 69 63 65 6e 73 65 2e 27 3c 2f 63 6f 6d 6d 65 6e e.[<comment>'.$license.'</commen
295e0 74 3e 5d 3a 20 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f t>]:.',.$license.);.$input->setO
29600 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a 0a 24 69 6f ption('license',.$license);..$io
29620 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 27 44 65 66 69 6e 65 20 79 ->writeError(array('',.'Define.y
29640 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 2c 20 27 27 29 29 3b 0a 0a 0a 20 24 72 65 our.dependencies.',.''));....$re
29660 70 6f 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 3b 0a 24 70 72 65 66 65 72 pos.=.$this->getRepos();.$prefer
29680 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 redStability.=.$minimumStability
296a0 20 3f 3a 20 27 73 74 61 62 6c 65 27 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 70 .?:.'stable';.$phpVersion.=.$rep
296c0 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d 3e 67 65 74 os->findPackage('php',.'*')->get
296e0 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 PrettyVersion();..$question.=.'W
29700 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 64 65 70 ould.you.like.to.define.your.dep
29720 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 72 65 29 20 69 6e 74 65 72 61 63 74 69 76 65 6c endencies.(require).interactivel
29740 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 24 y.[<comment>yes</comment>]?.';.$
29760 72 65 71 75 69 72 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 require.=.$input->getOption('req
29780 75 69 72 65 27 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b uire');.$requirements.=.array();
297a0 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d .if.($require.||.$io->askConfirm
297c0 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 72 65 71 75 69 ation($question,.true)).{.$requi
297e0 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 rements.=.$this->determineRequir
29800 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 75 69 72 65 ements($input,.$output,.$require
29820 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 ,.$phpVersion,.$preferredStabili
29840 74 79 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 ty);.}.$input->setOption('requir
29860 65 27 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 0a 24 71 75 65 73 74 69 6f 6e 20 3d e',.$requirements);..$question.=
29880 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 .'Would.you.like.to.define.your.
298a0 64 65 76 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 72 65 2d 64 65 76 29 20 69 dev.dependencies.(require-dev).i
298c0 6e 74 65 72 61 63 74 69 76 65 6c 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d nteractively.[<comment>yes</comm
298e0 65 6e 74 3e 5d 3f 20 27 3b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d 20 24 69 6e 70 75 74 2d 3e ent>]?.';.$requireDev.=.$input->
29900 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 3b 0a 24 64 65 76 52 65 getOption('require-dev');.$devRe
29920 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 72 65 71 75 69 quirements.=.array();.if.($requi
29940 72 65 44 65 76 20 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 reDev.||.$io->askConfirmation($q
29960 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e uestion,.true)).{.$devRequiremen
29980 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 6d 65 6e 74 ts.=.$this->determineRequirement
299a0 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 75 69 72 65 44 65 76 2c 20 s($input,.$output,.$requireDev,.
299c0 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 $phpVersion,.$preferredStability
299e0 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d );.}.$input->setOption('require-
29a00 64 65 76 27 2c 20 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a dev',.$devRequirements);.}......
29a20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 68 6f 72 53 74 72 69 .public.function.parseAuthorStri
29a40 6e 67 28 24 61 75 74 68 6f 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e ng($author).{.if.(preg_match('/^
29a60 28 3f 50 3c 6e 61 6d 65 3e 5b 2d 20 2e 2c 5c 70 7b 4c 7d 5c 70 7b 4e 7d 5c 70 7b 4d 6e 7d 5c 27 (?P<name>[-..,\p{L}\p{N}\p{Mn}\'
29a80 e2 80 99 22 28 29 5d 2b 29 20 3c 28 3f 50 3c 65 6d 61 69 6c 3e 2e 2b 3f 29 3e 24 2f 75 27 2c 20 ..."()]+).<(?P<email>.+?)>$/u',.
29aa0 24 61 75 74 68 6f 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 $author,.$match)).{.if.($this->i
29ac0 73 56 61 6c 69 64 45 6d 61 69 6c 28 24 6d 61 74 63 68 5b 27 65 6d 61 69 6c 27 5d 29 29 20 7b 0a sValidEmail($match['email'])).{.
29ae0 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 74 72 69 6d 28 24 6d 61 return.array(.'name'.=>.trim($ma
29b00 74 63 68 5b 27 6e 61 6d 65 27 5d 29 2c 0a 27 65 6d 61 69 6c 27 20 3d 3e 20 24 6d 61 74 63 68 5b tch['name']),.'email'.=>.$match[
29b20 27 65 6d 61 69 6c 27 5d 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 'email'],.);.}.}..throw.new.\Inv
29b40 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 6c 69 64 20 alidArgumentException(.'Invalid.
29b60 61 75 74 68 6f 72 20 73 74 72 69 6e 67 2e 20 20 4d 75 73 74 20 62 65 20 69 6e 20 74 68 65 20 66 author.string...Must.be.in.the.f
29b80 6f 72 6d 61 74 3a 20 27 2e 0a 27 4a 6f 68 6e 20 53 6d 69 74 68 20 3c 6a 6f 68 6e 40 65 78 61 6d ormat:.'..'John.Smith.<john@exam
29ba0 70 6c 65 2e 63 6f 6d 3e 27 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ple.com>'.);.}..protected.functi
29bc0 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 on.findPackages($name).{.return.
29be0 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 2d 3e 73 65 61 72 63 68 28 24 6e 61 6d 65 29 $this->getRepos()->search($name)
29c00 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 ;.}..protected.function.getRepos
29c20 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 70 6f 73 29 20 7b 0a 24 74 68 69 73 2d ().{.if.(!$this->repos).{.$this-
29c40 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 >repos.=.new.CompositeRepository
29c60 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d (array_merge(.array(new.Platform
29c80 52 65 70 6f 73 69 74 6f 72 79 29 2c 0a 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a Repository),.RepositoryFactory::
29ca0 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 0a 29 29 3b defaultRepos($this->getIO()).));
29cc0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 3b 0a 7d 0a 0a 70 72 6f 74 .}..return.$this->repos;.}..prot
29ce0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 6d ected.function.determineRequirem
29d00 65 6e 74 73 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 ents(InputInterface.$input,.Outp
29d20 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 75 69 72 65 73 20 3d utInterface.$output,.$requires.=
29d40 20 61 72 72 61 79 28 29 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 70 .array(),.$phpVersion.=.null,.$p
29d60 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 63 referredStability.=.'stable',.$c
29d80 68 65 63 6b 50 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 heckProvidedVersions.=.true).{.i
29da0 66 20 28 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 f.($requires).{.$requires.=.$thi
29dc0 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 s->normalizeRequirements($requir
29de0 65 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f 20 3d 20 24 74 es);.$result.=.array();.$io.=.$t
29e00 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 his->getIO();..foreach.($require
29e20 73 20 61 73 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 s.as.$requirement).{.if.(!isset(
29e40 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 0a 20 6c 69 $requirement['version'])).{...li
29e60 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e st($name,.$version).=.$this->fin
29e80 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 24 69 dBestVersionAndNameForPackage($i
29ea0 6e 70 75 74 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2c 20 24 70 68 70 nput,.$requirement['name'],.$php
29ec0 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 24 Version,.$preferredStability);.$
29ee0 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f requirement['version'].=.$versio
29f00 6e 3b 0a 0a 0a 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 6e 61 n;....$requirement['name'].=.$na
29f20 6d 65 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 me;..$io->writeError(sprintf(.'U
29f40 73 69 6e 67 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 66 6f 72 sing.version.<info>%s</info>.for
29f60 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 5b .<info>%s</info>',.$requirement[
29f80 27 76 65 72 73 69 6f 6e 27 5d 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 'version'],.$requirement['name']
29fa0 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 .));.}.else.{...list($name,.$ver
29fc0 73 69 6f 6e 29 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e sion).=.$this->findBestVersionAn
29fe0 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c 20 24 72 65 71 75 69 72 65 dNameForPackage($input,.$require
2a000 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 ment['name'],.$phpVersion,.$pref
2a020 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 2c 20 24 63 68 65 63 6b 50 72 6f 76 69 64 65 64 56 65 erredStability,.$checkProvidedVe
2a040 72 73 69 6f 6e 73 20 3f 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d rsions.?.$requirement['version']
2a060 20 3a 20 6e 75 6c 6c 2c 20 27 64 65 76 27 29 3b 0a 0a 0a 20 24 72 65 71 75 69 72 65 6d 65 6e 74 .:.null,.'dev');....$requirement
2a080 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d ['name'].=.$name;.}..$result[].=
2a0a0 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 2e 20 27 20 27 20 2e 20 24 72 .$requirement['name']...'.'...$r
2a0c0 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e equirement['version'];.}..return
2a0e0 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 .$result;.}..$versionParser.=.ne
2a100 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e w.VersionParser();.$io.=.$this->
2a120 67 65 74 49 4f 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 getIO();.while.(null.!==.$packag
2a140 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 53 65 61 72 63 68 20 66 6f 72 20 61 20 70 61 63 6b 61 e.=.$io->ask('Search.for.a.packa
2a160 67 65 3a 20 27 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 ge:.')).{.$matches.=.$this->find
2a180 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 Packages($package);..if.(count($
2a1a0 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 6e 75 6c 6c 3b 0a matches)).{.$exactMatch.=.null;.
2a1c0 24 63 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 $choices.=.array();.foreach.($ma
2a1e0 74 63 68 65 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 66 6f 75 6e 64 50 61 63 6b tches.as.$position.=>.$foundPack
2a200 61 67 65 29 20 7b 0a 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 27 27 3b 0a 69 66 20 28 69 73 73 65 age).{.$abandoned.=.'';.if.(isse
2a220 74 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b t($foundPackage['abandoned'])).{
2a240 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 .if.(is_string($foundPackage['ab
2a260 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 73 70 72 andoned'])).{.$replacement.=.spr
2a280 69 6e 74 66 28 27 55 73 65 20 25 73 20 69 6e 73 74 65 61 64 27 2c 20 24 66 6f 75 6e 64 50 61 63 intf('Use.%s.instead',.$foundPac
2a2a0 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 kage['abandoned']);.}.else.{.$re
2a2c0 70 6c 61 63 65 6d 65 6e 74 20 3d 20 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 77 61 73 20 placement.=.'No.replacement.was.
2a2e0 73 75 67 67 65 73 74 65 64 27 3b 0a 7d 0a 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 73 70 72 69 6e suggested';.}.$abandoned.=.sprin
2a300 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 41 62 61 6e 64 6f 6e 65 64 2e 20 25 73 2e 3c 2f 77 61 72 tf('<warning>Abandoned..%s.</war
2a320 6e 69 6e 67 3e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 63 68 6f 69 63 ning>',.$replacement);.}..$choic
2a340 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 35 73 3c 2f 69 6e 66 6f es[].=.sprintf('.<info>%5s</info
2a360 3e 20 25 73 20 25 73 27 2c 20 22 5b 24 70 6f 73 69 74 69 6f 6e 5d 22 2c 20 24 66 6f 75 6e 64 50 >.%s.%s',."[$position]",.$foundP
2a380 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 61 62 61 6e 64 6f 6e 65 64 29 3b 0a 69 66 20 ackage['name'],.$abandoned);.if.
2a3a0 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 20 3d 3d 3d 20 24 70 61 63 6b ($foundPackage['name'].===.$pack
2a3c0 61 67 65 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b age).{.$exactMatch.=.true;.break
2a3e0 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 78 61 63 74 4d 61 74 63 68 29 20 7b 0a 24 69 6f ;.}.}....if.(!$exactMatch).{.$io
2a400 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 73 70 72 69 6e 74 66 28 ->writeError(array(.'',.sprintf(
2a420 27 46 6f 75 6e 64 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 70 61 63 6b 61 67 65 73 20 'Found.<info>%s</info>.packages.
2a440 6d 61 74 63 68 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 63 6f 75 6e 74 matching.<info>%s</info>',.count
2a460 28 24 6d 61 74 63 68 65 73 29 2c 20 24 70 61 63 6b 61 67 65 29 2c 0a 27 27 2c 0a 29 29 3b 0a 0a ($matches),.$package),.'',.));..
2a480 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 6f 69 63 65 73 29 3b 0a 24 69 6f 2d 3e $io->writeError($choices);.$io->
2a4a0 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 writeError('');..$validator.=.fu
2a4c0 6e 63 74 69 6f 6e 20 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 75 73 65 20 28 24 6d 61 74 63 68 65 nction.($selection).use.($matche
2a4e0 73 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 s,.$versionParser).{.if.(''.===.
2a500 24 73 65 6c 65 63 74 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 $selection).{.return.false;.}..i
2a520 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 26 26 20 69 73 73 f.(is_numeric($selection).&&.iss
2a540 65 74 28 24 6d 61 74 63 68 65 73 5b 28 69 6e 74 29 20 24 73 65 6c 65 63 74 69 6f 6e 5d 29 29 20 et($matches[(int).$selection])).
2a560 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 28 69 6e 74 29 20 24 73 65 6c {.$package.=.$matches[(int).$sel
2a580 65 63 74 69 6f 6e 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 ection];..return.$package['name'
2a5a0 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 3f 50 3c 6e ];.}..if.(preg_match('{^\s*(?P<n
2a5c0 61 6d 65 3e 5b 5c 53 2f 5d 2b 29 28 3f 3a 5c 73 2b 28 3f 50 3c 76 65 72 73 69 6f 6e 3e 5c 53 2b ame>[\S/]+)(?:\s+(?P<version>\S+
2a5e0 29 29 3f 5c 73 2a 24 7d 27 2c 20 24 73 65 6c 65 63 74 69 6f 6e 2c 20 24 70 61 63 6b 61 67 65 4d ))?\s*$}',.$selection,.$packageM
2a600 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 4d 61 74 atches)).{.if.(isset($packageMat
2a620 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 0a 0a 0a 20 24 76 65 72 73 69 6f 6e ches['version'])).{.....$version
2a640 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 70 61 63 6b 61 67 Parser->parseConstraints($packag
2a660 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 eMatches['version']);..return.$p
2a680 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 2e 27 20 27 2e 24 70 61 63 6b 61 ackageMatches['name'].'.'.$packa
2a6a0 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 geMatches['version'];.}....retur
2a6c0 6e 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 74 68 n.$packageMatches['name'];.}..th
2a6e0 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 20 61 20 76 61 6c 69 64 20 row.new.\Exception('Not.a.valid.
2a700 73 65 6c 65 63 74 69 6f 6e 27 29 3b 0a 7d 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 6f 2d selection');.};..$package.=.$io-
2a720 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 20 70 61 63 6b 61 67 65 20 >askAndValidate(.'Enter.package.
2a740 23 20 74 6f 20 61 64 64 2c 20 6f 72 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 70 61 63 6b 61 67 #.to.add,.or.the.complete.packag
2a760 65 20 6e 61 6d 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 6c 69 73 74 65 64 3a 20 27 2c 0a 24 e.name.if.it.is.not.listed:.',.$
2a780 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c 0a 66 61 6c 73 65 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 validator,.3,.false.);.}....if.(
2a7a0 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 false.!==.$package.&&.false.===.
2a7c0 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2c 20 27 20 27 29 29 20 7b 0a 24 76 61 6c 69 64 61 strpos($package,.'.')).{.$valida
2a7e0 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 69 6e 70 75 74 29 20 7b 0a 24 69 6e 70 75 74 tor.=.function.($input).{.$input
2a800 20 3d 20 74 72 69 6d 28 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 20 .=.trim($input);..return.$input.
2a820 3f 3a 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 69 6f 2d ?:.false;.};..$constraint.=.$io-
2a840 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 20 74 68 65 20 76 65 72 73 >askAndValidate(.'Enter.the.vers
2a860 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 72 65 71 75 69 72 65 20 28 6f 72 20 6c 65 ion.constraint.to.require.(or.le
2a880 61 76 65 20 62 6c 61 6e 6b 20 74 6f 20 75 73 65 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 ave.blank.to.use.the.latest.vers
2a8a0 69 6f 6e 29 3a 20 27 2c 0a 24 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c 0a 66 61 6c 73 65 0a 29 3b ion):.',.$validator,.3,.false.);
2a8c0 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 6c ..if.(false.===.$constraint).{.l
2a8e0 69 73 74 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 3d 20 24 74 68 69 73 2d ist($name,.$constraint).=.$this-
2a900 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 >findBestVersionAndNameForPackag
2a920 65 28 24 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c e($input,.$package,.$phpVersion,
2a940 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 .$preferredStability);..$io->wri
2a960 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 76 65 72 73 69 6f 6e 20 teError(sprintf(.'Using.version.
2a980 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 66 6f 72 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e <info>%s</info>.for.<info>%s</in
2a9a0 66 6f 3e 27 2c 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a fo>',.$constraint,.$package.));.
2a9c0 7d 0a 0a 24 70 61 63 6b 61 67 65 20 2e 3d 20 27 20 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a }..$package..=.'.'.$constraint;.
2a9e0 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 72 65 }..if.(false.!==.$package).{.$re
2aa00 71 75 69 72 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 quires[].=.$package;.}.}.}..retu
2aa20 72 6e 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 rn.$requires;.}..protected.funct
2aa40 69 6f 6e 20 66 6f 72 6d 61 74 41 75 74 68 6f 72 73 28 24 61 75 74 68 6f 72 29 0a 7b 0a 72 65 74 ion.formatAuthors($author).{.ret
2aa60 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 68 6f 72 53 74 72 69 urn.array($this->parseAuthorStri
2aa80 6e 67 28 24 61 75 74 68 6f 72 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ng($author));.}..protected.funct
2aaa0 69 6f 6e 20 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 61 72 72 61 79 20 24 72 65 ion.formatRequirements(array.$re
2aac0 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 quirements).{.$requires.=.array(
2aae0 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c );.$requirements.=.$this->normal
2ab00 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a izeRequirements($requirements);.
2ab20 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 73 20 24 72 65 71 75 69 foreach.($requirements.as.$requi
2ab40 72 65 6d 65 6e 74 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 65 6d 65 6e 74 rement).{.$requires[$requirement
2ab60 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f ['name']].=.$requirement['versio
2ab80 6e 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 70 72 6f n'];.}..return.$requires;.}..pro
2aba0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 43 6f 6e 66 69 67 28 29 0a 7b tected.function.getGitConfig().{
2abc0 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 29 20 .if.(null.!==.$this->gitConfig).
2abe0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 24 66 {.return.$this->gitConfig;.}..$f
2ac00 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a inder.=.new.ExecutableFinder();.
2ac20 24 67 69 74 42 69 6e 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 67 69 74 27 29 3b 0a $gitBin.=.$finder->find('git');.
2ac40 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f ...if.(method_exists('Symfony\Co
2ac60 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 27 2c 20 27 66 72 6f 6d 53 mponent\Process\Process',.'fromS
2ac80 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a 24 63 6d 64 20 3d 20 6e 65 77 20 hellCommandline')).{.$cmd.=.new.
2aca0 50 72 6f 63 65 73 73 28 61 72 72 61 79 28 24 67 69 74 42 69 6e 2c 20 27 63 6f 6e 66 69 67 27 2c Process(array($gitBin,.'config',
2acc0 20 27 2d 6c 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6d 64 20 3d 20 6e 65 77 20 50 72 6f .'-l'));.}.else.{.$cmd.=.new.Pro
2ace0 63 65 73 73 28 73 70 72 69 6e 74 66 28 27 25 73 20 63 6f 6e 66 69 67 20 2d 6c 27 2c 20 50 72 6f cess(sprintf('%s.config.-l',.Pro
2ad00 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 67 69 74 42 69 6e 29 29 29 3b cessExecutor::escape($gitBin)));
2ad20 0a 7d 0a 24 63 6d 64 2d 3e 72 75 6e 28 29 3b 0a 0a 69 66 20 28 24 63 6d 64 2d 3e 69 73 53 75 63 .}.$cmd->run();..if.($cmd->isSuc
2ad40 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 20 3d 20 cessful()).{.$this->gitConfig.=.
2ad60 61 72 72 61 79 28 29 3b 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 5e 28 5b 5e 3d 5d array();.preg_match_all('{^([^=]
2ad80 2b 29 3d 28 2e 2a 29 24 7d 6d 27 2c 20 24 63 6d 64 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 2c 20 +)=(.*)$}m',.$cmd->getOutput(),.
2ada0 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 52 29 3b 0a 66 6f 72 65 61 $matches,.PREG_SET_ORDER);.forea
2adc0 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 24 74 68 69 73 2d ch.($matches.as.$match).{.$this-
2ade0 3e 67 69 74 43 6f 6e 66 69 67 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 >gitConfig[$match[1]].=.$match[2
2ae00 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 3b 0a 7d ];.}..return.$this->gitConfig;.}
2ae20 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 ..return.$this->gitConfig.=.arra
2ae40 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 y();.}..................protecte
2ae60 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f d.function.hasVendorIgnore($igno
2ae80 72 65 46 69 6c 65 2c 20 24 76 65 6e 64 6f 72 20 3d 20 27 76 65 6e 64 6f 72 27 29 0a 7b 0a 69 66 reFile,.$vendor.=.'vendor').{.if
2aea0 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 72 .(!file_exists($ignoreFile)).{.r
2aec0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 70 72 69 6e eturn.false;.}..$pattern.=.sprin
2aee0 74 66 28 27 7b 5e 2f 3f 25 73 28 2f 5c 2a 3f 29 3f 24 7d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 tf('{^/?%s(/\*?)?$}',.preg_quote
2af00 28 24 76 65 6e 64 6f 72 29 29 3b 0a 0a 24 6c 69 6e 65 73 20 3d 20 66 69 6c 65 28 24 69 67 6e 6f ($vendor));..$lines.=.file($igno
2af20 72 65 46 69 6c 65 2c 20 46 49 4c 45 5f 49 47 4e 4f 52 45 5f 4e 45 57 5f 4c 49 4e 45 53 29 3b 0a reFile,.FILE_IGNORE_NEW_LINES);.
2af40 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 foreach.($lines.as.$line).{.if.(
2af60 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 6c 69 6e 65 29 29 20 7b 0a 72 preg_match($pattern,.$line)).{.r
2af80 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d eturn.true;.}.}..return.false;.}
2afa0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 52 65 ..protected.function.normalizeRe
2afc0 71 75 69 72 65 6d 65 6e 74 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a quirements(array.$requirements).
2afe0 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b {.$parser.=.new.VersionParser();
2b000 0a 0a 72 65 74 75 72 6e 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 ..return.$parser->parseNameVersi
2b020 6f 6e 50 61 69 72 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 onPairs($requirements);.}..prote
2b040 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 cted.function.addVendorIgnore($i
2b060 67 6e 6f 72 65 46 69 6c 65 2c 20 24 76 65 6e 64 6f 72 20 3d 20 27 2f 76 65 6e 64 6f 72 2f 27 29 gnoreFile,.$vendor.=.'/vendor/')
2b080 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 22 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 .{.$contents.=."";.if.(file_exis
2b0a0 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 ts($ignoreFile)).{.$contents.=.f
2b0c0 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 3b 0a 0a ile_get_contents($ignoreFile);..
2b0e0 69 66 20 28 22 5c 6e 22 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 if.("\n".!==.substr($contents,.0
2b100 2c 20 2d 31 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a 7d 0a ,.-1)).{.$contents..=."\n";.}.}.
2b120 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 .file_put_contents($ignoreFile,.
2b140 24 63 6f 6e 74 65 6e 74 73 20 2e 20 24 76 65 6e 64 6f 72 2e 20 22 5c 6e 22 29 3b 0a 7d 0a 0a 70 $contents...$vendor.."\n");.}..p
2b160 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 45 6d 61 69 6c 28 24 rotected.function.isValidEmail($
2b180 65 6d 61 69 6c 29 0a 7b 0a 0a 20 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 email).{...if.(!function_exists(
2b1a0 27 66 69 6c 74 65 72 5f 76 61 72 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 'filter_var')).{.return.true;.}.
2b1c0 0a 0a 20 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 33 29 20 7b ...if.(PHP_VERSION_ID.<.50303).{
2b1e0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d .return.true;.}..return.false.!=
2b200 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6d 61 69 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 =.filter_var($email,.FILTER_VALI
2b220 44 41 54 45 5f 45 4d 41 49 4c 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e DATE_EMAIL);.}..private.function
2b240 20 67 65 74 50 6f 6f 6c 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 .getPool(InputInterface.$input,.
2b260 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6b 65 79 $minimumStability.=.null).{.$key
2b280 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3f 3a 20 27 64 65 66 61 75 6c 74 .=.$minimumStability.?:.'default
2b2a0 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 ';..if.(!isset($this->pools[$key
2b2c0 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 5d 20 3d 20 24 70 6f 6f 6c ])).{.$this->pools[$key].=.$pool
2b2e0 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3f 3a .=.new.Pool($minimumStability.?:
2b300 20 24 74 68 69 73 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 .$this->getMinimumStability($inp
2b320 75 74 29 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 ut));.$pool->addRepository($this
2b340 2d 3e 67 65 74 52 65 70 6f 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ->getRepos());.}..return.$this->
2b360 70 6f 6f 6c 73 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e pools[$key];.}..private.function
2b380 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 49 6e 70 75 74 49 6e 74 65 72 66 .getMinimumStability(InputInterf
2b3a0 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 ace.$input).{.if.($input->hasOpt
2b3c0 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 ion('stability')).{.return.$inpu
2b3e0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 20 3f 3a 20 27 73 74 t->getOption('stability').?:.'st
2b400 61 62 6c 65 27 3b 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f able';.}..$file.=.Factory::getCo
2b420 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 mposerFile();.if.(is_file($file)
2b440 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 61 72 72 .&&.is_readable($file).&&.is_arr
2b460 61 79 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f ay($composer.=.json_decode(file_
2b480 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 29 2c 20 74 72 75 65 29 29 29 20 7b 0a 69 get_contents($file),.true))).{.i
2b4a0 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 73 65 72 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 f.(!empty($composer['minimum-sta
2b4c0 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 5b 27 6d bility'])).{.return.$composer['m
2b4e0 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 inimum-stability'];.}.}..return.
2b500 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 'stable';.}................priva
2b520 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 te.function.findBestVersionAndNa
2b540 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 meForPackage(InputInterface.$inp
2b560 75 74 2c 20 24 6e 61 6d 65 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 ut,.$name,.$phpVersion,.$preferr
2b580 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 72 65 71 75 69 72 65 edStability.=.'stable',.$require
2b5a0 64 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 dVersion.=.null,.$minimumStabili
2b5c0 74 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 20 ty.=.null).{...$versionSelector.
2b5e0 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 =.new.VersionSelector($this->get
2b600 50 6f 6f 6c 28 24 69 6e 70 75 74 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 29 Pool($input,.$minimumStability))
2b620 3b 0a 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 24 69 6e 70 75 74 2d 3e ;.$ignorePlatformReqs.=.$input->
2b640 68 61 73 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 hasOption('ignore-platform-reqs'
2b660 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 ).&&.$input->getOption('ignore-p
2b680 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 3b 0a 0a 0a 20 69 66 20 28 24 69 67 6e 6f 72 65 50 6c latform-reqs');....if.($ignorePl
2b6a0 61 74 66 6f 72 6d 52 65 71 73 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c atformReqs).{.$phpVersion.=.null
2b6c0 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 ;.}..$package.=.$versionSelector
2b6e0 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 ->findBestCandidate($name,.$requ
2b700 69 72 65 64 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 iredVersion,.$phpVersion,.$prefe
2b720 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 rredStability);..if.(!$package).
2b740 7b 0a 0a 20 0a 20 69 66 20 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 {.....if.($ignorePlatformReqs.&&
2b760 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a .preg_match(PlatformRepository::
2b780 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d 65 29 29 20 PLATFORM_PACKAGE_REGEX,.$name)).
2b7a0 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 {.return.array($name,.$requiredV
2b7c0 65 72 73 69 6f 6e 20 3f 3a 20 27 2a 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 70 68 70 56 65 72 ersion.?:.'*');.}....if.($phpVer
2b7e0 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 sion.&&.$versionSelector->findBe
2b800 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 stCandidate($name,.$requiredVers
2b820 69 6f 6e 2c 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 29 ion,.null,.$preferredStability))
2b840 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 .{.throw.new.\InvalidArgumentExc
2b860 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 20 61 74 20 76 eption(sprintf(.'Package.%s.at.v
2b880 65 72 73 69 6f 6e 20 25 73 20 68 61 73 20 61 20 50 48 50 20 72 65 71 75 69 72 65 6d 65 6e 74 20 ersion.%s.has.a.PHP.requirement.
2b8a0 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 incompatible.with.your.PHP.versi
2b8c0 6f 6e 20 28 25 73 29 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f on.(%s)',.$name,.$requiredVersio
2b8e0 6e 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 72 65 71 75 n,.$phpVersion.));.}...if.($requ
2b900 69 72 65 64 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d iredVersion.&&.$versionSelector-
2b920 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 2c 20 >findBestCandidate($name,.null,.
2b940 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 $phpVersion,.$preferredStability
2b960 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 )).{.throw.new.\InvalidArgumentE
2b980 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e xception(sprintf(.'Could.not.fin
2b9a0 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 20 76 65 72 73 69 6f 6e 20 6d 61 74 63 68 69 d.package.%s.in.a.version.matchi
2b9c0 6e 67 20 25 73 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 0a ng.%s',.$name,.$requiredVersion.
2b9e0 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 70 68 70 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 ));.}...if.($phpVersion.&&.$vers
2ba00 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 ionSelector->findBestCandidate($
2ba20 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d name)).{.throw.new.\InvalidArgum
2ba40 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 entException(sprintf(.'Could.not
2ba60 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 .find.package.%s.in.any.version.
2ba80 6d 61 74 63 68 69 6e 67 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 25 73 29 27 2c matching.your.PHP.version.(%s)',
2baa0 0a 24 6e 61 6d 65 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 73 69 .$name,.$phpVersion.));.}....$si
2bac0 6d 69 6c 61 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 69 6d 69 6c 61 72 28 24 6e 61 6d 65 milar.=.$this->findSimilar($name
2bae0 29 3b 0a 69 66 20 28 24 73 69 6d 69 6c 61 72 29 20 7b 0a 0a 20 69 66 20 28 24 72 65 71 75 69 72 );.if.($similar).{...if.($requir
2bb00 65 64 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 edVersion.===.null.&&.in_array($
2bb20 6e 61 6d 65 2c 20 24 73 69 6d 69 6c 61 72 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e name,.$similar,.true)).{.throw.n
2bb40 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ew.\InvalidArgumentException(spr
2bb60 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 76 65 72 73 69 6f 6e 20 intf(.'Could.not.find.a.version.
2bb80 6f 66 20 70 61 63 6b 61 67 65 20 25 73 20 6d 61 74 63 68 69 6e 67 20 79 6f 75 72 20 6d 69 6e 69 of.package.%s.matching.your.mini
2bba0 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 28 25 73 29 2e 20 52 65 71 75 69 72 65 20 69 74 20 77 mum-stability.(%s)..Require.it.w
2bbc0 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 ith.an.explicit.version.constrai
2bbe0 6e 74 20 61 6c 6c 6f 77 69 6e 67 20 69 74 73 20 64 65 73 69 72 65 64 20 73 74 61 62 69 6c 69 74 nt.allowing.its.desired.stabilit
2bc00 79 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 y.',.$name,.$this->getMinimumSta
2bc20 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 bility($input).));.}..throw.new.
2bc40 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 \InvalidArgumentException(sprint
2bc60 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 2e 5c 6e f(."Could.not.find.package.%s.\n
2bc80 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 22 20 2e 20 28 63 6f 75 6e 74 28 24 73 69 6d 69 6c \nDid.you.mean."...(count($simil
2bca0 61 72 29 20 3e 20 31 20 3f 20 27 6f 6e 65 20 6f 66 20 74 68 65 73 65 27 20 3a 20 27 74 68 69 73 ar).>.1.?.'one.of.these'.:.'this
2bcc0 27 29 20 2e 20 22 3f 5c 6e 20 20 20 20 25 73 22 2c 0a 24 6e 61 6d 65 2c 0a 69 6d 70 6c 6f 64 65 ')..."?\n....%s",.$name,.implode
2bce0 28 22 5c 6e 20 20 20 20 22 2c 20 24 73 69 6d 69 6c 61 72 29 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f ("\n....",.$similar).));.}..thro
2bd00 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
2bd20 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 6d 61 74 63 68 sprintf(.'Could.not.find.a.match
2bd40 69 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 20 25 73 2e 20 43 68 65 63 6b ing.version.of.package.%s..Check
2bd60 20 74 68 65 20 70 61 63 6b 61 67 65 20 73 70 65 6c 6c 69 6e 67 2c 20 79 6f 75 72 20 76 65 72 73 .the.package.spelling,.your.vers
2bd80 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 61 6e 64 20 74 68 61 74 20 74 68 65 20 70 61 63 6b ion.constraint.and.that.the.pack
2bda0 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 73 74 61 62 69 6c 69 74 79 20 age.is.available.in.a.stability.
2bdc0 77 68 69 63 68 20 6d 61 74 63 68 65 73 20 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 which.matches.your.minimum-stabi
2bde0 6c 69 74 79 20 28 25 73 29 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4d 69 lity.(%s).',.$name,.$this->getMi
2be00 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a 29 29 3b 0a 7d 0a 0a 72 65 nimumStability($input).));.}..re
2be20 74 75 72 6e 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e turn.array(.$package->getPrettyN
2be40 61 6d 65 28 29 2c 0a 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 52 65 63 ame(),.$versionSelector->findRec
2be60 6f 6d 6d 65 6e 64 65 64 52 65 71 75 69 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 ommendedRequireVersion($package)
2be80 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 69 6d ,.);.}..private.function.findSim
2bea0 69 6c 61 72 28 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 73 20 ilar($package).{.try.{.$results.
2bec0 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 24 70 61 63 6b 61 67 65 29 =.$this->repos->search($package)
2bee0 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 ;.}.catch.(\Exception.$e).{...re
2bf00 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 turn.array();.}.$similarPackages
2bf20 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 .=.array();..foreach.($results.a
2bf40 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 5b 24 72 s.$result).{.$similarPackages[$r
2bf60 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 70 61 esult['name']].=.levenshtein($pa
2bf80 63 6b 61 67 65 2c 20 24 72 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 61 73 6f 72 74 ckage,.$result['name']);.}.asort
2bfa0 28 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 ($similarPackages);..return.arra
2bfc0 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 y_keys(array_slice($similarPacka
2bfe0 67 65 73 2c 20 30 2c 20 35 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ges,.0,.5));.}..private.function
2c000 20 69 6e 73 74 61 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f 75 74 70 75 74 29 0a 7b 0a .installDependencies($output).{.
2c020 74 72 79 20 7b 0a 24 69 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 try.{.$installCommand.=.$this->g
2c040 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 27 69 6e 73 74 61 6c 6c 27 29 etApplication()->find('install')
2c060 3b 0a 24 69 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 6e 65 77 20 41 72 72 61 79 ;.$installCommand->run(new.Array
2c080 49 6e 70 75 74 28 61 72 72 61 79 28 29 29 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 Input(array()),.$output);.}.catc
2c0a0 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f h.(\Exception.$e).{.$this->getIO
2c0c0 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 75 6c 64 20 6e 6f 74 20 69 6e 73 74 61 6c ()->writeError('Could.not.instal
2c0e0 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 52 75 6e 20 60 63 6f 6d 70 6f 73 65 72 20 69 6e l.dependencies..Run.`composer.in
2c100 73 74 61 6c 6c 60 20 74 6f 20 73 65 65 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 stall`.to.see.more.information.'
2c120 29 3b 0a 7d 0a 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 44 65 70 );.}..}..private.function.hasDep
2c140 65 6e 64 65 6e 63 69 65 73 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 endencies($options).{.$requires.
2c160 3d 20 28 61 72 72 61 79 29 20 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 3b 0a 24 =.(array).$options['require'];.$
2c180 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 devRequires.=.isset($options['re
2c1a0 71 75 69 72 65 2d 64 65 76 27 5d 29 20 3f 20 28 61 72 72 61 79 29 20 24 6f 70 74 69 6f 6e 73 5b quire-dev']).?.(array).$options[
2c1c0 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 'require-dev'].:.array();..retur
2c1e0 6e 20 21 65 6d 70 74 79 28 24 72 65 71 75 69 72 65 73 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 n.!empty($requires).||.!empty($d
2c200 65 76 52 65 71 75 69 72 65 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a evRequires);.}.}.<?php..........
2c220 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
2c240 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f se.Composer\Installer;.use.Compo
2c260 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d ser\Plugin\CommandEvent;.use.Com
2c280 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 poser\Plugin\PluginEvents;.use.S
2c2a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
2c2c0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
2c2e0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
2c300 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
2c320 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 put\InputArgument;.use.Symfony\C
2c340 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
2c360 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 43 6f 6d terface;........class.InstallCom
2c380 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 mand.extends.BaseCommand.{.prote
2c3a0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
2c3c0 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 73 74 61 6c 6c 27 29 0a 2d 3e 73 65 74 41 6c 69 61 s.->setName('install').->setAlia
2c3e0 73 65 73 28 61 72 72 61 79 28 27 69 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e ses(array('i')).->setDescription
2c400 28 27 49 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 65 70 65 6e 64 65 6e 63 ('Installs.the.project.dependenc
2c420 69 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 20 ies.from.the.composer.lock.file.
2c440 69 66 20 70 72 65 73 65 6e 74 2c 20 6f 72 20 66 61 6c 6c 73 20 62 61 63 6b 20 6f 6e 20 74 68 65 if.present,.or.falls.back.on.the
2c460 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f .composer.json.').->setDefinitio
2c480 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 n(array(.new.InputOption('prefer
2c4a0 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c -source',.null,.InputOption::VAL
2c4c0 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 UE_NONE,.'Forces.installation.fr
2c4e0 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 om.package.sources.when.possible
2c500 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 29 2c 0a ,.including.VCS.information.'),.
2c520 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 2c 20 6e new.InputOption('prefer-dist',.n
2c540 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 ull,.InputOption::VALUE_NONE,.'F
2c560 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 orces.installation.from.package.
2c580 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 6f 6e 73 2e 27 29 2c 0a 6e dist.even.for.dev.versions.'),.n
2c5a0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 2c 20 6e 75 6c 6c 2c 20 ew.InputOption('dry-run',.null,.
2c5c0 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 75 74 70 75 74 InputOption::VALUE_NONE,.'Output
2c5e0 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 65 78 s.the.operations.but.will.not.ex
2c600 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c ecute.anything.(implicitly.enabl
2c620 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f es.--verbose).'),.new.InputOptio
2c640 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 n('dev',.null,.InputOption::VALU
2c660 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 E_NONE,.'Enables.installation.of
2c680 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 20 62 .require-dev.packages.(enabled.b
2c6a0 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e y.default,.only.present.for.BC).
2c6c0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 '),.new.InputOption('no-dev',.nu
2c6e0 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 ll,.InputOption::VALUE_NONE,.'Di
2c700 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 sables.installation.of.require-d
2c720 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 ev.packages.'),.new.InputOption(
2c740 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 'no-custom-installers',.null,.In
2c760 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 putOption::VALUE_NONE,.'DEPRECAT
2c780 45 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e ED:.Use.no-plugins.instead.'),.n
2c7a0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 ew.InputOption('no-autoloader',.
2c7c0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
2c7e0 53 6b 69 70 73 20 61 75 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 27 29 2c 0a 6e Skips.autoloader.generation'),.n
2c800 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c ew.InputOption('no-scripts',.nul
2c820 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 l,.InputOption::VALUE_NONE,.'Ski
2c840 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 ps.the.execution.of.all.scripts.
2c860 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 defined.in.composer.json.file.')
2c880 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c ,.new.InputOption('no-progress',
2c8a0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
2c8c0 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 'Do.not.output.download.progress
2c8e0 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 .'),.new.InputOption('no-suggest
2c900 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
2c920 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 6f ,.'Do.not.show.package.suggestio
2c940 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 ns.'),.new.InputOption('verbose'
2c960 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ,.'v|vv|vvv',.InputOption::VALUE
2c980 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 69 6e 63 6c 75 _NONE,.'Shows.more.details.inclu
2c9a0 64 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 20 69 6e 20 77 68 65 6e 20 ding.new.commits.pulled.in.when.
2c9c0 75 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f updating.packages.'),.new.InputO
2c9e0 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 27 6f 27 ption('optimize-autoloader',.'o'
2ca00 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 ,.InputOption::VALUE_NONE,.'Opti
2ca20 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 mize.autoloader.during.autoloade
2ca40 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 r.dump'),.new.InputOption('class
2ca60 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 map-authoritative',.'a',.InputOp
2ca80 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 tion::VALUE_NONE,.'Autoload.clas
2caa0 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c ses.from.the.classmap.only..Impl
2cac0 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c icitly.enables.`--optimize-autol
2cae0 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 oader`.'),.new.InputOption('apcu
2cb00 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a -autoloader',.null,.InputOption:
2cb20 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 :VALUE_NONE,.'Use.APCu.to.cache.
2cb40 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 found/not-found.classes.'),.new.
2cb60 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 InputOption('ignore-platform-req
2cb80 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
2cba0 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 E,.'Ignore.platform.requirements
2cbc0 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 .(php.&.ext-.packages).'),.new.I
2cbe0 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 nputArgument('packages',.InputAr
2cc00 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 gument::IS_ARRAY.|.InputArgument
2cc20 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 53 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 70 72 6f 76 69 ::OPTIONAL,.'Should.not.be.provi
2cc40 64 65 64 2c 20 75 73 65 20 63 6f 6d 70 6f 73 65 72 20 72 65 71 75 69 72 65 20 69 6e 73 74 65 61 ded,.use.composer.require.instea
2cc60 64 20 74 6f 20 61 64 64 20 61 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 74 6f 20 63 6f 6d 70 d.to.add.a.given.package.to.comp
2cc80 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 oser.json.'),.)).->setHelp(.<<<E
2cca0 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d OT.The.<info>install</info>.comm
2ccc0 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 and.reads.the.composer.lock.file
2cce0 20 66 72 6f 6d 0a 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f .from.the.current.directory,.pro
2cd00 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 64 6f 77 6e 6c 6f 61 64 73 20 61 6e 64 20 69 6e 73 cesses.it,.and.downloads.and.ins
2cd20 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 65 70 65 talls.all.the.libraries.and.depe
2cd40 6e 64 65 6e 63 69 65 73 20 6f 75 74 6c 69 6e 65 64 20 69 6e 20 74 68 61 74 20 66 69 6c 65 2e 20 ndencies.outlined.in.that.file..
2cd60 49 66 20 74 68 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 0a 65 78 69 73 74 20 69 74 20 77 69 If.the.file.does.not.exist.it.wi
2cd80 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 64 6f ll.look.for.composer.json.and.do
2cda0 20 74 68 65 20 73 61 6d 65 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 .the.same...<info>php.composer.p
2cdc0 68 61 72 20 69 6e 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 har.install</info>..Read.more.at
2cde0 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d .https://getcomposer.org/doc/03-
2ce00 63 6c 69 2e 6d 64 23 69 6e 73 74 61 6c 6c 2d 69 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 cli.md#install-i.EOT.).;.}..prot
2ce20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 ected.function.execute(InputInte
2ce40 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f rface.$input,.OutputInterface.$o
2ce60 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 utput).{.$io.=.$this->getIO();.i
2ce80 66 20 28 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 f.($args.=.$input->getArgument('
2cea0 70 61 63 6b 61 67 65 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c packages')).{.$io->writeError('<
2cec0 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 27 2e 69 6d 70 6c 6f 64 65 error>Invalid.argument.'.implode
2cee0 28 27 20 27 2c 20 24 61 72 67 73 29 2e 27 2e 20 55 73 65 20 22 63 6f 6d 70 6f 73 65 72 20 72 65 ('.',.$args).'..Use."composer.re
2cf00 71 75 69 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 61 72 67 73 29 2e 27 22 20 69 quire.'.implode('.',.$args).'".i
2cf20 6e 73 74 65 61 64 20 74 6f 20 61 64 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 79 6f 75 72 20 63 nstead.to.add.packages.to.your.c
2cf40 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e omposer.json.</error>');..return
2cf60 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f .1;.}..if.($input->getOption('no
2cf80 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 -custom-installers')).{.$io->wri
2cfa0 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 teError('<warning>You.are.using.
2cfc0 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d 63 75 73 74 6f 6d the.deprecated.option."no-custom
2cfe0 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 69 -installers"..Use."no-plugins".i
2d000 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 nstead.</warning>');.$input->set
2d020 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 Option('no-plugins',.true);.}..i
2d040 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 f.($input->getOption('dev')).{.$
2d060 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 io->writeError('<warning>You.are
2d080 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 .using.the.deprecated.option."de
2d0a0 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 v"..Dev.packages.are.installed.b
2d0c0 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 y.default.now.</warning>');.}..$
2d0e0 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 composer.=.$this->getComposer(tr
2d100 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e ue,.$input->getOption('no-plugin
2d120 73 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 s'));.$composer->getDownloadMana
2d140 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 ger()->setOutputProgress(!$input
2d160 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 ->getOption('no-progress'));..$c
2d180 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 ommandEvent.=.new.CommandEvent(P
2d1a0 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 69 6e 73 74 61 6c 6c 27 2c luginEvents::COMMAND,.'install',
2d1c0 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 .$input,.$output);.$composer->ge
2d1e0 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f tEventDispatcher()->dispatch($co
2d200 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 mmandEvent->getName(),.$commandE
2d220 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 vent);..$install.=.Installer::cr
2d240 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 63 6f 6e 66 69 67 20 3d eate($io,.$composer);..$config.=
2d260 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 .$composer->getConfig();.list($p
2d280 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 referSource,.$preferDist).=.$thi
2d2a0 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 s->getPreferredInstallOptions($c
2d2c0 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e onfig,.$input);..$optimize.=.$in
2d2e0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 put->getOption('optimize-autoloa
2d300 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d der').||.$config->get('optimize-
2d320 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 autoloader');.$authoritative.=.$
2d340 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f input->getOption('classmap-autho
2d360 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 ritative').||.$config->get('clas
2d380 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 smap-authoritative');.$apcu.=.$i
2d3a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 nput->getOption('apcu-autoloader
2d3c0 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 ').||.$config->get('apcu-autoloa
2d3e0 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 6e 28 24 69 6e der');..$install.->setDryRun($in
2d400 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 29 29 0a 2d 3e 73 65 74 put->getOption('dry-run')).->set
2d420 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f Verbose($input->getOption('verbo
2d440 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 se')).->setPreferSource($preferS
2d460 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 ource).->setPreferDist($preferDi
2d480 73 74 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 st).->setDevMode(!$input->getOpt
2d4a0 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 ion('no-dev')).->setDumpAutoload
2d4c0 65 72 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f er(!$input->getOption('no-autolo
2d4e0 61 64 65 72 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d ader')).->setRunScripts(!$input-
2d500 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 >getOption('no-scripts')).->setS
2d520 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f kipSuggest($input->getOption('no
2d540 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 -suggest')).->setOptimizeAutoloa
2d560 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 der($optimize).->setClassMapAuth
2d580 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 oritative($authoritative).->setA
2d5a0 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 pcuAutoloader($apcu).->setIgnore
2d5c0 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 PlatformRequirements($input->get
2d5e0 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a Option('ignore-platform-reqs')).
2d600 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 ;..if.($input->getOption('no-plu
2d620 67 69 6e 73 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 gins')).{.$install->disablePlugi
2d640 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b ns();.}..return.$install->run();
2d660 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
2d680 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c Composer\Command;..use.Composer\
2d6a0 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 Json\JsonFile;.use.Composer\Plug
2d6c0 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c in\CommandEvent;.use.Composer\Pl
2d6e0 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ugin\PluginEvents;.use.Composer\
2d700 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
2d720 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 mposer\Repository\RepositoryInte
2d740 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
2d760 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 sole\Helper\Table;.use.Symfony\C
2d780 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
2d7a0 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
2d7c0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 sole\Input\InputOption;.use.Symf
2d7e0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
2d800 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 63 65 6e 73 65 73 putInterface;.....class.Licenses
2d820 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 Command.extends.BaseCommand.{.pr
2d840 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 otected.function.configure().{.$
2d860 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6c 69 63 65 6e 73 65 73 27 29 0a 2d 3e 73 65 74 this.->setName('licenses').->set
2d880 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 Description('Shows.information.a
2d8a0 62 6f 75 74 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 bout.licenses.of.dependencies.')
2d8c0 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .->setDefinition(array(.new.Inpu
2d8e0 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 tOption('format',.'f',.InputOpti
2d900 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 on::VALUE_REQUIRED,.'Format.of.t
2d920 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 74 65 78 74 27 he.output:.text.or.json',.'text'
2d940 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c ),.new.InputOption('no-dev',.nul
2d960 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 l,.InputOption::VALUE_NONE,.'Dis
2d980 61 62 6c 65 73 20 73 65 61 72 63 68 20 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b ables.search.in.require-dev.pack
2d9a0 61 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 ages.'),.)).->setHelp(.<<<EOT.Th
2d9c0 65 20 6c 69 63 65 6e 73 65 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 64 65 74 61 69 e.license.command.displays.detai
2d9e0 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 69 63 65 6e 73 led.information.about.the.licens
2da00 65 73 20 6f 66 0a 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 es.of.the.installed.dependencies
2da20 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ...Read.more.at.https://getcompo
2da40 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 6c 69 63 65 6e 73 65 73 0a 45 ser.org/doc/03-cli.md#licenses.E
2da60 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 OT.).;.}..protected.function.exe
2da80 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 cute(InputInterface.$input,.Outp
2daa0 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 utInterface.$output).{.$composer
2dac0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 .=.$this->getComposer();..$comma
2dae0 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 ndEvent.=.new.CommandEvent(Plugi
2db00 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 6c 69 63 65 6e 73 65 73 27 2c 20 24 69 nEvents::COMMAND,.'licenses',.$i
2db20 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 nput,.$output);.$composer->getEv
2db40 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 entDispatcher()->dispatch($comma
2db60 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e ndEvent->getName(),.$commandEven
2db80 74 29 3b 0a 0a 24 72 6f 6f 74 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 t);..$root.=.$composer->getPacka
2dba0 67 65 28 29 3b 0a 24 72 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f ge();.$repo.=.$composer->getRepo
2dbc0 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 sitoryManager()->getLocalReposit
2dbe0 6f 72 79 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e ory();..if.($input->getOption('n
2dc00 6f 2d 64 65 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 o-dev')).{.$packages.=.$this->fi
2dc20 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2c 20 24 72 6f 6f lterRequiredPackages($repo,.$roo
2dc40 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e t);.}.else.{.$packages.=.$this->
2dc60 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 appendPackages($repo->getPackage
2dc80 73 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 s(),.array());.}..ksort($package
2dca0 73 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 73 77 69 74 63 s);.$io.=.$this->getIO();..switc
2dcc0 68 20 28 24 66 6f 72 6d 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 h.($format.=.$input->getOption('
2dce0 66 6f 72 6d 61 74 27 29 29 20 7b 0a 63 61 73 65 20 27 74 65 78 74 27 3a 0a 24 69 6f 2d 3e 77 72 format')).{.case.'text':.$io->wr
2dd00 69 74 65 28 27 4e 61 6d 65 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 72 6f 6f 74 2d 3e 67 65 74 ite('Name:.<comment>'.$root->get
2dd20 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d PrettyName().'</comment>');.$io-
2dd40 3e 77 72 69 74 65 28 27 56 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 72 6f 6f >write('Version:.<comment>'.$roo
2dd60 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 3c 2f 63 6f 6d t->getFullPrettyVersion().'</com
2dd80 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4c 69 63 65 6e 73 65 73 3a 20 3c ment>');.$io->write('Licenses:.<
2dda0 63 6f 6d 6d 65 6e 74 3e 27 2e 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 72 6f 6f 74 2d 3e comment>'.(implode(',.',.$root->
2ddc0 67 65 74 4c 69 63 65 6e 73 65 28 29 29 20 3f 3a 20 27 6e 6f 6e 65 27 29 2e 27 3c 2f 63 6f 6d 6d getLicense()).?:.'none').'</comm
2dde0 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 44 65 70 65 6e 64 65 6e 63 69 65 73 ent>');.$io->write('Dependencies
2de00 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 0a 24 74 61 62 6c 65 20 3d 20 6e :');.$io->write('');..$table.=.n
2de20 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 53 74 ew.Table($output);.$table->setSt
2de40 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 74 61 62 6c 65 53 74 79 6c 65 20 3d 20 24 74 yle('compact');.$tableStyle.=.$t
2de60 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 74 61 62 6c 65 53 74 79 6c 65 2d 3e 73 able->getStyle();.$tableStyle->s
2de80 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 74 61 62 6c 65 etVerticalBorderChar('');.$table
2dea0 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 Style->setCellRowContentFormat('
2dec0 25 73 20 20 27 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 %s..');.$table->setHeaders(array
2dee0 28 27 4e 61 6d 65 27 2c 20 27 56 65 72 73 69 6f 6e 27 2c 20 27 4c 69 63 65 6e 73 65 27 29 29 3b ('Name',.'Version',.'License'));
2df00 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 .foreach.($packages.as.$package)
2df20 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 .{.$table->addRow(array(.$packag
2df40 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 e->getPrettyName(),.$package->ge
2df60 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c tFullPrettyVersion(),.implode(',
2df80 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 20 3f 3a 20 27 .',.$package->getLicense()).?:.'
2dfa0 6e 6f 6e 65 27 2c 0a 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 62 none',.));.}.$table->render();.b
2dfc0 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 reak;..case.'json':.$dependencie
2dfe0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 s.=.array();.foreach.($packages.
2e000 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 70 61 as.$package).{.$dependencies[$pa
2e020 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 20 3d 20 61 72 72 61 79 28 ckage->getPrettyName()].=.array(
2e040 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 .'version'.=>.$package->getFullP
2e060 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d 3e 20 24 70 61 rettyVersion(),.'license'.=>.$pa
2e080 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e ckage->getLicense(),.);.}..$io->
2e0a0 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 72 61 79 28 0a 27 6e write(JsonFile::encode(array(.'n
2e0c0 61 6d 65 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a ame'.=>.$root->getPrettyName(),.
2e0e0 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 'version'.=>.$root->getFullPrett
2e100 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e yVersion(),.'license'.=>.$root->
2e120 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 27 64 65 70 65 6e 64 65 6e 63 69 65 73 27 20 3d 3e 20 getLicense(),.'dependencies'.=>.
2e140 24 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 0a 29 29 29 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 $dependencies,.)));.break;..defa
2e160 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ult:.throw.new.\RuntimeException
2e180 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 25 73 (sprintf('Unsupported.format."%s
2e1a0 22 2e 20 20 53 65 65 20 68 65 6c 70 20 66 6f 72 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 "...See.help.for.supported.forma
2e1c0 74 73 2e 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ts.',.$format));.}.}..........pr
2e1e0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 ivate.function.filterRequiredPac
2e200 6b 61 67 65 73 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c kages(RepositoryInterface.$repo,
2e220 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 62 75 63 .PackageInterface.$package,.$buc
2e240 6b 65 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 ket.=.array()).{.$requires.=.arr
2e260 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 ay_keys($package->getRequires())
2e280 3b 0a 0a 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 ;..$packageListNames.=.array_key
2e2a0 73 28 24 62 75 63 6b 65 74 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 66 69 s($bucket);.$packages.=.array_fi
2e2c0 6c 74 65 72 28 0a 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 2c 0a 66 75 6e 63 lter(.$repo->getPackages(),.func
2e2e0 74 69 6f 6e 20 28 24 70 61 63 6b 61 67 65 29 20 75 73 65 20 28 24 72 65 71 75 69 72 65 73 2c 20 tion.($package).use.($requires,.
2e300 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 $packageListNames).{.return.in_a
2e320 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 65 71 75 69 rray($package->getName(),.$requi
2e340 72 65 73 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e res).&&.!in_array($package->getN
2e360 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 29 3b 0a 7d 0a 29 3b 0a ame(),.$packageListNames);.}.);.
2e380 0a 24 62 75 63 6b 65 74 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 .$bucket.=.$this->appendPackages
2e3a0 28 24 70 61 63 6b 61 67 65 73 2c 20 24 62 75 63 6b 65 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 ($packages,.$bucket);..foreach.(
2e3c0 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 62 75 63 6b 65 74 $packages.as.$package).{.$bucket
2e3e0 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 .=.$this->filterRequiredPackages
2e400 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 62 75 63 6b 65 74 29 3b 0a 7d 0a 0a 72 ($repo,.$package,.$bucket);.}..r
2e420 65 74 75 72 6e 20 24 62 75 63 6b 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 eturn.$bucket;.}.........public.
2e440 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 70 function.appendPackages(array.$p
2e460 61 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 62 75 63 6b 65 74 29 0a 7b 0a 66 6f 72 65 61 63 ackages,.array.$bucket).{.foreac
2e480 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 62 75 63 h.($packages.as.$package).{.$buc
2e4a0 6b 65 74 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b ket[$package->getName()].=.$pack
2e4c0 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 63 6b 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 age;.}..return.$bucket;.}.}.<?ph
2e4e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
2e500 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Command;..use.Symfony\Component\
2e520 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
2e540 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
2e560 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d t\InputArgument;.use.Symfony\Com
2e580 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b ponent\Console\Input\ArrayInput;
2e5a0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
2e5c0 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\InputOption;.use.Symfony\Co
2e5e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
2e600 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e erface;.....class.OutdatedComman
2e620 64 20 65 78 74 65 6e 64 73 20 53 68 6f 77 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 d.extends.ShowCommand.{.protecte
2e640 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d d.function.configure().{.$this.-
2e660 3e 73 65 74 4e 61 6d 65 28 27 6f 75 74 64 61 74 65 64 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 >setName('outdated').->setDescri
2e680 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 61 20 6c 69 73 74 20 6f 66 20 69 6e 73 74 61 6c 6c 65 64 ption('Shows.a.list.of.installed
2e6a0 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 20 75 70 64 61 74 65 73 20 61 76 61 69 .packages.that.have.updates.avai
2e6c0 6c 61 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 69 72 20 6c 61 74 65 73 74 20 76 65 lable,.including.their.latest.ve
2e6e0 72 73 69 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a rsion.').->setDefinition(array(.
2e700 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 new.InputArgument('package',.Inp
2e720 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 20 74 utArgument::OPTIONAL,.'Package.t
2e740 6f 20 69 6e 73 70 65 63 74 2e 20 4f 72 20 61 20 6e 61 6d 65 20 69 6e 63 6c 75 64 69 6e 67 20 61 o.inspect..Or.a.name.including.a
2e760 20 77 69 6c 64 63 61 72 64 20 28 2a 29 20 74 6f 20 66 69 6c 74 65 72 20 6c 69 73 74 73 20 6f 66 .wildcard.(*).to.filter.lists.of
2e780 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f .packages.instead.'),.new.InputO
2e7a0 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 ption('outdated',.'o',.InputOpti
2e7c0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 on::VALUE_NONE,.'Show.only.packa
2e7e0 67 65 73 20 74 68 61 74 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 28 74 68 69 73 20 69 73 20 74 ges.that.are.outdated.(this.is.t
2e800 68 65 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 70 72 65 73 65 6e 74 20 68 65 72 65 20 66 6f 72 he.default,.but.present.here.for
2e820 20 63 6f 6d 70 61 74 20 77 69 74 68 20 60 73 68 6f 77 60 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 .compat.with.`show`'),.new.Input
2e840 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a Option('all',.'a',.InputOption::
2e860 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 65 64 20 VALUE_NONE,.'Show.all.installed.
2e880 70 61 63 6b 61 67 65 73 20 77 69 74 68 20 74 68 65 69 72 20 6c 61 74 65 73 74 20 76 65 72 73 69 packages.with.their.latest.versi
2e8a0 6f 6e 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 2c ons'),.new.InputOption('direct',
2e8c0 20 27 44 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 .'D',.InputOption::VALUE_NONE,.'
2e8e0 53 68 6f 77 73 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 64 69 72 Shows.only.packages.that.are.dir
2e900 65 63 74 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 ectly.required.by.the.root.packa
2e920 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 2c 20 ge'),.new.InputOption('strict',.
2e940 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
2e960 52 65 74 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 77 68 65 6e Return.a.non-zero.exit.code.when
2e980 20 74 68 65 72 65 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 70 61 63 6b 61 67 65 73 27 29 2c 0a .there.are.outdated.packages'),.
2e9a0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 2c 20 27 6d new.InputOption('minor-only',.'m
2e9c0 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f ',.InputOption::VALUE_NONE,.'Sho
2e9e0 77 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 20 6d 69 6e 6f 72 20 w.only.packages.that.have.minor.
2ea00 53 65 6d 56 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 75 70 64 61 74 65 73 2e 20 55 73 65 20 77 SemVer-compatible.updates..Use.w
2ea20 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 ith.the.--outdated.option.'),.ne
2ea40 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 w.InputOption('format',.'f',.Inp
2ea60 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 utOption::VALUE_REQUIRED,.'Forma
2ea80 74 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 t.of.the.output:.text.or.json',.
2eaa0 27 74 65 78 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 'text'),.new.InputOption('ignore
2eac0 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 ',.null,.InputOption::VALUE_REQU
2eae0 49 52 45 44 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 IRED.|.InputOption::VALUE_IS_ARR
2eb00 41 59 2c 20 27 49 67 6e 6f 72 65 20 73 70 65 63 69 66 69 65 64 20 70 61 63 6b 61 67 65 28 73 29 AY,.'Ignore.specified.package(s)
2eb20 2e 20 55 73 65 20 69 74 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 ..Use.it.with.the.--outdated.opt
2eb40 69 6f 6e 20 69 66 20 79 6f 75 20 64 6f 6e 5c 27 74 20 77 61 6e 74 20 74 6f 20 62 65 20 69 6e 66 ion.if.you.don\'t.want.to.be.inf
2eb60 6f 72 6d 65 64 20 61 62 6f 75 74 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 ormed.about.new.versions.of.some
2eb80 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 .packages.'),.)).->setHelp(.<<<E
2eba0 4f 54 0a 54 68 65 20 6f 75 74 64 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6a 75 73 74 20 OT.The.outdated.command.is.just.
2ebc0 61 20 70 72 6f 78 79 20 66 6f 72 20 60 63 6f 6d 70 6f 73 65 72 20 73 68 6f 77 20 2d 6c 60 0a 0a a.proxy.for.`composer.show.-l`..
2ebe0 54 68 65 20 63 6f 6c 6f 72 20 63 6f 64 69 6e 67 20 28 6f 72 20 73 69 67 6e 61 67 65 20 69 66 20 The.color.coding.(or.signage.if.
2ec00 79 6f 75 20 68 61 76 65 20 41 4e 53 49 20 63 6f 6c 6f 72 73 20 64 69 73 61 62 6c 65 64 29 20 66 you.have.ANSI.colors.disabled).f
2ec20 6f 72 20 64 65 70 65 6e 64 65 6e 63 79 20 76 65 72 73 69 6f 6e 73 20 69 73 20 61 73 20 73 75 63 or.dependency.versions.is.as.suc
2ec40 68 3a 0a 0a 2d 20 3c 69 6e 66 6f 3e 67 72 65 65 6e 3c 2f 69 6e 66 6f 3e 20 28 3d 29 3a 20 44 65 h:..-.<info>green</info>.(=):.De
2ec60 70 65 6e 64 65 6e 63 79 20 69 73 20 69 6e 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f pendency.is.in.the.latest.versio
2ec80 6e 20 61 6e 64 20 69 73 20 75 70 20 74 6f 20 64 61 74 65 2e 0a 2d 20 3c 63 6f 6d 6d 65 6e 74 3e n.and.is.up.to.date..-.<comment>
2eca0 79 65 6c 6c 6f 77 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 28 7e 29 3a 20 44 65 70 65 6e 64 65 6e 63 79 yellow</comment>.(~):.Dependency
2ecc0 20 68 61 73 20 61 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 68 61 .has.a.new.version.available.tha
2ece0 74 20 69 6e 63 6c 75 64 65 73 20 62 61 63 6b 77 61 72 64 73 0a 20 20 63 6f 6d 70 61 74 69 62 69 t.includes.backwards...compatibi
2ed00 6c 69 74 79 20 62 72 65 61 6b 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 73 65 6d 76 65 72 2c lity.breaks.according.to.semver,
2ed20 20 73 6f 20 75 70 67 72 61 64 65 20 77 68 65 6e 20 79 6f 75 20 63 61 6e 20 62 75 74 20 69 74 0a .so.upgrade.when.you.can.but.it.
2ed40 20 20 6d 61 79 20 69 6e 76 6f 6c 76 65 20 77 6f 72 6b 2e 0a 2d 20 3c 68 69 67 68 6c 69 67 68 74 ..may.involve.work..-.<highlight
2ed60 3e 72 65 64 3c 2f 68 69 67 68 6c 69 67 68 74 3e 20 28 21 29 3a 20 44 65 70 65 6e 64 65 6e 63 79 >red</highlight>.(!):.Dependency
2ed80 20 68 61 73 20 61 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 69 73 20 73 65 6d 76 65 .has.a.new.version.that.is.semve
2eda0 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 61 6e 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 70 67 72 r-compatible.and.you.should.upgr
2edc0 61 64 65 20 69 74 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 ade.it...Read.more.at.https://ge
2ede0 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 6f 75 74 64 tcomposer.org/doc/03-cli.md#outd
2ee00 61 74 65 64 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ated.EOT.).;.}..protected.functi
2ee20 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 on.execute(InputInterface.$input
2ee40 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 61 72 ,.OutputInterface.$output).{.$ar
2ee60 67 73 20 3d 20 61 72 72 61 79 28 0a 27 73 68 6f 77 27 2c 0a 27 2d 2d 6c 61 74 65 73 74 27 20 3d gs.=.array(.'show',.'--latest'.=
2ee80 3e 20 74 72 75 65 2c 0a 29 3b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f >.true,.);.if.(!$input->getOptio
2eea0 6e 28 27 61 6c 6c 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6f 75 74 64 61 74 65 64 27 5d 20 n('all')).{.$args['--outdated'].
2eec0 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 =.true;.}.if.($input->getOption(
2eee0 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 64 69 72 65 63 74 27 5d 20 3d 'direct')).{.$args['--direct'].=
2ef00 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 .true;.}.if.($input->getArgument
2ef20 28 27 70 61 63 6b 61 67 65 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 70 61 63 6b 61 67 65 27 5d 20 ('package')).{.$args['package'].
2ef40 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 =.$input->getArgument('package')
2ef60 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 ;.}.if.($input->getOption('stric
2ef80 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 73 74 72 69 63 74 27 5d 20 3d 20 74 72 75 65 3b t')).{.$args['--strict'].=.true;
2efa0 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d .}.if.($input->getOption('minor-
2efc0 6f 6e 6c 79 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 5d 20 only')).{.$args['--minor-only'].
2efe0 3d 20 74 72 75 65 3b 0a 7d 0a 24 61 72 67 73 5b 27 2d 2d 66 6f 72 6d 61 74 27 5d 20 3d 20 24 69 =.true;.}.$args['--format'].=.$i
2f000 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 3b 0a 24 61 72 67 73 nput->getOption('format');.$args
2f020 5b 27 2d 2d 69 67 6e 6f 72 65 27 5d 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ['--ignore'].=.$input->getOption
2f040 28 27 69 67 6e 6f 72 65 27 29 3b 0a 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 ('ignore');..$input.=.new.ArrayI
2f060 6e 70 75 74 28 24 61 72 67 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 41 nput($args);..return.$this->getA
2f080 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 pplication()->run($input,.$outpu
2f0a0 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 78 t);.}.....public.function.isProx
2f0c0 79 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f yCommand().{.return.true;.}.}.<?
2f0e0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
2f100 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e r\Command;..use.Symfony\Componen
2f120 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
2f140 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
2f160 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tput\OutputInterface;.....class.
2f180 50 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 70 ProhibitsCommand.extends.BaseDep
2f1a0 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 endencyCommand.{....protected.fu
2f1c0 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f 6e nction.configure().{.parent::con
2f1e0 66 69 67 75 72 65 28 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 70 72 6f 68 figure();..$this.->setName('proh
2f200 69 62 69 74 73 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 2d ibits').->setAliases(array('why-
2f220 6e 6f 74 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 not')).->setDescription('Shows.w
2f240 68 69 63 68 20 70 61 63 6b 61 67 65 73 20 70 72 65 76 65 6e 74 20 74 68 65 20 67 69 76 65 6e 20 hich.packages.prevent.the.given.
2f260 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 0a package.from.being.installed.').
2f280 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 79 73 20 64 65 74 61 69 ->setHelp(.<<<EOT.Displays.detai
2f2a0 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 79 20 61 20 70 61 63 6b led.information.about.why.a.pack
2f2c0 61 67 65 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 3c 69 6e 66 6f 3e age.cannot.be.installed...<info>
2f2e0 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 70 72 6f 68 69 62 69 74 73 20 63 6f 6d 70 php.composer.phar.prohibits.comp
2f300 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 oser/composer</info>..Read.more.
2f320 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 at.https://getcomposer.org/doc/0
2f340 33 2d 63 6c 69 2e 6d 64 23 70 72 6f 68 69 62 69 74 73 2d 77 68 79 2d 6e 6f 74 2d 0a 45 4f 54 0a 3-cli.md#prohibits-why-not-.EOT.
2f360 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ).;.}.........protected.function
2f380 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 .execute(InputInterface.$input,.
2f3a0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 OutputInterface.$output).{.retur
2f3c0 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 45 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 n.parent::doExecute($input,.$out
2f3e0 70 75 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a put,.true);.}.}.<?php...........
2f400 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 .namespace.Composer\Command;..us
2f420 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 e.Composer\Config\JsonConfigSour
2f440 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 ce;.use.Composer\Installer;.use.
2f460 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 Composer\Plugin\CommandEvent;.us
2f480 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a e.Composer\Plugin\PluginEvents;.
2f4a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 use.Composer\Json\JsonFile;.use.
2f4c0 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Composer\Factory;.use.Symfony\Co
2f4e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 mponent\Console\Input\InputInter
2f500 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
2f520 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f ole\Input\InputOption;.use.Symfo
2f540 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
2f560 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Argument;.use.Symfony\Component\
2f580 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
2f5a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 use.Composer\Package\BasePackage
2f5c0 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e ;......class.RemoveCommand.exten
2f5e0 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ds.BaseCommand.{.protected.funct
2f600 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d ion.configure().{.$this.->setNam
2f620 65 28 27 72 65 6d 6f 76 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 52 65 e('remove').->setDescription('Re
2f640 6d 6f 76 65 73 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 72 65 71 75 69 72 65 moves.a.package.from.the.require
2f660 20 6f 72 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 .or.require-dev.').->setDefiniti
2f680 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 on(array(.new.InputArgument('pac
2f6a0 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 kages',.InputArgument::IS_ARRAY.
2f6c0 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b |.InputArgument::REQUIRED,.'Pack
2f6e0 61 67 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76 65 64 2e 27 29 2c 0a ages.that.should.be.removed.'),.
2f700 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 new.InputOption('dev',.null,.Inp
2f720 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 6d 6f 76 65 73 20 61 utOption::VALUE_NONE,.'Removes.a
2f740 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 72 65 71 75 69 72 65 2d 64 65 76 20 73 65 .package.from.the.require-dev.se
2f760 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 ction.'),.new.InputOption('no-pr
2f780 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 ogress',.null,.InputOption::VALU
2f7a0 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 E_NONE,.'Do.not.output.download.
2f7c0 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f progress.'),.new.InputOption('no
2f7e0 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c -update',.null,.InputOption::VAL
2f800 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69 63 UE_NONE,.'Disables.the.automatic
2f820 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a .update.of.the.dependencies.'),.
2f840 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 new.InputOption('no-scripts',.nu
2f860 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b ll,.InputOption::VALUE_NONE,.'Sk
2f880 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 ips.the.execution.of.all.scripts
2f8a0 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 .defined.in.composer.json.file.'
2f8c0 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 ),.new.InputOption('update-no-de
2f8e0 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e v',.null,.InputOption::VALUE_NON
2f900 45 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 79 20 75 70 64 61 74 65 20 77 69 E,.'Run.the.dependency.update.wi
2f920 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 th.the.--no-dev.option.'),.new.I
2f940 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e nputOption('update-with-dependen
2f960 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f cies',.null,.InputOption::VALUE_
2f980 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e NONE,.'Allows.inherited.dependen
2f9a0 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 77 69 74 68 20 65 78 70 6c 69 63 69 74 cies.to.be.updated.with.explicit
2f9c0 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 28 44 65 70 72 65 63 72 61 74 65 64 2c 20 69 73 20 .dependencies..(Deprecrated,.is.
2f9e0 6e 6f 77 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 72 29 27 29 2c 0a 6e 65 77 20 49 6e 70 now.default.behavior)'),.new.Inp
2fa00 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 utOption('no-update-with-depende
2fa20 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ncies',.null,.InputOption::VALUE
2fa40 5f 4e 4f 4e 45 2c 20 27 44 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 69 6e 68 65 72 69 74 65 64 _NONE,.'Does.not.allow.inherited
2fa60 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 77 69 74 68 .dependencies.to.be.updated.with
2fa80 20 65 78 70 6c 69 63 69 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 .explicit.dependencies.'),.new.I
2faa0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 nputOption('ignore-platform-reqs
2fac0 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
2fae0 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 ,.'Ignore.platform.requirements.
2fb00 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 6e (php.&.ext-.packages).'),.new.In
2fb20 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c putOption('optimize-autoloader',
2fb40 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 .'o',.InputOption::VALUE_NONE,.'
2fb60 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c Optimize.autoloader.during.autol
2fb80 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 oader.dump'),.new.InputOption('c
2fba0 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 lassmap-authoritative',.'a',.Inp
2fbc0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 utOption::VALUE_NONE,.'Autoload.
2fbe0 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 classes.from.the.classmap.only..
2fc00 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d 61 Implicitly.enables.`--optimize-a
2fc20 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 utoloader`.'),.new.InputOption('
2fc40 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 apcu-autoloader',.null,.InputOpt
2fc60 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 ion::VALUE_NONE,.'Use.APCu.to.ca
2fc80 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a che.found/not-found.classes.'),.
2fca0 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 )).->setHelp(.<<<EOT.The.<info>r
2fcc0 65 6d 6f 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 6d 6f 76 65 73 20 61 20 70 emove</info>.command.removes.a.p
2fce0 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 0a 6c 69 73 74 20 6f 66 20 ackage.from.the.current.list.of.
2fd00 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f installed.packages..<info>php.co
2fd20 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 65 6d 6f 76 65 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 mposer.phar.remove</info>..Read.
2fd40 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f more.at.https://getcomposer.org/
2fd60 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 72 65 6d 6f 76 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a doc/03-cli.md#remove.EOT.).;.}..
2fd80 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 protected.function.execute(Input
2fda0 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
2fdc0 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d e.$output).{.$packages.=.$input-
2fde0 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 24 70 61 63 6b 61 >getArgument('packages');.$packa
2fe00 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 24 70 ges.=.array_map('strtolower',.$p
2fe20 61 63 6b 61 67 65 73 29 3b 0a 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 ackages);..$file.=.Factory::getC
2fe40 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e 65 77 20 omposerFile();..$jsonFile.=.new.
2fe60 4a 73 6f 6e 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 6a 73 JsonFile($file);.$composer.=.$js
2fe80 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 20 onFile->read();.$composerBackup.
2fea0 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 46 69 6c 65 2d 3e 67 =.file_get_contents($jsonFile->g
2fec0 65 74 50 61 74 68 28 29 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 etPath());..$json.=.new.JsonConf
2fee0 69 67 53 6f 75 72 63 65 28 24 6a 73 6f 6e 46 69 6c 65 29 3b 0a 0a 24 74 79 70 65 20 3d 20 24 69 igSource($jsonFile);..$type.=.$i
2ff00 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 nput->getOption('dev').?.'requir
2ff20 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 27 3b 0a 24 61 6c 74 54 79 70 65 20 3d 20 21 e-dev'.:.'require';.$altType.=.!
2ff40 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 $input->getOption('dev').?.'requ
2ff60 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 27 3b 0a 24 69 6f 20 3d 20 24 74 68 69 ire-dev'.:.'require';.$io.=.$thi
2ff80 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 s->getIO();..if.($input->getOpti
2ffa0 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 20 on('update-with-dependencies')).
2ffc0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 {.$io->writeError('<warning>You.
2ffe0 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 are.using.the.deprecated.option.
30000 22 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2e 20 54 68 69 73 "update-with-dependencies"..This
30020 20 69 73 20 6e 6f 77 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 75 72 2e 20 54 68 65 20 2d .is.now.default.behaviour..The.-
30040 2d 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 70 74 -no-update-with-dependencies.opt
30060 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 61 20 70 61 63 6b ion.can.be.used.to.remove.a.pack
30080 61 67 65 20 77 69 74 68 6f 75 74 20 69 74 73 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 3c 2f 77 age.without.its.dependencies.</w
300a0 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 arning>');.}....foreach.(array('
300c0 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 24 6c 69 6e require',.'require-dev').as.$lin
300e0 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 6c 69 kType).{.if.(isset($composer[$li
30100 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 70 6f 73 65 72 5b 24 nkType])).{.foreach.($composer[$
30120 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 linkType].as.$name.=>.$version).
30140 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 73 74 72 74 6f 6c 6f 77 65 {.$composer[$linkType][strtolowe
30160 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 r($name)].=.$name;.}.}.}..foreac
30180 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 h.($packages.as.$package).{.if.(
301a0 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d isset($composer[$type][$package]
301c0 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 63 )).{.$json->removeLink($type,.$c
301e0 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 65 6c 73 omposer[$type][$package]);.}.els
30200 65 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b 24 eif.(isset($composer[$altType][$
30220 70 61 63 6b 61 67 65 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 package])).{.$io->writeError('<w
30240 61 72 6e 69 6e 67 3e 27 20 2e 20 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b 24 arning>'...$composer[$altType][$
30260 70 61 63 6b 61 67 65 5d 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 package]...'.could.not.be.found.
30280 69 6e 20 27 20 2e 20 24 74 79 70 65 20 2e 20 27 20 62 75 74 20 69 74 20 69 73 20 70 72 65 73 65 in.'...$type...'.but.it.is.prese
302a0 6e 74 20 69 6e 20 27 20 2e 20 24 61 6c 74 54 79 70 65 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 3e nt.in.'...$altType...'</warning>
302c0 27 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a ');.if.($io->isInteractive()).{.
302e0 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 44 6f 20 79 6f 75 if.($io->askConfirmation('Do.you
30300 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 20 66 72 6f 6d 20 27 20 2e 20 24 61 6c 74 .want.to.remove.it.from.'...$alt
30320 54 79 70 65 20 2e 20 27 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e Type...'.[<comment>yes</comment>
30340 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e 6b ]?.',.true)).{.$json->removeLink
30360 28 24 61 6c 74 54 79 70 65 2c 20 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b 24 ($altType,.$composer[$altType][$
30380 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 package]);.}.}.}.elseif.(isset($
303a0 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 29 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 70 composer[$type]).&&.$matches.=.p
303c0 72 65 67 5f 67 72 65 70 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d reg_grep(BasePackage::packageNam
303e0 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 eToRegexp($package),.array_keys(
30400 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 $composer[$type]))).{.foreach.($
30420 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 6a matches.as.$matchedPackage).{.$j
30440 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6d 61 74 63 68 65 64 50 son->removeLink($type,.$matchedP
30460 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 ackage);.}.}.elseif.(isset($comp
30480 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 29 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 70 72 oser[$altType]).&&.$matches.=.pr
304a0 65 67 5f 67 72 65 70 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d 65 eg_grep(BasePackage::packageName
304c0 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 ToRegexp($package),.array_keys($
304e0 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 composer[$altType]))).{.foreach.
30500 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a ($matches.as.$matchedPackage).{.
30520 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 20 2e 20 24 6d $io->writeError('<warning>'...$m
30540 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 atchedPackage...'.could.not.be.f
30560 6f 75 6e 64 20 69 6e 20 27 20 2e 20 24 74 79 70 65 20 2e 20 27 20 62 75 74 20 69 74 20 69 73 20 ound.in.'...$type...'.but.it.is.
30580 70 72 65 73 65 6e 74 20 69 6e 20 27 20 2e 20 24 61 6c 74 54 79 70 65 20 2e 20 27 3c 2f 77 61 72 present.in.'...$altType...'</war
305a0 6e 69 6e 67 3e 27 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 ning>');.if.($io->isInteractive(
305c0 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 44 )).{.if.($io->askConfirmation('D
305e0 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 20 66 72 6f 6d 20 27 20 2e o.you.want.to.remove.it.from.'..
30600 20 24 61 6c 74 54 79 70 65 20 2e 20 27 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d .$altType...'.[<comment>yes</com
30620 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 ment>]?.',.true)).{.$json->remov
30640 65 4c 69 6e 6b 28 24 61 6c 74 54 79 70 65 2c 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 29 eLink($altType,.$matchedPackage)
30660 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ;.}.}.}.}.else.{.$io->writeError
30680 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 69 73 20 6e 6f 74 20 72 ('<warning>'.$package.'.is.not.r
306a0 65 71 75 69 72 65 64 20 69 6e 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e equired.in.your.composer.json.an
306c0 64 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 3c 2f 77 61 72 6e 69 6e 67 3e d.has.not.been.removed</warning>
306e0 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ');.}.}..if.($input->getOption('
30700 6e 6f 2d 75 70 64 61 74 65 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 24 74 no-update')).{.return.0;.}....$t
30720 68 69 73 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 his->resetComposer();.$composer.
30740 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 =.$this->getComposer(true,.$inpu
30760 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 63 6f t->getOption('no-plugins'));.$co
30780 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 mposer->getDownloadManager()->se
307a0 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 tOutputProgress(!$input->getOpti
307c0 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 on('no-progress'));..$commandEve
307e0 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e nt.=.new.CommandEvent(PluginEven
30800 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 72 65 6d 6f 76 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 ts::COMMAND,.'remove',.$input,.$
30820 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 output);.$composer->getEventDisp
30840 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 atcher()->dispatch($commandEvent
30860 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 ->getName(),.$commandEvent);..$i
30880 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 nstall.=.Installer::create($io,.
308a0 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 20 3d 20 21 24 $composer);..$updateDevMode.=.!$
308c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 27 input->getOption('update-no-dev'
308e0 29 3b 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e );.$optimize.=.$input->getOption
30900 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 ('optimize-autoloader').||.$comp
30920 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 oser->getConfig()->get('optimize
30940 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 -autoloader');.$authoritative.=.
30960 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 $input->getOption('classmap-auth
30980 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e oritative').||.$composer->getCon
309a0 66 69 67 28 29 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 fig()->get('classmap-authoritati
309c0 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ve');.$apcu.=.$input->getOption(
309e0 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 'apcu-autoloader').||.$composer-
30a00 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 >getConfig()->get('apcu-autoload
30a20 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 6e er');..$install.->setVerbose($in
30a40 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 74 put->getOption('verbose')).->set
30a60 44 65 76 4d 6f 64 65 28 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 29 0a 2d 3e 73 65 74 4f 70 74 DevMode($updateDevMode).->setOpt
30a80 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 imizeAutoloader($optimize).->set
30aa0 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 ClassMapAuthoritative($authorita
30ac0 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 tive).->setApcuAutoloader($apcu)
30ae0 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 57 68 .->setUpdate(true).->setUpdateWh
30b00 69 74 65 6c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 itelist($packages).->setWhitelis
30b20 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 21 24 69 6e 70 75 74 2d tTransitiveDependencies(!$input-
30b40 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e >getOption('no-update-with-depen
30b60 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 dencies')).->setIgnorePlatformRe
30b80 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 quirements($input->getOption('ig
30ba0 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 63 nore-platform-reqs')).->setRunSc
30bc0 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 ripts(!$input->getOption('no-scr
30be0 69 70 74 73 27 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 ipts')).;..$status.=.$install->r
30c00 75 6e 28 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 20 21 3d 3d 20 30 29 20 7b 0a 24 69 6f 2d 3e un();.if.($status.!==.0).{.$io->
30c20 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 52 65 6d 6f 76 61 6c 20 writeError("\n".'<error>Removal.
30c40 66 61 69 6c 65 64 2c 20 72 65 76 65 72 74 69 6e 67 20 27 2e 24 66 69 6c 65 2e 27 20 74 6f 20 69 failed,.reverting.'.$file.'.to.i
30c60 74 73 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 6e 74 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a ts.original.content.</error>');.
30c80 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 46 69 6c 65 2d 3e 67 65 74 file_put_contents($jsonFile->get
30ca0 50 61 74 68 28 29 2c 20 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 3b 0a 7d 0a 0a 72 65 74 Path(),.$composerBackup);.}..ret
30cc0 75 72 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$status;.}.}.<?php..........
30ce0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
30d00 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
30d20 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ut\InputInterface;.use.Symfony\C
30d40 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 omponent\Console\Input\InputArgu
30d60 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ment;.use.Symfony\Component\Cons
30d80 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f ole\Input\InputOption;.use.Symfo
30da0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
30dc0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 utInterface;.use.Composer\Factor
30de0 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 y;.use.Composer\Installer;.use.C
30e00 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Json\JsonFile;.use.Compo
30e20 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 75 73 65 20 43 6f ser\Json\JsonManipulator;.use.Co
30e40 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 mposer\Package\Version\VersionPa
30e60 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e rser;.use.Composer\Plugin\Comman
30e80 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 dEvent;.use.Composer\Plugin\Plug
30ea0 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 inEvents;.use.Composer\Repositor
30ec0 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f y\CompositeRepository;.use.Compo
30ee0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 ser\Repository\PlatformRepositor
30f00 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a y;.use.Composer\IO\IOInterface;.
30f20 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 .....class.RequireCommand.extend
30f40 73 20 49 6e 69 74 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 6e 65 77 6c 79 43 72 s.InitCommand.{.private.$newlyCr
30f60 65 61 74 65 64 3b 0a 70 72 69 76 61 74 65 20 24 6a 73 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 66 eated;.private.$json;.private.$f
30f80 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 3b 0a 0a 70 ile;.private.$composerBackup;..p
30fa0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
30fc0 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 72 65 71 75 69 72 65 27 29 0a 2d 3e 73 65 74 $this.->setName('require').->set
30fe0 44 65 73 63 72 69 70 74 69 6f 6e 28 27 41 64 64 73 20 72 65 71 75 69 72 65 64 20 70 61 63 6b 61 Description('Adds.required.packa
31000 67 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 69 6e ges.to.your.composer.json.and.in
31020 73 74 61 6c 6c 73 20 74 68 65 6d 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 stalls.them.').->setDefinition(a
31040 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 rray(.new.InputArgument('package
31060 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e s',.InputArgument::IS_ARRAY.|.In
31080 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 4f 70 74 69 6f 6e 61 6c putArgument::OPTIONAL,.'Optional
310a0 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75 64 65 20 61 .package.name.can.also.include.a
310c0 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 .version.constraint,.e.g..foo/ba
310e0 72 20 6f 72 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e r.or.foo/bar:1.0.0.or.foo/bar=1.
31100 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 0.0.or."foo/bar.1.0.0"'),.new.In
31120 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 putOption('dev',.null,.InputOpti
31140 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 72 65 71 75 69 72 65 6d 65 6e 74 on::VALUE_NONE,.'Add.requirement
31160 20 74 6f 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 .to.require-dev.'),.new.InputOpt
31180 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 ion('prefer-source',.null,.Input
311a0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 Option::VALUE_NONE,.'Forces.inst
311c0 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 allation.from.package.sources.wh
311e0 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 en.possible,.including.VCS.infor
31200 6d 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 mation.'),.new.InputOption('pref
31220 65 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c er-dist',.null,.InputOption::VAL
31240 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 UE_NONE,.'Forces.installation.fr
31260 6f 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 om.package.dist.even.for.dev.ver
31280 73 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 sions.'),.new.InputOption('no-pr
312a0 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 ogress',.null,.InputOption::VALU
312c0 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 E_NONE,.'Do.not.output.download.
312e0 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f progress.'),.new.InputOption('no
31300 2d 73 75 67 67 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 -suggest',.null,.InputOption::VA
31320 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 LUE_NONE,.'Do.not.show.package.s
31340 75 67 67 65 73 74 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 uggestions.'),.new.InputOption('
31360 6e 6f 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 no-update',.null,.InputOption::V
31380 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 61 75 74 6f 6d 61 74 ALUE_NONE,.'Disables.the.automat
313a0 69 63 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 ic.update.of.the.dependencies.')
313c0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 ,.new.InputOption('no-scripts',.
313e0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
31400 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 Skips.the.execution.of.all.scrip
31420 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 ts.defined.in.composer.json.file
31440 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d .'),.new.InputOption('update-no-
31460 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e dev',.null,.InputOption::VALUE_N
31480 4f 4e 45 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 79 20 75 70 64 61 74 65 20 ONE,.'Run.the.dependency.update.
314a0 77 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 with.the.--no-dev.option.'),.new
314c0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 .InputOption('update-with-depend
314e0 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 encies',.null,.InputOption::VALU
31500 45 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 E_NONE,.'Allows.inherited.depend
31520 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 2c 20 65 78 63 65 70 74 20 74 68 6f encies.to.be.updated,.except.tho
31540 73 65 20 74 68 61 74 20 61 72 65 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 se.that.are.root.requirements.')
31560 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 61 ,.new.InputOption('update-with-a
31580 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ll-dependencies',.null,.InputOpt
315a0 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 61 6c 6c 20 69 6e 68 ion::VALUE_NONE,.'Allows.all.inh
315c0 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 erited.dependencies.to.be.update
315e0 64 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 20 72 6f 6f 74 d,.including.those.that.are.root
31600 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f .requirements.'),.new.InputOptio
31620 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 n('ignore-platform-reqs',.null,.
31640 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 InputOption::VALUE_NONE,.'Ignore
31660 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 .platform.requirements.(php.&.ex
31680 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e t-.packages).'),.new.InputOption
316a0 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ('prefer-stable',.null,.InputOpt
316c0 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 73 74 61 62 6c 65 20 ion::VALUE_NONE,.'Prefer.stable.
316e0 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 versions.of.dependencies.'),.new
31700 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 2c 20 6e 75 .InputOption('prefer-lowest',.nu
31720 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 ll,.InputOption::VALUE_NONE,.'Pr
31740 65 66 65 72 20 6c 6f 77 65 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e efer.lowest.versions.of.dependen
31760 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6f 72 74 2d 70 cies.'),.new.InputOption('sort-p
31780 61 63 6b 61 67 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ackages',.null,.InputOption::VAL
317a0 55 45 5f 4e 4f 4e 45 2c 20 27 53 6f 72 74 73 20 70 61 63 6b 61 67 65 73 20 77 68 65 6e 20 61 64 UE_NONE,.'Sorts.packages.when.ad
317c0 64 69 6e 67 2f 75 70 64 61 74 69 6e 67 20 61 20 6e 65 77 20 64 65 70 65 6e 64 65 6e 63 79 27 29 ding/updating.a.new.dependency')
317e0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f ,.new.InputOption('optimize-auto
31800 6c 6f 61 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 loader',.'o',.InputOption::VALUE
31820 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 _NONE,.'Optimize.autoloader.duri
31840 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f ng.autoloader.dump'),.new.InputO
31860 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 ption('classmap-authoritative',.
31880 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 'a',.InputOption::VALUE_NONE,.'A
318a0 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 utoload.classes.from.the.classma
318c0 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 p.only..Implicitly.enables.`--op
318e0 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 timize-autoloader`.'),.new.Input
31900 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 Option('apcu-autoloader',.null,.
31920 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 InputOption::VALUE_NONE,.'Use.AP
31940 43 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 Cu.to.cache.found/not-found.clas
31960 73 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 ses.'),.)).->setHelp(.<<<EOT.The
31980 20 72 65 71 75 69 72 65 20 63 6f 6d 6d 61 6e 64 20 61 64 64 73 20 72 65 71 75 69 72 65 64 20 70 .require.command.adds.required.p
319a0 61 63 6b 61 67 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e ackages.to.your.composer.json.an
319c0 64 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 6d 2e 0a 0a 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 d.installs.them...If.you.do.not.
319e0 73 70 65 63 69 66 79 20 61 20 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c specify.a.package,.composer.will
31a00 20 70 72 6f 6d 70 74 20 79 6f 75 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 61 20 70 61 63 6b .prompt.you.to.search.for.a.pack
31a20 61 67 65 2c 20 61 6e 64 20 67 69 76 65 6e 20 72 65 73 75 6c 74 73 2c 20 70 72 6f 76 69 64 65 20 age,.and.given.results,.provide.
31a40 61 20 6c 69 73 74 20 6f 66 0a 6d 61 74 63 68 65 73 20 74 6f 20 72 65 71 75 69 72 65 2e 0a 0a 49 a.list.of.matches.to.require...I
31a60 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 63 f.you.do.not.specify.a.version.c
31a80 6f 6e 73 74 72 61 69 6e 74 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 63 68 6f 6f 73 65 20 onstraint,.composer.will.choose.
31aa0 61 20 73 75 69 74 61 62 6c 65 20 6f 6e 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 76 61 69 a.suitable.one.based.on.the.avai
31ac0 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 49 66 20 79 6f 75 20 lable.package.versions...If.you.
31ae0 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6e 65 77 20 64 do.not.want.to.install.the.new.d
31b00 65 70 65 6e 64 65 6e 63 69 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 79 6f 75 20 63 61 6e 20 ependencies.immediately.you.can.
31b20 63 61 6c 6c 20 69 74 20 77 69 74 68 20 2d 2d 6e 6f 2d 75 70 64 61 74 65 0a 0a 52 65 61 64 20 6d call.it.with.--no-update..Read.m
31b40 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 ore.at.https://getcomposer.org/d
31b60 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 72 65 71 75 69 72 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a oc/03-cli.md#require.EOT.).;.}..
31b80 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 protected.function.execute(Input
31ba0 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
31bc0 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 e.$output).{.if.(function_exists
31be0 28 27 70 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 27 29 29 20 7b 0a 70 63 6e 74 6c ('pcntl_async_signals')).{.pcntl
31c00 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 28 74 72 75 65 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e _async_signals(true);.pcntl_sign
31c20 61 6c 28 53 49 47 49 4e 54 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 al(SIGINT,.array($this,.'revertC
31c40 6f 6d 70 6f 73 65 72 46 69 6c 65 27 29 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 omposerFile'));.pcntl_signal(SIG
31c60 54 45 52 4d 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 6f 6d 70 6f 73 TERM,.array($this,.'revertCompos
31c80 65 72 46 69 6c 65 27 29 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 48 55 50 2c 20 erFile'));.pcntl_signal(SIGHUP,.
31ca0 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 array($this,.'revertComposerFile
31cc0 27 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 '));.}..$this->file.=.Factory::g
31ce0 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 etComposerFile();.$io.=.$this->g
31d00 65 74 49 4f 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 20 3d 20 21 etIO();..$this->newlyCreated.=.!
31d20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 file_exists($this->file);.if.($t
31d40 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 20 26 26 20 21 66 69 6c 65 5f 70 75 74 5f 63 his->newlyCreated.&&.!file_put_c
31d60 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 22 7b 5c 6e 7d 5c 6e 22 29 29 20 ontents($this->file,."{\n}\n")).
31d80 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 74 68 69 {.$io->writeError('<error>'.$thi
31da0 73 2d 3e 66 69 6c 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 3c s->file.'.could.not.be.created.<
31dc0 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 69 66 20 28 21 69 73 5f /error>');..return.1;.}.if.(!is_
31de0 72 65 61 64 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 readable($this->file)).{.$io->wr
31e00 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 iteError('<error>'.$this->file.'
31e20 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 .is.not.readable.</error>');..re
31e40 74 75 72 6e 20 31 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 68 69 73 turn.1;.}.if.(!is_writable($this
31e60 2d 3e 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 ->file)).{.$io->writeError('<err
31e80 6f 72 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 or>'.$this->file.'.is.not.writab
31ea0 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 le.</error>');..return.1;.}..if.
31ec0 28 66 69 6c 65 73 69 7a 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 20 3d 3d 3d 20 30 29 20 7b 0a (filesize($this->file).===.0).{.
31ee0 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 22 file_put_contents($this->file,."
31f00 7b 5c 6e 7d 5c 6e 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a {\n}\n");.}..$this->json.=.new.J
31f20 73 6f 6e 46 69 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d sonFile($this->file);.$this->com
31f40 70 6f 73 65 72 42 61 63 6b 75 70 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 poserBackup.=.file_get_contents(
31f60 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 0a 24 63 6f 6d 70 6f $this->json->getPath());..$compo
31f80 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 ser.=.$this->getComposer(true,.$
31fa0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b input->getOption('no-plugins'));
31fc0 0a 24 72 65 70 6f 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f .$repos.=.$composer->getReposito
31fe0 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a ryManager()->getRepositories();.
32000 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d .$platformOverrides.=.$composer-
32020 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a >getConfig()->get('platform').?:
32040 20 61 72 72 61 79 28 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 .array();...$this->repos.=.new.C
32060 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a ompositeRepository(array_merge(.
32080 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 array(new.PlatformRepository(arr
320a0 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 29 2c 0a 24 72 65 70 ay(),.$platformOverrides)),.$rep
320c0 6f 73 0a 29 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 os.));..if.($composer->getPackag
320e0 65 28 29 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 29 20 7b 0a 24 70 72 65 66 65 e()->getPreferStable()).{.$prefe
32100 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 3b 0a 7d 20 65 6c 73 65 rredStability.=.'stable';.}.else
32120 20 7b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 24 63 6f 6d 70 6f 73 .{.$preferredStability.=.$compos
32140 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 er->getPackage()->getMinimumStab
32160 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d ility();.}..$phpVersion.=.$this-
32180 3e 72 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d >repos->findPackage('php',.'*')-
321a0 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e >getPrettyVersion();.$requiremen
321c0 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 6d 65 6e 74 ts.=.$this->determineRequirement
321e0 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 s($input,.$output,.$input->getAr
32200 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c gument('packages'),.$phpVersion,
32220 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 2c 20 21 24 69 6e 70 75 74 2d 3e 67 .$preferredStability,.!$input->g
32240 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 27 29 29 3b 0a 0a 24 72 65 71 75 69 72 etOption('no-update'));..$requir
32260 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 eKey.=.$input->getOption('dev').
32280 3f 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 27 3b 0a 24 72 65 ?.'require-dev'.:.'require';.$re
322a0 6d 6f 76 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 moveKey.=.$input->getOption('dev
322c0 27 29 20 3f 20 27 72 65 71 75 69 72 65 27 20 3a 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 3b 0a ').?.'require'.:.'require-dev';.
322e0 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 52 65 71 $requirements.=.$this->formatReq
32300 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 0a 0a 20 24 76 65 uirements($requirements);....$ve
32320 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 rsionParser.=.new.VersionParser(
32340 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 73 20 24 63 6f );.foreach.($requirements.as.$co
32360 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 nstraint).{.$versionParser->pars
32380 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 73 eConstraints($constraint);.}..$s
323a0 6f 72 74 50 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ortPackages.=.$input->getOption(
323c0 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 'sort-packages').||.$composer->g
323e0 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 29 etConfig()->get('sort-packages')
32400 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e 6c 79 ;..if.(!$this->updateFileCleanly
32420 28 24 74 68 69 73 2d 3e 6a 73 6f 6e 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 72 65 ($this->json,.$requirements,.$re
32440 71 75 69 72 65 4b 65 79 2c 20 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 73 6f 72 74 50 61 63 6b 61 quireKey,.$removeKey,.$sortPacka
32460 67 65 73 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 ges)).{.$composerDefinition.=.$t
32480 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 his->json->read();.foreach.($req
324a0 75 69 72 65 6d 65 6e 74 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f uirements.as.$package.=>.$versio
324c0 6e 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 71 75 69 72 n).{.$composerDefinition[$requir
324e0 65 4b 65 79 5d 5b 24 70 61 63 6b 61 67 65 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 75 6e 73 65 eKey][$package].=.$version;.unse
32500 74 28 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 6d 6f 76 65 4b 65 79 t($composerDefinition[$removeKey
32520 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 77 72 69 ][$package]);.}.$this->json->wri
32540 74 65 28 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 69 6f 2d te($composerDefinition);.}..$io-
32560 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 >writeError('<info>'.$this->file
32580 2e 27 20 68 61 73 20 62 65 65 6e 20 27 2e 28 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 .'.has.been.'.($this->newlyCreat
325a0 65 64 20 3f 20 27 63 72 65 61 74 65 64 27 20 3a 20 27 75 70 64 61 74 65 64 27 29 2e 27 3c 2f 69 ed.?.'created'.:.'updated').'</i
325c0 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 nfo>');..if.($input->getOption('
325e0 6e 6f 2d 75 70 64 61 74 65 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 74 72 79 20 no-update')).{.return.0;.}..try.
32600 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 70 75 74 2c {.return.$this->doUpdate($input,
32620 20 24 6f 75 74 70 75 74 2c 20 24 69 6f 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d .$output,.$io,.$requirements);.}
32640 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e .catch.(\Exception.$e).{.$this->
32660 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 66 61 6c 73 65 29 3b 0a 74 68 72 6f 77 revertComposerFile(false);.throw
32680 20 24 65 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 .$e;.}.}..private.function.doUpd
326a0 61 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 ate(InputInterface.$input,.Outpu
326c0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 tInterface.$output,.IOInterface.
326e0 24 69 6f 2c 20 61 72 72 61 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 0a 20 24 74 $io,.array.$requirements).{...$t
32700 68 69 73 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 his->resetComposer();.$composer.
32720 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 =.$this->getComposer(true,.$inpu
32740 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 63 6f t->getOption('no-plugins'));.$co
32760 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 mposer->getDownloadManager()->se
32780 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 tOutputProgress(!$input->getOpti
327a0 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 75 70 64 61 74 65 44 65 76 4d on('no-progress'));..$updateDevM
327c0 6f 64 65 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 ode.=.!$input->getOption('update
327e0 2d 6e 6f 2d 64 65 76 27 29 3b 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 -no-dev');.$optimize.=.$input->g
32800 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 etOption('optimize-autoloader').
32820 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 ||.$composer->getConfig()->get('
32840 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 optimize-autoloader');.$authorit
32860 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 ative.=.$input->getOption('class
32880 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 map-authoritative').||.$composer
328a0 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 ->getConfig()->get('classmap-aut
328c0 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 horitative');.$apcu.=.$input->ge
328e0 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 tOption('apcu-autoloader').||.$c
32900 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 63 75 2d omposer->getConfig()->get('apcu-
32920 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e autoloader');..$commandEvent.=.n
32940 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f ew.CommandEvent(PluginEvents::CO
32960 4d 4d 41 4e 44 2c 20 27 72 65 71 75 69 72 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 MMAND,.'require',.$input,.$outpu
32980 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 t);.$composer->getEventDispatche
329a0 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 r()->dispatch($commandEvent->get
329c0 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c Name(),.$commandEvent);..$instal
329e0 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 l.=.Installer::create($io,.$comp
32a00 6f 73 65 72 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 oser);..$install.->setVerbose($i
32a20 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 nput->getOption('verbose')).->se
32a40 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 tPreferSource($input->getOption(
32a60 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 'prefer-source')).->setPreferDis
32a80 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 t($input->getOption('prefer-dist
32aa0 27 29 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 29 ')).->setDevMode($updateDevMode)
32ac0 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 .->setRunScripts(!$input->getOpt
32ae0 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 67 ion('no-scripts')).->setSkipSugg
32b00 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 est($input->getOption('no-sugges
32b20 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 t')).->setOptimizeAutoloader($op
32b40 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 timize).->setClassMapAuthoritati
32b60 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f ve($authoritative).->setApcuAuto
32b80 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a loader($apcu).->setUpdate(true).
32ba0 2d 3e 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 61 72 72 61 79 5f 6b 65 79 73 28 ->setUpdateWhitelist(array_keys(
32bc0 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 $requirements)).->setWhitelistTr
32be0 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 ansitiveDependencies($input->get
32c00 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 Option('update-with-dependencies
32c20 27 29 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 ')).->setWhitelistAllDependencie
32c40 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 s($input->getOption('update-with
32c60 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 -all-dependencies')).->setIgnore
32c80 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 PlatformRequirements($input->get
32ca0 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a Option('ignore-platform-reqs')).
32cc0 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ->setPreferStable($input->getOpt
32ce0 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 ion('prefer-stable')).->setPrefe
32d00 72 4c 6f 77 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 rLowest($input->getOption('prefe
32d20 72 2d 6c 6f 77 65 73 74 27 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c r-lowest')).;..$status.=.$instal
32d40 6c 2d 3e 72 75 6e 28 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 20 21 3d 3d 20 30 29 20 7b 0a 24 l->run();.if.($status.!==.0).{.$
32d60 74 68 69 73 2d 3e 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 66 61 6c 73 65 29 3b this->revertComposerFile(false);
32d80 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 .}..return.$status;.}..private.f
32da0 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e 6c 79 28 24 6a 73 6f 6e 2c unction.updateFileCleanly($json,
32dc0 20 61 72 72 61 79 20 24 6e 65 77 2c 20 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 72 65 6d 6f 76 .array.$new,.$requireKey,.$remov
32de0 65 4b 65 79 2c 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 eKey,.$sortPackages).{.$contents
32e00 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 .=.file_get_contents($json->getP
32e20 61 74 68 28 29 29 3b 0a 0a 24 6d 61 6e 69 70 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e ath());..$manipulator.=.new.Json
32e40 4d 61 6e 69 70 75 6c 61 74 6f 72 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 66 6f 72 65 61 63 68 Manipulator($contents);..foreach
32e60 20 28 24 6e 65 77 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e .($new.as.$package.=>.$constrain
32e80 74 29 20 7b 0a 69 66 20 28 21 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 61 64 64 4c 69 6e 6b 28 t).{.if.(!$manipulator->addLink(
32ea0 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 $requireKey,.$package,.$constrai
32ec0 6e 74 2c 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c nt,.$sortPackages)).{.return.fal
32ee0 73 65 3b 0a 7d 0a 69 66 20 28 21 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 72 65 6d 6f 76 65 53 se;.}.if.(!$manipulator->removeS
32f00 75 62 4e 6f 64 65 28 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a ubNode($removeKey,.$package)).{.
32f20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 return.false;.}.}..file_put_cont
32f40 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c 61 ents($json->getPath(),.$manipula
32f60 74 6f 72 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 tor->getContents());..return.tru
32f80 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 e;.}..protected.function.interac
32fa0 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 t(InputInterface.$input,.OutputI
32fc0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 nterface.$output).{.return;.}..p
32fe0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c ublic.function.revertComposerFil
33000 65 28 24 68 61 72 64 45 78 69 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 e($hardExit.=.true).{.$io.=.$thi
33020 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 s->getIO();..if.($this->newlyCre
33040 61 74 65 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 ated).{.$io->writeError("\n".'<e
33060 72 72 6f 72 3e 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 64 65 6c 65 74 69 rror>Installation.failed,.deleti
33080 6e 67 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 75 ng.'.$this->file.'.</error>');.u
330a0 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d nlink($this->json->getPath());.}
330c0 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 .else.{.$io->writeError("\n".'<e
330e0 72 72 6f 72 3e 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 72 65 76 65 72 74 rror>Installation.failed,.revert
33100 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 20 74 6f 20 69 74 73 20 6f 72 69 67 69 ing.'.$this->file.'.to.its.origi
33120 6e 61 6c 20 63 6f 6e 74 65 6e 74 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 66 69 6c 65 5f 70 75 74 nal.content.</error>');.file_put
33140 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 _contents($this->json->getPath()
33160 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 3b 0a 7d 0a 0a 69 66 20 ,.$this->composerBackup);.}..if.
33180 28 24 68 61 72 64 45 78 69 74 29 20 7b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 ($hardExit).{.exit(1);.}.}.}.<?p
331a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
331c0 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 \Command;..use.Composer\Script\E
331e0 76 65 6e 74 20 61 73 20 53 63 72 69 70 74 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 vent.as.ScriptEvent;.use.Compose
33200 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Script\ScriptEvents;.use.Compo
33220 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 ser\Util\ProcessExecutor;.use.Sy
33240 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
33260 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
33280 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 ent\Console\Input\InputOption;.u
332a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
332c0 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ut\InputArgument;.use.Symfony\Co
332e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
33300 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f erface;.use.Symfony\Component\Co
33320 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 nsole\Helper\Table;.....class.Ru
33340 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 nScriptCommand.extends.BaseComma
33360 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 45 76 65 6e 74 73 20 nd.{....protected.$scriptEvents.
33380 3d 20 61 72 72 61 79 28 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 54 41 =.array(.ScriptEvents::PRE_INSTA
333a0 4c 4c 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 4e 53 54 41 LL_CMD,.ScriptEvents::POST_INSTA
333c0 4c 4c 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 44 41 54 45 LL_CMD,.ScriptEvents::PRE_UPDATE
333e0 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 50 44 41 54 45 5f _CMD,.ScriptEvents::POST_UPDATE_
33400 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 41 54 55 53 5f 43 4d CMD,.ScriptEvents::PRE_STATUS_CM
33420 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 D,.ScriptEvents::POST_STATUS_CMD
33440 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 47 ,.ScriptEvents::POST_ROOT_PACKAG
33460 45 5f 49 4e 53 54 41 4c 4c 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 52 E_INSTALL,.ScriptEvents::POST_CR
33480 45 41 54 45 5f 50 52 4f 4a 45 43 54 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a EATE_PROJECT_CMD,.ScriptEvents::
334a0 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 PRE_ARCHIVE_CMD,.ScriptEvents::P
334c0 4f 53 54 5f 41 52 43 48 49 56 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 OST_ARCHIVE_CMD,.ScriptEvents::P
334e0 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a RE_AUTOLOAD_DUMP,.ScriptEvents::
33500 50 4f 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 POST_AUTOLOAD_DUMP,.);..protecte
33520 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d d.function.configure().{.$this.-
33540 3e 73 65 74 4e 61 6d 65 28 27 72 75 6e 2d 73 63 72 69 70 74 27 29 0a 2d 3e 73 65 74 44 65 73 63 >setName('run-script').->setDesc
33560 72 69 70 74 69 6f 6e 28 27 52 75 6e 73 20 74 68 65 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 ription('Runs.the.scripts.define
33580 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e d.in.composer.json.').->setDefin
335a0 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 ition(array(.new.InputArgument('
335c0 73 63 72 69 70 74 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c script',.InputArgument::OPTIONAL
335e0 2c 20 27 53 63 72 69 70 74 20 6e 61 6d 65 20 74 6f 20 72 75 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e ,.'Script.name.to.run.'),.new.In
33600 70 75 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e putArgument('args',.InputArgumen
33620 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 t::IS_ARRAY.|.InputArgument::OPT
33640 49 4f 4e 41 4c 2c 20 27 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 69 6d IONAL,.''),.new.InputOption('tim
33660 65 6f 75 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f eout',.null,.InputOption::VALUE_
33680 52 45 51 55 49 52 45 44 2c 20 27 53 65 74 73 20 73 63 72 69 70 74 20 74 69 6d 65 6f 75 74 20 69 REQUIRED,.'Sets.script.timeout.i
336a0 6e 20 73 65 63 6f 6e 64 73 2c 20 6f 72 20 30 20 66 6f 72 20 6e 65 76 65 72 2e 27 29 2c 0a 6e 65 n.seconds,.or.0.for.never.'),.ne
336c0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 w.InputOption('dev',.null,.Input
336e0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 65 74 73 20 74 68 65 20 64 65 Option::VALUE_NONE,.'Sets.the.de
33700 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 v.mode.'),.new.InputOption('no-d
33720 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ev',.null,.InputOption::VALUE_NO
33740 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e NE,.'Disables.the.dev.mode.'),.n
33760 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 ew.InputOption('list',.'l',.Inpu
33780 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 73 63 72 69 70 tOption::VALUE_NONE,.'List.scrip
337a0 74 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 ts.'),.)).->setHelp(.<<<EOT.The.
337c0 3c 69 6e 66 6f 3e 72 75 6e 2d 73 63 72 69 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 <info>run-script</info>.command.
337e0 72 75 6e 73 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 runs.scripts.defined.in.composer
33800 2e 6a 73 6f 6e 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 .json:..<info>php.composer.phar.
33820 72 75 6e 2d 73 63 72 69 70 74 20 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f run-script.post-update-cmd</info
33840 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f >..Read.more.at.https://getcompo
33860 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 72 75 6e 2d 73 63 72 69 70 74 ser.org/doc/03-cli.md#run-script
33880 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 .EOT.).;.}..protected.function.e
338a0 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 xecute(InputInterface.$input,.Ou
338c0 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e tputInterface.$output).{.if.($in
338e0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 72 65 74 75 72 6e put->getOption('list')).{.return
33900 20 24 74 68 69 73 2d 3e 6c 69 73 74 53 63 72 69 70 74 73 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 .$this->listScripts($output);.}.
33920 65 6c 73 65 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 63 elseif.(!$input->getArgument('sc
33940 72 69 70 74 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 ript')).{.throw.new.\RuntimeExce
33960 70 74 69 6f 6e 28 27 4d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 ption('Missing.required.argument
33980 20 22 73 63 72 69 70 74 22 27 29 3b 0a 7d 0a 0a 24 73 63 72 69 70 74 20 3d 20 24 69 6e 70 75 74 ."script"');.}..$script.=.$input
339a0 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 29 3b 0a 69 66 20 28 21 69 6e ->getArgument('script');.if.(!in
339c0 5f 61 72 72 61 79 28 24 73 63 72 69 70 74 2c 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 45 76 65 _array($script,.$this->scriptEve
339e0 6e 74 73 29 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 43 6f 6d 70 6f 73 65 72 5c 53 63 nts)).{.if.(defined('Composer\Sc
33a00 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 ript\ScriptEvents::'.str_replace
33a20 28 27 2d 27 2c 20 27 5f 27 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 63 72 69 70 74 29 29 29 ('-',.'_',.strtoupper($script)))
33a40 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
33a60 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 63 61 6e ception(sprintf('Script."%s".can
33a80 6e 6f 74 20 62 65 20 72 75 6e 20 77 69 74 68 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 27 2c 20 24 not.be.run.with.this.command',.$
33aa0 73 63 72 69 70 74 29 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 script));.}.}..$composer.=.$this
33ac0 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 24 69 6e 70 ->getComposer();.$devMode.=.$inp
33ae0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d ut->getOption('dev').||.!$input-
33b00 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e >getOption('no-dev');.$event.=.n
33b20 65 77 20 53 63 72 69 70 74 45 76 65 6e 74 28 24 73 63 72 69 70 74 2c 20 24 63 6f 6d 70 6f 73 65 ew.ScriptEvent($script,.$compose
33b40 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 20 24 64 65 76 4d 6f 64 65 29 3b 0a 24 68 r,.$this->getIO(),.$devMode);.$h
33b60 61 73 4c 69 73 74 65 6e 65 72 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e asListeners.=.$composer->getEven
33b80 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 tDispatcher()->hasEventListeners
33ba0 28 24 65 76 65 6e 74 29 3b 0a 69 66 20 28 21 24 68 61 73 4c 69 73 74 65 6e 65 72 73 29 20 7b 0a ($event);.if.(!$hasListeners).{.
33bc0 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
33be0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 69 73 20 6e 6f 74 20 ion(sprintf('Script."%s".is.not.
33c00 64 65 66 69 6e 65 64 20 69 6e 20 74 68 69 73 20 70 61 63 6b 61 67 65 27 2c 20 24 73 63 72 69 70 defined.in.this.package',.$scrip
33c20 74 29 29 3b 0a 7d 0a 0a 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d t));.}..$args.=.$input->getArgum
33c40 65 6e 74 28 27 61 72 67 73 27 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 ent('args');..if.(null.!==.$time
33c60 6f 75 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 69 6d 65 6f 75 74 out.=.$input->getOption('timeout
33c80 27 29 29 20 7b 0a 69 66 20 28 21 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 69 6d 65 6f 75 74 29 ')).{.if.(!ctype_digit($timeout)
33ca0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
33cc0 27 54 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 6e 75 6d 65 72 69 63 20 61 'Timeout.value.must.be.numeric.a
33ce0 6e 64 20 70 6f 73 69 74 69 76 65 20 69 66 20 64 65 66 69 6e 65 64 2c 20 6f 72 20 30 20 66 6f 72 nd.positive.if.defined,.or.0.for
33d00 20 66 6f 72 65 76 65 72 27 29 3b 0a 7d 0a 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a .forever');.}...ProcessExecutor:
33d20 3a 73 65 74 54 69 6d 65 6f 75 74 28 28 69 6e 74 29 20 24 74 69 6d 65 6f 75 74 29 3b 0a 7d 0a 0a :setTimeout((int).$timeout);.}..
33d40 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 return.$composer->getEventDispat
33d60 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 73 63 72 69 70 74 2c 20 cher()->dispatchScript($script,.
33d80 24 64 65 76 4d 6f 64 65 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 $devMode,.$args);.}..protected.f
33da0 75 6e 63 74 69 6f 6e 20 6c 69 73 74 53 63 72 69 70 74 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 unction.listScripts(OutputInterf
33dc0 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 73 63 72 69 70 74 73 20 3d 20 24 74 68 69 73 2d ace.$output).{.$scripts.=.$this-
33de0 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 >getComposer()->getPackage()->ge
33e00 74 53 63 72 69 70 74 73 28 29 3b 0a 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 73 63 72 69 70 74 73 tScripts();..if.(!count($scripts
33e20 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 )).{.return.0;.}..$io.=.$this->g
33e40 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 73 etIO();.$io->writeError('<info>s
33e60 63 72 69 70 74 73 3a 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 cripts:</info>');.$table.=.array
33e80 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 72 69 70 74 73 20 61 73 20 24 6e 61 6d 65 20 3d ();.foreach.($scripts.as.$name.=
33ea0 3e 20 24 73 63 72 69 70 74 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 3b 0a >.$script).{.$description.=.'';.
33ec0 74 72 79 20 7b 0a 24 63 6d 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 try.{.$cmd.=.$this->getApplicati
33ee0 6f 6e 28 29 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 24 63 6d 64 20 69 6e 73 74 on()->find($name);.if.($cmd.inst
33f00 61 6e 63 65 6f 66 20 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 64 65 anceof.ScriptAliasCommand).{.$de
33f20 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 63 6d 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e scription.=.$cmd->getDescription
33f40 28 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ();.}.}.catch.(\Symfony\Componen
33f60 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f t\Console\Exception\CommandNotFo
33f80 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 24 74 61 62 6c 65 5b 5d 20 undException.$e).{...}.$table[].
33fa0 3d 20 61 72 72 61 79 28 27 20 20 27 2e 24 6e 61 6d 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e =.array('..'.$name,.$description
33fc0 29 3b 0a 7d 0a 0a 24 72 65 6e 64 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 );.}..$renderer.=.new.Table($out
33fe0 70 75 74 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 put);.$renderer->setStyle('compa
34000 63 74 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 ct');.$rendererStyle.=.$renderer
34020 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 ->getStyle();.$rendererStyle->se
34040 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 tVerticalBorderChar('');.$render
34060 65 72 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 erStyle->setCellRowContentFormat
34080 28 27 25 73 20 20 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 ('%s..');.$renderer->setRows($ta
340a0 62 6c 65 29 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c ble)->render();..return.0;.}.}.<
340c0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
340e0 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 er\Command;..use.Symfony\Compone
34100 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
34120 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
34140 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\InputOption;.use.Symfony\Co
34160 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d mponent\Console\Input\InputArgum
34180 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ent;.use.Symfony\Component\Conso
341a0 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 le\Output\OutputInterface;.....c
341c0 6c 61 73 73 20 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 lass.ScriptAliasCommand.extends.
341e0 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b 0a 70 BaseCommand.{.private.$script;.p
34200 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e rivate.$description;..public.fun
34220 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 64 65 73 63 ction.__construct($script,.$desc
34240 72 69 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 73 63 72 69 ription).{.$this->script.=.$scri
34260 70 74 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 65 6d 70 74 79 28 24 pt;.$this->description.=.empty($
34280 64 65 73 63 72 69 70 74 69 6f 6e 29 20 3f 20 27 52 75 6e 73 20 74 68 65 20 27 2e 24 73 63 72 69 description).?.'Runs.the.'.$scri
342a0 70 74 2e 27 20 73 63 72 69 70 74 20 61 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 pt.'.script.as.defined.in.compos
342c0 65 72 2e 6a 73 6f 6e 2e 27 20 3a 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 70 61 72 65 6e er.json.'.:.$description;..paren
342e0 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 t::__construct();.}..protected.f
34300 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 unction.configure().{.$this.->se
34320 74 4e 61 6d 65 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 tName($this->script).->setDescri
34340 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 2d 3e 73 65 74 44 ption($this->description).->setD
34360 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e efinition(array(.new.InputOption
34380 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('dev',.null,.InputOption::VALUE
343a0 5f 4e 4f 4e 45 2c 20 27 53 65 74 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 _NONE,.'Sets.the.dev.mode.'),.ne
343c0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e w.InputOption('no-dev',.null,.In
343e0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 putOption::VALUE_NONE,.'Disables
34400 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d .the.dev.mode.'),.new.InputArgum
34420 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 ent('args',.InputArgument::IS_AR
34440 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 RAY.|.InputArgument::OPTIONAL,.'
34460 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e '),.)).->setHelp(.<<<EOT.The.<in
34480 66 6f 3e 72 75 6e 2d 73 63 72 69 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e fo>run-script</info>.command.run
344a0 73 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 s.scripts.defined.in.composer.js
344c0 6f 6e 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 75 6e on:..<info>php.composer.phar.run
344e0 2d 73 63 72 69 70 74 20 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 0a -script.post-update-cmd</info>..
34500 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 Read.more.at.https://getcomposer
34520 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 72 75 6e 2d 73 63 72 69 70 74 0a 45 4f .org/doc/03-cli.md#run-script.EO
34540 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 T.).;.}..protected.function.exec
34560 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 ute(InputInterface.$input,.Outpu
34580 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 tInterface.$output).{.$composer.
345a0 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 61 72 67 73 20 3d =.$this->getComposer();..$args.=
345c0 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 72 65 74 75 72 6e .$input->getArguments();..return
345e0 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 .$composer->getEventDispatcher()
34600 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 2c 20 ->dispatchScript($this->script,.
34620 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e $input->getOption('dev').||.!$in
34640 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 2c 20 24 61 72 67 73 5b put->getOption('no-dev'),.$args[
34660 27 61 72 67 73 27 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 'args']);.}.}.<?php............n
34680 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 amespace.Composer\Command;..use.
346a0 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Composer\Factory;.use.Symfony\Co
346c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 mponent\Console\Input\InputInter
346e0 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
34700 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d ole\Input\InputArgument;.use.Sym
34720 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
34740 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c utOption;.use.Symfony\Component\
34760 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
34780 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 use.Composer\Repository\Composit
347a0 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 eRepository;.use.Composer\Reposi
347c0 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d tory\PlatformRepository;.use.Com
347e0 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 poser\Repository\RepositoryInter
34800 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e face;.use.Composer\Plugin\Comman
34820 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 dEvent;.use.Composer\Plugin\Plug
34840 69 6e 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 65 61 72 63 68 43 6f 6d 6d 61 6e inEvents;.....class.SearchComman
34860 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 d.extends.BaseCommand.{.protecte
34880 64 20 24 6d 61 74 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 77 4d 61 74 63 68 65 d.$matches;.protected.$lowMatche
348a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 6f 6b 65 6e 73 3b 0a s.=.array();.protected.$tokens;.
348c0 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 6e protected.$output;.protected.$on
348e0 6c 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 lyName;..protected.function.conf
34900 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 61 72 63 igure().{.$this.->setName('searc
34920 68 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 61 72 63 68 65 73 20 66 h').->setDescription('Searches.f
34940 6f 72 20 70 61 63 6b 61 67 65 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 or.packages.').->setDefinition(a
34960 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 6e 6c 79 2d 6e 61 6d 65 rray(.new.InputOption('only-name
34980 27 2c 20 27 4e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ',.'N',.InputOption::VALUE_NONE,
349a0 20 27 53 65 61 72 63 68 20 6f 6e 6c 79 20 69 6e 20 6e 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 .'Search.only.in.name'),.new.Inp
349c0 75 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f utOption('type',.'t',.InputOptio
349e0 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 53 65 61 72 63 68 20 66 6f 72 20 61 n::VALUE_REQUIRED,.'Search.for.a
34a00 20 73 70 65 63 69 66 69 63 20 70 61 63 6b 61 67 65 20 74 79 70 65 27 29 2c 0a 6e 65 77 20 49 6e .specific.package.type'),.new.In
34a20 70 75 74 41 72 67 75 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d putArgument('tokens',.InputArgum
34a40 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 ent::IS_ARRAY.|.InputArgument::R
34a60 45 51 55 49 52 45 44 2c 20 27 74 6f 6b 65 6e 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 27 29 EQUIRED,.'tokens.to.search.for')
34a80 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 65 61 72 63 ,.)).->setHelp(.<<<EOT.The.searc
34aa0 68 20 63 6f 6d 6d 61 6e 64 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 h.command.searches.for.packages.
34ac0 62 79 20 69 74 73 20 6e 61 6d 65 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 by.its.name.<info>php.composer.p
34ae0 68 61 72 20 73 65 61 72 63 68 20 73 79 6d 66 6f 6e 79 20 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 har.search.symfony.composer</inf
34b00 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 o>..Read.more.at.https://getcomp
34b20 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 65 61 72 63 68 0a 45 4f oser.org/doc/03-cli.md#search.EO
34b40 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 T.).;.}..protected.function.exec
34b60 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 ute(InputInterface.$input,.Outpu
34b80 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 70 6c 61 74 66 6f 72 tInterface.$output).{...$platfor
34ba0 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a mRepo.=.new.PlatformRepository;.
34bc0 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 28 24 63 6f 6d $io.=.$this->getIO();.if.(!($com
34be0 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 poser.=.$this->getComposer(false
34c00 29 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 ))).{.$composer.=.Factory::creat
34c20 65 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 20 61 72 72 61 79 28 29 2c 20 24 69 6e 70 75 e($this->getIO(),.array(),.$inpu
34c40 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 t->hasParameterOption('--no-plug
34c60 69 6e 73 27 29 29 3b 0a 7d 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 ins'));.}.$localRepo.=.$composer
34c80 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 ->getRepositoryManager()->getLoc
34ca0 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d alRepository();.$installedRepo.=
34cc0 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 .new.CompositeRepository(array($
34ce0 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 29 3b 0a 24 72 65 70 localRepo,.$platformRepo));.$rep
34d00 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 os.=.new.CompositeRepository(arr
34d20 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 ay_merge(array($installedRepo),.
34d40 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 $composer->getRepositoryManager(
34d60 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e )->getRepositories()));..$comman
34d80 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e dEvent.=.new.CommandEvent(Plugin
34da0 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 65 61 72 63 68 27 2c 20 24 69 6e 70 75 Events::COMMAND,.'search',.$inpu
34dc0 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 t,.$output);.$composer->getEvent
34de0 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 Dispatcher()->dispatch($commandE
34e00 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b vent->getName(),.$commandEvent);
34e20 0a 0a 24 6f 6e 6c 79 4e 61 6d 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ..$onlyName.=.$input->getOption(
34e40 27 6f 6e 6c 79 2d 6e 61 6d 65 27 29 3b 0a 24 74 79 70 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 'only-name');.$type.=.$input->ge
34e60 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 0a 24 66 6c 61 67 73 tOption('type').?:.null;..$flags
34e80 20 3d 20 24 6f 6e 6c 79 4e 61 6d 65 20 3f 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 .=.$onlyName.?.RepositoryInterfa
34ea0 63 65 3a 3a 53 45 41 52 43 48 5f 4e 41 4d 45 20 3a 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 ce::SEARCH_NAME.:.RepositoryInte
34ec0 72 66 61 63 65 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 3b 0a 24 72 65 73 75 6c 74 73 rface::SEARCH_FULLTEXT;.$results
34ee0 20 3d 20 24 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 .=.$repos->search(implode('.',.$
34f00 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 29 29 2c 20 24 input->getArgument('tokens')),.$
34f20 66 6c 61 67 73 2c 20 24 74 79 70 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 flags,.$type);..foreach.($result
34f40 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 72 65 73 75 s.as.$result).{.$io->write($resu
34f60 6c 74 5b 27 6e 61 6d 65 27 5d 20 2e 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 64 65 73 lt['name']...(isset($result['des
34f80 63 72 69 70 74 69 6f 6e 27 5d 29 20 3f 20 27 20 27 2e 20 24 72 65 73 75 6c 74 5b 27 64 65 73 63 cription']).?.'.'..$result['desc
34fa0 72 69 70 74 69 6f 6e 27 5d 20 3a 20 27 27 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ription'].:.''));.}.}.}.<?php...
34fc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d .........namespace.Composer\Comm
34fe0 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 and;..use.Composer\Composer;.use
35000 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c .Composer\Factory;.use.Composer\
35020 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 Config;.use.Composer\Util\Filesy
35040 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 4b 65 stem;.use.Composer\SelfUpdate\Ke
35060 79 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 56 65 72 73 ys;.use.Composer\SelfUpdate\Vers
35080 69 6f 6e 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 ions;.use.Composer\IO\IOInterfac
350a0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 69 6c 65 73 e;.use.Composer\Downloader\Files
350c0 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ystemException;.use.Symfony\Comp
350e0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
35100 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
35120 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 e\Input\InputOption;.use.Symfony
35140 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 \Component\Console\Input\InputAr
35160 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f gument;.use.Symfony\Component\Co
35180 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 nsole\Output\OutputInterface;.us
351a0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 e.Symfony\Component\Finder\Finde
351c0 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 65 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 r;.......class.SelfUpdateCommand
351e0 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 48 4f 4d .extends.BaseCommand.{.const.HOM
35200 45 50 41 47 45 20 3d 20 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 3b 0a 63 6f 6e 73 74 EPAGE.=.'getcomposer.org';.const
35220 20 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 20 3d 20 27 2d 6f 6c 64 2e 70 68 61 72 27 3b 0a .OLD_INSTALL_EXT.=.'-old.phar';.
35240 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a .protected.function.configure().
35260 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 6c 66 2d 75 70 64 61 74 65 27 29 {.$this.->setName('self-update')
35280 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 73 65 6c 66 75 70 64 61 74 65 27 .->setAliases(array('selfupdate'
352a0 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 64 61 74 65 73 20 63 6f 6d )).->setDescription('Updates.com
352c0 70 6f 73 65 72 2e 70 68 61 72 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e poser.phar.to.the.latest.version
352e0 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 .').->setDefinition(array(.new.I
35300 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 6f 6c 6c 62 61 63 6b 27 2c 20 27 72 27 2c 20 49 6e 70 75 nputOption('rollback',.'r',.Inpu
35320 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 76 65 72 74 20 74 6f 20 tOption::VALUE_NONE,.'Revert.to.
35340 61 6e 20 6f 6c 64 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 an.older.installation.of.compose
35360 72 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 65 61 6e 2d 62 61 63 6b r'),.new.InputOption('clean-back
35380 75 70 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e ups',.null,.InputOption::VALUE_N
353a0 4f 4e 45 2c 20 27 44 65 6c 65 74 65 20 6f 6c 64 20 62 61 63 6b 75 70 73 20 64 75 72 69 6e 67 20 ONE,.'Delete.old.backups.during.
353c0 61 6e 20 75 70 64 61 74 65 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 63 75 72 72 65 6e an.update..This.makes.the.curren
353e0 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 74 68 65 20 6f 6e 6c 79 20 62 t.version.of.composer.the.only.b
35400 61 63 6b 75 70 20 61 76 61 69 6c 61 62 6c 65 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 ackup.available.after.the.update
35420 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c '),.new.InputArgument('version',
35440 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 76 .InputArgument::OPTIONAL,.'The.v
35460 65 72 73 69 6f 6e 20 74 6f 20 75 70 64 61 74 65 20 74 6f 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 ersion.to.update.to'),.new.Input
35480 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 Option('no-progress',.null,.Inpu
354a0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 tOption::VALUE_NONE,.'Do.not.out
354c0 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e put.download.progress.'),.new.In
354e0 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6b 65 79 73 27 2c 20 6e 75 6c 6c 2c 20 49 putOption('update-keys',.null,.I
35500 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 6f 6d 70 74 20 nputOption::VALUE_NONE,.'Prompt.
35520 75 73 65 72 20 66 6f 72 20 61 20 6b 65 79 20 75 70 64 61 74 65 27 29 2c 0a 6e 65 77 20 49 6e 70 user.for.a.key.update'),.new.Inp
35540 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 utOption('stable',.null,.InputOp
35560 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 75 70 64 61 tion::VALUE_NONE,.'Force.an.upda
35580 74 65 20 74 6f 20 74 68 65 20 73 74 61 62 6c 65 20 63 68 61 6e 6e 65 6c 27 29 2c 0a 6e 65 77 20 te.to.the.stable.channel'),.new.
355a0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 76 69 65 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 InputOption('preview',.null,.Inp
355c0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 utOption::VALUE_NONE,.'Force.an.
355e0 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 70 72 65 76 69 65 77 20 63 68 61 6e 6e 65 6c 27 29 2c update.to.the.preview.channel'),
35600 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6e 61 70 73 68 6f 74 27 2c 20 6e 75 6c .new.InputOption('snapshot',.nul
35620 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 l,.InputOption::VALUE_NONE,.'For
35640 63 65 20 61 6e 20 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 73 6e 61 70 73 68 6f 74 20 63 68 61 ce.an.update.to.the.snapshot.cha
35660 6e 6e 65 6c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 65 74 2d 63 68 61 nnel'),.new.InputOption('set-cha
35680 6e 6e 65 6c 2d 6f 6e 6c 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 nnel-only',.null,.InputOption::V
356a0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 73 74 6f 72 65 20 74 68 65 20 63 68 61 6e 6e ALUE_NONE,.'Only.store.the.chann
356c0 65 6c 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 20 61 6e 64 20 74 68 65 6e 20 65 el.as.the.default.one.and.then.e
356e0 78 69 74 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 xit'),.)).->setHelp(.<<<EOT.The.
35700 3c 69 6e 66 6f 3e 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 <info>self-update</info>.command
35720 20 63 68 65 63 6b 73 20 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 20 66 6f 72 20 6e 65 77 65 .checks.getcomposer.org.for.newe
35740 72 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 61 6e 64 20 69 66 20 66 6f r.versions.of.composer.and.if.fo
35760 75 6e 64 2c 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 6c 61 74 65 73 74 2e 0a 0a 3c 69 6e 66 6f und,.installs.the.latest...<info
35780 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f >php.composer.phar.self-update</
357a0 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 info>..Read.more.at.https://getc
357c0 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 65 6c 66 2d 75 omposer.org/doc/03-cli.md#self-u
357e0 70 64 61 74 65 2d 73 65 6c 66 75 70 64 61 74 65 2d 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f pdate-selfupdate-.EOT.).;.}..pro
35800 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 tected.function.execute(InputInt
35820 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
35840 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 output).{.$config.=.Factory::cre
35860 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 ateConfig();..if.($config->get('
35880 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 62 61 73 65 55 disable-tls').===.true).{.$baseU
358a0 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 3b rl.=.'http://'...self::HOMEPAGE;
358c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 .}.else.{.$baseUrl.=.'https://'.
358e0 2e 20 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 ..self::HOMEPAGE;.}..$io.=.$this
35900 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 46 ->getIO();.$remoteFilesystem.=.F
35920 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 actory::createRemoteFilesystem($
35940 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 20 3d 20 6e io,.$config);..$versionsUtil.=.n
35960 65 77 20 56 65 72 73 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 ew.Versions($config,.$remoteFile
35980 73 79 73 74 65 6d 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 73 74 61 62 system);....foreach.(array('stab
359a0 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e 61 70 73 68 6f 74 27 29 20 61 73 20 24 le',.'preview',.'snapshot').as.$
359c0 63 68 61 6e 6e 65 6c 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e channel).{.if.($input->getOption
359e0 28 24 63 68 61 6e 6e 65 6c 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 73 65 74 ($channel)).{.$versionsUtil->set
35a00 43 68 61 6e 6e 65 6c 28 24 63 68 61 6e 6e 65 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 Channel($channel);.}.}..if.($inp
35a20 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 65 74 2d 63 68 61 6e 6e 65 6c 2d 6f 6e 6c 79 27 ut->getOption('set-channel-only'
35a40 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 63 )).{.return.0;.}..$cacheDir.=.$c
35a60 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 69 72 27 29 3b 0a 24 72 6f 6c 6c 62 61 onfig->get('cache-dir');.$rollba
35a80 63 6b 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 61 74 61 2d 64 69 72 27 29 ckDir.=.$config->get('data-dir')
35aa0 3b 0a 24 68 6f 6d 65 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a ;.$home.=.$config->get('home');.
35ac0 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 20 3d 20 72 65 61 6c 70 61 74 68 28 24 5f 53 45 52 56 $localFilename.=.realpath($_SERV
35ae0 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 20 3f 3a 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 ER['argv'][0]).?:.$_SERVER['argv
35b00 27 5d 5b 30 5d 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 '][0];..if.($input->getOption('u
35b20 70 64 61 74 65 2d 6b 65 79 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 65 pdate-keys')).{.return.$this->fe
35b40 74 63 68 4b 65 79 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 74 6d 70 tchKeys($io,.$config);.}....$tmp
35b60 44 69 72 20 3d 20 69 73 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c Dir.=.is_writable(dirname($local
35b80 46 69 6c 65 6e 61 6d 65 29 29 20 3f 20 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e Filename)).?.dirname($localFilen
35ba0 61 6d 65 29 20 3a 20 24 63 61 63 68 65 44 69 72 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 77 72 69 ame).:.$cacheDir;....if.(!is_wri
35bc0 74 61 62 6c 65 28 24 74 6d 70 44 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 table($tmpDir)).{.throw.new.File
35be0 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 systemException('Composer.update
35c00 20 66 61 69 6c 65 64 3a 20 74 68 65 20 22 27 2e 24 74 6d 70 44 69 72 2e 27 22 20 64 69 72 65 63 .failed:.the."'.$tmpDir.'".direc
35c20 74 6f 72 79 20 75 73 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 74 65 6d 70 20 66 tory.used.to.download.the.temp.f
35c40 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 27 29 3b 0a 7d 0a 0a 0a ile.could.not.be.written');.}...
35c60 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 70 .if.(function_exists('posix_getp
35c80 77 75 69 64 27 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 wuid').&&.function_exists('posix
35ca0 5f 67 65 74 65 75 69 64 27 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 55 73 65 72 20 3d 20 70 6f 73 _geteuid')).{.$composeUser.=.pos
35cc0 69 78 5f 67 65 74 70 77 75 69 64 28 70 6f 73 69 78 5f 67 65 74 65 75 69 64 28 29 29 3b 0a 24 68 ix_getpwuid(posix_geteuid());.$h
35ce0 6f 6d 65 4f 77 6e 65 72 20 3d 20 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 28 66 69 6c 65 6f 77 omeOwner.=.posix_getpwuid(fileow
35d00 6e 65 72 28 24 68 6f 6d 65 29 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 55 ner($home));.if.(isset($composeU
35d20 73 65 72 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 68 6f 6d 65 4f 77 6e 65 72 ser['name']).&&.isset($homeOwner
35d40 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 6e 61 6d 65 27 ['name']).&&.$composeUser['name'
35d60 5d 20 21 3d 3d 20 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 5d 29 20 7b 0a 24 69 6f 2d ].!==.$homeOwner['name']).{.$io-
35d80 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 75 >writeError('<warning>You.are.ru
35da0 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 61 73 20 22 27 2e 24 63 6f 6d 70 6f 73 65 55 73 65 nning.composer.as."'.$composeUse
35dc0 72 5b 27 6e 61 6d 65 27 5d 2e 27 22 2c 20 77 68 69 6c 65 20 22 27 2e 24 68 6f 6d 65 2e 27 22 20 r['name'].'",.while."'.$home.'".
35de0 69 73 20 6f 77 6e 65 64 20 62 79 20 22 27 2e 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 is.owned.by."'.$homeOwner['name'
35e00 5d 2e 27 22 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 ].'"</warning>');.}.}..if.($inpu
35e20 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 6f 6c 6c 62 61 63 6b 27 29 29 20 7b 0a 72 65 74 75 t->getOption('rollback')).{.retu
35e40 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6c 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 24 72 6f 6c rn.$this->rollback($output,.$rol
35e60 6c 62 61 63 6b 44 69 72 2c 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 24 6c lbackDir,.$localFilename);.}..$l
35e80 61 74 65 73 74 20 3d 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 atest.=.$versionsUtil->getLatest
35ea0 28 29 3b 0a 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 6c 61 74 65 73 74 5b 27 76 65 ();.$latestVersion.=.$latest['ve
35ec0 72 73 69 6f 6e 27 5d 3b 0a 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 69 6e 70 75 74 rsion'];.$updateVersion.=.$input
35ee0 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 20 3f 3a 20 24 6c 61 74 ->getArgument('version').?:.$lat
35f00 65 73 74 56 65 72 73 69 6f 6e 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b estVersion;..if.(preg_match('{^[
35f20 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 20 0-9a-f]{40}$}',.$updateVersion).
35f40 26 26 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 20 21 3d 3d 20 24 6c 61 74 65 73 74 56 65 72 &&.$updateVersion.!==.$latestVer
35f60 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e sion).{.$io->writeError('<error>
35f80 59 6f 75 20 63 61 6e 20 6e 6f 74 20 75 70 64 61 74 65 20 74 6f 20 61 20 73 70 65 63 69 66 69 63 You.can.not.update.to.a.specific
35fa0 20 53 48 41 2d 31 20 61 73 20 74 68 6f 73 65 20 70 68 61 72 73 20 61 72 65 20 6e 6f 74 20 61 76 .SHA-1.as.those.phars.are.not.av
35fc0 61 69 6c 61 62 6c 65 20 66 6f 72 20 64 6f 77 6e 6c 6f 61 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a ailable.for.download</error>');.
35fe0 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 .return.1;.}..if.(Composer::VERS
36000 49 4f 4e 20 3d 3d 3d 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 ION.===.$updateVersion).{.$io->w
36020 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 59 6f 75 20 61 72 65 riteError(sprintf('<info>You.are
36040 20 61 6c 72 65 61 64 79 20 75 73 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 .already.using.composer.version.
36060 25 73 20 28 25 73 20 63 68 61 6e 6e 65 6c 29 2e 3c 2f 69 6e 66 6f 3e 27 2c 20 24 75 70 64 61 74 %s.(%s.channel).</info>',.$updat
36080 65 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e eVersion,.$versionsUtil->getChan
360a0 6e 65 6c 28 29 29 29 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f nel()));....if.($input->getOptio
360c0 6e 28 27 63 6c 65 61 6e 2d 62 61 63 6b 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 n('clean-backups')).{.$this->cle
360e0 61 6e 42 61 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 74 68 69 73 2d 3e 67 anBackups($rollbackDir,.$this->g
36100 65 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 etLastBackupVersion($rollbackDir
36120 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 74 65 6d 70 46 69 6c 65 6e 61 6d ));.}..return.0;.}..$tempFilenam
36140 65 20 3d 20 24 74 6d 70 44 69 72 20 2e 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 6c 6f e.=.$tmpDir...'/'...basename($lo
36160 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 27 2e 70 68 61 72 27 29 2e 27 2d 74 65 6d 70 2e 70 68 61 calFilename,.'.phar').'-temp.pha
36180 72 27 3b 0a 24 62 61 63 6b 75 70 46 69 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 2f 25 r';.$backupFile.=.sprintf(.'%s/%
361a0 73 2d 25 73 25 73 27 2c 0a 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 0a 73 74 72 74 72 28 43 6f 6d s-%s%s',.$rollbackDir,.strtr(Com
361c0 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 2c 20 27 20 3a 27 2c 20 27 5f 2d 27 29 poser::RELEASE_DATE,.'.:',.'_-')
361e0 2c 0a 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 30 2d 39 61 2d 66 5d 7b 37 7d 29 5b ,.preg_replace('{^([0-9a-f]{7})[
36200 30 2d 39 61 2d 66 5d 7b 33 33 7d 24 7d 27 2c 20 27 24 31 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 0-9a-f]{33}$}',.'$1',.Composer::
36220 56 45 52 53 49 4f 4e 29 2c 0a 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 0a VERSION),.self::OLD_INSTALL_EXT.
36240 29 3b 0a 0a 24 75 70 64 61 74 69 6e 67 54 6f 54 61 67 20 3d 20 21 70 72 65 67 5f 6d 61 74 63 68 );..$updatingToTag.=.!preg_match
36260 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 ('{^[0-9a-f]{40}$}',.$updateVers
36280 69 6f 6e 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 22 55 70 64 61 74 ion);..$io->write(sprintf("Updat
362a0 69 6e 67 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 ing.to.version.<info>%s</info>.(
362c0 25 73 20 63 68 61 6e 6e 65 6c 29 2e 22 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 2c 20 24 %s.channel).",.$updateVersion,.$
362e0 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 29 29 3b 0a 24 72 versionsUtil->getChannel()));.$r
36300 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 20 3d 20 24 62 61 73 65 55 72 6c 20 2e 20 28 24 75 70 64 emoteFilename.=.$baseUrl...($upd
36320 61 74 69 6e 67 54 6f 54 61 67 20 3f 20 22 2f 64 6f 77 6e 6c 6f 61 64 2f 7b 24 75 70 64 61 74 65 atingToTag.?."/download/{$update
36340 56 65 72 73 69 6f 6e 7d 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 22 20 3a 20 27 2f 63 6f 6d 70 Version}/composer.phar".:.'/comp
36360 6f 73 65 72 2e 70 68 61 72 27 29 3b 0a 24 73 69 67 6e 61 74 75 72 65 20 3d 20 24 72 65 6d 6f 74 oser.phar');.$signature.=.$remot
36380 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 48 eFilesystem->getContents(self::H
363a0 4f 4d 45 50 41 47 45 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 2e 27 2e 73 69 67 27 2c OMEPAGE,.$remoteFilename.'.sig',
363c0 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 27 2c 20 .false);.$io->writeError('...',.
363e0 66 61 6c 73 65 29 3b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 63 6f 70 79 28 false);.$remoteFilesystem->copy(
36400 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 2c self::HOMEPAGE,.$remoteFilename,
36420 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 2c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 .$tempFilename,.!$input->getOpti
36440 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 on('no-progress'));.$io->writeEr
36460 72 6f 72 28 27 27 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 65 6d 70 ror('');..if.(!file_exists($temp
36480 46 69 6c 65 6e 61 6d 65 29 20 7c 7c 20 21 24 73 69 67 6e 61 74 75 72 65 29 20 7b 0a 24 69 6f 2d Filename).||.!$signature).{.$io-
364a0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 6f 77 6e 6c 6f 61 64 >writeError('<error>The.download
364c0 20 6f 66 20 74 68 65 20 6e 65 77 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 66 61 69 .of.the.new.composer.version.fai
364e0 6c 65 64 20 66 6f 72 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 72 65 61 73 6f 6e 3c 2f 65 72 led.for.an.unexpected.reason</er
36500 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 78 74 ror>');..return.1;.}....if.(!ext
36520 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 24 63 6f 6e ension_loaded('openssl').&&.$con
36540 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 29 20 7b 0a 24 69 6f 2d 3e fig->get('disable-tls')).{.$io->
36560 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 69 6e 67 20 70 68 writeError('<warning>Skipping.ph
36580 61 72 20 73 69 67 6e 61 74 75 72 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 61 73 20 79 6f 75 ar.signature.verification.as.you
365a0 20 68 61 76 65 20 64 69 73 61 62 6c 65 64 20 4f 70 65 6e 53 53 4c 20 76 69 61 20 63 6f 6e 66 69 .have.disabled.OpenSSL.via.confi
365c0 67 2e 64 69 73 61 62 6c 65 2d 74 6c 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 g.disable-tls</warning>');.}.els
365e0 65 20 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 e.{.if.(!extension_loaded('opens
36600 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 sl')).{.throw.new.\RuntimeExcept
36620 69 6f 6e 28 27 54 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 ion('The.openssl.extension.is.re
36640 71 75 69 72 65 64 20 66 6f 72 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 73 20 74 6f 20 62 65 quired.for.phar.signatures.to.be
36660 20 76 65 72 69 66 69 65 64 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c .verified.but.it.is.not.availabl
36680 65 2e 20 27 0a 2e 20 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 65 6e 61 62 6c 65 20 74 68 e..'...'If.you.can.not.enable.th
366a0 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 64 69 73 e.openssl.extension,.you.can.dis
366c0 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 able.this.error,.at.your.own.ris
366e0 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c k,.by.setting.the.\'disable-tls\
36700 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 27 29 3b 0a 7d 0a 0a 24 73 69 67 46 69 6c 65 '.option.to.true.');.}..$sigFile
36720 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 2e 24 68 6f 6d 65 2e 27 2f 27 20 2e 20 28 24 75 70 64 61 74 .=.'file://'.$home.'/'...($updat
36740 69 6e 67 54 6f 54 61 67 20 3f 20 27 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 20 3a 20 27 6b 65 ingToTag.?.'keys.tags.pub'.:.'ke
36760 79 73 2e 64 65 76 2e 70 75 62 27 29 3b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 ys.dev.pub');.if.(!file_exists($
36780 73 69 67 46 69 6c 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 0a 24 sigFile)).{.file_put_contents(.$
367a0 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 2c 0a 3c 3c 3c 44 45 56 50 55 42 4b home.'/keys.dev.pub',.<<<DEVPUBK
367c0 45 59 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 4d 49 EY.-----BEGIN.PUBLIC.KEY-----.MI
367e0 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 ICIjANBgkqhkiG9w0BAQEFAAOCAg8AMI
36800 49 43 43 67 4b 43 41 67 45 41 6e 42 44 48 6a 5a 53 36 65 30 5a 4d 6f 4b 33 78 54 44 37 66 0a 46 ICCgKCAgEAnBDHjZS6e0ZMoK3xTD7f.F
36820 4e 43 7a 6c 58 6a 58 2f 41 69 65 32 64 69 74 38 51 58 41 30 33 70 53 72 4f 54 62 61 4d 6e 78 4f NCzlXjX/Aie2dit8QXA03pSrOTbaMnxO
36840 4e 33 68 55 4c 34 37 4c 7a 33 67 31 53 43 36 59 4a 45 4d 56 48 72 30 7a 59 71 34 65 6c 57 69 0a N3hUL47Lz3g1SC6YJEMVHr0zYq4elWi.
36860 69 33 65 63 46 45 67 7a 4c 63 6a 2b 70 5a 4d 35 58 36 71 57 75 32 4f 7a 7a 34 76 57 78 33 4a 59 i3ecFEgzLcj+pZM5X6qWu2Ozz4vWx3JY
36880 6f 31 2f 61 2f 48 59 64 4f 75 57 39 65 33 6c 77 53 38 56 74 53 30 41 56 4a 41 2b 55 38 58 30 41 o1/a/HYdOuW9e3lwS8VtS0AVJA+U8X0A
368a0 0a 68 5a 6e 42 6d 47 70 6c 74 48 68 4f 38 68 50 4b 48 67 6b 4a 74 6b 54 55 78 43 68 65 54 63 62 .hZnBmGpltHhO8hPKHgkJtkTUxCheTcb
368c0 71 6e 34 77 47 48 6c 38 5a 32 53 65 64 69 44 63 50 54 4c 77 71 65 7a 57 4b 55 66 72 59 7a 75 31 qn4wGHl8Z2SediDcPTLwqezWKUfrYzu1
368e0 66 0a 6f 2f 6a 33 57 46 77 46 73 36 47 74 4b 34 77 64 59 74 69 58 72 2b 79 73 70 42 5a 48 4f 33 f.o/j3WFwFs6GtK4wdYtiXr+yspBZHO3
36900 79 31 75 64 66 38 65 46 46 47 63 62 32 56 33 45 61 4c 4f 72 74 66 75 72 36 58 51 56 69 7a 6a 4f y1udf8eFFGcb2V3EaLOrtfur6XQVizjO
36920 75 6b 0a 38 6c 77 35 7a 7a 73 65 31 51 70 2f 6b 6c 48 71 62 44 52 73 6a 53 7a 4a 36 69 4c 36 46 uk.8lw5zzse1Qp/klHqbDRsjSzJ6iL6F
36940 34 61 79 6e 42 63 36 45 75 71 74 2f 38 63 63 4e 41 49 7a 30 72 4c 6a 4c 68 4f 72 61 65 79 6a 34 4aynBc6Euqt/8ccNAIz0rLjLhOraeyj4
36960 65 4e 6e 0a 38 69 6f 6b 77 4d 4b 69 58 70 63 72 51 4c 54 4b 48 2b 52 48 31 4a 43 75 4f 56 78 51 eNn.8iokwMKiXpcrQLTKH+RH1JCuOVxQ
36980 34 33 36 62 4a 77 62 53 73 70 31 56 77 69 71 66 74 50 51 69 65 4e 2b 74 7a 71 79 2b 45 69 48 4a 436bJwbSsp1VwiqftPQieN+tzqy+EiHJ
369a0 4a 6d 47 66 0a 54 42 41 62 57 63 6e 63 69 63 43 6b 39 71 32 6d 64 2b 41 6d 68 4e 62 76 48 4f 34 JmGf.TBAbWcncicCk9q2md+AmhNbvHO4
369c0 50 57 62 62 7a 39 54 7a 43 37 48 4a 62 34 36 30 6a 79 57 65 75 4d 45 76 77 33 67 4e 49 70 45 6f PWbbz9TzC7HJb460jyWeuMEvw3gNIpEo
369e0 32 6a 59 61 39 0a 70 4d 56 36 63 56 71 6e 53 61 2b 77 4f 63 30 44 37 70 43 39 61 36 62 6e 65 30 2jYa9.pMV6cVqnSa+wOc0D7pC9a6bne0
36a00 62 76 4c 63 6d 33 53 2b 77 36 49 35 69 44 42 33 6c 5a 73 62 33 41 39 55 74 52 69 53 50 37 61 47 bvLcm3S+w6I5iDB3lZsb3A9UtRiSP7aG
36a20 53 6f 37 44 37 32 0a 38 74 43 38 2b 63 49 67 5a 63 49 37 6b 39 76 6a 76 4f 71 48 2b 64 37 73 64 So7D72.8tC8+cIgZcI7k9vjvOqH+d7sd
36a40 4f 55 32 79 50 43 6e 52 59 36 77 46 68 36 32 2f 67 38 62 44 6e 55 70 72 35 36 6e 5a 4e 31 47 38 OU2yPCnRY6wFh62/g8bDnUpr56nZN1G8
36a60 39 47 77 4d 34 64 34 0a 72 2f 54 55 37 42 51 51 49 7a 73 5a 67 41 69 71 4f 47 58 76 56 6b 6c 49 9GwM4d4.r/TU7BQQIzsZgAiqOGXvVklI
36a80 67 41 4d 69 56 30 69 75 63 67 66 33 72 4e 42 4c 6a 6a 65 4e 45 77 4e 53 54 54 47 39 46 30 43 74 gAMiV0iucgf3rNBLjjeNEwNSTTG9F0Ct
36aa0 51 2b 37 4a 4c 77 61 45 0a 77 53 45 75 41 75 52 6d 2b 70 52 71 69 38 42 52 6e 51 2f 47 4b 55 63 Q+7JLwaE.wSEuAuRm+pRqi8BRnQ/GKUc
36ac0 43 41 77 45 41 41 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d CAwEAAQ==.-----END.PUBLIC.KEY---
36ae0 2d 2d 0a 44 45 56 50 55 42 4b 45 59 0a 29 3b 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e --.DEVPUBKEY.);..file_put_conten
36b00 74 73 28 0a 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 2c 0a 3c 3c 3c 54 ts(.$home.'/keys.tags.pub',.<<<T
36b20 41 47 53 50 55 42 4b 45 59 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d AGSPUBKEY.-----BEGIN.PUBLIC.KEY-
36b40 2d 2d 2d 2d 0a 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f ----.MIICIjANBgkqhkiG9w0BAQEFAAO
36b60 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 30 56 69 2f 32 4b 36 61 70 43 56 6a 37 36 6e CAg8AMIICCgKCAgEA0Vi/2K6apCVj76n
36b80 43 6e 43 6c 32 0a 4d 51 55 50 64 4b 2b 41 39 65 71 6b 59 42 61 63 58 6f 32 77 51 42 59 6d 79 56 CnCl2.MQUPdK+A9eqkYBacXo2wQBYmyV
36ba0 6c 58 6d 32 2f 6e 2f 5a 73 58 36 70 43 4c 59 50 51 54 48 79 72 35 6a 58 62 6b 51 7a 42 77 38 53 lXm2/n/ZsX6pCLYPQTHyr5jXbkQzBw8S
36bc0 4b 71 50 64 6c 68 0a 76 41 37 4e 70 62 4d 65 4e 43 7a 37 77 50 2f 41 6f 62 76 55 58 4d 38 78 51 KqPdlh.vA7NpbMeNCz7wP/AobvUXM8xQ
36be0 75 58 4b 62 4d 44 54 59 32 75 5a 34 4f 37 73 4d 2b 50 66 47 62 70 74 4b 50 42 47 4c 65 38 5a 38 uXKbMDTY2uZ4O7sM+PfGbptKPBGLe8Z8
36c00 64 32 73 55 6e 54 4f 0a 62 58 74 58 36 4c 72 6a 31 33 77 6b 52 74 6f 37 73 74 2f 77 2f 59 70 33 d2sUnTO.bXtX6Lrj13wkRto7st/w/Yp3
36c20 33 52 48 65 39 53 6c 71 6b 69 69 53 34 4d 73 48 31 6a 42 6b 63 49 6b 45 48 73 52 61 76 65 5a 7a 3RHe9SlqkiiS4MsH1jBkcIkEHsRaveZz
36c40 65 64 55 61 78 59 30 4d 0a 6d 62 61 30 75 50 68 47 55 49 6e 70 50 7a 45 48 77 72 59 71 42 42 45 edUaxY0M.mba0uPhGUInpPzEHwrYqBBE
36c60 74 57 76 50 39 37 74 32 76 74 66 78 38 49 35 71 76 32 38 6b 68 30 59 36 74 2b 6a 6e 6a 4c 31 55 tWvP97t2vtfx8I5qv28kh0Y6t+jnjL1U
36c80 72 69 64 32 69 75 51 5a 66 0a 6e 6f 43 4d 46 49 4f 75 34 76 6b 73 4b 35 48 78 4a 78 78 72 4e 30 rid2iuQZf.noCMFIOu4vksK5HxJxxrN0
36ca0 47 4f 6d 47 6d 77 56 51 6a 4f 4f 74 78 6b 77 69 6b 4e 69 6f 74 5a 47 50 52 34 4b 73 56 6a 38 4e GOmGmwVQjOOtxkwikNiotZGPR4KsVj8N
36cc0 6e 42 72 4c 58 37 6f 47 75 4d 0a 6e 51 76 47 63 69 69 75 2b 4b 6f 43 32 72 33 48 44 42 72 70 44 nBrLX7oGuM.nQvGciiu+KoC2r3HDBrpD
36ce0 65 42 56 64 4f 57 78 44 7a 54 35 52 34 69 49 30 4b 6f 4c 7a 46 68 32 70 4b 71 77 62 59 2b 6f 62 eBVdOWxDzT5R4iI0KoLzFh2pKqwbY+ob
36d00 4e 50 53 32 62 6a 2b 32 64 67 4a 0a 72 56 33 56 35 4a 6a 72 79 34 32 51 4f 43 42 4e 33 63 38 38 NPS2bj+2dgJ.rV3V5Jjry42QOCBN3c88
36d20 77 55 31 50 4b 66 74 4f 4c 6a 32 45 43 70 65 77 59 36 76 6e 45 34 37 38 49 69 70 69 45 75 37 45 wU1PKftOLj2ECpewY6vnE478IipiEu7E
36d40 41 64 4b 38 5a 77 6a 32 4c 6d 54 72 0a 52 4b 51 55 53 61 39 6b 37 67 67 42 6b 59 5a 57 41 65 4f AdK8Zwj2LmTr.RKQUSa9k7ggBkYZWAeO
36d60 2f 32 41 67 30 65 79 33 67 32 62 67 37 65 71 6b 2b 73 48 45 71 35 79 6e 49 58 64 35 6c 68 76 36 /2Ag0ey3g2bg7eqk+sHEq5ynIXd5lhv6
36d80 74 43 35 50 42 64 48 6c 57 69 70 44 4b 0a 74 6c 32 49 78 69 45 6e 65 6a 6e 4f 6d 41 7a 47 56 69 tC5PBdHlWipDK.tl2IxiEnejnOmAzGVi
36da0 76 45 31 59 47 64 75 59 42 6a 4e 2b 6d 6a 78 44 56 79 38 4b 47 42 72 6a 6e 7a 31 4a 50 67 41 76 vE1YGduYBjN+mjxDVy8KGBrjnz1JPgAv
36dc0 67 64 77 4a 32 64 59 77 34 52 73 63 2f 65 0a 54 7a 43 46 57 47 6b 2f 48 4d 36 61 34 66 30 49 7a gdwJ2dYw4Rsc/e.TzCFWGk/HM6a4f0Iz
36de0 42 57 62 4a 35 6f 74 30 50 49 69 34 61 6d 6b 30 37 49 6f 74 42 58 44 57 77 71 44 69 51 54 77 79 BWbJ5ot0PIi4amk07IotBXDWwqDiQTwy
36e00 75 47 43 79 6d 35 45 71 57 51 32 42 44 39 35 0a 52 47 76 38 39 42 50 44 2b 32 44 4c 6e 4a 79 73 uGCym5EqWQ2BD95.RGv89BPD+2DLnJys
36e20 6e 67 73 76 56 61 55 43 41 77 45 41 41 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 ngsvVaUCAwEAAQ==.-----END.PUBLIC
36e40 20 4b 45 59 2d 2d 2d 2d 2d 0a 54 41 47 53 50 55 42 4b 45 59 0a 29 3b 0a 7d 0a 0a 24 70 75 62 6b .KEY-----.TAGSPUBKEY.);.}..$pubk
36e60 65 79 69 64 20 3d 20 6f 70 65 6e 73 73 6c 5f 70 6b 65 79 5f 67 65 74 5f 70 75 62 6c 69 63 28 24 eyid.=.openssl_pkey_get_public($
36e80 73 69 67 46 69 6c 65 29 3b 0a 24 61 6c 67 6f 20 3d 20 64 65 66 69 6e 65 64 28 27 4f 50 45 4e 53 sigFile);.$algo.=.defined('OPENS
36ea0 53 4c 5f 41 4c 47 4f 5f 53 48 41 33 38 34 27 29 20 3f 20 4f 50 45 4e 53 53 4c 5f 41 4c 47 4f 5f SL_ALGO_SHA384').?.OPENSSL_ALGO_
36ec0 53 48 41 33 38 34 20 3a 20 27 53 48 41 33 38 34 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 SHA384.:.'SHA384';.if.(!in_array
36ee0 28 27 73 68 61 33 38 34 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 ('sha384',.array_map('strtolower
36f00 27 2c 20 6f 70 65 6e 73 73 6c 5f 67 65 74 5f 6d 64 5f 6d 65 74 68 6f 64 73 28 29 29 29 29 20 7b ',.openssl_get_md_methods()))).{
36f20 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 48 .throw.new.\RuntimeException('SH
36f40 41 33 38 34 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 79 6f 75 72 20 6f 70 A384.is.not.supported.by.your.op
36f60 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 76 65 72 69 66 enssl.extension,.could.not.verif
36f80 79 20 74 68 65 20 70 68 61 72 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 27 29 3b 0a 7d 0a 24 y.the.phar.file.integrity');.}.$
36fa0 73 69 67 6e 61 74 75 72 65 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 73 69 67 6e 61 74 75 signature.=.json_decode($signatu
36fc0 72 65 2c 20 74 72 75 65 29 3b 0a 24 73 69 67 6e 61 74 75 72 65 20 3d 20 62 61 73 65 36 34 5f 64 re,.true);.$signature.=.base64_d
36fe0 65 63 6f 64 65 28 24 73 69 67 6e 61 74 75 72 65 5b 27 73 68 61 33 38 34 27 5d 29 3b 0a 24 76 65 ecode($signature['sha384']);.$ve
37000 72 69 66 69 65 64 20 3d 20 31 20 3d 3d 3d 20 6f 70 65 6e 73 73 6c 5f 76 65 72 69 66 79 28 66 69 rified.=.1.===.openssl_verify(fi
37020 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 2c 20 le_get_contents($tempFilename),.
37040 24 73 69 67 6e 61 74 75 72 65 2c 20 24 70 75 62 6b 65 79 69 64 2c 20 24 61 6c 67 6f 29 3b 0a 6f $signature,.$pubkeyid,.$algo);.o
37060 70 65 6e 73 73 6c 5f 66 72 65 65 5f 6b 65 79 28 24 70 75 62 6b 65 79 69 64 29 3b 0a 69 66 20 28 penssl_free_key($pubkeyid);.if.(
37080 21 24 76 65 72 69 66 69 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 !$verified).{.throw.new.\Runtime
370a0 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 20 64 69 Exception('The.phar.signature.di
370c0 64 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 64 6f 77 6e 6c 6f 61 d.not.match.the.file.you.downloa
370e0 64 65 64 2c 20 74 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 72 20 70 75 62 6c 69 63 20 6b 65 79 73 ded,.this.means.your.public.keys
37100 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 6f 72 20 74 68 61 74 20 74 68 65 20 70 68 61 72 20 66 .are.outdated.or.that.the.phar.f
37120 69 6c 65 20 69 73 20 63 6f 72 72 75 70 74 2f 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 ile.is.corrupt/has.been.modified
37140 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ');.}.}....if.($input->getOption
37160 28 27 63 6c 65 61 6e 2d 62 61 63 6b 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 ('clean-backups')).{.$this->clea
37180 6e 42 61 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 nBackups($rollbackDir);.}..if.($
371a0 65 72 72 20 3d 20 24 74 68 69 73 2d 3e 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c err.=.$this->setLocalPhar($local
371c0 46 69 6c 65 6e 61 6d 65 2c 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 Filename,.$tempFilename,.$backup
371e0 46 69 6c 65 29 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 3b File)).{.@unlink($tempFilename);
37200 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 69 6c .$io->writeError('<error>The.fil
37220 65 20 69 73 20 63 6f 72 72 75 70 74 65 64 20 28 27 2e 24 65 72 72 2d 3e 67 65 74 4d 65 73 73 61 e.is.corrupted.('.$err->getMessa
37240 67 65 28 29 2e 27 29 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 ge().').</error>');.$io->writeEr
37260 72 6f 72 28 27 3c 65 72 72 6f 72 3e 50 6c 65 61 73 65 20 72 65 2d 72 75 6e 20 74 68 65 20 73 65 ror('<error>Please.re-run.the.se
37280 6c 66 2d 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 72 79 20 61 67 61 69 6e 2e 3c lf-update.command.to.try.again.<
372a0 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c /error>');..return.1;.}..if.(fil
372c0 65 5f 65 78 69 73 74 73 28 24 62 61 63 6b 75 70 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 e_exists($backupFile)).{.$io->wr
372e0 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 65 20 3c 69 6e 66 6f 3e 63 6f 6d iteError(sprintf(.'Use.<info>com
37300 70 6f 73 65 72 20 73 65 6c 66 2d 75 70 64 61 74 65 20 2d 2d 72 6f 6c 6c 62 61 63 6b 3c 2f 69 6e poser.self-update.--rollback</in
37320 66 6f 3e 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e fo>.to.return.to.version.<commen
37340 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 t>%s</comment>',.Composer::VERSI
37360 4f 4e 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ON.));.}.else.{.$io->writeError(
37380 27 3c 77 61 72 6e 69 6e 67 3e 41 20 62 61 63 6b 75 70 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e '<warning>A.backup.of.the.curren
373a0 74 20 76 65 72 73 69 6f 6e 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 t.version.could.not.be.written.t
373c0 6f 20 27 2e 24 62 61 63 6b 75 70 46 69 6c 65 2e 27 2c 20 6e 6f 20 72 6f 6c 6c 62 61 63 6b 20 70 o.'.$backupFile.',.no.rollback.p
373e0 6f 73 73 69 62 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 ossible</warning>');.}.}..protec
37400 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 4b 65 79 73 28 49 4f 49 6e 74 65 72 66 61 ted.function.fetchKeys(IOInterfa
37420 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 28 21 24 ce.$io,.Config.$config).{.if.(!$
37440 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 io->isInteractive()).{.throw.new
37460 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 75 62 6c 69 63 20 6b 65 79 73 20 .\RuntimeException('Public.keys.
37480 63 61 6e 20 6e 6f 74 20 62 65 20 66 65 74 63 68 65 64 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 can.not.be.fetched.in.non-intera
374a0 63 74 69 76 65 20 6d 6f 64 65 2c 20 70 6c 65 61 73 65 20 72 75 6e 20 43 6f 6d 70 6f 73 65 72 20 ctive.mode,.please.run.Composer.
374c0 69 6e 74 65 72 61 63 74 69 76 65 6c 79 27 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 interactively');.}..$io->write('
374e0 4f 70 65 6e 20 3c 69 6e 66 6f 3e 68 74 74 70 73 3a 2f 2f 63 6f 6d 70 6f 73 65 72 2e 67 69 74 68 Open.<info>https://composer.gith
37500 75 62 2e 69 6f 2f 70 75 62 6b 65 79 73 2e 68 74 6d 6c 3c 2f 69 6e 66 6f 3e 20 74 6f 20 66 69 6e ub.io/pubkeys.html</info>.to.fin
37520 64 20 74 68 65 20 6c 61 74 65 73 74 20 6b 65 79 73 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 d.the.latest.keys');..$validator
37540 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 70 72 65 67 .=.function.($value).{.if.(!preg
37560 5f 6d 61 74 63 68 28 27 7b 5e 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d _match('{^-----BEGIN.PUBLIC.KEY-
37580 2d 2d 2d 2d 24 7d 27 2c 20 74 72 69 6d 28 24 76 61 6c 75 65 29 29 29 20 7b 0a 74 68 72 6f 77 20 ----$}',.trim($value))).{.throw.
375a0 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 new.\UnexpectedValueException('I
375c0 6e 76 61 6c 69 64 20 69 6e 70 75 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 nvalid.input');.}..return.trim($
375e0 76 61 6c 75 65 29 2e 22 5c 6e 22 3b 0a 7d 3b 0a 0a 24 64 65 76 4b 65 79 20 3d 20 27 27 3b 0a 77 value)."\n";.};..$devKey.=.'';.w
37600 68 69 6c 65 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2d 2d 2d 2d 2d 42 45 47 49 4e 20 hile.(!preg_match('{(-----BEGIN.
37620 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 2e 2b 3f 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 PUBLIC.KEY-----.+?-----END.PUBLI
37640 43 20 4b 45 59 2d 2d 2d 2d 2d 29 7d 73 27 2c 20 24 64 65 76 4b 65 79 2c 20 24 6d 61 74 63 68 29 C.KEY-----)}s',.$devKey,.$match)
37660 29 20 7b 0a 24 64 65 76 4b 65 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 ).{.$devKey.=.$io->askAndValidat
37680 65 28 27 45 6e 74 65 72 20 44 65 76 20 2f 20 53 6e 61 70 73 68 6f 74 20 50 75 62 6c 69 63 20 4b e('Enter.Dev./.Snapshot.Public.K
376a0 65 79 20 28 69 6e 63 6c 75 64 69 6e 67 20 6c 69 6e 65 73 20 77 69 74 68 20 2d 2d 2d 2d 2d 29 3a ey.(including.lines.with.-----):
376c0 20 27 2c 20 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 3d 20 .',.$validator);.while.($line.=.
376e0 24 69 6f 2d 3e 61 73 6b 28 27 27 29 29 20 7b 0a 24 64 65 76 4b 65 79 20 2e 3d 20 74 72 69 6d 28 $io->ask('')).{.$devKey..=.trim(
37700 24 6c 69 6e 65 29 2e 22 5c 6e 22 3b 0a 69 66 20 28 74 72 69 6d 28 24 6c 69 6e 65 29 20 3d 3d 3d $line)."\n";.if.(trim($line).===
37720 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 29 20 7b 0a 62 .'-----END.PUBLIC.KEY-----').{.b
37740 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6b reak;.}.}.}.file_put_contents($k
37760 65 79 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f eyPath.=.$config->get('home').'/
37780 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 2c 20 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 24 69 6f 2d 3e keys.dev.pub',.$match[0]);.$io->
377a0 77 72 69 74 65 28 27 53 74 6f 72 65 64 20 6b 65 79 20 77 69 74 68 20 66 69 6e 67 65 72 70 72 69 write('Stored.key.with.fingerpri
377c0 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 6b 65 79 50 61 nt:.'...Keys::fingerprint($keyPa
377e0 74 68 29 29 3b 0a 0a 24 74 61 67 73 4b 65 79 20 3d 20 27 27 3b 0a 77 68 69 6c 65 20 28 21 70 72 th));..$tagsKey.=.'';.while.(!pr
37800 65 67 5f 6d 61 74 63 68 28 27 7b 28 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 eg_match('{(-----BEGIN.PUBLIC.KE
37820 59 2d 2d 2d 2d 2d 2e 2b 3f 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d Y-----.+?-----END.PUBLIC.KEY----
37840 2d 29 7d 73 27 2c 20 24 74 61 67 73 4b 65 79 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 61 67 -)}s',.$tagsKey,.$match)).{.$tag
37860 73 4b 65 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 27 45 6e 74 65 sKey.=.$io->askAndValidate('Ente
37880 72 20 54 61 67 73 20 50 75 62 6c 69 63 20 4b 65 79 20 28 69 6e 63 6c 75 64 69 6e 67 20 6c 69 6e r.Tags.Public.Key.(including.lin
378a0 65 73 20 77 69 74 68 20 2d 2d 2d 2d 2d 29 3a 20 27 2c 20 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a es.with.-----):.',.$validator);.
378c0 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 27 29 29 20 7b 0a 24 while.($line.=.$io->ask('')).{.$
378e0 74 61 67 73 4b 65 79 20 2e 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 2e 22 5c 6e 22 3b 0a 69 66 20 tagsKey..=.trim($line)."\n";.if.
37900 28 74 72 69 6d 28 24 6c 69 6e 65 29 20 3d 3d 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 (trim($line).===.'-----END.PUBLI
37920 43 20 4b 45 59 2d 2d 2d 2d 2d 27 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 66 69 6c 65 C.KEY-----').{.break;.}.}.}.file
37940 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6b 65 79 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 _put_contents($keyPath.=.$config
37960 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 2c 20 ->get('home').'/keys.tags.pub',.
37980 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 74 6f 72 65 64 20 6b $match[0]);.$io->write('Stored.k
379a0 65 79 20 77 69 74 68 20 66 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 ey.with.fingerprint:.'...Keys::f
379c0 69 6e 67 65 72 70 72 69 6e 74 28 24 6b 65 79 50 61 74 68 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 ingerprint($keyPath));..$io->wri
379e0 74 65 28 27 50 75 62 6c 69 63 20 6b 65 79 73 20 73 74 6f 72 65 64 20 69 6e 20 27 2e 24 63 6f 6e te('Public.keys.stored.in.'.$con
37a00 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 fig->get('home'));.}..protected.
37a20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 function.rollback(OutputInterfac
37a40 65 20 24 6f 75 74 70 75 74 2c 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 6c 6f 63 61 6c 46 e.$output,.$rollbackDir,.$localF
37a60 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 20 3d 20 24 74 ilename).{.$rollbackVersion.=.$t
37a80 68 69 73 2d 3e 67 65 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 his->getLastBackupVersion($rollb
37aa0 61 63 6b 44 69 72 29 3b 0a 69 66 20 28 21 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 29 20 ackDir);.if.(!$rollbackVersion).
37ac0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 {.throw.new.\UnexpectedValueExce
37ae0 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a ption('Composer.rollback.failed:
37b00 20 6e 6f 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 74 6f 20 72 6f 6c 6c 20 62 61 63 6b 20 74 6f .no.installation.to.roll.back.to
37b20 20 69 6e 20 22 27 2e 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2e 27 22 27 29 3b 0a 7d 0a 0a 24 6f 6c .in."'.$rollbackDir.'"');.}..$ol
37b40 64 46 69 6c 65 20 3d 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 20 2e 20 27 2f 27 20 2e 20 24 72 6f dFile.=.$rollbackDir...'/'...$ro
37b60 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 20 2e 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c llbackVersion...self::OLD_INSTAL
37b80 4c 5f 45 58 54 3b 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 6f 6c 64 46 69 6c 65 29 29 20 L_EXT;..if.(!is_file($oldFile)).
37ba0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 {.throw.new.FilesystemException(
37bc0 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 6f 'Composer.rollback.failed:."'.$o
37be0 6c 64 46 69 6c 65 2e 27 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 27 29 3b 0a ldFile.'".could.not.be.found');.
37c00 7d 0a 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 6f 6c 64 46 69 6c 65 29 29 20 7b 0a }.if.(!is_readable($oldFile)).{.
37c20 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 throw.new.FilesystemException('C
37c40 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 6f 6c 64 omposer.rollback.failed:."'.$old
37c60 46 69 6c 65 2e 27 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 27 29 3b 0a 7d 0a 0a File.'".could.not.be.read');.}..
37c80 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 $io.=.$this->getIO();.$io->write
37ca0 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 22 52 6f 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 76 Error(sprintf("Rolling.back.to.v
37cc0 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 2e 22 2c 20 24 72 6f 6c 6c 62 ersion.<info>%s</info>.",.$rollb
37ce0 61 63 6b 56 65 72 73 69 6f 6e 29 29 3b 0a 69 66 20 28 24 65 72 72 20 3d 20 24 74 68 69 73 2d 3e ackVersion));.if.($err.=.$this->
37d00 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 6f 6c setLocalPhar($localFilename,.$ol
37d20 64 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f dFile)).{.$io->writeError('<erro
37d40 72 3e 54 68 65 20 62 61 63 6b 75 70 20 66 69 6c 65 20 77 61 73 20 63 6f 72 72 75 70 74 65 64 20 r>The.backup.file.was.corrupted.
37d60 28 27 2e 24 65 72 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 2e 3c 2f 65 72 72 6f 72 ('.$err->getMessage().').</error
37d80 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a >');..return.1;.}..return.0;.}..
37da0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 .......protected.function.setLoc
37dc0 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 6e 65 77 46 69 6c 65 6e alPhar($localFilename,.$newFilen
37de0 61 6d 65 2c 20 24 62 61 63 6b 75 70 54 61 72 67 65 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 74 72 79 ame,.$backupTarget.=.null).{.try
37e00 20 7b 0a 40 63 68 6d 6f 64 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 66 69 6c 65 70 65 72 6d .{.@chmod($newFilename,.fileperm
37e20 73 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 3b 0a 69 66 20 28 21 69 6e 69 5f 67 65 74 s($localFilename));.if.(!ini_get
37e40 28 27 70 68 61 72 2e 72 65 61 64 6f 6e 6c 79 27 29 29 20 7b 0a 0a 20 24 70 68 61 72 20 3d 20 6e ('phar.readonly')).{...$phar.=.n
37e60 65 77 20 5c 50 68 61 72 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 20 75 6e 73 65 74 28 ew.\Phar($newFilename);...unset(
37e80 24 70 68 61 72 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 61 63 6b 75 70 54 61 72 67 65 74 20 26 $phar);.}....if.($backupTarget.&
37ea0 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 20 7b &.file_exists($localFilename)).{
37ec0 0a 40 63 6f 70 79 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 54 61 .@copy($localFilename,.$backupTa
37ee0 72 67 65 74 29 3b 0a 7d 0a 0a 72 65 6e 61 6d 65 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 24 rget);.}..rename($newFilename,.$
37f00 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 20 localFilename);..return.null;.}.
37f20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 65 20 catch.(\Exception.$e).{.if.(!$e.
37f40 69 6e 73 74 61 6e 63 65 6f 66 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 instanceof.\UnexpectedValueExcep
37f60 74 69 6f 6e 20 26 26 20 21 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 68 61 72 45 78 63 65 tion.&&.!$e.instanceof.\PharExce
37f80 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b ption).{.throw.$e;.}..return.$e;
37fa0 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 42 61 .}.}..protected.function.cleanBa
37fc0 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 65 78 63 65 70 74 20 3d 20 6e 75 ckups($rollbackDir,.$except.=.nu
37fe0 6c 6c 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6c 64 49 6e 73 ll).{.$finder.=.$this->getOldIns
38000 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 24 tallationFinder($rollbackDir);.$
38020 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 io.=.$this->getIO();.$fs.=.new.F
38040 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 ilesystem;..foreach.($finder.as.
38060 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 20 26 26 20 24 66 69 6c 65 2d 3e 67 $file).{.if.($except.&&.$file->g
38080 65 74 42 61 73 65 6e 61 6d 65 28 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 etBasename(self::OLD_INSTALL_EXT
380a0 29 20 3d 3d 3d 20 24 65 78 63 65 70 74 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 66 69 ).===.$except).{.continue;.}.$fi
380c0 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 le.=.(string).$file;.$io->writeE
380e0 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 52 65 6d 6f 76 69 6e 67 3a 20 27 2e 24 66 69 6c 65 2e 27 3c rror('<info>Removing:.'.$file.'<
38100 2f 69 6e 66 6f 3e 27 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 3b 0a 7d 0a /info>');.$fs->remove($file);.}.
38120 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 73 74 42 61 63 }..protected.function.getLastBac
38140 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 0a 7b 0a 24 66 69 6e 64 kupVersion($rollbackDir).{.$find
38160 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 er.=.$this->getOldInstallationFi
38180 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 24 66 69 6e 64 65 72 2d 3e 73 6f 72 nder($rollbackDir);.$finder->sor
381a0 74 42 79 4e 61 6d 65 28 29 3b 0a 24 66 69 6c 65 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f tByName();.$files.=.iterator_to_
381c0 61 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 66 69 6c 65 array($finder);..if.(count($file
381e0 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 65 6e 64 28 24 66 69 6c 65 73 s)).{.return.basename(end($files
38200 29 2c 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 29 3b 0a 7d 0a 0a 72 65 ),.self::OLD_INSTALL_EXT);.}..re
38220 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f turn.false;.}..protected.functio
38240 6e 20 67 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c n.getOldInstallationFinder($roll
38260 62 61 63 6b 44 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 backDir).{.$finder.=.Finder::cre
38280 61 74 65 28 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 66 69 6c 65 73 28 29 0a 2d 3e 6e 61 6d ate().->depth(0).->files().->nam
382a0 65 28 27 2a 27 20 2e 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 29 0a 2d e('*'...self::OLD_INSTALL_EXT).-
382c0 3e 69 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 69 6e 64 >in($rollbackDir);..return.$find
382e0 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 er;.}.}.<?php............namespa
38300 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ce.Composer\Command;..use.Compos
38320 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 er\Composer;.use.Composer\Depend
38340 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 3b 0a 75 73 65 20 encyResolver\DefaultPolicy;.use.
38360 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c Composer\DependencyResolver\Pool
38380 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 ;.use.Composer\Json\JsonFile;.us
383a0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a e.Composer\Package\BasePackage;.
383c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 use.Composer\Package\CompletePac
383e0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b kageInterface;.use.Composer\Pack
38400 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 age\PackageInterface;.use.Compos
38420 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 er\Package\Version\VersionParser
38440 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 ;.use.Composer\Package\Version\V
38460 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 ersionSelector;.use.Composer\Plu
38480 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 gin\CommandEvent;.use.Composer\P
384a0 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\PluginEvents;.use.Composer
384c0 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 \Repository\ArrayRepository;.use
384e0 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 .Composer\Repository\ComposerRep
38500 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ository;.use.Composer\Repository
38520 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \CompositeRepository;.use.Compos
38540 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 er\Repository\PlatformRepository
38560 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 ;.use.Composer\Repository\Reposi
38580 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 toryFactory;.use.Composer\Reposi
385a0 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f tory\RepositoryInterface;.use.Co
385c0 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 mposer\Semver\Constraint\Constra
385e0 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 intInterface;.use.Composer\Semve
38600 72 5c 53 65 6d 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 r\Semver;.use.Composer\Spdx\Spdx
38620 4c 69 63 65 6e 73 65 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 Licenses;.use.Composer\Util\Plat
38640 66 6f 72 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 form;.use.Symfony\Component\Cons
38660 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 ole\Formatter\OutputFormatterSty
38680 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c le;.use.Symfony\Component\Consol
386a0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
386c0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
386e0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
38700 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 \Console\Input\InputOption;.use.
38720 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
38740 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f \OutputInterface;.use.Symfony\Co
38760 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c 3b 0a 0a 0a 0a 0a 0a 0a mponent\Console\Terminal;.......
38780 0a 63 6c 61 73 73 20 53 68 6f 77 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 .class.ShowCommand.extends.BaseC
387a0 6f 6d 6d 61 6e 64 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 ommand.{..protected.$versionPars
387c0 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6c 6f 72 73 3b 0a 0a 0a 70 72 69 76 61 74 65 er;.protected.$colors;...private
387e0 20 24 70 6f 6f 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 .$pool;..protected.function.conf
38800 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 68 6f 77 27 igure().{.$this.->setName('show'
38820 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 69 6e 66 6f 27 29 29 0a 2d 3e ).->setAliases(array('info')).->
38840 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e 66 6f 72 6d 61 74 69 6f setDescription('Shows.informatio
38860 6e 20 61 62 6f 75 74 20 70 61 63 6b 61 67 65 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 n.about.packages.').->setDefinit
38880 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 ion(array(.new.InputArgument('pa
388a0 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c ckage',.InputArgument::OPTIONAL,
388c0 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 2e 20 4f 72 20 61 20 6e 61 6d 65 20 .'Package.to.inspect..Or.a.name.
388e0 69 6e 63 6c 75 64 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64 20 28 2a 29 20 74 6f 20 66 69 6c 74 including.a.wildcard.(*).to.filt
38900 65 72 20 6c 69 73 74 73 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 65 61 64 2e 27 29 2c er.lists.of.packages.instead.'),
38920 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e .new.InputArgument('version',.In
38940 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 73 69 6f 6e 20 putArgument::OPTIONAL,.'Version.
38960 6f 72 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 69 6e 73 70 65 63 74 or.version.constraint.to.inspect
38980 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 2c 20 6e 75 6c 6c 2c '),.new.InputOption('all',.null,
389a0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 .InputOption::VALUE_NONE,.'List.
389c0 61 6c 6c 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 all.packages'),.new.InputOption(
389e0 27 69 6e 73 74 61 6c 6c 65 64 27 2c 20 27 69 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 'installed',.'i',.InputOption::V
38a00 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 ALUE_NONE,.'List.installed.packa
38a20 67 65 73 20 6f 6e 6c 79 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e ges.only.(enabled.by.default,.on
38a40 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 ly.present.for.BC).'),.new.Input
38a60 4f 70 74 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 2c 20 27 70 27 2c 20 49 6e 70 75 74 4f 70 74 Option('platform',.'p',.InputOpt
38a80 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 70 6c 61 74 66 6f 72 6d 20 ion::VALUE_NONE,.'List.platform.
38aa0 70 61 63 6b 61 67 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e packages.only'),.new.InputOption
38ac0 28 27 61 76 61 69 6c 61 62 6c 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ('available',.'a',.InputOption::
38ae0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b VALUE_NONE,.'List.available.pack
38b00 61 67 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 65 ages.only'),.new.InputOption('se
38b20 6c 66 27 2c 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e lf',.'s',.InputOption::VALUE_NON
38b40 45 2c 20 27 53 68 6f 77 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d E,.'Show.the.root.package.inform
38b60 61 74 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f ation'),.new.InputOption('name-o
38b80 6e 6c 79 27 2c 20 27 4e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f nly',.'N',.InputOption::VALUE_NO
38ba0 4e 45 2c 20 27 4c 69 73 74 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 6f 6e 6c 79 27 29 2c 0a NE,.'List.package.names.only'),.
38bc0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 27 50 27 2c 20 49 6e 70 new.InputOption('path',.'P',.Inp
38be0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 70 61 63 6b utOption::VALUE_NONE,.'Show.pack
38c00 61 67 65 20 70 61 74 68 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 72 age.paths'),.new.InputOption('tr
38c20 65 65 27 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e ee',.'t',.InputOption::VALUE_NON
38c40 45 2c 20 27 4c 69 73 74 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 61 20 74 E,.'List.the.dependencies.as.a.t
38c60 72 65 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c ree'),.new.InputOption('latest',
38c80 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 .'l',.InputOption::VALUE_NONE,.'
38ca0 53 68 6f 77 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 Show.the.latest.version'),.new.I
38cc0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 2c 20 27 6f 27 2c 20 49 6e 70 75 nputOption('outdated',.'o',.Inpu
38ce0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 74 68 65 20 6c tOption::VALUE_NONE,.'Show.the.l
38d00 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 62 75 74 20 6f 6e 6c 79 20 66 6f 72 20 70 61 63 6b 61 atest.version.but.only.for.packa
38d20 67 65 73 20 74 68 61 74 20 61 72 65 20 6f 75 74 64 61 74 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 ges.that.are.outdated'),.new.Inp
38d40 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 utOption('ignore',.null,.InputOp
38d60 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 6e 70 75 74 4f 70 74 69 tion::VALUE_REQUIRED.|.InputOpti
38d80 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 49 67 6e 6f 72 65 20 73 70 65 63 on::VALUE_IS_ARRAY,.'Ignore.spec
38da0 69 66 69 65 64 20 70 61 63 6b 61 67 65 28 73 29 2e 20 55 73 65 20 69 74 20 77 69 74 68 20 74 68 ified.package(s)..Use.it.with.th
38dc0 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 64 6f 6e 5c 27 e.--outdated.option.if.you.don\'
38de0 74 20 77 61 6e 74 20 74 6f 20 62 65 20 69 6e 66 6f 72 6d 65 64 20 61 62 6f 75 74 20 6e 65 77 20 t.want.to.be.informed.about.new.
38e00 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 versions.of.some.packages.'),.ne
38e20 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 2c 20 27 6d 27 2c w.InputOption('minor-only',.'m',
38e40 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 .InputOption::VALUE_NONE,.'Show.
38e60 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 20 6d 69 6e 6f 72 20 53 65 only.packages.that.have.minor.Se
38e80 6d 56 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 75 70 64 61 74 65 73 2e 20 55 73 65 20 77 69 74 mVer-compatible.updates..Use.wit
38ea0 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 h.the.--outdated.option.'),.new.
38ec0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 2c 20 27 44 27 2c 20 49 6e 70 75 74 InputOption('direct',.'D',.Input
38ee0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6f 6e 6c 79 20 Option::VALUE_NONE,.'Shows.only.
38f00 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 64 69 72 65 63 74 6c 79 20 72 65 71 75 69 packages.that.are.directly.requi
38f20 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 red.by.the.root.package'),.new.I
38f40 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 nputOption('strict',.null,.Input
38f60 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f Option::VALUE_NONE,.'Return.a.no
38f80 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 n-zero.exit.code.when.there.are.
38fa0 6f 75 74 64 61 74 65 64 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 outdated.packages'),.new.InputOp
38fc0 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a tion('format',.'f',.InputOption:
38fe0 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 :VALUE_REQUIRED,.'Format.of.the.
39000 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 74 65 78 74 27 29 2c 0a output:.text.or.json',.'text'),.
39020 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 68 6f 77 20 63 6f )).->setHelp(.<<<EOT.The.show.co
39040 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 mmand.displays.detailed.informat
39060 69 6f 6e 20 61 62 6f 75 74 20 61 20 70 61 63 6b 61 67 65 2c 20 6f 72 0a 6c 69 73 74 73 20 61 6c ion.about.a.package,.or.lists.al
39080 6c 20 70 61 63 6b 61 67 65 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 l.packages.available...Read.more
390a0 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f .at.https://getcomposer.org/doc/
390c0 30 33 2d 63 6c 69 2e 6d 64 23 73 68 6f 77 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 03-cli.md#show.EOT.).;.}..protec
390e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 ted.function.execute(InputInterf
39100 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ace.$input,.OutputInterface.$out
39120 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 put).{.$this->versionParser.=.ne
39140 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 w.VersionParser;.if.($input->get
39160 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 53 74 79 Option('tree')).{.$this->initSty
39180 6c 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 les($output);.}..$composer.=.$th
391a0 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 24 69 6f 20 3d 20 24 74 is->getComposer(false);.$io.=.$t
391c0 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 his->getIO();..if.($input->getOp
391e0 74 69 6f 6e 28 27 69 6e 73 74 61 6c 6c 65 64 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 tion('installed')).{.$io->writeE
39200 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 rror('<warning>You.are.using.the
39220 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 69 6e 73 74 61 6c 6c 65 64 22 2e 20 .deprecated.option."installed"..
39240 4f 6e 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 73 68 6f 77 Only.installed.packages.are.show
39260 6e 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 20 54 68 65 20 2d 2d 61 6c 6c 20 6f 70 74 69 n.by.default.now..The.--all.opti
39280 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 68 6f 77 20 61 6c 6c 20 70 61 63 6b 61 on.can.be.used.to.show.all.packa
392a0 67 65 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d ges.</warning>');.}..if.($input-
392c0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 29 20 7b 0a 24 69 6e 70 75 74 >getOption('outdated')).{.$input
392e0 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 74 72 75 65 29 3b 0a 7d 20 65 ->setOption('latest',.true);.}.e
39300 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 lseif.($input->getOption('ignore
39320 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e ')).{.$io->writeError('<warning>
39340 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 20 22 69 67 6e 6f 72 65 You.are.using.the.option."ignore
39360 22 20 66 6f 72 20 61 63 74 69 6f 6e 20 6f 74 68 65 72 20 74 68 61 6e 20 22 6f 75 74 64 61 74 65 ".for.action.other.than."outdate
39380 64 22 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 d",.it.will.be.ignored.</warning
393a0 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 >');.}..if.($input->getOption('d
393c0 69 72 65 63 74 27 29 20 26 26 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 irect').&&.($input->getOption('a
393e0 6c 6c 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c ll').||.$input->getOption('avail
39400 61 62 6c 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 6c 61 able').||.$input->getOption('pla
39420 74 66 6f 72 6d 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 tform'))).{.$io->writeError('The
39440 20 2d 2d 64 69 72 65 63 74 20 28 2d 44 29 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 .--direct.(-D).option.is.not.usa
39460 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d 2d 61 6c 6c 2c 20 2d ble.in.combination.with.--all,.-
39480 2d 70 6c 61 74 66 6f 72 6d 20 28 2d 70 29 20 6f 72 20 2d 2d 61 76 61 69 6c 61 62 6c 65 20 28 2d -platform.(-p).or.--available.(-
394a0 61 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e a)');..return.1;.}..if.($input->
394c0 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 20 26 26 20 28 24 69 6e 70 75 74 2d 3e 67 65 getOption('tree').&&.($input->ge
394e0 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 tOption('all').||.$input->getOpt
39500 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 ion('available'))).{.$io->writeE
39520 72 72 6f 72 28 27 54 68 65 20 2d 2d 74 72 65 65 20 28 2d 74 29 20 6f 70 74 69 6f 6e 20 69 73 20 rror('The.--tree.(-t).option.is.
39540 6e 6f 74 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d not.usable.in.combination.with.-
39560 2d 61 6c 6c 20 6f 72 20 2d 2d 61 76 61 69 6c 61 62 6c 65 20 28 2d 61 29 27 29 3b 0a 0a 72 65 74 -all.or.--available.(-a)');..ret
39580 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 urn.1;.}..if.($input->getOption(
395a0 27 74 72 65 65 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 'tree').&&.$input->getOption('la
395c0 74 65 73 74 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 20 2d test')).{.$io->writeError('The.-
395e0 2d 74 72 65 65 20 28 2d 74 29 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 62 6c 65 20 -tree.(-t).option.is.not.usable.
39600 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d 2d 6c 61 74 65 73 74 20 28 2d 6c in.combination.with.--latest.(-l
39620 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 20 3d 20 24 69 6e )');..return.1;.}..$format.=.$in
39640 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 3b 0a 69 66 20 28 21 69 put->getOption('format');.if.(!i
39660 6e 5f 61 72 72 61 79 28 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 28 27 74 65 78 74 27 2c 20 27 n_array($format,.array('text',.'
39680 6a 73 6f 6e 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e json'))).{.$io->writeError(sprin
396a0 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 25 73 22 2e 20 53 65 65 tf('Unsupported.format."%s"..See
396c0 20 68 65 6c 70 20 66 6f 72 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 73 2e 27 2c 20 24 .help.for.supported.formats.',.$
396e0 66 6f 72 6d 61 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 0a 20 24 70 6c 61 74 66 format));..return.1;.}....$platf
39700 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 63 6f 6d ormOverrides.=.array();.if.($com
39720 70 6f 73 65 72 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 poser).{.$platformOverrides.=.$c
39740 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 omposer->getConfig()->get('platf
39760 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 orm').?:.array();.}.$platformRep
39780 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 o.=.new.PlatformRepository(array
397a0 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 68 70 56 65 72 (),.$platformOverrides);.$phpVer
397c0 73 69 6f 6e 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 sion.=.$platformRepo->findPackag
397e0 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 e('php',.'*')->getVersion();..if
39800 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 65 6c 66 27 29 29 20 7b 0a 24 .($input->getOption('self')).{.$
39820 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e package.=.$this->getComposer()->
39840 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 getPackage();.$repos.=.$installe
39860 64 52 65 70 6f 20 3d 20 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 dRepo.=.new.ArrayRepository(arra
39880 79 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e y($package));.}.elseif.($input->
398a0 67 65 74 4f 70 74 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 29 29 20 7b 0a 24 72 65 70 6f 73 20 getOption('platform')).{.$repos.
398c0 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f =.$installedRepo.=.$platformRepo
398e0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 ;.}.elseif.($input->getOption('a
39900 76 61 69 6c 61 62 6c 65 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 vailable')).{.$installedRepo.=.$
39920 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 platformRepo;.if.($composer).{.$
39940 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 repos.=.new.CompositeRepository(
39960 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 $composer->getRepositoryManager(
39980 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a )->getRepositories());.}.else.{.
399a0 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 $defaultRepos.=.RepositoryFactor
399c0 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e y::defaultRepos($io);.$repos.=.n
399e0 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 64 65 66 61 75 6c 74 52 ew.CompositeRepository($defaultR
39a00 65 70 6f 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f epos);.$io->writeError('No.compo
39a20 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 ser.json.found.in.the.current.di
39a40 72 65 63 74 6f 72 79 2c 20 73 68 6f 77 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b 61 rectory,.showing.available.packa
39a60 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 ges.from.'...implode(',.',.array
39a80 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 _keys($defaultRepos)));.}.}.else
39aa0 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 26 26 20 if.($input->getOption('all').&&.
39ac0 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f $composer).{.$localRepo.=.$compo
39ae0 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 ser->getRepositoryManager()->get
39b00 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 LocalRepository();.$installedRep
39b20 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 o.=.new.CompositeRepository(arra
39b40 79 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 29 3b 0a 24 y($localRepo,.$platformRepo));.$
39b60 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 repos.=.new.CompositeRepository(
39b80 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f array_merge(array($installedRepo
39ba0 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 ),.$composer->getRepositoryManag
39bc0 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 20 65 6c 73 er()->getRepositories()));.}.els
39be0 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 29 20 7b eif.($input->getOption('all')).{
39c00 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f .$defaultRepos.=.RepositoryFacto
39c20 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 ry::defaultRepos($io);.$io->writ
39c40 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 eError('No.composer.json.found.i
39c60 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 68 6f 77 69 6e 67 n.the.current.directory,.showing
39c80 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 .available.packages.from.'...imp
39ca0 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 lode(',.',.array_keys($defaultRe
39cc0 70 6f 73 29 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f pos)));.$installedRepo.=.$platfo
39ce0 72 6d 52 65 70 6f 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 rmRepo;.$repos.=.new.CompositeRe
39d00 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 pository(array_merge(array($inst
39d20 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 3b 0a 7d 20 65 alledRepo),.$defaultRepos));.}.e
39d40 6c 73 65 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 lse.{.$repos.=.$installedRepo.=.
39d60 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 $this->getComposer()->getReposit
39d80 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 oryManager()->getLocalRepository
39da0 28 29 3b 0a 24 72 6f 6f 74 50 6b 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 ();.$rootPkg.=.$this->getCompose
39dc0 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c r()->getPackage();.if.(!$install
39de0 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 26 26 20 28 24 72 6f 6f 74 50 edRepo->getPackages().&&.($rootP
39e00 6b 67 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 7c 7c 20 24 72 6f 6f 74 50 6b 67 2d 3e 67 kg->getRequires().||.$rootPkg->g
39e20 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 etDevRequires())).{.$io->writeEr
39e40 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 69 6e ror('<warning>No.dependencies.in
39e60 73 74 61 6c 6c 65 64 2e 20 54 72 79 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 69 6e stalled..Try.running.composer.in
39e80 73 74 61 6c 6c 20 6f 72 20 75 70 64 61 74 65 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a stall.or.update.</warning>');.}.
39ea0 7d 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e }..if.($composer).{.$commandEven
39ec0 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 t.=.new.CommandEvent(PluginEvent
39ee0 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 68 6f 77 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 s::COMMAND,.'show',.$input,.$out
39f00 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 put);.$composer->getEventDispatc
39f20 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 her()->dispatch($commandEvent->g
39f40 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 etName(),.$commandEvent);.}..if.
39f60 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 20 26 26 20 ($input->getOption('latest').&&.
39f80 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 null.===.$composer).{.$io->write
39fa0 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e Error('No.composer.json.found.in
39fc0 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 64 69 73 61 62 6c 69 6e .the.current.directory,.disablin
39fe0 67 20 22 6c 61 74 65 73 74 22 20 6f 70 74 69 6f 6e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 g."latest".option');.$input->set
3a000 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 70 61 63 Option('latest',.false);.}..$pac
3a020 6b 61 67 65 46 69 6c 74 65 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 kageFilter.=.$input->getArgument
3a040 28 27 70 61 63 6b 61 67 65 27 29 3b 0a 0a 0a 20 69 66 20 28 28 24 70 61 63 6b 61 67 65 46 69 6c ('package');....if.(($packageFil
3a060 74 65 72 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 ter.&&.false.===.strpos($package
3a080 46 69 6c 74 65 72 2c 20 27 2a 27 29 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 Filter,.'*')).||.!empty($package
3a0a0 29 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 6c 69 73 74 )).{.if.(empty($package)).{.list
3a0c0 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 20 3d 20 24 74 68 69 73 2d 3e 67 ($package,.$versions).=.$this->g
3a0e0 65 74 50 61 63 6b 61 67 65 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 etPackage($installedRepo,.$repos
3a100 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 ,.$input->getArgument('package')
3a120 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 ,.$input->getArgument('version')
3a140 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6f 70 74 69 );..if.(empty($package)).{.$opti
3a160 6f 6e 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 69 66 20 28 ons.=.$input->getOptions();.if.(
3a180 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 77 6f 72 6b 69 6e 67 2d 64 69 72 27 5d 29 20 !isset($options['working-dir']).
3a1a0 7c 7c 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 ||.!file_exists('composer.json')
3a1c0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
3a1e0 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 46 69 6c ception('Package.'...$packageFil
3a200 74 65 72 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 ter...'.not.found');.}..$io->wri
3a220 74 65 45 72 72 6f 72 28 27 50 61 63 6b 61 67 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 46 69 6c teError('Package.'...$packageFil
3a240 74 65 72 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 27 20 2e 20 24 6f 70 74 69 6f 6e ter...'.not.found.in.'...$option
3a260 73 5b 27 77 6f 72 6b 69 6e 67 2d 64 69 72 27 5d 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 s['working-dir']...'/composer.js
3a280 6f 6e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 on');..return.1;.}.}.else.{.$ver
3a2a0 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 sions.=.array($package->getPrett
3a2c0 79 56 65 72 73 69 6f 6e 28 29 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 yVersion().=>.$package->getVersi
3a2e0 6f 6e 28 29 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 69 66 20 28 24 69 6e on());.}..$exitCode.=.0;.if.($in
3a300 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 61 72 72 61 79 put->getOption('tree')).{.$array
3a320 54 72 65 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 Tree.=.$this->generatePackageTre
3a340 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 e($package,.$installedRepo,.$rep
3a360 6f 73 29 3b 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a os);..if.('json'.===.$format).{.
3a380 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 72 61 $io->write(JsonFile::encode(arra
3a3a0 79 28 27 69 6e 73 74 61 6c 6c 65 64 27 20 3d 3e 20 61 72 72 61 79 28 24 61 72 72 61 79 54 72 65 y('installed'.=>.array($arrayTre
3a3c0 65 29 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 50 61 e))));.}.else.{.$this->displayPa
3a3e0 63 6b 61 67 65 54 72 65 65 28 61 72 72 61 79 28 24 61 72 72 61 79 54 72 65 65 29 29 3b 0a 7d 0a ckageTree(array($arrayTree));.}.
3a400 7d 20 65 6c 73 65 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a }.else.{.$latestPackage.=.null;.
3a420 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 29 if.($input->getOption('latest'))
3a440 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4c .{.$latestPackage.=.$this->findL
3a460 61 74 65 73 74 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6d 70 6f 73 65 72 atestPackage($package,.$composer
3a480 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 ,.$phpVersion);.}.if.($input->ge
3a4a0 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 tOption('outdated').&&.$input->g
3a4c0 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 etOption('strict').&&.$latestPac
3a4e0 6b 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 kage.&&.$latestPackage->getFullP
3a500 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 rettyVersion().!==.$package->get
3a520 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 26 26 20 21 24 6c 61 74 65 73 74 50 FullPrettyVersion().&&.!$latestP
3a540 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 65 78 69 74 43 6f ackage->isAbandoned()).{.$exitCo
3a560 64 65 20 3d 20 31 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 de.=.1;.}.if.($input->getOption(
3a580 27 70 61 74 68 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 63 6b 61 67 65 2d 3e 'path')).{.$io->write($package->
3a5a0 67 65 74 4e 61 6d 65 28 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 getName(),.false);.$io->write('.
3a5c0 27 20 2e 20 73 74 72 74 6f 6b 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 '...strtok(realpath($composer->g
3a5e0 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 etInstallationManager()->getInst
3a600 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 2c 20 22 5c 72 5c 6e 22 29 29 3b 0a 0a 72 allPath($package)),."\r\n"));..r
3a620 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4d eturn.$exitCode;.}.$this->printM
3a640 65 74 61 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 69 6e 73 74 61 6c eta($package,.$versions,.$instal
3a660 6c 65 64 52 65 70 6f 2c 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3f 3a 20 6e 75 6c 6c 29 ledRepo,.$latestPackage.?:.null)
3a680 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 72 ;.$this->printLinks($package,.'r
3a6a0 65 71 75 69 72 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 equires');.$this->printLinks($pa
3a6c0 63 6b 61 67 65 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 2c 20 27 72 65 71 75 69 72 65 73 20 ckage,.'devRequires',.'requires.
3a6e0 28 64 65 76 29 27 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 (dev)');.if.($package->getSugges
3a700 74 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 73 75 67 67 ts()).{.$io->write("\n<info>sugg
3a720 65 73 74 73 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 ests</info>");.foreach.($package
3a740 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 73 75 67 67 65 73 74 65 64 20 3d 3e ->getSuggests().as.$suggested.=>
3a760 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 73 75 67 67 65 73 74 65 .$reason).{.$io->write($suggeste
3a780 64 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 72 65 61 73 6f 6e 20 2e 20 27 3c 2f d...'.<comment>'...$reason...'</
3a7a0 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b comment>');.}.}.$this->printLink
3a7c0 73 28 24 70 61 63 6b 61 67 65 2c 20 27 70 72 6f 76 69 64 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e s($package,.'provides');.$this->
3a7e0 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 63 6f 6e 66 6c 69 63 74 73 27 printLinks($package,.'conflicts'
3a800 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 );.$this->printLinks($package,.'
3a820 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b replaces');.}..return.$exitCode;
3a840 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 .}....if.($input->getOption('tre
3a860 65 27 29 29 20 7b 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 e')).{.$rootRequires.=.$this->ge
3a880 74 52 6f 6f 74 52 65 71 75 69 72 65 73 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e tRootRequires();.$packages.=.$in
3a8a0 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 75 73 6f 72 stalledRepo->getPackages();.usor
3a8c0 74 28 24 70 61 63 6b 61 67 65 73 2c 20 27 73 74 72 63 6d 70 27 29 3b 0a 24 61 72 72 61 79 54 72 t($packages,.'strcmp');.$arrayTr
3a8e0 65 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 ee.=.array();.foreach.($packages
3a900 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 70 61 .as.$package).{.if.(in_array($pa
3a920 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 6f 6f 74 52 65 71 75 69 72 65 73 2c ckage->getName(),.$rootRequires,
3a940 20 74 72 75 65 29 29 20 7b 0a 24 61 72 72 61 79 54 72 65 65 5b 5d 20 3d 20 24 74 68 69 73 2d 3e .true)).{.$arrayTree[].=.$this->
3a960 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 generatePackageTree($package,.$i
3a980 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 nstalledRepo,.$repos);.}.}..if.(
3a9a0 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 'json'.===.$format).{.$io->write
3a9c0 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 72 61 79 28 27 69 6e 73 74 61 6c 6c (JsonFile::encode(array('install
3a9e0 65 64 27 20 3d 3e 20 24 61 72 72 61 79 54 72 65 65 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 ed'.=>.$arrayTree)));.}.else.{.$
3aa00 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 65 65 28 24 61 72 72 61 79 54 this->displayPackageTree($arrayT
3aa20 72 65 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 70 6f 73 ree);.}..return.0;.}..if.($repos
3aa40 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 29 .instanceof.CompositeRepository)
3aa60 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 .{.$repos.=.$repos->getRepositor
3aa80 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f ies();.}.elseif.(!is_array($repo
3aaa0 73 29 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 24 72 65 70 6f 73 29 3b 0a 7d 0a s)).{.$repos.=.array($repos);.}.
3aac0 0a 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 6e 75 6c 6c ...$packages.=.array();.if.(null
3aae0 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 29 20 7b 0a 24 70 61 63 6b 61 67 65 46 .!==.$packageFilter).{.$packageF
3ab00 69 6c 74 65 72 20 3d 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 ilter.=.'{^'.str_replace('\\*',.
3ab20 27 2e 2a 3f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 '.*?',.preg_quote($packageFilter
3ab40 29 29 2e 27 24 7d 69 27 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 20 )).'$}i';.}..$packageListFilter.
3ab60 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e =.array();.if.($input->getOption
3ab80 28 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 ('direct')).{.$packageListFilter
3aba0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a .=.$this->getRootRequires();.}..
3abc0 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e if.(class_exists('Symfony\Compon
3abe0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c 27 29 29 20 7b 0a 24 74 65 72 6d 69 ent\Console\Terminal')).{.$termi
3ac00 6e 61 6c 20 3d 20 6e 65 77 20 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 24 77 69 64 74 68 20 3d 20 24 nal.=.new.Terminal();.$width.=.$
3ac20 74 65 72 6d 69 6e 61 6c 2d 3e 67 65 74 57 69 64 74 68 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a terminal->getWidth();.}.else.{..
3ac40 20 6c 69 73 74 28 24 77 69 64 74 68 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 .list($width).=.$this->getApplic
3ac60 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 ation()->getTerminalDimensions()
3ac80 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 77 69 64 74 68 29 20 7b 0a 0a 20 0a 20 24 ;.}.if.(null.===.$width).{.....$
3aca0 77 69 64 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 7d 0a 69 66 20 28 50 6c 61 74 66 width.=.PHP_INT_MAX;.}.if.(Platf
3acc0 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 77 69 64 74 68 2d 2d 3b 0a 7d 20 orm::isWindows()).{.$width--;.}.
3ace0 65 6c 73 65 20 7b 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 38 30 2c 20 24 77 69 64 74 68 29 3b else.{.$width.=.max(80,.$width);
3ad00 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 .}..if.($input->getOption('path'
3ad20 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 69 6f 2d 3e ).&&.null.===.$composer).{.$io->
3ad40 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 writeError('No.composer.json.fou
3ad60 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 64 69 73 nd.in.the.current.directory,.dis
3ad80 61 62 6c 69 6e 67 20 22 70 61 74 68 22 20 6f 70 74 69 6f 6e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e abling."path".option');.$input->
3ada0 73 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 66 6f 72 setOption('path',.false);.}..for
3adc0 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 69 66 20 28 24 72 65 each.($repos.as.$repo).{.if.($re
3ade0 70 6f 20 3d 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 20 7b 0a 24 74 79 70 65 20 3d 20 po.===.$platformRepo).{.$type.=.
3ae00 27 70 6c 61 74 66 6f 72 6d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 0a 24 72 65 70 6f 20 3d 3d 3d 'platform';.}.elseif.(.$repo.===
3ae20 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 0a 7c 7c 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 .$installedRepo.||.($installedRe
3ae40 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 po.instanceof.CompositeRepositor
3ae60 79 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 72 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 y.&&.in_array($repo,.$installedR
3ae80 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 20 74 72 75 65 29 29 0a 29 epo->getRepositories(),.true)).)
3aea0 20 7b 0a 24 74 79 70 65 20 3d 20 27 69 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 20 65 6c 73 65 20 7b .{.$type.=.'installed';.}.else.{
3aec0 0a 24 74 79 70 65 20 3d 20 27 61 76 61 69 6c 61 62 6c 65 27 3b 0a 7d 0a 69 66 20 28 24 72 65 70 .$type.=.'available';.}.if.($rep
3aee0 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 o.instanceof.ComposerRepository.
3af00 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 66 6f 72 65 &&.$repo->hasProviders()).{.fore
3af20 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 ach.($repo->getProviderNames().a
3af40 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 7c s.$name).{.if.(!$packageFilter.|
3af60 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 2c 20 24 6e 61 |.preg_match($packageFilter,.$na
3af80 6d 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 20 3d me)).{.$packages[$type][$name].=
3afa0 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 .$name;.}.}.}.else.{.foreach.($r
3afc0 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 epo->getPackages().as.$package).
3afe0 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 {.if.(!isset($packages[$type][$p
3b000 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 ackage->getName()]).||.!is_objec
3b020 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 t($packages[$type][$package->get
3b040 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 70 61 63 Name()]).||.version_compare($pac
3b060 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 kages[$type][$package->getName()
3b080 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 ]->getVersion(),.$package->getVe
3b0a0 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 0a 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 46 rsion(),.'<').).{.if.(!$packageF
3b0c0 69 6c 74 65 72 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 63 6b 61 67 65 46 69 6c 74 ilter.||.preg_match($packageFilt
3b0e0 65 72 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 69 66 20 28 er,.$package->getName())).{.if.(
3b100 21 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 20 7c 7c 20 69 6e 5f 61 72 72 61 79 28 !$packageListFilter.||.in_array(
3b120 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 4c 69 73 $package->getName(),.$packageLis
3b140 74 46 69 6c 74 65 72 2c 20 74 72 75 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 tFilter,.true)).{.$packages[$typ
3b160 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 e][$package->getName()].=.$packa
3b180 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 20 3d ge;.}.}.}.}.}.}..$showAllTypes.=
3b1a0 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 3b 0a 24 73 68 6f 77 .$input->getOption('all');.$show
3b1c0 4c 61 74 65 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 Latest.=.$input->getOption('late
3b1e0 73 74 27 29 3b 0a 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 st');.$showMinorOnly.=.$input->g
3b200 65 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 29 3b 0a 24 69 67 6e 6f 72 65 64 etOption('minor-only');.$ignored
3b220 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 Packages.=.array_map('strtolower
3b240 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 27 29 29 3b ',.$input->getOption('ignore'));
3b260 0a 24 69 6e 64 65 6e 74 20 3d 20 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 20 3f 20 27 20 20 27 20 .$indent.=.$showAllTypes.?.'..'.
3b280 3a 20 27 27 3b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b :.'';.$latestPackages.=.array();
3b2a0 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 24 76 69 65 77 44 61 74 61 20 3d 20 61 72 72 61 .$exitCode.=.0;.$viewData.=.arra
3b2c0 79 28 29 3b 0a 24 76 69 65 77 4d 65 74 61 44 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f y();.$viewMetaData.=.array();.fo
3b2e0 72 65 61 63 68 20 28 61 72 72 61 79 28 27 70 6c 61 74 66 6f 72 6d 27 20 3d 3e 20 74 72 75 65 2c reach.(array('platform'.=>.true,
3b300 20 27 61 76 61 69 6c 61 62 6c 65 27 20 3d 3e 20 66 61 6c 73 65 2c 20 27 69 6e 73 74 61 6c 6c 65 .'available'.=>.false,.'installe
3b320 64 27 20 3d 3e 20 74 72 75 65 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 73 68 6f 77 56 65 72 d'.=>.true).as.$type.=>.$showVer
3b340 73 69 6f 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 sion).{.if.(isset($packages[$typ
3b360 65 5d 29 29 20 7b 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 29 3b 0a e])).{.ksort($packages[$type]);.
3b380 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 3d 20 .$nameLength.=.$versionLength.=.
3b3a0 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 69 66 20 28 24 73 68 6f 77 4c 61 74 $latestLength.=.0;..if.($showLat
3b3c0 65 73 74 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 est.&&.$showVersion).{.foreach.(
3b3e0 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a $packages[$type].as.$package).{.
3b400 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6c 61 74 65 if.(is_object($package)).{.$late
3b420 73 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4c 61 74 65 73 74 50 61 63 stPackage.=.$this->findLatestPac
3b440 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 70 68 70 56 65 kage($package,.$composer,.$phpVe
3b460 72 73 69 6f 6e 2c 20 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 29 3b 0a 69 66 20 28 24 6c 61 74 rsion,.$showMinorOnly);.if.($lat
3b480 65 73 74 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 estPackage.===.false).{.continue
3b4a0 3b 0a 7d 0a 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 ;.}..$latestPackages[$package->g
3b4c0 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 etPrettyName()].=.$latestPackage
3b4e0 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 77 72 69 74 65 50 61 74 68 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 ;.}.}.}..$writePath.=.!$input->g
3b500 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 24 69 6e 70 75 74 2d etOption('name-only').&&.$input-
3b520 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 24 77 72 69 74 65 56 65 72 73 69 6f >getOption('path');.$writeVersio
3b540 6e 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c n.=.!$input->getOption('name-onl
3b560 79 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 y').&&.!$input->getOption('path'
3b580 29 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 3b 0a 24 77 72 69 74 65 4c 61 74 65 73 74 20 ).&&.$showVersion;.$writeLatest.
3b5a0 3d 20 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 26 26 20 24 73 68 6f 77 4c 61 74 65 73 74 3b 0a =.$writeVersion.&&.$showLatest;.
3b5c0 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 $writeDescription.=.!$input->get
3b5e0 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e Option('name-only').&&.!$input->
3b600 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 0a 24 68 61 73 4f 75 74 64 61 74 65 64 getOption('path');..$hasOutdated
3b620 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 76 69 65 77 44 61 74 61 5b 24 74 79 Packages.=.false;..$viewData[$ty
3b640 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 pe].=.array();.foreach.($package
3b660 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 s[$type].as.$package).{.$package
3b680 56 69 65 77 44 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 ViewData.=.array();.if.(is_objec
3b6a0 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 t($package)).{.$latestPackage.=.
3b6c0 6e 75 6c 6c 3b 0a 69 66 20 28 24 73 68 6f 77 4c 61 74 65 73 74 20 26 26 20 69 73 73 65 74 28 24 null;.if.($showLatest.&&.isset($
3b6e0 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 latestPackages[$package->getPret
3b700 74 79 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 tyName()])).{.$latestPackage.=.$
3b720 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 latestPackages[$package->getPret
3b740 74 79 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 49 73 55 70 54 6f 44 61 tyName()];.}....$packageIsUpToDa
3b760 74 65 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 te.=.$latestPackage.&&.$latestPa
3b780 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d ckage->getFullPrettyVersion().==
3b7a0 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e =.$package->getFullPrettyVersion
3b7c0 28 29 20 26 26 20 21 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e ().&&.!$latestPackage->isAbandon
3b7e0 65 64 28 29 3b 0a 24 70 61 63 6b 61 67 65 49 73 49 67 6e 6f 72 65 64 20 3d 20 5c 69 6e 5f 61 72 ed();.$packageIsIgnored.=.\in_ar
3b800 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 ray($package->getPrettyName(),.$
3b820 69 67 6e 6f 72 65 64 50 61 63 6b 61 67 65 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 24 69 6e 70 ignoredPackages,.true);.if.($inp
3b840 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 20 26 26 20 28 24 70 ut->getOption('outdated').&&.($p
3b860 61 63 6b 61 67 65 49 73 55 70 54 6f 44 61 74 65 20 7c 7c 20 24 70 61 63 6b 61 67 65 49 73 49 67 ackageIsUpToDate.||.$packageIsIg
3b880 6e 6f 72 65 64 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 nored)).{.continue;.}.elseif.($i
3b8a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 20 7c 7c 20 24 nput->getOption('outdated').||.$
3b8c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 29 20 7b 0a 24 68 input->getOption('strict')).{.$h
3b8e0 61 73 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 asOutdatedPackages.=.true;.}..$p
3b900 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 ackageViewData['name'].=.$packag
3b920 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 e->getPrettyName();.$nameLength.
3b940 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 =.max($nameLength,.strlen($packa
3b960 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 29 3b 0a 69 66 20 28 24 77 72 69 74 ge->getPrettyName()));.if.($writ
3b980 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 76 65 eVersion).{.$packageViewData['ve
3b9a0 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 rsion'].=.$package->getFullPrett
3b9c0 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 3d 20 6d 61 78 yVersion();.$versionLength.=.max
3b9e0 28 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 ($versionLength,.strlen($package
3ba00 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 69 66 ->getFullPrettyVersion()));.}.if
3ba20 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 .($writeLatest.&&.$latestPackage
3ba40 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6c 61 74 65 73 74 27 5d 20 3d ).{.$packageViewData['latest'].=
3ba60 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 .$latestPackage->getFullPrettyVe
3ba80 72 73 69 6f 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6c 61 74 65 73 rsion();.$packageViewData['lates
3baa0 74 2d 73 74 61 74 75 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 70 64 61 74 65 53 74 61 t-status'].=.$this->getUpdateSta
3bac0 74 75 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 tus($latestPackage,.$package);.$
3bae0 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 latestLength.=.max($latestLength
3bb00 2c 20 73 74 72 6c 65 6e 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c ,.strlen($latestPackage->getFull
3bb20 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 44 PrettyVersion()));.}.if.($writeD
3bb40 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 escription).{.$packageViewData['
3bb60 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 description'].=.$package->getDes
3bb80 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 50 61 74 68 29 20 7b 0a cription();.}.if.($writePath).{.
3bba0 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 70 61 74 68 27 5d 20 3d 20 73 74 72 74 6f $packageViewData['path'].=.strto
3bbc0 6b 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c k(realpath($composer->getInstall
3bbe0 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 ationManager()->getInstallPath($
3bc00 70 61 63 6b 61 67 65 29 29 2c 20 22 5c 72 5c 6e 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 6c 61 74 65 package)),."\r\n");.}..if.($late
3bc20 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 stPackage.&&.$latestPackage->isA
3bc40 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 69 73 5f bandoned()).{.$replacement.=.is_
3bc60 73 74 72 69 6e 67 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 string($latestPackage->getReplac
3bc80 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 29 0a 3f 20 27 55 73 65 20 27 20 2e 20 24 6c 61 74 65 ementPackage()).?.'Use.'...$late
3bca0 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 stPackage->getReplacementPackage
3bcc0 28 29 20 2e 20 27 20 69 6e 73 74 65 61 64 27 0a 3a 20 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e ()...'.instead'.:.'No.replacemen
3bce0 74 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 24 70 61 63 6b 61 67 65 57 61 72 6e 69 6e t.was.suggested';.$packageWarnin
3bd00 67 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 20 69 73 20 61 62 61 6e g.=.sprintf(.'Package.%s.is.aban
3bd20 64 6f 6e 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 75 73 69 6e 67 20 69 74 doned,.you.should.avoid.using.it
3bd40 2e 20 25 73 2e 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 ..%s.',.$package->getPrettyName(
3bd60 29 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 3b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 ),.$replacement.);.$packageViewD
3bd80 61 74 61 5b 27 77 61 72 6e 69 6e 67 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 57 61 72 6e 69 6e 67 ata['warning'].=.$packageWarning
3bda0 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6e ;.}.}.else.{.$packageViewData['n
3bdc0 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 ame'].=.$package;.$nameLength.=.
3bde0 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 max($nameLength,.strlen($package
3be00 29 29 3b 0a 7d 0a 24 76 69 65 77 44 61 74 61 5b 24 74 79 70 65 5d 5b 5d 20 3d 20 24 70 61 63 6b ));.}.$viewData[$type][].=.$pack
3be20 61 67 65 56 69 65 77 44 61 74 61 3b 0a 7d 0a 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 ageViewData;.}.$viewMetaData[$ty
3be40 70 65 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 4c 65 6e 67 74 68 27 20 3d 3e 20 24 6e 61 pe].=.array(.'nameLength'.=>.$na
3be60 6d 65 4c 65 6e 67 74 68 2c 0a 27 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 27 20 3d 3e 20 24 76 65 meLength,.'versionLength'.=>.$ve
3be80 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 0a 27 6c 61 74 65 73 74 4c 65 6e 67 74 68 27 20 3d 3e 20 24 rsionLength,.'latestLength'.=>.$
3bea0 6c 61 74 65 73 74 4c 65 6e 67 74 68 2c 0a 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 latestLength,.);.if.($input->get
3bec0 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 20 26 26 20 24 68 61 73 4f 75 74 64 61 74 65 64 Option('strict').&&.$hasOutdated
3bee0 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 62 72 65 61 6b Packages).{.$exitCode.=.1;.break
3bf00 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 ;.}.}.}..if.('json'.===.$format)
3bf20 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 .{.$io->write(JsonFile::encode($
3bf40 76 69 65 77 44 61 74 61 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 viewData));.}.else.{.foreach.($v
3bf60 69 65 77 44 61 74 61 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b iewData.as.$type.=>.$packages).{
3bf80 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 .$nameLength.=.$viewMetaData[$ty
3bfa0 70 65 5d 5b 27 6e 61 6d 65 4c 65 6e 67 74 68 27 5d 3b 0a 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 pe]['nameLength'];.$versionLengt
3bfc0 68 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 76 65 72 73 69 6f h.=.$viewMetaData[$type]['versio
3bfe0 6e 4c 65 6e 67 74 68 27 5d 3b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 nLength'];.$latestLength.=.$view
3c000 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 6c 61 74 65 73 74 4c 65 6e 67 74 68 27 5d 3b MetaData[$type]['latestLength'];
3c020 0a 0a 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 ..$writeVersion.=.$nameLength.+.
3c040 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 33 20 3c 3d 20 24 77 69 64 74 68 3b 0a 24 77 $versionLength.+.3.<=.$width;.$w
3c060 72 69 74 65 4c 61 74 65 73 74 20 3d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 riteLatest.=.$nameLength.+.$vers
3c080 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 2b 20 33 20 3c 3d ionLength.+.$latestLength.+.3.<=
3c0a0 20 24 77 69 64 74 68 3b 0a 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 6e 61 .$width;.$writeDescription.=.$na
3c0c0 6d 65 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 24 6c 61 74 meLength.+.$versionLength.+.$lat
3c0e0 65 73 74 4c 65 6e 67 74 68 20 2b 20 32 34 20 3c 3d 20 24 77 69 64 74 68 3b 0a 0a 69 66 20 28 24 estLength.+.24.<=.$width;..if.($
3c100 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 writeLatest.&&.!$io->isDecorated
3c120 28 29 29 20 7b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 2b 3d 20 32 3b 0a 7d 0a 0a 69 66 20 ()).{.$latestLength.+=.2;.}..if.
3c140 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a 69 66 20 28 27 61 76 61 69 6c 61 62 6c 65 ($showAllTypes).{.if.('available
3c160 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d '.===.$type).{.$io->write('<comm
3c180 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 3a 27 29 3b 0a ent>'...$type...'</comment>:');.
3c1a0 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 }.else.{.$io->write('<info>'...$
3c1c0 74 79 70 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 type...'</info>:');.}.}..foreach
3c1e0 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e .($packages.as.$package).{.$io->
3c200 77 72 69 74 65 28 24 69 6e 64 65 6e 74 20 2e 20 73 74 72 5f 70 61 64 28 24 70 61 63 6b 61 67 65 write($indent...str_pad($package
3c220 5b 27 6e 61 6d 65 27 5d 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 27 20 27 29 2c 20 66 61 6c ['name'],.$nameLength,.'.'),.fal
3c240 73 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e se);.if.(isset($package['version
3c260 27 5d 29 20 26 26 20 24 77 72 69 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 ']).&&.$writeVersion).{.$io->wri
3c280 74 65 28 27 20 27 20 2e 20 73 74 72 5f 70 61 64 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 te('.'...str_pad($package['versi
3c2a0 6f 6e 27 5d 2c 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 27 20 27 29 2c 20 66 61 6c 73 on'],.$versionLength,.'.'),.fals
3c2c0 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 6c 61 74 65 73 74 e);.}.if.(isset($package['latest
3c2e0 27 5d 29 20 26 26 20 24 77 72 69 74 65 4c 61 74 65 73 74 29 20 7b 0a 24 6c 61 74 65 73 74 56 65 ']).&&.$writeLatest).{.$latestVe
3c300 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6c 61 74 65 73 74 27 5d 3b 0a 24 75 70 64 rsion.=.$package['latest'];.$upd
3c320 61 74 65 53 74 61 74 75 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6c 61 74 65 73 74 2d 73 74 61 ateStatus.=.$package['latest-sta
3c340 74 75 73 27 5d 3b 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 tus'];.$style.=.$this->updateSta
3c360 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 75 70 64 61 74 65 53 74 61 74 75 73 29 tusToVersionStyle($updateStatus)
3c380 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 61 ;.if.(!$io->isDecorated()).{.$la
3c3a0 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 testVersion.=.str_replace(array(
3c3c0 27 75 70 2d 74 6f 2d 64 61 74 65 27 2c 20 27 73 65 6d 76 65 72 2d 73 61 66 65 2d 75 70 64 61 74 'up-to-date',.'semver-safe-updat
3c3e0 65 27 2c 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 29 2c 20 61 72 72 61 79 28 27 3d e',.'update-possible'),.array('=
3c400 27 2c 20 27 21 27 2c 20 27 7e 27 29 2c 20 24 75 70 64 61 74 65 53 74 61 74 75 73 29 20 2e 20 27 ',.'!',.'~'),.$updateStatus)...'
3c420 20 27 20 2e 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 .'...$latestVersion;.}.$io->writ
3c440 65 28 27 20 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 73 74 72 5f 70 61 64 28 e('.<'...$style...'>'...str_pad(
3c460 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 2c 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 2c 20 27 $latestVersion,.$latestLength,.'
3c480 20 27 29 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 2c 20 66 61 6c 73 65 .')...'</'...$style...'>',.false
3c4a0 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 );.}.if.(isset($package['descrip
3c4c0 74 69 6f 6e 27 5d 29 20 26 26 20 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a tion']).&&.$writeDescription).{.
3c4e0 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 73 74 72 74 6f 6b 28 24 70 61 63 6b 61 67 65 5b 27 $description.=.strtok($package['
3c500 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 20 22 5c 72 5c 6e 22 29 3b 0a 24 72 65 6d 61 69 6e 69 description'],."\r\n");.$remaini
3c520 6e 67 20 3d 20 24 77 69 64 74 68 20 2d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2d 20 24 76 65 72 ng.=.$width.-.$nameLength.-.$ver
3c540 73 69 6f 6e 4c 65 6e 67 74 68 20 2d 20 34 3b 0a 69 66 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 sionLength.-.4;.if.($writeLatest
3c560 29 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 2d 3d 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 3b ).{.$remaining.-=.$latestLength;
3c580 0a 7d 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 20 3e 20 24 72 .}.if.(strlen($description).>.$r
3c5a0 65 6d 61 69 6e 69 6e 67 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 73 75 62 73 74 emaining).{.$description.=.subst
3c5c0 72 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 30 2c 20 24 72 65 6d 61 69 6e 69 6e 67 20 2d 20 r($description,.0,.$remaining.-.
3c5e0 33 29 20 2e 20 27 2e 2e 2e 27 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 3)...'...';.}.$io->write('.'...$
3c600 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 description,.false);.}.if.(isset
3c620 28 24 70 61 63 6b 61 67 65 5b 27 70 61 74 68 27 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ($package['path'])).{.$io->write
3c640 28 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 70 61 74 68 27 5d 2c 20 66 61 6c 73 65 29 3b ('.'...$package['path'],.false);
3c660 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 .}.$io->write('');.if.(isset($pa
3c680 63 6b 61 67 65 5b 27 77 61 72 6e 69 6e 67 27 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 ckage['warning'])).{.$io->writeE
3c6a0 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 77 61 72 rror('<warning>'...$package['war
3c6c0 6e 69 6e 67 27 5d 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 ning']...'</warning>');.}.}..if.
3c6e0 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 ($showAllTypes).{.$io->write('')
3c700 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 ;.}.}.}..return.$exitCode;.}..pr
3c720 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 52 65 71 75 69 72 65 73 otected.function.getRootRequires
3c740 28 29 0a 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f ().{.$rootPackage.=.$this->getCo
3c760 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 mposer()->getPackage();..return.
3c780 61 72 72 61 79 5f 6d 61 70 28 0a 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 0a 61 72 72 61 79 5f 6b array_map(.'strtolower',.array_k
3c7a0 65 79 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 eys(array_merge($rootPackage->ge
3c7c0 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 tRequires(),.$rootPackage->getDe
3c7e0 76 52 65 71 75 69 72 65 73 28 29 29 29 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 vRequires())).);.}..protected.fu
3c800 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 50 61 63 6b 61 67 65 49 6e nction.getVersionStyle(PackageIn
3c820 74 65 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 50 61 63 6b 61 67 65 49 terface.$latestPackage,.PackageI
3c840 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 nterface.$package).{.return.$thi
3c860 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 74 s->updateStatusToVersionStyle($t
3c880 68 69 73 2d 3e 67 65 74 55 70 64 61 74 65 53 74 61 74 75 73 28 24 6c 61 74 65 73 74 50 61 63 6b his->getUpdateStatus($latestPack
3c8a0 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 age,.$package));.}............pr
3c8c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 52 65 70 6f otected.function.getPackage(Repo
3c8e0 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 sitoryInterface.$installedRepo,.
3c900 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 2c 20 24 6e 61 6d RepositoryInterface.$repos,.$nam
3c920 65 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 e,.$version.=.null).{.$name.=.st
3c940 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 69 rtolower($name);.$constraint.=.i
3c960 73 5f 73 74 72 69 6e 67 28 24 76 65 72 73 69 6f 6e 29 20 3f 20 24 74 68 69 73 2d 3e 76 65 72 73 s_string($version).?.$this->vers
3c980 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 76 65 72 ionParser->parseConstraints($ver
3c9a0 73 69 6f 6e 29 20 3a 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 24 70 6f 6c 69 63 79 20 3d 20 6e 65 77 sion).:.$version;..$policy.=.new
3c9c0 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f .DefaultPolicy();.$pool.=.new.Po
3c9e0 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 ol('dev');.$pool->addRepository(
3ca00 24 72 65 70 6f 73 29 3b 0a 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c $repos);..$matchedPackage.=.null
3ca20 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6d 61 74 63 68 65 73 20 ;.$versions.=.array();.$matches.
3ca40 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f =.$pool->whatProvides($name,.$co
3ca60 6e 73 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 nstraint);.foreach.($matches.as.
3ca80 24 69 6e 64 65 78 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 69 66 20 28 24 70 61 63 $index.=>.$package).{...if.($pac
3caa0 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 75 6e 73 kage->getName().!==.$name).{.uns
3cac0 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a et($matches[$index]);.continue;.
3cae0 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 73 69 6f 6e 20 26 26 20 24 69 }....if.(null.===.$version.&&.$i
3cb00 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 nstalledRepo->hasPackage($packag
3cb20 65 29 29 20 7b 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 e)).{.$matchedPackage.=.$package
3cb40 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 ;.}..$versions[$package->getPret
3cb60 74 79 56 65 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 tyVersion()].=.$package->getVers
3cb80 69 6f 6e 28 29 3b 0a 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 70 61 63 6b 61 ion();.$matches[$index].=.$packa
3cba0 67 65 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 6d 61 74 63 68 65 64 50 ge->getId();.}....if.(!$matchedP
3cbc0 61 63 6b 61 67 65 20 26 26 20 24 6d 61 74 63 68 65 73 20 26 26 20 24 70 72 65 66 65 72 72 65 64 ackage.&&.$matches.&&.$preferred
3cbe0 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 .=.$policy->selectPreferredPacka
3cc00 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b ges($pool,.array(),.$matches)).{
3cc20 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 .$matchedPackage.=.$pool->litera
3cc40 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 72 65 66 65 72 72 65 64 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 lToPackage($preferred[0]);.}..re
3cc60 74 75 72 6e 20 61 72 72 61 79 28 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 2c 20 24 76 65 72 turn.array($matchedPackage,.$ver
3cc80 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 sions);.}.........protected.func
3cca0 74 69 6f 6e 20 70 72 69 6e 74 4d 65 74 61 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e tion.printMeta(CompletePackageIn
3ccc0 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e terface.$package,.array.$version
3cce0 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 s,.RepositoryInterface.$installe
3cd00 64 52 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 dRepo,.PackageInterface.$latestP
3cd20 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 ackage.=.null).{.$io.=.$this->ge
3cd40 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6e 61 6d 65 3c 2f 69 tIO();.$io->write('<info>name</i
3cd60 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 nfo>.....:.'...$package->getPret
3cd80 74 79 4e 61 6d 65 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 64 65 73 tyName());.$io->write('<info>des
3cda0 63 72 69 70 2e 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 crip.</info>.:.'...$package->get
3cdc0 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 Description());.$io->write('<inf
3cde0 6f 3e 6b 65 79 77 6f 72 64 73 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 o>keywords</info>.:.'...implode(
3ce00 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 29 20 3f 3a ',.',.$package->getKeywords().?:
3ce20 20 61 72 72 61 79 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 56 65 72 73 69 6f 6e 73 .array()));.$this->printVersions
3ce40 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 ($package,.$versions,.$installed
3ce60 52 65 70 6f 29 3b 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 74 Repo);.if.($latestPackage).{.$st
3ce80 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 6c 61 yle.=.$this->getVersionStyle($la
3cea0 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 testPackage,.$package);.$io->wri
3cec0 74 65 28 27 3c 69 6e 66 6f 3e 6c 61 74 65 73 74 3c 2f 69 6e 66 6f 3e 20 20 20 3a 20 3c 27 2e 24 te('<info>latest</info>...:.<'.$
3cee0 73 74 79 6c 65 2e 27 3e 27 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 style.'>'...$latestPackage->getP
3cf00 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 3c 2f 27 2e 24 73 74 79 6c 65 2e 27 3e 27 rettyVersion()...'</'.$style.'>'
3cf20 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 );.}.else.{.$latestPackage.=.$pa
3cf40 63 6b 61 67 65 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 74 79 70 65 3c ckage;.}.$io->write('<info>type<
3cf60 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 /info>.....:.'...$package->getTy
3cf80 70 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 63 65 6e 73 65 73 28 24 70 61 63 pe());.$this->printLicenses($pac
3cfa0 6b 61 67 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 73 6f 75 72 63 65 3c kage);.$io->write('<info>source<
3cfc0 2f 69 6e 66 6f 3e 20 20 20 3a 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 3c 63 6f /info>...:.'...sprintf('[%s].<co
3cfe0 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 20 24 70 61 63 6b 61 67 65 mment>%s</comment>.%s',.$package
3d000 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ->getSourceType(),.$package->get
3d020 53 6f 75 72 63 65 55 72 6c 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 SourceUrl(),.$package->getSource
3d040 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f Reference()));.$io->write('<info
3d060 3e 64 69 73 74 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 >dist</info>.....:.'...sprintf('
3d080 5b 25 73 5d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 20 [%s].<comment>%s</comment>.%s',.
3d0a0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 2c 20 24 70 61 63 6b 61 67 $package->getDistType(),.$packag
3d0c0 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 e->getDistUrl(),.$package->getDi
3d0e0 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 stReference()));.if.($installedR
3d100 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 69 6f epo->hasPackage($package)).{.$io
3d120 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 70 61 74 68 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a ->write('<info>path</info>.....:
3d140 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 25 73 27 2c 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 .'...sprintf('%s',.realpath($thi
3d160 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f s->getComposer()->getInstallatio
3d180 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b nManager()->getInstallPath($pack
3d1a0 61 67 65 29 29 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6e 61 6d age))));.}.$io->write('<info>nam
3d1c0 65 73 3c 2f 69 6e 66 6f 3e 20 20 20 20 3a 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c es</info>....:.'...implode(',.',
3d1e0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 29 3b 0a 0a 69 66 20 28 24 6c .$package->getNames()));..if.($l
3d200 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 atestPackage->isAbandoned()).{.$
3d220 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 replacement.=.($latestPackage->g
3d240 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 21 3d 3d 20 6e 75 6c 6c 29 etReplacementPackage().!==.null)
3d260 0a 3f 20 27 20 54 68 65 20 61 75 74 68 6f 72 20 73 75 67 67 65 73 74 73 20 75 73 69 6e 67 20 74 .?.'.The.author.suggests.using.t
3d280 68 65 20 27 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 he.'...$latestPackage->getReplac
3d2a0 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 2e 20 27 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 ementPackage()..'.package.instea
3d2c0 64 2e 27 0a 3a 20 6e 75 6c 6c 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 d.'.:.null;..$io->writeError(.sp
3d2e0 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 41 74 74 65 6e 74 69 6f 6e 3a 20 54 68 69 73 20 rintf('<warning>Attention:.This.
3d300 70 61 63 6b 61 67 65 20 69 73 20 61 62 61 6e 64 6f 6e 65 64 20 61 6e 64 20 6e 6f 20 6c 6f 6e 67 package.is.abandoned.and.no.long
3d320 65 72 20 6d 61 69 6e 74 61 69 6e 65 64 2e 25 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 72 65 er.maintained.%s</warning>',.$re
3d340 70 6c 61 63 65 6d 65 6e 74 29 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 placement).);.}..if.($package->g
3d360 65 74 53 75 70 70 6f 72 74 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e etSupport()).{.$io->write("\n<in
3d380 66 6f 3e 73 75 70 70 6f 72 74 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 fo>support</info>");.foreach.($p
3d3a0 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e ackage->getSupport().as.$type.=>
3d3c0 20 24 76 61 6c 75 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e .$value).{.$io->write('<comment>
3d3e0 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3a 20 27 2e 24 76 61 6c '...$type...'</comment>.:.'.$val
3d400 75 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c ue);.}.}..if.($package->getAutol
3d420 6f 61 64 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 61 75 74 oad()).{.$io->write("\n<info>aut
3d440 6f 6c 6f 61 64 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 oload</info>");.foreach.($packag
3d460 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 61 75 e->getAutoload().as.$type.=>.$au
3d480 74 6f 6c 6f 61 64 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e toloads).{.$io->write('<comment>
3d4a0 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 0a 69 66 20 28 '...$type...'</comment>');..if.(
3d4c0 24 74 79 70 65 20 3d 3d 3d 20 27 70 73 72 2d 30 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 $type.===.'psr-0').{.foreach.($a
3d4e0 75 74 6f 6c 6f 61 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 69 utoloads.as.$name.=>.$path).{.$i
3d500 6f 2d 3e 77 72 69 74 65 28 28 24 6e 61 6d 65 20 3f 3a 20 27 2a 27 29 20 2e 20 27 20 3d 3e 20 27 o->write(($name.?:.'*')...'.=>.'
3d520 20 2e 20 28 69 73 5f 61 72 72 61 79 28 24 70 61 74 68 29 20 3f 20 69 6d 70 6c 6f 64 65 28 27 2c ...(is_array($path).?.implode(',
3d540 20 27 2c 20 24 70 61 74 68 29 20 3a 20 28 24 70 61 74 68 20 3f 3a 20 27 2e 27 29 29 29 3b 0a 7d .',.$path).:.($path.?:.'.')));.}
3d560 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 70 73 72 2d 34 27 29 20 7b 0a .}.elseif.($type.===.'psr-4').{.
3d580 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 foreach.($autoloads.as.$name.=>.
3d5a0 24 70 61 74 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 28 24 6e 61 6d 65 20 3f 3a 20 27 2a $path).{.$io->write(($name.?:.'*
3d5c0 27 29 20 2e 20 27 20 3d 3e 20 27 20 2e 20 28 69 73 5f 61 72 72 61 79 28 24 70 61 74 68 29 20 3f ')...'.=>.'...(is_array($path).?
3d5e0 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 74 68 29 20 3a 20 28 24 70 61 74 68 20 3f .implode(',.',.$path).:.($path.?
3d600 3a 20 27 2e 27 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 :.'.')));.}.}.elseif.($type.===.
3d620 27 63 6c 61 73 73 6d 61 70 27 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 'classmap').{.$io->write(implode
3d640 28 27 2c 20 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 29 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 70 61 (',.',.$autoloads));.}.}.if.($pa
3d660 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 29 20 7b 0a 24 69 6f 2d ckage->getIncludePaths()).{.$io-
3d680 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 69 6e 63 6c 75 64 65 2d 70 61 74 68 3c 2f 63 >write('<comment>include-path</c
3d6a0 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 28 27 2c omment>');.$io->write(implode(',
3d6c0 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 29 .',.$package->getIncludePaths())
3d6e0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 );.}.}.}.........protected.funct
3d700 69 6f 6e 20 70 72 69 6e 74 56 65 72 73 69 6f 6e 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 ion.printVersions(CompletePackag
3d720 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 76 65 72 73 eInterface.$package,.array.$vers
3d740 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 ions,.RepositoryInterface.$insta
3d760 6c 6c 65 64 52 65 70 6f 29 0a 7b 0a 75 61 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 27 76 lledRepo).{.uasort($versions,.'v
3d780 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 ersion_compare');.$versions.=.ar
3d7a0 72 61 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 76 65 72 73 69 6f 6e 73 ray_keys(array_reverse($versions
3d7c0 29 29 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 61 ));....if.($installedRepo->hasPa
3d7e0 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 ckage($package)).{.$installedVer
3d800 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f sion.=.$package->getPrettyVersio
3d820 6e 28 29 3b 0a 24 6b 65 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 6e 73 74 61 6c n();.$key.=.array_search($instal
3d840 6c 65 64 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 ledVersion,.$versions);.if.(fals
3d860 65 20 21 3d 3d 20 24 6b 65 79 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 24 6b 65 79 5d 20 3d 20 e.!==.$key).{.$versions[$key].=.
3d880 27 3c 69 6e 66 6f 3e 2a 20 27 20 2e 20 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 2e '<info>*.'...$installedVersion..
3d8a0 20 27 3c 2f 69 6e 66 6f 3e 27 3b 0a 7d 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 69 6d 70 .'</info>';.}.}..$versions.=.imp
3d8c0 6c 6f 64 65 28 27 2c 20 27 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 lode(',.',.$versions);..$this->g
3d8e0 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 76 65 72 73 69 6f 6e 73 3c 2f 69 etIO()->write('<info>versions</i
3d900 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a nfo>.:.'...$versions);.}........
3d920 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4c 69 6e 6b 73 28 43 .protected.function.printLinks(C
3d940 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 ompletePackageInterface.$package
3d960 2c 20 24 6c 69 6e 6b 54 79 70 65 2c 20 24 74 69 74 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 ,.$linkType,.$title.=.null).{.$t
3d980 69 74 6c 65 20 3d 20 24 74 69 74 6c 65 20 3f 3a 20 24 6c 69 6e 6b 54 79 70 65 3b 0a 24 69 6f 20 itle.=.$title.?:.$linkType;.$io.
3d9a0 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 6c 69 6e 6b 73 20 3d 20 24 =.$this->getIO();.if.($links.=.$
3d9c0 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6c 69 6e 6b 54 79 70 package->{'get'.ucfirst($linkTyp
3d9e0 65 29 7d 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 22 20 2e e)}()).{.$io->write("\n<info>"..
3da00 20 24 74 69 74 6c 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 .$title..."</info>");..foreach.(
3da20 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6c $links.as.$link).{.$io->write($l
3da40 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 ink->getTarget()...'.<comment>'.
3da60 2e 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 2e ..$link->getPrettyConstraint()..
3da80 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 .'</comment>');.}.}.}.......prot
3daa0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4c 69 63 65 6e 73 65 73 28 43 6f 6d ected.function.printLicenses(Com
3dac0 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a pletePackageInterface.$package).
3dae0 7b 0a 24 73 70 64 78 4c 69 63 65 6e 73 65 73 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 {.$spdxLicenses.=.new.SpdxLicens
3db00 65 73 28 29 3b 0a 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 es();..$licenses.=.$package->get
3db20 4c 69 63 65 6e 73 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b License();.$io.=.$this->getIO();
3db40 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 ..foreach.($licenses.as.$license
3db60 49 64 29 20 7b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 73 70 64 78 4c 69 63 65 6e 73 65 73 2d 3e Id).{.$license.=.$spdxLicenses->
3db80 67 65 74 4c 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 6c 69 63 65 6e 73 65 49 getLicenseByIdentifier($licenseI
3dba0 64 29 3b 20 0a 0a 69 66 20 28 21 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 6f 75 74 20 3d 20 24 6c d);...if.(!$license).{.$out.=.$l
3dbc0 69 63 65 6e 73 65 49 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 24 6c 69 63 65 6e 73 icenseId;.}.else.{...if.($licens
3dbe0 65 5b 31 5d 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 6f 75 74 20 3d 20 73 70 72 69 6e 74 66 28 e[1].===.true).{.$out.=.sprintf(
3dc00 27 25 73 20 28 25 73 29 20 28 4f 53 49 20 61 70 70 72 6f 76 65 64 29 20 25 73 27 2c 20 24 6c 69 '%s.(%s).(OSI.approved).%s',.$li
3dc20 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 65 6e 73 65 49 64 2c 20 24 6c 69 63 65 6e 73 65 5b 32 cense[0],.$licenseId,.$license[2
3dc40 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 ]);.}.else.{.$out.=.sprintf('%s.
3dc60 28 25 73 29 20 25 73 27 2c 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 65 6e 73 65 49 (%s).%s',.$license[0],.$licenseI
3dc80 64 2c 20 24 6c 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 d,.$license[2]);.}.}..$io->write
3dca0 28 27 3c 69 6e 66 6f 3e 6c 69 63 65 6e 73 65 3c 2f 69 6e 66 6f 3e 20 20 3a 20 27 20 2e 20 24 6f ('<info>license</info>..:.'...$o
3dcc0 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ut);.}.}.......protected.functio
3dce0 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 n.initStyles(OutputInterface.$ou
3dd00 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 tput).{.$this->colors.=.array(.'
3dd20 67 72 65 65 6e 27 2c 0a 27 79 65 6c 6c 6f 77 27 2c 0a 27 63 79 61 6e 27 2c 0a 27 6d 61 67 65 6e green',.'yellow',.'cyan',.'magen
3dd40 74 61 27 2c 0a 27 62 6c 75 65 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d ta',.'blue',.);..foreach.($this-
3dd60 3e 63 6f 6c 6f 72 73 20 61 73 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 6e 65 >colors.as.$color).{.$style.=.ne
3dd80 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 24 63 6f 6c 6f 72 29 3b 0a w.OutputFormatterStyle($color);.
3dda0 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c $output->getFormatter()->setStyl
3ddc0 65 28 24 63 6f 6c 6f 72 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f e($color,.$style);.}.}.......pro
3dde0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 tected.function.displayPackageTr
3de00 65 65 28 61 72 72 61 79 20 24 61 72 72 61 79 54 72 65 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 ee(array.$arrayTree).{.$io.=.$th
3de20 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 72 61 79 54 72 65 65 is->getIO();.foreach.($arrayTree
3de40 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e .as.$package).{.$io->write(sprin
3de60 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 tf('<info>%s</info>',.$package['
3de80 6e 61 6d 65 27 5d 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 name']),.false);.$io->write('.'.
3dea0 2e 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 66 61 6c 73 65 29 3b 0a 24 ..$package['version'],.false);.$
3dec0 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 74 6f 6b 28 24 70 61 63 6b 61 67 65 5b io->write('.'...strtok($package[
3dee0 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 20 22 5c 72 5c 6e 22 29 29 3b 0a 0a 69 66 20 28 69 'description'],."\r\n"));..if.(i
3df00 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 29 29 20 7b 0a 24 72 sset($package['requires'])).{.$r
3df20 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 3b 0a equires.=.$package['requires'];.
3df40 24 74 72 65 65 42 61 72 20 3d 20 27 e2 94 9c 27 3b 0a 24 6a 20 3d 20 30 3b 0a 24 74 6f 74 61 6c $treeBar.=.'...';.$j.=.0;.$total
3df60 20 3d 20 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 .=.count($requires);.foreach.($r
3df80 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 72 65 71 75 69 72 65 4e equires.as.$require).{.$requireN
3dfa0 61 6d 65 20 3d 20 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 6a 2b 2b 3b 0a 69 66 ame.=.$require['name'];.$j++;.if
3dfc0 20 28 24 6a 20 3d 3d 3d 20 24 74 6f 74 61 6c 29 20 7b 0a 24 74 72 65 65 42 61 72 20 3d 20 27 e2 .($j.===.$total).{.$treeBar.=.'.
3dfe0 94 94 27 3b 0a 7d 0a 24 6c 65 76 65 6c 20 3d 20 31 3b 0a 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 ..';.}.$level.=.1;.$color.=.$thi
3e000 73 2d 3e 63 6f 6c 6f 72 73 5b 24 6c 65 76 65 6c 5d 3b 0a 24 69 6e 66 6f 20 3d 20 73 70 72 69 6e s->colors[$level];.$info.=.sprin
3e020 74 66 28 0a 27 25 73 e2 94 80 e2 94 80 3c 25 73 3e 25 73 3c 2f 25 73 3e 20 25 73 27 2c 0a 24 74 tf(.'%s......<%s>%s</%s>.%s',.$t
3e040 72 65 65 42 61 72 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 24 63 reeBar,.$color,.$requireName,.$c
3e060 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 76 65 72 73 69 6f 6e 27 5d 0a 29 3b 0a 24 74 68 olor,.$require['version'].);.$th
3e080 69 73 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 69 6e 66 6f 29 3b 0a 0a 24 74 72 65 65 is->writeTreeLine($info);..$tree
3e0a0 42 61 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 94 27 2c 20 27 20 27 2c 20 24 74 Bar.=.str_replace('...',.'.',.$t
3e0c0 72 65 65 42 61 72 29 3b 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 61 72 72 61 79 reeBar);.$packagesInTree.=.array
3e0e0 28 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 72 65 71 75 69 72 65 4e 61 6d 65 29 ($package['name'],.$requireName)
3e100 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 54 72 65 65 28 24 72 65 71 75 69 72 65 2c 20 ;..$this->displayTree($require,.
3e120 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 2c 20 24 74 72 65 65 42 61 72 2c 20 24 6c 65 76 65 $packagesInTree,.$treeBar,.$leve
3e140 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 l.+.1);.}.}.}.}..........protect
3e160 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 ed.function.generatePackageTree(
3e180 0a 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 0a 52 65 70 6f .PackageInterface.$package,.Repo
3e1a0 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a sitoryInterface.$installedRepo,.
3e1c0 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 74 61 6e 74 52 65 70 6f RepositoryInterface.$distantRepo
3e1e0 73 0a 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 s.).{.$requires.=.$package->getR
3e200 65 71 75 69 72 65 73 28 29 3b 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 24 63 68 equires();.ksort($requires);.$ch
3e220 69 6c 64 72 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 ildren.=.array();.foreach.($requ
3e240 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 4e 61 6d 65 20 3d 3e 20 24 72 65 71 75 69 72 65 ires.as.$requireName.=>.$require
3e260 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 61 72 72 61 79 28 24 70 61 63 ).{.$packagesInTree.=.array($pac
3e280 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 65 71 75 69 72 65 4e 61 6d 65 29 3b 0a kage->getName(),.$requireName);.
3e2a0 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 .$treeChildDesc.=.array(.'name'.
3e2c0 3d 3e 20 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 =>.$requireName,.'version'.=>.$r
3e2e0 65 71 75 69 72 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 0a 29 equire->getPrettyConstraint(),.)
3e300 3b 0a 0a 24 64 65 65 70 43 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 54 72 65 ;..$deepChildren.=.$this->addTre
3e320 65 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 2c 20 24 69 6e 73 74 61 e($requireName,.$require,.$insta
3e340 6c 6c 65 64 52 65 70 6f 2c 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 20 24 70 61 63 6b 61 67 lledRepo,.$distantRepos,.$packag
3e360 65 73 49 6e 54 72 65 65 29 3b 0a 0a 69 66 20 28 24 64 65 65 70 43 68 69 6c 64 72 65 6e 29 20 7b esInTree);..if.($deepChildren).{
3e380 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 5b 27 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 64 .$treeChildDesc['requires'].=.$d
3e3a0 65 65 70 43 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 5b 5d 20 3d 20 24 74 eepChildren;.}..$children[].=.$t
3e3c0 72 65 65 43 68 69 6c 64 44 65 73 63 3b 0a 7d 0a 24 74 72 65 65 20 3d 20 61 72 72 61 79 28 0a 27 reeChildDesc;.}.$tree.=.array(.'
3e3e0 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 name'.=>.$package->getPrettyName
3e400 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 (),.'version'.=>.$package->getPr
3e420 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 ettyVersion(),.'description'.=>.
3e440 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 0a 29 3b 0a 0a $package->getDescription(),.);..
3e460 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 72 65 65 5b 27 72 65 71 75 69 72 65 73 if.($children).{.$tree['requires
3e480 27 5d 20 3d 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 72 65 65 3b '].=.$children;.}..return.$tree;
3e4a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 .}..........protected.function.d
3e4c0 69 73 70 6c 61 79 54 72 65 65 28 0a 24 70 61 63 6b 61 67 65 2c 0a 61 72 72 61 79 20 24 70 61 63 isplayTree(.$package,.array.$pac
3e4e0 6b 61 67 65 73 49 6e 54 72 65 65 2c 0a 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 3d 20 kagesInTree,.$previousTreeBar.=.
3e500 27 e2 94 9c 27 2c 0a 24 6c 65 76 65 6c 20 3d 20 31 0a 29 20 7b 0a 24 70 72 65 76 69 6f 75 73 54 '...',.$level.=.1.).{.$previousT
3e520 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 9c 27 2c 20 27 e2 94 82 reeBar.=.str_replace('...',.'...
3e540 27 2c 20 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 29 3b 0a 69 66 20 28 69 73 73 65 74 28 ',.$previousTreeBar);.if.(isset(
3e560 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 $package['requires'])).{.$requir
3e580 65 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 3b 0a 24 74 72 65 65 es.=.$package['requires'];.$tree
3e5a0 42 61 72 20 3d 20 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 2e 20 27 20 20 e2 94 9c 27 Bar.=.$previousTreeBar...'.....'
3e5c0 3b 0a 24 69 20 3d 20 30 3b 0a 24 74 6f 74 61 6c 20 3d 20 63 6f 75 6e 74 28 24 72 65 71 75 69 72 ;.$i.=.0;.$total.=.count($requir
3e5e0 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 es);.foreach.($requires.as.$requ
3e600 69 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 49 ire).{.$currentTree.=.$packagesI
3e620 6e 54 72 65 65 3b 0a 24 69 2b 2b 3b 0a 69 66 20 28 24 69 20 3d 3d 3d 20 24 74 6f 74 61 6c 29 20 nTree;.$i++;.if.($i.===.$total).
3e640 7b 0a 24 74 72 65 65 42 61 72 20 3d 20 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 2e 20 {.$treeBar.=.$previousTreeBar...
3e660 27 20 20 e2 94 94 27 3b 0a 7d 0a 24 63 6f 6c 6f 72 49 64 65 6e 74 20 3d 20 24 6c 65 76 65 6c 20 '.....';.}.$colorIdent.=.$level.
3e680 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 3b 0a 24 63 6f 6c 6f 72 20 3d %.count($this->colors);.$color.=
3e6a0 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 49 64 65 6e 74 5d 3b 0a 0a 24 63 .$this->colors[$colorIdent];..$c
3e6c0 69 72 63 75 6c 61 72 57 61 72 6e 20 3d 20 69 6e 5f 61 72 72 61 79 28 0a 24 72 65 71 75 69 72 65 ircularWarn.=.in_array(.$require
3e6e0 5b 27 6e 61 6d 65 27 5d 2c 0a 24 63 75 72 72 65 6e 74 54 72 65 65 2c 0a 74 72 75 65 0a 29 20 3f ['name'],.$currentTree,.true.).?
3e700 20 27 28 63 69 72 63 75 6c 61 72 20 64 65 70 65 6e 64 65 6e 63 79 20 61 62 6f 72 74 65 64 20 68 .'(circular.dependency.aborted.h
3e720 65 72 65 29 27 20 3a 20 27 27 3b 0a 24 69 6e 66 6f 20 3d 20 72 74 72 69 6d 28 73 70 72 69 6e 74 ere)'.:.'';.$info.=.rtrim(sprint
3e740 66 28 0a 27 25 73 e2 94 80 e2 94 80 3c 25 73 3e 25 73 3c 2f 25 73 3e 20 25 73 20 25 73 27 2c 0a f(.'%s......<%s>%s</%s>.%s.%s',.
3e760 24 74 72 65 65 42 61 72 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 $treeBar,.$color,.$require['name
3e780 27 5d 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c '],.$color,.$require['version'],
3e7a0 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 0a 29 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 .$circularWarn.));.$this->writeT
3e7c0 72 65 65 4c 69 6e 65 28 24 69 6e 66 6f 29 3b 0a 0a 24 74 72 65 65 42 61 72 20 3d 20 73 74 72 5f reeLine($info);..$treeBar.=.str_
3e7e0 72 65 70 6c 61 63 65 28 27 e2 94 94 27 2c 20 27 20 27 2c 20 24 74 72 65 65 42 61 72 29 3b 0a 0a replace('...',.'.',.$treeBar);..
3e800 24 63 75 72 72 65 6e 74 54 72 65 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 $currentTree[].=.$require['name'
3e820 5d 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 54 72 65 65 28 24 72 65 71 75 69 72 65 2c 20 ];.$this->displayTree($require,.
3e840 24 63 75 72 72 65 6e 74 54 72 65 65 2c 20 24 74 72 65 65 42 61 72 2c 20 24 6c 65 76 65 6c 20 2b $currentTree,.$treeBar,.$level.+
3e860 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 .1);.}.}.}............protected.
3e880 66 75 6e 63 74 69 6f 6e 20 61 64 64 54 72 65 65 28 0a 24 6e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 function.addTree(.$name,.$packag
3e8a0 65 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 e,.RepositoryInterface.$installe
3e8c0 64 52 65 70 6f 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 74 dRepo,.RepositoryInterface.$dist
3e8e0 61 6e 74 52 65 70 6f 73 2c 0a 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 0a antRepos,.array.$packagesInTree.
3e900 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 6c 69 73 74 28 24 70 ).{.$children.=.array();.list($p
3e920 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 ackage,.$versions).=.$this->getP
3e940 61 63 6b 61 67 65 28 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a 24 64 69 73 74 61 6e 74 ackage(.$installedRepo,.$distant
3e960 52 65 70 6f 73 2c 0a 24 6e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 Repos,.$name,.$package->getPrett
3e980 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3d 3d 3d 20 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 yConstraint().===.'self.version'
3e9a0 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3a 20 24 .?.$package->getConstraint().:.$
3e9c0 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 29 package->getPrettyConstraint().)
3e9e0 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 ;.if.(is_object($package)).{.$re
3ea00 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 quires.=.$package->getRequires()
3ea20 3b 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 ;.ksort($requires);.foreach.($re
3ea40 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 4e 61 6d 65 20 3d 3e 20 24 72 65 71 75 69 quires.as.$requireName.=>.$requi
3ea60 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 49 6e re).{.$currentTree.=.$packagesIn
3ea80 54 72 65 65 3b 0a 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 20 3d 20 61 72 72 61 79 28 0a 27 Tree;..$treeChildDesc.=.array(.'
3eaa0 6e 61 6d 65 27 20 3d 3e 20 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 27 76 65 72 73 69 6f 6e 27 name'.=>.$requireName,.'version'
3eac0 20 3d 3e 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e .=>.$require->getPrettyConstrain
3eae0 74 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 72 65 71 75 69 72 65 4e t(),.);..if.(!in_array($requireN
3eb00 61 6d 65 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 2c 20 74 72 75 65 29 29 20 7b 0a 24 63 75 72 ame,.$currentTree,.true)).{.$cur
3eb20 72 65 6e 74 54 72 65 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 4e 61 6d 65 3b 0a 24 64 65 65 70 rentTree[].=.$requireName;.$deep
3eb40 43 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 54 72 65 65 28 24 72 65 71 75 69 Children.=.$this->addTree($requi
3eb60 72 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f reName,.$require,.$installedRepo
3eb80 2c 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 29 3b 0a ,.$distantRepos,.$currentTree);.
3eba0 69 66 20 28 24 64 65 65 70 43 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 72 65 65 43 68 69 6c 64 44 if.($deepChildren).{.$treeChildD
3ebc0 65 73 63 5b 27 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 64 65 65 70 43 68 69 6c 64 72 65 6e 3b esc['requires'].=.$deepChildren;
3ebe0 0a 7d 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 5b 5d 20 3d 20 24 74 72 65 65 43 68 69 6c 64 44 65 .}.}..$children[].=.$treeChildDe
3ec00 73 63 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 70 72 sc;.}.}..return.$children;.}..pr
3ec20 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 ivate.function.updateStatusToVer
3ec40 73 69 6f 6e 53 74 79 6c 65 28 24 75 70 64 61 74 65 53 74 61 74 75 73 29 0a 7b 0a 0a 20 0a 20 0a sionStyle($updateStatus).{......
3ec60 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 75 70 2d 74 6f .return.str_replace(array('up-to
3ec80 2d 64 61 74 65 27 2c 20 27 73 65 6d 76 65 72 2d 73 61 66 65 2d 75 70 64 61 74 65 27 2c 20 27 75 -date',.'semver-safe-update',.'u
3eca0 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 29 2c 20 61 72 72 61 79 28 27 69 6e 66 6f 27 2c 20 pdate-possible'),.array('info',.
3ecc0 27 68 69 67 68 6c 69 67 68 74 27 2c 20 27 63 6f 6d 6d 65 6e 74 27 29 2c 20 24 75 70 64 61 74 65 'highlight',.'comment'),.$update
3ece0 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 Status);.}..private.function.get
3ed00 55 70 64 61 74 65 53 74 61 74 75 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6c UpdateStatus(PackageInterface.$l
3ed20 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 atestPackage,.PackageInterface.$
3ed40 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 package).{.if.($latestPackage->g
3ed60 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 etFullPrettyVersion().===.$packa
3ed80 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 72 65 ge->getFullPrettyVersion()).{.re
3eda0 74 75 72 6e 20 27 75 70 2d 74 6f 2d 64 61 74 65 27 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e turn.'up-to-date';.}..$constrain
3edc0 74 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 t.=.$package->getVersion();.if.(
3ede0 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 27 64 65 76 2d 27 0.!==.strpos($constraint,.'dev-'
3ee00 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 27 5e 27 2e 24 63 6f 6e 73 74 72 61 69 )).{.$constraint.=.'^'.$constrai
3ee20 6e 74 3b 0a 7d 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 nt;.}.if.($latestPackage->getVer
3ee40 73 69 6f 6e 28 29 20 26 26 20 53 65 6d 76 65 72 3a 3a 73 61 74 69 73 66 69 65 73 28 24 6c 61 74 sion().&&.Semver::satisfies($lat
3ee60 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 63 6f 6e 73 74 estPackage->getVersion(),.$const
3ee80 72 61 69 6e 74 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 27 73 65 6d 76 65 72 2d 73 61 66 65 2d raint)).{...return.'semver-safe-
3eea0 75 70 64 61 74 65 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 27 75 70 64 61 74 65 2d 70 6f 73 update';.}....return.'update-pos
3eec0 73 69 62 6c 65 27 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 sible';.}..private.function.writ
3eee0 65 54 72 65 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e eTreeLine($line).{.$io.=.$this->
3ef00 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 getIO();.if.(!$io->isDecorated()
3ef20 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 e2 ).{.$line.=.str_replace(array('.
3ef40 94 94 27 2c 20 27 e2 94 9c 27 2c 20 27 e2 94 80 e2 94 80 27 2c 20 27 e2 94 82 27 29 2c 20 61 72 ..',.'...',.'......',.'...'),.ar
3ef60 72 61 79 28 27 60 2d 27 2c 20 27 7c 2d 27 2c 20 27 2d 27 2c 20 27 7c 27 29 2c 20 24 6c 69 6e 65 ray('`-',.'|-',.'-',.'|'),.$line
3ef80 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a );.}..$io->write($line);.}......
3efa0 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4c 61 74 65 73 ......private.function.findLates
3efc0 74 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 tPackage(PackageInterface.$packa
3efe0 67 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 70 68 70 56 65 72 73 ge,.Composer.$composer,.$phpVers
3f000 69 6f 6e 2c 20 24 6d 69 6e 6f 72 4f 6e 6c 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 6e 61 ion,.$minorOnly.=.false).{...$na
3f020 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 76 65 72 73 69 me.=.$package->getName();.$versi
3f040 6f 6e 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 onSelector.=.new.VersionSelector
3f060 28 24 74 68 69 73 2d 3e 67 65 74 50 6f 6f 6c 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 24 73 74 ($this->getPool($composer));.$st
3f080 61 62 69 6c 69 74 79 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 ability.=.$composer->getPackage(
3f0a0 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 24 66 6c 61 67 73 )->getMinimumStability();.$flags
3f0c0 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 .=.$composer->getPackage()->getS
3f0e0 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 66 6c 61 67 tabilityFlags();.if.(isset($flag
3f100 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 61 72 72 61 79 5f s[$name])).{.$stability.=.array_
3f120 73 65 61 72 63 68 28 24 66 6c 61 67 73 5b 24 6e 61 6d 65 5d 2c 20 42 61 73 65 50 61 63 6b 61 67 search($flags[$name],.BasePackag
3f140 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 62 65 73 74 e::$stabilities,.true);.}..$best
3f160 53 74 61 62 69 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 69 66 20 28 24 63 6f 6d Stability.=.$stability;.if.($com
3f180 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 66 65 72 53 74 poser->getPackage()->getPreferSt
3f1a0 61 62 6c 65 28 29 29 20 7b 0a 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b able()).{.$bestStability.=.$pack
3f1c0 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 56 age->getStability();.}..$targetV
3f1e0 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ersion.=.null;.if.(0.===.strpos(
3f200 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 64 65 76 2d 27 29 29 $package->getVersion(),.'dev-'))
3f220 20 7b 0a 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 .{.$targetVersion.=.$package->ge
3f240 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 61 72 67 65 74 56 65 72 73 69 6f tVersion();.}..if.($targetVersio
3f260 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 24 6d 69 6e 6f 72 4f 6e 6c 79 29 20 7b 0a 24 74 61 72 n.===.null.&&.$minorOnly).{.$tar
3f280 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 27 5e 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 getVersion.=.'^'...$package->get
3f2a0 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 53 65 6c Version();.}..return.$versionSel
3f2c0 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 ector->findBestCandidate($name,.
3f2e0 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 62 65 $targetVersion,.$phpVersion,.$be
3f300 73 74 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f stStability);.}..private.functio
3f320 6e 20 67 65 74 50 6f 6f 6c 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a n.getPool(Composer.$composer).{.
3f340 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 if.(!$this->pool).{.$this->pool.
3f360 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 =.new.Pool($composer->getPackage
3f380 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 2c 20 24 63 6f 6d 70 ()->getMinimumStability(),.$comp
3f3a0 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 oser->getPackage()->getStability
3f3c0 46 6c 61 67 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 Flags());.$this->pool->addReposi
3f3e0 74 6f 72 79 28 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 63 6f tory(new.CompositeRepository($co
3f400 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e mposer->getRepositoryManager()->
3f420 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 getRepositories()));.}..return.$
3f440 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a this->pool;.}.}.<?php...........
3f460 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 .namespace.Composer\Command;..us
3f480 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
3f4a0 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\InputInterface;.use.Symfony\Co
3f4c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f mponent\Console\Input\InputOptio
3f4e0 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
3f500 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d \Output\OutputInterface;.use.Com
3f520 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 poser\Downloader\ChangeReportInt
3f540 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c erface;.use.Composer\Downloader\
3f560 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d DvcsDownloaderInterface;.use.Com
3f580 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c poser\Downloader\VcsCapableDownl
3f5a0 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 oaderInterface;.use.Composer\Pac
3f5c0 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d kage\Dumper\ArrayDumper;.use.Com
3f5e0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 poser\Package\Version\VersionGue
3f600 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 sser;.use.Composer\Package\Versi
3f620 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 on\VersionParser;.use.Composer\P
3f640 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\CommandEvent;.use.Composer
3f660 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \Plugin\PluginEvents;.use.Compos
3f680 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 er\Script\ScriptEvents;.use.Comp
3f6a0 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a oser\Util\ProcessExecutor;......
3f6c0 63 6c 61 73 73 20 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 class.StatusCommand.extends.Base
3f6e0 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 4f 44 45 5f 45 52 52 4f 52 53 Command.{.const.EXIT_CODE_ERRORS
3f700 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 4f 44 45 5f 55 4e 50 55 53 48 45 44 5f 43 .=.1;.const.EXIT_CODE_UNPUSHED_C
3f720 48 41 4e 47 45 53 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 4f 44 45 5f 56 45 52 53 HANGES.=.2;.const.EXIT_CODE_VERS
3f740 49 4f 4e 5f 43 48 41 4e 47 45 53 20 3d 20 34 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ION_CHANGES.=.4;.....protected.f
3f760 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 unction.configure().{.$this.->se
3f780 74 4e 61 6d 65 28 27 73 74 61 74 75 73 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e tName('status').->setDescription
3f7a0 28 27 53 68 6f 77 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 6f 63 61 6c 6c 79 20 6d 6f 64 69 66 69 ('Shows.a.list.of.locally.modifi
3f7c0 65 64 20 70 61 63 6b 61 67 65 73 2c 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 61 6c ed.packages,.for.packages.instal
3f7e0 6c 65 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 led.from.source.').->setDefiniti
3f800 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f on(array(.new.InputOption('verbo
3f820 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 se',.'v|vv|vvv',.InputOption::VA
3f840 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 66 LUE_NONE,.'Show.modified.files.f
3f860 6f 72 20 65 61 63 68 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 or.each.directory.that.contains.
3f880 63 68 61 6e 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 changes.'),.)).->setHelp(.<<<EOT
3f8a0 0a 54 68 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 61 20 6c .The.status.command.displays.a.l
3f8c0 69 73 74 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 68 61 74 20 68 61 76 65 0a 62 65 ist.of.dependencies.that.have.be
3f8e0 65 6e 20 6d 6f 64 69 66 69 65 64 20 6c 6f 63 61 6c 6c 79 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 en.modified.locally...Read.more.
3f900 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 at.https://getcomposer.org/doc/0
3f920 33 2d 63 6c 69 2e 6d 64 23 73 74 61 74 75 73 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 3-cli.md#status.EOT.).;.}.......
3f940 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 protected.function.execute(Input
3f960 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
3f980 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 e.$output).{...$composer.=.$this
3f9a0 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 ->getComposer();..$commandEvent.
3f9c0 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a =.new.CommandEvent(PluginEvents:
3f9e0 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 74 61 74 75 73 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 :COMMAND,.'status',.$input,.$out
3fa00 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 put);.$composer->getEventDispatc
3fa20 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 her()->dispatch($commandEvent->g
3fa40 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 etName(),.$commandEvent);..$inst
3fa60 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 alledRepo.=.$composer->getReposi
3fa80 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 toryManager()->getLocalRepositor
3faa0 79 28 29 3b 0a 0a 24 64 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f y();..$dm.=.$composer->getDownlo
3fac0 61 64 4d 61 6e 61 67 65 72 28 29 3b 0a 24 69 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 adManager();.$im.=.$composer->ge
3fae0 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 0a 0a 20 24 63 6f 6d 70 tInstallationManager();....$comp
3fb00 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 oser->getEventDispatcher()->disp
3fb20 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 41 atchScript(ScriptEvents::PRE_STA
3fb40 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b 0a 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 TUS_CMD,.true);..$errors.=.array
3fb60 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 75 6e 70 75 73 ();.$io.=.$this->getIO();.$unpus
3fb80 68 65 64 43 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 63 73 56 65 72 73 69 6f hedChanges.=.array();.$vcsVersio
3fba0 6e 43 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 70 61 72 73 65 72 20 3d 20 6e nChanges.=.array();..$parser.=.n
3fbc0 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 ew.VersionParser;.$guesser.=.new
3fbe0 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f .VersionGuesser($composer->getCo
3fc00 6e 66 69 67 28 29 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 nfig(),.new.ProcessExecutor($io)
3fc20 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 ,.$parser);.$dumper.=.new.ArrayD
3fc40 75 6d 70 65 72 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 umper;....foreach.($installedRep
3fc60 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 o->getCanonicalPackages().as.$pa
3fc80 63 6b 61 67 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 64 6d 2d 3e 67 65 74 44 ckage).{.$downloader.=.$dm->getD
3fca0 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 ownloaderForInstalledPackage($pa
3fcc0 63 6b 61 67 65 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 69 6d 2d 3e 67 65 74 49 6e 73 ckage);.$targetDir.=.$im->getIns
3fce0 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f tallPath($package);..if.($downlo
3fd00 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 ader.instanceof.ChangeReportInte
3fd20 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 rface).{.if.(is_link($targetDir)
3fd40 29 20 7b 0a 24 65 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 74 61 72 67 65 ).{.$errors[$targetDir].=.$targe
3fd60 74 44 69 72 20 2e 20 27 20 69 73 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 2e 27 3b 0a 7d tDir...'.is.a.symbolic.link.';.}
3fd80 0a 0a 69 66 20 28 24 63 68 61 6e 67 65 73 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 ..if.($changes.=.$downloader->ge
3fda0 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 tLocalChanges($package,.$targetD
3fdc0 69 72 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 63 68 ir)).{.$errors[$targetDir].=.$ch
3fde0 61 6e 67 65 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 anges;.}.}..if.($downloader.inst
3fe00 61 6e 63 65 6f 66 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 anceof.VcsCapableDownloaderInter
3fe20 66 61 63 65 29 20 7b 0a 69 66 20 28 24 63 75 72 72 65 6e 74 52 65 66 20 3d 20 24 64 6f 77 6e 6c face).{.if.($currentRef.=.$downl
3fe40 6f 61 64 65 72 2d 3e 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 24 70 61 63 6b 61 67 65 2c oader->getVcsReference($package,
3fe60 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 73 77 69 74 63 68 20 28 24 70 61 63 6b 61 67 65 .$targetDir)).{.switch.($package
3fe80 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 29 20 7b 0a 63 61 73 ->getInstallationSource()).{.cas
3fea0 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 24 70 61 63 6b e.'source':.$previousRef.=.$pack
3fec0 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 62 72 65 61 6b age->getSourceReference();.break
3fee0 3b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 24 70 ;.case.'dist':.$previousRef.=.$p
3ff00 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 62 72 65 61 ackage->getDistReference();.brea
3ff20 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 6e 75 6c 6c 3b k;.default:.$previousRef.=.null;
3ff40 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e .}..$currentVersion.=.$guesser->
3ff60 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b guessVersion($dumper->dump($pack
3ff80 61 67 65 29 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 69 66 20 28 24 70 72 65 76 69 6f 75 age),.$targetDir);..if.($previou
3ffa0 73 52 65 66 20 26 26 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 26 26 20 24 63 75 72 72 sRef.&&.$currentVersion.&&.$curr
3ffc0 65 6e 74 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 20 21 3d 3d 20 24 70 72 65 76 69 6f entVersion['commit'].!==.$previo
3ffe0 75 73 52 65 66 29 20 7b 0a 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 5b 24 74 61 72 usRef).{.$vcsVersionChanges[$tar
40000 67 65 74 44 69 72 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 72 65 76 69 6f 75 73 27 20 3d 3e 20 61 getDir].=.array(.'previous'.=>.a
40020 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 rray(.'version'.=>.$package->get
40040 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 72 65 66 27 20 3d 3e 20 24 70 72 65 76 69 PrettyVersion(),.'ref'.=>.$previ
40060 6f 75 73 52 65 66 2c 0a 29 2c 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 ousRef,.),.'current'.=>.array(.'
40080 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5b 27 70 72 65 version'.=>.$currentVersion['pre
400a0 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 2c 0a 27 72 65 66 27 20 3d 3e 20 24 63 75 72 72 65 6e 74 tty_version'],.'ref'.=>.$current
400c0 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 2c 0a 29 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a Version['commit'],.),.);.}.}.}..
400e0 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 76 63 73 44 if.($downloader.instanceof.DvcsD
40100 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 24 75 6e 70 75 73 ownloaderInterface).{.if.($unpus
40120 68 65 64 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 55 6e 70 75 73 68 65 64 43 68 hed.=.$downloader->getUnpushedCh
40140 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 24 anges($package,.$targetDir)).{.$
40160 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 75 unpushedChanges[$targetDir].=.$u
40180 6e 70 75 73 68 65 64 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 npushed;.}.}.}....if.(!$errors.&
401a0 26 20 21 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 26 26 20 21 24 76 63 73 56 65 72 73 &.!$unpushedChanges.&&.!$vcsVers
401c0 69 6f 6e 43 68 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ionChanges).{.$io->writeError('<
401e0 69 6e 66 6f 3e 4e 6f 20 6c 6f 63 61 6c 20 63 68 61 6e 67 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a info>No.local.changes</info>');.
40200 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 69 6f .return.0;.}..if.($errors).{.$io
40220 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 68 61 76 65 20 63 68 ->writeError('<error>You.have.ch
40240 61 6e 67 65 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 anges.in.the.following.dependenc
40260 69 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 ies:</error>');..foreach.($error
40280 73 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 s.as.$path.=>.$changes).{.if.($i
402a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 69 nput->getOption('verbose')).{.$i
402c0 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 ndentedChanges.=.implode("\n",.a
402e0 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 rray_map(function.($line).{.retu
40300 72 6e 20 27 20 20 20 20 27 20 2e 20 6c 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 7d 2c 20 65 78 70 rn.'....'...ltrim($line);.},.exp
40320 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 lode("\n",.$changes)));.$io->wri
40340 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 te('<info>'.$path.'</info>:');.$
40360 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 29 3b 0a 7d 20 65 io->write($indentedChanges);.}.e
40380 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a lse.{.$io->write($path);.}.}.}..
403a0 69 66 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 if.($unpushedChanges).{.$io->wri
403c0 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 68 61 76 65 20 75 6e 70 75 73 teError('<warning>You.have.unpus
403e0 68 65 64 20 63 68 61 6e 67 65 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 61 6e 63 hed.changes.on.the.current.branc
40400 68 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a h.in.the.following.dependencies:
40420 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 70 75 73 68 65 </warning>');..foreach.($unpushe
40440 64 43 68 61 6e 67 65 73 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b dChanges.as.$path.=>.$changes).{
40460 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 .if.($input->getOption('verbose'
40480 29 29 20 7b 0a 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 )).{.$indentedChanges.=.implode(
404a0 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 "\n",.array_map(function.($line)
404c0 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 20 2e 20 6c 74 72 69 6d 28 24 6c 69 6e 65 29 3b .{.return.'....'...ltrim($line);
404e0 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a 24 .},.explode("\n",.$changes)));.$
40500 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f io->write('<info>'.$path.'</info
40520 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 >:');.$io->write($indentedChange
40540 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a s);.}.else.{.$io->write($path);.
40560 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 29 20 7b }.}.}..if.($vcsVersionChanges).{
40580 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 68 .$io->writeError('<warning>You.h
405a0 61 76 65 20 76 65 72 73 69 6f 6e 20 76 61 72 69 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 66 6f ave.version.variations.in.the.fo
405c0 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 llowing.dependencies:</warning>'
405e0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 );..foreach.($vcsVersionChanges.
40600 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 6e 70 as.$path.=>.$changes).{.if.($inp
40620 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 0a 20 24 63 ut->getOption('verbose')).{...$c
40640 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 65 6e urrentVersion.=.$changes['curren
40660 74 27 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 t']['version'].?:.$changes['curr
40680 65 6e 74 27 5d 5b 27 72 65 66 27 5d 3b 0a 24 70 72 65 76 69 6f 75 73 56 65 72 73 69 6f 6e 20 3d ent']['ref'];.$previousVersion.=
406a0 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 76 65 72 73 69 6f 6e 27 5d .$changes['previous']['version']
406c0 20 3f 3a 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 72 65 66 27 5d 3b .?:.$changes['previous']['ref'];
406e0 0a 0a 69 66 20 28 24 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 0a 20 ..if.($io->isVeryVerbose()).{...
40700 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 28 25 73 $currentVersion..=.sprintf('.(%s
40720 29 27 2c 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 72 65 66 27 5d 29 3b )',.$changes['current']['ref']);
40740 0a 24 70 72 65 76 69 6f 75 73 56 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 28 .$previousVersion..=.sprintf('.(
40760 25 73 29 27 2c 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 72 65 66 27 %s)',.$changes['previous']['ref'
40780 5d 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 ]);.}..$io->write('<info>'.$path
407a0 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 .'</info>:');.$io->write(sprintf
407c0 28 27 20 20 20 20 46 72 6f 6d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e ('....From.<comment>%s</comment>
407e0 20 74 6f 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 70 72 65 .to.<comment>%s</comment>',.$pre
40800 76 69 6f 75 73 56 65 72 73 69 6f 6e 2c 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 29 29 3b viousVersion,.$currentVersion));
40820 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a 7d 0a 7d .}.else.{.$io->write($path);.}.}
40840 0a 7d 0a 0a 69 66 20 28 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 75 6e 70 75 73 68 65 64 43 68 61 .}..if.(($errors.||.$unpushedCha
40860 6e 67 65 73 20 7c 7c 20 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 29 20 26 26 20 21 nges.||.$vcsVersionChanges).&&.!
40880 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a $input->getOption('verbose')).{.
408a0 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 55 73 65 20 2d 2d 76 65 72 62 6f 73 65 20 28 $io->writeError('Use.--verbose.(
408c0 2d 76 29 20 74 6f 20 73 65 65 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 27 29 3b 0a 7d 0a -v).to.see.a.list.of.files');.}.
408e0 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 ...$composer->getEventDispatcher
40900 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a ()->dispatchScript(ScriptEvents:
40920 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e :POST_STATUS_CMD,.true);..return
40940 20 28 24 65 72 72 6f 72 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 45 52 52 4f .($errors.?.self::EXIT_CODE_ERRO
40960 52 53 20 3a 20 30 29 20 2b 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3f 20 73 65 RS.:.0).+.($unpushedChanges.?.se
40980 6c 66 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 55 4e 50 55 53 48 45 44 5f 43 48 41 4e 47 45 53 20 3a lf::EXIT_CODE_UNPUSHED_CHANGES.:
409a0 20 30 29 20 2b 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 3f 20 73 65 6c 66 .0).+.($vcsVersionChanges.?.self
409c0 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 56 45 52 53 49 4f 4e 5f 43 48 41 4e 47 45 53 20 3a 20 30 29 ::EXIT_CODE_VERSION_CHANGES.:.0)
409e0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
40a00 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 .Composer\Command;..use.Composer
40a20 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a \Repository\PlatformRepository;.
40a40 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
40a60 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 put\InputArgument;.use.Symfony\C
40a80 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
40aa0 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
40ac0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 sole\Input\InputOption;.use.Symf
40ae0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
40b00 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 63 6c 61 73 73 20 53 75 67 67 65 73 74 73 43 6f 6d putInterface;..class.SuggestsCom
40b20 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 mand.extends.BaseCommand.{.prote
40b40 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
40b60 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 75 67 67 65 73 74 73 27 29 0a 2d 3e 73 65 74 44 65 73 s.->setName('suggests').->setDes
40b80 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 cription('Shows.package.suggesti
40ba0 6f 6e 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 ons.').->setDefinition(array(.ne
40bc0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b 61 67 65 27 2c 20 6e 75 6c 6c w.InputOption('by-package',.null
40be0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 47 72 6f 75 ,.InputOption::VALUE_NONE,.'Grou
40c00 70 73 20 6f 75 74 70 75 74 20 62 79 20 73 75 67 67 65 73 74 69 6e 67 20 70 61 63 6b 61 67 65 27 ps.output.by.suggesting.package'
40c20 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 62 79 2d 73 75 67 67 65 73 74 69 6f ),.new.InputOption('by-suggestio
40c40 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e n',.null,.InputOption::VALUE_NON
40c60 45 2c 20 27 47 72 6f 75 70 73 20 6f 75 74 70 75 74 20 62 79 20 73 75 67 67 65 73 74 65 64 20 70 E,.'Groups.output.by.suggested.p
40c80 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 ackage'),.new.InputOption('no-de
40ca0 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e v',.null,.InputOption::VALUE_NON
40cc0 45 2c 20 27 45 78 63 6c 75 64 65 20 73 75 67 67 65 73 74 69 6f 6e 73 20 66 72 6f 6d 20 72 65 71 E,.'Exclude.suggestions.from.req
40ce0 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 uire-dev.packages'),.new.InputAr
40d00 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 gument('packages',.InputArgument
40d20 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 ::IS_ARRAY.|.InputArgument::OPTI
40d40 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f ONAL,.'Packages.that.you.want.to
40d60 20 6c 69 73 74 20 73 75 67 67 65 73 74 69 6f 6e 73 20 66 72 6f 6d 2e 27 29 2c 0a 29 29 0a 2d 3e .list.suggestions.from.'),.)).->
40d80 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d setHelp(.<<<EOT..The.<info>%comm
40da0 61 6e 64 2e 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 73 68 6f 77 73 20 61 and.name%</info>.command.shows.a
40dc0 20 73 6f 72 74 65 64 20 6c 69 73 74 20 6f 66 20 73 75 67 67 65 73 74 65 64 20 70 61 63 6b 61 67 .sorted.list.of.suggested.packag
40de0 65 73 2e 0a 0a 45 6e 61 62 6c 69 6e 67 20 3c 69 6e 66 6f 3e 2d 76 3c 2f 69 6e 66 6f 3e 20 69 6d es...Enabling.<info>-v</info>.im
40e00 70 6c 69 65 73 20 3c 69 6e 66 6f 3e 2d 2d 62 79 2d 70 61 63 6b 61 67 65 20 2d 2d 62 79 2d 73 75 plies.<info>--by-package.--by-su
40e20 67 67 65 73 74 69 6f 6e 3c 2f 69 6e 66 6f 3e 2c 20 73 68 6f 77 69 6e 67 20 62 6f 74 68 20 6c 69 ggestion</info>,.showing.both.li
40e40 73 74 73 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f sts...Read.more.at.https://getco
40e60 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 75 67 67 65 73 74 mposer.org/doc/03-cli.md#suggest
40e80 73 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 s.EOT.).;.}..protected.function.
40ea0 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f execute(InputInterface.$input,.O
40ec0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6c 6f 63 6b 20 utputInterface.$output).{.$lock.
40ee0 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 4c 6f 63 6b 65 =.$this->getComposer()->getLocke
40f00 72 28 29 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 r()->getLockData();..if.(empty($
40f20 6c 6f 63 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 lock)).{.throw.new.\RuntimeExcep
40f40 74 69 6f 6e 28 27 4c 6f 63 6b 66 69 6c 65 20 73 65 65 6d 73 20 74 6f 20 62 65 20 65 6d 70 74 79 tion('Lockfile.seems.to.be.empty
40f60 3f 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 ?');.}..$packages.=.$lock['packa
40f80 67 65 73 27 5d 3b 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ges'];..if.(!$input->getOption('
40fa0 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 2b 3d 20 24 6c 6f 63 6b 5b 27 no-dev')).{.$packages.+=.$lock['
40fc0 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 3b 0a 7d 0a 0a 24 66 69 6c 74 65 72 20 3d 20 24 69 6e packages-dev'];.}..$filter.=.$in
40fe0 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 0a 0a put->getArgument('packages');...
41000 20 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 .$installed.=.array();.foreach.(
41020 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c $packages.as.$package).{.$instal
41040 6c 65 64 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 0a 69 66 20 28 21 led[].=.$package['name'];..if.(!
41060 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 20 7b 0a 24 69 empty($package['provide'])).{.$i
41080 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 69 6e 73 74 61 6c 6c 65 nstalled.=.array_merge($installe
410a0 64 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 d,.array_keys($package['provide'
410c0 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 ]));.}..if.(!empty($package['rep
410e0 6c 61 63 65 27 5d 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 lace'])).{.$installed.=.array_me
41100 72 67 65 28 24 69 6e 73 74 61 6c 6c 65 64 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b rge($installed,.array_keys($pack
41120 61 67 65 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 69 6e 73 74 61 6c age['replace']));.}.}....$instal
41140 6c 65 64 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 24 69 6e 73 74 61 6c 6c 65 64 29 3b 0a 6b 73 led.=.array_flip($installed);.ks
41160 6f 72 74 28 24 69 6e 73 74 61 6c 6c 65 64 29 3b 0a 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 20 3d 20 ort($installed);....$platform.=.
41180 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 new.PlatformRepository(array(),.
411a0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 43 6f 6e 66 69 67 28 $this->getComposer()->getConfig(
411c0 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 29 3b 0a )->get('platform').?:.array());.
411e0 0a 0a 20 24 73 75 67 67 65 73 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 ...$suggesters.=.array();.$sugge
41200 73 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 sted.=.array();.foreach.($packag
41220 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d es.as.$package).{.$packageName.=
41240 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 28 21 65 6d 70 74 79 28 24 .$package['name'];.if.((!empty($
41260 66 69 6c 74 65 72 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d filter).&&.!in_array($packageNam
41280 65 2c 20 24 66 69 6c 74 65 72 29 29 20 7c 7c 20 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 e,.$filter)).||.empty($package['
412a0 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 suggest'])).{.continue;.}.foreac
412c0 68 20 28 24 70 61 63 6b 61 67 65 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 73 75 67 67 65 h.($package['suggest'].as.$sugge
412e0 73 74 69 6f 6e 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d stion.=>.$reason).{.if.(false.==
41300 3d 20 73 74 72 70 6f 73 28 27 2f 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 20 26 26 20 6e 75 =.strpos('/',.$suggestion).&&.nu
41320 6c 6c 20 21 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 73 ll.!==.$platform->findPackage($s
41340 75 67 67 65 73 74 69 6f 6e 2c 20 27 2a 27 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 uggestion,.'*')).{.continue;.}.i
41360 66 20 28 21 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 5b 24 73 75 67 67 65 73 74 69 6f 6e f.(!isset($installed[$suggestion
41380 5d 29 29 20 7b 0a 24 73 75 67 67 65 73 74 65 72 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 5b ])).{.$suggesters[$packageName][
413a0 24 73 75 67 67 65 73 74 69 6f 6e 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 24 73 75 67 67 65 73 74 $suggestion].=.$reason;.$suggest
413c0 65 64 5b 24 73 75 67 67 65 73 74 69 6f 6e 5d 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 ed[$suggestion][$packageName].=.
413e0 24 72 65 61 73 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 73 75 67 67 65 73 74 65 72 73 $reason;.}.}.}.ksort($suggesters
41400 29 3b 0a 6b 73 6f 72 74 28 24 73 75 67 67 65 73 74 65 64 29 3b 0a 0a 0a 20 24 6d 6f 64 65 20 3d );.ksort($suggested);....$mode.=
41420 20 30 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 69 .0;.$io.=.$this->getIO();.if.($i
41440 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b 61 67 65 27 29 20 7c 7c nput->getOption('by-package').||
41460 20 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 6d 6f 64 65 20 7c 3d 20 31 3b .$io->isVerbose()).{.$mode.|=.1;
41480 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 62 79 2d 73 75 67 .}.if.($input->getOption('by-sug
414a0 67 65 73 74 69 6f 6e 27 29 29 20 7b 0a 24 6d 6f 64 65 20 7c 3d 20 32 3b 0a 7d 0a 0a 0a 20 69 66 gestion')).{.$mode.|=.2;.}....if
414c0 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 30 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f .($mode.===.0).{.foreach.(array_
414e0 6b 65 79 73 28 24 73 75 67 67 65 73 74 65 64 29 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 29 keys($suggested).as.$suggestion)
41500 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c .{.$io->write(sprintf('<info>%s<
41520 2f 69 6e 66 6f 3e 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 /info>',.$suggestion));.}..retur
41540 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 31 29 20 7b 0a 66 6f 72 65 61 63 68 n;.}....if.($mode.&.1).{.foreach
41560 20 28 24 73 75 67 67 65 73 74 65 72 73 20 61 73 20 24 73 75 67 67 65 73 74 65 72 20 3d 3e 20 24 .($suggesters.as.$suggester.=>.$
41580 73 75 67 67 65 73 74 69 6f 6e 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 suggestions).{.$io->write(sprint
415a0 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 73 75 67 67 65 73 74 f('<comment>%s</comment>.suggest
415c0 73 3a 27 2c 20 24 73 75 67 67 65 73 74 65 72 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 75 s:',.$suggester));..foreach.($su
415e0 67 67 65 73 74 69 6f 6e 73 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 3d 3e 20 24 72 65 61 ggestions.as.$suggestion.=>.$rea
41600 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 20 2d 20 3c 69 son).{.$io->write(sprintf('.-.<i
41620 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 2c nfo>%s</info>:.%s',.$suggestion,
41640 20 24 72 65 61 73 6f 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 .$reason.?:.'*'));.}.$io->write(
41660 27 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 32 29 20 7b 0a 0a 20 69 '');.}.}....if.($mode.&.2).{...i
41680 66 20 28 24 6d 6f 64 65 20 26 20 31 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 f.($mode.&.1).{.$io->write(str_r
416a0 65 70 65 61 74 28 27 2d 27 2c 20 37 38 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 epeat('-',.78));.}.foreach.($sug
416c0 67 65 73 74 65 64 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 3d 3e 20 24 73 75 67 67 65 73 gested.as.$suggestion.=>.$sugges
416e0 74 65 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d ters).{.$io->write(sprintf('<com
41700 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 69 73 20 73 75 67 67 65 73 74 65 64 20 62 ment>%s</comment>.is.suggested.b
41720 79 3a 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 y:',.$suggestion));..foreach.($s
41740 75 67 67 65 73 74 65 72 73 20 61 73 20 24 73 75 67 67 65 73 74 65 72 20 3d 3e 20 24 72 65 61 73 uggesters.as.$suggester.=>.$reas
41760 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 20 2d 20 3c 69 6e on).{.$io->write(sprintf('.-.<in
41780 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 75 67 67 65 73 74 65 72 2c 20 24 fo>%s</info>:.%s',.$suggester,.$
417a0 72 65 61 73 6f 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 reason.?:.'*'));.}.$io->write(''
417c0 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 );.}.}.}.}.<?php............name
417e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d space.Composer\Command;..use.Com
41800 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 poser\Composer;.use.Composer\Ins
41820 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 taller;.use.Composer\IO\IOInterf
41840 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 ace;.use.Composer\Plugin\Command
41860 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 Event;.use.Composer\Plugin\Plugi
41880 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 nEvents;.use.Symfony\Component\C
418a0 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 onsole\Helper\Table;.use.Symfony
418c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e \Component\Console\Input\InputIn
418e0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
41900 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 onsole\Input\InputOption;.use.Sy
41920 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
41940 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 putArgument;.use.Symfony\Compone
41960 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 nt\Console\Output\OutputInterfac
41980 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
419a0 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 \Question\Question;......class.U
419c0 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 pdateCommand.extends.BaseCommand
419e0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 .{.protected.function.configure(
41a00 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 75 70 64 61 74 65 27 29 0a 2d 3e ).{.$this.->setName('update').->
41a20 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 75 27 2c 20 27 75 70 67 72 61 64 65 27 29 setAliases(array('u',.'upgrade')
41a40 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 67 72 61 64 65 73 20 79 6f 75 ).->setDescription('Upgrades.you
41a60 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 r.dependencies.to.the.latest.ver
41a80 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2c sion.according.to.composer.json,
41aa0 20 61 6e 64 20 75 70 64 61 74 65 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 .and.updates.the.composer.lock.f
41ac0 69 6c 65 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 ile.').->setDefinition(array(.ne
41ae0 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 w.InputArgument('packages',.Inpu
41b00 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d tArgument::IS_ARRAY.|.InputArgum
41b20 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 73 68 ent::OPTIONAL,.'Packages.that.sh
41b40 6f 75 6c 64 20 62 65 20 75 70 64 61 74 65 64 2c 20 69 66 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 ould.be.updated,.if.not.provided
41b60 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f .all.packages.are.'),.new.InputO
41b80 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 ption('prefer-source',.null,.Inp
41ba0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e utOption::VALUE_NONE,.'Forces.in
41bc0 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 stallation.from.package.sources.
41be0 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 when.possible,.including.VCS.inf
41c00 6f 72 6d 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 ormation.'),.new.InputOption('pr
41c20 65 66 65 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 efer-dist',.null,.InputOption::V
41c40 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ALUE_NONE,.'Forces.installation.
41c60 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 from.package.dist.even.for.dev.v
41c80 65 72 73 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 ersions.'),.new.InputOption('dry
41ca0 2d 72 75 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f -run',.null,.InputOption::VALUE_
41cc0 4e 4f 4e 45 2c 20 27 4f 75 74 70 75 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 NONE,.'Outputs.the.operations.bu
41ce0 74 20 77 69 6c 6c 20 6e 6f 74 20 65 78 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 t.will.not.execute.anything.(imp
41d00 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e licitly.enables.--verbose).'),.n
41d20 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 ew.InputOption('dev',.null,.Inpu
41d40 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e tOption::VALUE_NONE,.'Enables.in
41d60 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 stallation.of.require-dev.packag
41d80 65 73 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 es.(enabled.by.default,.only.pre
41da0 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e sent.for.BC).'),.new.InputOption
41dc0 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 ('no-dev',.null,.InputOption::VA
41de0 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e LUE_NONE,.'Disables.installation
41e00 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 .of.require-dev.packages.'),.new
41e20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 .InputOption('lock',.null,.Input
41e40 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 75 70 64 61 74 65 Option::VALUE_NONE,.'Only.update
41e60 73 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 68 61 73 68 20 74 6f 20 73 75 70 70 72 65 73 73 s.the.lock.file.hash.to.suppress
41e80 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 62 65 69 .warning.about.the.lock.file.bei
41ea0 6e 67 20 6f 75 74 20 6f 66 20 64 61 74 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 ng.out.of.date.'),.new.InputOpti
41ec0 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c on('no-custom-installers',.null,
41ee0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 .InputOption::VALUE_NONE,.'DEPRE
41f00 43 41 54 45 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 CATED:.Use.no-plugins.instead.')
41f20 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 ,.new.InputOption('no-autoloader
41f40 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
41f60 2c 20 27 53 6b 69 70 73 20 61 75 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 27 29 ,.'Skips.autoloader.generation')
41f80 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 ,.new.InputOption('no-scripts',.
41fa0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
41fc0 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 Skips.the.execution.of.all.scrip
41fe0 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 ts.defined.in.composer.json.file
42000 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 .'),.new.InputOption('no-progres
42020 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
42040 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 E,.'Do.not.output.download.progr
42060 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 ess.'),.new.InputOption('no-sugg
42080 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e est',.null,.InputOption::VALUE_N
420a0 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 ONE,.'Do.not.show.package.sugges
420c0 74 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d tions.'),.new.InputOption('with-
420e0 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e dependencies',.null,.InputOption
42100 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 61 6c 73 6f 20 64 65 70 65 6e 64 65 6e ::VALUE_NONE,.'Add.also.dependen
42120 63 69 65 73 20 6f 66 20 77 68 69 74 65 6c 69 73 74 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 cies.of.whitelisted.packages.to.
42140 74 68 65 20 77 68 69 74 65 6c 69 73 74 2c 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 64 65 66 69 the.whitelist,.except.those.defi
42160 6e 65 64 20 69 6e 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 ned.in.root.package.'),.new.Inpu
42180 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c tOption('with-all-dependencies',
421a0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
421c0 27 41 64 64 20 61 6c 73 6f 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 77 68 'Add.also.all.dependencies.of.wh
421e0 69 74 65 6c 69 73 74 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 20 77 68 69 74 65 6c itelisted.packages.to.the.whitel
42200 69 73 74 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 ist,.including.those.defined.in.
42220 72 6f 6f 74 20 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e root.package.'),.new.InputOption
42240 28 27 76 65 72 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 ('verbose',.'v|vv|vvv',.InputOpt
42260 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 ion::VALUE_NONE,.'Shows.more.det
42280 61 69 6c 73 20 69 6e 63 6c 75 64 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 ails.including.new.commits.pulle
422a0 64 20 69 6e 20 77 68 65 6e 20 75 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a d.in.when.updating.packages.'),.
422c0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f new.InputOption('optimize-autolo
422e0 61 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e ader',.'o',.InputOption::VALUE_N
42300 4f 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 ONE,.'Optimize.autoloader.during
42320 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 .autoloader.dump.'),.new.InputOp
42340 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 tion('classmap-authoritative',.'
42360 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 a',.InputOption::VALUE_NONE,.'Au
42380 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 toload.classes.from.the.classmap
423a0 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 .only..Implicitly.enables.`--opt
423c0 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f imize-autoloader`.'),.new.InputO
423e0 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 ption('apcu-autoloader',.null,.I
42400 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 nputOption::VALUE_NONE,.'Use.APC
42420 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 u.to.cache.found/not-found.class
42440 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 es.'),.new.InputOption('ignore-p
42460 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e latform-reqs',.null,.InputOption
42480 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 ::VALUE_NONE,.'Ignore.platform.r
424a0 65 71 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 equirements.(php.&.ext-.packages
424c0 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 ).'),.new.InputOption('prefer-st
424e0 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f able',.null,.InputOption::VALUE_
42500 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 73 74 61 62 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 NONE,.'Prefer.stable.versions.of
42520 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f .dependencies.'),.new.InputOptio
42540 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 n('prefer-lowest',.null,.InputOp
42560 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 6c 6f 77 65 73 74 tion::VALUE_NONE,.'Prefer.lowest
42580 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 .versions.of.dependencies.'),.ne
425a0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 6e 74 65 72 61 63 74 69 76 65 27 2c 20 27 69 27 w.InputOption('interactive',.'i'
425c0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 74 65 ,.InputOption::VALUE_NONE,.'Inte
425e0 72 61 63 74 69 76 65 20 69 6e 74 65 72 66 61 63 65 20 77 69 74 68 20 61 75 74 6f 63 6f 6d 70 6c ractive.interface.with.autocompl
42600 65 74 69 6f 6e 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 6f 20 etion.to.select.the.packages.to.
42620 75 70 64 61 74 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 6f 6f 74 update.'),.new.InputOption('root
42640 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 -reqs',.null,.InputOption::VALUE
42660 5f 4e 4f 4e 45 2c 20 27 52 65 73 74 72 69 63 74 73 20 74 68 65 20 75 70 64 61 74 65 20 74 6f 20 _NONE,.'Restricts.the.update.to.
42680 79 6f 75 72 20 66 69 72 73 74 20 64 65 67 72 65 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 your.first.degree.dependencies.'
426a0 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 ),.)).->setHelp(.<<<EOT.The.<inf
426c0 6f 3e 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 61 64 73 20 74 68 o>update</info>.command.reads.th
426e0 65 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 66 72 6f 6d 20 74 68 65 0a 63 75 e.composer.json.file.from.the.cu
42700 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 73 20 69 74 2c 20 61 rrent.directory,.processes.it,.a
42720 6e 64 20 75 70 64 61 74 65 73 2c 20 72 65 6d 6f 76 65 73 20 6f 72 20 69 6e 73 74 61 6c 6c 73 20 nd.updates,.removes.or.installs.
42740 61 6c 6c 20 74 68 65 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 all.the.dependencies...<info>php
42760 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f .composer.phar.update</info>..To
42780 20 6c 69 6d 69 74 20 74 68 65 20 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 61 .limit.the.update.operation.to.a
427a0 20 66 65 77 20 70 61 63 6b 61 67 65 73 2c 20 79 6f 75 20 63 61 6e 20 6c 69 73 74 20 74 68 65 20 .few.packages,.you.can.list.the.
427c0 70 61 63 6b 61 67 65 28 73 29 0a 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 70 64 61 74 65 20 61 73 package(s).you.want.to.update.as
427e0 20 73 75 63 68 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 .such:..<info>php.composer.phar.
42800 75 70 64 61 74 65 20 76 65 6e 64 6f 72 2f 70 61 63 6b 61 67 65 31 20 66 6f 6f 2f 6d 79 70 61 63 update.vendor/package1.foo/mypac
42820 6b 61 67 65 20 5b 2e 2e 2e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 kage.[...]</info>..You.may.also.
42840 75 73 65 20 61 6e 20 61 73 74 65 72 69 73 6b 20 28 2a 29 20 70 61 74 74 65 72 6e 20 74 6f 20 6c use.an.asterisk.(*).pattern.to.l
42860 69 6d 69 74 20 74 68 65 20 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 70 61 63 imit.the.update.operation.to.pac
42880 6b 61 67 65 28 73 29 0a 66 72 6f 6d 20 61 20 73 70 65 63 69 66 69 63 20 76 65 6e 64 6f 72 3a 0a kage(s).from.a.specific.vendor:.
428a0 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 20 .<info>php.composer.phar.update.
428c0 76 65 6e 64 6f 72 2f 70 61 63 6b 61 67 65 31 20 66 6f 6f 2f 2a 20 5b 2e 2e 2e 5d 3c 2f 69 6e 66 vendor/package1.foo/*.[...]</inf
428e0 6f 3e 0a 0a 54 6f 20 73 65 6c 65 63 74 20 70 61 63 6b 61 67 65 73 20 6e 61 6d 65 73 20 69 6e 74 o>..To.select.packages.names.int
42900 65 72 61 63 74 69 76 65 6c 79 20 77 69 74 68 20 61 75 74 6f 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 eractively.with.auto-completion.
42920 75 73 65 20 3c 69 6e 66 6f 3e 2d 69 3c 2f 69 6e 66 6f 3e 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 use.<info>-i</info>...Read.more.
42940 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 at.https://getcomposer.org/doc/0
42960 33 2d 63 6c 69 2e 6d 64 23 75 70 64 61 74 65 2d 75 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 3-cli.md#update-u.EOT.).;.}..pro
42980 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 tected.function.execute(InputInt
429a0 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
429c0 6f 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a output).{.$io.=.$this->getIO();.
429e0 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d if.($input->getOption('no-custom
42a00 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 -installers')).{.$io->writeError
42a20 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 ('<warning>You.are.using.the.dep
42a40 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c recated.option."no-custom-instal
42a60 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 69 6e 73 74 65 61 64 2e lers"..Use."no-plugins".instead.
42a80 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 </warning>');.$input->setOption(
42aa0 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 'no-plugins',.true);.}..if.($inp
42ac0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 ut->getOption('dev')).{.$io->wri
42ae0 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 teError('<warning>You.are.using.
42b00 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 the.deprecated.option."dev"..Dev
42b20 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 .packages.are.installed.by.defau
42b40 6c 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 lt.now.</warning>');.}..$compose
42b60 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e r.=.$this->getComposer(true,.$in
42b80 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 0a put->getOption('no-plugins'));..
42ba0 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 $packages.=.$input->getArgument(
42bc0 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 'packages');..if.($input->getOpt
42be0 69 6f 6e 28 27 69 6e 74 65 72 61 63 74 69 76 65 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 ion('interactive')).{.$packages.
42c00 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 61 63 74 69 76 65 6c =.$this->getPackagesInteractivel
42c20 79 28 24 69 6f 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f 6d 70 6f 73 65 y($io,.$input,.$output,.$compose
42c40 72 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 r,.$packages);.}..if.($input->ge
42c60 74 4f 70 74 69 6f 6e 28 27 72 6f 6f 74 2d 72 65 71 73 27 29 29 20 7b 0a 24 72 65 71 75 69 72 65 tOption('root-reqs')).{.$require
42c80 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b .=.array_keys($composer->getPack
42ca0 61 67 65 28 29 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 69 66 20 28 21 24 69 6e 70 age()->getRequires());.if.(!$inp
42cc0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 72 65 71 75 ut->getOption('no-dev')).{.$requ
42ce0 69 72 65 44 65 76 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ireDev.=.array_keys($composer->g
42d00 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a etPackage()->getDevRequires());.
42d20 24 72 65 71 75 69 72 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 2c $require.=.array_merge($require,
42d40 20 24 72 65 71 75 69 72 65 44 65 76 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 .$requireDev);.}..if.(!empty($pa
42d60 63 6b 61 67 65 73 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 ckages)).{.$packages.=.array_int
42d80 65 72 73 65 63 74 28 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 71 75 69 72 65 29 3b 0a 7d 20 65 ersect($packages,.$require);.}.e
42da0 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 71 75 69 72 65 3b 0a 7d 0a 7d 0a lse.{.$packages.=.$require;.}.}.
42dc0 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 .$composer->getDownloadManager()
42de0 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 ->setOutputProgress(!$input->get
42e00 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e Option('no-progress'));..$comman
42e20 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e dEvent.=.new.CommandEvent(Plugin
42e40 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 75 70 64 61 74 65 27 2c 20 24 69 6e 70 75 Events::COMMAND,.'update',.$inpu
42e60 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 t,.$output);.$composer->getEvent
42e80 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 Dispatcher()->dispatch($commandE
42ea0 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b vent->getName(),.$commandEvent);
42ec0 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 ..$install.=.Installer::create($
42ee0 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 io,.$composer);..$config.=.$comp
42f00 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 oser->getConfig();.list($preferS
42f20 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ource,.$preferDist).=.$this->get
42f40 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c PreferredInstallOptions($config,
42f60 20 24 69 6e 70 75 74 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 .$input);..$optimize.=.$input->g
42f80 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 etOption('optimize-autoloader').
42fa0 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f ||.$config->get('optimize-autolo
42fc0 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d ader');.$authoritative.=.$input-
42fe0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 >getOption('classmap-authoritati
43000 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 ve').||.$config->get('classmap-a
43020 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e uthoritative');.$apcu.=.$input->
43040 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 getOption('apcu-autoloader').||.
43060 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b $config->get('apcu-autoloader');
43080 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 6e 28 24 69 6e 70 75 74 2d 3e 67 ..$install.->setDryRun($input->g
430a0 65 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 29 29 0a 2d 3e 73 65 74 56 65 72 62 6f 73 etOption('dry-run')).->setVerbos
430c0 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a e($input->getOption('verbose')).
430e0 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 ->setPreferSource($preferSource)
43100 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e .->setPreferDist($preferDist).->
43120 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e setDevMode(!$input->getOption('n
43140 6f 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 28 21 24 69 o-dev')).->setDumpAutoloader(!$i
43160 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 nput->getOption('no-autoloader')
43180 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ).->setRunScripts(!$input->getOp
431a0 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 tion('no-scripts')).->setSkipSug
431c0 67 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 gest($input->getOption('no-sugge
431e0 73 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f st')).->setOptimizeAutoloader($o
43200 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 ptimize).->setClassMapAuthoritat
43220 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 ive($authoritative).->setApcuAut
43240 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 oloader($apcu).->setUpdate(true)
43260 0a 2d 3e 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 .->setUpdateWhitelist($input->ge
43280 74 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 29 20 3f 20 61 72 72 61 79 28 27 6c 6f 63 6b 27 29 20 tOption('lock').?.array('lock').
432a0 3a 20 24 70 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 :.$packages).->setWhitelistTrans
432c0 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 itiveDependencies($input->getOpt
432e0 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 57 ion('with-dependencies')).->setW
43300 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e hitelistAllDependencies($input->
43320 67 65 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 getOption('with-all-dependencies
43340 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 ')).->setIgnorePlatformRequireme
43360 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c nts($input->getOption('ignore-pl
43380 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 atform-reqs')).->setPreferStable
433a0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c ($input->getOption('prefer-stabl
433c0 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 e')).->setPreferLowest($input->g
433e0 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 29 29 0a 3b 0a 0a 69 66 etOption('prefer-lowest')).;..if
43400 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 .($input->getOption('no-plugins'
43420 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b )).{.$install->disablePlugins();
43440 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b 0a 7d 0a 0a 70 .}..return.$install->run();.}..p
43460 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 rivate.function.getPackagesInter
43480 61 63 74 69 76 65 6c 79 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 49 6e 70 75 74 49 actively(IOInterface.$io,.InputI
434a0 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 nterface.$input,.OutputInterface
434c0 20 24 6f 75 74 70 75 74 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 61 72 .$output,.Composer.$composer,.ar
434e0 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 73 ray.$packages).{.if.(!$input->is
43500 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 Interactive()).{.throw.new.\Inva
43520 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 2d 2d 69 6e 74 65 72 61 63 74 lidArgumentException('--interact
43540 69 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 ive.cannot.be.used.in.non-intera
43560 63 74 69 76 65 20 74 65 72 6d 69 6e 61 6c 73 2e 27 29 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 73 ctive.terminals.');.}..$requires
43580 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 .=.array_merge(.$composer->getPa
435a0 63 6b 61 67 65 28 29 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 ckage()->getRequires(),.$compose
435c0 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 r->getPackage()->getDevRequires(
435e0 29 0a 29 3b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 ).);.$autocompleterValues.=.arra
43600 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 y();.foreach.($requires.as.$requ
43620 69 72 65 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 ire).{.$target.=.$require->getTa
43640 72 67 65 74 28 29 3b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 73 74 72 rget();.$autocompleterValues[str
43660 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a tolower($target)].=.$target;.}..
43680 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e $installedPackages.=.$composer->
436a0 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c getRepositoryManager()->getLocal
436c0 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 66 6f 72 Repository()->getPackages();.for
436e0 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 each.($installedPackages.as.$pac
43700 6b 61 67 65 29 20 7b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 24 70 61 kage).{.$autocompleterValues[$pa
43720 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ckage->getName()].=.$package->ge
43740 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 tPrettyName();.}..$helper.=.$thi
43760 73 2d 3e 67 65 74 48 65 6c 70 65 72 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 s->getHelper('question');.$quest
43780 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 45 6e 74 ion.=.new.Question('<comment>Ent
437a0 65 72 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 3a 20 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 6e 75 er.package.name:.</comment>',.nu
437c0 6c 6c 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 72 65 ll);..$io->writeError('<info>Pre
437e0 73 73 20 65 6e 74 65 72 20 77 69 74 68 6f 75 74 20 76 61 6c 75 65 20 74 6f 20 65 6e 64 20 73 75 ss.enter.without.value.to.end.su
43800 62 6d 69 73 73 69 6f 6e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 64 6f 20 7b 0a 24 61 75 74 6f 63 6f bmission</info>');..do.{.$autoco
43820 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 61 75 74 6f mpleterValues.=.array_diff($auto
43840 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 71 75 completerValues,.$packages);.$qu
43860 65 73 74 69 6f 6e 2d 3e 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 24 estion->setAutocompleterValues($
43880 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 29 3b 0a 24 61 64 64 65 64 50 61 63 6b autocompleterValues);.$addedPack
438a0 61 67 65 20 3d 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 age.=.$helper->ask($input,.$outp
438c0 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 ut,.$question);..if.(!is_string(
438e0 24 61 64 64 65 64 50 61 63 6b 61 67 65 29 20 7c 7c 20 65 6d 70 74 79 28 24 61 64 64 65 64 50 61 $addedPackage).||.empty($addedPa
43900 63 6b 61 67 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 61 64 64 65 64 50 61 63 6b 61 67 ckage)).{.break;.}..$addedPackag
43920 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 29 3b 0a 69 e.=.strtolower($addedPackage);.i
43940 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 2c 20 24 70 61 63 f.(!in_array($addedPackage,.$pac
43960 6b 61 67 65 73 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 64 64 65 64 50 61 kages)).{.$packages[].=.$addedPa
43980 63 6b 61 67 65 3b 0a 7d 0a 7d 20 77 68 69 6c 65 20 28 74 72 75 65 29 3b 0a 0a 24 70 61 63 6b 61 ckage;.}.}.while.(true);..$packa
439a0 67 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 69 ges.=.array_filter($packages);.i
439c0 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 f.(!$packages).{.throw.new.\Inva
439e0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 lidArgumentException('You.must.e
43a00 6e 74 65 72 20 6d 69 6e 69 6d 75 6d 20 6f 6e 65 20 70 61 63 6b 61 67 65 2e 27 29 3b 0a 7d 0a 0a nter.minimum.one.package.');.}..
43a20 24 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 $table.=.new.Table($output);.$ta
43a40 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 28 27 53 65 6c 65 63 74 65 64 20 ble->setHeaders(array('Selected.
43a60 70 61 63 6b 61 67 65 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 packages'));.foreach.($packages.
43a80 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 as.$package).{.$table->addRow(ar
43aa0 72 61 79 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 ray($package));.}.$table->render
43ac0 28 29 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 73 70 ();..if.($io->askConfirmation(sp
43ae0 72 69 6e 74 66 28 0a 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 63 6f 6e 74 69 6e rintf(.'Would.you.like.to.contin
43b00 75 65 20 61 6e 64 20 75 70 64 61 74 65 20 74 68 65 20 61 62 6f 76 65 20 70 61 63 6b 61 67 65 25 ue.and.update.the.above.package%
43b20 73 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 0a 31 s.[<comment>yes</comment>]?.',.1
43b40 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 27 27 20 3a 20 27 73 27 .===.count($packages).?.''.:.'s'
43b60 0a 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d .),.true)).{.return.$packages;.}
43b80 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 ..throw.new.\RuntimeException('I
43ba0 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 61 62 6f 72 74 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 nstallation.aborted.');.}.}.<?ph
43bc0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
43be0 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a Command;..use.Composer\Factory;.
43c00 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 use.Composer\Package\Loader\Vali
43c20 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c datingArrayLoader;.use.Composer\
43c40 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 Plugin\CommandEvent;.use.Compose
43c60 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Plugin\PluginEvents;.use.Compo
43c80 73 65 72 5c 55 74 69 6c 5c 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 53 79 ser\Util\ConfigValidator;.use.Sy
43ca0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
43cc0 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 putArgument;.use.Symfony\Compone
43ce0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
43d00 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
43d20 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\InputOption;.use.Symfony\Co
43d40 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
43d60 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 65 43 6f 6d erface;........class.ValidateCom
43d80 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 mand.extends.BaseCommand.{....pr
43da0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 otected.function.configure().{.$
43dc0 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 76 61 6c 69 64 61 74 65 27 29 0a 2d 3e 73 65 74 this.->setName('validate').->set
43de0 44 65 73 63 72 69 70 74 69 6f 6e 28 27 56 61 6c 69 64 61 74 65 73 20 61 20 63 6f 6d 70 6f 73 65 Description('Validates.a.compose
43e00 72 2e 6a 73 6f 6e 20 61 6e 64 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 2e 27 29 0a 2d 3e 73 65 r.json.and.composer.lock.').->se
43e20 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 tDefinition(array(.new.InputOpti
43e40 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 61 6c 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 on('no-check-all',.null,.InputOp
43e60 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 76 61 6c 69 64 61 tion::VALUE_NONE,.'Do.not.valida
43e80 74 65 20 72 65 71 75 69 72 65 73 20 66 6f 72 20 6f 76 65 72 6c 79 20 73 74 72 69 63 74 2f 6c 6f te.requires.for.overly.strict/lo
43ea0 6f 73 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 ose.constraints'),.new.InputOpti
43ec0 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f on('no-check-lock',.null,.InputO
43ee0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 63 68 65 63 6b ption::VALUE_NONE,.'Do.not.check
43f00 20 69 66 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 75 70 20 74 6f 20 64 61 74 65 27 29 2c 0a 6e .if.lock.file.is.up.to.date'),.n
43f20 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 70 75 62 6c 69 73 68 ew.InputOption('no-check-publish
43f40 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
43f60 2c 20 27 44 6f 20 6e 6f 74 20 63 68 65 63 6b 20 66 6f 72 20 70 75 62 6c 69 73 68 20 65 72 72 6f ,.'Do.not.check.for.publish.erro
43f80 72 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 rs'),.new.InputOption('with-depe
43fa0 6e 64 65 6e 63 69 65 73 27 2c 20 27 41 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ndencies',.'A',.InputOption::VAL
43fc0 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 73 6f 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 63 6f 6d 70 UE_NONE,.'Also.validate.the.comp
43fe0 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 65 64 20 64 65 70 65 6e oser.json.of.all.installed.depen
44000 64 65 6e 63 69 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 dencies'),.new.InputOption('stri
44020 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ct',.null,.InputOption::VALUE_NO
44040 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 NE,.'Return.a.non-zero.exit.code
44060 20 66 6f 72 20 77 61 72 6e 69 6e 67 73 20 61 73 20 77 65 6c 6c 20 61 73 20 65 72 72 6f 72 73 27 .for.warnings.as.well.as.errors'
44080 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 2c 20 49 6e 70 ),.new.InputArgument('file',.Inp
440a0 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 70 61 74 68 20 74 6f 20 63 utArgument::OPTIONAL,.'path.to.c
440c0 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c omposer.json.file'),.)).->setHel
440e0 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 76 61 6c 69 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 76 p(.<<<EOT.The.validate.command.v
44100 61 6c 69 64 61 74 65 73 20 61 20 67 69 76 65 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 alidates.a.given.composer.json.a
44120 6e 64 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 0a 0a 45 78 69 74 20 63 6f 64 65 73 20 69 6e 20 nd.composer.lock..Exit.codes.in.
44140 63 61 73 65 20 6f 66 20 65 72 72 6f 72 73 20 61 72 65 3a 0a 31 20 76 61 6c 69 64 61 74 69 6f 6e case.of.errors.are:.1.validation
44160 20 77 61 72 6e 69 6e 67 28 73 29 2c 20 6f 6e 6c 79 20 77 68 65 6e 20 2d 2d 73 74 72 69 63 74 20 .warning(s),.only.when.--strict.
44180 69 73 20 67 69 76 65 6e 0a 32 20 76 61 6c 69 64 61 74 69 6f 6e 20 65 72 72 6f 72 28 73 29 0a 33 is.given.2.validation.error(s).3
441a0 20 66 69 6c 65 20 75 6e 72 65 61 64 61 62 6c 65 20 6f 72 20 6d 69 73 73 69 6e 67 0a 0a 52 65 61 .file.unreadable.or.missing..Rea
441c0 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 d.more.at.https://getcomposer.or
441e0 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 76 61 6c 69 64 61 74 65 0a 45 4f 54 0a 29 3b 0a g/doc/03-cli.md#validate.EOT.);.
44200 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 }........protected.function.exec
44220 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 ute(InputInterface.$input,.Outpu
44240 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 24 69 tInterface.$output).{.$file.=.$i
44260 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 29 20 3f 3a 20 46 61 63 nput->getArgument('file').?:.Fac
44280 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 24 69 6f 20 3d 20 24 tory::getComposerFile();.$io.=.$
442a0 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 this->getIO();..if.(!file_exists
442c0 28 24 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 ($file)).{.$io->writeError('<err
442e0 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 2e 3c 2f 65 72 72 or>'...$file...'.not.found.</err
44300 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 33 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 72 65 61 64 or>');..return.3;.}.if.(!is_read
44320 61 62 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 able($file)).{.$io->writeError('
44340 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 69 73 20 6e 6f 74 20 72 65 61 64 <error>'...$file...'.is.not.read
44360 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 33 3b 0a 7d 0a 0a 24 able.</error>');..return.3;.}..$
44380 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 28 validator.=.new.ConfigValidator(
443a0 24 69 6f 29 3b 0a 24 63 68 65 63 6b 41 6c 6c 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 $io);.$checkAll.=.$input->getOpt
443c0 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 61 6c 6c 27 29 20 3f 20 30 20 3a 20 56 61 6c 69 64 61 ion('no-check-all').?.0.:.Valida
443e0 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 43 48 45 43 4b 5f 41 4c 4c 3b 0a 24 63 68 65 tingArrayLoader::CHECK_ALL;.$che
44400 63 6b 50 75 62 6c 69 73 68 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ckPublish.=.!$input->getOption('
44420 6e 6f 2d 63 68 65 63 6b 2d 70 75 62 6c 69 73 68 27 29 3b 0a 24 63 68 65 63 6b 4c 6f 63 6b 20 3d no-check-publish');.$checkLock.=
44440 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 6c 6f .!$input->getOption('no-check-lo
44460 63 6b 27 29 3b 0a 24 69 73 53 74 72 69 63 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ck');.$isStrict.=.$input->getOpt
44480 69 6f 6e 28 27 73 74 72 69 63 74 27 29 3b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 24 70 75 ion('strict');.list($errors,.$pu
444a0 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 blishErrors,.$warnings).=.$valid
444c0 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 63 68 65 63 6b 41 6c 6c 29 ator->validate($file,.$checkAll)
444e0 3b 0a 0a 24 6c 6f 63 6b 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6d 70 6f ;..$lockErrors.=.array();.$compo
44500 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 66 69 6c 65 ser.=.Factory::create($io,.$file
44520 2c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d ,.$input->hasParameterOption('--
44540 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 6c 6f 63 6b 65 72 20 3d 20 24 63 6f 6d 70 6f 73 no-plugins'));.$locker.=.$compos
44560 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 3b 0a 69 66 20 28 24 6c 6f 63 6b 65 72 2d 3e 69 73 er->getLocker();.if.($locker->is
44580 4c 6f 63 6b 65 64 28 29 20 26 26 20 21 24 6c 6f 63 6b 65 72 2d 3e 69 73 46 72 65 73 68 28 29 29 Locked().&&.!$locker->isFresh())
445a0 20 7b 0a 24 6c 6f 63 6b 45 72 72 6f 72 73 5b 5d 20 3d 20 27 54 68 65 20 6c 6f 63 6b 20 66 69 6c .{.$lockErrors[].=.'The.lock.fil
445c0 65 20 69 73 20 6e 6f 74 20 75 70 20 74 6f 20 64 61 74 65 20 77 69 74 68 20 74 68 65 20 6c 61 74 e.is.not.up.to.date.with.the.lat
445e0 65 73 74 20 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2c 20 69 74 est.changes.in.composer.json,.it
44600 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 75 6e 20 60 63 6f .is.recommended.that.you.run.`co
44620 6d 70 6f 73 65 72 20 75 70 64 61 74 65 60 2e 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 mposer.update`.';.}..$this->outp
44640 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 66 69 6c 65 2c 20 24 65 72 72 6f 72 73 2c 20 24 77 utResult($io,.$file,.$errors,.$w
44660 61 72 6e 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 2c 20 24 70 75 62 6c 69 73 68 arnings,.$checkPublish,.$publish
44680 45 72 72 6f 72 73 2c 20 24 63 68 65 63 6b 4c 6f 63 6b 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 2c Errors,.$checkLock,.$lockErrors,
446a0 20 74 72 75 65 2c 20 24 69 73 53 74 72 69 63 74 29 3b 0a 0a 0a 20 24 65 78 69 74 43 6f 64 65 20 .true,.$isStrict);....$exitCode.
446c0 3d 20 24 65 72 72 6f 72 73 20 3f 20 32 20 3a 20 28 24 69 73 53 74 72 69 63 74 20 26 26 20 24 77 =.$errors.?.2.:.($isStrict.&&.$w
446e0 61 72 6e 69 6e 67 73 20 3f 20 31 20 3a 20 30 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 arnings.?.1.:.0);..if.($input->g
44700 65 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 20 7b etOption('with-dependencies')).{
44720 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f .$localRepo.=.$composer->getRepo
44740 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 sitoryManager()->getLocalReposit
44760 6f 72 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 ory();.foreach.($localRepo->getP
44780 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 74 68 20 3d ackages().as.$package).{.$path.=
447a0 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 .$composer->getInstallationManag
447c0 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a er()->getInstallPath($package);.
447e0 24 66 69 6c 65 20 3d 20 24 70 61 74 68 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 $file.=.$path...'/composer.json'
44800 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 ;.if.(is_dir($path).&&.file_exis
44820 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c ts($file)).{.list($errors,.$publ
44840 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 ishErrors,.$warnings).=.$validat
44860 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 63 68 65 63 6b 41 6c 6c 29 3b 0a or->validate($file,.$checkAll);.
44880 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 70 61 63 6b 61 67 $this->outputResult($io,.$packag
448a0 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 65 72 72 6f 72 73 2c 20 24 77 61 e->getPrettyName(),.$errors,.$wa
448c0 72 6e 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 2c 20 24 70 75 62 6c 69 73 68 45 rnings,.$checkPublish,.$publishE
448e0 72 72 6f 72 73 29 3b 0a 0a 24 64 65 70 43 6f 64 65 20 3d 20 24 65 72 72 6f 72 73 20 3f 20 32 20 rrors);..$depCode.=.$errors.?.2.
44900 3a 20 28 24 69 73 53 74 72 69 63 74 20 26 26 20 24 77 61 72 6e 69 6e 67 73 20 3f 20 31 20 3a 20 :.($isStrict.&&.$warnings.?.1.:.
44920 30 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 64 65 70 43 6f 64 65 2c 20 24 65 0);.$exitCode.=.max($depCode,.$e
44940 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d xitCode);.}.}.}..$commandEvent.=
44960 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a .new.CommandEvent(PluginEvents::
44980 43 4f 4d 4d 41 4e 44 2c 20 27 76 61 6c 69 64 61 74 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 COMMAND,.'validate',.$input,.$ou
449a0 74 70 75 74 29 3b 0a 24 65 76 65 6e 74 43 6f 64 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 tput);.$eventCode.=.$composer->g
449c0 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 etEventDispatcher()->dispatch($c
449e0 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 ommandEvent->getName(),.$command
44a00 45 76 65 6e 74 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 76 65 6e 74 43 6f Event);.$exitCode.=.max($eventCo
44a20 64 65 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 de,.$exitCode);..return.$exitCod
44a40 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 52 65 73 e;.}..private.function.outputRes
44a60 75 6c 74 28 24 69 6f 2c 20 24 6e 61 6d 65 2c 20 26 24 65 72 72 6f 72 73 2c 20 26 24 77 61 72 6e ult($io,.$name,.&$errors,.&$warn
44a80 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 20 3d 20 66 61 6c 73 65 2c 20 24 70 75 ings,.$checkPublish.=.false,.$pu
44aa0 62 6c 69 73 68 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 68 65 63 6b 4c 6f 63 blishErrors.=.array(),.$checkLoc
44ac0 6b 20 3d 20 66 61 6c 73 65 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 k.=.false,.$lockErrors.=.array()
44ae0 2c 20 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 20 3d 20 66 61 6c 73 65 2c 20 24 69 73 53 74 ,.$printSchemaUrl.=.false,.$isSt
44b00 72 69 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 rict.=.false).{.if.(!$errors.&&.
44b20 21 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 26 26 20 21 24 77 61 72 6e 69 6e 67 73 29 20 7b !$publishErrors.&&.!$warnings).{
44b40 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 .$io->write('<info>'...$name...'
44b60 20 69 73 20 76 61 6c 69 64 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 .is.valid</info>');.}.elseif.(!$
44b80 65 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 20 7b 0a 24 69 6f errors.&&.!$publishErrors).{.$io
44ba0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 ->writeError('<info>'...$name...
44bc0 27 20 69 73 20 76 61 6c 69 64 2c 20 62 75 74 20 77 69 74 68 20 61 20 66 65 77 20 77 61 72 6e 69 '.is.valid,.but.with.a.few.warni
44be0 6e 67 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 ngs</info>');.if.($printSchemaUr
44c00 6c 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 l).{.$io->writeError('<warning>S
44c20 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 ee.https://getcomposer.org/doc/0
44c40 34 2d 73 63 68 65 6d 61 2e 6d 64 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 4-schema.md.for.details.on.the.s
44c60 63 68 65 6d 61 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 chema</warning>');.}.}.elseif.(!
44c80 24 65 72 72 6f 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 $errors).{.$io->writeError('<inf
44ca0 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 73 69 6d o>'...$name...'.is.valid.for.sim
44cc0 70 6c 65 20 75 73 61 67 65 20 77 69 74 68 20 63 6f 6d 70 6f 73 65 72 20 62 75 74 20 68 61 73 3c ple.usage.with.composer.but.has<
44ce0 2f 69 6e 66 6f 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f /info>');.$io->writeError('<info
44d00 3e 73 74 72 69 63 74 20 65 72 72 6f 72 73 20 74 68 61 74 20 6d 61 6b 65 20 69 74 20 75 6e 61 62 >strict.errors.that.make.it.unab
44d20 6c 65 20 74 6f 20 62 65 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 61 63 6b 61 67 65 3a le.to.be.published.as.a.package:
44d40 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 29 20 </info>');.if.($printSchemaUrl).
44d60 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 {.$io->writeError('<warning>See.
44d80 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 https://getcomposer.org/doc/04-s
44da0 63 68 65 6d 61 2e 6d 64 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 63 68 65 chema.md.for.details.on.the.sche
44dc0 6d 61 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e ma</warning>');.}.}.else.{.$io->
44de0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 writeError('<error>'...$name...'
44e00 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 .is.invalid,.the.following.error
44e20 73 2f 77 61 72 6e 69 6e 67 73 20 77 65 72 65 20 66 6f 75 6e 64 3a 3c 2f 65 72 72 6f 72 3e 27 29 s/warnings.were.found:</error>')
44e40 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 63 68 65 63 6b 50 75 62 6c 69 73 68 29 20 7b 0a 24 65 ;.}......if.($checkPublish).{.$e
44e60 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 70 75 rrors.=.array_merge($errors,.$pu
44e80 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 69 73 53 74 72 69 blishErrors);.}.elseif.(!$isStri
44ea0 63 74 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 ct).{.$warnings.=.array_merge($w
44ec0 61 72 6e 69 6e 67 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 7d 0a 0a 0a 20 0a arnings,.$publishErrors);.}.....
44ee0 20 69 66 20 28 24 63 68 65 63 6b 4c 6f 63 6b 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 .if.($checkLock).{.$errors.=.arr
44f00 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 29 3b 0a ay_merge($errors,.$lockErrors);.
44f20 7d 20 65 6c 73 65 69 66 20 28 21 24 69 73 53 74 72 69 63 74 29 20 7b 0a 24 77 61 72 6e 69 6e 67 }.elseif.(!$isStrict).{.$warning
44f40 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 61 72 6e 69 6e 67 73 2c 20 24 6c 6f 63 6b s.=.array_merge($warnings,.$lock
44f60 45 72 72 6f 72 73 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 Errors);.}..$messages.=.array(.'
44f80 65 72 72 6f 72 27 20 3d 3e 20 24 65 72 72 6f 72 73 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 error'.=>.$errors,.'warning'.=>.
44fa0 24 77 61 72 6e 69 6e 67 73 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 $warnings,.);..foreach.($message
44fc0 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 s.as.$style.=>.$msgs).{.foreach.
44fe0 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ($msgs.as.$msg).{.$io->writeErro
45000 72 28 27 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 67 20 2e 20 27 3c r('<'...$style...'>'...$msg...'<
45020 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 /'...$style...'>');.}.}.}.}.<?ph
45040 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b p............namespace.Composer;
45060 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 ..use.Composer\Package\RootPacka
45080 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 geInterface;.use.Composer\Packag
450a0 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 e\Locker;.use.Composer\Repositor
450c0 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 y\RepositoryManager;.use.Compose
450e0 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b r\Installer\InstallationManager;
45100 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 67 .use.Composer\Plugin\PluginManag
45120 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e er;.use.Composer\Downloader\Down
45140 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 loadManager;.use.Composer\EventD
45160 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 ispatcher\EventDispatcher;.use.C
45180 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 omposer\Autoload\AutoloadGenerat
451a0 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 or;.use.Composer\Package\Archive
451c0 72 5c 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f r\ArchiveManager;.......class.Co
451e0 6d 70 6f 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f mposer.{......................co
45200 6e 73 74 20 56 45 52 53 49 4f 4e 20 3d 20 27 31 2e 38 2e 35 27 3b 0a 63 6f 6e 73 74 20 42 52 41 nst.VERSION.=.'1.8.5';.const.BRA
45220 4e 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 20 3d 20 27 27 3b 0a 63 6f 6e 73 74 20 52 45 NCH_ALIAS_VERSION.=.'';.const.RE
45240 4c 45 41 53 45 5f 44 41 54 45 20 3d 20 27 32 30 31 39 2d 30 34 2d 30 39 20 31 37 3a 34 36 3a 34 LEASE_DATE.=.'2019-04-09.17:46:4
45260 37 27 3b 0a 63 6f 6e 73 74 20 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3d 20 27 27 3b 0a 0a 7';.const.SOURCE_VERSION.=.'';..
45280 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f public.static.function.getVersio
452a0 6e 28 29 0a 7b 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e 20 3d 3d 3d 20 27 40 n().{...if.(self::VERSION.===.'@
452c0 70 61 63 6b 61 67 65 5f 76 65 72 73 69 6f 6e 27 2e 27 40 27 29 20 7b 0a 72 65 74 75 72 6e 20 73 package_version'.'@').{.return.s
452e0 65 6c 66 3a 3a 53 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 65 elf::SOURCE_VERSION;.}....if.(se
45300 6c 66 3a 3a 42 52 41 4e 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 20 21 3d 3d 20 27 27 20 lf::BRANCH_ALIAS_VERSION.!==.''.
45320 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 &&.preg_match('{^[a-f0-9]{40}$}'
45340 2c 20 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a ,.self::VERSION)).{.return.self:
45360 3a 42 52 41 4e 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 2e 27 2b 27 2e 73 65 6c 66 3a 3a :BRANCH_ALIAS_VERSION.'+'.self::
45380 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e VERSION;.}..return.self::VERSION
453a0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 70 72 ;.}.....private.$package;.....pr
453c0 69 76 61 74 65 20 24 6c 6f 63 6b 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f ivate.$locker;.....private.$repo
453e0 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e sitoryManager;.....private.$down
45400 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c loadManager;.....private.$instal
45420 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6c 75 67 lationManager;.....private.$plug
45440 69 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a inManager;.....private.$config;.
45460 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a ....private.$eventDispatcher;...
45480 0a 0a 70 72 69 76 61 74 65 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a ..private.$autoloadGenerator;...
454a0 0a 0a 70 72 69 76 61 74 65 20 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a ..private.$archiveManager;......
454c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 63 6b 61 67 65 28 52 6f 6f 74 50 public.function.setPackage(RootP
454e0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 ackageInterface.$package).{.$thi
45500 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->package.=.$package;.}.....pub
45520 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 lic.function.getPackage().{.retu
45540 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rn.$this->package;.}.....public.
45560 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 function.setConfig(Config.$confi
45580 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a g).{.$this->config.=.$config;.}.
455a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a ....public.function.getConfig().
455c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 {.return.$this->config;.}.....pu
455e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 6b 65 72 28 4c 6f 63 6b 65 72 20 24 blic.function.setLocker(Locker.$
45600 6c 6f 63 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 locker).{.$this->locker.=.$locke
45620 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b r;.}.....public.function.getLock
45640 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a er().{.return.$this->locker;.}..
45660 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 ...public.function.setRepository
45680 4d 61 6e 61 67 65 72 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 Manager(RepositoryManager.$manag
456a0 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d er).{.$this->repositoryManager.=
456c0 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$manager;.}.....public.function
456e0 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e .getRepositoryManager().{.return
45700 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a .$this->repositoryManager;.}....
45720 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 .public.function.setDownloadMana
45740 67 65 72 28 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a ger(DownloadManager.$manager).{.
45760 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 $this->downloadManager.=.$manage
45780 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e r;.}.....public.function.getDown
457a0 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f loadManager().{.return.$this->do
457c0 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 wnloadManager;.}.....public.func
457e0 74 69 6f 6e 20 73 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 41 72 63 68 69 76 65 4d 61 tion.setArchiveManager(ArchiveMa
45800 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 nager.$manager).{.$this->archive
45820 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 Manager.=.$manager;.}.....public
45840 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 29 0a 7b 0a .function.getArchiveManager().{.
45860 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 7d 0a return.$this->archiveManager;.}.
45880 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 ....public.function.setInstallat
458a0 69 6f 6e 4d 61 6e 61 67 65 72 28 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 ionManager(InstallationManager.$
458c0 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 manager).{.$this->installationMa
458e0 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 nager.=.$manager;.}.....public.f
45900 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 unction.getInstallationManager()
45920 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e .{.return.$this->installationMan
45940 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 ager;.}.....public.function.setP
45960 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 luginManager(PluginManager.$mana
45980 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 3d 20 24 6d ger).{.$this->pluginManager.=.$m
459a0 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 anager;.}.....public.function.ge
459c0 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d tPluginManager().{.return.$this-
459e0 3e 70 6c 75 67 69 6e 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >pluginManager;.}.....public.fun
45a00 63 74 69 6f 6e 20 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 ction.setEventDispatcher(EventDi
45a20 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 spatcher.$eventDispatcher).{.$th
45a40 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 is->eventDispatcher.=.$eventDisp
45a60 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 atcher;.}.....public.function.ge
45a80 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tEventDispatcher().{.return.$thi
45aa0 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 s->eventDispatcher;.}.....public
45ac0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 41 .function.setAutoloadGenerator(A
45ae0 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 utoloadGenerator.$autoloadGenera
45b00 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 tor).{.$this->autoloadGenerator.
45b20 3d 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c =.$autoloadGenerator;.}.....publ
45b40 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 ic.function.getAutoloadGenerator
45b60 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 ().{.return.$this->autoloadGener
45b80 61 74 6f 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ator;.}.}.<?php............names
45ba0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e pace.Composer;..use.Composer\Con
45bc0 66 69 67 5c 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 fig\ConfigSourceInterface;.use.C
45be0 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 omposer\Downloader\TransportExce
45c00 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 ption;.use.Composer\IO\IOInterfa
45c20 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a ce;.use.Composer\Util\Platform;.
45c40 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 0a 7b 0a 63 6f 6e 73 74 20 52 45 4c 41 54 49 56 ....class.Config.{.const.RELATIV
45c60 45 5f 50 41 54 48 53 20 3d 20 31 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 E_PATHS.=.1;..public.static.$def
45c80 61 75 6c 74 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f 63 65 73 73 2d 74 69 6d aultConfig.=.array(.'process-tim
45ca0 65 6f 75 74 27 20 3d 3e 20 33 30 30 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 eout'.=>.300,.'use-include-path'
45cc0 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d .=>.false,.'preferred-install'.=
45ce0 3e 20 27 61 75 74 6f 27 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e >.'auto',.'notify-on-install'.=>
45d00 20 74 72 75 65 2c 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e 20 61 72 72 .true,.'github-protocols'.=>.arr
45d20 61 79 28 27 68 74 74 70 73 27 2c 20 27 73 73 68 27 2c 20 27 67 69 74 27 29 2c 0a 27 76 65 6e 64 ay('https',.'ssh',.'git'),.'vend
45d40 6f 72 2d 64 69 72 27 20 3d 3e 20 27 76 65 6e 64 6f 72 27 2c 0a 27 62 69 6e 2d 64 69 72 27 20 3d or-dir'.=>.'vendor',.'bin-dir'.=
45d60 3e 20 27 7b 24 76 65 6e 64 6f 72 2d 64 69 72 7d 2f 62 69 6e 27 2c 0a 27 63 61 63 68 65 2d 64 69 >.'{$vendor-dir}/bin',.'cache-di
45d80 72 27 20 3d 3e 20 27 7b 24 68 6f 6d 65 7d 2f 63 61 63 68 65 27 2c 0a 27 64 61 74 61 2d 64 69 72 r'.=>.'{$home}/cache',.'data-dir
45da0 27 20 3d 3e 20 27 7b 24 68 6f 6d 65 7d 27 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 '.=>.'{$home}',.'cache-files-dir
45dc0 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 27 2c 0a 27 63 61 63 68 '.=>.'{$cache-dir}/files',.'cach
45de0 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 72 65 70 e-repo-dir'.=>.'{$cache-dir}/rep
45e00 6f 27 2c 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d o',.'cache-vcs-dir'.=>.'{$cache-
45e20 64 69 72 7d 2f 76 63 73 27 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d 3e 20 31 35 35 35 32 30 dir}/vcs',.'cache-ttl'.=>.155520
45e40 30 30 2c 20 0a 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 20 3d 3e 20 6e 75 6c 6c 2c 00,...'cache-files-ttl'.=>.null,
45e60 20 0a 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 20 3d 3e 20 27 33 30 30 ...'cache-files-maxsize'.=>.'300
45e80 4d 69 42 27 2c 0a 27 62 69 6e 2d 63 6f 6d 70 61 74 27 20 3d 3e 20 27 61 75 74 6f 27 2c 0a 27 64 MiB',.'bin-compat'.=>.'auto',.'d
45ea0 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 75 74 6f 6c iscard-changes'.=>.false,.'autol
45ec0 6f 61 64 65 72 2d 73 75 66 66 69 78 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 73 6f 72 74 2d 70 61 63 oader-suffix'.=>.null,.'sort-pac
45ee0 6b 61 67 65 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c kages'.=>.false,.'optimize-autol
45f00 6f 61 64 65 72 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f oader'.=>.false,.'classmap-autho
45f20 72 69 74 61 74 69 76 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 70 63 75 2d 61 75 74 6f 6c 6f ritative'.=>.false,.'apcu-autolo
45f40 61 64 65 72 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 ader'.=>.false,.'prepend-autoloa
45f60 64 65 72 27 20 3d 3e 20 74 72 75 65 2c 0a 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 20 3d der'.=>.true,.'github-domains'.=
45f80 3e 20 61 72 72 61 79 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 29 2c 0a 27 62 69 74 62 75 63 6b 65 >.array('github.com'),.'bitbucke
45fa0 74 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 74 72 75 65 2c 0a 27 64 69 73 t-expose-hostname'.=>.true,.'dis
45fc0 61 62 6c 65 2d 74 6c 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 73 65 63 75 72 65 2d 68 74 74 70 able-tls'.=>.false,.'secure-http
45fe0 27 20 3d 3e 20 74 72 75 65 2c 0a 27 63 61 66 69 6c 65 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 63 61 '.=>.true,.'cafile'.=>.null,.'ca
46000 70 61 74 68 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f path'.=>.null,.'github-expose-ho
46020 73 74 6e 61 6d 65 27 20 3d 3e 20 74 72 75 65 2c 0a 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 stname'.=>.true,.'gitlab-domains
46040 27 20 3d 3e 20 61 72 72 61 79 28 27 67 69 74 6c 61 62 2e 63 6f 6d 27 29 2c 0a 27 73 74 6f 72 65 '.=>.array('gitlab.com'),.'store
46060 2d 61 75 74 68 73 27 20 3d 3e 20 27 70 72 6f 6d 70 74 27 2c 0a 27 70 6c 61 74 66 6f 72 6d 27 20 -auths'.=>.'prompt',.'platform'.
46080 3d 3e 20 61 72 72 61 79 28 29 2c 0a 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 20 3d 3e 20 =>.array(),.'archive-format'.=>.
460a0 27 74 61 72 27 2c 0a 27 61 72 63 68 69 76 65 2d 64 69 72 27 20 3d 3e 20 27 2e 27 2c 0a 27 68 74 'tar',.'archive-dir'.=>.'.',.'ht
460c0 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 0a 20 0a 20 0a 20 0a access-protect'.=>.true,........
460e0 20 0a 20 0a 20 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 61 75 6c 74 52 .....);..public.static.$defaultR
46100 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 69 73 74 2e epositories.=.array(.'packagist.
46120 6f 72 67 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 org'.=>.array(.'type'.=>.'compos
46140 65 72 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 68 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 2e 70 61 63 er',.'url'.=>.'https?://repo.pac
46160 6b 61 67 69 73 74 2e 6f 72 67 27 2c 0a 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 kagist.org',.'allow_ssl_downgrad
46180 65 27 20 3d 3e 20 74 72 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 e'.=>.true,.),.);..private.$conf
461a0 69 67 3b 0a 70 72 69 76 61 74 65 20 24 62 61 73 65 44 69 72 3b 0a 70 72 69 76 61 74 65 20 24 72 ig;.private.$baseDir;.private.$r
461c0 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 53 6f 75 epositories;..private.$configSou
461e0 72 63 65 3b 0a 0a 70 72 69 76 61 74 65 20 24 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b rce;..private.$authConfigSource;
46200 0a 70 72 69 76 61 74 65 20 24 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 70 72 69 76 61 74 .private.$useEnvironment;.privat
46220 65 20 24 77 61 72 6e 65 64 48 6f 73 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 e.$warnedHosts.=.array();......p
46240 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 75 73 65 45 ublic.function.__construct($useE
46260 6e 76 69 72 6f 6e 6d 65 6e 74 20 3d 20 74 72 75 65 2c 20 24 62 61 73 65 44 69 72 20 3d 20 6e 75 nvironment.=.true,.$baseDir.=.nu
46280 6c 6c 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a 3a ll).{...$this->config.=.static::
462a0 24 64 65 66 61 75 6c 74 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 $defaultConfig;.$this->repositor
462c0 69 65 73 20 3d 20 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 ies.=.static::$defaultRepositori
462e0 65 73 3b 0a 24 74 68 69 73 2d 3e 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 3d 20 28 62 6f 6f es;.$this->useEnvironment.=.(boo
46300 6c 29 20 24 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 l).$useEnvironment;.$this->baseD
46320 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ir.=.$baseDir;.}..public.functio
46340 6e 20 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e n.setConfigSource(ConfigSourceIn
46360 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 terface.$source).{.$this->config
46380 53 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Source.=.$source;.}..public.func
463a0 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getConfigSource().{.return.
463c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $this->configSource;.}..public.f
463e0 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 43 6f 6e 66 unction.setAuthConfigSource(Conf
46400 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 igSourceInterface.$source).{.$th
46420 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 65 3b 0a is->authConfigSource.=.$source;.
46440 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 43 6f 6e 66 69 67 }..public.function.getAuthConfig
46460 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e Source().{.return.$this->authCon
46480 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 figSource;.}.......public.functi
464a0 6f 6e 20 6d 65 72 67 65 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 on.merge($config).{...if.(!empty
464c0 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 ($config['config']).&&.is_array(
464e0 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 $config['config'])).{.foreach.($
46500 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c config['config'].as.$key.=>.$val
46520 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 62 69 ).{.if.(in_array($key,.array('bi
46540 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 tbucket-oauth',.'github-oauth',.
46560 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 2c 20 'gitlab-oauth',.'gitlab-token',.
46580 27 68 74 74 70 2d 62 61 73 69 63 27 29 29 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 'http-basic')).&&.isset($this->c
465a0 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b onfig[$key])).{.$this->config[$k
465c0 65 79 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b ey].=.array_merge($this->config[
465e0 24 6b 65 79 5d 2c 20 24 76 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 72 65 66 65 72 72 $key],.$val);.}.elseif.('preferr
46600 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6b 65 79 20 26 26 20 69 73 73 65 74 28 24 74 ed-install'.===.$key.&&.isset($t
46620 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 his->config[$key])).{.if.(is_arr
46640 61 79 28 24 76 61 6c 29 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 ay($val).||.is_array($this->conf
46660 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 29 ig[$key])).{.if.(is_string($val)
46680 29 20 7b 0a 24 76 61 6c 20 3d 20 61 72 72 61 79 28 27 2a 27 20 3d 3e 20 24 76 61 6c 29 3b 0a 7d ).{.$val.=.array('*'.=>.$val);.}
466a0 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 .if.(is_string($this->config[$ke
466c0 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 y])).{.$this->config[$key].=.arr
466e0 61 79 28 27 2a 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a ay('*'.=>.$this->config[$key]);.
46700 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 5f 6d 65 }.$this->config[$key].=.array_me
46720 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 76 61 6c 29 3b 0a rge($this->config[$key],.$val);.
46740 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b ..if.(isset($this->config[$key][
46760 27 2a 27 5d 29 29 20 7b 0a 24 77 69 6c 64 63 61 72 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 '*'])).{.$wildcard.=.$this->conf
46780 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 ig[$key]['*'];.unset($this->conf
467a0 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b ig[$key]['*']);.$this->config[$k
467c0 65 79 5d 5b 27 2a 27 5d 20 3d 20 24 77 69 6c 64 63 61 72 64 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b ey]['*'].=.$wildcard;.}.}.else.{
467e0 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d .$this->config[$key].=.$val;.}.}
46800 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 .else.{.$this->config[$key].=.$v
46820 61 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 72 al;.}.}.}..if.(!empty($config['r
46840 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 epositories']).&&.is_array($conf
46860 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 ig['repositories'])).{.$this->re
46880 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 positories.=.array_reverse($this
468a0 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 24 6e 65 77 52 65 70 6f 73 ->repositories,.true);.$newRepos
468c0 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 .=.array_reverse($config['reposi
468e0 74 6f 72 69 65 73 27 5d 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 52 65 tories'],.true);.foreach.($newRe
46900 70 6f 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a pos.as.$name.=>.$repository).{..
46920 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 74 .if.(false.===.$repository).{.$t
46940 68 69 73 2d 3e 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 63 his->disableRepoByName($name);.c
46960 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f ontinue;.}....if.(is_array($repo
46980 73 69 74 6f 72 79 29 20 26 26 20 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 72 65 70 6f 73 69 74 6f sitory).&&.1.===.count($reposito
469a0 72 79 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 63 75 72 72 65 6e 74 28 24 72 65 70 6f 73 69 ry).&&.false.===.current($reposi
469c0 74 6f 72 79 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d tory)).{.$this->disableRepoByNam
469e0 65 28 6b 65 79 28 24 72 65 70 6f 73 69 74 6f 72 79 29 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d e(key($repository));.continue;.}
46a00 0a 0a 0a 20 69 66 20 28 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e ....if.(is_int($name)).{.$this->
46a20 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 repositories[].=.$repository;.}.
46a40 65 6c 73 65 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 27 70 61 63 6b 61 67 69 73 74 27 else.{.if.($name.===.'packagist'
46a60 29 20 7b 20 0a 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 20 ).{...$this->repositories[$name.
46a80 2e 20 27 2e 6f 72 67 27 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 65 6c 73 65 20 ..'.org'].=.$repository;.}.else.
46aa0 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 {.$this->repositories[$name].=.$
46ac0 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 repository;.}.}.}.$this->reposit
46ae0 6f 72 69 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 ories.=.array_reverse($this->rep
46b00 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ositories,.true);.}.}.....public
46b20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 .function.getRepositories().{.re
46b40 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a turn.$this->repositories;.}.....
46b60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6b 65 79 2c 20 24 .....public.function.get($key,.$
46b80 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6b 65 79 29 20 7b 0a 63 61 73 flags.=.0).{.switch.($key).{.cas
46ba0 65 20 27 76 65 6e 64 6f 72 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 62 69 6e 2d 64 69 72 27 3a 0a e.'vendor-dir':.case.'bin-dir':.
46bc0 63 61 73 65 20 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 3a 0a 63 61 73 65 20 27 64 61 case.'process-timeout':.case.'da
46be0 74 61 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 64 69 72 27 3a 0a 63 61 73 65 20 ta-dir':.case.'cache-dir':.case.
46c00 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 72 'cache-files-dir':.case.'cache-r
46c20 65 70 6f 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 3a 0a epo-dir':.case.'cache-vcs-dir':.
46c40 63 61 73 65 20 27 63 61 66 69 6c 65 27 3a 0a 63 61 73 65 20 27 63 61 70 61 74 68 27 3a 0a 0a 20 case.'cafile':.case.'capath':...
46c60 24 65 6e 76 20 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 27 20 2e 20 73 74 72 74 6f 75 70 70 65 72 28 $env.=.'COMPOSER_'...strtoupper(
46c80 73 74 72 74 72 28 24 6b 65 79 2c 20 27 2d 27 2c 20 27 5f 27 29 29 3b 0a 0a 24 76 61 6c 20 3d 20 strtr($key,.'-',.'_'));..$val.=.
46ca0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 24 65 6e 76 29 3b 0a 24 76 61 $this->getComposerEnv($env);.$va
46cc0 6c 20 3d 20 72 74 72 69 6d 28 28 73 74 72 69 6e 67 29 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 l.=.rtrim((string).$this->proces
46ce0 73 28 66 61 6c 73 65 20 21 3d 3d 20 24 76 61 6c 20 3f 20 24 76 61 6c 20 3a 20 24 74 68 69 73 2d s(false.!==.$val.?.$val.:.$this-
46d00 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 66 6c 61 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a >config[$key],.$flags),.'/\\');.
46d20 24 76 61 6c 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 65 78 70 61 6e 64 50 61 74 68 28 24 76 61 6c $val.=.Platform::expandPath($val
46d40 29 3b 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 2d 34 29 20 21 3d 3d 20 27 2d 64 );..if.(substr($key,.-4).!==.'-d
46d60 69 72 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 28 ir').{.return.$val;.}..return.((
46d80 24 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 20 3d $flags.&.self::RELATIVE_PATHS).=
46da0 3d 20 73 65 6c 66 3a 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 20 3f 20 24 76 61 6c 20 3a =.self::RELATIVE_PATHS).?.$val.:
46dc0 20 24 74 68 69 73 2d 3e 72 65 61 6c 70 61 74 68 28 24 76 61 6c 29 3b 0a 0a 63 61 73 65 20 27 68 .$this->realpath($val);..case.'h
46de0 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 3a 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 taccess-protect':.$value.=.$this
46e00 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 54 41 43 43 ->getComposerEnv('COMPOSER_HTACC
46e20 45 53 53 5f 50 52 4f 54 45 43 54 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 ESS_PROTECT');.if.(false.===.$va
46e40 6c 75 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b lue).{.$value.=.$this->config[$k
46e60 65 79 5d 3b 0a 7d 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 20 21 3d 3d 20 27 66 61 6c 73 65 27 ey];.}.return.$value.!==.'false'
46e80 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 75 65 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d .&&.(bool).$value;..case.'cache-
46ea0 74 74 6c 27 3a 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ttl':.return.(int).$this->config
46ec0 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 [$key];..case.'cache-files-maxsi
46ee0 7a 65 27 3a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 ze':.if.(!preg_match('/^\s*([0-9
46f00 2e 5d 2b 29 5c 73 2a 28 3f 3a 28 5b 6b 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f .]+)\s*(?:([kmg])(?:i?b)?)?\s*$/
46f20 69 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 6d 61 74 63 68 65 i',.$this->config[$key],.$matche
46f40 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f s)).{.throw.new.\RuntimeExceptio
46f60 6e 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 n(."Could.not.parse.the.value.of
46f80 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 3a 20 7b 24 74 68 69 73 2d 3e .'cache-files-maxsize':.{$this->
46fa0 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 7d 22 0a 29 3b 0a 7d 0a 24 73 69 7a 65 20 3d 20 24 6d 61 74 config[$key]}".);.}.$size.=.$mat
46fc0 63 68 65 73 5b 31 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 ches[1];.if.(isset($matches[2]))
46fe0 20 7b 0a 73 77 69 74 63 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 .{.switch.(strtolower($matches[2
47000 5d 29 29 20 7b 0a 63 61 73 65 20 27 67 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a ])).{.case.'g':.$size.*=.1024;..
47020 20 0a 20 63 61 73 65 20 27 6d 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 0a 20 ...case.'m':.$size.*=.1024;.....
47040 63 61 73 65 20 27 6b 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a case.'k':.$size.*=.1024;.break;.
47060 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 69 7a 65 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d }.}..return.$size;..case.'cache-
47080 66 69 6c 65 73 2d 74 74 6c 27 3a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e files-ttl':.if.(isset($this->con
470a0 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 fig[$key])).{.return.(int).$this
470c0 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 ->config[$key];.}..return.(int).
470e0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 63 61 63 68 65 2d 74 74 6c 27 5d 3b 0a 0a 63 61 73 $this->config['cache-ttl'];..cas
47100 65 20 27 68 6f 6d 65 27 3a 0a 24 76 61 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 e.'home':.$val.=.preg_replace('#
47120 5e 28 5c 24 48 4f 4d 45 7c 7e 29 28 2f 7c 24 29 23 27 2c 20 72 74 72 69 6d 28 67 65 74 65 6e 76 ^(\$HOME|~)(/|$)#',.rtrim(getenv
47140 28 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 ('HOME').?:.getenv('USERPROFILE'
47160 29 2c 20 27 2f 5c 5c 27 29 20 2e 20 27 2f 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 ),.'/\\')...'/',.$this->config[$
47180 6b 65 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 key]);..return.rtrim($this->proc
471a0 65 73 73 28 24 76 61 6c 2c 20 24 66 6c 61 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a 0a 63 61 73 65 ess($val,.$flags),.'/\\');..case
471c0 20 27 62 69 6e 2d 63 6f 6d 70 61 74 27 3a 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 67 .'bin-compat':.$value.=.$this->g
471e0 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 5f 43 4f 4d 50 etComposerEnv('COMPOSER_BIN_COMP
47200 41 54 27 29 20 3f 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 69 66 AT').?:.$this->config[$key];..if
47220 20 28 21 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 .(!in_array($value,.array('auto'
47240 2c 20 27 66 75 6c 6c 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ,.'full'))).{.throw.new.\Runtime
47260 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 27 62 Exception(."Invalid.value.for.'b
47280 69 6e 2d 63 6f 6d 70 61 74 27 3a 20 7b 24 76 61 6c 75 65 7d 2e 20 45 78 70 65 63 74 65 64 20 61 in-compat':.{$value}..Expected.a
472a0 75 74 6f 2c 20 66 75 6c 6c 22 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a uto,.full".);.}..return.$value;.
472c0 0a 63 61 73 65 20 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a 0a 69 66 20 28 24 65 6e .case.'discard-changes':.if.($en
472e0 76 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 27 43 4f 4d 50 4f v.=.$this->getComposerEnv('COMPO
47300 53 45 52 5f 44 49 53 43 41 52 44 5f 43 48 41 4e 47 45 53 27 29 29 20 7b 0a 69 66 20 28 21 69 6e SER_DISCARD_CHANGES')).{.if.(!in
47320 5f 61 72 72 61 79 28 24 65 6e 76 2c 20 61 72 72 61 79 28 27 73 74 61 73 68 27 2c 20 27 74 72 75 _array($env,.array('stash',.'tru
47340 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 29 20 7b e',.'false',.'1',.'0'),.true)).{
47360 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 .throw.new.\RuntimeException(."I
47380 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 41 52 nvalid.value.for.COMPOSER_DISCAR
473a0 44 5f 43 48 41 4e 47 45 53 3a 20 7b 24 65 6e 76 7d 2e 20 45 78 70 65 63 74 65 64 20 31 2c 20 30 D_CHANGES:.{$env}..Expected.1,.0
473c0 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 69 66 20 ,.true,.false.or.stash".);.}.if.
473e0 28 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 65 6e 76 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 74 61 ('stash'.===.$env).{.return.'sta
47400 73 68 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 65 6e 76 20 21 3d 3d 20 27 66 61 6c 73 65 sh';.}....return.$env.!==.'false
47420 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 65 6e 76 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 '.&&.(bool).$env;.}..if.(!in_arr
47440 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 61 72 72 61 79 28 74 72 ay($this->config[$key],.array(tr
47460 75 65 2c 20 66 61 6c 73 65 2c 20 27 73 74 61 73 68 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 ue,.false,.'stash'),.true)).{.th
47480 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 row.new.\RuntimeException(."Inva
474a0 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a lid.value.for.'discard-changes':
474c0 20 7b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 7d 2e 20 45 78 70 65 63 74 65 64 .{$this->config[$key]}..Expected
474e0 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 0a 72 65 74 .true,.false.or.stash".);.}..ret
47500 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 27 urn.$this->config[$key];..case.'
47520 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 3a 0a 24 70 72 6f 74 6f 73 20 3d 20 24 74 68 github-protocols':.$protos.=.$th
47540 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 5d 3b 0a is->config['github-protocols'];.
47560 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d if.($this->config['secure-http']
47580 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 .&&.false.!==.($index.=.array_se
475a0 61 72 63 68 28 27 67 69 74 27 2c 20 24 70 72 6f 74 6f 73 29 29 29 20 7b 0a 75 6e 73 65 74 28 24 arch('git',.$protos))).{.unset($
475c0 70 72 6f 74 6f 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 7d 0a 69 66 20 28 72 65 73 65 74 28 24 70 72 protos[$index]);.}.if.(reset($pr
475e0 6f 74 6f 73 29 20 3d 3d 3d 20 27 68 74 74 70 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 otos).===.'http').{.throw.new.\R
47600 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 68 74 74 70 20 70 72 6f 74 6f 63 untimeException('The.http.protoc
47620 6f 6c 20 66 6f 72 20 67 69 74 68 75 62 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 ol.for.github.is.not.available.a
47640 6e 79 6d 6f 72 65 2c 20 75 70 64 61 74 65 20 79 6f 75 72 20 63 6f 6e 66 69 67 5c 27 73 20 67 69 nymore,.update.your.config\'s.gi
47660 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 20 74 6f 20 75 73 65 20 22 68 74 74 70 73 22 2c 20 22 thub-protocols.to.use."https",."
47680 67 69 74 22 20 6f 72 20 22 73 73 68 22 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 74 git".or."ssh"');.}..return.$prot
476a0 6f 73 3b 0a 0a 63 61 73 65 20 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 3a 0a 72 65 74 75 72 6e 20 os;..case.'disable-tls':.return.
476c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 $this->config[$key].!==.'false'.
476e0 26 26 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a &&.(bool).$this->config[$key];..
47700 63 61 73 65 20 27 73 65 63 75 72 65 2d 68 74 74 70 27 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 case.'secure-http':.return.$this
47720 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 ->config[$key].!==.'false'.&&.(b
47740 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 64 65 66 61 75 ool).$this->config[$key];..defau
47760 6c 74 3a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 lt:.if.(!isset($this->config[$ke
47780 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 y])).{.return.null;.}..return.$t
477a0 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d his->process($this->config[$key]
477c0 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ,.$flags);.}.}..public.function.
477e0 61 6c 6c 28 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 61 6c 6c 20 3d 20 61 72 72 61 79 28 0a all($flags.=.0).{.$all.=.array(.
47800 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 'repositories'.=>.$this->getRepo
47820 73 69 74 6f 72 69 65 73 28 29 2c 0a 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 sitories(),.);.foreach.(array_ke
47840 79 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 24 61 6c ys($this->config).as.$key).{.$al
47860 6c 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 24 l['config'][$key].=.$this->get($
47880 6b 65 79 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 6c 3b 0a 7d 0a key,.$flags);.}..return.$all;.}.
478a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 61 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .public.function.raw().{.return.
478c0 61 72 72 61 79 28 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e array(.'repositories'.=>.$this->
478e0 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 0a 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 getRepositories(),.'config'.=>.$
47900 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 this->config,.);.}........public
47920 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6b 65 79 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 .function.has($key).{.return.arr
47940 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 65 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ay_key_exists($key,.$this->confi
47960 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 g);.}.........private.function.p
47980 72 6f 63 65 73 73 28 24 76 61 6c 75 65 2c 20 24 66 6c 61 67 73 29 0a 7b 0a 24 63 6f 6e 66 69 67 rocess($value,.$flags).{.$config
479a0 20 3d 20 24 74 68 69 73 3b 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 .=.$this;..if.(!is_string($value
479c0 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 )).{.return.$value;.}..return.pr
479e0 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 23 5c 7b 5c 24 28 2e 2b 29 5c 7d eg_replace_callback('#\{\$(.+)\}
47a00 23 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 75 73 65 20 28 24 63 6f 6e 66 #',.function.($match).use.($conf
47a20 69 67 2c 20 24 66 6c 61 67 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 ig,.$flags).{.return.$config->ge
47a40 74 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 t($match[1],.$flags);.},.$value)
47a60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 ;.}..........private.function.re
47a80 61 6c 70 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 alpath($path).{.if.(preg_match('
47aa0 7b 5e 28 3f 3a 2f 7c 5b 61 2d 7a 5d 3a 7c 5b 61 2d 7a 30 2d 39 2e 5d 2b 3a 2f 2f 29 7d 69 27 2c {^(?:/|[a-z]:|[a-z0-9.]+://)}i',
47ac0 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 72 65 74 75 .$path)).{.return.$path;.}..retu
47ae0 72 6e 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b rn.$this->baseDir...'/'...$path;
47b00 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 .}...........private.function.ge
47b20 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 24 76 61 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e tComposerEnv($var).{.if.($this->
47b40 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 67 65 74 65 6e 76 28 useEnvironment).{.return.getenv(
47b60 24 76 61 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 $var);.}..return.false;.}..priva
47b80 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 24 6e te.function.disableRepoByName($n
47ba0 61 6d 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f ame).{.if.(isset($this->reposito
47bc0 72 69 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 ries[$name])).{.unset($this->rep
47be0 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6e 61 ositories[$name]);.}.elseif.($na
47c00 6d 65 20 3d 3d 3d 20 27 70 61 63 6b 61 67 69 73 74 27 29 20 7b 20 0a 20 75 6e 73 65 74 28 24 74 me.===.'packagist').{...unset($t
47c20 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 his->repositories['packagist.org
47c40 27 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ']);.}.}........public.function.
47c60 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 prohibitUrlByConfig($url,.IOInte
47c80 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 rface.$io.=.null).{...if.(false.
47ca0 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 75 72 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 ===.filter_var($url,.FILTER_VALI
47cc0 44 41 54 45 5f 55 52 4c 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 73 63 68 65 6d DATE_URL)).{.return;.}....$schem
47ce0 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 e.=.parse_url($url,.PHP_URL_SCHE
47d00 4d 45 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 73 63 68 65 6d 65 2c 20 61 72 72 61 79 ME);.if.(in_array($scheme,.array
47d20 28 27 68 74 74 70 27 2c 20 27 67 69 74 27 2c 20 27 66 74 70 27 2c 20 27 73 76 6e 27 29 29 29 20 ('http',.'git',.'ftp',.'svn'))).
47d40 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 29 29 {.if.($this->get('secure-http'))
47d60 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 .{.throw.new.TransportException(
47d80 22 59 6f 75 72 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c "Your.configuration.does.not.all
47da0 6f 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 74 6f 20 24 75 72 6c 2e 20 53 65 65 20 68 74 74 70 ow.connections.to.$url..See.http
47dc0 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 36 2d 63 6f 6e 66 69 s://getcomposer.org/doc/06-confi
47de0 67 2e 6d 64 23 73 65 63 75 72 65 2d 68 74 74 70 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 22 29 3b g.md#secure-http.for.details.");
47e00 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6f 29 20 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f .}.elseif.($io).{.$host.=.parse_
47e20 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 21 69 73 url($url,.PHP_URL_HOST);.if.(!is
47e40 73 65 74 28 24 74 68 69 73 2d 3e 77 61 72 6e 65 64 48 6f 73 74 73 5b 24 68 6f 73 74 5d 29 29 20 set($this->warnedHosts[$host])).
47e60 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e {.$io->writeError("<warning>Warn
47e80 69 6e 67 3a 20 41 63 63 65 73 73 69 6e 67 20 24 68 6f 73 74 20 6f 76 65 72 20 24 73 63 68 65 6d ing:.Accessing.$host.over.$schem
47ea0 65 20 77 68 69 63 68 20 69 73 20 61 6e 20 69 6e 73 65 63 75 72 65 20 70 72 6f 74 6f 63 6f 6c 2e e.which.is.an.insecure.protocol.
47ec0 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 61 72 6e 65 64 48 6f 73 </warning>");.}.$this->warnedHos
47ee0 74 73 5b 24 68 6f 73 74 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a ts[$host].=.true;.}.}.}.}.<?php.
47f00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f ...........namespace.Composer\Co
47f20 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 66 69 67 53 6f 75 nfig;........interface.ConfigSou
47f40 72 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rceInterface.{.......public.func
47f60 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 tion.addRepository($name,.$confi
47f80 67 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 g);.......public.function.remove
47fa0 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 Repository($name);........public
47fc0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 .function.addConfigSetting($name
47fe0 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ,.$value);.......public.function
48000 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a .removeConfigSetting($name);....
48020 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 ....public.function.addProperty(
48040 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $name,.$value);.......public.fun
48060 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a ction.removeProperty($name);....
48080 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 .....public.function.addLink($ty
480a0 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 pe,.$name,.$value);........publi
480c0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 c.function.removeLink($type,.$na
480e0 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 me);.......public.function.getNa
48100 6d 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 me();.}.<?php............namespa
48120 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ce.Composer\Config;..use.Compose
48140 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 r\Json\JsonFile;.use.Composer\Js
48160 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 on\JsonManipulator;.use.Composer
48180 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f \Util\Silencer;........class.Jso
481a0 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 53 nConfigSource.implements.ConfigS
481c0 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c ourceInterface.{....private.$fil
481e0 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 75 74 68 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a e;.....private.$authConfig;.....
48200 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4a ...public.function.__construct(J
48220 73 6f 6e 46 69 6c 65 20 24 66 69 6c 65 2c 20 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 66 61 6c sonFile.$file,.$authConfig.=.fal
48240 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 24 74 68 69 73 se).{.$this->file.=.$file;.$this
48260 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a ->authConfig.=.$authConfig;.}...
48280 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 ..public.function.getName().{.re
482a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 3b 0a 7d 0a 0a turn.$this->file->getPath();.}..
482c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 ...public.function.addRepository
482e0 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 ($name,.$config).{.$this->manipu
48300 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 52 65 70 6f 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d 65 2c lateJson('addRepository',.$name,
48320 20 24 63 6f 6e 66 69 67 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 72 .$config,.function.(&$config,.$r
48340 65 70 6f 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 73 73 65 epo,.$repoConfig).{.....if.(isse
48360 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 29 20 7b 0a 66 6f t($config['repositories'])).{.fo
48380 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 20 61 reach.($config['repositories'].a
483a0 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d s.$index.=>.$val).{.if.($index.=
483c0 3d 3d 20 24 72 65 70 6f 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 69 73 5f 6e ==.$repo).{.continue;.}.if.(is_n
483e0 75 6d 65 72 69 63 28 24 69 6e 64 65 78 29 20 26 26 20 28 24 76 61 6c 20 3d 3d 3d 20 61 72 72 61 umeric($index).&&.($val.===.arra
48400 79 28 27 70 61 63 6b 61 67 69 73 74 27 20 3d 3e 20 66 61 6c 73 65 29 20 7c 7c 20 24 76 61 6c 20 y('packagist'.=>.false).||.$val.
48420 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 20 3d 3e 20 66 61 6c ===.array('packagist.org'.=>.fal
48440 73 65 29 29 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 se))).{.unset($config['repositor
48460 69 65 73 27 5d 5b 24 69 6e 64 65 78 5d 29 3b 0a 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 ies'][$index]);.$config['reposit
48480 6f 72 69 65 73 27 5d 5b 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 5d 20 3d 20 66 61 6c 73 65 ories']['packagist.org'].=.false
484a0 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 ;.break;.}.}.}..$config['reposit
484c0 6f 72 69 65 73 27 5d 5b 24 72 65 70 6f 5d 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 29 ories'][$repo].=.$repoConfig;.})
484e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 ;.}.....public.function.removeRe
48500 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c pository($name).{.$this->manipul
48520 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d ateJson('removeRepository',.$nam
48540 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 20 7b 0a e,.function.(&$config,.$repo).{.
48560 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 72 unset($config['repositories'][$r
48580 65 70 6f 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e epo]);.});.}.....public.function
485a0 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 .addConfigSetting($name,.$value)
485c0 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 .{.$authConfig.=.$this->authConf
485e0 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 43 6f ig;.$this->manipulateJson('addCo
48600 6e 66 69 67 53 65 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e nfigSetting',.$name,.$value,.fun
48620 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 2c 20 24 76 61 6c 29 20 75 73 65 ction.(&$config,.$key,.$val).use
48640 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 .($authConfig).{.if.(preg_match(
48660 27 7b 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 '{^(bitbucket-oauth|github-oauth
48680 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d |gitlab-oauth|gitlab-token|http-
486a0 62 61 73 69 63 7c 70 6c 61 74 66 6f 72 6d 29 5c 2e 7d 27 2c 20 24 6b 65 79 29 29 20 7b 0a 6c 69 basic|platform)\.}',.$key)).{.li
486c0 73 74 28 24 6b 65 79 2c 20 24 68 6f 73 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 st($key,.$host).=.explode('.',.$
486e0 6b 65 79 2c 20 32 29 3b 0a 69 66 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e key,.2);.if.($authConfig).{.$con
48700 66 69 67 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 20 3d 20 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 fig[$key][$host].=.$val;.}.else.
48720 7b 0a 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d {.$config['config'][$key][$host]
48740 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 63 6f 6e .=.$val;.}.}.else.{.$config['con
48760 66 69 67 27 5d 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a fig'][$key].=.$val;.}.});.}.....
48780 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 public.function.removeConfigSett
487a0 69 6e 67 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 ing($name).{.$authConfig.=.$this
487c0 2d 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a ->authConfig;.$this->manipulateJ
487e0 73 6f 6e 28 27 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 son('removeConfigSetting',.$name
48800 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 29 20 75 73 65 20 ,.function.(&$config,.$key).use.
48820 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 ($authConfig).{.if.(preg_match('
48840 7b 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c {^(bitbucket-oauth|github-oauth|
48860 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 gitlab-oauth|gitlab-token|http-b
48880 61 73 69 63 7c 70 6c 61 74 66 6f 72 6d 29 5c 2e 7d 27 2c 20 24 6b 65 79 29 29 20 7b 0a 6c 69 73 asic|platform)\.}',.$key)).{.lis
488a0 74 28 24 6b 65 79 2c 20 24 68 6f 73 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b t($key,.$host).=.explode('.',.$k
488c0 65 79 2c 20 32 29 3b 0a 69 66 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 75 6e 73 65 74 ey,.2);.if.($authConfig).{.unset
488e0 28 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b ($config[$key][$host]);.}.else.{
48900 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 5b 24 .unset($config['config'][$key][$
48920 68 6f 73 74 5d 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 host]);.}.}.else.{.unset($config
48940 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ['config'][$key]);.}.});.}.....p
48960 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 ublic.function.addProperty($name
48980 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f ,.$value).{.$this->manipulateJso
489a0 6e 28 27 61 64 64 50 72 6f 70 65 72 74 79 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 n('addProperty',.$name,.$value,.
489c0 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 2c 20 24 76 61 6c 29 20 function.(&$config,.$key,.$val).
489e0 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 {.if.(substr($key,.0,.6).===.'ex
48a00 74 72 61 2e 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 tra.'.||.substr($key,.0,.8).===.
48a20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 'scripts.').{.$bits.=.explode('.
48a40 27 2c 20 24 6b 65 79 29 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 62 69 74 ',.$key);.$last.=.array_pop($bit
48a60 73 29 3b 0a 24 61 72 72 20 3d 20 26 24 63 6f 6e 66 69 67 5b 72 65 73 65 74 28 24 62 69 74 73 29 s);.$arr.=.&$config[reset($bits)
48a80 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a 69 66 20 ];.foreach.($bits.as.$bit).{.if.
48aa0 28 21 69 73 73 65 74 28 24 61 72 72 5b 24 62 69 74 5d 29 29 20 7b 0a 24 61 72 72 5b 24 62 69 74 (!isset($arr[$bit])).{.$arr[$bit
48ac0 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 61 72 72 20 3d 20 26 24 61 72 72 5b 24 62 69 74 ].=.array();.}.$arr.=.&$arr[$bit
48ae0 5d 3b 0a 7d 0a 24 61 72 72 5b 24 6c 61 73 74 5d 20 3d 20 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 ];.}.$arr[$last].=.$val;.}.else.
48b00 7b 0a 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 29 3b 0a 7d 0a {.$config[$key].=.$val;.}.});.}.
48b20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 ....public.function.removeProper
48b40 74 79 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d ty($name).{.$authConfig.=.$this-
48b60 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 >authConfig;.$this->manipulateJs
48b80 6f 6e 28 27 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 on('removeProperty',.$name,.func
48ba0 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 73 75 62 73 tion.(&$config,.$key).{.if.(subs
48bc0 74 72 28 24 6b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 20 7c 7c 20 73 tr($key,.0,.6).===.'extra.'.||.s
48be0 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 ubstr($key,.0,.8).===.'scripts.'
48c00 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 29 3b 0a ).{.$bits.=.explode('.',.$key);.
48c20 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 62 69 74 73 29 3b 0a 24 61 72 72 20 3d $last.=.array_pop($bits);.$arr.=
48c40 20 26 24 63 6f 6e 66 69 67 5b 72 65 73 65 74 28 24 62 69 74 73 29 5d 3b 0a 66 6f 72 65 61 63 68 .&$config[reset($bits)];.foreach
48c60 20 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 61 .($bits.as.$bit).{.if.(!isset($a
48c80 72 72 5b 24 62 69 74 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 61 72 72 20 3d 20 26 24 rr[$bit])).{.return;.}.$arr.=.&$
48ca0 61 72 72 5b 24 62 69 74 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 61 72 72 5b 24 6c 61 73 74 5d 29 3b arr[$bit];.}.unset($arr[$last]);
48cc0 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a .}.else.{.unset($config[$key]);.
48ce0 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c }.});.}.....public.function.addL
48d00 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 ink($type,.$name,.$value).{.$thi
48d20 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 4c 69 6e 6b 27 2c 20 24 74 79 s->manipulateJson('addLink',.$ty
48d40 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 pe,.$name,.$value,.function.(&$c
48d60 6f 6e 66 69 67 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 20 7b 0a 24 onfig,.$type,.$name,.$value).{.$
48d80 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d config[$type][$name].=.$value;.}
48da0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4c );.}.....public.function.removeL
48dc0 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 ink($type,.$name).{.$this->manip
48de0 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 27 2c 20 24 74 79 70 65 ulateJson('removeSubNode',.$type
48e00 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 74 79 ,.$name,.function.(&$config,.$ty
48e20 70 65 2c 20 24 6e 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 pe,.$name).{.unset($config[$type
48e40 5d 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ][$name]);.});.}..protected.func
48e60 74 69 6f 6e 20 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 tion.manipulateJson($method,.$ar
48e80 67 73 2c 20 24 66 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 61 72 67 73 20 3d 20 66 75 6e 63 5f 67 65 gs,.$fallback).{.$args.=.func_ge
48ea0 74 5f 61 72 67 73 28 29 3b 0a 0a 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 67 73 29 3b 0a t_args();...array_shift($args);.
48ec0 24 66 61 6c 6c 62 61 63 6b 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 61 72 67 73 29 3b 0a 0a 69 $fallback.=.array_pop($args);..i
48ee0 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 f.($this->file->exists()).{.if.(
48f00 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 !is_writable($this->file->getPat
48f20 68 28 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 h())).{.throw.new.\RuntimeExcept
48f40 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 66 69 6c 65 20 22 25 73 22 20 69 73 20 6e 6f ion(sprintf('The.file."%s".is.no
48f60 74 20 77 72 69 74 61 62 6c 65 2e 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 t.writable.',.$this->file->getPa
48f80 74 68 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 74 68 69 th()));.}..if.(!is_readable($thi
48fa0 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 s->file->getPath())).{.throw.new
48fc0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 .\RuntimeException(sprintf('The.
48fe0 66 69 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 27 2c 20 24 74 68 file."%s".is.not.readable.',.$th
49000 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 is->file->getPath()));.}..$conte
49020 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 nts.=.file_get_contents($this->f
49040 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 ile->getPath());.}.elseif.($this
49060 2d 3e 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e ->authConfig).{.$contents.=."{\n
49080 7d 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 20 }\n";.}.else.{.$contents.=."{\n.
490a0 20 20 20 5c 22 63 6f 6e 66 69 67 5c 22 3a 20 7b 5c 6e 20 20 20 20 7d 5c 6e 7d 5c 6e 22 3b 0a 7d ...\"config\":.{\n....}\n}\n";.}
490c0 0a 0a 24 6d 61 6e 69 70 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c ..$manipulator.=.new.JsonManipul
490e0 61 74 6f 72 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 24 6e 65 77 46 69 6c 65 20 3d 20 21 24 74 ator($contents);..$newFile.=.!$t
49100 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 his->file->exists();....if.($thi
49120 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 26 26 20 24 6d 65 74 68 6f 64 20 3d 3d 3d 20 27 61 64 s->authConfig.&&.$method.===.'ad
49140 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 61 64 dConfigSetting').{.$method.=.'ad
49160 64 53 75 62 4e 6f 64 65 27 3b 0a 6c 69 73 74 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 dSubNode';.list($mainNode,.$name
49180 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 61 72 67 73 5b 30 5d 2c 20 32 29 3b 0a 24 ).=.explode('.',.$args[0],.2);.$
491a0 61 72 67 73 20 3d 20 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 args.=.array($mainNode,.$name,.$
491c0 61 72 67 73 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 args[1]);.}.elseif.($this->authC
491e0 6f 6e 66 69 67 20 26 26 20 24 6d 65 74 68 6f 64 20 3d 3d 3d 20 27 72 65 6d 6f 76 65 43 6f 6e 66 onfig.&&.$method.===.'removeConf
49200 69 67 53 65 74 74 69 6e 67 27 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 72 65 6d 6f 76 65 53 igSetting').{.$method.=.'removeS
49220 75 62 4e 6f 64 65 27 3b 0a 6c 69 73 74 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 20 ubNode';.list($mainNode,.$name).
49240 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 61 72 67 73 5b 30 5d 2c 20 32 29 3b 0a 24 61 72 =.explode('.',.$args[0],.2);.$ar
49260 67 73 20 3d 20 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a gs.=.array($mainNode,.$name);.}.
49280 0a 0a 20 69 66 20 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 ...if.(call_user_func_array(arra
492a0 79 28 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 61 72 67 73 29 y($manipulator,.$method),.$args)
492c0 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c ).{.file_put_contents($this->fil
492e0 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 67 65 74 43 e->getPath(),.$manipulator->getC
49300 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 63 6f 6e 66 69 67 20 3d ontents());.}.else.{...$config.=
49320 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 24 74 68 69 73 2d 3e 61 72 72 .$this->file->read();.$this->arr
49340 61 79 55 6e 73 68 69 66 74 52 65 66 28 24 61 72 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 63 61 ayUnshiftRef($args,.$config);.ca
49360 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 66 61 6c 6c 62 61 63 6b 2c 20 24 61 ll_user_func_array($fallback,.$a
49380 72 67 73 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 63 6f 6e 66 69 67 rgs);.$this->file->write($config
493a0 29 3b 0a 7d 0a 0a 69 66 20 28 24 6e 65 77 46 69 6c 65 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a );.}..if.($newFile).{.Silencer::
493c0 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 call('chmod',.$this->file->getPa
493e0 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 th(),.0600);.}.}.........private
49400 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 55 6e 73 68 69 66 74 52 65 66 28 26 24 61 72 72 61 .function.arrayUnshiftRef(&$arra
49420 79 2c 20 26 24 76 61 6c 75 65 29 0a 7b 0a 24 72 65 74 75 72 6e 20 3d 20 61 72 72 61 79 5f 75 6e y,.&$value).{.$return.=.array_un
49440 73 68 69 66 74 28 24 61 72 72 61 79 2c 20 27 27 29 3b 0a 24 61 72 72 61 79 5b 30 5d 20 3d 20 26 shift($array,.'');.$array[0].=.&
49460 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 $value;..return.$return;.}.}.<?p
49480 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
494a0 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 \Console;..use.Composer\IO\NullI
494c0 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 O;.use.Composer\Util\Platform;.u
494e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 se.Composer\Util\Silencer;.use.S
49500 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 ymfony\Component\Console\Applica
49520 74 69 6f 6e 20 61 73 20 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d tion.as.BaseApplication;.use.Sym
49540 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
49560 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 \CommandNotFoundException;.use.S
49580 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
495a0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
495c0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
495e0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
49600 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 tput\OutputInterface;.use.Compos
49620 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 er\Command;.use.Composer\Compose
49640 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d r;.use.Composer\Factory;.use.Com
49660 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 poser\IO\IOInterface;.use.Compos
49680 65 72 5c 49 4f 5c 43 6f 6e 73 6f 6c 65 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 er\IO\ConsoleIO;.use.Composer\Js
496a0 6f 6e 5c 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 on\JsonValidationException;.use.
496c0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 Composer\Util\ErrorHandler;.use.
496e0 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 53 63 72 69 70 74 45 Composer\EventDispatcher\ScriptE
49700 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c xecutionException;.use.Composer\
49720 45 78 63 65 70 74 69 6f 6e 5c 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a Exception\NoSslException;.......
49740 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 42 61 73 65 ..class.Application.extends.Base
49760 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 Application.{....protected.$comp
49780 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 69 76 61 74 oser;.....protected.$io;..privat
497a0 65 20 73 74 61 74 69 63 20 24 6c 6f 67 6f 20 3d 20 27 20 20 20 5f 5f 5f 5f 5f 5f 0a 20 20 2f 20 e.static.$logo.=.'...______.../.
497c0 5f 5f 5f 5f 2f 5f 5f 5f 20 20 5f 5f 5f 5f 20 5f 5f 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 20 20 ____/___..____.___..____..____..
497e0 5f 5f 5f 5f 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 0a 20 2f 20 2f 20 20 20 2f 20 5f 5f 20 5c 2f 20 5f ________.._____.././.../.__.\/._
49800 5f 20 60 5f 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f 5f 2f 20 5f 20 5c 2f 20 5f _.`__.\/.__.\/.__.\/.___/._.\/._
49820 5f 5f 2f 0a 2f 20 2f 5f 5f 5f 2f 20 2f 5f 2f 20 2f 20 2f 20 2f 20 2f 20 2f 20 2f 20 2f 5f 2f 20 __/././___/./_/./././././././_/.
49840 2f 20 2f 5f 2f 20 28 5f 5f 20 20 29 20 20 5f 5f 2f 20 2f 0a 5c 5f 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f /./_/.(__..)..__/./.\____/\____/
49860 5f 2f 20 2f 5f 2f 20 2f 5f 2f 20 2e 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f 5f 5f 5f 5f 2f 5c 5f 5f 5f 2f _/./_/./_/..___/\____/____/\___/
49880 5f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 5f 2f 0a 27 3b 0a 0a 70 _/...................../_/.';..p
498a0 72 69 76 61 74 65 20 24 68 61 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 3d 20 66 61 6c 73 rivate.$hasPluginCommands.=.fals
498c0 65 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 e;.private.$disablePluginsByDefa
498e0 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f ult.=.false;..public.function.__
49900 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 73 74 61 74 69 63 20 24 73 68 75 74 64 6f 77 6e 52 65 construct().{.static.$shutdownRe
49920 67 69 73 74 65 72 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f gistered.=.false;..if.(function_
49940 65 78 69 73 74 73 28 27 69 6e 69 5f 73 65 74 27 29 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c exists('ini_set').&&.extension_l
49960 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 78 64 65 62 oaded('xdebug')).{.ini_set('xdeb
49980 75 67 2e 73 68 6f 77 5f 65 78 63 65 70 74 69 6f 6e 5f 74 72 61 63 65 27 2c 20 66 61 6c 73 65 29 ug.show_exception_trace',.false)
499a0 3b 0a 69 6e 69 5f 73 65 74 28 27 78 64 65 62 75 67 2e 73 63 72 65 61 6d 27 2c 20 66 61 6c 73 65 ;.ini_set('xdebug.scream',.false
499c0 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 64 61 74 65 5f );.}..if.(function_exists('date_
499e0 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 73 65 74 27 29 20 26 26 20 66 75 6e 63 74 69 default_timezone_set').&&.functi
49a00 6f 6e 5f 65 78 69 73 74 73 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 on_exists('date_default_timezone
49a20 5f 67 65 74 27 29 29 20 7b 0a 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f _get')).{.date_default_timezone_
49a40 73 65 74 28 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 set(Silencer::call('date_default
49a60 5f 74 69 6d 65 7a 6f 6e 65 5f 67 65 74 27 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 73 68 75 74 64 _timezone_get'));.}..if.(!$shutd
49a80 6f 77 6e 52 65 67 69 73 74 65 72 65 64 29 20 7b 0a 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 ownRegistered).{.$shutdownRegist
49aa0 65 72 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f ered.=.true;..register_shutdown_
49ac0 66 75 6e 63 74 69 6f 6e 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 24 6c 61 73 74 45 72 72 6f function(function.().{.$lastErro
49ae0 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 0a 69 66 20 28 24 6c 61 73 74 r.=.error_get_last();..if.($last
49b00 45 72 72 6f 72 20 26 26 20 24 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 20 26 Error.&&.$lastError['message'].&
49b20 26 0a 28 73 74 72 70 6f 73 28 24 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c &.(strpos($lastError['message'],
49b40 20 27 41 6c 6c 6f 77 65 64 20 6d 65 6d 6f 72 79 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 20 7c 7c .'Allowed.memory').!==.false..||
49b60 0a 73 74 72 70 6f 73 28 24 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 .strpos($lastError['message'],.'
49b80 65 78 63 65 65 64 65 64 20 6d 65 6d 6f 72 79 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 29 29 20 7b exceeded.memory').!==.false.)).{
49ba0 0a 65 63 68 6f 20 22 5c 6e 22 2e 20 27 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f .echo."\n"..'Check.https://getco
49bc0 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 mposer.org/doc/articles/troubles
49be0 68 6f 6f 74 69 6e 67 2e 6d 64 23 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 2d 65 72 72 6f 72 73 20 66 hooting.md#memory-limit-errors.f
49c00 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 68 6f 77 20 74 6f 20 68 61 6e 64 6c 65 20 6f 75 or.more.info.on.how.to.handle.ou
49c20 74 20 6f 66 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 73 2e 27 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 24 t.of.memory.errors.';.}.});.}..$
49c40 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 3b 0a 0a 70 61 72 65 6e 74 this->io.=.new.NullIO();..parent
49c60 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 27 43 6f 6d 70 6f 73 65 72 27 2c 20 43 6f 6d 70 6f 73 ::__construct('Composer',.Compos
49c80 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 er::getVersion());.}.....public.
49ca0 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 function.run(InputInterface.$inp
49cc0 75 74 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 ut.=.null,.OutputInterface.$outp
49ce0 75 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 ut.=.null).{.if.(null.===.$outpu
49d00 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 4f 75 t).{.$output.=.Factory::createOu
49d20 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 tput();.}..return.parent::run($i
49d40 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e nput,.$output);.}.....public.fun
49d60 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 ction.doRun(InputInterface.$inpu
49d80 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 t,.OutputInterface.$output).{.$t
49da0 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 3d 20 24 his->disablePluginsByDefault.=.$
49dc0 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d input->hasParameterOption('--no-
49de0 70 6c 75 67 69 6e 73 27 29 3b 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 plugins');..$io.=.$this->io.=.ne
49e00 77 20 43 6f 6e 73 6f 6c 65 49 4f 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 w.ConsoleIO($input,.$output,.$th
49e20 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 29 3b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 is->getHelperSet());.ErrorHandle
49e40 72 3a 3a 72 65 67 69 73 74 65 72 28 24 69 6f 29 3b 0a 0a 0a 20 69 66 20 28 24 6e 65 77 57 6f 72 r::register($io);....if.($newWor
49e60 6b 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 24 kDir.=.$this->getNewWorkingDir($
49e80 69 6e 70 75 74 29 29 20 7b 0a 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 74 63 77 input)).{.$oldWorkingDir.=.getcw
49ea0 64 28 29 3b 0a 63 68 64 69 72 28 24 6e 65 77 57 6f 72 6b 44 69 72 29 3b 0a 24 69 6f 2d 3e 77 72 d();.chdir($newWorkDir);.$io->wr
49ec0 69 74 65 45 72 72 6f 72 28 27 43 68 61 6e 67 65 64 20 43 57 44 20 74 6f 20 27 20 2e 20 67 65 74 iteError('Changed.CWD.to.'...get
49ee0 63 77 64 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 cwd(),.true,.IOInterface::DEBUG)
49f00 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6e ;.}....$commandName.=.'';.if.($n
49f20 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 ame.=.$this->getCommandName($inp
49f40 75 74 29 29 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 74 68 69 ut)).{.try.{.$commandName.=.$thi
49f60 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 20 63 61 74 s->find($name)->getName();.}.cat
49f80 63 68 20 28 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 24 65 29 ch.(CommandNotFoundException.$e)
49fa0 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 63 61 74 .{...$commandName.=.false;.}.cat
49fc0 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 ch.(\InvalidArgumentException.$e
49fe0 29 20 7b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 ).{.}.}....if.($io->isInteractiv
4a000 65 28 29 20 26 26 20 21 24 6e 65 77 57 6f 72 6b 44 69 72 20 26 26 20 21 69 6e 5f 61 72 72 61 79 e().&&.!$newWorkDir.&&.!in_array
4a020 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 61 72 72 61 79 28 27 27 2c 20 27 6c 69 73 74 27 2c ($commandName,.array('',.'list',
4a040 20 27 69 6e 69 74 27 2c 20 27 61 62 6f 75 74 27 2c 20 27 68 65 6c 70 27 2c 20 27 64 69 61 67 6e .'init',.'about',.'help',.'diagn
4a060 6f 73 65 27 2c 20 27 73 65 6c 66 2d 75 70 64 61 74 65 27 2c 20 27 67 6c 6f 62 61 6c 27 2c 20 27 ose',.'self-update',.'global',.'
4a080 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 27 29 2c 20 74 72 75 65 29 20 26 26 20 21 66 69 6c 65 create-project'),.true).&&.!file
4a0a0 5f 65 78 69 73 74 73 28 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 _exists(Factory::getComposerFile
4a0c0 28 29 29 29 20 7b 0a 24 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 67 65 74 63 77 64 28 29 29 3b ())).{.$dir.=.dirname(getcwd());
4a0e0 0a 24 68 6f 6d 65 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 .$home.=.realpath(getenv('HOME')
4a100 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 20 3f 3a 20 27 2f 27 .?:.getenv('USERPROFILE').?:.'/'
4a120 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 64 69 72 6e 61 6d 65 28 24 64 69 72 29 20 21 3d 3d 20 24 );....while.(dirname($dir).!==.$
4a140 64 69 72 20 26 26 20 24 64 69 72 20 21 3d 3d 20 24 68 6f 6d 65 29 20 7b 0a 69 66 20 28 66 69 6c dir.&&.$dir.!==.$home).{.if.(fil
4a160 65 5f 65 78 69 73 74 73 28 24 64 69 72 2e 27 2f 27 2e 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f e_exists($dir.'/'.Factory::getCo
4a180 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e mposerFile())).{.if.($io->askCon
4a1a0 66 69 72 6d 61 74 69 6f 6e 28 27 3c 69 6e 66 6f 3e 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f firmation('<info>No.composer.jso
4a1c0 6e 20 69 6e 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 64 6f 20 79 6f 75 20 77 n.in.current.directory,.do.you.w
4a1e0 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 6f 6e 65 20 61 74 20 27 2e 24 64 69 72 2e 27 3f 3c ant.to.use.the.one.at.'.$dir.'?<
4a200 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 59 2c 6e 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f /info>.[<comment>Y,n</comment>]?
4a220 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 .',.true)).{.$oldWorkingDir.=.ge
4a240 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 64 69 72 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a tcwd();.chdir($dir);.}.break;.}.
4a260 24 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 64 69 72 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 $dir.=.dirname($dir);.}.}..if.(!
4a280 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 26 $this->disablePluginsByDefault.&
4a2a0 26 20 21 24 74 68 69 73 2d 3e 68 61 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 26 26 20 27 &.!$this->hasPluginCommands.&&.'
4a2c0 67 6c 6f 62 61 6c 27 20 21 3d 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 20 7b 0a 74 72 79 20 global'.!==.$commandName).{.try.
4a2e0 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 {.foreach.($this->getPluginComma
4a300 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e nds().as.$command).{.if.($this->
4a320 68 61 73 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 24 69 6f 2d has($command->getName())).{.$io-
4a340 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 6c 75 67 69 6e 20 63 6f 6d >writeError('<warning>Plugin.com
4a360 6d 61 6e 64 20 27 2e 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 28 27 2e mand.'.$command->getName().'.('.
4a380 67 65 74 5f 63 6c 61 73 73 28 24 63 6f 6d 6d 61 6e 64 29 2e 27 29 20 77 6f 75 6c 64 20 6f 76 65 get_class($command).').would.ove
4a3a0 72 72 69 64 65 20 61 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 68 61 73 rride.a.Composer.command.and.has
4a3c0 20 62 65 65 6e 20 73 6b 69 70 70 65 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 .been.skipped</warning>');.}.els
4a3e0 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 7d 20 e.{.$this->add($command);.}.}.}.
4a400 63 61 74 63 68 20 28 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a catch.(NoSslException.$e).{...}.
4a420 0a 24 74 68 69 73 2d 3e 68 61 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 3d 20 74 72 75 65 .$this->hasPluginCommands.=.true
4a440 3b 0a 7d 0a 0a 0a 20 24 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 20 3d 20 66 61 6c 73 65 3b 0a ;.}....$isProxyCommand.=.false;.
4a460 69 66 20 28 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d if.($name.=.$this->getCommandNam
4a480 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 e($input)).{.try.{.$command.=.$t
4a4a0 68 69 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d his->find($name);.$commandName.=
4a4c0 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 69 73 50 72 6f 78 79 43 6f .$command->getName();.$isProxyCo
4a4e0 6d 6d 61 6e 64 20 3d 20 28 24 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d mmand.=.($command.instanceof.Com
4a500 6d 61 6e 64 5c 42 61 73 65 43 6f 6d 6d 61 6e 64 20 26 26 20 24 63 6f 6d 6d 61 6e 64 2d 3e 69 73 mand\BaseCommand.&&.$command->is
4a520 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c ProxyCommand());.}.catch.(\Inval
4a540 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 69 idArgumentException.$e).{.}.}..i
4a560 66 20 28 21 24 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 f.(!$isProxyCommand).{.$io->writ
4a580 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 52 75 6e 6e 69 6e 67 20 25 73 20 28 25 73 29 eError(sprintf(.'Running.%s.(%s)
4a5a0 20 77 69 74 68 20 25 73 20 6f 6e 20 25 73 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 .with.%s.on.%s',.Composer::getVe
4a5c0 72 73 69 6f 6e 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 2c rsion(),.Composer::RELEASE_DATE,
4a5e0 0a 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 3f 20 27 48 48 56 4d .defined('HHVM_VERSION').?.'HHVM
4a600 20 27 2e 48 48 56 4d 5f 56 45 52 53 49 4f 4e 20 3a 20 27 50 48 50 20 27 2e 50 48 50 5f 56 45 52 .'.HHVM_VERSION.:.'PHP.'.PHP_VER
4a620 53 49 4f 4e 2c 0a 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 SION,.function_exists('php_uname
4a640 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 20 2e 20 27 20 2f 20 27 20 2e 20 70 68 ').?.php_uname('s')...'./.'...ph
4a660 70 5f 75 6e 61 6d 65 28 27 72 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 20 4f 53 27 0a 29 2c 20 74 p_uname('r').:.'Unknown.OS'.),.t
4a680 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 69 66 20 28 50 rue,.IOInterface::DEBUG);..if.(P
4a6a0 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 32 29 20 7b 0a 24 69 6f 2d 3e 77 72 HP_VERSION_ID.<.50302).{.$io->wr
4a6c0 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 6f 6d 70 6f 73 65 72 20 6f 6e 6c 79 iteError('<warning>Composer.only
4a6e0 20 6f 66 66 69 63 69 61 6c 6c 79 20 73 75 70 70 6f 72 74 73 20 50 48 50 20 35 2e 33 2e 32 20 61 .officially.supports.PHP.5.3.2.a
4a700 6e 64 20 61 62 6f 76 65 2c 20 79 6f 75 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 65 nd.above,.you.will.most.likely.e
4a720 6e 63 6f 75 6e 74 65 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 79 6f 75 72 20 50 48 50 20 ncounter.problems.with.your.PHP.
4a740 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2e 27 2c 20 75 70 67 72 61 64 69 6e 67 20 69 73 20 73 74 '.PHP_VERSION.',.upgrading.is.st
4a760 72 6f 6e 67 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b rongly.recommended.</warning>');
4a780 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 .}..if.(extension_loaded('xdebug
4a7a0 27 29 20 26 26 20 21 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 44 49 53 41 42 4c 45 5f ').&&.!getenv('COMPOSER_DISABLE_
4a7c0 58 44 45 42 55 47 5f 57 41 52 4e 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 XDEBUG_WARN')).{.$io->writeError
4a7e0 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f ('<warning>You.are.running.compo
4a800 73 65 72 20 77 69 74 68 20 78 64 65 62 75 67 20 65 6e 61 62 6c 65 64 2e 20 54 68 69 73 20 68 61 ser.with.xdebug.enabled..This.ha
4a820 73 20 61 20 6d 61 6a 6f 72 20 69 6d 70 61 63 74 20 6f 6e 20 72 75 6e 74 69 6d 65 20 70 65 72 66 s.a.major.impact.on.runtime.perf
4a840 6f 72 6d 61 6e 63 65 2e 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 ormance..See.https://getcomposer
4a860 2e 6f 72 67 2f 78 64 65 62 75 67 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 .org/xdebug</warning>');.}..if.(
4a880 64 65 66 69 6e 65 64 28 27 43 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 4e 47 5f 54 49 defined('COMPOSER_DEV_WARNING_TI
4a8a0 4d 45 27 29 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 2d 75 ME').&&.$commandName.!==.'self-u
4a8c0 70 64 61 74 65 27 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 pdate'.&&.$commandName.!==.'self
4a8e0 75 70 64 61 74 65 27 20 26 26 20 74 69 6d 65 28 29 20 3e 20 43 4f 4d 50 4f 53 45 52 5f 44 45 56 update'.&&.time().>.COMPOSER_DEV
4a900 5f 57 41 52 4e 49 4e 47 5f 54 49 4d 45 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 _WARNING_TIME).{.$io->writeError
4a920 28 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 68 69 73 (sprintf('<warning>Warning:.This
4a940 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 62 75 69 6c 64 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 69 .development.build.of.composer.i
4a960 73 20 6f 76 65 72 20 36 30 20 64 61 79 73 20 6f 6c 64 2e 20 49 74 20 69 73 20 72 65 63 6f 6d 6d s.over.60.days.old..It.is.recomm
4a980 65 6e 64 65 64 20 74 6f 20 75 70 64 61 74 65 20 69 74 20 62 79 20 72 75 6e 6e 69 6e 67 20 22 25 ended.to.update.it.by.running."%
4a9a0 73 20 73 65 6c 66 2d 75 70 64 61 74 65 22 20 74 6f 20 67 65 74 20 74 68 65 20 6c 61 74 65 73 74 s.self-update".to.get.the.latest
4a9c0 20 76 65 72 73 69 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 5f 53 45 52 56 45 52 5b 27 .version.</warning>',.$_SERVER['
4a9e0 50 48 50 5f 53 45 4c 46 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 67 65 74 65 6e 76 28 27 43 4f 4d PHP_SELF']));.}..if.(getenv('COM
4aa00 50 4f 53 45 52 5f 4e 4f 5f 49 4e 54 45 52 41 43 54 49 4f 4e 27 29 29 20 7b 0a 24 69 6e 70 75 74 POSER_NO_INTERACTION')).{.$input
4aa20 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 ->setInteractive(false);.}..if.(
4aa40 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 75 6e 63 74 69 !Platform::isWindows().&&.functi
4aa60 6f 6e 5f 65 78 69 73 74 73 28 27 65 78 65 63 27 29 20 26 26 20 21 67 65 74 65 6e 76 28 27 43 4f on_exists('exec').&&.!getenv('CO
4aa80 4d 50 4f 53 45 52 5f 41 4c 4c 4f 57 5f 53 55 50 45 52 55 53 45 52 27 29 29 20 7b 0a 69 66 20 28 MPOSER_ALLOW_SUPERUSER')).{.if.(
4aaa0 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 75 69 64 27 29 20 function_exists('posix_getuid').
4aac0 26 26 20 70 6f 73 69 78 5f 67 65 74 75 69 64 28 29 20 3d 3d 3d 20 30 29 20 7b 0a 69 66 20 28 24 &&.posix_getuid().===.0).{.if.($
4aae0 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 2d 75 70 64 61 74 65 27 20 26 26 commandName.!==.'self-update'.&&
4ab00 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 75 70 64 61 74 65 27 29 20 .$commandName.!==.'selfupdate').
4ab20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 6f 20 6e {.$io->writeError('<warning>Do.n
4ab40 6f 74 20 72 75 6e 20 43 6f 6d 70 6f 73 65 72 20 61 73 20 72 6f 6f 74 2f 73 75 70 65 72 20 75 73 ot.run.Composer.as.root/super.us
4ab60 65 72 21 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f er!.See.https://getcomposer.org/
4ab80 72 6f 6f 74 20 66 6f 72 20 64 65 74 61 69 6c 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a root.for.details</warning>');.}.
4aba0 69 66 20 28 24 75 69 64 20 3d 20 28 69 6e 74 29 20 67 65 74 65 6e 76 28 27 53 55 44 4f 5f 55 49 if.($uid.=.(int).getenv('SUDO_UI
4abc0 44 27 29 29 20 7b 0a 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 65 78 65 63 27 D')).{.....Silencer::call('exec'
4abe0 2c 20 22 73 75 64 6f 20 2d 75 20 5c 5c 23 7b 24 75 69 64 7d 20 73 75 64 6f 20 2d 4b 20 3e 20 2f ,."sudo.-u.\\#{$uid}.sudo.-K.>./
4ac00 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 22 29 3b 0a 7d 0a 7d 0a 0a 20 53 69 6c 65 6e 63 65 72 3a dev/null.2>&1");.}.}...Silencer:
4ac20 3a 63 61 6c 6c 28 27 65 78 65 63 27 2c 20 27 73 75 64 6f 20 2d 4b 20 3e 20 2f 64 65 76 2f 6e 75 :call('exec',.'sudo.-K.>./dev/nu
4ac40 6c 6c 20 32 3e 26 31 27 29 3b 0a 7d 0a 0a 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 66 ll.2>&1');.}....Silencer::call(f
4ac60 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 69 6f 29 20 7b 0a 24 74 65 6d 70 66 69 6c 65 unction.().use.($io).{.$tempfile
4ac80 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 20 2e 20 27 2f 74 65 6d 70 2d 27 .=.sys_get_temp_dir()...'/temp-'
4aca0 20 2e 20 6d 64 35 28 6d 69 63 72 6f 74 69 6d 65 28 29 29 3b 0a 69 66 20 28 21 28 66 69 6c 65 5f ...md5(microtime());.if.(!(file_
4acc0 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 66 69 6c 65 2c 20 5f 5f 46 49 4c 45 5f 5f put_contents($tempfile,.__FILE__
4ace0 29 20 26 26 20 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 66 69 6c ).&&.(file_get_contents($tempfil
4ad00 65 29 20 3d 3d 20 5f 5f 46 49 4c 45 5f 5f 29 20 26 26 20 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 66 e).==.__FILE__).&&.unlink($tempf
4ad20 69 6c 65 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 65 6d 70 66 69 6c 65 29 29 ile).&&.!file_exists($tempfile))
4ad40 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 ).{.$io->writeError(sprintf('<er
4ad60 72 6f 72 3e 50 48 50 20 74 65 6d 70 20 64 69 72 65 63 74 6f 72 79 20 28 25 73 29 20 64 6f 65 73 ror>PHP.temp.directory.(%s).does
4ad80 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 74 6f .not.exist.or.is.not.writable.to
4ada0 20 43 6f 6d 70 6f 73 65 72 2e 20 53 65 74 20 73 79 73 5f 74 65 6d 70 5f 64 69 72 20 69 6e 20 79 .Composer..Set.sys_temp_dir.in.y
4adc0 6f 75 72 20 70 68 70 2e 69 6e 69 3c 2f 65 72 72 6f 72 3e 27 2c 20 73 79 73 5f 67 65 74 5f 74 65 our.php.ini</error>',.sys_get_te
4ade0 6d 70 5f 64 69 72 28 29 29 29 3b 0a 7d 0a 7d 29 3b 0a 0a 0a 20 24 66 69 6c 65 20 3d 20 46 61 63 mp_dir()));.}.});....$file.=.Fac
4ae00 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 69 66 20 28 69 73 5f tory::getComposerFile();.if.(is_
4ae20 66 69 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 file($file).&&.is_readable($file
4ae40 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6a 73 6f 6e 5f 64 ).&&.is_array($composer.=.json_d
4ae60 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 29 2c 20 ecode(file_get_contents($file),.
4ae80 74 72 75 65 29 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 true))).{.if.(isset($composer['s
4aea0 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 5b cripts']).&&.is_array($composer[
4aec0 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 70 6f 73 65 'scripts'])).{.foreach.($compose
4aee0 72 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 73 63 72 69 70 74 20 3d 3e 20 24 64 75 6d 6d r['scripts'].as.$script.=>.$dumm
4af00 79 29 20 7b 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 y).{.if.(!defined('Composer\Scri
4af20 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 pt\ScriptEvents::'.str_replace('
4af40 2d 27 2c 20 27 5f 27 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 63 72 69 70 74 29 29 29 29 20 -',.'_',.strtoupper($script)))).
4af60 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 28 24 73 63 72 69 70 74 29 29 20 7b 0a 24 69 6f {.if.($this->has($script)).{.$io
4af80 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 41 20 73 63 72 69 70 74 20 ->writeError('<warning>A.script.
4afa0 6e 61 6d 65 64 20 27 2e 24 73 63 72 69 70 74 2e 27 20 77 6f 75 6c 64 20 6f 76 65 72 72 69 64 65 named.'.$script.'.would.override
4afc0 20 61 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 68 61 73 20 62 65 65 6e .a.Composer.command.and.has.been
4afe0 20 73 6b 69 70 70 65 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 .skipped</warning>');.}.else.{.$
4b000 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 description.=.null;..if.(isset($
4b020 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d composer['scripts-descriptions']
4b040 5b 24 73 63 72 69 70 74 5d 29 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 63 6f [$script])).{.$description.=.$co
4b060 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d 5b 24 mposer['scripts-descriptions'][$
4b080 73 63 72 69 70 74 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d 61 script];.}..$this->add(new.Comma
4b0a0 6e 64 5c 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 28 24 73 63 72 69 70 74 2c 20 24 nd\ScriptAliasCommand($script,.$
4b0c0 64 65 73 63 72 69 70 74 69 6f 6e 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 74 72 79 20 description));.}.}.}.}.}.}..try.
4b0e0 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e {.if.($input->hasParameterOption
4b100 28 27 2d 2d 70 72 6f 66 69 6c 65 27 29 29 20 7b 0a 24 73 74 61 72 74 54 69 6d 65 20 3d 20 6d 69 ('--profile')).{.$startTime.=.mi
4b120 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 65 6e 61 62 6c 65 crotime(true);.$this->io->enable
4b140 44 65 62 75 67 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d 65 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c Debugging($startTime);.}..$resul
4b160 74 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 52 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 t.=.parent::doRun($input,.$outpu
4b180 74 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 29 29 20 t);..if.(isset($oldWorkingDir)).
4b1a0 7b 0a 63 68 64 69 72 28 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 {.chdir($oldWorkingDir);.}..if.(
4b1c0 69 73 73 65 74 28 24 73 74 61 72 74 54 69 6d 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 isset($startTime)).{.$io->writeE
4b1e0 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4d 65 6d 6f 72 79 20 75 73 61 67 65 3a 20 27 2e 72 6f 75 6e rror('<info>Memory.usage:.'.roun
4b200 64 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 30 d(memory_get_usage()./.1024./.10
4b220 32 34 2c 20 32 29 2e 27 4d 69 42 20 28 70 65 61 6b 3a 20 27 2e 72 6f 75 6e 64 28 6d 65 6d 6f 72 24,.2).'MiB.(peak:.'.round(memor
4b240 79 5f 67 65 74 5f 70 65 61 6b 5f 75 73 61 67 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 y_get_peak_usage()./.1024./.1024
4b260 2c 20 32 29 2e 27 4d 69 42 29 2c 20 74 69 6d 65 3a 20 27 2e 72 6f 75 6e 64 28 6d 69 63 72 6f 74 ,.2).'MiB),.time:.'.round(microt
4b280 69 6d 65 28 74 72 75 65 29 20 2d 20 24 73 74 61 72 74 54 69 6d 65 2c 20 32 29 2e 27 73 27 29 3b ime(true).-.$startTime,.2).'s');
4b2a0 0a 7d 0a 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 72 65 .}..restore_error_handler();..re
4b2c0 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 28 53 63 72 69 70 74 45 78 65 turn.$result;.}.catch.(ScriptExe
4b2e0 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 2d cutionException.$e).{.return.$e-
4b300 3e 67 65 74 43 6f 64 65 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 >getCode();.}.catch.(\Exception.
4b320 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 68 69 6e 74 43 6f 6d 6d 6f 6e 45 72 72 6f 72 73 28 24 65 $e).{.$this->hintCommonErrors($e
4b340 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 74 68 72 6f );.restore_error_handler();.thro
4b360 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e w.$e;.}.}.......private.function
4b380 20 67 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 .getNewWorkingDir(InputInterface
4b3a0 20 24 69 6e 70 75 74 29 0a 7b 0a 24 77 6f 72 6b 69 6e 67 44 69 72 20 3d 20 24 69 6e 70 75 74 2d .$input).{.$workingDir.=.$input-
4b3c0 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 77 6f 72 >getParameterOption(array('--wor
4b3e0 6b 69 6e 67 2d 64 69 72 27 2c 20 27 2d 64 27 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d king-dir',.'-d'));.if.(false.!==
4b400 20 24 77 6f 72 6b 69 6e 67 44 69 72 20 26 26 20 21 69 73 5f 64 69 72 28 24 77 6f 72 6b 69 6e 67 .$workingDir.&&.!is_dir($working
4b420 44 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 Dir)).{.throw.new.\RuntimeExcept
4b440 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 73 ion('Invalid.working.directory.s
4b460 70 65 63 69 66 69 65 64 2c 20 27 2e 24 77 6f 72 6b 69 6e 67 44 69 72 2e 27 20 64 6f 65 73 20 6e pecified,.'.$workingDir.'.does.n
4b480 6f 74 20 65 78 69 73 74 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 77 6f 72 6b 69 6e 67 44 ot.exist.');.}..return.$workingD
4b4a0 69 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 69 6e 74 43 ir;.}.....private.function.hintC
4b4c0 6f 6d 6d 6f 6e 45 72 72 6f 72 73 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 69 6f 20 3d 20 ommonErrors($exception).{.$io.=.
4b4e0 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 53 69 6c 65 6e 63 65 72 3a 3a 73 75 70 70 72 $this->getIO();..Silencer::suppr
4b500 65 73 73 28 29 3b 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e ess();.try.{.$composer.=.$this->
4b520 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 24 63 getComposer(false,.true);.if.($c
4b540 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e omposer).{.$config.=.$composer->
4b560 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 6d 69 6e 53 70 61 63 65 46 72 65 65 20 3d 20 31 30 getConfig();..$minSpaceFree.=.10
4b580 32 34 20 2a 20 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 3d 20 64 69 73 6b 5f 66 72 65 65 24.*.1024;.if.((($df.=.disk_free
4b5a0 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 _space($dir.=.$config->get('home
4b5c0 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 '))).!==.false.&&.$df.<.$minSpac
4b5e0 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 eFree).||.(($df.=.disk_free_spac
4b600 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 e($dir.=.$config->get('vendor-di
4b620 72 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 r'))).!==.false.&&.$df.<.$minSpa
4b640 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 ceFree).||.(($df.=.disk_free_spa
4b660 63 65 28 24 64 69 72 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 29 29 20 21 ce($dir.=.sys_get_temp_dir())).!
4b680 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 ==.false.&&.$df.<.$minSpaceFree)
4b6a0 0a 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 .).{.$io->writeError('<error>The
4b6c0 20 64 69 73 6b 20 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 20 69 73 20 66 75 6c 6c 2c 20 .disk.hosting.'.$dir.'.is.full,.
4b6e0 74 68 69 73 20 6d 61 79 20 62 65 20 74 68 65 20 63 61 75 73 65 20 6f 66 20 74 68 65 20 66 6f 6c this.may.be.the.cause.of.the.fol
4b700 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c lowing.exception</error>',.true,
4b720 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 .IOInterface::QUIET);.}.}.}.catc
4b740 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 53 69 6c 65 6e 63 65 72 3a 3a h.(\Exception.$e).{.}.Silencer::
4b760 72 65 73 74 6f 72 65 28 29 3b 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 restore();..if.(Platform::isWind
4b780 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 78 63 65 70 ows().&&.false.!==.strpos($excep
4b7a0 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 54 68 65 20 73 79 73 74 65 6d 20 tion->getMessage(),.'The.system.
4b7c0 63 61 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 70 61 74 68 20 73 70 65 63 69 66 69 65 64 27 29 cannot.find.the.path.specified')
4b7e0 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 ).{.$io->writeError('<error>The.
4b800 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 20 6d 61 79 20 62 65 20 63 61 75 73 65 following.exception.may.be.cause
4b820 64 20 62 79 20 61 20 73 74 61 6c 65 20 65 6e 74 72 79 20 69 6e 20 79 6f 75 72 20 63 6d 64 2e 65 d.by.a.stale.entry.in.your.cmd.e
4b840 78 65 20 41 75 74 6f 52 75 6e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 xe.AutoRun</error>',.true,.IOInt
4b860 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 erface::QUIET);.$io->writeError(
4b880 27 3c 65 72 72 6f 72 3e 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 '<error>Check.https://getcompose
4b8a0 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 r.org/doc/articles/troubleshooti
4b8c0 6e 67 2e 6d 64 23 2d 74 68 65 2d 73 79 73 74 65 6d 2d 63 61 6e 6e 6f 74 2d 66 69 6e 64 2d 74 68 ng.md#-the-system-cannot-find-th
4b8e0 65 2d 70 61 74 68 2d 73 70 65 63 69 66 69 65 64 2d 77 69 6e 64 6f 77 73 2d 20 66 6f 72 20 64 65 e-path-specified-windows-.for.de
4b900 74 61 69 6c 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 tails</error>',.true,.IOInterfac
4b920 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 e::QUIET);.}..if.(false.!==.strp
4b940 6f 73 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 66 6f os($exception->getMessage(),.'fo
4b960 72 6b 20 66 61 69 6c 65 64 20 2d 20 43 61 6e 6e 6f 74 20 61 6c 6c 6f 63 61 74 65 20 6d 65 6d 6f rk.failed.-.Cannot.allocate.memo
4b980 72 79 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e ry')).{.$io->writeError('<error>
4b9a0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 63 61 75 73 65 The.following.exception.is.cause
4b9c0 64 20 62 79 20 61 20 6c 61 63 6b 20 6f 66 20 6d 65 6d 6f 72 79 20 6f 72 20 73 77 61 70 2c 20 6f d.by.a.lack.of.memory.or.swap,.o
4b9e0 72 20 6e 6f 74 20 68 61 76 69 6e 67 20 73 77 61 70 20 63 6f 6e 66 69 67 75 72 65 64 3c 2f 65 72 r.not.having.swap.configured</er
4ba00 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 ror>',.true,.IOInterface::QUIET)
4ba20 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 68 65 63 6b 20 ;.$io->writeError('<error>Check.
4ba40 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 https://getcomposer.org/doc/arti
4ba60 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 70 72 6f 63 2d 6f 70 65 cles/troubleshooting.md#proc-ope
4ba80 6e 2d 66 6f 72 6b 2d 66 61 69 6c 65 64 2d 65 72 72 6f 72 73 20 66 6f 72 20 64 65 74 61 69 6c 73 n-fork-failed-errors.for.details
4baa0 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 </error>',.true,.IOInterface::QU
4bac0 49 45 54 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e IET);.}.}........public.function
4bae0 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 20 3d 20 74 72 75 65 2c 20 24 .getComposer($required.=.true,.$
4bb00 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c disablePlugins.=.null).{.if.(nul
4bb20 6c 20 3d 3d 3d 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 24 64 69 73 61 62 6c l.===.$disablePlugins).{.$disabl
4bb40 65 50 6c 75 67 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 ePlugins.=.$this->disablePlugins
4bb60 42 79 44 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 ByDefault;.}..if.(null.===.$this
4bb80 2d 3e 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f ->composer).{.try.{.$this->compo
4bba0 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2d 3e 69 6f 2c ser.=.Factory::create($this->io,
4bbc0 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 20 63 61 74 63 68 .null,.$disablePlugins);.}.catch
4bbe0 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 .(\InvalidArgumentException.$e).
4bc00 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 {.if.($required).{.$this->io->wr
4bc20 69 74 65 45 72 72 6f 72 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 65 78 69 74 iteError($e->getMessage());.exit
4bc40 28 31 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 (1);.}.}.catch.(JsonValidationEx
4bc60 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 27 20 2d 20 27 20 2e 20 ception.$e).{.$errors.=.'.-.'...
4bc80 69 6d 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 20 2e 20 27 20 2d 20 27 2c 20 24 65 2d 3e 67 65 74 implode(PHP_EOL...'.-.',.$e->get
4bca0 45 72 72 6f 72 73 28 29 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 4d 65 73 Errors());.$message.=.$e->getMes
4bcc0 73 61 67 65 28 29 20 2e 20 27 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 72 72 6f 72 73 sage()...':'...PHP_EOL...$errors
4bce0 3b 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 ;.throw.new.JsonValidationExcept
4bd00 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion($message);.}.}..return.$this
4bd20 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->composer;.}.....public.functio
4bd40 6e 20 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f n.resetComposer().{.$this->compo
4bd60 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ser.=.null;.}.....public.functio
4bd80 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a n.getIO().{.return.$this->io;.}.
4bda0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 .public.function.getHelp().{.ret
4bdc0 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 67 6f 20 2e 20 70 61 72 65 6e 74 3a 3a 67 65 74 48 65 6c urn.self::$logo...parent::getHel
4bde0 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 p();.}.....protected.function.ge
4be00 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d tDefaultCommands().{.$commands.=
4be20 20 61 72 72 61 79 5f 6d 65 72 67 65 28 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 6c 74 43 .array_merge(parent::getDefaultC
4be40 6f 6d 6d 61 6e 64 73 28 29 2c 20 61 72 72 61 79 28 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 41 62 ommands(),.array(.new.Command\Ab
4be60 6f 75 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 6f 6e 66 69 67 outCommand(),.new.Command\Config
4be80 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 65 70 65 6e 64 73 43 6f Command(),.new.Command\DependsCo
4bea0 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 50 72 6f 68 69 62 69 74 73 43 6f mmand(),.new.Command\ProhibitsCo
4bec0 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 69 74 43 6f 6d 6d 61 6e 64 mmand(),.new.Command\InitCommand
4bee0 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 28 29 (),.new.Command\InstallCommand()
4bf00 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 ,.new.Command\CreateProjectComma
4bf20 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 28 nd(),.new.Command\UpdateCommand(
4bf40 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 28 29 2c 0a ),.new.Command\SearchCommand(),.
4bf60 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e new.Command\ValidateCommand(),.n
4bf80 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 68 6f 77 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f ew.Command\ShowCommand(),.new.Co
4bfa0 6d 6d 61 6e 64 5c 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d mmand\SuggestsCommand(),.new.Com
4bfc0 6d 61 6e 64 5c 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 mand\RequireCommand(),.new.Comma
4bfe0 6e 64 5c 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f nd\DumpAutoloadCommand(),.new.Co
4c000 6d 6d 61 6e 64 5c 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 mmand\StatusCommand(),.new.Comma
4c020 6e 64 5c 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 nd\ArchiveCommand(),.new.Command
4c040 5c 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c \DiagnoseCommand(),.new.Command\
4c060 52 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c RunScriptCommand(),.new.Command\
4c080 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 47 LicensesCommand(),.new.Command\G
4c0a0 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 6c 65 61 lobalCommand(),.new.Command\Clea
4c0c0 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 52 65 6d rCacheCommand(),.new.Command\Rem
4c0e0 6f 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 48 6f 6d 65 43 6f oveCommand(),.new.Command\HomeCo
4c100 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 45 78 65 63 43 6f 6d 6d 61 6e 64 mmand(),.new.Command\ExecCommand
4c120 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e 64 28 (),.new.Command\OutdatedCommand(
4c140 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d 52 65 71 73 ),.new.Command\CheckPlatformReqs
4c160 43 6f 6d 6d 61 6e 64 28 29 2c 0a 29 29 3b 0a 0a 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 Command(),.));..if.('phar:'.===.
4c180 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 63 6f 6d 6d 61 substr(__FILE__,.0,.5)).{.$comma
4c1a0 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 6c 66 55 70 64 61 74 65 43 6f nds[].=.new.Command\SelfUpdateCo
4c1c0 6d 6d 61 6e 64 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a mmand();.}..return.$commands;.}.
4c1e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 72 73 69 ....public.function.getLongVersi
4c200 6f 6e 28 29 0a 7b 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e 43 48 5f 41 4c 49 41 on().{.if.(Composer::BRANCH_ALIA
4c220 53 5f 56 45 52 53 49 4f 4e 20 26 26 20 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e 43 48 5f 41 4c S_VERSION.&&.Composer::BRANCH_AL
4c240 49 41 53 5f 56 45 52 53 49 4f 4e 20 21 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 62 72 61 6e 63 68 IAS_VERSION.!==.'@package_branch
4c260 5f 61 6c 69 61 73 5f 76 65 72 73 69 6f 6e 27 2e 27 40 27 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 _alias_version'.'@').{.return.sp
4c280 72 69 6e 74 66 28 0a 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 76 65 72 73 69 6f 6e 20 rintf(.'<info>%s</info>.version.
4c2a0 3c 63 6f 6d 6d 65 6e 74 3e 25 73 20 28 25 73 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 0a <comment>%s.(%s)</comment>.%s',.
4c2c0 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e $this->getName(),.Composer::BRAN
4c2e0 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 2c 0a 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 CH_ALIAS_VERSION,.$this->getVers
4c300 69 6f 6e 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 0a 29 3b ion(),.Composer::RELEASE_DATE.);
4c320 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f .}..return.parent::getLongVersio
4c340 6e 28 29 20 2e 20 27 20 27 20 2e 20 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 n()...'.'...Composer::RELEASE_DA
4c360 54 45 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 TE;.}.....protected.function.get
4c380 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 24 64 65 66 69 DefaultInputDefinition().{.$defi
4c3a0 6e 69 74 69 6f 6e 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 nition.=.parent::getDefaultInput
4c3c0 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 Definition();.$definition->addOp
4c3e0 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 70 72 6f 66 69 6c 65 27 tion(new.InputOption('--profile'
4c400 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
4c420 20 27 44 69 73 70 6c 61 79 20 74 69 6d 69 6e 67 20 61 6e 64 20 6d 65 6d 6f 72 79 20 75 73 61 67 .'Display.timing.and.memory.usag
4c440 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 e.information'));.$definition->a
4c460 64 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 ddOption(new.InputOption('--no-p
4c480 6c 75 67 69 6e 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 lugins',.null,.InputOption::VALU
4c4a0 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 61 62 6c 65 20 70 6c 75 67 E_NONE,.'Whether.to.disable.plug
4c4c0 69 6e 73 2e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 ins.'));.$definition->addOption(
4c4e0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 27 2c new.InputOption('--working-dir',
4c500 20 27 2d 64 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 .'-d',.InputOption::VALUE_REQUIR
4c520 45 44 2c 20 27 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 75 73 65 20 74 68 65 20 67 69 76 65 6e ED,.'If.specified,.use.the.given
4c540 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2e .directory.as.working.directory.
4c560 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 70 72 69 '));..return.$definition;.}..pri
4c580 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 28 vate.function.getPluginCommands(
4c5a0 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 6f 6d 70 6f ).{.$commands.=.array();..$compo
4c5c0 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 ser.=.$this->getComposer(false,.
4c5e0 66 61 6c 73 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 false);.if.(null.===.$composer).
4c600 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 47 6c 6f {.$composer.=.Factory::createGlo
4c620 62 61 6c 28 24 74 68 69 73 2d 3e 69 6f 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 bal($this->io,.false);.}..if.(nu
4c640 6c 6c 20 21 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 6d 20 3d 20 24 63 6f 6d 70 6f ll.!==.$composer).{.$pm.=.$compo
4c660 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 ser->getPluginManager();.foreach
4c680 20 28 24 70 6d 2d 3e 67 65 74 50 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 69 65 73 28 27 43 6f .($pm->getPluginCapabilities('Co
4c6a0 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 6f 6d 6d 61 6e 64 mposer\Plugin\Capability\Command
4c6c0 50 72 6f 76 69 64 65 72 27 2c 20 61 72 72 61 79 28 27 63 6f 6d 70 6f 73 65 72 27 20 3d 3e 20 24 Provider',.array('composer'.=>.$
4c6e0 63 6f 6d 70 6f 73 65 72 2c 20 27 69 6f 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 29 29 20 61 73 composer,.'io'.=>.$this->io)).as
4c700 20 24 63 61 70 61 62 69 6c 69 74 79 29 20 7b 0a 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 20 3d 20 24 .$capability).{.$newCommands.=.$
4c720 63 61 70 61 62 69 6c 69 74 79 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 69 66 20 28 21 capability->getCommands();.if.(!
4c740 69 73 5f 61 72 72 61 79 28 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 29 29 20 7b 0a 74 68 72 6f 77 20 is_array($newCommands)).{.throw.
4c760 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 new.\UnexpectedValueException('P
4c780 6c 75 67 69 6e 20 63 61 70 61 62 69 6c 69 74 79 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 61 lugin.capability.'.get_class($ca
4c7a0 70 61 62 69 6c 69 74 79 29 2e 27 20 66 61 69 6c 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 pability).'.failed.to.return.an.
4c7c0 61 72 72 61 79 20 66 72 6f 6d 20 67 65 74 43 6f 6d 6d 61 6e 64 73 27 29 3b 0a 7d 0a 66 6f 72 65 array.from.getCommands');.}.fore
4c7e0 61 63 68 20 28 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b ach.($newCommands.as.$command).{
4c800 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e .if.(!$command.instanceof.Comman
4c820 64 5c 42 61 73 65 43 6f 6d 6d 61 6e 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 d\BaseCommand).{.throw.new.\Unex
4c840 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 63 61 70 pectedValueException('Plugin.cap
4c860 61 62 69 6c 69 74 79 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 61 70 61 62 69 6c 69 74 79 29 ability.'.get_class($capability)
4c880 2e 27 20 72 65 74 75 72 6e 65 64 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 77 65 .'.returned.an.invalid.value,.we
4c8a0 20 65 78 70 65 63 74 65 64 20 61 6e 20 61 72 72 61 79 20 6f 66 20 43 6f 6d 70 6f 73 65 72 5c 43 .expected.an.array.of.Composer\C
4c8c0 6f 6d 6d 61 6e 64 5c 42 61 73 65 43 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63 74 73 27 29 3b 0a 7d 0a ommand\BaseCommand.objects');.}.
4c8e0 7d 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6f 6d 6d 61 }.$commands.=.array_merge($comma
4c900 6e 64 73 2c 20 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 nds,.$newCommands);.}.}..return.
4c920 24 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $commands;.}.}.<?php............
4c940 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 namespace.Composer\Console;..use
4c960 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
4c980 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tter\OutputFormatter;.....class.
4c9a0 48 74 6d 6c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 20 65 78 74 65 6e 64 73 20 4f 75 74 70 HtmlOutputFormatter.extends.Outp
4c9c0 75 74 46 6f 72 6d 61 74 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 utFormatter.{.private.static.$av
4c9e0 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 ailableForegroundColors.=.array(
4ca00 0a 33 30 20 3d 3e 20 27 62 6c 61 63 6b 27 2c 0a 33 31 20 3d 3e 20 27 72 65 64 27 2c 0a 33 32 20 .30.=>.'black',.31.=>.'red',.32.
4ca20 3d 3e 20 27 67 72 65 65 6e 27 2c 0a 33 33 20 3d 3e 20 27 79 65 6c 6c 6f 77 27 2c 0a 33 34 20 3d =>.'green',.33.=>.'yellow',.34.=
4ca40 3e 20 27 62 6c 75 65 27 2c 0a 33 35 20 3d 3e 20 27 6d 61 67 65 6e 74 61 27 2c 0a 33 36 20 3d 3e >.'blue',.35.=>.'magenta',.36.=>
4ca60 20 27 63 79 61 6e 27 2c 0a 33 37 20 3d 3e 20 27 77 68 69 74 65 27 2c 0a 29 3b 0a 70 72 69 76 61 .'cyan',.37.=>.'white',.);.priva
4ca80 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f te.static.$availableBackgroundCo
4caa0 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 34 30 20 3d 3e 20 27 62 6c 61 63 6b 27 2c 0a 34 31 20 lors.=.array(.40.=>.'black',.41.
4cac0 3d 3e 20 27 72 65 64 27 2c 0a 34 32 20 3d 3e 20 27 67 72 65 65 6e 27 2c 0a 34 33 20 3d 3e 20 27 =>.'red',.42.=>.'green',.43.=>.'
4cae0 79 65 6c 6c 6f 77 27 2c 0a 34 34 20 3d 3e 20 27 62 6c 75 65 27 2c 0a 34 35 20 3d 3e 20 27 6d 61 yellow',.44.=>.'blue',.45.=>.'ma
4cb00 67 65 6e 74 61 27 2c 0a 34 36 20 3d 3e 20 27 63 79 61 6e 27 2c 0a 34 37 20 3d 3e 20 27 77 68 69 genta',.46.=>.'cyan',.47.=>.'whi
4cb20 74 65 27 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c te',.);.private.static.$availabl
4cb40 65 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 31 20 3d 3e 20 27 62 6f 6c 64 27 2c 0a 34 eOptions.=.array(.1.=>.'bold',.4
4cb60 20 3d 3e 20 27 75 6e 64 65 72 73 63 6f 72 65 27 2c 0a 0a 20 0a 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 .=>.'underscore',.......);.....p
4cb80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 ublic.function.__construct(array
4cba0 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f .$styles.=.array()).{.parent::__
4cbc0 63 6f 6e 73 74 72 75 63 74 28 74 72 75 65 2c 20 24 73 74 79 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 construct(true,.$styles);.}..pub
4cbe0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a lic.function.format($message).{.
4cc00 24 66 6f 72 6d 61 74 74 65 64 20 3d 20 70 61 72 65 6e 74 3a 3a 66 6f 72 6d 61 74 28 24 6d 65 73 $formatted.=.parent::format($mes
4cc20 73 61 67 65 29 3b 0a 0a 24 63 6c 65 61 72 45 73 63 61 70 65 43 6f 64 65 73 20 3d 20 27 28 3f 3a sage);..$clearEscapeCodes.=.'(?:
4cc40 33 39 7c 34 39 7c 30 7c 32 32 7c 32 34 7c 32 35 7c 32 37 7c 32 38 29 27 3b 0a 0a 72 65 74 75 72 39|49|0|22|24|25|27|28)';..retur
4cc60 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 5c 30 33 33 5c 5b n.preg_replace_callback("{\033\[
4cc80 28 5b 30 2d 39 3b 5d 2b 29 6d 28 2e 2a 3f 29 5c 30 33 33 5c 5b 28 3f 3a 22 2e 24 63 6c 65 61 72 ([0-9;]+)m(.*?)\033\[(?:".$clear
4cca0 45 73 63 61 70 65 43 6f 64 65 73 2e 22 3b 29 2a 3f 22 2e 24 63 6c 65 61 72 45 73 63 61 70 65 43 EscapeCodes.";)*?".$clearEscapeC
4ccc0 6f 64 65 73 2e 22 6d 7d 73 22 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 66 6f 72 6d 61 74 odes."m}s",.array($this,.'format
4cce0 48 74 6d 6c 27 29 2c 20 24 66 6f 72 6d 61 74 74 65 64 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 Html'),.$formatted);.}..private.
4cd00 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 48 74 6d 6c 28 24 6d 61 74 63 68 65 73 29 0a 7b 0a function.formatHtml($matches).{.
4cd20 24 6f 75 74 20 3d 20 27 3c 73 70 61 6e 20 73 74 79 6c 65 3d 22 27 3b 0a 66 6f 72 65 61 63 68 20 $out.=.'<span.style="';.foreach.
4cd40 28 65 78 70 6c 6f 64 65 28 27 3b 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 61 73 20 24 63 (explode(';',.$matches[1]).as.$c
4cd60 6f 64 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c ode).{.if.(isset(self::$availabl
4cd80 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 eForegroundColors[$code])).{.$ou
4cda0 74 20 2e 3d 20 27 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f t..=.'color:'.self::$availableFo
4cdc0 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a 7d 20 65 6c 73 regroundColors[$code].';';.}.els
4cde0 65 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 eif.(isset(self::$availableBackg
4ce00 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 roundColors[$code])).{.$out..=.'
4ce20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 background-color:'.self::$availa
4ce40 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a bleBackgroundColors[$code].';';.
4ce60 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 }.elseif.(isset(self::$available
4ce80 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 73 77 69 74 63 68 20 28 73 65 6c 66 3a Options[$code])).{.switch.(self:
4cea0 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 20 7b 0a 63 61 73 :$availableOptions[$code]).{.cas
4cec0 65 20 27 62 6f 6c 64 27 3a 0a 24 6f 75 74 20 2e 3d 20 27 66 6f 6e 74 2d 77 65 69 67 68 74 3a 62 e.'bold':.$out..=.'font-weight:b
4cee0 6f 6c 64 3b 27 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 64 65 72 73 63 6f 72 65 27 old;';.break;..case.'underscore'
4cf00 3a 0a 24 6f 75 74 20 2e 3d 20 27 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 :.$out..=.'text-decoration:under
4cf20 6c 69 6e 65 3b 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 line;';.break;.}.}.}..return.$ou
4cf40 74 2e 27 22 3e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 3c 2f 73 70 61 6e 3e 27 3b 0a 7d 0a t.'">'.$matches[2].'</span>';.}.
4cf60 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
4cf80 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a poser\DependencyResolver;.......
4cfa0 63 6c 61 73 73 20 44 65 63 69 73 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 class.Decisions.implements.\Iter
4cfc0 61 74 6f 72 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f ator,.\Countable.{.const.DECISIO
4cfe0 4e 5f 4c 49 54 45 52 41 4c 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f 4e 5f 52 45 N_LITERAL.=.0;.const.DECISION_RE
4d000 41 53 4f 4e 20 3d 20 31 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 ASON.=.1;..protected.$pool;.prot
4d020 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 ected.$decisionMap;.protected.$d
4d040 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 ecisionQueue.=.array();..public.
4d060 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6f 6c 29 0a 7b 0a 24 74 function.__construct($pool).{.$t
4d080 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 his->pool.=.$pool;.$this->decisi
4d0a0 6f 6e 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 onMap.=.array();.}..public.funct
4d0c0 69 6f 6e 20 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 77 68 ion.decide($literal,.$level,.$wh
4d0e0 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 72 61 6c y).{.$this->addDecision($literal
4d100 2c 20 24 6c 65 76 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b ,.$level);.$this->decisionQueue[
4d120 5d 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 ].=.array(.self::DECISION_LITERA
4d140 4c 20 3d 3e 20 24 6c 69 74 65 72 61 6c 2c 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 L.=>.$literal,.self::DECISION_RE
4d160 41 53 4f 4e 20 3d 3e 20 24 77 68 79 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ASON.=>.$why,.);.}..public.funct
4d180 69 6f 6e 20 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 ion.satisfy($literal).{.$package
4d1a0 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 28 0a 24 6c Id.=.abs($literal);..return.(.$l
4d1c0 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 iteral.>.0.&&.isset($this->decis
4d1e0 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 ionMap[$packageId]).&&.$this->de
4d200 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 7c 7c 0a 24 6c 69 cisionMap[$packageId].>.0.||.$li
4d220 74 65 72 61 6c 20 3c 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 teral.<.0.&&.isset($this->decisi
4d240 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 onMap[$packageId]).&&.$this->dec
4d260 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 0a 29 3b 0a 7d 0a 0a 70 isionMap[$packageId].<.0.);.}..p
4d280 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 28 24 6c 69 74 65 72 61 6c ublic.function.conflict($literal
4d2a0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a ).{.$packageId.=.abs($literal);.
4d2c0 0a 72 65 74 75 72 6e 20 28 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e .return.(.(isset($this->decision
4d2e0 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 Map[$packageId]).&&.$this->decis
4d300 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 26 26 20 24 6c 69 74 65 72 ionMap[$packageId].>.0.&&.$liter
4d320 61 6c 20 3c 20 30 29 20 7c 7c 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f al.<.0).||.(isset($this->decisio
4d340 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 nMap[$packageId]).&&.$this->deci
4d360 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 20 26 26 20 24 6c 69 74 65 sionMap[$packageId].<.0.&&.$lite
4d380 72 61 6c 20 3e 20 30 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ral.>.0).);.}..public.function.d
4d3a0 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 ecided($literalOrPackageId).{.re
4d3c0 74 75 72 6e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 turn.!empty($this->decisionMap[a
4d3e0 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 5d 29 3b 0a 7d 0a 0a 70 75 bs($literalOrPackageId)]);.}..pu
4d400 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c blic.function.undecided($literal
4d420 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 74 68 69 OrPackageId).{.return.empty($thi
4d440 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 s->decisionMap[abs($literalOrPac
4d460 6b 61 67 65 49 64 29 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 kageId)]);.}..public.function.de
4d480 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 cidedInstall($literalOrPackageId
4d4a0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 ).{.$packageId.=.abs($literalOrP
4d4c0 61 63 6b 61 67 65 49 64 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e ackageId);..return.isset($this->
4d4e0 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 decisionMap[$packageId]).&&.$thi
4d500 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 3b 0a s->decisionMap[$packageId].>.0;.
4d520 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c }..public.function.decisionLevel
4d540 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 6b 61 67 65 ($literalOrPackageId).{.$package
4d560 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 3b 0a 69 Id.=.abs($literalOrPackageId);.i
4d580 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 f.(isset($this->decisionMap[$pac
4d5a0 6b 61 67 65 49 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 62 73 28 24 74 68 69 73 2d 3e 64 65 kageId])).{.return.abs($this->de
4d5c0 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 cisionMap[$packageId]);.}..retur
4d5e0 6e 20 30 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e n.0;.}..public.function.decision
4d600 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 Rule($literalOrPackageId).{.$pac
4d620 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 kageId.=.abs($literalOrPackageId
4d640 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 );..foreach.($this->decisionQueu
4d660 65 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 69 66 20 28 24 70 61 63 e.as.$i.=>.$decision).{.if.($pac
4d680 6b 61 67 65 49 64 20 3d 3d 3d 20 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 kageId.===.abs($decision[self::D
4d6a0 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 63 ECISION_LITERAL])).{.return.$dec
4d6c0 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a ision[self::DECISION_REASON];.}.
4d6e0 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 }..return.null;.}..public.functi
4d700 6f 6e 20 61 74 4f 66 66 73 65 74 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 on.atOffset($queueOffset).{.retu
4d720 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 24 71 75 65 75 65 4f 66 rn.$this->decisionQueue[$queueOf
4d740 66 73 65 74 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 4f fset];.}..public.function.validO
4d760 66 66 73 65 74 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 71 75 ffset($queueOffset).{.return.$qu
4d780 65 75 65 4f 66 66 73 65 74 20 3e 3d 20 30 20 26 26 20 24 71 75 65 75 65 4f 66 66 73 65 74 20 3c eueOffset.>=.0.&&.$queueOffset.<
4d7a0 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a .count($this->decisionQueue);.}.
4d7c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 61 73 74 52 65 61 73 6f 6e 28 29 0a 7b 0a .public.function.lastReason().{.
4d7e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e return.$this->decisionQueue[coun
4d800 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c t($this->decisionQueue).-.1][sel
4d820 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 f::DECISION_REASON];.}..public.f
4d840 75 6e 63 74 69 6f 6e 20 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.lastLiteral().{.return.$
4d860 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d this->decisionQueue[count($this-
4d880 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 44 45 43 49 53 >decisionQueue).-.1][self::DECIS
4d8a0 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ION_LITERAL];.}..public.function
4d8c0 20 72 65 73 65 74 28 29 0a 7b 0a 77 68 69 6c 65 20 28 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 72 .reset().{.while.($decision.=.ar
4d8e0 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b ray_pop($this->decisionQueue)).{
4d900 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 64 65 63 69 73 69 6f .$this->decisionMap[abs($decisio
4d920 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 5d 20 3d 20 30 3b n[self::DECISION_LITERAL])].=.0;
4d940 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 54 6f 4f 66 66 .}.}..public.function.resetToOff
4d960 73 65 74 28 24 6f 66 66 73 65 74 29 0a 7b 0a 77 68 69 6c 65 20 28 63 6f 75 6e 74 28 24 74 68 69 set($offset).{.while.(count($thi
4d980 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3e 20 24 6f 66 66 73 65 74 20 2b 20 31 29 s->decisionQueue).>.$offset.+.1)
4d9a0 20 7b 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e .{.$decision.=.array_pop($this->
4d9c0 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d decisionQueue);.$this->decisionM
4d9e0 61 70 5b 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f ap[abs($decision[self::DECISION_
4da00 4c 49 54 45 52 41 4c 5d 29 5d 20 3d 20 30 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 LITERAL])].=.0;.}.}..public.func
4da20 74 69 6f 6e 20 72 65 76 65 72 74 4c 61 73 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 tion.revertLast().{.$this->decis
4da40 69 6f 6e 4d 61 70 5b 61 62 73 28 24 74 68 69 73 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 29 ionMap[abs($this->lastLiteral())
4da60 5d 20 3d 20 30 3b 0a 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ].=.0;.array_pop($this->decision
4da80 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 Queue);.}..public.function.count
4daa0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f ().{.return.count($this->decisio
4dac0 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 nQueue);.}..public.function.rewi
4dae0 6e 64 28 29 0a 7b 0a 65 6e 64 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 nd().{.end($this->decisionQueue)
4db00 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b ;.}..public.function.current().{
4db20 0a 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 .return.current($this->decisionQ
4db40 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a ueue);.}..public.function.key().
4db60 7b 0a 72 65 74 75 72 6e 20 6b 65 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 {.return.key($this->decisionQueu
4db80 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a e);.}..public.function.next().{.
4dba0 72 65 74 75 72 6e 20 70 72 65 76 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 return.prev($this->decisionQueue
4dbc0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a );.}..public.function.valid().{.
4dbe0 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e return.false.!==.current($this->
4dc00 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 decisionQueue);.}..public.functi
4dc20 6f 6e 20 69 73 45 6d 70 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 on.isEmpty().{.return.count($thi
4dc40 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 72 6f 74 s->decisionQueue).===.0;.}..prot
4dc60 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 ected.function.addDecision($lite
4dc80 72 61 6c 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 ral,.$level).{.$packageId.=.abs(
4dca0 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 20 3d 20 $literal);..$previousDecision.=.
4dcc0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 isset($this->decisionMap[$packag
4dce0 65 49 64 5d 29 20 3f 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b eId]).?.$this->decisionMap[$pack
4dd00 61 67 65 49 64 5d 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 44 65 63 69 ageId].:.null;.if.($previousDeci
4dd20 73 69 6f 6e 20 21 3d 20 30 29 20 7b 0a 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 3d 20 24 74 sion.!=.0).{.$literalString.=.$t
4dd40 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 53 74 72 69 6e 67 28 24 6c 69 74 65 his->pool->literalToString($lite
4dd60 72 61 6c 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 ral);.$package.=.$this->pool->li
4dd80 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 74 68 72 6f 77 20 teralToPackage($literal);.throw.
4dda0 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 54 72 79 69 6e 67 20 new.SolverBugException(."Trying.
4ddc0 74 6f 20 64 65 63 69 64 65 20 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 6f 6e 20 6c 65 76 65 to.decide.$literalString.on.leve
4dde0 6c 20 24 6c 65 76 65 6c 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 24 70 61 63 6b 61 67 65 20 77 l.$level,.even.though.$package.w
4de00 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 64 65 63 69 64 65 64 20 61 73 20 22 2e 28 69 6e 74 29 as.previously.decided.as.".(int)
4de20 20 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 2e 22 2e 22 0a 29 3b 0a 7d 0a 0a 69 66 20 .$previousDecision.".".);.}..if.
4de40 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ($literal.>.0).{.$this->decision
4de60 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 20 65 6c 73 65 Map[$packageId].=.$level;.}.else
4de80 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 .{.$this->decisionMap[$packageId
4dea0 5d 20 3d 20 2d 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ].=.-$level;.}.}..public.functio
4dec0 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 64 65 63 69 73 69 6f 6e 4d 61 70 20 3d 20 n.__toString().{.$decisionMap.=.
4dee0 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 3b 0a 6b 73 6f 72 74 28 24 64 65 63 69 73 $this->decisionMap;.ksort($decis
4df00 69 6f 6e 4d 61 70 29 3b 0a 24 73 74 72 20 3d 20 27 5b 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 ionMap);.$str.=.'[';.foreach.($d
4df20 65 63 69 73 69 6f 6e 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6c 65 76 ecisionMap.as.$packageId.=>.$lev
4df40 65 6c 29 20 7b 0a 24 73 74 72 20 2e 3d 20 24 70 61 63 6b 61 67 65 49 64 2e 27 3a 27 2e 24 6c 65 el).{.$str..=.$packageId.':'.$le
4df60 76 65 6c 2e 27 2c 27 3b 0a 7d 0a 24 73 74 72 20 2e 3d 20 27 5d 27 3b 0a 72 65 74 75 72 6e 20 24 vel.',';.}.$str..=.']';.return.$
4df80 73 74 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 str;.}.}.<?php............namesp
4dfa0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b ace.Composer\DependencyResolver;
4dfc0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ..use.Composer\Package\PackageIn
4dfe0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c terface;.use.Composer\Package\Al
4e000 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 iasPackage;.use.Composer\Package
4e020 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 \BasePackage;.use.Composer\Semve
4e040 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 63 6c r\Constraint\Constraint;......cl
4e060 61 73 73 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 6f 6c ass.DefaultPolicy.implements.Pol
4e080 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 53 74 icyInterface.{.private.$preferSt
4e0a0 61 62 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 0a 70 75 able;.private.$preferLowest;..pu
4e0c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 72 65 66 65 blic.function.__construct($prefe
4e0e0 72 53 74 61 62 6c 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d rStable.=.false,.$preferLowest.=
4e100 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 .false).{.$this->preferStable.=.
4e120 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 $preferStable;.$this->preferLowe
4e140 73 74 20 3d 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 st.=.$preferLowest;.}..public.fu
4e160 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 50 61 63 6b 61 67 65 49 6e 74 nction.versionCompare(PackageInt
4e180 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 erface.$a,.PackageInterface.$b,.
4e1a0 24 6f 70 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 $operator).{.if.($this->preferSt
4e1c0 61 62 6c 65 20 26 26 20 28 24 73 74 61 62 41 20 3d 20 24 61 2d 3e 67 65 74 53 74 61 62 69 6c 69 able.&&.($stabA.=.$a->getStabili
4e1e0 74 79 28 29 29 20 21 3d 3d 20 28 24 73 74 61 62 42 20 3d 20 24 62 2d 3e 67 65 74 53 74 61 62 69 ty()).!==.($stabB.=.$b->getStabi
4e200 6c 69 74 79 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 lity())).{.return.BasePackage::$
4e220 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 41 5d 20 3c 20 42 61 73 65 50 61 63 6b 61 67 stabilities[$stabA].<.BasePackag
4e240 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 42 5d 3b 0a 7d 0a 0a 24 63 6f 6e e::$stabilities[$stabB];.}..$con
4e260 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 70 65 72 61 74 straint.=.new.Constraint($operat
4e280 6f 72 2c 20 24 62 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 76 65 72 73 69 6f 6e 20 or,.$b->getVersion());.$version.
4e2a0 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 61 2d 3e 67 65 74 56 65 =.new.Constraint('==',.$a->getVe
4e2c0 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d rsion());..return.$constraint->m
4e2e0 61 74 63 68 53 70 65 63 69 66 69 63 28 24 76 65 72 73 69 6f 6e 2c 20 74 72 75 65 29 3b 0a 7d 0a atchSpecific($version,.true);.}.
4e300 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 .public.function.findUpdatePacka
4e320 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 ges(Pool.$pool,.array.$installed
4e340 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 Map,.PackageInterface.$package,.
4e360 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 61 63 6b 61 $mustMatchName.=.false).{.$packa
4e380 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 6f 6c 2d 3e ges.=.array();..foreach.($pool->
4e3a0 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 whatProvides($package->getName()
4e3c0 2c 20 6e 75 6c 6c 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 29 20 61 73 20 24 63 61 6e 64 ,.null,.$mustMatchName).as.$cand
4e3e0 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 20 21 3d 3d 20 24 70 61 63 idate).{.if.($candidate.!==.$pac
4e400 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 kage).{.$packages[].=.$candidate
4e420 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 70 75 62 6c ;.}.}..return.$packages;.}..publ
4e440 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 69 6f 72 69 74 79 28 50 6f 6f 6c 20 24 70 6f ic.function.getPriority(Pool.$po
4e460 6f 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b ol,.PackageInterface.$package).{
4e480 0a 72 65 74 75 72 6e 20 24 70 6f 6f 6c 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 61 63 6b .return.$pool->getPriority($pack
4e4a0 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 age->getRepository());.}..public
4e4c0 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 .function.selectPreferredPackage
4e4e0 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 s(Pool.$pool,.array.$installedMa
4e500 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 p,.array.$literals,.$requiredPac
4e520 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 kage.=.null).{.$packages.=.$this
4e540 2d 3e 67 72 6f 75 70 4c 69 74 65 72 61 6c 73 42 79 4e 61 6d 65 50 72 65 66 65 72 49 6e 73 74 61 ->groupLiteralsByNamePreferInsta
4e560 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 lled($pool,.$installedMap,.$lite
4e580 72 61 6c 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 26 24 rals);..foreach.($packages.as.&$
4e5a0 6c 69 74 65 72 61 6c 73 29 20 7b 0a 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 3b 0a 75 73 6f literals).{.$policy.=.$this;.uso
4e5c0 72 74 28 24 6c 69 74 65 72 61 6c 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 rt($literals,.function.($a,.$b).
4e5e0 75 73 65 20 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d use.($policy,.$pool,.$installedM
4e600 61 70 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 ap,.$requiredPackage).{.return.$
4e620 70 6f 6c 69 63 79 2d 3e 63 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 72 49 policy->compareByPriorityPreferI
4e640 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 nstalled($pool,.$installedMap,.$
4e660 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 61 29 2c 20 24 70 6f 6f pool->literalToPackage($a),.$poo
4e680 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 62 29 2c 20 24 72 65 71 75 69 72 l->literalToPackage($b),.$requir
4e6a0 65 64 50 61 63 6b 61 67 65 2c 20 74 72 75 65 29 3b 0a 7d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 edPackage,.true);.});.}..foreach
4e6c0 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 26 24 6c 69 74 65 72 61 6c 73 29 20 7b 0a 24 6c 69 .($packages.as.&$literals).{.$li
4e6e0 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 54 6f 48 69 67 68 65 73 74 50 72 terals.=.$this->pruneToHighestPr
4e700 69 6f 72 69 74 79 4f 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c iorityOrInstalled($pool,.$instal
4e720 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d ledMap,.$literals);..$literals.=
4e740 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 54 6f 42 65 73 74 56 65 72 73 69 6f 6e 28 24 70 6f 6f 6c .$this->pruneToBestVersion($pool
4e760 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 ,.$literals);..$literals.=.$this
4e780 2d 3e 70 72 75 6e 65 52 65 6d 6f 74 65 41 6c 69 61 73 65 73 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 ->pruneRemoteAliases($pool,.$lit
4e7a0 65 72 61 6c 73 29 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 erals);.}..$selected.=.call_user
4e7c0 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b _func_array('array_merge',.$pack
4e7e0 61 67 65 73 29 3b 0a 0a 0a 20 75 73 6f 72 74 28 24 73 65 6c 65 63 74 65 64 2c 20 66 75 6e 63 74 ages);....usort($selected,.funct
4e800 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c ion.($a,.$b).use.($policy,.$pool
4e820 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 ,.$installedMap,.$requiredPackag
4e840 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 6f 6c 69 63 79 2d 3e 63 6f 6d 70 61 72 65 42 79 50 72 e).{.return.$policy->compareByPr
4e860 69 6f 72 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e iorityPreferInstalled($pool,.$in
4e880 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b stalledMap,.$pool->literalToPack
4e8a0 61 67 65 28 24 61 29 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 age($a),.$pool->literalToPackage
4e8c0 28 24 62 29 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 29 3b 0a 0a 72 65 ($b),.$requiredPackage);.});..re
4e8e0 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e turn.$selected;.}..protected.fun
4e900 63 74 69 6f 6e 20 67 72 6f 75 70 4c 69 74 65 72 61 6c 73 42 79 4e 61 6d 65 50 72 65 66 65 72 49 ction.groupLiteralsByNamePreferI
4e920 6e 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 nstalled(Pool.$pool,.array.$inst
4e940 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 alledMap,.$literals).{.$packages
4e960 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 .=.array();.foreach.($literals.a
4e980 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 6f s.$literal).{.$packageName.=.$po
4e9a0 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 2d 3e ol->literalToPackage($literal)->
4e9c0 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 getName();..if.(!isset($packages
4e9e0 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 70 61 [$packageName])).{.$packages[$pa
4ea00 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 ckageName].=.array();.}..if.(iss
4ea20 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 et($installedMap[abs($literal)])
4ea40 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 ).{.array_unshift($packages[$pac
4ea60 6b 61 67 65 4e 61 6d 65 5d 2c 20 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 kageName],.$literal);.}.else.{.$
4ea80 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 5b 5d 20 3d 20 24 6c 69 74 65 packages[$packageName][].=.$lite
4eaa0 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a ral;.}.}..return.$packages;.}...
4eac0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 ..public.function.compareByPrior
4eae0 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 ityPreferInstalled(Pool.$pool,.a
4eb00 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 rray.$installedMap,.PackageInter
4eb20 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 24 72 face.$a,.PackageInterface.$b,.$r
4eb40 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 52 65 equiredPackage.=.null,.$ignoreRe
4eb60 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 61 2d 3e 67 65 74 52 65 70 6f place.=.false).{.if.($a->getRepo
4eb80 73 69 74 6f 72 79 28 29 20 3d 3d 3d 20 24 62 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 sitory().===.$b->getRepository()
4eba0 29 20 7b 0a 0a 20 69 66 20 28 24 61 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 62 2d 3e ).{...if.($a->getName().===.$b->
4ebc0 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 61 41 6c 69 61 73 65 64 20 3d 20 24 61 20 69 6e 73 74 getName()).{.$aAliased.=.$a.inst
4ebe0 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 24 62 41 6c 69 61 73 65 64 20 3d anceof.AliasPackage;.$bAliased.=
4ec00 20 24 62 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 69 66 20 .$b.instanceof.AliasPackage;.if.
4ec20 28 24 61 41 6c 69 61 73 65 64 20 26 26 20 21 24 62 41 6c 69 61 73 65 64 29 20 7b 0a 72 65 74 75 ($aAliased.&&.!$bAliased).{.retu
4ec40 72 6e 20 2d 31 3b 20 0a 20 7d 0a 69 66 20 28 21 24 61 41 6c 69 61 73 65 64 20 26 26 20 24 62 41 rn.-1;...}.if.(!$aAliased.&&.$bA
4ec60 6c 69 61 73 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 20 0a 20 7d 0a 7d 0a 0a 69 66 20 28 21 liased).{.return.1;...}.}..if.(!
4ec80 24 69 67 6e 6f 72 65 52 65 70 6c 61 63 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 72 $ignoreReplace).{...if.($this->r
4eca0 65 70 6c 61 63 65 73 28 24 61 2c 20 24 62 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 20 0a 20 7d eplaces($a,.$b)).{.return.1;...}
4ecc0 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 28 24 62 2c 20 24 61 29 29 20 7b 0a .if.($this->replaces($b,.$a)).{.
4ece0 72 65 74 75 72 6e 20 2d 31 3b 20 0a 20 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 72 65 71 75 69 72 65 return.-1;...}......if.($require
4ed00 64 50 61 63 6b 61 67 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 20 3d 20 73 74 dPackage.&&.false.!==.($pos.=.st
4ed20 72 70 6f 73 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c 20 27 2f 27 29 29 29 20 7b 0a rpos($requiredPackage,.'/'))).{.
4ed40 24 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 72 65 71 75 69 72 $requiredVendor.=.substr($requir
4ed60 65 64 50 61 63 6b 61 67 65 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 0a 24 61 49 73 53 61 6d 65 56 65 edPackage,.0,.$pos);..$aIsSameVe
4ed80 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 61 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 30 2c 20 ndor.=.substr($a->getName(),.0,.
4eda0 24 70 6f 73 29 20 3d 3d 3d 20 24 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 3b 0a 24 62 49 73 53 $pos).===.$requiredVendor;.$bIsS
4edc0 61 6d 65 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 62 2d 3e 67 65 74 4e 61 6d 65 28 29 ameVendor.=.substr($b->getName()
4ede0 2c 20 30 2c 20 24 70 6f 73 29 20 3d 3d 3d 20 24 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 3b 0a ,.0,.$pos).===.$requiredVendor;.
4ee00 0a 69 66 20 28 24 62 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 21 3d 3d 20 24 61 49 73 53 61 6d 65 .if.($bIsSameVendor.!==.$aIsSame
4ee20 56 65 6e 64 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 Vendor).{.return.$aIsSameVendor.
4ee40 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 61 2d 3e 69 64 20 3d 3d ?.-1.:.1;.}.}.}....if.($a->id.==
4ee60 3d 20 24 62 2d 3e 69 64 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 =.$b->id).{.return.0;.}..return.
4ee80 28 24 61 2d 3e 69 64 20 3c 20 24 62 2d 3e 69 64 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 69 ($a->id.<.$b->id).?.-1.:.1;.}..i
4eea0 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 61 2d 3e 69 64 5d 29 29 f.(isset($installedMap[$a->id]))
4eec0 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 .{.return.-1;.}..if.(isset($inst
4eee0 61 6c 6c 65 64 4d 61 70 5b 24 62 2d 3e 69 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 0a 7d alledMap[$b->id])).{.return.1;.}
4ef00 0a 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f ..return.($this->getPriority($po
4ef20 6f 6c 2c 20 24 61 29 20 3e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f ol,.$a).>.$this->getPriority($po
4ef40 6f 6c 2c 20 24 62 29 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ol,.$b)).?.-1.:.1;.}............
4ef60 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 28 50 61 63 6b protected.function.replaces(Pack
4ef80 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 ageInterface.$source,.PackageInt
4efa0 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 75 72 erface.$target).{.foreach.($sour
4efc0 63 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 ce->getReplaces().as.$link).{.if
4efe0 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 .($link->getTarget().===.$target
4f000 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 0a 0a 20 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ->getName()....).{.return.true;.
4f020 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 }.}..return.false;.}..protected.
4f040 66 75 6e 63 74 69 6f 6e 20 70 72 75 6e 65 54 6f 42 65 73 74 56 65 72 73 69 6f 6e 28 50 6f 6f 6c function.pruneToBestVersion(Pool
4f060 20 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d .$pool,.$literals).{.$operator.=
4f080 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3f 20 27 3c 27 20 3a 20 27 3e 27 .$this->preferLowest.?.'<'.:.'>'
4f0a0 3b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c ;.$bestLiterals.=.array($literal
4f0c0 73 5b 30 5d 29 3b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 s[0]);.$bestPackage.=.$pool->lit
4f0e0 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 66 6f 72 eralToPackage($literals[0]);.for
4f100 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 each.($literals.as.$i.=>.$litera
4f120 6c 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d l).{.if.(0.===.$i).{.continue;.}
4f140 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 ..$package.=.$pool->literalToPac
4f160 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 kage($literal);..if.($this->vers
4f180 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 6b 61 67 ionCompare($package,.$bestPackag
4f1a0 65 2c 20 24 6f 70 65 72 61 74 6f 72 29 29 20 7b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 e,.$operator)).{.$bestPackage.=.
4f1c0 24 70 61 63 6b 61 67 65 3b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 $package;.$bestLiterals.=.array(
4f1e0 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 $literal);.}.elseif.($this->vers
4f200 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 6b 61 67 ionCompare($package,.$bestPackag
4f220 65 2c 20 27 3d 3d 27 29 29 20 7b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 6c e,.'==')).{.$bestLiterals[].=.$l
4f240 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 65 73 74 4c 69 74 65 72 61 6c iteral;.}.}..return.$bestLiteral
4f260 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 75 6e s;.}.....protected.function.prun
4f280 65 54 6f 48 69 67 68 65 73 74 50 72 69 6f 72 69 74 79 4f 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f eToHighestPriorityOrInstalled(Po
4f2a0 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 ol.$pool,.array.$installedMap,.a
4f2c0 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 73 65 6c 65 63 74 65 64 20 3d 20 61 72 rray.$literals).{.$selected.=.ar
4f2e0 72 61 79 28 29 3b 0a 0a 24 70 72 69 6f 72 69 74 79 20 3d 20 6e 75 6c 6c 3b 0a 0a 66 6f 72 65 61 ray();..$priority.=.null;..forea
4f300 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 ch.($literals.as.$literal).{.$pa
4f320 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 ckage.=.$pool->literalToPackage(
4f340 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 $literal);..if.(isset($installed
4f360 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 73 65 6c 65 63 74 65 64 5b Map[$package->id])).{.$selected[
4f380 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 6e ].=.$literal;.continue;.}..if.(n
4f3a0 75 6c 6c 20 3d 3d 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 24 70 72 69 6f 72 69 74 79 20 3d ull.===.$priority).{.$priority.=
4f3c0 20 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 70 61 63 6b .$this->getPriority($pool,.$pack
4f3e0 61 67 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 age);.}..if.($this->getPriority(
4f400 24 70 6f 6f 6c 2c 20 24 70 61 63 6b 61 67 65 29 20 21 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b $pool,.$package).!=.$priority).{
4f420 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 .break;.}..$selected[].=.$litera
4f440 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a l;.}..return.$selected;.}.......
4f460 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 75 6e 65 52 65 6d 6f 74 65 41 6c protected.function.pruneRemoteAl
4f480 69 61 73 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c iases(Pool.$pool,.array.$literal
4f4a0 73 29 0a 7b 0a 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 66 6f s).{.$hasLocalAlias.=.false;..fo
4f4c0 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a reach.($literals.as.$literal).{.
4f4e0 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 $package.=.$pool->literalToPacka
4f500 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 ge($literal);..if.($package.inst
4f520 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d anceof.AliasPackage.&&.$package-
4f540 3e 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 29 20 7b 0a 24 68 61 73 4c 6f 63 >isRootPackageAlias()).{.$hasLoc
4f560 61 6c 41 6c 69 61 73 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 alAlias.=.true;.break;.}.}..if.(
4f580 21 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 74 65 72 !$hasLocalAlias).{.return.$liter
4f5a0 61 6c 73 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 als;.}..$selected.=.array();.for
4f5c0 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 each.($literals.as.$literal).{.$
4f5e0 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 package.=.$pool->literalToPackag
4f600 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 e($literal);..if.($package.insta
4f620 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e nceof.AliasPackage.&&.$package->
4f640 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 29 20 7b 0a 24 73 65 6c 65 63 74 65 isRootPackageAlias()).{.$selecte
4f660 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c d[].=.$literal;.}.}..return.$sel
4f680 65 63 74 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ected;.}.}.<?php............name
4f6a0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 space.Composer\DependencyResolve
4f6c0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 r;..use.Composer\Package\Package
4f6e0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c Interface;.use.Composer\Package\
4f700 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 65 6e 65 72 69 63 52 75 6c 65 20 65 78 74 65 Link;.....class.GenericRule.exte
4f720 6e 64 73 20 52 75 6c 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 73 3b 0a nds.Rule.{.protected.$literals;.
4f740 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
4f760 63 74 28 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 ct(array.$literals,.$reason,.$re
4f780 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a asonData,.$job.=.null).{.parent:
4f7a0 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 :__construct($reason,.$reasonDat
4f7c0 61 2c 20 24 6a 6f 62 29 3b 0a 0a 0a 20 73 6f 72 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 a,.$job);....sort($literals);..$
4f7e0 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 3d 20 24 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 70 this->literals.=.$literals;.}..p
4f800 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 0a 7b 0a 72 ublic.function.getLiterals().{.r
4f820 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 eturn.$this->literals;.}..public
4f840 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 75 6e .function.getHash().{.$data.=.un
4f860 70 61 63 6b 28 27 69 68 61 73 68 27 2c 20 6d 64 35 28 69 6d 70 6c 6f 64 65 28 27 2c 27 2c 20 24 pack('ihash',.md5(implode(',',.$
4f880 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 2c 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e this->literals),.true));..return
4f8a0 20 24 64 61 74 61 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .$data['hash'];.}..........publi
4f8c0 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a c.function.equals(Rule.$rule).{.
4f8e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 3d 3d 3d 20 24 72 75 6c 65 return.$this->literals.===.$rule
4f900 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->getLiterals();.}..public.funct
4f920 69 6f 6e 20 69 73 41 73 73 65 72 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 31 20 3d 3d 3d ion.isAssertion().{.return.1.===
4f940 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a .count($this->literals);.}......
4f960 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a .public.function.__toString().{.
4f980 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 3f 20 $result.=.$this->isDisabled().?.
4f9a0 27 64 69 73 61 62 6c 65 64 28 27 20 3a 20 27 28 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 'disabled('.:.'(';..foreach.($th
4f9c0 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 is->literals.as.$i.=>.$literal).
4f9e0 7b 0a 69 66 20 28 24 69 20 21 3d 20 30 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 27 7c 27 3b {.if.($i.!=.0).{.$result..=.'|';
4fa00 0a 7d 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 0a 24 72 65 73 75 .}.$result..=.$literal;.}..$resu
4fa20 6c 74 20 2e 3d 20 27 29 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a lt..=.')';..return.$result;.}.}.
4fa40 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
4fa60 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e ser\DependencyResolver\Operation
4fa80 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 ;..use.Composer\Package\PackageI
4faa0 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 4f 70 65 nterface;.......class.InstallOpe
4fac0 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b ration.extends.SolverOperation.{
4fae0 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .protected.$package;........publ
4fb00 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 ic.function.__construct(PackageI
4fb20 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c nterface.$package,.$reason.=.nul
4fb40 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e l).{.parent::__construct($reason
4fb60 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d );..$this->package.=.$package;.}
4fb80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 .......public.function.getPackag
4fba0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a e().{.return.$this->package;.}..
4fbc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 .....public.function.getJobType(
4fbe0 29 0a 7b 0a 72 65 74 75 72 6e 20 27 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ).{.return.'install';.}.....publ
4fc00 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 ic.function.__toString().{.retur
4fc20 6e 20 27 49 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e n.'Installing.'.$this->package->
4fc40 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d getPrettyName().'.('.$this->form
4fc60 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d atVersion($this->package).')';.}
4fc80 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
4fca0 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 mposer\DependencyResolver\Operat
4fcc0 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 ion;..use.Composer\Package\Alias
4fce0 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 Package;.use.Composer\Package\Pa
4fd00 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b ckageInterface;.......class.Mark
4fd20 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 AliasInstalledOperation.extends.
4fd40 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 SolverOperation.{.protected.$pac
4fd60 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 kage;........public.function.__c
4fd80 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 65 2c 20 onstruct(AliasPackage.$package,.
4fda0 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 $reason.=.null).{.parent::__cons
4fdc0 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 truct($reason);..$this->package.
4fde0 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 =.$package;.}.......public.funct
4fe00 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ion.getPackage().{.return.$this-
4fe20 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >package;.}.......public.functio
4fe40 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 6d 61 72 6b 41 6c 69 n.getJobType().{.return.'markAli
4fe60 61 73 49 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 asInstalled';.}.....public.funct
4fe80 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 4d 61 72 6b 69 ion.__toString().{.return.'Marki
4fea0 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 ng.'.$this->package->getPrettyNa
4fec0 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 me().'.('.$this->formatVersion($
4fee0 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 this->package).').as.installed,.
4ff00 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c alias.of.'.$this->package->getAl
4ff20 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 iasOf()->getPrettyName().'.('.$t
4ff40 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 his->formatVersion($this->packag
4ff60 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a e->getAliasOf()).')';.}.}.<?php.
4ff80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 ...........namespace.Composer\De
4ffa0 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 pendencyResolver\Operation;..use
4ffc0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a .Composer\Package\AliasPackage;.
4ffe0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
50000 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e rface;.......class.MarkAliasUnin
50020 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f stalledOperation.extends.SolverO
50040 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a peration.{.protected.$package;..
50060 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
50080 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e t(AliasPackage.$package,.$reason
500a0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 .=.null).{.parent::__construct($
500c0 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b reason);..$this->package.=.$pack
500e0 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 age;.}.......public.function.get
50100 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 Package().{.return.$this->packag
50120 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f e;.}.......public.function.getJo
50140 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 bType().{.return.'markAliasUnins
50160 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f talled';.}.....public.function._
50180 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 4d 61 72 6b 69 6e 67 20 27 2e _toString().{.return.'Marking.'.
501a0 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e $this->package->getPrettyName().
501c0 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d '.('.$this->formatVersion($this-
501e0 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 75 6e 69 6e 73 74 61 6c 6c 65 64 2c 20 61 6c 69 >package).').as.uninstalled,.ali
50200 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 as.of.'.$this->package->getAlias
50220 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 Of()->getPrettyName().'.('.$this
50240 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e ->formatVersion($this->package->
50260 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a getAliasOf()).')';.}.}.<?php....
50280 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e ........namespace.Composer\Depen
502a0 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 dencyResolver\Operation;.......i
502c0 6e 74 65 72 66 61 63 65 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a nterface.OperationInterface.{...
502e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 3b ...public.function.getJobType();
50300 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e .......public.function.getReason
50320 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 ();.......public.function.__toSt
50340 72 69 6e 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ring();.}.<?php............names
50360 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 pace.Composer\DependencyResolver
50380 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 \Operation;..use.Composer\Packag
503a0 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 e\PackageInterface;.......abstra
503c0 63 74 20 63 6c 61 73 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 ct.class.SolverOperation.impleme
503e0 6e 74 73 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 nts.OperationInterface.{.protect
50400 65 64 20 24 72 65 61 73 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ed.$reason;.......public.functio
50420 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a n.__construct($reason.=.null).{.
50440 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a $this->reason.=.$reason;.}......
50460 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 .public.function.getReason().{.r
50480 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 eturn.$this->reason;.}..protecte
504a0 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 67 65 d.function.formatVersion(Package
504c0 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 Interface.$package).{.return.$pa
504e0 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d ckage->getFullPrettyVersion();.}
50500 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
50520 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 mposer\DependencyResolver\Operat
50540 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 ion;..use.Composer\Package\Packa
50560 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 69 6e 73 74 61 geInterface;.......class.Uninsta
50580 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 llOperation.extends.SolverOperat
505a0 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a ion.{.protected.$package;.......
505c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 .public.function.__construct(Pac
505e0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 kageInterface.$package,.$reason.
50600 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 =.null).{.parent::__construct($r
50620 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 eason);..$this->package.=.$packa
50640 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 ge;.}.......public.function.getP
50660 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 ackage().{.return.$this->package
50680 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 ;.}.......public.function.getJob
506a0 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 0a Type().{.return.'uninstall';.}..
506c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a ...public.function.__toString().
506e0 7b 0a 72 65 74 75 72 6e 20 27 55 6e 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e {.return.'Uninstalling.'.$this->
50700 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 package->getPrettyName().'.('.$t
50720 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 his->formatVersion($this->packag
50740 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d e).')';.}.}.<?php............nam
50760 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 espace.Composer\DependencyResolv
50780 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b er\Operation;..use.Composer\Pack
507a0 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 age\PackageInterface;.......clas
507c0 73 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 s.UpdateOperation.extends.Solver
507e0 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 69 74 69 61 6c 50 61 Operation.{.protected.$initialPa
50800 63 6b 61 67 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 3b ckage;.protected.$targetPackage;
50820 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 .........public.function.__const
50840 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 ruct(PackageInterface.$initial,.
50860 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 72 65 61 73 6f PackageInterface.$target,.$reaso
50880 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 n.=.null).{.parent::__construct(
508a0 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 $reason);..$this->initialPackage
508c0 20 3d 20 24 69 6e 69 74 69 61 6c 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 .=.$initial;.$this->targetPackag
508e0 65 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 e.=.$target;.}.......public.func
50900 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 tion.getInitialPackage().{.retur
50920 6e 20 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a n.$this->initialPackage;.}......
50940 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 .public.function.getTargetPackag
50960 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 e().{.return.$this->targetPackag
50980 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f e;.}.......public.function.getJo
509a0 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 75 70 64 61 74 65 27 3b 0a 7d 0a 0a 0a 0a bType().{.return.'update';.}....
509c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a .public.function.__toString().{.
509e0 72 65 74 75 72 6e 20 27 55 70 64 61 74 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 return.'Updating.'.$this->initia
50a00 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 lPackage->getPrettyName().'.('.$
50a20 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 69 6e 69 74 69 this->formatVersion($this->initi
50a40 61 6c 50 61 63 6b 61 67 65 29 2e 27 29 20 74 6f 20 27 2e 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 alPackage).').to.'..$this->targe
50a60 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 20 27 20 28 27 2e tPackage->getPrettyName()..'.('.
50a80 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 74 61 72 67 $this->formatVersion($this->targ
50aa0 65 74 50 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a etPackage).')';.}.}.<?php.......
50ac0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e .....namespace.Composer\Dependen
50ae0 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 cyResolver;..use.Composer\Packag
50b00 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 e\PackageInterface;.....interfac
50b20 65 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 e.PolicyInterface.{.public.funct
50b40 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ion.versionCompare(PackageInterf
50b60 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 24 6f 70 ace.$a,.PackageInterface.$b,.$op
50b80 65 72 61 74 6f 72 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 70 erator);..public.function.findUp
50ba0 64 61 74 65 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 datePackages(Pool.$pool,.array.$
50bc0 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 installedMap,.PackageInterface.$
50be0 70 61 63 6b 61 67 65 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 package);..public.function.selec
50c00 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 tPreferredPackages(Pool.$pool,.a
50c20 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 rray.$installedMap,.array.$liter
50c40 61 6c 73 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 3b 0a 7d als,.$requiredPackage.=.null);.}
50c60 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
50c80 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f oser\DependencyResolver;..use.Co
50ca0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 mposer\Package\BasePackage;.use.
50cc0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 Composer\Package\AliasPackage;.u
50ce0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
50d00 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 ionParser;.use.Composer\Semver\C
50d20 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onstraint\ConstraintInterface;.u
50d40 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f se.Composer\Semver\Constraint\Co
50d60 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f nstraint;.use.Composer\Semver\Co
50d80 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f nstraint\EmptyConstraint;.use.Co
50da0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 mposer\Repository\RepositoryInte
50dc0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 rface;.use.Composer\Repository\C
50de0 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ompositeRepository;.use.Composer
50e00 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 3b 0a \Repository\ComposerRepository;.
50e20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 use.Composer\Repository\Installe
50e40 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 dRepositoryInterface;.use.Compos
50e60 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 er\Repository\PlatformRepository
50e80 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ;.use.Composer\Package\PackageIn
50ea0 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6f 6f 6c 20 69 6d 70 6c 65 terface;........class.Pool.imple
50ec0 6d 65 6e 74 73 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 4e ments.\Countable.{.const.MATCH_N
50ee0 41 4d 45 20 3d 20 2d 31 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 4e 4f 4e 45 20 3d 20 30 3b 0a AME.=.-1;.const.MATCH_NONE.=.0;.
50f00 63 6f 6e 73 74 20 4d 41 54 43 48 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 50 52 4f const.MATCH.=.1;.const.MATCH_PRO
50f20 56 49 44 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 20 3d 20 VIDE.=.2;.const.MATCH_REPLACE.=.
50f40 33 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 20 3d 20 34 3b 0a 0a 70 72 3;.const.MATCH_FILTERED.=.4;..pr
50f60 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b otected.$repositories.=.array();
50f80 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 52 65 70 6f 73 20 3d 20 61 72 72 61 .protected.$providerRepos.=.arra
50fa0 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 y();.protected.$packages.=.array
50fc0 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 20 3d 20 61 ();.protected.$packageByName.=.a
50fe0 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 42 79 45 78 61 63 rray();.protected.$packageByExac
51000 74 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 63 63 65 tName.=.array();.protected.$acce
51020 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 ptableStabilities;.protected.$st
51040 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e abilityFlags;.protected.$version
51060 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 43 61 63 68 65 Parser;.protected.$providerCache
51080 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 74 65 72 52 65 71 .=.array();.protected.$filterReq
510a0 75 69 72 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 20 3d 20 6e 75 uires;.protected.$whitelist.=.nu
510c0 6c 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 64 20 3d 20 31 3b 0a 0a 70 75 62 6c 69 63 20 66 ll;.protected.$id.=.1;..public.f
510e0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 unction.__construct($minimumStab
51100 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 ility.=.'stable',.array.$stabili
51120 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 69 6c 74 65 72 tyFlags.=.array(),.array.$filter
51140 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 Requires.=.array()).{.$this->ver
51160 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a sionParser.=.new.VersionParser;.
51180 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 $this->acceptableStabilities.=.a
511a0 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 rray();.foreach.(BasePackage::$s
511c0 74 61 62 69 6c 69 74 69 65 73 20 61 73 20 24 73 74 61 62 69 6c 69 74 79 20 3d 3e 20 24 76 61 6c tabilities.as.$stability.=>.$val
511e0 75 65 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3c 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a ue).{.if.($value.<=.BasePackage:
51200 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 5d :$stabilities[$minimumStability]
51220 29 20 7b 0a 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 ).{.$this->acceptableStabilities
51240 5b 24 73 74 61 62 69 6c 69 74 79 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 24 74 68 69 73 [$stability].=.$value;.}.}.$this
51260 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 ->stabilityFlags.=.$stabilityFla
51280 67 73 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 3d 20 24 66 69 6c gs;.$this->filterRequires.=.$fil
512a0 74 65 72 52 65 71 75 69 72 65 73 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 52 65 71 terRequires;.foreach.($filterReq
512c0 75 69 72 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b uires.as.$name.=>.$constraint).{
512e0 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f .if.(preg_match(PlatformReposito
51300 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d ry::PLATFORM_PACKAGE_REGEX,.$nam
51320 65 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 e)).{.unset($this->filterRequire
51340 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s[$name]);.}.}.}..public.functio
51360 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 28 24 77 68 69 74 65 6c 69 73 74 29 0a 7b 0a 24 74 68 n.setWhitelist($whitelist).{.$th
51380 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 3d 20 24 77 68 69 74 65 6c 69 73 74 3b 0a 24 74 68 69 is->whitelist.=.$whitelist;.$thi
513a0 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a s->providerCache.=.array();.}...
513c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f .....public.function.addReposito
513e0 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 24 72 ry(RepositoryInterface.$repo,.$r
51400 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 72 65 70 ootAliases.=.array()).{.if.($rep
51420 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 o.instanceof.CompositeRepository
51440 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 ).{.$repos.=.$repo->getRepositor
51460 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 24 ies();.}.else.{.$repos.=.array($
51480 72 65 70 6f 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 repo);.}..foreach.($repos.as.$re
514a0 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 po).{.$this->repositories[].=.$r
514c0 65 70 6f 3b 0a 0a 24 65 78 65 6d 70 74 20 3d 20 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 epo;..$exempt.=.$repo.instanceof
514e0 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 7c 7c 20 24 72 65 70 6f 20 69 6e 73 .PlatformRepository.||.$repo.ins
51500 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 tanceof.InstalledRepositoryInter
51520 66 61 63 65 3b 0a 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 face;..if.($repo.instanceof.Comp
51540 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f 76 oserRepository.&&.$repo->hasProv
51560 69 64 65 72 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 52 65 70 6f 73 5b iders()).{.$this->providerRepos[
51580 5d 20 3d 20 24 72 65 70 6f 3b 0a 24 72 65 70 6f 2d 3e 73 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 ].=.$repo;.$repo->setRootAliases
515a0 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 73 65 74 50 61 63 6b ($rootAliases);.$repo->resetPack
515c0 61 67 65 49 64 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 ageIds();.}.else.{.foreach.($rep
515e0 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a o->getPackages().as.$package).{.
51600 24 6e 61 6d 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 3b 0a 24 $names.=.$package->getNames();.$
51620 73 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 stability.=.$package->getStabili
51640 74 79 28 29 3b 0a 69 66 20 28 24 65 78 65 6d 70 74 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 50 61 ty();.if.($exempt.||.$this->isPa
51660 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 6e 61 6d 65 73 2c 20 24 73 74 61 62 69 6c 69 ckageAcceptable($names,.$stabili
51680 74 79 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 ty)).{.$package->setId($this->id
516a0 2b 2b 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 ++);.$this->packages[].=.$packag
516c0 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 70 61 e;.$this->packageByExactName[$pa
516e0 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 ckage->getName()][$package->id].
51700 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 =.$package;..foreach.($names.as.
51720 24 70 72 6f 76 69 64 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d $provided).{.$this->packageByNam
51740 65 5b 24 70 72 6f 76 69 64 65 64 5d 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 20 e[$provided][].=.$package;.}....
51760 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 $name.=.$package->getName();.if.
51780 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b (isset($rootAliases[$name][$pack
517a0 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 29 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 age->getVersion()])).{.$alias.=.
517c0 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 $rootAliases[$name][$package->ge
517e0 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e tVersion()];.if.($package.instan
51800 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 ceof.AliasPackage).{.$package.=.
51820 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 24 61 6c 69 61 73 $package->getAliasOf();.}.$alias
51840 50 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b Package.=.new.AliasPackage($pack
51860 61 67 65 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c age,.$alias['alias_normalized'],
51880 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 .$alias['alias']);.$aliasPackage
518a0 2d 3e 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 74 72 75 65 29 3b 0a 24 61 6c ->setRootPackageAlias(true);.$al
518c0 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a iasPackage->setId($this->id++);.
518e0 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 61 64 64 50 .$package->getRepository()->addP
51900 61 63 6b 61 67 65 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 70 61 ackage($aliasPackage);.$this->pa
51920 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d ckages[].=.$aliasPackage;.$this-
51940 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 61 6c 69 61 73 50 61 63 6b 61 67 >packageByExactName[$aliasPackag
51960 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 69 64 5d e->getName()][$aliasPackage->id]
51980 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 .=.$aliasPackage;..foreach.($ali
519a0 61 73 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 asPackage->getNames().as.$name).
519c0 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 5b 5d 20 {.$this->packageByName[$name][].
519e0 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a =.$aliasPackage;.}.}.}.}.}.}.}..
51a00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 69 6f 72 69 74 79 28 52 65 70 6f public.function.getPriority(Repo
51a20 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 29 0a 7b 0a 24 70 72 69 6f 72 69 sitoryInterface.$repo).{.$priori
51a40 74 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 72 65 70 6f 2c 20 24 74 68 69 73 2d 3e ty.=.array_search($repo,.$this->
51a60 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 repositories,.true);..if.(false.
51a80 3d 3d 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 ===.$priority).{.throw.new.\Runt
51aa0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e imeException("Could.not.determin
51ac0 65 20 72 65 70 6f 73 69 74 6f 72 79 20 70 72 69 6f 72 69 74 79 2e 20 54 68 65 20 72 65 70 6f 73 e.repository.priority..The.repos
51ae0 69 74 6f 72 79 20 77 61 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 20 69 6e 20 74 68 65 20 itory.was.not.registered.in.the.
51b00 70 6f 6f 6c 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 2d 24 70 72 69 6f 72 69 74 79 3b 0a 7d pool.");.}..return.-$priority;.}
51b20 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 63 6b 61 67 65 42 ........public.function.packageB
51b40 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 yId($id).{.return.$this->package
51b60 73 5b 24 69 64 20 2d 20 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s[$id.-.1];.}.....public.functio
51b80 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e n.count().{.return.count($this->
51ba0 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 packages);.}.............public.
51bc0 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 43 6f 6e function.whatProvides($name,.Con
51be0 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e straintInterface.$constraint.=.n
51c00 75 6c 6c 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 2c 20 24 62 79 ull,.$mustMatchName.=.false,.$by
51c20 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 62 79 70 61 passFilters.=.false).{.if.($bypa
51c40 73 73 46 69 6c 74 65 72 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 75 ssFilters).{.return.$this->compu
51c60 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e teWhatProvides($name,.$constrain
51c80 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 6b 65 t,.$mustMatchName,.true);.}..$ke
51ca0 79 20 3d 20 28 28 69 6e 74 29 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 29 2e 24 63 6f 6e 73 y.=.((int).$mustMatchName).$cons
51cc0 74 72 61 69 6e 74 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 traint;.if.(isset($this->provide
51ce0 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 rCache[$name][$key])).{.return.$
51d00 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d this->providerCache[$name][$key]
51d20 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 ;.}..return.$this->providerCache
51d40 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 75 74 65 57 68 [$name][$key].=.$this->computeWh
51d60 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 atProvides($name,.$constraint,.$
51d80 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 3b 0a mustMatchName,.$bypassFilters);.
51da0 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 57 68 }.....private.function.computeWh
51dc0 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 atProvides($name,.$constraint,.$
51de0 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 2c 20 24 62 79 70 61 73 73 46 69 mustMatchName.=.false,.$bypassFi
51e00 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 lters.=.false).{.$candidates.=.a
51e20 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 rray();..foreach.($this->provide
51e40 72 52 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 rRepos.as.$repo).{.foreach.($rep
51e60 6f 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 68 69 73 2c 20 24 6e 61 6d 65 2c 20 24 62 o->whatProvides($this,.$name,.$b
51e80 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 ypassFilters).as.$candidate).{.$
51ea0 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 69 66 20 28 24 candidates[].=.$candidate;.if.($
51ec0 63 61 6e 64 69 64 61 74 65 2d 3e 69 64 20 3c 20 31 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 2d candidate->id.<.1).{.$candidate-
51ee0 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b >setId($this->id++);.$this->pack
51f00 61 67 65 73 5b 24 74 68 69 73 2d 3e 69 64 20 2d 20 32 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 ages[$this->id.-.2].=.$candidate
51f20 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 29 20 7b 0a 24 ;.}.}.}..if.($mustMatchName).{.$
51f40 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 candidates.=.array_filter($candi
51f60 64 61 74 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 63 61 6e 64 69 64 61 74 65 29 20 75 73 65 dates,.function.($candidate).use
51f80 20 28 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 .($name).{.return.$candidate->ge
51fa0 74 4e 61 6d 65 28 29 20 3d 3d 20 24 6e 61 6d 65 3b 0a 7d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 tName().==.$name;.});.if.(isset(
51fc0 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 6e 61 6d 65 5d $this->packageByExactName[$name]
51fe0 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 )).{.$candidates.=.array_merge($
52000 63 61 6e 64 69 64 61 74 65 73 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 candidates,.$this->packageByExac
52020 74 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 tName[$name]);.}.}.elseif.(isset
52040 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b ($this->packageByName[$name])).{
52060 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 61 6e 64 .$candidates.=.array_merge($cand
52080 69 64 61 74 65 73 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 idates,.$this->packageByName[$na
520a0 6d 65 5d 29 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 70 72 6f 76 69 64 65 4d 61 74 63 me]);.}..$matches.=.$provideMatc
520c0 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 66 61 6c 73 hes.=.array();.$nameMatch.=.fals
520e0 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e e;..foreach.($candidates.as.$can
52100 64 69 64 61 74 65 29 20 7b 0a 24 61 6c 69 61 73 4f 66 43 61 6e 64 69 64 61 74 65 20 3d 20 6e 75 didate).{.$aliasOfCandidate.=.nu
52120 6c 6c 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 ll;......if.($candidate.instance
52140 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 4f 66 43 61 6e 64 69 of.AliasPackage).{.$aliasOfCandi
52160 64 61 74 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b date.=.$candidate->getAliasOf();
52180 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 21 3d 3d 20 6e 75 6c .}..if.($this->whitelist.!==.nul
521a0 6c 20 26 26 20 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 26 26 20 28 0a 28 21 28 24 63 61 l.&&.!$bypassFilters.&&.(.(!($ca
521c0 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 ndidate.instanceof.AliasPackage)
521e0 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 5b 24 63 61 6e .&&.!isset($this->whitelist[$can
52200 64 69 64 61 74 65 2d 3e 69 64 5d 29 29 20 7c 7c 0a 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 didate->id])).||.($candidate.ins
52220 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 26 20 21 69 73 73 65 74 28 24 tanceof.AliasPackage.&&.!isset($
52240 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 5b 24 61 6c 69 61 73 4f 66 43 61 6e 64 69 64 61 74 this->whitelist[$aliasOfCandidat
52260 65 2d 3e 69 64 5d 29 29 0a 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 73 77 69 74 63 68 e->id])).)).{.continue;.}.switch
52280 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6e 61 6d 65 .($this->match($candidate,.$name
522a0 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 29 20 ,.$constraint,.$bypassFilters)).
522c0 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3a 0a 62 72 65 61 6b 3b 0a {.case.self::MATCH_NONE:.break;.
522e0 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 41 4d 45 3a 0a 24 6e 61 6d 65 4d 61 74 .case.self::MATCH_NAME:.$nameMat
52300 63 68 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 ch.=.true;.break;..case.self::MA
52320 54 43 48 3a 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 24 6d 61 74 63 68 65 73 TCH:.$nameMatch.=.true;.$matches
52340 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 [].=.$candidate;.break;..case.se
52360 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 3a 0a 24 70 72 6f 76 69 64 65 4d 61 74 63 68 lf::MATCH_PROVIDE:.$provideMatch
52380 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 es[].=.$candidate;.break;..case.
523a0 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 3a 0a 24 6d 61 74 63 68 65 73 5b 5d 20 self::MATCH_REPLACE:.$matches[].
523c0 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a =.$candidate;.break;..case.self:
523e0 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3a 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 :MATCH_FILTERED:.break;..default
52400 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 :.throw.new.\UnexpectedValueExce
52420 70 74 69 6f 6e 28 27 55 6e 65 78 70 65 63 74 65 64 20 6d 61 74 63 68 20 74 79 70 65 27 29 3b 0a ption('Unexpected.match.type');.
52440 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6e 61 6d 65 4d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 }.}....if.($nameMatch).{.return.
52460 24 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 $matches;.}..return.array_merge(
52480 24 6d 61 74 63 68 65 73 2c 20 24 70 72 6f 76 69 64 65 4d 61 74 63 68 65 73 29 3b 0a 7d 0a 0a 70 $matches,.$provideMatches);.}..p
524a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 ublic.function.literalToPackage(
524c0 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 $literal).{.$packageId.=.abs($li
524e0 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 teral);..return.$this->packageBy
52500 49 64 28 24 70 61 63 6b 61 67 65 49 64 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 Id($packageId);.}..public.functi
52520 6f 6e 20 6c 69 74 65 72 61 6c 54 6f 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 6c 69 74 65 72 61 on.literalToPrettyString($litera
52540 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 l,.$installedMap).{.$package.=.$
52560 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 this->literalToPackage($literal)
52580 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b ;..if.(isset($installedMap[$pack
525a0 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 28 24 6c 69 74 65 72 61 6c age->id])).{.$prefix.=.($literal
525c0 20 3e 20 30 20 3f 20 27 6b 65 65 70 27 20 3a 20 27 72 65 6d 6f 76 65 27 29 3b 0a 7d 20 65 6c 73 .>.0.?.'keep'.:.'remove');.}.els
525e0 65 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 3f 20 27 69 e.{.$prefix.=.($literal.>.0.?.'i
52600 6e 73 74 61 6c 6c 27 20 3a 20 27 64 6f 6e 5c 27 74 20 69 6e 73 74 61 6c 6c 27 29 3b 0a 7d 0a 0a nstall'.:.'don\'t.install');.}..
52620 72 65 74 75 72 6e 20 24 70 72 65 66 69 78 2e 27 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 return.$prefix.'.'.$package->get
52640 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 PrettyString();.}..public.functi
52660 6f 6e 20 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 6e 61 6d 65 2c 20 24 73 on.isPackageAcceptable($name,.$s
52680 74 61 62 69 6c 69 74 79 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 6e 61 tability).{.foreach.((array).$na
526a0 6d 65 20 61 73 20 24 6e 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e me.as.$n).{...if.(!isset($this->
526c0 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 20 26 26 20 69 73 73 65 74 28 24 74 68 stabilityFlags[$n]).&&.isset($th
526e0 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 is->acceptableStabilities[$stabi
52700 6c 69 74 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 lity])).{.return.true;.}....if.(
52720 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 isset($this->stabilityFlags[$n])
52740 20 26 26 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 .&&.BasePackage::$stabilities[$s
52760 74 61 62 69 6c 69 74 79 5d 20 3c 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 tability].<=.$this->stabilityFla
52780 67 73 5b 24 6e 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 gs[$n]).{.return.true;.}.}..retu
527a0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rn.false;.}...........public.fun
527c0 63 74 69 6f 6e 20 6d 61 74 63 68 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6e 61 6d 65 2c 20 43 ction.match($candidate,.$name,.C
527e0 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d onstraintInterface.$constraint.=
52800 20 6e 75 6c 6c 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 0a 7b 0a 24 63 61 6e 64 69 64 .null,.$bypassFilters).{.$candid
52820 61 74 65 4e 61 6d 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b ateName.=.$candidate->getName();
52840 0a 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d .$candidateVersion.=.$candidate-
52860 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 69 73 44 65 76 20 3d 20 24 63 61 6e 64 69 64 61 >getVersion();.$isDev.=.$candida
52880 74 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 24 69 te->getStability().===.'dev';.$i
528a0 73 41 6c 69 61 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 sAlias.=.$candidate.instanceof.A
528c0 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 liasPackage;..if.(!$bypassFilter
528e0 73 20 26 26 20 21 24 69 73 44 65 76 20 26 26 20 21 24 69 73 41 6c 69 61 73 20 26 26 20 69 73 73 s.&&.!$isDev.&&.!$isAlias.&&.iss
52900 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 29 et($this->filterRequires[$name])
52920 29 20 7b 0a 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 ).{.$requireFilter.=.$this->filt
52940 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 71 erRequires[$name];.}.else.{.$req
52960 75 69 72 65 46 69 6c 74 65 72 20 3d 20 6e 65 77 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 uireFilter.=.new.EmptyConstraint
52980 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 3d 3d 3d 20 24 6e 61 6d ;.}..if.($candidateName.===.$nam
529a0 65 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 e).{.$pkgConstraint.=.new.Constr
529c0 61 69 6e 74 28 27 3d 3d 27 2c 20 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f 6e 29 3b 0a 0a aint('==',.$candidateVersion);..
529e0 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e if.($constraint.===.null.||.$con
52a00 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 straint->matches($pkgConstraint)
52a20 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 ).{.return.$requireFilter->match
52a40 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 es($pkgConstraint).?.self::MATCH
52a60 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 72 65 74 75 .:.self::MATCH_FILTERED;.}..retu
52a80 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 41 4d 45 3b 0a 7d 0a 0a 24 70 72 6f 76 69 64 65 rn.self::MATCH_NAME;.}..$provide
52aa0 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 24 s.=.$candidate->getProvides();.$
52ac0 72 65 70 6c 61 63 65 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 52 65 70 6c 61 63 replaces.=.$candidate->getReplac
52ae0 65 73 28 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6c 61 63 65 73 5b 30 5d 29 es();....if.(isset($replaces[0])
52b00 20 7c 7c 20 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 30 5d 29 29 20 7b 0a 66 6f 72 65 61 .||.isset($provides[0])).{.forea
52b20 63 68 20 28 24 70 72 6f 76 69 64 65 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c ch.($provides.as.$link).{.if.($l
52b40 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 28 24 ink->getTarget().===.$name.&&.($
52b60 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 constraint.===.null.||.$constrai
52b80 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 nt->matches($link->getConstraint
52ba0 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d ()))).{.return.$requireFilter->m
52bc0 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f atches($link->getConstraint()).?
52be0 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 .self::MATCH_PROVIDE.:.self::MAT
52c00 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6c CH_FILTERED;.}.}..foreach.($repl
52c20 61 63 65 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 aces.as.$link).{.if.($link->getT
52c40 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e arget().===.$name.&&.($constrain
52c60 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 t.===.null.||.$constraint->match
52c80 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 es($link->getConstraint()))).{.r
52ca0 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 6c eturn.$requireFilter->matches($l
52cc0 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 ink->getConstraint()).?.self::MA
52ce0 54 43 48 5f 52 45 50 4c 41 43 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 TCH_REPLACE.:.self::MATCH_FILTER
52d00 45 44 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 ED;.}.}..return.self::MATCH_NONE
52d20 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 29 ;.}..if.(isset($provides[$name])
52d40 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f .&&.($constraint.===.null.||.$co
52d60 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d nstraint->matches($provides[$nam
52d80 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 e]->getConstraint()))).{.return.
52da0 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 $requireFilter->matches($provide
52dc0 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c s[$name]->getConstraint()).?.sel
52de0 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 f::MATCH_PROVIDE.:.self::MATCH_F
52e00 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6c 61 63 65 73 5b ILTERED;.}..if.(isset($replaces[
52e20 24 6e 61 6d 65 5d 29 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c $name]).&&.($constraint.===.null
52e40 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 72 65 70 6c 61 63 .||.$constraint->matches($replac
52e60 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a es[$name]->getConstraint()))).{.
52e80 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 return.$requireFilter->matches($
52ea0 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 replaces[$name]->getConstraint()
52ec0 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 20 3a 20 73 65 6c 66 3a 3a ).?.self::MATCH_REPLACE.:.self::
52ee0 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a MATCH_FILTERED;.}..return.self::
52f00 4d 41 54 43 48 5f 4e 4f 4e 45 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a MATCH_NONE;.}.}.<?php...........
52f20 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 .namespace.Composer\DependencyRe
52f40 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f solver;..use.Composer\Package\Co
52f60 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c mpletePackageInterface;.......cl
52f80 61 73 73 20 50 72 6f 62 6c 65 6d 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 ass.Problem.{.....protected.$rea
52fa0 73 6f 6e 53 65 65 6e 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 73 sonSeen;......protected.$reasons
52fc0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 65 63 74 69 6f 6e 20 .=.array();..protected.$section.
52fe0 3d 20 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 =.0;..protected.$pool;..public.f
53000 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a unction.__construct(Pool.$pool).
53020 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 {.$this->pool.=.$pool;.}.......p
53040 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 28 52 75 6c 65 20 24 72 75 6c ublic.function.addRule(Rule.$rul
53060 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 61 73 6f 6e 28 73 70 6c 5f 6f 62 6a 65 63 74 e).{.$this->addReason(spl_object
53080 5f 68 61 73 68 28 24 72 75 6c 65 29 2c 20 61 72 72 61 79 28 0a 27 72 75 6c 65 27 20 3d 3e 20 24 _hash($rule),.array(.'rule'.=>.$
530a0 72 75 6c 65 2c 0a 27 6a 6f 62 27 20 3d 3e 20 24 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 2c 0a rule,.'job'.=>.$rule->getJob(),.
530c0 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 ));.}.......public.function.getR
530e0 65 61 73 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 easons().{.return.$this->reasons
53100 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 ;.}........public.function.getPr
53120 65 74 74 79 53 74 72 69 6e 67 28 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d ettyString(array.$installedMap.=
53140 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 65 61 73 6f 6e 73 20 3d 20 63 61 6c 6c 5f 75 73 65 72 .array()).{.$reasons.=.call_user
53160 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 61 72 72 61 79 _func_array('array_merge',.array
53180 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 29 29 3b 0a 0a 69 66 20 28 _reverse($this->reasons));..if.(
531a0 63 6f 75 6e 74 28 24 72 65 61 73 6f 6e 73 29 20 3d 3d 3d 20 31 29 20 7b 0a 72 65 73 65 74 28 24 count($reasons).===.1).{.reset($
531c0 72 65 61 73 6f 6e 73 29 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 63 75 72 72 65 6e 74 28 24 72 65 61 reasons);.$reason.=.current($rea
531e0 73 6f 6e 73 29 3b 0a 0a 24 72 75 6c 65 20 3d 20 24 72 65 61 73 6f 6e 5b 27 72 75 6c 65 27 5d 3b sons);..$rule.=.$reason['rule'];
53200 0a 24 6a 6f 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d 3b 0a 0a 69 66 20 28 69 73 73 .$job.=.$reason['job'];..if.(iss
53220 65 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 et($job['constraint'])).{.$packa
53240 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 ges.=.$this->pool->whatProvides(
53260 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 $job['packageName'],.$job['const
53280 72 61 69 6e 74 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 raint']);.}.else.{.$packages.=.a
532a0 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 6a 6f 62 20 26 26 20 24 6a 6f 62 5b 27 63 6d 64 rray();.}..if.($job.&&.$job['cmd
532c0 27 5d 20 3d 3d 3d 20 27 69 6e 73 74 61 6c 6c 27 20 26 26 20 65 6d 70 74 79 28 24 70 61 63 6b 61 '].===.'install'.&&.empty($packa
532e0 67 65 73 29 29 20 7b 0a 0a 0a 20 69 66 20 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 ges)).{....if.($job['packageName
53300 27 5d 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d '].===.'php'.||.$job['packageNam
53320 65 27 5d 20 3d 3d 3d 20 27 70 68 70 2d 36 34 62 69 74 27 20 7c 7c 20 24 6a 6f 62 5b 27 70 61 63 e'].===.'php-64bit'.||.$job['pac
53340 6b 61 67 65 4e 61 6d 65 27 5d 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 24 76 65 72 73 69 6f kageName'].===.'hhvm').{.$versio
53360 6e 20 3d 20 70 68 70 76 65 72 73 69 6f 6e 28 29 3b 0a 24 61 76 61 69 6c 61 62 6c 65 20 3d 20 24 n.=.phpversion();.$available.=.$
53380 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 this->pool->whatProvides($job['p
533a0 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 76 61 69 6c ackageName']);..if.(count($avail
533c0 61 62 6c 65 29 29 20 7b 0a 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 20 3d 20 72 65 73 65 74 able)).{.$firstAvailable.=.reset
533e0 28 24 61 76 61 69 6c 61 62 6c 65 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 66 69 72 73 74 41 ($available);.$version.=.$firstA
53400 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 65 vailable->getPrettyVersion();.$e
53420 78 74 72 61 20 3d 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 45 78 74 72 61 xtra.=.$firstAvailable->getExtra
53440 28 29 3b 0a 69 66 20 28 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 20 69 6e 73 74 61 6e 63 65 ();.if.($firstAvailable.instance
53460 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 26 26 20 69 of.CompletePackageInterface.&&.i
53480 73 73 65 74 28 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 5d 29 20 sset($extra['config.platform']).
534a0 26 26 20 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 3d 3d &&.$extra['config.platform'].===
534c0 20 74 72 75 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 3b 20 27 20 2e 20 24 66 69 72 .true).{.$version..=.';.'...$fir
534e0 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d stAvailable->getDescription();.}
53500 0a 7d 0a 0a 24 6d 73 67 20 3d 20 22 5c 6e 20 20 20 20 2d 20 54 68 69 73 20 70 61 63 6b 61 67 65 .}..$msg.=."\n....-.This.package
53520 20 72 65 71 75 69 72 65 73 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e .requires.".$job['packageName'].
53540 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f $this->constraintToText($job['co
53560 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 62 75 74 20 27 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 nstraint']).'.but.';..if.(define
53580 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 7c 7c 20 63 6f 75 6e 74 28 24 61 76 61 69 d('HHVM_VERSION').||.count($avai
535a0 6c 61 62 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e 20 27 79 6f 75 72 20 48 48 lable)).{.return.$msg...'your.HH
535c0 56 4d 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 VM.version.does.not.satisfy.that
535e0 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 6a 6f 62 5b 27 70 61 63 .requirement.';.}..if.($job['pac
53600 6b 61 67 65 4e 61 6d 65 27 5d 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 72 65 74 75 72 6e 20 kageName'].===.'hhvm').{.return.
53620 24 6d 73 67 20 2e 20 27 79 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 $msg...'you.are.running.this.wit
53640 68 20 50 48 50 20 61 6e 64 20 6e 6f 74 20 48 48 56 4d 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 h.PHP.and.not.HHVM.';.}..return.
53660 24 6d 73 67 20 2e 20 27 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 20 24 76 65 $msg...'your.PHP.version.('..$ve
53680 72 73 69 6f 6e 20 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 rsion..').does.not.satisfy.that.
536a0 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 requirement.';.}....if.(0.===.st
536c0 72 69 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 27 65 78 74 2d ripos($job['packageName'],.'ext-
536e0 27 29 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6a 6f 62 5b ')).{.if.(false.!==.strpos($job[
53700 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 27 20 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 'packageName'],.'.')).{.return."
53720 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 \n....-.The.requested.PHP.extens
53740 69 6f 6e 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 20 73 68 6f 75 ion.".$job['packageName'].'.shou
53760 6c 64 20 62 65 20 72 65 71 75 69 72 65 64 20 61 73 20 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 ld.be.required.as.'.str_replace(
53780 27 20 27 2c 20 27 2d 27 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 2e 27 '.',.'-',.$job['packageName']).'
537a0 2e 27 3b 0a 7d 0a 0a 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 6a 6f 62 5b 27 70 61 63 6b 61 .';.}..$ext.=.substr($job['packa
537c0 67 65 4e 61 6d 65 27 5d 2c 20 34 29 3b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e geName'],.4);.$error.=.extension
537e0 5f 6c 6f 61 64 65 64 28 24 65 78 74 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 _loaded($ext).?.'has.the.wrong.v
53800 65 72 73 69 6f 6e 20 28 27 2e 28 70 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 20 3f 3a 20 27 ersion.('.(phpversion($ext).?:.'
53820 30 27 29 2e 27 29 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 0').').installed'.:.'is.missing.
53840 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 from.your.system';..return."\n..
53860 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 ..-.The.requested.PHP.extension.
53880 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e ".$job['packageName'].$this->con
538a0 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d straintToText($job['constraint']
538c0 29 2e 27 20 27 2e 24 65 72 72 6f 72 2e 27 2e 20 49 6e 73 74 61 6c 6c 20 6f 72 20 65 6e 61 62 6c ).'.'.$error.'..Install.or.enabl
538e0 65 20 50 48 50 5c 27 73 20 27 2e 24 65 78 74 2e 27 20 65 78 74 65 6e 73 69 6f 6e 2e 27 3b 0a 7d e.PHP\'s.'.$ext.'.extension.';.}
53900 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b ....if.(0.===.stripos($job['pack
53920 61 67 65 4e 61 6d 65 27 5d 2c 20 27 6c 69 62 2d 27 29 29 20 7b 0a 69 66 20 28 73 74 72 74 6f 6c ageName'],.'lib-')).{.if.(strtol
53940 6f 77 65 72 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 20 3d 3d 3d 20 27 6c ower($job['packageName']).===.'l
53960 69 62 2d 69 63 75 27 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f ib-icu').{.$error.=.extension_lo
53980 61 64 65 64 28 27 69 6e 74 6c 27 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 aded('intl').?.'has.the.wrong.ve
539a0 72 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 74 72 79 20 75 70 67 72 61 64 69 6e 67 20 74 rsion.installed,.try.upgrading.t
539c0 68 65 20 69 6e 74 6c 20 65 78 74 65 6e 73 69 6f 6e 2e 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e he.intl.extension.'.:.'is.missin
539e0 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 g.from.your.system,.make.sure.th
53a00 65 20 69 6e 74 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2e 27 3b 0a 0a 72 e.intl.extension.is.loaded.';..r
53a20 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e eturn."\n....-.The.requested.lin
53a40 6b 65 64 20 6c 69 62 72 61 72 79 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 ked.library.".$job['packageName'
53a60 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 ].$this->constraintToText($job['
53a80 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 27 2e 24 65 72 72 6f 72 3b 0a 7d 0a 0a 72 65 74 constraint']).'.'.$error;.}..ret
53aa0 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 urn."\n....-.The.requested.linke
53ac0 64 20 6c 69 62 72 61 72 79 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e d.library.".$job['packageName'].
53ae0 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f $this->constraintToText($job['co
53b00 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 nstraint']).'.has.the.wrong.vers
53b20 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d ion.installed.or.is.missing.from
53b40 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 6c 6f 61 64 20 .your.system,.make.sure.to.load.
53b60 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a the.extension.providing.it.';.}.
53b80 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e .if.(!preg_match('{^[A-Za-z0-9_.
53ba0 2f 2d 5d 2b 24 7d 27 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b /-]+$}',.$job['packageName'])).{
53bc0 0a 24 69 6c 6c 65 67 61 6c 43 68 61 72 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b .$illegalChars.=.preg_replace('{
53be0 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 7d 27 2c 20 27 27 2c 20 24 6a 6f 62 5b 27 70 61 [A-Za-z0-9_./-]+}',.'',.$job['pa
53c00 63 6b 61 67 65 4e 61 6d 65 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 ckageName']);..return."\n....-.T
53c20 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 he.requested.package.".$job['pac
53c40 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2c kageName'].'.could.not.be.found,
53c60 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 69 74 73 20 6e 61 6d 65 20 69 73 20 69 6e 76 61 6c .it.looks.like.its.name.is.inval
53c80 69 64 2c 20 22 27 2e 24 69 6c 6c 65 67 61 6c 43 68 61 72 73 2e 27 22 20 69 73 20 6e 6f 74 20 61 id,."'.$illegalChars.'".is.not.a
53ca0 6c 6c 6f 77 65 64 20 69 6e 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 2e 27 3b 0a 7d 0a 0a 69 66 llowed.in.package.names.';.}..if
53cc0 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 .($providers.=.$this->pool->what
53ce0 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a Provides($job['packageName'],.$j
53d00 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b ob['constraint'],.true,.true)).{
53d20 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 .return."\n....-.The.requested.p
53d40 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 ackage.".$job['packageName'].$th
53d60 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 is->constraintToText($job['const
53d80 72 61 69 6e 74 27 5d 29 2e 27 20 69 73 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 2e 24 raint']).'.is.satisfiable.by.'.$
53da0 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 72 6f 76 69 64 65 72 73 29 this->getPackageList($providers)
53dc0 2e 27 20 62 75 74 20 74 68 65 73 65 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 79 6f 75 72 20 .'.but.these.conflict.with.your.
53de0 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 requirements.or.minimum-stabilit
53e00 79 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e y.';.}..if.($providers.=.$this->
53e20 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 pool->whatProvides($job['package
53e40 4e 61 6d 65 27 5d 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 Name'],.null,.true,.true)).{.ret
53e60 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 urn."\n....-.The.requested.packa
53e80 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e ge.".$job['packageName'].$this->
53ea0 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e constraintToText($job['constrain
53ec0 74 27 5d 29 2e 27 20 65 78 69 73 74 73 20 61 73 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 t']).'.exists.as.'.$this->getPac
53ee0 6b 61 67 65 4c 69 73 74 28 24 70 72 6f 76 69 64 65 72 73 29 2e 27 20 62 75 74 20 74 68 65 73 65 kageList($providers).'.but.these
53f00 20 61 72 65 20 72 65 6a 65 63 74 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6e 73 74 72 61 69 6e 74 .are.rejected.by.your.constraint
53f20 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 .';.}..return."\n....-.The.reque
53f40 73 74 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 sted.package.".$job['packageName
53f60 27 5d 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 76 '].'.could.not.be.found.in.any.v
53f80 65 72 73 69 6f 6e 2c 20 74 68 65 72 65 20 6d 61 79 20 62 65 20 61 20 74 79 70 6f 20 69 6e 20 74 ersion,.there.may.be.a.typo.in.t
53fa0 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2e 27 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 he.package.name.';.}.}..$message
53fc0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 73 20 s.=.array();..foreach.($reasons.
53fe0 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 72 65 61 73 6f 6e 5b 27 72 as.$reason).{.$rule.=.$reason['r
54000 75 6c 65 27 5d 3b 0a 24 6a 6f 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d 3b 0a 0a 69 ule'];.$job.=.$reason['job'];..i
54020 66 20 28 24 6a 6f 62 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e f.($job).{.$messages[].=.$this->
54040 6a 6f 62 54 6f 54 65 78 74 28 24 6a 6f 62 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 75 6c 65 jobToText($job);.}.elseif.($rule
54060 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c 65 29 20 7b ).{.if.($rule.instanceof.Rule).{
54080 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 .$messages[].=.$rule->getPrettyS
540a0 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 tring($this->pool,.$installedMap
540c0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 22 2e 69 6d 70 6c );.}.}.}..return."\n....-.".impl
540e0 6f 64 65 28 22 5c 6e 20 20 20 20 2d 20 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a ode("\n....-.",.$messages);.}...
54100 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 61 73 6f .....protected.function.addReaso
54120 6e 28 24 69 64 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 n($id,.$reason).{.if.(!isset($th
54140 69 73 2d 3e 72 65 61 73 6f 6e 53 65 65 6e 5b 24 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 is->reasonSeen[$id])).{.$this->r
54160 65 61 73 6f 6e 53 65 65 6e 5b 24 69 64 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 72 65 easonSeen[$id].=.true;.$this->re
54180 61 73 6f 6e 73 5b 24 74 68 69 73 2d 3e 73 65 63 74 69 6f 6e 5d 5b 5d 20 3d 20 24 72 65 61 73 6f asons[$this->section][].=.$reaso
541a0 6e 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 53 65 63 74 n;.}.}..public.function.nextSect
541c0 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 63 74 69 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a ion().{.$this->section++;.}.....
541e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6a 6f 62 54 6f 54 65 78 74 28 ...protected.function.jobToText(
54200 24 6a 6f 62 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 $job).{.switch.($job['cmd']).{.c
54220 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 ase.'install':.$packages.=.$this
54240 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 ->pool->whatProvides($job['packa
54260 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 69 geName'],.$job['constraint']);.i
54280 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 4e 6f 20 70 61 63 6b f.(!$packages).{.return.'No.pack
542a0 61 67 65 20 66 6f 75 6e 64 20 74 6f 20 73 61 74 69 73 66 79 20 69 6e 73 74 61 6c 6c 20 72 65 71 age.found.to.satisfy.install.req
542c0 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 uest.for.'.$job['packageName'].$
542e0 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e this->constraintToText($job['con
54300 73 74 72 61 69 6e 74 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 6e 73 74 61 6c 6c 61 74 straint']);.}..return.'Installat
54320 69 6f 6e 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e ion.request.for.'.$job['packageN
54340 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a ame'].$this->constraintToText($j
54360 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 2d 3e 20 73 61 74 69 73 66 69 61 62 ob['constraint']).'.->.satisfiab
54380 6c 65 20 62 79 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 le.by.'.$this->getPackageList($p
543a0 61 63 6b 61 67 65 73 29 2e 27 2e 27 3b 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 72 65 74 ackages).'.';.case.'update':.ret
543c0 75 72 6e 20 27 55 70 64 61 74 65 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 urn.'Update.request.for.'.$job['
543e0 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 packageName'].$this->constraintT
54400 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 2e 27 3b 0a 63 oText($job['constraint']).'.';.c
54420 61 73 65 20 27 72 65 6d 6f 76 65 27 3a 0a 72 65 74 75 72 6e 20 27 52 65 6d 6f 76 61 6c 20 72 65 ase.'remove':.return.'Removal.re
54440 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e quest.for.'.$job['packageName'].
54460 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f $this->constraintToText($job['co
54480 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 27 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 6f nstraint']).'';.}..if.(isset($jo
544a0 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 b['constraint'])).{.$packages.=.
544c0 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 $this->pool->whatProvides($job['
544e0 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 packageName'],.$job['constraint'
54500 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 ]);.}.else.{.$packages.=.array()
54520 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 4a 6f 62 28 63 6d 64 3d 27 2e 24 6a 6f 62 5b 27 63 6d 64 ;.}..return.'Job(cmd='.$job['cmd
54540 27 5d 2e 27 2c 20 74 61 72 67 65 74 3d 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 '].',.target='.$job['packageName
54560 27 5d 2e 27 2c 20 70 61 63 6b 61 67 65 73 3d 5b 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b '].',.packages=['.$this->getPack
54580 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 2e 27 5d 29 27 3b 0a 7d 0a 0a 70 72 6f 74 ageList($packages).'])';.}..prot
545a0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 ected.function.getPackageList($p
545c0 61 63 6b 61 67 65 73 29 0a 7b 0a 24 70 72 65 70 61 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a ackages).{.$prepared.=.array();.
545e0 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 foreach.($packages.as.$package).
54600 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d {.$prepared[$package->getName()]
54620 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 ['name'].=.$package->getPrettyNa
54640 6d 65 28 29 3b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d me();.$prepared[$package->getNam
54660 65 28 29 5d 5b 27 76 65 72 73 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 e()]['versions'][$package->getVe
54680 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 rsion()].=.$package->getPrettyVe
546a0 72 73 69 6f 6e 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 rsion();.}.foreach.($prepared.as
546c0 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b .$name.=>.$package).{.$prepared[
546e0 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d $name].=.$package['name'].'['.im
54700 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d plode(',.',.$package['versions']
54720 29 2e 27 5d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 ).']';.}..return.implode(',.',.$
54740 70 72 65 70 61 72 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 prepared);.}........protected.fu
54760 6e 63 74 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 nction.constraintToText($constra
54780 69 6e 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3f 20 27 20 27 2e int).{.return.$constraint.?.'.'.
547a0 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 3a $constraint->getPrettyString().:
547c0 20 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 .'';.}.}.<?php............namesp
547e0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b ace.Composer\DependencyResolver;
54800 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 ..use.Composer\Semver\Constraint
54820 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 \ConstraintInterface;.....class.
54840 52 65 71 75 65 73 74 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 3b 0a 0a 70 75 62 6c Request.{.protected.$jobs;..publ
54860 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 ic.function.__construct().{.$thi
54880 73 2d 3e 6a 6f 62 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->jobs.=.array();.}..public.fun
548a0 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 ction.install($packageName,.Cons
548c0 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 traintInterface.$constraint.=.nu
548e0 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 ll).{.$this->addJob($packageName
54900 2c 20 27 69 6e 73 74 61 6c 6c 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 70 75 ,.'install',.$constraint);.}..pu
54920 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d blic.function.update($packageNam
54940 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 e,.ConstraintInterface.$constrai
54960 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b nt.=.null).{.$this->addJob($pack
54980 61 67 65 4e 61 6d 65 2c 20 27 75 70 64 61 74 65 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b ageName,.'update',.$constraint);
549a0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 70 61 63 6b .}..public.function.remove($pack
549c0 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f ageName,.ConstraintInterface.$co
549e0 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 nstraint.=.null).{.$this->addJob
54a00 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 72 65 6d 6f 76 65 27 2c 20 24 63 6f 6e 73 74 72 ($packageName,.'remove',.$constr
54a20 61 69 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f aint);.}..........public.functio
54a40 6e 20 66 69 78 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e n.fix($packageName,.ConstraintIn
54a60 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 terface.$constraint.=.null).{.$t
54a80 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 69 6e 73 74 61 his->addJob($packageName,.'insta
54aa0 6c 6c 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 72 6f 74 ll',.$constraint,.true);.}..prot
54ac0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 ected.function.addJob($packageNa
54ae0 6d 65 2c 20 24 63 6d 64 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 me,.$cmd,.ConstraintInterface.$c
54b00 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 66 69 78 65 64 20 3d 20 66 61 6c 73 65 onstraint.=.null,.$fixed.=.false
54b20 29 0a 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 ).{.$packageName.=.strtolower($p
54b40 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 ackageName);..$this->jobs[].=.ar
54b60 72 61 79 28 0a 27 63 6d 64 27 20 3d 3e 20 24 63 6d 64 2c 0a 27 70 61 63 6b 61 67 65 4e 61 6d 65 ray(.'cmd'.=>.$cmd,.'packageName
54b80 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a 27 63 6f 6e 73 74 72 61 69 6e 74 27 20 '.=>.$packageName,.'constraint'.
54ba0 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 27 66 69 78 65 64 27 20 3d 3e 20 24 66 69 78 65 =>.$constraint,.'fixed'.=>.$fixe
54bc0 64 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 41 d,.);.}..public.function.updateA
54be0 6c 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 63 6d ll().{.$this->jobs[].=.array('cm
54c00 64 27 20 3d 3e 20 27 75 70 64 61 74 65 2d 61 6c 6c 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 d'.=>.'update-all');.}..public.f
54c20 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 unction.getJobs().{.return.$this
54c40 2d 3e 6a 6f 62 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ->jobs;.}.}.<?php............nam
54c60 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 espace.Composer\DependencyResolv
54c80 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 er;..use.Composer\Package\Comple
54ca0 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c tePackage;.use.Composer\Package\
54cc0 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 Link;.use.Composer\Package\Packa
54ce0 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 geInterface;......abstract.class
54d00 20 52 75 6c 65 0a 7b 0a 0a 20 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 54 45 52 4e 41 4c 5f 41 4c .Rule.{...const.RULE_INTERNAL_AL
54d20 4c 4f 57 5f 55 50 44 41 54 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 49 LOW_UPDATE.=.1;.const.RULE_JOB_I
54d40 4e 53 54 41 4c 4c 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 NSTALL.=.2;.const.RULE_JOB_REMOV
54d60 45 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 E.=.3;.const.RULE_PACKAGE_CONFLI
54d80 43 54 20 3d 20 36 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 CT.=.6;.const.RULE_PACKAGE_REQUI
54da0 52 45 53 20 3d 20 37 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f RES.=.7;.const.RULE_PACKAGE_OBSO
54dc0 4c 45 54 45 53 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f LETES.=.8;.const.RULE_INSTALLED_
54de0 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3d 20 39 3b 0a 63 6f 6e 73 74 20 52 55 4c PACKAGE_OBSOLETES.=.9;.const.RUL
54e00 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 E_PACKAGE_SAME_NAME.=.10;.const.
54e20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 20 RULE_PACKAGE_IMPLICIT_OBSOLETES.
54e40 3d 20 31 31 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4c 45 41 52 4e 45 44 20 3d 20 31 32 3b 0a 63 =.11;.const.RULE_LEARNED.=.12;.c
54e60 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 20 3d 20 31 33 3b 0a 0a 0a onst.RULE_PACKAGE_ALIAS.=.13;...
54e80 20 63 6f 6e 73 74 20 42 49 54 46 49 45 4c 44 5f 54 59 50 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 .const.BITFIELD_TYPE.=.0;.const.
54ea0 42 49 54 46 49 45 4c 44 5f 52 45 41 53 4f 4e 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 42 49 54 46 49 BITFIELD_REASON.=.8;.const.BITFI
54ec0 45 4c 44 5f 44 49 53 41 42 4c 45 44 20 3d 20 31 36 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 ELD_DISABLED.=.16;..protected.$b
54ee0 69 74 66 69 65 6c 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 3b 0a 70 72 6f 74 65 63 74 itfield;.protected.$job;.protect
54f00 65 64 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ed.$reasonData;.......public.fun
54f20 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 ction.__construct($reason,.$reas
54f40 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 onData,.$job.=.null).{.$this->re
54f60 61 73 6f 6e 44 61 74 61 20 3d 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 6a 6f asonData.=.$reasonData;..if.($jo
54f80 62 29 20 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 20 3d 20 24 6a 6f 62 3b 0a 7d 0a 0a 24 74 68 69 73 b).{.$this->job.=.$job;.}..$this
54fa0 2d 3e 62 69 74 66 69 65 6c 64 20 3d 20 28 30 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c ->bitfield.=.(0.<<.self::BITFIEL
54fc0 44 5f 44 49 53 41 42 4c 45 44 29 20 7c 0a 28 24 72 65 61 73 6f 6e 20 3c 3c 20 73 65 6c 66 3a 3a D_DISABLED).|.($reason.<<.self::
54fe0 42 49 54 46 49 45 4c 44 5f 52 45 41 53 4f 4e 29 20 7c 0a 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a BITFIELD_REASON).|.(255.<<.self:
55000 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 :BITFIELD_TYPE);.}..abstract.pub
55020 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 61 62 73 lic.function.getLiterals();..abs
55040 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 3b tract.public.function.getHash();
55060 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 28 29 0a 7b 0a 72 65 74 ..public.function.getJob().{.ret
55080 75 72 6e 20 24 74 68 69 73 2d 3e 6a 6f 62 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c urn.$this->job;.}..abstract.publ
550a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 3b 0a ic.function.equals(Rule.$rule);.
550c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 .public.function.getReason().{.r
550e0 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c eturn.($this->bitfield.&.(255.<<
55100 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 52 45 41 53 4f 4e 29 29 20 3e 3e 20 73 65 6c 66 .self::BITFIELD_REASON)).>>.self
55120 3a 3a 42 49 54 46 49 45 4c 44 5f 52 45 41 53 4f 4e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ::BITFIELD_REASON;.}..public.fun
55140 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.getReasonData().{.return.$
55160 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->reasonData;.}..public.func
55180 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 0a 7b 0a 69 66 20 28 tion.getRequiredPackage().{.if.(
551a0 24 74 68 69 73 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 20 3d 3d 3d 20 73 65 6c 66 3a 3a 52 55 4c $this->getReason().===.self::RUL
551c0 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 E_JOB_INSTALL).{.return.$this->r
551e0 65 61 73 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 73 easonData;.}..if.($this->getReas
55200 6f 6e 28 29 20 3d 3d 3d 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 on().===.self::RULE_PACKAGE_REQU
55220 49 52 45 53 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 IRES).{.return.$this->reasonData
55240 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->getTarget();.}.}..public.funct
55260 69 6f 6e 20 73 65 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 ion.setType($type).{.$this->bitf
55280 69 65 6c 64 20 3d 20 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 ield.=.($this->bitfield.&.~(255.
552a0 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 7c 20 28 28 32 35 35 <<.self::BITFIELD_TYPE)).|.((255
552c0 20 26 20 24 74 79 70 65 29 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 .&.$type).<<.self::BITFIELD_TYPE
552e0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a );.}..public.function.getType().
55300 7b 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 {.return.($this->bitfield.&.(255
55320 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 3e 3e 20 73 65 6c .<<.self::BITFIELD_TYPE)).>>.sel
55340 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 f::BITFIELD_TYPE;.}..public.func
55360 74 69 6f 6e 20 64 69 73 61 62 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 tion.disable().{.$this->bitfield
55380 20 3d 20 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 .=.($this->bitfield.&.~(255.<<.s
553a0 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 7c 20 28 31 20 3c 3c elf::BITFIELD_DISABLED)).|.(1.<<
553c0 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 .self::BITFIELD_DISABLED);.}..pu
553e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e blic.function.enable().{.$this->
55400 62 69 74 66 69 65 6c 64 20 26 3d 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 bitfield.&=.~(255.<<.self::BITFI
55420 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ELD_DISABLED);.}..public.functio
55440 6e 20 69 73 44 69 73 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 28 n.isDisabled().{.return.(bool).(
55460 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a ($this->bitfield.&.(255.<<.self:
55480 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 :BITFIELD_DISABLED)).>>.self::BI
554a0 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 TFIELD_DISABLED);.}..public.func
554c0 74 69 6f 6e 20 69 73 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 28 28 24 74 68 tion.isEnabled().{.return.!(($th
554e0 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 is->bitfield.&.(255.<<.self::BIT
55500 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 FIELD_DISABLED)).>>.self::BITFIE
55520 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 LD_DISABLED);.}..abstract.public
55540 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 65 72 74 69 6f 6e 28 29 3b 0a 0a 70 75 62 6c 69 63 .function.isAssertion();..public
55560 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 6f 6f 6c 20 24 .function.getPrettyString(Pool.$
55580 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 pool,.array.$installedMap.=.arra
555a0 79 28 29 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 69 74 y()).{.$literals.=.$this->getLit
555c0 65 72 61 6c 73 28 29 3b 0a 0a 24 72 75 6c 65 54 65 78 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 erals();..$ruleText.=.'';.foreac
555e0 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 h.($literals.as.$i.=>.$literal).
55600 7b 0a 69 66 20 28 24 69 20 21 3d 20 30 29 20 7b 0a 24 72 75 6c 65 54 65 78 74 20 2e 3d 20 27 7c {.if.($i.!=.0).{.$ruleText..=.'|
55620 27 3b 0a 7d 0a 24 72 75 6c 65 54 65 78 74 20 2e 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c ';.}.$ruleText..=.$pool->literal
55640 54 6f 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 6c 69 74 65 72 61 6c 2c 20 24 69 6e 73 74 61 6c ToPrettyString($literal,.$instal
55660 6c 65 64 4d 61 70 29 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 ledMap);.}..switch.($this->getRe
55680 61 73 6f 6e 28 29 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 49 4e 54 45 52 4e ason()).{.case.self::RULE_INTERN
556a0 41 4c 5f 41 4c 4c 4f 57 5f 55 50 44 41 54 45 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 AL_ALLOW_UPDATE:.return.$ruleTex
556c0 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 3a t;..case.self::RULE_JOB_INSTALL:
556e0 0a 72 65 74 75 72 6e 20 22 49 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 72 75 6c 65 20 28 24 .return."Install.command.rule.($
55700 72 75 6c 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 ruleText)";..case.self::RULE_JOB
55720 5f 52 45 4d 4f 56 45 3a 0a 72 65 74 75 72 6e 20 22 52 65 6d 6f 76 65 20 63 6f 6d 6d 61 6e 64 20 _REMOVE:.return."Remove.command.
55740 72 75 6c 65 20 28 24 72 75 6c 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 rule.($ruleText)";..case.self::R
55760 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 3a 0a 24 70 61 63 6b 61 67 65 31 20 ULE_PACKAGE_CONFLICT:.$package1.
55780 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 =.$pool->literalToPackage($liter
557a0 61 6c 73 5b 30 5d 29 3b 0a 24 70 61 63 6b 61 67 65 32 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 als[0]);.$package2.=.$pool->lite
557c0 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 31 5d 29 3b 0a 0a 72 65 74 ralToPackage($literals[1]);..ret
557e0 75 72 6e 20 24 70 61 63 6b 61 67 65 31 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 urn.$package1->getPrettyString()
55800 2e 27 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 .'.conflicts.with.'.$this->forma
55820 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 24 70 61 tPackagesUnique($pool,.array($pa
55840 63 6b 61 67 65 32 29 29 2e 27 2e 27 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 ckage2)).'.';..case.self::RULE_P
55860 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 3a 0a 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 20 ACKAGE_REQUIRES:.$sourceLiteral.
55880 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 24 73 6f 75 72 63 =.array_shift($literals);.$sourc
558a0 65 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 ePackage.=.$pool->literalToPacka
558c0 67 65 28 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d ge($sourceLiteral);..$requires.=
558e0 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 .array();.foreach.($literals.as.
55900 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 70 6f 6f 6c 2d $literal).{.$requires[].=.$pool-
55920 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 0a 0a >literalToPackage($literal);.}..
55940 24 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 50 72 $text.=.$this->reasonData->getPr
55960 65 74 74 79 53 74 72 69 6e 67 28 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 ettyString($sourcePackage);.if.(
55980 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 73 61 74 69 73 $requires).{.$text..=.'.->.satis
559a0 66 69 61 62 6c 65 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 fiable.by.'...$this->formatPacka
559c0 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 72 65 71 75 69 72 65 73 29 20 2e 20 27 2e gesUnique($pool,.$requires)...'.
559e0 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d ';.}.else.{.$targetName.=.$this-
55a00 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 0a 69 66 20 28 24 >reasonData->getTarget();..if.($
55a20 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 74 61 72 67 65 74 4e targetName.===.'php'.||.$targetN
55a40 61 6d 65 20 3d 3d 3d 20 27 70 68 70 2d 36 34 62 69 74 27 20 7c 7c 20 24 74 61 72 67 65 74 4e 61 ame.===.'php-64bit'.||.$targetNa
55a60 6d 65 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 me.===.'hhvm').{...if.(defined('
55a80 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e HHVM_VERSION')).{.return.$text..
55aa0 20 27 20 2d 3e 20 79 6f 75 72 20 48 48 56 4d 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 .'.->.your.HHVM.version.does.not
55ac0 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a .satisfy.that.requirement.';.}..
55ae0 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 $packages.=.$pool->whatProvides(
55b00 24 74 61 72 67 65 74 4e 61 6d 65 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 63 6f 75 6e 74 28 24 $targetName);.$package.=.count($
55b20 70 61 63 6b 61 67 65 73 29 20 3f 20 63 75 72 72 65 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3a packages).?.current($packages).:
55b40 20 70 68 70 76 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 4e 61 6d 65 20 .phpversion();..if.($targetName.
55b60 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 ===.'hhvm').{.if.($package.insta
55b80 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 nceof.CompletePackage).{.return.
55ba0 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 20 48 48 56 4d 20 76 65 72 73 69 6f 6e 20 28 $text...'.->.your.HHVM.version.(
55bc0 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 '.$package->getPrettyVersion().'
55be0 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d ).does.not.satisfy.that.requirem
55c00 65 6e 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 ent.';.}.else.{.return.$text...'
55c20 20 2d 3e 20 79 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 50 48 .->.you.are.running.this.with.PH
55c40 50 20 61 6e 64 20 6e 6f 74 20 48 48 56 4d 2e 27 3b 0a 7d 0a 7d 0a 0a 0a 69 66 20 28 21 28 24 70 P.and.not.HHVM.';.}.}...if.(!($p
55c60 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 ackage.instanceof.CompletePackag
55c80 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 20 50 e)).{.return.$text...'.->.your.P
55ca0 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f HP.version.('.phpversion().').do
55cc0 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e es.not.satisfy.that.requirement.
55ce0 27 3b 0a 7d 0a 0a 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 ';.}..$extra.=.$package->getExtr
55d00 61 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e a();..if.(!empty($extra['config.
55d20 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 79 6f 75 platform'])).{.$text..=.'.->.you
55d40 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e 27 29 r.PHP.version.('.phpversion().')
55d60 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 20 22 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 2e .overridden.by."config.platform.
55d80 70 68 70 22 20 76 65 72 73 69 6f 6e 20 28 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 php".version.('.$package->getPre
55da0 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 ttyVersion().').does.not.satisfy
55dc0 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 .that.requirement.';.}.else.{.$t
55de0 65 78 74 20 2e 3d 20 27 20 2d 3e 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e ext..=.'.->.your.PHP.version.('.
55e00 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 $package->getPrettyVersion().').
55e20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e does.not.satisfy.that.requiremen
55e40 74 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d t.';.}..return.$text;.}..if.(0.=
55e60 3d 3d 20 73 74 72 70 6f 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 65 78 74 2d 27 29 29 20 ==.strpos($targetName,.'ext-')).
55e80 7b 0a 0a 20 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 {...$ext.=.substr($targetName,.4
55ea0 29 3b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 65 78 );.$error.=.extension_loaded($ex
55ec0 74 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 2e 28 t).?.'has.the.wrong.version.('.(
55ee0 70 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 20 3f 3a 20 27 30 27 29 2e 27 29 20 69 6e 73 74 phpversion($ext).?:.'0').').inst
55f00 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 alled'.:.'is.missing.from.your.s
55f20 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 74 68 65 ystem';..return.$text...'.->.the
55f40 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 24 65 78 74 2e .requested.PHP.extension.'.$ext.
55f60 27 20 27 2e 24 65 72 72 6f 72 2e 27 2e 27 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 '.'.$error.'.';.}..if.(0.===.str
55f80 70 6f 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 6c 69 62 2d 27 29 29 20 7b 0a 0a 20 24 6c pos($targetName,.'lib-')).{...$l
55fa0 69 62 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 29 3b 0a 0a 72 65 ib.=.substr($targetName,.4);..re
55fc0 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 turn.$text...'.->.the.requested.
55fe0 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 27 2e 24 6c 69 62 2e 27 20 68 61 73 20 74 68 65 20 linked.library.'.$lib.'.has.the.
56000 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 69 73 20 6d 69 wrong.version.installed.or.is.mi
56020 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 ssing.from.your.system,.make.sur
56040 65 20 74 6f 20 68 61 76 65 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 69 6e e.to.have.the.extension.providin
56060 67 20 69 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 70 6f 6f g.it.';.}..if.($providers.=.$poo
56080 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 24 74 68 l->whatProvides($targetName,.$th
560a0 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c is->reasonData->getConstraint(),
560c0 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 .true,.true)).{.return.$text...'
560e0 20 2d 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f .->.satisfiable.by.'...$this->fo
56100 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 70 72 6f 76 69 rmatPackagesUnique($pool,.$provi
56120 64 65 72 73 29 20 2e 27 20 62 75 74 20 74 68 65 73 65 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 ders)..'.but.these.conflict.with
56140 20 79 6f 75 72 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 .your.requirements.or.minimum-st
56160 61 62 69 6c 69 74 79 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d ability.';.}..return.$text...'.-
56180 3e 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 2e 27 3b 0a 7d >.no.matching.package.found.';.}
561a0 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 ..return.$text;..case.self::RULE
561c0 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 _PACKAGE_OBSOLETES:.return.$rule
561e0 54 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f Text;.case.self::RULE_INSTALLED_
56200 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 PACKAGE_OBSOLETES:.return.$ruleT
56220 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d ext;.case.self::RULE_PACKAGE_SAM
56240 45 5f 4e 41 4d 45 3a 0a 72 65 74 75 72 6e 20 27 43 61 6e 20 6f 6e 6c 79 20 69 6e 73 74 61 6c 6c E_NAME:.return.'Can.only.install
56260 20 6f 6e 65 20 6f 66 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 .one.of:.'...$this->formatPackag
56280 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 20 2e 20 27 2e 27 esUnique($pool,.$literals)...'.'
562a0 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c 49 43 ;.case.self::RULE_PACKAGE_IMPLIC
562c0 49 54 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a IT_OBSOLETES:.return.$ruleText;.
562e0 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 44 3a 0a 72 65 74 75 72 6e 20 case.self::RULE_LEARNED:.return.
56300 27 43 6f 6e 63 6c 75 73 69 6f 6e 3a 20 27 2e 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 20 73 'Conclusion:.'.$ruleText;.case.s
56320 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 3a 0a 72 65 74 75 72 6e 20 elf::RULE_PACKAGE_ALIAS:.return.
56340 24 72 75 6c 65 54 65 78 74 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 27 28 27 2e 24 $ruleText;.default:.return.'('.$
56360 72 75 6c 65 54 65 78 74 2e 27 29 27 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ruleText.')';.}.}........protect
56380 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 ed.function.formatPackagesUnique
563a0 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 70 72 65 70 ($pool,.array.$packages).{.$prep
563c0 61 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 ared.=.array();.foreach.($packag
563e0 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 es.as.$package).{.if.(!is_object
56400 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e ($package)).{.$package.=.$pool->
56420 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 70 literalToPackage($package);.}.$p
56440 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 6e 61 repared[$package->getName()]['na
56460 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 me'].=.$package->getPrettyName()
56480 3b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d ;.$prepared[$package->getName()]
564a0 5b 27 76 65 72 73 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f ['versions'][$package->getVersio
564c0 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f n()].=.$package->getPrettyVersio
564e0 6e 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 6e 61 n();.}.foreach.($prepared.as.$na
56500 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e 61 6d me.=>.$package).{.$prepared[$nam
56520 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c 6f 64 e].=.$package['name'].'['.implod
56540 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e 27 5d e(',.',.$package['versions']).']
56560 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 65 70 ';.}..return.implode(',.',.$prep
56580 61 72 65 64 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ared);.}.}.<?php............name
565a0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 space.Composer\DependencyResolve
565c0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 r;..use.Composer\Package\Package
565e0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c Interface;.use.Composer\Package\
56600 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 20 65 78 Link;.....class.Rule2Literals.ex
56620 74 65 6e 64 73 20 52 75 6c 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 31 tends.Rule.{.protected.$literal1
56640 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ;.protected.$literal2;.........p
56660 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6c 69 74 65 ublic.function.__construct($lite
56680 72 61 6c 31 2c 20 24 6c 69 74 65 72 61 6c 32 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f ral1,.$literal2,.$reason,.$reaso
566a0 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f nData,.$job.=.null).{.parent::__
566c0 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 construct($reason,.$reasonData,.
566e0 24 6a 6f 62 29 3b 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 31 20 3c 20 24 6c 69 74 65 72 61 6c $job);..if.($literal1.<.$literal
56700 32 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 65 72 61 6c 31 2).{.$this->literal1.=.$literal1
56720 3b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 6c 32 3b 0a 7d ;.$this->literal2.=.$literal2;.}
56740 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 65 72 .else.{.$this->literal1.=.$liter
56760 61 6c 32 3b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 6c 31 al2;.$this->literal2.=.$literal1
56780 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 72 61 ;.}.}..public.function.getLitera
567a0 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 ls().{.return.array($this->liter
567c0 61 6c 31 2c 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 al1,.$this->literal2);.}..public
567e0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.getHash().{.return.$th
56800 69 73 2d 3e 6c 69 74 65 72 61 6c 31 2e 27 2c 27 2e 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 is->literal1.','.$this->literal2
56820 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 ;.}..........public.function.equ
56840 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 0a 20 69 66 20 28 24 72 75 6c 65 20 69 6e als(Rule.$rule).{...if.($rule.in
56860 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 stanceof.self).{.if.($this->lite
56880 72 61 6c 31 20 21 3d 3d 20 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 31 29 20 7b 0a 72 65 74 75 ral1.!==.$rule->literal1).{.retu
568a0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 rn.false;.}..if.($this->literal2
568c0 20 21 3d 3d 20 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 32 29 20 7b 0a 72 65 74 75 72 6e 20 66 .!==.$rule->literal2).{.return.f
568e0 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 72 61 alse;.}..return.true;.}..$litera
56900 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 69 66 20 28 32 ls.=.$rule->getLiterals();.if.(2
56920 20 21 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 .!=.count($literals)).{.return.f
56940 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 21 3d 3d alse;.}..if.($this->literal1.!==
56960 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d .$literals[0]).{.return.false;.}
56980 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 21 3d 3d 20 24 6c 69 74 65 72 ..if.($this->literal2.!==.$liter
569a0 61 6c 73 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 als[1]).{.return.false;.}..retur
569c0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 n.true;.}..public.function.isAss
569e0 65 72 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ertion().{.return.false;.}......
56a00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a .public.function.__toString().{.
56a20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 3f 20 $result.=.$this->isDisabled().?.
56a40 27 64 69 73 61 62 6c 65 64 28 27 20 3a 20 27 28 27 3b 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 'disabled('.:.'(';..$result..=.$
56a60 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 2e 20 27 7c 27 20 2e 20 24 74 68 69 73 2d 3e 6c 69 this->literal1...'|'...$this->li
56a80 74 65 72 61 6c 32 20 2e 20 27 29 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d teral2...')';..return.$result;.}
56aa0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
56ac0 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 mposer\DependencyResolver;.....c
56ae0 6c 61 73 73 20 52 75 6c 65 53 65 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f lass.RuleSet.implements.\Iterato
56b00 72 41 67 67 72 65 67 61 74 65 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 0a 20 63 6f 6e 73 74 rAggregate,.\Countable.{...const
56b20 20 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 4a 4f .TYPE_PACKAGE.=.0;.const.TYPE_JO
56b40 42 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 20 34 3b 0a 0a B.=.1;.const.TYPE_LEARNED.=.4;..
56b60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 24 72 75 6c 65 42 79 49 64 3b 0a 0a 70 72 6f 74 65 63 74 65 .....public.$ruleById;..protecte
56b80 64 20 73 74 61 74 69 63 20 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 32 35 35 20 3d 3e 20 d.static.$types.=.array(.255.=>.
56ba0 27 55 4e 4b 4e 4f 57 4e 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 3e 'UNKNOWN',.self::TYPE_PACKAGE.=>
56bc0 20 27 50 41 43 4b 41 47 45 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 4a 4f 42 20 3d 3e 20 27 4a .'PACKAGE',.self::TYPE_JOB.=>.'J
56be0 4f 42 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3e 20 27 4c 45 41 52 OB',.self::TYPE_LEARNED.=>.'LEAR
56c00 4e 45 44 27 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 NED',.);..protected.$rules;.prot
56c20 65 63 74 65 64 20 24 6e 65 78 74 52 75 6c 65 49 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 ected.$nextRuleId;..protected.$r
56c40 75 6c 65 73 42 79 48 61 73 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ulesByHash;..public.function.__c
56c60 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 20 3d onstruct().{.$this->nextRuleId.=
56c80 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 73 28 29 20 .0;..foreach.($this->getTypes().
56ca0 61 73 20 24 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 as.$type).{.$this->rules[$type].
56cc0 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 =.array();.}..$this->rulesByHash
56ce0 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 .=.array();.}..public.function.a
56d00 64 64 28 52 75 6c 65 20 24 72 75 6c 65 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 dd(Rule.$rule,.$type).{.if.(!iss
56d20 65 74 28 73 65 6c 66 3a 3a 24 74 79 70 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 et(self::$types[$type])).{.throw
56d40 20 6e 65 77 20 5c 4f 75 74 4f 66 42 6f 75 6e 64 73 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e .new.\OutOfBoundsException('Unkn
56d60 6f 77 6e 20 72 75 6c 65 20 74 79 70 65 3a 20 27 20 2e 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 24 68 own.rule.type:.'...$type);.}..$h
56d80 61 73 68 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 48 61 73 68 28 29 3b 0a 0a 0a 20 69 66 20 28 69 ash.=.$rule->getHash();....if.(i
56da0 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 29 29 sset($this->rulesByHash[$hash]))
56dc0 20 7b 0a 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 3d 20 24 74 68 69 73 2d .{.$potentialDuplicates.=.$this-
56de0 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 3b 0a 69 66 20 28 69 73 5f 61 72 72 61 >rulesByHash[$hash];.if.(is_arra
56e00 79 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 66 6f 72 65 61 y($potentialDuplicates)).{.forea
56e20 63 68 20 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 61 73 20 24 70 6f 74 ch.($potentialDuplicates.as.$pot
56e40 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 65 71 entialDuplicate).{.if.($rule->eq
56e60 75 61 6c 73 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 29 29 20 7b 0a 72 65 74 uals($potentialDuplicate)).{.ret
56e80 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 65 71 75 urn;.}.}.}.else.{.if.($rule->equ
56ea0 61 6c 73 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 72 65 74 als($potentialDuplicates)).{.ret
56ec0 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 urn;.}.}.}..if.(!isset($this->ru
56ee0 6c 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 les[$type])).{.$this->rules[$typ
56f00 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 e].=.array();.}..$this->rules[$t
56f20 79 70 65 5d 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 42 79 49 64 5b ype][].=.$rule;.$this->ruleById[
56f40 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 5d 20 3d 20 24 72 75 6c 65 3b 0a 24 72 75 6c $this->nextRuleId].=.$rule;.$rul
56f60 65 2d 3e 73 65 74 54 79 70 65 28 24 74 79 70 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 e->setType($type);..$this->nextR
56f80 75 6c 65 49 64 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 uleId++;..if.(!isset($this->rule
56fa0 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 sByHash[$hash])).{.$this->rulesB
56fc0 79 48 61 73 68 5b 24 68 61 73 68 5d 20 3d 20 24 72 75 6c 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 yHash[$hash].=.$rule;.}.elseif.(
56fe0 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 is_array($this->rulesByHash[$has
57000 68 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d h])).{.$this->rulesByHash[$hash]
57020 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 72 69 67 69 6e 61 6c 52 75 [].=.$rule;.}.else.{.$originalRu
57040 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 3b 0a le.=.$this->rulesByHash[$hash];.
57060 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 20 3d 20 61 72 72 61 $this->rulesByHash[$hash].=.arra
57080 79 28 24 6f 72 69 67 69 6e 61 6c 52 75 6c 65 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 y($originalRule,.$rule);.}.}..pu
570a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 blic.function.count().{.return.$
570c0 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->nextRuleId;.}..public.func
570e0 74 69 6f 6e 20 72 75 6c 65 42 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tion.ruleById($id).{.return.$thi
57100 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 69 64 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->ruleById[$id];.}..public.func
57120 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tion.getRules().{.return.$this->
57140 72 75 6c 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 rules;.}..public.function.getIte
57160 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 rator().{.return.new.RuleSetIter
57180 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c ator($this->getRules());.}..publ
571a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 24 74 79 70 65 ic.function.getIteratorFor($type
571c0 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a 24 74 s).{.if.(!is_array($types)).{.$t
571e0 79 70 65 73 20 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 61 6c 6c 52 75 6c ypes.=.array($types);.}..$allRul
57200 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 24 72 75 6c 65 73 20 3d es.=.$this->getRules();.$rules.=
57220 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 20 61 73 20 24 74 .array();..foreach.($types.as.$t
57240 79 70 65 29 20 7b 0a 24 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 61 6c 6c 52 75 6c 65 73 ype).{.$rules[$type].=.$allRules
57260 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 [$type];.}..return.new.RuleSetIt
57280 65 72 61 74 6f 72 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 erator($rules);.}..public.functi
572a0 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 28 24 74 79 70 65 73 29 0a 7b 0a on.getIteratorWithout($types).{.
572c0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a 24 74 79 70 65 73 20 if.(!is_array($types)).{.$types.
572e0 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 72 75 6c 65 73 20 3d 20 24 74 68 =.array($types);.}..$rules.=.$th
57300 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 is->getRules();..foreach.($types
57320 20 61 73 20 24 74 79 70 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 75 6c 65 73 5b 24 74 79 70 65 5d .as.$type).{.unset($rules[$type]
57340 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 );.}..return.new.RuleSetIterator
57360 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ($rules);.}..public.function.get
57380 54 79 70 65 73 28 29 0a 7b 0a 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 24 74 79 70 65 73 3b Types().{.$types.=.self::$types;
573a0 0a 75 6e 73 65 74 28 24 74 79 70 65 73 5b 32 35 35 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 .unset($types[255]);..return.arr
573c0 61 79 5f 6b 65 79 73 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ay_keys($types);.}..public.funct
573e0 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 6f 6f 6c 20 24 70 6f 6f 6c 20 3d ion.getPrettyString(Pool.$pool.=
57400 20 6e 75 6c 6c 29 0a 7b 0a 24 73 74 72 69 6e 67 20 3d 20 22 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 .null).{.$string.=."\n";.foreach
57420 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 72 75 6c 65 .($this->rules.as.$type.=>.$rule
57440 73 29 20 7b 0a 24 73 74 72 69 6e 67 20 2e 3d 20 73 74 72 5f 70 61 64 28 73 65 6c 66 3a 3a 24 74 s).{.$string..=.str_pad(self::$t
57460 79 70 65 73 5b 24 74 79 70 65 5d 2c 20 38 2c 20 27 20 27 29 20 2e 20 22 3a 20 22 3b 0a 66 6f 72 ypes[$type],.8,.'.')...":.";.for
57480 65 61 63 68 20 28 24 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 73 74 72 69 6e 67 each.($rules.as.$rule).{.$string
574a0 20 2e 3d 20 28 24 70 6f 6f 6c 20 3f 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 ..=.($pool.?.$rule->getPrettyStr
574c0 69 6e 67 28 24 70 6f 6f 6c 29 20 3a 20 24 72 75 6c 65 29 2e 22 5c 6e 22 3b 0a 7d 0a 24 73 74 72 ing($pool).:.$rule)."\n";.}.$str
574e0 69 6e 67 20 2e 3d 20 22 5c 6e 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 72 69 6e 67 ing..=."\n\n";.}..return.$string
57500 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 ;.}..public.function.__toString(
57520 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e ).{.return.$this->getPrettyStrin
57540 67 28 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 g(null);.}.}.<?php............na
57560 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
57580 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 ver;..use.Composer\Package\Packa
575a0 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 geInterface;.use.Composer\Packag
575c0 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 e\AliasPackage;.use.Composer\Rep
575e0 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a ository\PlatformRepository;.....
57600 63 6c 61 73 73 20 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 class.RuleSetGenerator.{.protect
57620 65 64 20 24 70 6f 6c 69 63 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f ed.$policy;.protected.$pool;.pro
57640 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 3b 0a tected.$rules;.protected.$jobs;.
57660 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 protected.$installedMap;.protect
57680 65 64 20 24 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 ed.$whitelistedMap;.protected.$a
576a0 64 64 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 41 64 64 65 ddedMap;.protected.$conflictAdde
576c0 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 65 64 50 61 63 6b 61 67 65 73 3b 0a dMap;.protected.$addedPackages;.
576e0 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 3b protected.$addedPackagesByNames;
57700 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f ..public.function.__construct(Po
57720 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f licyInterface.$policy,.Pool.$poo
57740 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 l).{.$this->policy.=.$policy;.$t
57760 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a his->pool.=.$pool;.}............
57780 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 71 ....protected.function.createReq
577a0 75 69 72 65 52 75 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 uireRule(PackageInterface.$packa
577c0 67 65 2c 20 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 72 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 ge,.array.$providers,.$reason,.$
577e0 72 65 61 73 6f 6e 44 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d reasonData.=.null).{.$literals.=
57800 20 61 72 72 61 79 28 2d 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 3b 0a 0a 66 6f 72 65 61 63 68 20 .array(-$package->id);..foreach.
57820 28 24 70 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 0a 20 69 66 ($providers.as.$provider).{...if
57840 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 .($provider.===.$package).{.retu
57860 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 70 72 6f 76 69 64 rn.null;.}.$literals[].=.$provid
57880 65 72 2d 3e 69 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c er->id;.}..return.new.GenericRul
578a0 65 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 e($literals,.$reason,.$reasonDat
578c0 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e a);.}..............protected.fun
578e0 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 61 72 72 ction.createInstallOneOfRule(arr
57900 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 29 0a 7b 0a 24 ay.$packages,.$reason,.$job).{.$
57920 6c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 literals.=.array();.foreach.($pa
57940 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 5b ckages.as.$package).{.$literals[
57960 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 69 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 ].=.$package->id;.}..return.new.
57980 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 GenericRule($literals,.$reason,.
579a0 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 29 3b 0a 7d 0a 0a 0a $job['packageName'],.$job);.}...
579c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 ..........protected.function.cre
579e0 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 ateRemoveRule(PackageInterface.$
57a00 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 29 0a 7b 0a 72 65 74 75 72 6e package,.$reason,.$job).{.return
57a20 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 61 72 72 61 79 28 2d 24 70 61 63 6b 61 67 65 .new.GenericRule(array(-$package
57a40 2d 3e 69 64 29 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d ->id),.$reason,.$job['packageNam
57a60 65 27 5d 2c 20 24 6a 6f 62 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f e'],.$job);.}................pro
57a80 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 tected.function.createRule2Liter
57aa0 61 6c 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 73 73 75 65 72 2c 20 50 61 als(PackageInterface.$issuer,.Pa
57ac0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f ckageInterface.$provider,.$reaso
57ae0 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 n,.$reasonData.=.null).{...if.($
57b00 69 73 73 75 65 72 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 6e issuer.===.$provider).{.return.n
57b20 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 ull;.}..return.new.Rule2Literals
57b40 28 2d 24 69 73 73 75 65 72 2d 3e 69 64 2c 20 2d 24 70 72 6f 76 69 64 65 72 2d 3e 69 64 2c 20 24 (-$issuer->id,.-$provider->id,.$
57b60 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a reason,.$reasonData);.}.........
57b80 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 28 24 74 79 70 65 ..private.function.addRule($type
57ba0 2c 20 52 75 6c 65 20 24 6e 65 77 52 75 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 ,.Rule.$newRule.=.null).{.if.(!$
57bc0 6e 65 77 52 75 6c 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c newRule).{.return;.}..$this->rul
57be0 65 73 2d 3e 61 64 64 28 24 6e 65 77 52 75 6c 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 70 72 6f es->add($newRule,.$type);.}..pro
57c00 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 61 63 tected.function.whitelistFromPac
57c20 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a kage(PackageInterface.$package).
57c40 7b 0a 24 77 6f 72 6b 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 75 65 3b 0a 24 77 {.$workQueue.=.new.\SplQueue;.$w
57c60 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 77 68 orkQueue->enqueue($package);..wh
57c80 69 6c 65 20 28 21 24 77 6f 72 6b 51 75 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 ile.(!$workQueue->isEmpty()).{.$
57ca0 70 61 63 6b 61 67 65 20 3d 20 24 77 6f 72 6b 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b package.=.$workQueue->dequeue();
57cc0 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 .if.(isset($this->whitelistedMap
57ce0 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a [$package->id])).{.continue;.}..
57d00 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e $this->whitelistedMap[$package->
57d20 69 64 5d 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e id].=.true;..foreach.($package->
57d40 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 getRequires().as.$link).{.$possi
57d60 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 bleRequires.=.$this->pool->whatP
57d80 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e rovides($link->getTarget(),.$lin
57da0 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 20 74 72 75 65 29 3b 0a 0a 66 6f 72 65 k->getConstraint(),.true);..fore
57dc0 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 ach.($possibleRequires.as.$requi
57de0 72 65 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 71 75 69 re).{.$workQueue->enqueue($requi
57e00 72 65 29 3b 0a 7d 0a 7d 0a 0a 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 3d 20 24 re);.}.}..$obsoleteProviders.=.$
57e20 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 this->pool->whatProvides($packag
57e40 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 0a 66 6f 72 65 e->getName(),.null,.true);..fore
57e60 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 ach.($obsoleteProviders.as.$prov
57e80 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 ider).{.if.($provider.===.$packa
57ea0 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 28 24 70 61 63 6b 61 67 65 ge).{.continue;.}..if.(($package
57ec0 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 26 26 20 24 70 61 .instanceof.AliasPackage).&&.$pa
57ee0 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 ckage->getAliasOf().===.$provide
57f00 72 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 72 6f 76 69 64 r).{.$workQueue->enqueue($provid
57f20 65 72 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e er);.}.}.}.}..protected.function
57f40 20 61 64 64 52 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 .addRulesForPackage(PackageInter
57f60 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 face.$package,.$ignorePlatformRe
57f80 71 73 29 0a 7b 0a 24 77 6f 72 6b 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 75 65 qs).{.$workQueue.=.new.\SplQueue
57fa0 3b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 61 63 6b 61 67 65 29 3b ;.$workQueue->enqueue($package);
57fc0 0a 0a 77 68 69 6c 65 20 28 21 24 77 6f 72 6b 51 75 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 ..while.(!$workQueue->isEmpty())
57fe0 20 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 77 6f 72 6b 51 75 65 75 65 2d 3e 64 65 71 75 65 .{..$package.=.$workQueue->deque
58000 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 5b ue();.if.(isset($this->addedMap[
58020 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 $package->id])).{.continue;.}..$
58040 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 this->addedMap[$package->id].=.t
58060 72 75 65 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 rue;..$this->addedPackages[].=.$
58080 70 61 63 6b 61 67 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e package;.foreach.($package->getN
580a0 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 ames().as.$name).{.$this->addedP
580c0 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 70 61 63 6b 61 ackagesByNames[$name][].=.$packa
580e0 67 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 ge;.}..foreach.($package->getReq
58100 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 50 uires().as.$link).{.if.($ignoreP
58120 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f latformReqs.&&.preg_match(Platfo
58140 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 rmRepository::PLATFORM_PACKAGE_R
58160 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 63 6f 6e EGEX,.$link->getTarget())).{.con
58180 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 tinue;.}..$possibleRequires.=.$t
581a0 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 his->pool->whatProvides($link->g
581c0 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 etTarget(),.$link->getConstraint
581e0 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 ());..$this->addRule(RuleSet::TY
58200 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 69 72 65 PE_PACKAGE,.$this->createRequire
58220 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 Rule($package,.$possibleRequires
58240 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 2c 20 24 ,.Rule::RULE_PACKAGE_REQUIRES,.$
58260 6c 69 6e 6b 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 link));..foreach.($possibleRequi
58280 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 res.as.$require).{.$workQueue->e
582a0 6e 71 75 65 75 65 28 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4e nqueue($require);.}.}..$packageN
582c0 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 6f 62 73 6f ame.=.$package->getName();.$obso
582e0 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 leteProviders.=.$this->pool->wha
58300 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 0a tProvides($packageName,.null);..
58320 66 6f 72 65 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 24 foreach.($obsoleteProviders.as.$
58340 70 72 6f 76 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 provider).{.if.($provider.===.$p
58360 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 28 24 70 61 63 ackage).{.continue;.}..if.(($pac
58380 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 26 26 kage.instanceof.AliasPackage).&&
583a0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f .$package->getAliasOf().===.$pro
583c0 76 69 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a vider).{.$this->addRule(RuleSet:
583e0 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 :TYPE_PACKAGE,.$this->createRequ
58400 69 72 65 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 28 24 70 72 6f 76 69 64 65 ireRule($package,.array($provide
58420 72 29 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 2c 20 24 70 r),.Rule::RULE_PACKAGE_ALIAS,.$p
58440 61 63 6b 61 67 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 62 73 6f ackage));.}.elseif.(!$this->obso
58460 6c 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c leteImpossibleForAlias($package,
58480 20 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 28 24 70 61 63 6b 61 .$provider)).{.$reason.=.($packa
584a0 67 65 4e 61 6d 65 20 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 geName.==.$provider->getName()).
584c0 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 20 3a ?.Rule::RULE_PACKAGE_SAME_NAME.:
584e0 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 .Rule::RULE_PACKAGE_IMPLICIT_OBS
58500 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a OLETES;.$this->addRule(RuleSet::
58520 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 TYPE_PACKAGE,.$this->createRule2
58540 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 2c 20 24 72 Literals($package,.$provider,.$r
58560 65 61 73 6f 6e 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 eason,.$package));.}.}.}.}..prot
58580 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 6c 69 63 74 52 75 6c 65 73 28 ected.function.addConflictRules(
585a0 29 0a 7b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 ).{..foreach.($this->addedPackag
585c0 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b es.as.$package).{.foreach.($pack
585e0 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a age->getConflicts().as.$link).{.
58600 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 if.(!isset($this->addedPackagesB
58620 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 29 29 20 7b 0a 63 yNames[$link->getTarget()])).{.c
58640 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 64 64 ontinue;.}...foreach.($this->add
58660 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 edPackagesByNames[$link->getTarg
58680 65 74 28 29 5d 20 61 73 20 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 29 20 7b 0a 24 63 et()].as.$possibleConflict).{.$c
586a0 6f 6e 66 6c 69 63 74 4d 61 74 63 68 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6d 61 74 63 onflictMatch.=.$this->pool->matc
586c0 68 28 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 h($possibleConflict,.$link->getT
586e0 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c arget(),.$link->getConstraint(),
58700 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 4d 61 74 63 68 20 3d 3d 3d 20 .true);..if.($conflictMatch.===.
58720 50 6f 6f 6c 3a 3a 4d 41 54 43 48 20 7c 7c 20 24 63 6f 6e 66 6c 69 63 74 4d 61 74 63 68 20 3d 3d Pool::MATCH.||.$conflictMatch.==
58740 3d 20 50 6f 6f 6c 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 29 20 7b 0a 24 74 68 69 73 2d 3e =.Pool::MATCH_REPLACE).{.$this->
58760 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 addRule(RuleSet::TYPE_PACKAGE,.$
58780 74 68 69 73 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 this->createRule2Literals($packa
587a0 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 2c 20 52 75 6c 65 3a 3a 52 55 4c ge,.$possibleConflict,.Rule::RUL
587c0 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 0a E_PACKAGE_CONFLICT,.$link));.}..
587e0 7d 0a 7d 0a 0a 0a 20 24 69 73 49 6e 73 74 61 6c 6c 65 64 20 3d 20 69 73 73 65 74 28 24 74 68 69 }.}....$isInstalled.=.isset($thi
58800 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 3b 0a s->installedMap[$package->id]);.
58820 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 .foreach.($package->getReplaces(
58840 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e ).as.$link).{.if.(!isset($this->
58860 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 addedPackagesByNames[$link->getT
58880 61 72 67 65 74 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 66 6f 72 65 61 arget()])).{.continue;.}...forea
588a0 63 68 20 28 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b ch.($this->addedPackagesByNames[
588c0 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 61 73 20 24 70 72 6f 76 69 64 65 72 $link->getTarget()].as.$provider
588e0 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 ).{.if.($provider.===.$package).
58900 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 62 73 6f 6c {.continue;.}..if.(!$this->obsol
58920 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c 20 eteImpossibleForAlias($package,.
58940 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 69 73 49 6e 73 74 61 $provider)).{.$reason.=.$isInsta
58960 6c 6c 65 64 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f 50 41 43 4b lled.?.Rule::RULE_INSTALLED_PACK
58980 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3a 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 AGE_OBSOLETES.:.Rule::RULE_PACKA
589a0 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c GE_OBSOLETES;.$this->addRule(Rul
589c0 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 eSet::TYPE_PACKAGE,.$this->creat
589e0 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 eRule2Literals($package,.$provid
58a00 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a er,.$reason,.$link));.}.}.}.}.}.
58a20 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 73 6f 6c 65 74 65 49 6d 70 6f .protected.function.obsoleteImpo
58a40 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 ssibleForAlias($package,.$provid
58a60 65 72 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 3d 20 24 70 61 63 6b 61 67 65 er).{.$packageIsAlias.=.$package
58a80 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 24 70 72 6f 76 69 .instanceof.AliasPackage;.$provi
58aa0 64 65 72 49 73 41 6c 69 61 73 20 3d 20 24 70 72 6f 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f derIsAlias.=.$provider.instanceo
58ac0 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 24 69 6d 70 6f 73 73 69 62 6c 65 20 3d 20 28 f.AliasPackage;..$impossible.=.(
58ae0 0a 28 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 .($packageIsAlias.&&.$package->g
58b00 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7c 7c 0a 28 24 etAliasOf().===.$provider).||.($
58b20 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 providerIsAlias.&&.$provider->ge
58b40 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7c 7c 0a 28 24 70 61 tAliasOf().===.$package).||.($pa
58b60 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 ckageIsAlias.&&.$providerIsAlias
58b80 20 26 26 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 .&&.$provider->getAliasOf().===.
58ba0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 0a 29 3b 0a 0a 72 65 74 75 $package->getAliasOf()).);..retu
58bc0 72 6e 20 24 69 6d 70 6f 73 73 69 62 6c 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e rn.$impossible;.}..protected.fun
58be0 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 0a 7b 0a 66 6f 72 65 ction.whitelistFromJobs().{.fore
58c00 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 ach.($this->jobs.as.$job).{.swit
58c20 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c ch.($job['cmd']).{.case.'install
58c40 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 ':.$packages.=.$this->pool->what
58c60 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a Provides($job['packageName'],.$j
58c80 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 ob['constraint'],.true);.foreach
58ca0 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 .($packages.as.$package).{.$this
58cc0 2d 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 ->whitelistFromPackage($package)
58ce0 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ;.}.break;.}.}.}..protected.func
58d00 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 4a 6f 62 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 tion.addRulesForJobs($ignorePlat
58d20 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 formReqs).{.foreach.($this->jobs
58d40 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 .as.$job).{.switch.($job['cmd'])
58d60 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 21 24 6a 6f 62 5b 27 66 69 .{.case.'install':.if.(!$job['fi
58d80 78 65 64 27 5d 20 26 26 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 xed'].&&.$ignorePlatformReqs.&&.
58da0 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 preg_match(PlatformRepository::P
58dc0 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6a 6f 62 5b 27 70 61 63 LATFORM_PACKAGE_REGEX,.$job['pac
58de0 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 kageName'])).{.break;.}..$packag
58e00 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 es.=.$this->pool->whatProvides($
58e20 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 job['packageName'],.$job['constr
58e40 61 69 6e 74 27 5d 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 66 6f 72 65 61 63 aint']);.if.($packages).{.foreac
58e60 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 h.($packages.as.$package).{.if.(
58e80 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b !isset($this->installedMap[$pack
58ea0 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 50 age->id])).{.$this->addRulesForP
58ec0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d ackage($package,.$ignorePlatform
58ee0 52 65 71 73 29 3b 0a 7d 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 Reqs);.}.}..$rule.=.$this->creat
58f00 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 24 70 61 63 6b 61 67 65 73 2c 20 52 75 6c eInstallOneOfRule($packages,.Rul
58f20 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 2c 20 24 6a 6f 62 29 3b 0a 24 74 68 69 e::RULE_JOB_INSTALL,.$job);.$thi
58f40 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 2c 20 24 72 s->addRule(RuleSet::TYPE_JOB,.$r
58f60 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 72 65 6d 6f 76 65 27 3a 0a 0a 20 ule);.}.break;.case.'remove':...
58f80 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 ..$packages.=.$this->pool->whatP
58fa0 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f rovides($job['packageName'],.$jo
58fc0 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b b['constraint']);.foreach.($pack
58fe0 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 ages.as.$package).{.$rule.=.$thi
59000 73 2d 3e 63 72 65 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 52 75 s->createRemoveRule($package,.Ru
59020 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 2c 20 24 6a 6f 62 29 3b 0a 24 74 68 69 le::RULE_JOB_REMOVE,.$job);.$thi
59040 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 2c 20 24 72 s->addRule(RuleSet::TYPE_JOB,.$r
59060 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ule);.}.break;.}.}.}..public.fun
59080 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 46 6f 72 28 24 6a 6f 62 73 2c 20 24 69 6e 73 74 61 6c ction.getRulesFor($jobs,.$instal
590a0 6c 65 64 4d 61 70 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 ledMap,.$ignorePlatformReqs.=.fa
590c0 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 6a 6f 62 73 3b 0a 24 74 68 69 lse).{.$this->jobs.=.$jobs;.$thi
590e0 73 2d 3e 72 75 6c 65 73 20 3d 20 6e 65 77 20 52 75 6c 65 53 65 74 3b 0a 24 74 68 69 73 2d 3e 69 s->rules.=.new.RuleSet;.$this->i
59100 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 24 74 nstalledMap.=.$installedMap;..$t
59120 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 his->whitelistedMap.=.array();.f
59140 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 61 73 20 24 oreach.($this->installedMap.as.$
59160 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 package).{.$this->whitelistFromP
59180 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 ackage($package);.}.$this->white
591a0 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 73 65 listFromJobs();..$this->pool->se
591c0 74 57 68 69 74 65 6c 69 73 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 tWhitelist($this->whitelistedMap
591e0 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 );..$this->addedMap.=.array();.$
59200 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 41 64 64 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 this->conflictAddedMap.=.array()
59220 3b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 ;.$this->addedPackages.=.array()
59240 3b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 20 3d 20 ;.$this->addedPackagesByNames.=.
59260 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c array();.foreach.($this->install
59280 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 edMap.as.$package).{.$this->addR
592a0 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 ulesForPackage($package,.$ignore
592c0 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 PlatformReqs);.}..$this->addRule
592e0 73 46 6f 72 4a 6f 62 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 0a sForJobs($ignorePlatformReqs);..
59300 24 74 68 69 73 2d 3e 61 64 64 43 6f 6e 66 6c 69 63 74 52 75 6c 65 73 28 29 3b 0a 0a 0a 20 24 74 $this->addConflictRules();....$t
59320 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 65 his->addedPackages.=.$this->adde
59340 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e dPackagesByNames.=.null;..return
59360 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a .$this->rules;.}.}.<?php........
59380 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 ....namespace.Composer\Dependenc
593a0 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 49 74 65 72 yResolver;.....class.RuleSetIter
593c0 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 ator.implements.\Iterator.{.prot
593e0 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 73 3b 0a ected.$rules;.protected.$types;.
59400 0a 70 72 6f 74 65 63 74 65 64 20 24 63 75 72 72 65 6e 74 4f 66 66 73 65 74 3b 0a 70 72 6f 74 65 .protected.$currentOffset;.prote
59420 63 74 65 64 20 24 63 75 72 72 65 6e 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 75 cted.$currentType;.protected.$cu
59440 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rrentTypeOffset;..public.functio
59460 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 75 6c 65 73 29 0a 7b 0a 24 74 n.__construct(array.$rules).{.$t
59480 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 24 72 75 6c 65 73 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 his->rules.=.$rules;.$this->type
594a0 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 75 6c 65 73 29 3b 0a 73 6f 72 74 28 24 74 68 s.=.array_keys($rules);.sort($th
594c0 69 73 2d 3e 74 79 70 65 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a is->types);..$this->rewind();.}.
594e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 72 65 74 .public.function.current().{.ret
59500 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 urn.$this->rules[$this->currentT
59520 79 70 65 5d 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 3b 0a 7d 0a 0a 70 ype][$this->currentOffset];.}..p
59540 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ublic.function.key().{.return.$t
59560 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his->currentType;.}..public.func
59580 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 tion.next().{.$this->currentOffs
595a0 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 et++;..if.(!isset($this->rules[$
595c0 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d this->currentType])).{.return;.}
595e0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3e 3d 20 63 6f ..if.($this->currentOffset.>=.co
59600 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 unt($this->rules[$this->currentT
59620 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3d 20 ype])).{.$this->currentOffset.=.
59640 30 3b 0a 0a 64 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 0;..do.{.$this->currentTypeOffse
59660 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 t++;..if.(!isset($this->types[$t
59680 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 29 20 7b 0a 24 74 68 69 his->currentTypeOffset])).{.$thi
596a0 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 s->currentType.=.-1;.break;.}..$
596c0 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 73 this->currentType.=.$this->types
596e0 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 3b 0a 7d 20 77 68 [$this->currentTypeOffset];.}.wh
59700 69 6c 65 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 ile.(isset($this->types[$this->c
59720 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 20 26 26 20 21 63 6f 75 6e 74 28 24 74 68 urrentTypeOffset]).&&.!count($th
59740 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 3b is->rules[$this->currentType]));
59760 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b .}.}..public.function.rewind().{
59780 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 24 74 68 69 .$this->currentOffset.=.0;..$thi
597a0 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 20 3d 20 2d 31 3b 0a 24 74 68 69 73 s->currentTypeOffset.=.-1;.$this
597c0 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 0a 64 6f 20 7b 0a 24 74 68 69 73 2d ->currentType.=.-1;..do.{.$this-
597e0 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 >currentTypeOffset++;..if.(!isse
59800 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 t($this->types[$this->currentTyp
59820 65 4f 66 66 73 65 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 eOffset])).{.$this->currentType.
59840 3d 20 2d 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 =.-1;.break;.}..$this->currentTy
59860 70 65 20 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 pe.=.$this->types[$this->current
59880 54 79 70 65 4f 66 66 73 65 74 5d 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 68 69 TypeOffset];.}.while.(isset($thi
598a0 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 s->types[$this->currentTypeOffse
598c0 74 5d 29 20 26 26 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 t]).&&.!count($this->rules[$this
598e0 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ->currentType]));.}..public.func
59900 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 tion.valid().{.return.isset($thi
59920 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 0a 26 26 s->rules[$this->currentType]).&&
59940 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 .isset($this->rules[$this->curre
59960 6e 74 54 79 70 65 5d 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 29 3b 0a ntType][$this->currentOffset]);.
59980 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
599a0 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a omposer\DependencyResolver;.....
599c0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 20 65 78 74 65 6e 64 .....class.RuleWatchChain.extend
599e0 73 20 5c 53 70 6c 44 6f 75 62 6c 79 4c 69 6e 6b 65 64 4c 69 73 74 0a 7b 0a 70 72 6f 74 65 63 74 s.\SplDoublyLinkedList.{.protect
59a00 65 64 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ed.$offset.=.0;.......public.fun
59a20 63 74 69 6f 6e 20 73 65 65 6b 28 24 6f 66 66 73 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 77 ction.seek($offset).{.$this->rew
59a40 69 6e 64 28 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6f 66 66 73 65 74 ind();.for.($i.=.0;.$i.<.$offset
59a60 3b 20 24 69 2b 2b 2c 20 24 74 68 69 73 2d 3e 6e 65 78 74 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ;.$i++,.$this->next());.}.......
59a80 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 29 0a 7b 0a 24 6f ...public.function.remove().{.$o
59aa0 66 66 73 65 74 20 3d 20 24 74 68 69 73 2d 3e 6b 65 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 66 66 ffset.=.$this->key();.$this->off
59ac0 73 65 74 55 6e 73 65 74 28 24 6f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 65 6b 28 24 setUnset($offset);.$this->seek($
59ae0 6f 66 66 73 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 offset);.}.}.<?php............na
59b00 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
59b20 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 47 ver;............class.RuleWatchG
59b40 72 61 70 68 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 43 68 61 69 6e 73 20 3d 20 raph.{.protected.$watchChains.=.
59b60 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e array();..............public.fun
59b80 63 74 69 6f 6e 20 69 6e 73 65 72 74 28 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 20 24 6e 6f 64 65 ction.insert(RuleWatchNode.$node
59ba0 29 0a 7b 0a 69 66 20 28 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 41 73 73 65 ).{.if.($node->getRule()->isAsse
59bc0 72 74 69 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 rtion()).{.return;.}..foreach.(a
59be0 72 72 61 79 28 24 6e 6f 64 65 2d 3e 77 61 74 63 68 31 2c 20 24 6e 6f 64 65 2d 3e 77 61 74 63 68 rray($node->watch1,.$node->watch
59c00 32 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 2).as.$literal).{.if.(!isset($th
59c20 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 24 74 is->watchChains[$literal])).{.$t
59c40 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 20 3d 20 6e 65 77 his->watchChains[$literal].=.new
59c60 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 .RuleWatchChain;.}..$this->watch
59c80 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 74 28 24 6e 6f 64 65 29 Chains[$literal]->unshift($node)
59ca0 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ;.}.}.........................pu
59cc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 61 67 61 74 65 4c 69 74 65 72 61 6c 28 24 blic.function.propagateLiteral($
59ce0 64 65 63 69 64 65 64 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f decidedLiteral,.$level,.$decisio
59d00 6e 73 29 0a 7b 0a 0a 20 0a 20 0a 20 24 6c 69 74 65 72 61 6c 20 3d 20 2d 24 64 65 63 69 64 65 64 ns).{.......$literal.=.-$decided
59d20 4c 69 74 65 72 61 6c 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 74 63 Literal;..if.(!isset($this->watc
59d40 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c hChains[$literal])).{.return.nul
59d60 6c 3b 0a 7d 0a 0a 24 63 68 61 69 6e 20 3d 20 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e l;.}..$chain.=.$this->watchChain
59d80 73 5b 24 6c 69 74 65 72 61 6c 5d 3b 0a 0a 24 63 68 61 69 6e 2d 3e 72 65 77 69 6e 64 28 29 3b 0a s[$literal];..$chain->rewind();.
59da0 77 68 69 6c 65 20 28 24 63 68 61 69 6e 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 24 6e 6f 64 65 20 while.($chain->valid()).{.$node.
59dc0 3d 20 24 63 68 61 69 6e 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 24 6f 74 68 65 72 57 61 74 63 68 =.$chain->current();.$otherWatch
59de0 20 3d 20 24 6e 6f 64 65 2d 3e 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c .=.$node->getOtherWatch($literal
59e00 29 3b 0a 0a 69 66 20 28 21 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 44 69 73 );..if.(!$node->getRule()->isDis
59e20 61 62 6c 65 64 28 29 20 26 26 20 21 24 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 abled().&&.!$decisions->satisfy(
59e40 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 20 3d 20 $otherWatch)).{.$ruleLiterals.=.
59e60 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b $node->getRule()->getLiterals();
59e80 0a 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 5f 66 ..$alternativeLiterals.=.array_f
59ea0 69 6c 74 65 72 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 ilter($ruleLiterals,.function.($
59ec0 72 75 6c 65 4c 69 74 65 72 61 6c 29 20 75 73 65 20 28 24 6c 69 74 65 72 61 6c 2c 20 24 6f 74 68 ruleLiteral).use.($literal,.$oth
59ee0 65 72 57 61 74 63 68 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c erWatch,.$decisions).{.return.$l
59f00 69 74 65 72 61 6c 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 24 6f 74 68 65 iteral.!==.$ruleLiteral.&&.$othe
59f20 72 57 61 74 63 68 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 21 24 64 65 63 rWatch.!==.$ruleLiteral.&&.!$dec
59f40 69 73 69 6f 6e 73 2d 3e 63 6f 6e 66 6c 69 63 74 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 29 3b 0a isions->conflict($ruleLiteral);.
59f60 7d 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 20 7b });..if.($alternativeLiterals).{
59f80 0a 72 65 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 3b 0a 24 74 .reset($alternativeLiterals);.$t
59fa0 68 69 73 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 2c 20 63 75 72 72 65 6e 74 his->moveWatch($literal,.current
59fc0 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 2c 20 24 6e 6f 64 65 29 3b 0a ($alternativeLiterals),.$node);.
59fe0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 73 2d 3e 63 6f 6e continue;.}..if.($decisions->con
5a000 66 6c 69 63 74 28 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 6f flict($otherWatch)).{.return.$no
5a020 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 de->getRule();.}..$decisions->de
5a040 63 69 64 65 28 24 6f 74 68 65 72 57 61 74 63 68 2c 20 24 6c 65 76 65 6c 2c 20 24 6e 6f 64 65 2d cide($otherWatch,.$level,.$node-
5a060 3e 67 65 74 52 75 6c 65 28 29 29 3b 0a 7d 0a 0a 24 63 68 61 69 6e 2d 3e 6e 65 78 74 28 29 3b 0a >getRule());.}..$chain->next();.
5a080 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 }..return.null;.}...........prot
5a0a0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 4c 69 ected.function.moveWatch($fromLi
5a0c0 74 65 72 61 6c 2c 20 24 74 6f 4c 69 74 65 72 61 6c 2c 20 24 6e 6f 64 65 29 0a 7b 0a 69 66 20 28 teral,.$toLiteral,.$node).{.if.(
5a0e0 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 !isset($this->watchChains[$toLit
5a100 65 72 61 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f eral])).{.$this->watchChains[$to
5a120 4c 69 74 65 72 61 6c 5d 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 3b 0a 7d Literal].=.new.RuleWatchChain;.}
5a140 0a 0a 24 6e 6f 64 65 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 4c 69 74 65 72 61 6c 2c ..$node->moveWatch($fromLiteral,
5a160 20 24 74 6f 4c 69 74 65 72 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 .$toLiteral);.$this->watchChains
5a180 5b 24 66 72 6f 6d 4c 69 74 65 72 61 6c 5d 2d 3e 72 65 6d 6f 76 65 28 29 3b 0a 24 74 68 69 73 2d [$fromLiteral]->remove();.$this-
5a1a0 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 >watchChains[$toLiteral]->unshif
5a1c0 74 28 24 6e 6f 64 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e t($node);.}.}.<?php............n
5a1e0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f amespace.Composer\DependencyReso
5a200 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 lver;.........class.RuleWatchNod
5a220 65 0a 7b 0a 70 75 62 6c 69 63 20 24 77 61 74 63 68 31 3b 0a 70 75 62 6c 69 63 20 24 77 61 74 63 e.{.public.$watch1;.public.$watc
5a240 68 32 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c h2;..protected.$rule;.......publ
5a260 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 75 6c 65 29 0a 7b ic.function.__construct($rule).{
5a280 0a 24 74 68 69 73 2d 3e 72 75 6c 65 20 3d 20 24 72 75 6c 65 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 .$this->rule.=.$rule;..$literals
5a2a0 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 24 6c 69 74 65 72 .=.$rule->getLiterals();..$liter
5a2c0 61 6c 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 24 74 68 69 alCount.=.count($literals);.$thi
5a2e0 73 2d 3e 77 61 74 63 68 31 20 3d 20 24 6c 69 74 65 72 61 6c 43 6f 75 6e 74 20 3e 20 30 20 3f 20 s->watch1.=.$literalCount.>.0.?.
5a300 24 6c 69 74 65 72 61 6c 73 5b 30 5d 20 3a 20 30 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 32 20 $literals[0].:.0;.$this->watch2.
5a320 3d 20 24 6c 69 74 65 72 61 6c 43 6f 75 6e 74 20 3e 20 31 20 3f 20 24 6c 69 74 65 72 61 6c 73 5b =.$literalCount.>.1.?.$literals[
5a340 31 5d 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 1].:.0;.}..........public.functi
5a360 6f 6e 20 77 61 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 44 65 63 69 73 69 6f 6e 73 20 24 64 65 on.watch2OnHighest(Decisions.$de
5a380 63 69 73 69 6f 6e 73 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 cisions).{.$literals.=.$this->ru
5a3a0 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 le->getLiterals();....if.(count(
5a3c0 24 6c 69 74 65 72 61 6c 73 29 20 3c 20 33 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 77 61 $literals).<.3).{.return;.}..$wa
5a3e0 74 63 68 4c 65 76 65 6c 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c tchLevel.=.0;..foreach.($literal
5a400 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 6c 65 76 65 6c 20 3d 20 24 64 65 63 69 73 s.as.$literal).{.$level.=.$decis
5a420 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a ions->decisionLevel($literal);..
5a440 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 24 77 61 74 63 68 4c 65 76 65 6c 29 20 7b 0a 24 74 68 69 if.($level.>.$watchLevel).{.$thi
5a460 73 2d 3e 77 61 74 63 68 32 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 77 61 74 63 68 4c 65 76 65 s->watch2.=.$literal;.$watchLeve
5a480 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 l.=.$level;.}.}.}.......public.f
5a4a0 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 unction.getRule().{.return.$this
5a4c0 2d 3e 72 75 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->rule;.}........public.function
5a4e0 20 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 69 66 20 28 24 .getOtherWatch($literal).{.if.($
5a500 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 3d 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 72 65 74 75 this->watch1.==.$literal).{.retu
5a520 72 6e 20 24 74 68 69 73 2d 3e 77 61 74 63 68 32 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 rn.$this->watch2;.}..return.$thi
5a540 73 2d 3e 77 61 74 63 68 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->watch1;.}........public.funct
5a560 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b 0a 69 66 20 28 ion.moveWatch($from,.$to).{.if.(
5a580 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 3d 20 24 66 72 6f 6d 29 20 7b 0a 24 74 68 69 73 2d $this->watch1.==.$from).{.$this-
5a5a0 3e 77 61 74 63 68 31 20 3d 20 24 74 6f 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 >watch1.=.$to;.}.else.{.$this->w
5a5c0 61 74 63 68 32 20 3d 20 24 74 6f 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a atch2.=.$to;.}.}.}.<?php........
5a5e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 ....namespace.Composer\Dependenc
5a600 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e yResolver;..use.Composer\IO\IOIn
5a620 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 terface;.use.Composer\Repository
5a640 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \RepositoryInterface;.use.Compos
5a660 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 er\Repository\PlatformRepository
5a680 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 0a 7b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 ;.....class.Solver.{.const.BRANC
5a6a0 48 5f 4c 49 54 45 52 41 4c 53 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 4c 45 56 H_LITERALS.=.0;.const.BRANCH_LEV
5a6c0 45 4c 20 3d 20 31 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 0a 70 72 EL.=.1;...protected.$policy;..pr
5a6e0 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 otected.$pool;..protected.$insta
5a700 6c 6c 65 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 0a 70 72 6f 74 65 63 lled;..protected.$rules;..protec
5a720 74 65 64 20 24 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 70 72 6f 74 65 63 74 65 ted.$ruleSetGenerator;..protecte
5a740 64 20 24 6a 6f 62 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 4d 61 70 20 d.$jobs;...protected.$updateMap.
5a760 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 47 72 61 70 =.array();..protected.$watchGrap
5a780 68 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 0a 70 72 6f 74 65 h;..protected.$decisions;..prote
5a7a0 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 cted.$installedMap;...protected.
5a7c0 24 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 $propagateIndex;..protected.$bra
5a7e0 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f nches.=.array();..protected.$pro
5a800 62 6c 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 65 61 blems.=.array();..protected.$lea
5a820 72 6e 65 64 50 6f 6f 6c 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 rnedPool.=.array();..protected.$
5a840 6c 65 61 72 6e 65 64 57 68 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 70 75 62 6c 69 63 20 24 learnedWhy.=.array();...public.$
5a860 74 65 73 74 46 6c 61 67 4c 65 61 72 6e 65 64 50 6f 73 69 74 69 76 65 4c 69 74 65 72 61 6c 20 3d testFlagLearnedPositiveLiteral.=
5a880 20 66 61 6c 73 65 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a .false;...protected.$io;........
5a8a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6c 69 public.function.__construct(Poli
5a8c0 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c cyInterface.$policy,.Pool.$pool,
5a8e0 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 2c .RepositoryInterface.$installed,
5a900 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 .IOInterface.$io).{.$this->io.=.
5a920 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 $io;.$this->policy.=.$policy;.$t
5a940 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c his->pool.=.$pool;.$this->instal
5a960 6c 65 64 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 led.=.$installed;.$this->ruleSet
5a980 47 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 Generator.=.new.RuleSetGenerator
5a9a0 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ($policy,.$pool);.}.....public.f
5a9c0 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 53 65 74 53 69 7a 65 28 29 0a 7b 0a 72 65 74 75 72 unction.getRuleSetSize().{.retur
5a9e0 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 7d 0a 0a 0a 0a 70 72 69 76 n.count($this->rules);.}....priv
5aa00 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 ate.function.makeAssertionRuleDe
5aa20 63 69 73 69 6f 6e 73 28 29 0a 7b 0a 24 64 65 63 69 73 69 6f 6e 53 74 61 72 74 20 3d 20 63 6f 75 cisions().{.$decisionStart.=.cou
5aa40 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 20 2d 20 31 3b 0a 0a 24 72 75 6c 65 nt($this->decisions).-.1;..$rule
5aa60 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 66 6f sCount.=.count($this->rules);.fo
5aa80 72 20 28 24 72 75 6c 65 49 6e 64 65 78 20 3d 20 30 3b 20 24 72 75 6c 65 49 6e 64 65 78 20 3c 20 r.($ruleIndex.=.0;.$ruleIndex.<.
5aaa0 24 72 75 6c 65 73 43 6f 75 6e 74 3b 20 24 72 75 6c 65 49 6e 64 65 78 2b 2b 29 20 7b 0a 24 72 75 $rulesCount;.$ruleIndex++).{.$ru
5aac0 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 72 75 6c le.=.$this->rules->ruleById[$rul
5aae0 65 49 6e 64 65 78 5d 3b 0a 0a 69 66 20 28 21 24 72 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 69 6f eIndex];..if.(!$rule->isAssertio
5ab00 6e 28 29 20 7c 7c 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f n().||.$rule->isDisabled()).{.co
5ab20 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 ntinue;.}..$literals.=.$rule->ge
5ab40 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c tLiterals();.$literal.=.$literal
5ab60 73 5b 30 5d 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 s[0];..if.(!$this->decisions->de
5ab80 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 cided($literal)).{.$this->decisi
5aba0 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 31 2c 20 24 72 75 6c 65 29 3b ons->decide($literal,.1,.$rule);
5abc0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f .continue;.}..if.($this->decisio
5abe0 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 ns->satisfy($literal)).{.continu
5ac00 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 e;.}....if.(RuleSet::TYPE_LEARNE
5ac20 44 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 24 72 75 6c 65 2d D.===.$rule->getType()).{.$rule-
5ac40 3e 64 69 73 61 62 6c 65 28 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 6c 69 >disable();.continue;.}..$confli
5ac60 63 74 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 52 ct.=.$this->decisions->decisionR
5ac80 75 6c 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 20 26 26 ule($literal);..if.($conflict.&&
5aca0 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 3d 3d 20 24 63 6f 6e 66 .RuleSet::TYPE_PACKAGE.===.$conf
5acc0 6c 69 63 74 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 lict->getType()).{.$problem.=.ne
5ace0 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 0a 24 70 72 6f 62 6c 65 w.Problem($this->pool);..$proble
5ad00 6d 2d 3e 61 64 64 52 75 6c 65 28 24 72 75 6c 65 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 m->addRule($rule);.$problem->add
5ad20 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 Rule($conflict);.$this->disableP
5ad40 72 6f 62 6c 65 6d 28 24 72 75 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d roblem($rule);.$this->problems[]
5ad60 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 70 72 6f .=.$problem;.continue;.}....$pro
5ad80 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b blem.=.new.Problem($this->pool);
5ada0 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 72 75 6c 65 29 3b 0a 24 70 72 6f 62 .$problem->addRule($rule);.$prob
5adc0 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 29 3b 0a 0a 0a 20 0a 20 66 6f lem->addRule($conflict);......fo
5ade0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 reach.($this->rules->getIterator
5ae00 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 29 20 61 73 20 24 61 73 73 65 72 For(RuleSet::TYPE_JOB).as.$asser
5ae20 74 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 69 73 44 69 73 61 tRule).{.if.($assertRule->isDisa
5ae40 62 6c 65 64 28 29 20 7c 7c 20 21 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 bled().||.!$assertRule->isAssert
5ae60 69 6f 6e 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 61 73 73 65 72 74 52 75 6c ion()).{.continue;.}..$assertRul
5ae80 65 4c 69 74 65 72 61 6c 73 20 3d 20 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 67 65 74 4c 69 74 65 eLiterals.=.$assertRule->getLite
5aea0 72 61 6c 73 28 29 3b 0a 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 20 3d 20 24 61 73 rals();.$assertRuleLiteral.=.$as
5aec0 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 73 5b 30 5d 3b 0a 0a 69 66 20 28 61 62 73 28 24 6c sertRuleLiterals[0];..if.(abs($l
5aee0 69 74 65 72 61 6c 29 20 21 3d 3d 20 61 62 73 28 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 iteral).!==.abs($assertRuleLiter
5af00 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 al)).{.continue;.}..$problem->ad
5af20 64 52 75 6c 65 28 24 61 73 73 65 72 74 52 75 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 dRule($assertRule);.$this->disab
5af40 6c 65 50 72 6f 62 6c 65 6d 28 24 61 73 73 65 72 74 52 75 6c 65 29 3b 0a 7d 0a 24 74 68 69 73 2d leProblem($assertRule);.}.$this-
5af60 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 0a 24 74 68 69 73 2d 3e >problems[].=.$problem;..$this->
5af80 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 73 65 74 54 6f 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 decisions->resetToOffset($decisi
5afa0 6f 6e 53 74 61 72 74 29 3b 0a 24 72 75 6c 65 49 6e 64 65 78 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a onStart);.$ruleIndex.=.-1;.}.}..
5afc0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 49 6e 73 74 61 6c 6c 65 protected.function.setupInstalle
5afe0 64 4d 61 70 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 dMap().{.$this->installedMap.=.a
5b000 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 rray();.foreach.($this->installe
5b020 64 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a d->getPackages().as.$package).{.
5b040 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 $this->installedMap[$package->id
5b060 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ].=.$package;.}.}.....protected.
5b080 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f 72 52 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 function.checkForRootRequireProb
5b0a0 6c 65 6d 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 lems($ignorePlatformReqs).{.fore
5b0c0 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 ach.($this->jobs.as.$job).{.swit
5b0e0 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 ch.($job['cmd']).{.case.'update'
5b100 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 :.$packages.=.$this->pool->whatP
5b120 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f rovides($job['packageName'],.$jo
5b140 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b b['constraint']);.foreach.($pack
5b160 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 ages.as.$package).{.if.(isset($t
5b180 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 his->installedMap[$package->id])
5b1a0 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 ).{.$this->updateMap[$package->i
5b1c0 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 d].=.true;.}.}.break;..case.'upd
5b1e0 61 74 65 2d 61 6c 6c 27 3a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c ate-all':.foreach.($this->instal
5b200 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 ledMap.as.$package).{.$this->upd
5b220 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 ateMap[$package->id].=.true;.}.b
5b240 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 24 69 67 6e 6f reak;..case.'install':.if.($igno
5b260 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 rePlatformReqs.&&.preg_match(Pla
5b280 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 tformRepository::PLATFORM_PACKAG
5b2a0 45 5f 52 45 47 45 58 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b E_REGEX,.$job['packageName'])).{
5b2c0 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 .break;.}..if.(!$this->pool->wha
5b2e0 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 tProvides($job['packageName'],.$
5b300 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 29 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d job['constraint'])).{.$problem.=
5b320 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 .new.Problem($this->pool);.$prob
5b340 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 61 72 72 lem->addRule(new.GenericRule(arr
5b360 61 79 28 29 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 6a 6f 62 29 29 3b 0a 24 74 68 69 73 2d ay(),.null,.null,.$job));.$this-
5b380 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 7d 0a 62 72 65 61 6b 3b >problems[].=.$problem;.}.break;
5b3a0 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 6c .}.}.}.......public.function.sol
5b3c0 76 65 28 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 ve(Request.$request,.$ignorePlat
5b3e0 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 formReqs.=.false).{.$this->jobs.
5b400 3d 20 24 72 65 71 75 65 73 74 2d 3e 67 65 74 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 =.$request->getJobs();..$this->s
5b420 65 74 75 70 49 6e 73 74 61 6c 6c 65 64 4d 61 70 28 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 etupInstalledMap();.$this->rules
5b440 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2d 3e 67 65 74 52 .=.$this->ruleSetGenerator->getR
5b460 75 6c 65 73 46 6f 72 28 24 74 68 69 73 2d 3e 6a 6f 62 73 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 ulesFor($this->jobs,.$this->inst
5b480 61 6c 6c 65 64 4d 61 70 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a alledMap,.$ignorePlatformReqs);.
5b4a0 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 52 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 6c 65 $this->checkForRootRequireProble
5b4c0 6d 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e ms($ignorePlatformReqs);.$this->
5b4e0 64 65 63 69 73 69 6f 6e 73 20 3d 20 6e 65 77 20 44 65 63 69 73 69 6f 6e 73 28 24 74 68 69 73 2d decisions.=.new.Decisions($this-
5b500 3e 70 6f 6f 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 20 3d 20 6e 65 77 20 >pool);.$this->watchGraph.=.new.
5b520 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d RuleWatchGraph;..foreach.($this-
5b540 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 >rules.as.$rule).{.$this->watchG
5b560 72 61 70 68 2d 3e 69 6e 73 65 72 74 28 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 24 raph->insert(new.RuleWatchNode($
5b580 72 75 6c 65 29 29 3b 0a 7d 0a 0a 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e rule));.}...$this->makeAssertion
5b5a0 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 RuleDecisions();..$this->io->wri
5b5c0 74 65 45 72 72 6f 72 28 27 52 65 73 6f 6c 76 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 teError('Resolving.dependencies.
5b5e0 74 68 72 6f 75 67 68 20 53 41 54 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a through.SAT',.true,.IOInterface:
5b600 3a 44 45 42 55 47 29 3b 0a 24 62 65 66 6f 72 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 :DEBUG);.$before.=.microtime(tru
5b620 65 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 61 74 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e e);.$this->runSat(true);.$this->
5b640 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 io->writeError('',.true,.IOInter
5b660 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 face::DEBUG);.$this->io->writeEr
5b680 72 6f 72 28 73 70 72 69 6e 74 66 28 27 44 65 70 65 6e 64 65 6e 63 79 20 72 65 73 6f 6c 75 74 69 ror(sprintf('Dependency.resoluti
5b6a0 6f 6e 20 63 6f 6d 70 6c 65 74 65 64 20 69 6e 20 25 2e 33 66 20 73 65 63 6f 6e 64 73 27 2c 20 6d on.completed.in.%.3f.seconds',.m
5b6c0 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 62 65 66 6f 72 65 29 2c 20 74 72 75 65 2c icrotime(true).-.$before),.true,
5b6e0 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 0a 20 66 6f 72 65 61 .IOInterface::VERBOSE);....forea
5b700 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b ch.($this->installedMap.as.$pack
5b720 61 67 65 49 64 20 3d 3e 20 24 76 6f 69 64 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 ageId.=>.$void).{.if.($this->dec
5b740 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 70 61 63 6b 61 67 65 49 64 29 29 20 7b isions->undecided($packageId)).{
5b760 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 2d 24 70 61 63 6b .$this->decisions->decide(-$pack
5b780 61 67 65 49 64 2c 20 31 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d ageId,.1,.null);.}.}..if.($this-
5b7a0 3e 70 72 6f 62 6c 65 6d 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 50 72 6f >problems).{.throw.new.SolverPro
5b7c0 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 2c 20 blemsException($this->problems,.
5b7e0 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 0a 24 74 72 61 6e 73 61 $this->installedMap);.}..$transa
5b800 63 74 69 6f 6e 20 3d 20 6e 65 77 20 54 72 61 6e 73 61 63 74 69 6f 6e 28 24 74 68 69 73 2d 3e 70 ction.=.new.Transaction($this->p
5b820 6f 6c 69 63 79 2c 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 olicy,.$this->pool,.$this->insta
5b840 6c 6c 65 64 4d 61 70 2c 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 0a 72 65 74 lledMap,.$this->decisions);..ret
5b860 75 72 6e 20 24 74 72 61 6e 73 61 63 74 69 6f 6e 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 urn.$transaction->getOperations(
5b880 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f );.}...........protected.functio
5b8a0 6e 20 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 65 6c 29 0a 7b 0a 77 68 69 6c 65 20 28 24 74 68 n.propagate($level).{.while.($th
5b8c0 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 76 61 6c 69 64 4f 66 66 73 65 74 28 24 74 68 69 73 is->decisions->validOffset($this
5b8e0 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 20 3d ->propagateIndex)).{.$decision.=
5b900 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 74 68 69 .$this->decisions->atOffset($thi
5b920 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 29 3b 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d s->propagateIndex);..$conflict.=
5b940 20 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e 70 72 6f 70 61 67 61 74 65 4c 69 74 .$this->watchGraph->propagateLit
5b960 65 72 61 6c 28 0a 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 eral(.$decision[Decisions::DECIS
5b980 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 2c 0a 24 6c 65 76 65 6c 2c 0a 24 74 68 69 73 2d 3e 64 65 63 ION_LITERAL],.$level,.$this->dec
5b9a0 69 73 69 6f 6e 73 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 isions.);..$this->propagateIndex
5b9c0 2b 2b 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f ++;..if.($conflict).{.return.$co
5b9e0 6e 66 6c 69 63 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a nflict;.}.}..return.null;.}.....
5ba00 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 76 65 72 74 28 24 6c 65 76 65 6c ..private.function.revert($level
5ba20 29 0a 7b 0a 77 68 69 6c 65 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 69 73 ).{.while.(!$this->decisions->is
5ba40 45 6d 70 74 79 28 29 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 Empty()).{.$literal.=.$this->dec
5ba60 69 73 69 6f 6e 73 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 isions->lastLiteral();..if.($thi
5ba80 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c s->decisions->undecided($literal
5baa0 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3d 20 )).{.break;.}..$decisionLevel.=.
5bac0 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 $this->decisions->decisionLevel(
5bae0 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3c $literal);..if.($decisionLevel.<
5bb00 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 63 =.$level).{.break;.}..$this->dec
5bb20 69 73 69 6f 6e 73 2d 3e 72 65 76 65 72 74 4c 61 73 74 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f isions->revertLast();.$this->pro
5bb40 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 pagateIndex.=.count($this->decis
5bb60 69 6f 6e 73 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 62 ions);.}..while.(!empty($this->b
5bb80 72 61 6e 63 68 65 73 29 20 26 26 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 63 6f 75 6e ranches).&&.$this->branches[coun
5bba0 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 42 52 t($this->branches).-.1][self::BR
5bbc0 41 4e 43 48 5f 4c 45 56 45 4c 5d 20 3e 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 61 72 72 61 79 5f 70 ANCH_LEVEL].>=.$level).{.array_p
5bbe0 6f 70 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a op($this->branches);.}.}........
5bc00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 .............private.function.se
5bc20 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c 20 24 6c 69 74 65 72 61 6c tPropagateLearn($level,.$literal
5bc40 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 ,.$disableRules,.Rule.$rule).{.$
5bc60 6c 65 76 65 6c 2b 2b 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 level++;..$this->decisions->deci
5bc80 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 77 68 de($literal,.$level,.$rule);..wh
5bca0 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 ile.(true).{.$rule.=.$this->prop
5bcc0 61 67 61 74 65 28 24 6c 65 76 65 6c 29 3b 0a 0a 69 66 20 28 21 24 72 75 6c 65 29 20 7b 0a 62 72 agate($level);..if.(!$rule).{.br
5bce0 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 eak;.}..if.($level.==.1).{.retur
5bd00 6e 20 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 24 72 75 6c 65 n.$this->analyzeUnsolvable($rule
5bd20 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 3b 0a 7d 0a 0a 0a 20 6c 69 73 74 28 24 6c 65 61 ,.$disableRules);.}....list($lea
5bd40 72 6e 4c 69 74 65 72 61 6c 2c 20 24 6e 65 77 4c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 rnLiteral,.$newLevel,.$newRule,.
5bd60 24 77 68 79 29 20 3d 20 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 24 $why).=.$this->analyze($level,.$
5bd80 72 75 6c 65 29 3b 0a 0a 69 66 20 28 24 6e 65 77 4c 65 76 65 6c 20 3c 3d 20 30 20 7c 7c 20 24 6e rule);..if.($newLevel.<=.0.||.$n
5bda0 65 77 4c 65 76 65 6c 20 3e 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 ewLevel.>=.$level).{.throw.new.S
5bdc0 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 54 72 79 69 6e 67 20 74 6f 20 72 65 olverBugException(."Trying.to.re
5bde0 76 65 72 74 20 74 6f 20 69 6e 76 61 6c 69 64 20 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6e vert.to.invalid.level.".(int).$n
5be00 65 77 4c 65 76 65 6c 2e 22 20 66 72 6f 6d 20 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6c 65 ewLevel.".from.level.".(int).$le
5be20 76 65 6c 2e 22 2e 22 0a 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 vel.".".);.}.elseif.(!$newRule).
5be40 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a {.throw.new.SolverBugException(.
5be60 22 4e 6f 20 72 75 6c 65 20 77 61 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 61 6e 61 6c 79 7a "No.rule.was.learned.from.analyz
5be80 69 6e 67 20 24 72 75 6c 65 20 61 74 20 6c 65 76 65 6c 20 24 6c 65 76 65 6c 2e 22 0a 29 3b 0a 7d ing.$rule.at.level.$level.".);.}
5bea0 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6e 65 77 4c 65 76 65 6c 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 ..$level.=.$newLevel;..$this->re
5bec0 76 65 72 74 28 24 6c 65 76 65 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 vert($level);..$this->rules->add
5bee0 28 24 6e 65 77 52 75 6c 65 2c 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 ($newRule,.RuleSet::TYPE_LEARNED
5bf00 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 );..$this->learnedWhy[spl_object
5bf20 5f 68 61 73 68 28 24 6e 65 77 52 75 6c 65 29 5d 20 3d 20 24 77 68 79 3b 0a 0a 24 72 75 6c 65 4e _hash($newRule)].=.$why;..$ruleN
5bf40 6f 64 65 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 24 6e 65 77 52 75 6c 65 ode.=.new.RuleWatchNode($newRule
5bf60 29 3b 0a 24 72 75 6c 65 4e 6f 64 65 2d 3e 77 61 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 24 74 );.$ruleNode->watch2OnHighest($t
5bf80 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 his->decisions);.$this->watchGra
5bfa0 70 68 2d 3e 69 6e 73 65 72 74 28 24 72 75 6c 65 4e 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 ph->insert($ruleNode);..$this->d
5bfc0 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 65 61 72 6e 4c 69 74 65 72 61 6c 2c 20 ecisions->decide($learnLiteral,.
5bfe0 24 6c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 65 $level,.$newRule);.}..return.$le
5c000 76 65 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 vel;.}.........private.function.
5c020 73 65 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 61 72 72 61 79 20 24 selectAndInstall($level,.array.$
5c040 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 52 75 decisionQueue,.$disableRules,.Ru
5c060 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 0a 20 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d le.$rule).{...$literals.=.$this-
5c080 3e 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 >policy->selectPreferredPackages
5c0a0 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 ($this->pool,.$this->installedMa
5c0c0 70 2c 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 72 75 6c 65 2d 3e 67 65 74 52 65 71 p,.$decisionQueue,.$rule->getReq
5c0e0 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 29 3b 0a 0a 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 uiredPackage());..$selectedLiter
5c100 61 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 0a 20 al.=.array_shift($literals);....
5c120 69 66 20 28 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 if.(count($literals)).{.$this->b
5c140 72 61 6e 63 68 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 6c 65 ranches[].=.array($literals,.$le
5c160 76 65 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 vel);.}..return.$this->setPropag
5c180 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c 20 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 61 ateLearn($level,.$selectedLitera
5c1a0 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 0a 0a 0a 0a l,.$disableRules,.$rule);.}.....
5c1c0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 7a 65 28 24 6c 65 ..protected.function.analyze($le
5c1e0 76 65 6c 2c 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 vel,.Rule.$rule).{.$analyzedRule
5c200 20 3d 20 24 72 75 6c 65 3b 0a 24 72 75 6c 65 4c 65 76 65 6c 20 3d 20 31 3b 0a 24 6e 75 6d 20 3d .=.$rule;.$ruleLevel.=.1;.$num.=
5c220 20 30 3b 0a 24 6c 31 6e 75 6d 20 3d 20 30 3b 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b .0;.$l1num.=.0;.$seen.=.array();
5c240 0a 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b .$learnedLiterals.=.array(null);
5c260 0a 0a 24 64 65 63 69 73 69 6f 6e 49 64 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 ..$decisionId.=.count($this->dec
5c280 69 73 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 5d 20 3d isions);..$this->learnedPool[].=
5c2a0 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 74 68 69 73 2d .array();..while.(true).{.$this-
5c2c0 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 >learnedPool[count($this->learne
5c2e0 64 50 6f 6f 6c 29 20 2d 20 31 5d 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 dPool).-.1][].=.$rule;..foreach.
5c300 28 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 20 61 73 20 24 6c 69 74 65 72 61 ($rule->getLiterals().as.$litera
5c320 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 l).{...if.($this->decisions->sat
5c340 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 isfy($literal)).{.continue;.}..i
5c360 66 20 28 69 73 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 f.(isset($seen[abs($literal)])).
5c380 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c {.continue;.}.$seen[abs($literal
5c3a0 29 5d 20 3d 20 74 72 75 65 3b 0a 0a 24 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e )].=.true;..$l.=.$this->decision
5c3c0 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 s->decisionLevel($literal);..if.
5c3e0 28 31 20 3d 3d 3d 20 24 6c 29 20 7b 0a 24 6c 31 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 69 66 20 (1.===.$l).{.$l1num++;.}.elseif.
5c400 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 24 6c 29 20 7b 0a 24 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 ($level.===.$l).{.$num++;.}.else
5c420 20 7b 0a 0a 20 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 72 .{...$learnedLiterals[].=.$liter
5c440 61 6c 3b 0a 0a 69 66 20 28 24 6c 20 3e 20 24 72 75 6c 65 4c 65 76 65 6c 29 20 7b 0a 24 72 75 6c al;..if.($l.>.$ruleLevel).{.$rul
5c460 65 4c 65 76 65 6c 20 3d 20 24 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 31 72 65 74 72 79 20 3d 20 74 eLevel.=.$l;.}.}.}..$l1retry.=.t
5c480 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 6c 31 72 65 74 72 79 29 20 7b 0a 24 6c 31 72 65 74 72 79 rue;.while.($l1retry).{.$l1retry
5c4a0 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 21 24 6e 75 6d 20 26 26 20 21 2d 2d 24 6c 31 6e 75 .=.false;..if.(!$num.&&.!--$l1nu
5c4c0 6d 29 20 7b 0a 0a 20 62 72 65 61 6b 20 32 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 m).{...break.2;.}..while.(true).
5c4e0 7b 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 49 64 20 3c 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 {.if.($decisionId.<=.0).{.throw.
5c500 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 52 65 61 63 68 65 64 new.SolverBugException(."Reached
5c520 20 69 6e 76 61 6c 69 64 20 64 65 63 69 73 69 6f 6e 20 69 64 20 24 64 65 63 69 73 69 6f 6e 49 64 .invalid.decision.id.$decisionId
5c540 20 77 68 69 6c 65 20 6c 6f 6f 6b 69 6e 67 20 74 68 72 6f 75 67 68 20 24 72 75 6c 65 20 66 6f 72 .while.looking.through.$rule.for
5c560 20 61 20 6c 69 74 65 72 61 6c 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 61 6e 61 6c 79 7a .a.literal.present.in.the.analyz
5c580 65 64 20 72 75 6c 65 20 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d 0a 0a 24 64 ed.rule.$analyzedRule.".);.}..$d
5c5a0 65 63 69 73 69 6f 6e 49 64 2d 2d 3b 0a 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d ecisionId--;..$decision.=.$this-
5c5c0 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 49 64 >decisions->atOffset($decisionId
5c5e0 29 3b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e );.$literal.=.$decision[Decision
5c600 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 s::DECISION_LITERAL];..if.(isset
5c620 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 62 72 65 61 6b 3b ($seen[abs($literal)])).{.break;
5c640 0a 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d .}.}..unset($seen[abs($literal)]
5c660 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 20 26 26 20 30 20 3d 3d 3d 20 2d 2d 24 6e 75 6d 29 20 7b 0a );..if.($num.&&.0.===.--$num).{.
5c680 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 74 65 73 74 46 if.($literal.<.0).{.$this->testF
5c6a0 6c 61 67 4c 65 61 72 6e 65 64 50 6f 73 69 74 69 76 65 4c 69 74 65 72 61 6c 20 3d 20 74 72 75 65 lagLearnedPositiveLiteral.=.true
5c6c0 3b 0a 7d 0a 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 30 5d 20 3d 20 2d 24 6c 69 74 65 ;.}.$learnedLiterals[0].=.-$lite
5c6e0 72 61 6c 3b 0a 0a 69 66 20 28 21 24 6c 31 6e 75 6d 29 20 7b 0a 62 72 65 61 6b 20 32 3b 0a 7d 0a ral;..if.(!$l1num).{.break.2;.}.
5c700 0a 66 6f 72 65 61 63 68 20 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 20 61 73 20 24 69 .foreach.($learnedLiterals.as.$i
5c720 20 3d 3e 20 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d .=>.$learnedLiteral).{.if.($i.!=
5c740 3d 20 30 29 20 7b 0a 75 6e 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 65 61 72 6e 65 64 4c =.0).{.unset($seen[abs($learnedL
5c760 69 74 65 72 61 6c 29 5d 29 3b 0a 7d 0a 7d 0a 0a 20 24 6c 31 6e 75 6d 2b 2b 3b 0a 24 6c 31 72 65 iteral)]);.}.}...$l1num++;.$l1re
5c780 74 72 79 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 try.=.true;.}.}..$decision.=.$th
5c7a0 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f is->decisions->atOffset($decisio
5c7c0 6e 49 64 29 3b 0a 24 72 75 6c 65 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e nId);.$rule.=.$decision[Decision
5c7e0 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 24 77 68 79 20 3d 20 63 s::DECISION_REASON];.}..$why.=.c
5c800 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 29 20 2d 20 31 3b 0a 0a 69 ount($this->learnedPool).-.1;..i
5c820 66 20 28 21 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 30 5d 29 20 7b 0a 74 68 72 6f 77 f.(!$learnedLiterals[0]).{.throw
5c840 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 44 69 64 20 6e 6f .new.SolverBugException(."Did.no
5c860 74 20 66 69 6e 64 20 61 20 6c 65 61 72 6e 61 62 6c 65 20 6c 69 74 65 72 61 6c 20 69 6e 20 61 6e t.find.a.learnable.literal.in.an
5c880 61 6c 79 7a 65 64 20 72 75 6c 65 20 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d alyzed.rule.$analyzedRule.".);.}
5c8a0 0a 0a 24 6e 65 77 52 75 6c 65 20 3d 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 65 ..$newRule.=.new.GenericRule($le
5c8c0 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 arnedLiterals,.Rule::RULE_LEARNE
5c8e0 44 2c 20 24 77 68 79 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6c 65 61 72 6e 65 64 D,.$why);..return.array($learned
5c900 4c 69 74 65 72 61 6c 73 5b 30 5d 2c 20 24 72 75 6c 65 4c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c Literals[0],.$ruleLevel,.$newRul
5c920 65 2c 20 24 77 68 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f e,.$why);.}......private.functio
5c940 6e 20 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 50 72 6f 62 6c 65 6d 20 n.analyzeUnsolvableRule(Problem.
5c960 24 70 72 6f 62 6c 65 6d 2c 20 52 75 6c 65 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 0a 7b 0a $problem,.Rule.$conflictRule).{.
5c980 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 20 if.($conflictRule->getType().==.
5c9a0 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 20 7b 0a 24 77 68 79 20 3d 20 RuleSet::TYPE_LEARNED).{.$why.=.
5c9c0 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a spl_object_hash($conflictRule);.
5c9e0 24 6c 65 61 72 6e 65 64 57 68 79 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b $learnedWhy.=.$this->learnedWhy[
5ca00 24 77 68 79 5d 3b 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 $why];.$problemRules.=.$this->le
5ca20 61 72 6e 65 64 50 6f 6f 6c 5b 24 6c 65 61 72 6e 65 64 57 68 79 5d 3b 0a 0a 66 6f 72 65 61 63 68 arnedPool[$learnedWhy];..foreach
5ca40 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 61 73 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 .($problemRules.as.$problemRule)
5ca60 20 7b 0a 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 .{.$this->analyzeUnsolvableRule(
5ca80 24 70 72 6f 62 6c 65 6d 2c 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 $problem,.$problemRule);.}..retu
5caa0 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 54 79 70 rn;.}..if.($conflictRule->getTyp
5cac0 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 29 20 7b 0a e().==.RuleSet::TYPE_PACKAGE).{.
5cae0 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 6e 65 78 74 53 65 63 74 69 ..return;.}..$problem->nextSecti
5cb00 6f 6e 28 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 on();.$problem->addRule($conflic
5cb20 74 52 75 6c 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e tRule);.}.......private.function
5cb40 20 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 52 75 6c 65 20 24 63 6f 6e 66 6c 69 63 .analyzeUnsolvable(Rule.$conflic
5cb60 74 52 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 0a 7b 0a 24 70 72 6f 62 6c 65 6d tRule,.$disableRules).{.$problem
5cb80 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 .=.new.Problem($this->pool);.$pr
5cba0 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 0a oblem->addRule($conflictRule);..
5cbc0 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 $this->analyzeUnsolvableRule($pr
5cbe0 6f 62 6c 65 6d 2c 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 oblem,.$conflictRule);..$this->p
5cc00 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 0a 24 73 65 65 6e 20 3d 20 61 roblems[].=.$problem;..$seen.=.a
5cc20 72 72 61 79 28 29 3b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c rray();.$literals.=.$conflictRul
5cc40 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 e->getLiterals();..foreach.($lit
5cc60 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 erals.as.$literal).{...if.($this
5cc80 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 ->decisions->satisfy($literal)).
5cca0 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c {.continue;.}.$seen[abs($literal
5ccc0 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 )].=.true;.}..foreach.($this->de
5cce0 63 69 73 69 6f 6e 73 20 61 73 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c cisions.as.$decision).{.$literal
5cd00 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e .=.$decision[Decisions::DECISION
5cd20 5f 4c 49 54 45 52 41 4c 5d 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 73 65 65 6e 5b 61 _LITERAL];....if.(!isset($seen[a
5cd40 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 bs($literal)])).{.continue;.}..$
5cd60 77 68 79 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 why.=.$decision[Decisions::DECIS
5cd80 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 ION_REASON];..$problem->addRule(
5cda0 24 77 68 79 29 3b 0a 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 $why);.$this->analyzeUnsolvableR
5cdc0 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c 20 24 77 68 79 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 ule($problem,.$why);..$literals.
5cde0 3d 20 24 77 68 79 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 =.$why->getLiterals();..foreach.
5ce00 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 ($literals.as.$literal).{...if.(
5ce20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 $this->decisions->satisfy($liter
5ce40 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 al)).{.continue;.}.$seen[abs($li
5ce60 74 65 72 61 6c 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 61 62 6c teral)].=.true;.}.}..if.($disabl
5ce80 65 52 75 6c 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 eRules).{.foreach.($this->proble
5cea0 6d 73 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 29 20 2d 20 31 5d 20 61 ms[count($this->problems).-.1].a
5cec0 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c s.$reason).{.$this->disableProbl
5cee0 65 6d 28 24 72 65 61 73 6f 6e 5b 27 72 75 6c 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 em($reason['rule']);.}..$this->r
5cf00 65 73 65 74 53 6f 6c 76 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 esetSolver();..return.1;.}..retu
5cf20 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 rn.0;.}.....private.function.dis
5cf40 61 62 6c 65 50 72 6f 62 6c 65 6d 28 52 75 6c 65 20 24 77 68 79 29 0a 7b 0a 24 6a 6f 62 20 3d 20 ableProblem(Rule.$why).{.$job.=.
5cf60 24 77 68 79 2d 3e 67 65 74 4a 6f 62 28 29 3b 0a 0a 69 66 20 28 21 24 6a 6f 62 29 20 7b 0a 24 77 $why->getJob();..if.(!$job).{.$w
5cf80 68 79 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 66 6f 72 hy->disable();..return;.}....for
5cfa0 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 0a each.($this->rules.as.$rule).{..
5cfc0 69 66 20 28 24 6a 6f 62 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 29 20 7b 0a if.($job.===.$rule->getJob()).{.
5cfe0 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 $rule->disable();.}.}.}..private
5d000 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 53 6f 6c 76 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d .function.resetSolver().{.$this-
5d020 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 73 65 74 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f >decisions->reset();..$this->pro
5d040 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 pagateIndex.=.0;.$this->branches
5d060 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 44 69 73 61 62 6c .=.array();..$this->enableDisabl
5d080 65 4c 65 61 72 6e 65 64 52 75 6c 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 eLearnedRules();.$this->makeAsse
5d0a0 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a rtionRuleDecisions();.}.........
5d0c0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 private.function.enableDisableLe
5d0e0 61 72 6e 65 64 52 75 6c 65 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 arnedRules().{.foreach.($this->r
5d100 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 ules->getIteratorFor(RuleSet::TY
5d120 50 45 5f 4c 45 41 52 4e 45 44 29 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 77 68 79 20 3d 20 24 PE_LEARNED).as.$rule).{.$why.=.$
5d140 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 this->learnedWhy[spl_object_hash
5d160 28 24 72 75 6c 65 29 5d 3b 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d ($rule)];.$problemRules.=.$this-
5d180 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 24 77 68 79 5d 3b 0a 0a 24 66 6f 75 6e 64 44 69 73 61 62 >learnedPool[$why];..$foundDisab
5d1a0 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 62 6c 65 6d 52 75 led.=.false;.foreach.($problemRu
5d1c0 6c 65 73 20 61 73 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 70 72 6f 62 les.as.$problemRule).{.if.($prob
5d1e0 6c 65 6d 52 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 66 6f 75 6e 64 44 lemRule->isDisabled()).{.$foundD
5d200 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 isabled.=.true;.break;.}.}..if.(
5d220 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 26 26 20 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c $foundDisabled.&&.$rule->isEnabl
5d240 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 7d 20 65 6c 73 65 ed()).{.$rule->disable();.}.else
5d260 69 66 20 28 21 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 26 26 20 24 72 75 6c 65 2d 3e 69 73 if.(!$foundDisabled.&&.$rule->is
5d280 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 65 6e 61 62 6c 65 28 29 3b 0a 7d Disabled()).{.$rule->enable();.}
5d2a0 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 53 61 74 .}.}.....private.function.runSat
5d2c0 28 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e ($disableRules.=.true).{.$this->
5d2e0 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 24 propagateIndex.=.0;............$
5d300 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 63 69 73 69 decisionQueue.=.array();.$decisi
5d320 6f 6e 53 75 70 70 6c 65 6d 65 6e 74 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a onSupplementQueue.=.array();....
5d340 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 6c 65 76 65 6c $disableRules.=.array();..$level
5d360 20 3d 20 31 3b 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b .=.1;.$systemLevel.=.$level.+.1;
5d380 0a 24 69 6e 73 74 61 6c 6c 65 64 50 6f 73 20 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 .$installedPos.=.0;..while.(true
5d3a0 29 20 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 24 63 6f 6e 66 6c 69 63 ).{.if.(1.===.$level).{.$conflic
5d3c0 74 52 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 65 6c 29 tRule.=.$this->propagate($level)
5d3e0 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 20 7b 0a ;.if.(null.!==.$conflictRule).{.
5d400 69 66 20 28 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 24 63 6f if.($this->analyzeUnsolvable($co
5d420 6e 66 6c 69 63 74 52 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 29 20 7b 0a 63 6f nflictRule,.$disableRules)).{.co
5d440 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c ntinue;.}..return;.}.}....if.($l
5d460 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 evel.<.$systemLevel).{.$iterator
5d480 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 .=.$this->rules->getIteratorFor(
5d4a0 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 RuleSet::TYPE_JOB);.foreach.($it
5d4c0 65 72 61 74 6f 72 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 erator.as.$rule).{.if.($rule->is
5d4e0 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 Enabled()).{.$decisionQueue.=.ar
5d500 72 61 79 28 29 3b 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 ray();.$noneSatisfied.=.true;..f
5d520 6f 72 65 61 63 68 20 28 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 20 61 73 20 oreach.($rule->getLiterals().as.
5d540 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 $literal).{.if.($this->decisions
5d560 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 6e 6f 6e 65 53 61 74 69 ->satisfy($literal)).{.$noneSati
5d580 73 66 69 65 64 20 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 6c 69 74 sfied.=.false;.break;.}.if.($lit
5d5a0 65 72 61 6c 20 3e 20 30 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e eral.>.0.&&.$this->decisions->un
5d5c0 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 decided($literal)).{.$decisionQu
5d5e0 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 6e 65 eue[].=.$literal;.}.}..if.($none
5d600 53 61 74 69 73 66 69 65 64 20 26 26 20 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 Satisfied.&&.count($decisionQueu
5d620 65 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 e)).{.....if.(count($this->insta
5d640 6c 6c 65 64 29 20 21 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 29 lled).!=.count($this->updateMap)
5d660 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 ).{.$prunedQueue.=.array();.fore
5d680 61 63 68 20 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 61 73 20 24 6c 69 74 65 72 61 6c 29 ach.($decisionQueue.as.$literal)
5d6a0 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 .{.if.(isset($this->installedMap
5d6c0 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 [abs($literal)])).{.$prunedQueue
5d6e0 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e [].=.$literal;.if.(isset($this->
5d700 75 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 updateMap[abs($literal)])).{.$pr
5d720 75 6e 65 64 51 75 65 75 65 20 3d 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 3b 0a 62 72 65 61 unedQueue.=.$decisionQueue;.brea
5d740 6b 3b 0a 7d 0a 7d 0a 7d 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 24 70 72 75 6e 65 k;.}.}.}.$decisionQueue.=.$prune
5d760 64 51 75 65 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 dQueue;.}.}..if.($noneSatisfied.
5d780 26 26 20 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 24 6f 4c 65 &&.count($decisionQueue)).{.$oLe
5d7a0 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 vel.=.$level;.$level.=.$this->se
5d7c0 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e lectAndInstall($level,.$decision
5d7e0 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 Queue,.$disableRules,.$rule);..i
5d800 66 20 28 30 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 f.(0.===.$level).{.return;.}.if.
5d820 28 24 6c 65 76 65 6c 20 3c 3d 20 24 6f 4c 65 76 65 6c 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d ($level.<=.$oLevel).{.break;.}.}
5d840 0a 7d 0a 7d 0a 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b .}.}..$systemLevel.=.$level.+.1;
5d860 0a 0a 0a 20 24 69 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 69 66 20 28 24 69 74 65 72 ....$iterator->next();.if.($iter
5d880 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a ator->valid()).{.continue;.}.}..
5d8a0 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 73 79 if.($level.<.$systemLevel).{.$sy
5d8c0 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 24 72 75 6c 65 73 43 6f 75 stemLevel.=.$level;.}..$rulesCou
5d8e0 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 24 70 61 73 73 20 nt.=.count($this->rules);.$pass.
5d900 3d 20 31 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 6f =.1;..$this->io->writeError('Loo
5d920 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c 65 73 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 king.at.all.rules.',.true,.IOInt
5d940 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6e 20 erface::DEBUG);.for.($i.=.0,.$n.
5d960 3d 20 30 3b 20 24 6e 20 3c 20 24 72 75 6c 65 73 43 6f 75 6e 74 3b 20 24 69 2b 2b 2c 20 24 6e 2b =.0;.$n.<.$rulesCount;.$i++,.$n+
5d980 2b 29 20 7b 0a 69 66 20 28 24 69 20 3d 3d 20 24 72 75 6c 65 73 43 6f 75 6e 74 29 20 7b 0a 69 66 +).{.if.($i.==.$rulesCount).{.if
5d9a0 20 28 31 20 3d 3d 3d 20 24 70 61 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 .(1.===.$pass).{.$this->io->writ
5d9c0 65 45 72 72 6f 72 28 22 53 6f 6d 65 74 68 69 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f eError("Something's.changed,.loo
5d9e0 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 king.at.all.rules.again.(pass.#$
5da00 70 61 73 73 29 22 2c 20 66 61 6c 73 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 pass)",.false,.IOInterface::DEBU
5da20 47 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 G);.}.else.{.$this->io->overwrit
5da40 65 45 72 72 6f 72 28 22 53 6f 6d 65 74 68 69 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f eError("Something's.changed,.loo
5da60 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 king.at.all.rules.again.(pass.#$
5da80 70 61 73 73 29 22 2c 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 pass)",.false,.null,.IOInterface
5daa0 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 24 69 20 3d 20 30 3b 0a 24 70 61 73 73 2b 2b 3b 0a 7d 0a ::DEBUG);.}..$i.=.0;.$pass++;.}.
5dac0 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 72 75 6c 65 42 79 49 64 5b .$rule.=.$this->rules->ruleById[
5dae0 24 69 5d 3b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 $i];.$literals.=.$rule->getLiter
5db00 61 6c 73 28 29 3b 0a 0a 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 als();..if.($rule->isDisabled())
5db20 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d .{.continue;.}..$decisionQueue.=
5db40 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 .array();..............foreach.(
5db60 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 $literals.as.$literal).{.if.($li
5db80 74 65 72 61 6c 20 3c 3d 20 30 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 teral.<=.0).{.if.(!$this->decisi
5dba0 6f 6e 73 2d 3e 64 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 29 29 20 7b ons->decidedInstall($literal)).{
5dbc0 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 20 0a 20 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 .continue.2;...}.}.else.{.if.($t
5dbe0 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 his->decisions->decidedInstall($
5dc00 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 20 0a 20 7d 0a 69 66 20 28 literal)).{.continue.2;...}.if.(
5dc20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 $this->decisions->undecided($lit
5dc40 65 72 61 6c 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 eral)).{.$decisionQueue[].=.$lit
5dc60 65 72 61 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 64 65 63 69 73 69 eral;.}.}.}....if.(count($decisi
5dc80 6f 6e 51 75 65 75 65 29 20 3c 20 32 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 onQueue).<.2).{.continue;.}..$le
5dca0 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c vel.=.$this->selectAndInstall($l
5dcc0 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 evel,.$decisionQueue,.$disableRu
5dce0 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 les,.$rule);..if.(0.===.$level).
5dd00 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 {.return;.}....$rulesCount.=.cou
5dd20 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 24 6e 20 3d 20 2d 31 3b 0a 7d 0a 0a 69 66 nt($this->rules);.$n.=.-1;.}..if
5dd40 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 63 6f 6e 74 69 .($level.<.$systemLevel).{.conti
5dd60 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 nue;.}....if.(count($this->branc
5dd80 68 65 73 29 29 20 7b 0a 24 6c 61 73 74 4c 69 74 65 72 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 hes)).{.$lastLiteral.=.null;.$la
5dda0 73 74 4c 65 76 65 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 stLevel.=.null;.$lastBranchIndex
5ddc0 20 3d 20 30 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 66 6f .=.0;.$lastBranchOffset.=.0;..fo
5dde0 72 20 28 24 69 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 2d r.($i.=.count($this->branches).-
5de00 20 31 3b 20 24 69 20 3e 3d 20 30 3b 20 24 69 2d 2d 29 20 7b 0a 6c 69 73 74 28 24 6c 69 74 65 72 .1;.$i.>=.0;.$i--).{.list($liter
5de20 61 6c 73 2c 20 24 6c 29 20 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 69 5d 3b 0a als,.$l).=.$this->branches[$i];.
5de40 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6f 66 66 73 65 74 20 3d .foreach.($literals.as.$offset.=
5de60 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 26 26 20 24 6c >.$literal).{.if.($literal.&&.$l
5de80 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e iteral.>.0.&&.$this->decisions->
5dea0 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 20 3e 20 24 6c 20 2b 20 31 decisionLevel($literal).>.$l.+.1
5dec0 29 20 7b 0a 24 6c 61 73 74 4c 69 74 65 72 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 6c 61 ).{.$lastLiteral.=.$literal;.$la
5dee0 73 74 42 72 61 6e 63 68 49 6e 64 65 78 20 3d 20 24 69 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 4f stBranchIndex.=.$i;.$lastBranchO
5df00 66 66 73 65 74 20 3d 20 24 6f 66 66 73 65 74 3b 0a 24 6c 61 73 74 4c 65 76 65 6c 20 3d 20 24 6c ffset.=.$offset;.$lastLevel.=.$l
5df20 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6c 61 73 74 4c 69 74 65 72 61 6c 29 20 7b 0a 75 6e 73 ;.}.}.}..if.($lastLiteral).{.uns
5df40 65 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 6c 61 73 74 42 72 61 6e 63 68 49 6e et($this->branches[$lastBranchIn
5df60 64 65 78 5d 5b 73 65 6c 66 3a 3a 42 52 41 4e 43 48 5f 4c 49 54 45 52 41 4c 53 5d 5b 24 6c 61 73 dex][self::BRANCH_LITERALS][$las
5df80 74 42 72 61 6e 63 68 4f 66 66 73 65 74 5d 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6c 61 73 74 tBranchOffset]);..$level.=.$last
5dfa0 4c 65 76 65 6c 3b 0a 24 74 68 69 73 2d 3e 72 65 76 65 72 74 28 24 6c 65 76 65 6c 29 3b 0a 0a 24 Level;.$this->revert($level);..$
5dfc0 77 68 79 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 6c 61 73 74 52 65 61 73 why.=.$this->decisions->lastReas
5dfe0 6f 6e 28 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 on();..$level.=.$this->setPropag
5e000 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c 20 24 6c 61 73 74 4c 69 74 65 72 61 6c 2c 20 24 ateLearn($level,.$lastLiteral,.$
5e020 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 77 68 79 29 3b 0a 0a 69 66 20 28 24 6c 65 76 65 6c disableRules,.$why);..if.($level
5e040 20 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a .==.0).{.return;.}..continue;.}.
5e060 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a }..break;.}.}.}.<?php...........
5e080 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 .namespace.Composer\DependencyRe
5e0a0 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 solver;.....class.SolverBugExcep
5e0c0 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b tion.extends.\RuntimeException.{
5e0e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 .public.function.__construct($me
5e100 73 73 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d ssage).{.parent::__construct(.$m
5e120 65 73 73 61 67 65 2e 22 5c 6e 54 68 69 73 20 65 78 63 65 70 74 69 6f 6e 20 77 61 73 20 6d 6f 73 essage."\nThis.exception.was.mos
5e140 74 20 6c 69 6b 65 6c 79 20 63 61 75 73 65 64 20 62 79 20 61 20 62 75 67 20 69 6e 20 43 6f 6d 70 t.likely.caused.by.a.bug.in.Comp
5e160 6f 73 65 72 2e 5c 6e 22 2e 0a 22 50 6c 65 61 73 65 20 72 65 70 6f 72 74 20 74 68 65 20 63 6f 6d oser.\n".."Please.report.the.com
5e180 6d 61 6e 64 20 79 6f 75 20 72 61 6e 2c 20 74 68 65 20 65 78 61 63 74 20 65 72 72 6f 72 20 79 6f mand.you.ran,.the.exact.error.yo
5e1a0 75 20 72 65 63 65 69 76 65 64 2c 20 61 6e 64 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 u.received,.and.your.composer.js
5e1c0 6f 6e 20 6f 6e 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 65 on.on.https://github.com/compose
5e1e0 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 73 73 75 65 73 20 2d 20 74 68 61 6e 6b 20 79 6f 75 21 5c 6e r/composer/issues.-.thank.you!\n
5e200 22 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ".);.}.}.<?php............namesp
5e220 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b ace.Composer\DependencyResolver;
5e240 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 0a ..use.Composer\Util\IniHelper;..
5e260 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e ...class.SolverProblemsException
5e280 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f .extends.\RuntimeException.{.pro
5e2a0 74 65 63 74 65 64 20 24 70 72 6f 62 6c 65 6d 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 tected.$problems;.protected.$ins
5e2c0 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f talledMap;..public.function.__co
5e2e0 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 72 6f 62 6c 65 6d 73 2c 20 61 72 72 61 79 20 24 nstruct(array.$problems,.array.$
5e300 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 20 installedMap).{.$this->problems.
5e320 3d 20 24 70 72 6f 62 6c 65 6d 73 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 =.$problems;.$this->installedMap
5e340 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e .=.$installedMap;..parent::__con
5e360 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 4d 65 73 73 61 67 65 28 29 2c 20 32 struct($this->createMessage(),.2
5e380 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d );.}..protected.function.createM
5e3a0 65 73 73 61 67 65 28 29 0a 7b 0a 24 74 65 78 74 20 3d 20 22 5c 6e 22 3b 0a 24 68 61 73 45 78 74 essage().{.$text.=."\n";.$hasExt
5e3c0 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 ensionProblems.=.false;.foreach.
5e3e0 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 20 61 73 20 24 69 20 3d 3e 20 24 70 72 6f 62 6c ($this->problems.as.$i.=>.$probl
5e400 65 6d 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 50 72 6f 62 6c 65 6d 20 22 2e 28 24 69 20 em).{.$text..=."..Problem.".($i.
5e420 2b 20 31 29 2e 24 70 72 6f 62 6c 65 6d 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 +.1).$problem->getPrettyString($
5e440 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 2e 22 5c 6e 22 3b 0a 0a 69 66 20 28 21 this->installedMap)."\n";..if.(!
5e460 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 26 26 20 24 74 68 69 73 2d 3e $hasExtensionProblems.&&.$this->
5e480 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 28 24 70 72 6f 62 6c 65 6d 2d 3e 67 hasExtensionProblems($problem->g
5e4a0 65 74 52 65 61 73 6f 6e 73 28 29 29 29 20 7b 0a 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f etReasons())).{.$hasExtensionPro
5e4c0 62 6c 65 6d 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 74 blems.=.true;.}.}..if.(strpos($t
5e4e0 65 78 74 2c 20 27 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 27 29 20 7c 7c 20 73 74 ext,.'could.not.be.found').||.st
5e500 72 70 6f 73 28 24 74 65 78 74 2c 20 27 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 rpos($text,.'no.matching.package
5e520 20 66 6f 75 6e 64 27 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 50 6f 74 65 6e 74 69 61 .found')).{.$text..=."\nPotentia
5e540 6c 20 63 61 75 73 65 73 3a 5c 6e 20 2d 20 41 20 74 79 70 6f 20 69 6e 20 74 68 65 20 70 61 63 6b l.causes:\n.-.A.typo.in.the.pack
5e560 61 67 65 20 6e 61 6d 65 5c 6e 20 2d 20 54 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 age.name\n.-.The.package.is.not.
5e580 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 73 74 61 62 6c 65 2d 65 6e 6f 75 67 68 20 76 65 72 available.in.a.stable-enough.ver
5e5a0 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 sion.according.to.your.minimum-s
5e5c0 74 61 62 69 6c 69 74 79 20 73 65 74 74 69 6e 67 5c 6e 20 20 20 73 65 65 20 3c 68 74 74 70 73 3a tability.setting\n...see.<https:
5e5e0 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e //getcomposer.org/doc/04-schema.
5e600 6d 64 23 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 3e 20 66 6f 72 20 6d 6f 72 65 20 64 md#minimum-stability>.for.more.d
5e620 65 74 61 69 6c 73 2e 5c 6e 20 2d 20 49 74 27 73 20 61 20 70 72 69 76 61 74 65 20 70 61 63 6b 61 etails.\n.-.It's.a.private.packa
5e640 67 65 20 61 6e 64 20 79 6f 75 20 66 6f 72 67 6f 74 20 74 6f 20 61 64 64 20 61 20 63 75 73 74 6f ge.and.you.forgot.to.add.a.custo
5e660 6d 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 66 69 6e 64 20 69 74 5c 6e 5c 6e 52 65 61 64 20 m.repository.to.find.it\n\nRead.
5e680 3c 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 <https://getcomposer.org/doc/art
5e6a0 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 3e 20 66 6f 72 20 66 75 icles/troubleshooting.md>.for.fu
5e6c0 72 74 68 65 72 20 63 6f 6d 6d 6f 6e 20 70 72 6f 62 6c 65 6d 73 2e 22 3b 0a 7d 0a 0a 69 66 20 28 rther.common.problems.";.}..if.(
5e6e0 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 29 20 7b 0a 24 74 65 78 74 20 2e $hasExtensionProblems).{.$text..
5e700 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 45 78 74 65 6e 73 69 6f 6e 48 69 6e 74 28 29 3b 0a =.$this->createExtensionHint();.
5e720 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 }..return.$text;.}..public.funct
5e740 69 6f 6e 20 67 65 74 50 72 6f 62 6c 65 6d 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getProblems().{.return.$this
5e760 2d 3e 70 72 6f 62 6c 65 6d 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ->problems;.}..private.function.
5e780 63 72 65 61 74 65 45 78 74 65 6e 73 69 6f 6e 48 69 6e 74 28 29 0a 7b 0a 24 70 61 74 68 73 20 3d createExtensionHint().{.$paths.=
5e7a0 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 41 6c 6c 28 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 .IniHelper::getAll();..if.(count
5e7c0 28 24 70 61 74 68 73 29 20 3d 3d 3d 20 31 20 26 26 20 65 6d 70 74 79 28 24 70 61 74 68 73 5b 30 ($paths).===.1.&&.empty($paths[0
5e7e0 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 22 5c 6e 20 ])).{.return.'';.}..$text.=."\n.
5e800 20 54 6f 20 65 6e 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 76 65 72 69 66 79 20 74 68 .To.enable.extensions,.verify.th
5e820 61 74 20 74 68 65 79 20 61 72 65 20 65 6e 61 62 6c 65 64 20 69 6e 20 79 6f 75 72 20 2e 69 6e 69 at.they.are.enabled.in.your..ini
5e840 20 66 69 6c 65 73 3a 5c 6e 20 20 20 20 2d 20 22 3b 0a 24 74 65 78 74 20 2e 3d 20 69 6d 70 6c 6f .files:\n....-.";.$text..=.implo
5e860 64 65 28 22 5c 6e 20 20 20 20 2d 20 22 2c 20 24 70 61 74 68 73 29 3b 0a 24 74 65 78 74 20 2e 3d de("\n....-.",.$paths);.$text..=
5e880 20 22 5c 6e 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 72 75 6e 20 60 70 68 70 20 2d 2d 69 6e ."\n..You.can.also.run.`php.--in
5e8a0 69 60 20 69 6e 73 69 64 65 20 74 65 72 6d 69 6e 61 6c 20 74 6f 20 73 65 65 20 77 68 69 63 68 20 i`.inside.terminal.to.see.which.
5e8c0 66 69 6c 65 73 20 61 72 65 20 75 73 65 64 20 62 79 20 50 48 50 20 69 6e 20 43 4c 49 20 6d 6f 64 files.are.used.by.PHP.in.CLI.mod
5e8e0 65 2e 22 3b 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 e.";..return.$text;.}..private.f
5e900 75 6e 63 74 69 6f 6e 20 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 28 61 72 72 unction.hasExtensionProblems(arr
5e920 61 79 20 24 72 65 61 73 6f 6e 53 65 74 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 ay.$reasonSets).{.foreach.($reas
5e940 6f 6e 53 65 74 73 20 61 73 20 24 72 65 61 73 6f 6e 53 65 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 onSets.as.$reasonSet).{.foreach.
5e960 28 24 72 65 61 73 6f 6e 53 65 74 20 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 69 73 ($reasonSet.as.$reason).{.if.(is
5e980 73 65 74 28 24 72 65 61 73 6f 6e 5b 22 72 75 6c 65 22 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 set($reason["rule"]).&&.0.===.st
5e9a0 72 70 6f 73 28 24 72 65 61 73 6f 6e 5b 22 72 75 6c 65 22 5d 2d 3e 67 65 74 52 65 71 75 69 72 65 rpos($reason["rule"]->getRequire
5e9c0 64 50 61 63 6b 61 67 65 28 29 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 dPackage(),.'ext-')).{.return.tr
5e9e0 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 ue;.}.}.}..return.false;.}.}.<?p
5ea00 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
5ea20 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 \DependencyResolver;..use.Compos
5ea40 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 er\Package\AliasPackage;.....cla
5ea60 73 73 20 54 72 61 6e 73 61 63 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 ss.Transaction.{.protected.$poli
5ea80 63 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 cy;.protected.$pool;.protected.$
5eaa0 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f installedMap;.protected.$decisio
5eac0 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 0a 70 75 62 ns;.protected.$transaction;..pub
5eae0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6c 69 63 79 lic.function.__construct($policy
5eb00 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 64 65 63 69 73 69 6f ,.$pool,.$installedMap,.$decisio
5eb20 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 ns).{.$this->policy.=.$policy;.$
5eb40 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 this->pool.=.$pool;.$this->insta
5eb60 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 24 74 68 69 73 2d 3e lledMap.=.$installedMap;.$this->
5eb80 64 65 63 69 73 69 6f 6e 73 20 3d 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 24 74 68 69 73 2d 3e 74 decisions.=.$decisions;.$this->t
5eba0 72 61 6e 73 61 63 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ransaction.=.array();.}..public.
5ebc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 0a 7b 0a 24 69 6e 73 74 function.getOperations().{.$inst
5ebe0 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 55 allMeansUpdateMap.=.$this->findU
5ec00 70 64 61 74 65 73 28 29 3b 0a 0a 24 75 70 64 61 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b pdates();..$updateMap.=.array();
5ec20 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 75 6e 69 6e 73 74 61 .$installMap.=.array();.$uninsta
5ec40 6c 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 llMap.=.array();..foreach.($this
5ec60 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 ->decisions.as.$i.=>.$decision).
5ec80 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 {.$literal.=.$decision[Decisions
5eca0 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 ::DECISION_LITERAL];.$reason.=.$
5ecc0 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 decision[Decisions::DECISION_REA
5ece0 53 4f 4e 5d 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c SON];..$package.=.$this->pool->l
5ed00 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 0a 20 69 66 iteralToPackage($literal);....if
5ed20 20 28 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 3d 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d .(($literal.>.0).==.isset($this-
5ed40 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a >installedMap[$package->id])).{.
5ed60 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b continue;.}..if.($literal.>.0).{
5ed80 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 .if.(isset($installMeansUpdateMa
5eda0 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 20 26 26 20 21 24 70 61 63 6b 61 67 65 20 69 p[abs($literal)]).&&.!$package.i
5edc0 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 6f 75 72 63 nstanceof.AliasPackage).{.$sourc
5ede0 65 20 3d 20 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 e.=.$installMeansUpdateMap[abs($
5ee00 6c 69 74 65 72 61 6c 29 5d 3b 0a 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d literal)];..$updateMap[$package-
5ee20 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b >id].=.array(.'package'.=>.$pack
5ee40 61 67 65 2c 0a 27 73 6f 75 72 63 65 27 20 3d 3e 20 24 73 6f 75 72 63 65 2c 0a 27 72 65 61 73 6f age,.'source'.=>.$source,.'reaso
5ee60 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 0a 20 75 6e 73 65 74 28 24 69 6e 73 74 n'.=>.$reason,.);....unset($inst
5ee80 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d allMeansUpdateMap[abs($literal)]
5eea0 29 3b 0a 24 69 67 6e 6f 72 65 52 65 6d 6f 76 65 5b 24 73 6f 75 72 63 65 2d 3e 69 64 5d 20 3d 20 );.$ignoreRemove[$source->id].=.
5eec0 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b true;.}.else.{.$installMap[$pack
5eee0 61 67 65 2d 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 age->id].=.array(.'package'.=>.$
5ef00 70 61 63 6b 61 67 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b package,.'reason'.=>.$reason,.);
5ef20 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e .}.}.}..foreach.($this->decision
5ef40 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c s.as.$i.=>.$decision).{.$literal
5ef60 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e .=.$decision[Decisions::DECISION
5ef80 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 _LITERAL];.$reason.=.$decision[D
5efa0 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 24 70 61 63 ecisions::DECISION_REASON];.$pac
5efc0 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 kage.=.$this->pool->literalToPac
5efe0 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d kage($literal);..if.($literal.<=
5f000 20 30 20 26 26 0a 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b .0.&&.isset($this->installedMap[
5f020 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 20 26 26 0a 21 69 73 73 65 74 28 24 69 67 6e 6f 72 65 $package->id]).&&.!isset($ignore
5f040 52 65 6d 6f 76 65 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 75 6e 69 6e 73 74 Remove[$package->id])).{.$uninst
5f060 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 allMap[$package->id].=.array(.'p
5f080 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e ackage'.=>.$package,.'reason'.=>
5f0a0 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 .$reason,.);.}.}..$this->transac
5f0c0 74 69 6f 6e 46 72 6f 6d 4d 61 70 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 tionFromMaps($installMap,.$updat
5f0e0 65 4d 61 70 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 eMap,.$uninstallMap);..return.$t
5f100 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 his->transaction;.}..protected.f
5f120 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 61 63 74 69 6f 6e 46 72 6f 6d 4d 61 70 73 28 24 69 6e 73 unction.transactionFromMaps($ins
5f140 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 4d tallMap,.$updateMap,.$uninstallM
5f160 61 70 29 0a 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 ap).{.$queue.=.array_map(.functi
5f180 6f 6e 20 28 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 on.($operation).{.return.$operat
5f1a0 69 6f 6e 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 7d 2c 0a 24 74 68 69 73 2d 3e 66 69 6e 64 52 6f ion['package'];.},.$this->findRo
5f1c0 6f 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d otPackages($installMap,.$updateM
5f1e0 61 70 29 0a 29 3b 0a 0a 24 76 69 73 69 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 ap).);..$visited.=.array();..whi
5f200 6c 65 20 28 21 65 6d 70 74 79 28 24 71 75 65 75 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d le.(!empty($queue)).{.$package.=
5f220 20 61 72 72 61 79 5f 70 6f 70 28 24 71 75 65 75 65 29 3b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d .array_pop($queue);.$packageId.=
5f240 20 24 70 61 63 6b 61 67 65 2d 3e 69 64 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 76 69 73 69 .$package->id;..if.(!isset($visi
5f260 74 65 64 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 ted[$packageId])).{.$queue[].=.$
5f280 70 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f package;..if.($package.instanceo
5f2a0 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 70 61 f.AliasPackage).{.$queue[].=.$pa
5f2c0 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f ckage->getAliasOf();.}.else.{.fo
5f2e0 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 reach.($package->getRequires().a
5f300 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 s.$link).{.$possibleRequires.=.$
5f320 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e this->pool->whatProvides($link->
5f340 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e getTarget(),.$link->getConstrain
5f360 74 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 t());..foreach.($possibleRequire
5f380 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 72 65 71 s.as.$require).{.$queue[].=.$req
5f3a0 75 69 72 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 76 69 73 69 74 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e uire;.}.}.}..$visited[$package->
5f3c0 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 id].=.true;.}.else.{.if.(isset($
5f3e0 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 installMap[$packageId])).{.$this
5f400 2d 3e 69 6e 73 74 61 6c 6c 28 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 ->install(.$installMap[$packageI
5f420 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b d]['package'],.$installMap[$pack
5f440 61 67 65 49 64 5d 5b 27 72 65 61 73 6f 6e 27 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 69 6e 73 74 61 ageId]['reason'].);.unset($insta
5f460 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 llMap[$packageId]);.}.if.(isset(
5f480 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 $updateMap[$packageId])).{.$this
5f4a0 2d 3e 75 70 64 61 74 65 28 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d ->update(.$updateMap[$packageId]
5f4c0 5b 27 73 6f 75 72 63 65 27 5d 2c 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 ['source'],.$updateMap[$packageI
5f4e0 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 d]['package'],.$updateMap[$packa
5f500 67 65 49 64 5d 5b 27 72 65 61 73 6f 6e 27 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 75 70 64 61 74 65 geId]['reason'].);.unset($update
5f520 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 Map[$packageId]);.}.}.}..foreach
5f540 20 28 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 20 61 73 20 24 75 6e 69 6e 73 74 61 6c 6c 29 20 7b .($uninstallMap.as.$uninstall).{
5f560 0a 24 74 68 69 73 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 70 61 .$this->uninstall($uninstall['pa
5f580 63 6b 61 67 65 27 5d 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 72 65 61 73 6f 6e 27 5d 29 3b 0a ckage'],.$uninstall['reason']);.
5f5a0 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 52 6f 6f 74 }.}..protected.function.findRoot
5f5c0 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 Packages($installMap,.$updateMap
5f5e0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 73 74 61 6c 6c 4d 61 70 20 2b 20 24 75 ).{.$packages.=.$installMap.+.$u
5f600 70 64 61 74 65 4d 61 70 3b 0a 24 72 6f 6f 74 73 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 66 pdateMap;.$roots.=.$packages;..f
5f620 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 oreach.($packages.as.$packageId.
5f640 3d 3e 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 =>.$operation).{.$package.=.$ope
5f660 72 61 74 69 6f 6e 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 ration['package'];..if.(!isset($
5f680 72 6f 6f 74 73 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a roots[$packageId])).{.continue;.
5f6a0 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 }..foreach.($package->getRequire
5f6c0 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 s().as.$link).{.$possibleRequire
5f6e0 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c s.=.$this->pool->whatProvides($l
5f700 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 ink->getTarget(),.$link->getCons
5f720 74 72 61 69 6e 74 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 traint());..foreach.($possibleRe
5f740 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 69 66 20 28 24 72 65 71 75 69 quires.as.$require).{.if.($requi
5f760 72 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 6f 6f 74 73 5b re.!==.$package).{.unset($roots[
5f780 24 72 65 71 75 69 72 65 2d 3e 69 64 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 $require->id]);.}.}.}.}..return.
5f7a0 24 72 6f 6f 74 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 $roots;.}..protected.function.fi
5f7c0 6e 64 55 70 64 61 74 65 73 28 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 ndUpdates().{.$installMeansUpdat
5f7e0 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d eMap.=.array();..foreach.($this-
5f800 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b >decisions.as.$i.=>.$decision).{
5f820 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a .$literal.=.$decision[Decisions:
5f840 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 :DECISION_LITERAL];.$package.=.$
5f860 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 this->pool->literalToPackage($li
5f880 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 teral);..if.($package.instanceof
5f8a0 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 .AliasPackage).{.continue;.}....
5f8c0 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 if.($literal.<=.0.&&.isset($this
5f8e0 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b ->installedMap[$package->id])).{
5f900 0a 24 75 70 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2d 3e 66 69 6e 64 55 .$updates.=.$this->policy->findU
5f920 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 pdatePackages($this->pool,.$this
5f940 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 6c 69 74 ->installedMap,.$package);..$lit
5f960 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 3b 0a 0a 66 6f erals.=.array($package->id);..fo
5f980 72 65 61 63 68 20 28 24 75 70 64 61 74 65 73 20 61 73 20 24 75 70 64 61 74 65 29 20 7b 0a 24 6c reach.($updates.as.$update).{.$l
5f9a0 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 75 70 64 61 74 65 2d 3e 69 64 3b 0a 7d 0a 0a 66 6f 72 65 iterals[].=.$update->id;.}..fore
5f9c0 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c ach.($literals.as.$updateLiteral
5f9e0 29 20 7b 0a 69 66 20 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 20 21 3d 3d 20 24 6c 69 74 65 ).{.if.($updateLiteral.!==.$lite
5fa00 72 61 6c 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 ral).{.$installMeansUpdateMap[ab
5fa20 73 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d s($updateLiteral)].=.$package;.}
5fa40 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 .}.}.}..return.$installMeansUpda
5fa60 74 65 4d 61 70 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 teMap;.}..protected.function.ins
5fa80 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 tall($package,.$reason).{.if.($p
5faa0 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 ackage.instanceof.AliasPackage).
5fac0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c {.return.$this->markAliasInstall
5fae0 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d ed($package,.$reason);.}..$this-
5fb00 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 49 >transaction[].=.new.Operation\I
5fb20 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f nstallOperation($package,.$reaso
5fb40 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 n);.}..protected.function.update
5fb60 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 ($from,.$to,.$reason).{.$this->t
5fb80 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 ransaction[].=.new.Operation\Upd
5fba0 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e ateOperation($from,.$to,.$reason
5fbc0 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 );.}..protected.function.uninsta
5fbe0 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 61 63 ll($package,.$reason).{.if.($pac
5fc00 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a kage.instanceof.AliasPackage).{.
5fc20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c return.$this->markAliasUninstall
5fc40 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d ed($package,.$reason);.}..$this-
5fc60 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 >transaction[].=.new.Operation\U
5fc80 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 ninstallOperation($package,.$rea
5fca0 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b son);.}..protected.function.mark
5fcc0 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e AliasInstalled($package,.$reason
5fce0 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f ).{.$this->transaction[].=.new.O
5fd00 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 peration\MarkAliasInstalledOpera
5fd20 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 tion($package,.$reason);.}..prot
5fd40 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c ected.function.markAliasUninstal
5fd60 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e led($package,.$reason).{.$this->
5fd80 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 transaction[].=.new.Operation\Ma
5fda0 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 rkAliasUninstalledOperation($pac
5fdc0 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a kage,.$reason);.}.}.<?php.......
5fde0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 .....namespace.Composer\Download
5fe00 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 er;..use.Composer\Package\Packag
5fe20 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e eInterface;.use.Symfony\Componen
5fe40 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f t\Finder\Finder;.use.Composer\IO
5fe60 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 \IOInterface;.........abstract.c
5fe80 6c 61 73 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 46 lass.ArchiveDownloader.extends.F
5fea0 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ileDownloader.{......public.func
5fec0 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 tion.download(PackageInterface.$
5fee0 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a package,.$path,.$output.=.true).
5ff00 7b 0a 24 74 65 6d 70 6f 72 61 72 79 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d {.$temporaryDir.=.$this->config-
5ff20 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 2e >get('vendor-dir').'/composer/'.
5ff40 73 75 62 73 74 72 28 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 29 2c 20 30 2c substr(md5(uniqid('',.true)),.0,
5ff60 20 38 29 3b 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 .8);.$retries.=.3;.while.($retri
5ff80 65 73 2d 2d 29 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e es--).{.$fileName.=.parent::down
5ffa0 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a load($package,.$path,.$output);.
5ffc0 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 .if.($output).{.$this->io->write
5ffe0 45 72 72 6f 72 28 27 20 45 78 74 72 61 63 74 69 6e 67 20 61 72 63 68 69 76 65 27 2c 20 66 61 6c Error('.Extracting.archive',.fal
60000 73 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 0a 74 72 se,.IOInterface::VERBOSE);.}..tr
60020 79 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 y.{.$this->filesystem->ensureDir
60040 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 74 72 79 ectoryExists($temporaryDir);.try
60060 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 65 .{.$this->extract($fileName,.$te
60080 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e mporaryDir);.}.catch.(\Exception
600a0 20 24 65 29 20 7b 0a 0a 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 .$e).{...parent::clearLastCacheW
600c0 72 69 74 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 rite($package);.throw.$e;.}..$th
600e0 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 4e 61 6d 65 is->filesystem->unlink($fileName
60100 29 3b 0a 0a 24 63 6f 6e 74 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 6c 64 );..$contentDir.=.$this->getFold
60120 65 72 43 6f 6e 74 65 6e 74 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 0a 0a 20 69 66 20 erContent($temporaryDir);....if.
60140 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 20 26 26 20 69 73 5f (1.===.count($contentDir).&&.is_
60160 64 69 72 28 72 65 73 65 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 29 29 20 7b 0a 24 63 6f 6e 74 dir(reset($contentDir))).{.$cont
60180 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 entDir.=.$this->getFolderContent
601a0 28 28 73 74 72 69 6e 67 29 20 72 65 73 65 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 29 3b 0a 7d ((string).reset($contentDir));.}
601c0 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 44 69 72 20 61 73 20 24 66 69 6c ....foreach.($contentDir.as.$fil
601e0 65 29 20 7b 0a 24 66 69 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 74 68 e).{.$file.=.(string).$file;.$th
60200 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 24 66 69 6c 65 2c 20 24 70 is->filesystem->rename($file,.$p
60220 61 74 68 20 2e 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 29 29 3b 0a 7d 0a ath...'/'...basename($file));.}.
60240 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 .$this->filesystem->removeDirect
60260 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 ory($temporaryDir);.if.($this->f
60280 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e ilesystem->isDirEmpty($this->con
602a0 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 fig->get('vendor-dir').'/compose
602c0 72 2f 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 r/')).{.$this->filesystem->remov
602e0 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 eDirectory($this->config->get('v
60300 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 29 3b 0a 7d 0a 69 66 20 endor-dir').'/composer/');.}.if.
60320 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 ($this->filesystem->isDirEmpty($
60340 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 this->config->get('vendor-dir'))
60360 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 ).{.$this->filesystem->removeDir
60380 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f ectory($this->config->get('vendo
603a0 72 2d 64 69 72 27 29 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 r-dir'));.}.}.catch.(\Exception.
603c0 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 $e).{...$this->filesystem->remov
603e0 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 eDirectory($path);.$this->filesy
60400 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 stem->removeDirectory($temporary
60420 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 24 72 65 74 72 69 65 73 20 26 26 20 24 65 20 69 6e 73 74 Dir);....if.($retries.&&.$e.inst
60440 61 6e 63 65 6f 66 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e anceof.\UnexpectedValueException
60460 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 20 26 .&&.class_exists('ZipArchive').&
60480 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 5c 5a 69 70 41 72 63 68 69 76 65 3a &.$e->getCode().===.\ZipArchive:
604a0 3a 45 52 5f 4e 4f 5a 49 50 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 :ER_NOZIP).{.$this->io->writeErr
604c0 6f 72 28 27 27 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 or('');.if.($this->io->isDebug()
604e0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 49 ).{.$this->io->writeError('....I
60500 6e 76 61 6c 69 64 20 7a 69 70 20 66 69 6c 65 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 nvalid.zip.file.('.$e->getMessag
60520 65 28 29 2e 27 29 2c 20 72 65 74 72 79 69 6e 67 2e 2e 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a e().'),.retrying...');.}.else.{.
60540 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 49 6e 76 61 6c $this->io->writeError('....Inval
60560 69 64 20 7a 69 70 20 66 69 6c 65 2c 20 72 65 74 72 79 69 6e 67 2e 2e 2e 27 29 3b 0a 7d 0a 75 73 id.zip.file,.retrying...');.}.us
60580 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 leep(500000);.continue;.}..throw
605a0 20 24 65 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .$e;.}..break;.}.}.....protected
605c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 .function.getFileName(PackageInt
605e0 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e erface.$package,.$path).{.return
60600 20 72 74 72 69 6d 28 24 70 61 74 68 2e 27 2f 27 2e 6d 64 35 28 24 70 61 74 68 2e 73 70 6c 5f 6f .rtrim($path.'/'.md5($path.spl_o
60620 62 6a 65 63 74 5f 68 61 73 68 28 24 70 61 63 6b 61 67 65 29 29 2e 27 2e 27 2e 70 61 74 68 69 6e bject_hash($package)).'.'.pathin
60640 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 fo(parse_url($package->getDistUr
60660 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 l(),.PHP_URL_PATH),.PATHINFO_EXT
60680 45 4e 53 49 4f 4e 29 2c 20 27 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 ENSION),.'.');.}..........abstra
606a0 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 ct.protected.function.extract($f
606c0 69 6c 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ile,.$path);........private.func
606e0 74 69 6f 6e 20 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 28 24 64 69 72 29 0a 7b 0a 24 66 tion.getFolderContent($dir).{.$f
60700 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f 72 inder.=.Finder::create().->ignor
60720 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c eVCS(false).->ignoreDotFiles(fal
60740 73 65 29 0a 2d 3e 6e 6f 74 4e 61 6d 65 28 27 2e 44 53 5f 53 74 6f 72 65 27 29 0a 2d 3e 64 65 70 se).->notName('.DS_Store').->dep
60760 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 69 74 65 72 61 74 th(0).->in($dir);..return.iterat
60780 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a or_to_array($finder);.}.}.<?php.
607a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f ...........namespace.Composer\Do
607c0 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c wnloader;..use.Composer\Package\
607e0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 PackageInterface;.......interfac
60800 65 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a e.ChangeReportInterface.{.......
60820 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 .public.function.getLocalChanges
60840 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
60860 68 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 h);.}.<?php............namespace
60880 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f .Composer\Downloader;..use.Compo
608a0 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
608c0 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 e.Composer\IO\IOInterface;.use.C
608e0 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 omposer\Util\Filesystem;.......c
60900 6c 61 73 73 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 lass.DownloadManager.{.private.$
60920 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b io;.private.$preferDist.=.false;
60940 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a .private.$preferSource.=.false;.
60960 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 private.$packagePreferences.=.ar
60980 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 69 76 ray();.private.$filesystem;.priv
609a0 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a ate.$downloaders.=.array();.....
609c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
609e0 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d IOInterface.$io,.$preferSource.=
60a00 20 66 61 6c 73 65 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d .false,.Filesystem.$filesystem.=
60a20 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d .null).{.$this->io.=.$io;.$this-
60a40 3e 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 >preferSource.=.$preferSource;.$
60a60 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f this->filesystem.=.$filesystem.?
60a80 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 :.new.Filesystem();.}........pub
60aa0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 lic.function.setPreferSource($pr
60ac0 65 66 65 72 53 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 eferSource).{.$this->preferSourc
60ae0 65 20 3d 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 e.=.$preferSource;..return.$this
60b00 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 ;.}........public.function.setPr
60b20 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 eferDist($preferDist).{.$this->p
60b40 72 65 66 65 72 44 69 73 74 20 3d 20 24 70 72 65 66 65 72 44 69 73 74 3b 0a 0a 72 65 74 75 72 6e referDist.=.$preferDist;..return
60b60 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$this;.}........public.function
60b80 20 73 65 74 50 72 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 70 72 65 66 65 72 65 6e 63 .setPreferences(array.$preferenc
60ba0 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 es).{.$this->packagePreferences.
60bc0 3d 20 24 70 72 65 66 65 72 65 6e 63 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d =.$preferences;..return.$this;.}
60be0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 .........public.function.setOutp
60c00 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 66 6f utProgress($outputProgress).{.fo
60c20 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 20 61 73 20 24 64 6f reach.($this->downloaders.as.$do
60c40 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 73 65 74 4f 75 74 70 wnloader).{.$downloader->setOutp
60c60 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a utProgress($outputProgress);.}..
60c80 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 return.$this;.}.........public.f
60ca0 75 6e 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 2c 20 44 6f 77 unction.setDownloader($type,.Dow
60cc0 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 0a 7b 0a nloaderInterface.$downloader).{.
60ce0 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 24 74 68 69 73 $type.=.strtolower($type);.$this
60d00 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 ->downloaders[$type].=.$download
60d20 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 er;..return.$this;.}.........pub
60d40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 lic.function.getDownloader($type
60d60 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 69 ).{.$type.=.strtolower($type);.i
60d80 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 f.(!isset($this->downloaders[$ty
60da0 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 pe])).{.throw.new.\InvalidArgume
60dc0 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 64 6f 77 ntException(sprintf('Unknown.dow
60de0 6e 6c 6f 61 64 65 72 20 74 79 70 65 3a 20 25 73 2e 20 41 76 61 69 6c 61 62 6c 65 20 74 79 70 65 nloader.type:.%s..Available.type
60e00 73 3a 20 25 73 2e 27 2c 20 24 74 79 70 65 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 s:.%s.',.$type,.implode(',.',.ar
60e20 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 29 29 29 29 3b ray_keys($this->downloaders))));
60e40 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 .}..return.$this->downloaders[$t
60e60 79 70 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ype];.}...........public.functio
60e80 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 n.getDownloaderForInstalledPacka
60ea0 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a ge(PackageInterface.$package).{.
60ec0 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e $installationSource.=.$package->
60ee0 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 69 66 20 28 27 6d getInstallationSource();..if.('m
60f00 65 74 61 70 61 63 6b 61 67 65 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 etapackage'.===.$package->getTyp
60f20 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d e()).{.return;.}..if.('dist'.===
60f40 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 .$installationSource).{.$downloa
60f60 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 70 61 63 6b der.=.$this->getDownloader($pack
60f80 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 age->getDistType());.}.elseif.('
60fa0 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 source'.===.$installationSource)
60fc0 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c .{.$downloader.=.$this->getDownl
60fe0 6f 61 64 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 29 oader($package->getSourceType())
61000 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 ;.}.else.{.throw.new.\InvalidArg
61020 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b umentException(.'Package.'.$pack
61040 61 67 65 2e 27 20 73 65 65 6d 73 20 6e 6f 74 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 70 age.'.seems.not.been.installed.p
61060 72 6f 70 65 72 6c 79 27 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e roperly'.);.}..if.($installation
61080 53 6f 75 72 63 65 20 21 3d 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 Source.!==.$downloader->getInsta
610a0 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f llationSource()).{.throw.new.\Lo
610c0 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 44 6f 77 6e 6c 6f 61 64 65 gicException(sprintf(.'Downloade
610e0 72 20 22 25 73 22 20 69 73 20 61 20 25 73 20 74 79 70 65 20 64 6f 77 6e 6c 6f 61 64 65 72 20 61 r."%s".is.a.%s.type.downloader.a
61100 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 25 nd.can.not.be.used.to.download.%
61120 73 20 66 6f 72 20 70 61 63 6b 61 67 65 20 25 73 27 2c 0a 67 65 74 5f 63 6c 61 73 73 28 24 64 6f s.for.package.%s',.get_class($do
61140 77 6e 6c 6f 61 64 65 72 29 2c 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 wnloader),.$downloader->getInsta
61160 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f llationSource(),.$installationSo
61180 75 72 63 65 2c 0a 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f urce,.$package.));.}..return.$do
611a0 77 6e 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 wnloader;.}............public.fu
611c0 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 nction.download(PackageInterface
611e0 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 70 72 65 66 65 72 53 6f .$package,.$targetDir,.$preferSo
61200 75 72 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e urce.=.null).{.$preferSource.=.n
61220 75 6c 6c 20 21 3d 3d 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3f 20 24 70 72 65 66 65 72 53 ull.!==.$preferSource.?.$preferS
61240 6f 75 72 63 65 20 3a 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 73 6f ource.:.$this->preferSource;.$so
61260 75 72 63 65 54 79 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 urceType.=.$package->getSourceTy
61280 70 65 28 29 3b 0a 24 64 69 73 74 54 79 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 pe();.$distType.=.$package->getD
612a0 69 73 74 54 79 70 65 28 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a istType();..$sources.=.array();.
612c0 69 66 20 28 24 73 6f 75 72 63 65 54 79 70 65 29 20 7b 0a 24 73 6f 75 72 63 65 73 5b 5d 20 3d 20 if.($sourceType).{.$sources[].=.
612e0 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 69 66 20 28 24 64 69 73 74 54 79 70 65 29 20 7b 0a 24 73 6f 'source';.}.if.($distType).{.$so
61300 75 72 63 65 73 5b 5d 20 3d 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 urces[].=.'dist';.}..if.(empty($
61320 73 6f 75 72 63 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 sources)).{.throw.new.\InvalidAr
61340 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b gumentException('Package.'.$pack
61360 61 67 65 2e 27 20 6d 75 73 74 20 68 61 76 65 20 61 20 73 6f 75 72 63 65 20 6f 72 20 64 69 73 74 age.'.must.have.a.source.or.dist
61380 20 73 70 65 63 69 66 69 65 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 72 65 66 65 72 53 6f 75 .specified');.}..if.(!$preferSou
613a0 72 63 65 20 26 26 20 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 7c 7c 20 27 64 69 rce.&&.($this->preferDist.||.'di
613c0 73 74 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 50 61 63 6b 61 67 65 49 6e 73 st'.===.$this->resolvePackageIns
613e0 74 61 6c 6c 50 72 65 66 65 72 65 6e 63 65 28 24 70 61 63 6b 61 67 65 29 29 29 20 7b 0a 24 73 6f tallPreference($package))).{.$so
61400 75 72 63 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 73 6f 75 72 63 65 73 29 3b urces.=.array_reverse($sources);
61420 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 .}..$this->filesystem->ensureDir
61440 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 66 6f 72 65 61 ectoryExists($targetDir);..forea
61460 63 68 20 28 24 73 6f 75 72 63 65 73 20 61 73 20 24 69 20 3d 3e 20 24 73 6f 75 72 63 65 29 20 7b ch.($sources.as.$i.=>.$source).{
61480 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 .if.(isset($e)).{.$this->io->wri
614a0 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 4e 6f 77 20 74 72 79 69 6e 67 teError('....<warning>Now.trying
614c0 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 66 72 6f 6d 20 27 20 2e 20 24 73 6f 75 72 63 65 20 2e 20 .to.download.from.'...$source...
614e0 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e '</warning>');.}.$package->setIn
61500 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 73 6f 75 72 63 65 29 3b 0a 74 72 79 20 7b stallationSource($source);.try.{
61520 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 .$downloader.=.$this->getDownloa
61540 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 derForInstalledPackage($package)
61560 3b 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 ;.if.($downloader).{.$downloader
61580 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 ->download($package,.$targetDir)
615a0 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 ;.}.break;.}.catch.(\RuntimeExce
615c0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 69 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 73 6f ption.$e).{.if.($i.===.count($so
615e0 75 72 63 65 73 29 20 2d 20 31 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 urces).-.1).{.throw.$e;.}..$this
61600 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e ->io->writeError(.'....<warning>
61620 46 61 69 6c 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 27 2e 0a 24 70 61 63 6b 61 67 65 2d 3e Failed.to.download.'..$package->
61640 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 0a 27 20 66 72 6f 6d 20 27 20 2e 20 24 73 6f 75 getPrettyName()..'.from.'...$sou
61660 72 63 65 20 2e 20 27 3a 20 27 2e 0a 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f rce...':.'..$e->getMessage().'</
61680 77 61 72 6e 69 6e 67 3e 27 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 warning>'.);.}.}.}...........pub
616a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 lic.function.update(PackageInter
616c0 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 face.$initial,.PackageInterface.
616e0 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 $target,.$targetDir).{.$download
61700 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 er.=.$this->getDownloaderForInst
61720 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 64 6f alledPackage($initial);.if.(!$do
61740 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 61 wnloader).{.return;.}..$installa
61760 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 49 6e 73 74 61 6c tionSource.=.$initial->getInstal
61780 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 lationSource();..if.('dist'.===.
617a0 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 69 6e 69 74 69 61 6c 54 $installationSource).{.$initialT
617c0 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 ype.=.$initial->getDistType();.$
617e0 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 44 69 73 74 54 79 70 targetType.=.$target->getDistTyp
61800 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e e();.}.else.{.$initialType.=.$in
61820 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 itial->getSourceType();.$targetT
61840 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a ype.=.$target->getSourceType();.
61860 7d 0a 0a 0a 20 69 66 20 28 24 74 61 72 67 65 74 2d 3e 69 73 44 65 76 28 29 20 26 26 20 27 64 69 }....if.($target->isDev().&&.'di
61880 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 st'.===.$installationSource).{.$
618a0 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 downloader->remove($initial,.$ta
618c0 72 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 rgetDir);.$this->download($targe
618e0 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 t,.$targetDir);..return;.}..if.(
61900 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 3d 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 7b 0a $initialType.===.$targetType).{.
61920 24 74 61 72 67 65 74 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 $target->setInstallationSource($
61940 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a 74 72 79 20 7b 0a 24 64 6f 77 6e installationSource);.try.{.$down
61960 6c 6f 61 64 65 72 2d 3e 75 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 loader->update($initial,.$target
61980 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 ,.$targetDir);..return;.}.catch.
619a0 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 (\RuntimeException.$e).{.if.(!$t
619c0 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f his->io->isInteractive()).{.thro
619e0 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c w.$e;.}.$this->io->writeError('<
61a00 65 72 72 6f 72 3e 20 20 20 20 55 70 64 61 74 65 20 66 61 69 6c 65 64 20 28 27 2e 24 65 2d 3e 67 error>....Update.failed.('.$e->g
61a20 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 69 66 20 28 21 24 etMessage().')</error>');.if.(!$
61a40 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 20 20 20 20 57 this->io->askConfirmation('....W
61a60 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 74 72 79 20 72 65 69 6e 73 74 61 6c 6c 69 6e ould.you.like.to.try.reinstallin
61a80 67 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 64 20 5b 3c 63 6f 6d 6d 65 6e 74 3e g.the.package.instead.[<comment>
61aa0 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f yes</comment>]?.',.true)).{.thro
61ac0 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 65 w.$e;.}.}.}..$downloader->remove
61ae0 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 64 ($initial,.$targetDir);.$this->d
61b00 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 27 73 6f ownload($target,.$targetDir,.'so
61b20 75 72 63 65 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a urce'.===.$installationSource);.
61b40 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 }........public.function.remove(
61b60 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 PackageInterface.$package,.$targ
61b80 65 74 44 69 72 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 etDir).{.$downloader.=.$this->ge
61ba0 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 tDownloaderForInstalledPackage($
61bc0 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f package);.if.($downloader).{.$do
61be0 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 wnloader->remove($package,.$targ
61c00 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 etDir);.}.}.........protected.fu
61c20 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 50 72 65 66 nction.resolvePackageInstallPref
61c40 65 72 65 6e 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 erence(PackageInterface.$package
61c60 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 72 65 66 65 ).{.foreach.($this->packagePrefe
61c80 72 65 6e 63 65 73 20 61 73 20 24 70 61 74 74 65 72 6e 20 3d 3e 20 24 70 72 65 66 65 72 65 6e 63 rences.as.$pattern.=>.$preferenc
61ca0 65 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 e).{.$pattern.=.'{^'.str_replace
61cc0 28 27 5c 5c 2a 27 2c 20 27 2e 2a 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 74 74 65 72 ('\\*',.'.*',.preg_quote($patter
61ce0 6e 29 29 2e 27 24 7d 69 27 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 n)).'$}i';.if.(preg_match($patte
61d00 72 6e 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 69 66 20 28 rn,.$package->getName())).{.if.(
61d20 27 64 69 73 74 27 20 3d 3d 3d 20 24 70 72 65 66 65 72 65 6e 63 65 20 7c 7c 20 28 21 24 70 61 63 'dist'.===.$preference.||.(!$pac
61d40 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 27 61 75 74 6f 27 20 3d 3d 3d 20 24 70 72 65 kage->isDev().&&.'auto'.===.$pre
61d60 66 65 72 65 6e 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 72 65 ference)).{.return.'dist';.}..re
61d80 74 75 72 6e 20 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b turn.'source';.}.}..return.$pack
61da0 61 67 65 2d 3e 69 73 44 65 76 28 29 20 3f 20 27 73 6f 75 72 63 65 27 20 3a 20 27 64 69 73 74 27 age->isDev().?.'source'.:.'dist'
61dc0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
61de0 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f .Composer\Downloader;..use.Compo
61e00 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a ser\Package\PackageInterface;...
61e20 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 .....interface.DownloaderInterfa
61e40 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 ce.{......public.function.getIns
61e60 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tallationSource();........public
61e80 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 .function.download(PackageInterf
61ea0 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ace.$package,.$path);.........pu
61ec0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 blic.function.update(PackageInte
61ee0 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 rface.$initial,.PackageInterface
61f00 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$target,.$path);........public.
61f20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 function.remove(PackageInterface
61f40 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$package,.$path);........public
61f60 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 .function.setOutputProgress($out
61f80 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a putProgress);.}.<?php...........
61fa0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a .namespace.Composer\Downloader;.
61fc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
61fe0 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 76 63 73 44 6f 77 6e erface;.......interface.DvcsDown
62000 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 loaderInterface.{........public.
62020 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 50 61 63 6b function.getUnpushedChanges(Pack
62040 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d ageInterface.$package,.$path);.}
62060 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
62080 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 oser\Downloader;..use.Composer\C
620a0 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 onfig;.use.Composer\Cache;.use.C
620c0 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f omposer\Factory;.use.Composer\IO
620e0 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 \IOInterface;.use.Composer\IO\Nu
62100 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 llIO;.use.Composer\Package\Compa
62120 72 65 72 5c 43 6f 6d 70 61 72 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 rer\Comparer;.use.Composer\Packa
62140 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ge\PackageInterface;.use.Compose
62160 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b r\Package\Version\VersionParser;
62180 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 .use.Composer\Plugin\PluginEvent
621a0 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 6f s;.use.Composer\Plugin\PreFileDo
621c0 77 6e 6c 6f 61 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 wnloadEvent;.use.Composer\EventD
621e0 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 ispatcher\EventDispatcher;.use.C
62200 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d omposer\Util\Filesystem;.use.Com
62220 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 poser\Util\RemoteFilesystem;.use
62240 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 55 72 6c 20 61 73 20 55 72 6c 55 74 69 6c 3b 0a 0a .Composer\Util\Url.as.UrlUtil;..
62260 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 ........class.FileDownloader.imp
62280 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 lements.DownloaderInterface,.Cha
622a0 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 ngeReportInterface.{.protected.$
622c0 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 io;.protected.$config;.protected
622e0 20 24 72 66 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 .$rfs;.protected.$filesystem;.pr
62300 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 otected.$cache;.protected.$outpu
62320 74 50 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 43 tProgress.=.true;.private.$lastC
62340 61 63 68 65 57 72 69 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 acheWrites.=.array();.private.$e
62360 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ventDispatcher;............publi
62380 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 c.function.__construct(IOInterfa
623a0 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 ce.$io,.Config.$config,.EventDis
623c0 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c patcher.$eventDispatcher.=.null,
623e0 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 .Cache.$cache.=.null,.RemoteFile
62400 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 system.$rfs.=.null,.Filesystem.$
62420 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d filesystem.=.null).{.$this->io.=
62440 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 .$io;.$this->config.=.$config;.$
62460 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 this->eventDispatcher.=.$eventDi
62480 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 spatcher;.$this->rfs.=.$rfs.?:.F
624a0 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 actory::createRemoteFilesystem($
624c0 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 this->io,.$config);.$this->files
624e0 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 ystem.=.$filesystem.?:.new.Files
62500 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 24 63 61 63 68 65 3b 0a ystem();.$this->cache.=.$cache;.
62520 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 .if.($this->cache.&&.$this->cach
62540 65 2d 3e 67 63 49 73 4e 65 63 65 73 73 61 72 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 e->gcIsNecessary()).{.$this->cac
62560 68 65 2d 3e 67 63 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 he->gc($config->get('cache-files
62580 2d 74 74 6c 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 -ttl'),.$config->get('cache-file
625a0 73 2d 6d 61 78 73 69 7a 65 27 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e s-maxsize'));.}.}.....public.fun
625c0 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a ction.getInstallationSource().{.
625e0 72 65 74 75 72 6e 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 return.'dist';.}.....public.func
62600 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 tion.download(PackageInterface.$
62620 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a package,.$path,.$output.=.true).
62640 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 20 7b {.if.(!$package->getDistUrl()).{
62660 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
62680 74 69 6f 6e 28 27 54 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 69 73 20 6d 69 73 73 69 tion('The.given.package.is.missi
626a0 6e 67 20 75 72 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 ng.url.information');.}..if.($ou
626c0 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 tput).{.$this->io->writeError(".
626e0 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 .-.Installing.<info>"...$package
62700 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 ->getName()..."</info>.(<comment
62720 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 >"...$package->getFullPrettyVers
62740 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b ion()..."</comment>):.",.false);
62760 0a 7d 0a 0a 24 75 72 6c 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c .}..$urls.=.$package->getDistUrl
62780 73 28 29 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 s();.while.($url.=.array_shift($
627a0 75 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 urls)).{.try.{.$fileName.=.$this
627c0 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 ->doDownload($package,.$path,.$u
627e0 72 6c 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 rl);.break;.}.catch.(\Exception.
62800 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 $e).{.if.($this->io->isDebug()).
62820 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 {.$this->io->writeError('');.$th
62840 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 64 3a 20 5b 27 2e 67 is->io->writeError('Failed:.['.g
62860 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2e et_class($e).'].'.$e->getCode().
62880 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 ':.'.$e->getMessage());.}.elseif
628a0 20 28 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 .(count($urls)).{.$this->io->wri
628c0 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 teError('');.$this->io->writeErr
628e0 6f 72 28 27 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 55 52 4c or('.Failed,.trying.the.next.URL
62900 20 28 27 2e 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2e 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 .('.$e->getCode().':.'.$e->getMe
62920 73 73 61 67 65 28 29 2e 27 29 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6f 75 ssage().')',.false);.}..if.(!cou
62940 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 nt($urls)).{.throw.$e;.}.}.}..if
62960 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 .($output).{.$this->io->writeErr
62980 6f 72 28 27 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a or('');.}..return.$fileName;.}..
629a0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 protected.function.doDownload(Pa
629c0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 ckageInterface.$package,.$path,.
629e0 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 $url).{.$this->filesystem->empty
62a00 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 Directory($path);..$fileName.=.$
62a20 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 this->getFileName($package,.$pat
62a40 68 29 3b 0a 0a 24 70 72 6f 63 65 73 73 65 64 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 h);..$processedUrl.=.$this->proc
62a60 65 73 73 55 72 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 75 72 6c 29 3b 0a 24 68 6f 73 74 6e 61 6d essUrl($package,.$url);.$hostnam
62a80 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 50 48 50 e.=.parse_url($processedUrl,.PHP
62aa0 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 _URL_HOST);..$preFileDownloadEve
62ac0 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c nt.=.new.PreFileDownloadEvent(Pl
62ae0 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 uginEvents::PRE_FILE_DOWNLOAD,.$
62b00 74 68 69 73 2d 3e 72 66 73 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 69 66 20 28 24 this->rfs,.$processedUrl);.if.($
62b20 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e this->eventDispatcher).{.$this->
62b40 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 46 69 eventDispatcher->dispatch($preFi
62b60 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 leDownloadEvent->getName(),.$pre
62b80 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a 24 72 66 73 20 3d 20 24 70 72 FileDownloadEvent);.}.$rfs.=.$pr
62ba0 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c eFileDownloadEvent->getRemoteFil
62bc0 65 73 79 73 74 65 6d 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 63 68 65 63 6b 73 75 6d 20 3d 20 24 70 esystem();..try.{.$checksum.=.$p
62be0 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 24 ackage->getDistSha1Checksum();.$
62c00 63 61 63 68 65 4b 65 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 65 4b 65 79 28 24 70 cacheKey.=.$this->getCacheKey($p
62c20 61 63 6b 61 67 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 0a 0a 20 69 66 20 28 24 ackage,.$processedUrl);....if.($
62c40 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 28 21 24 63 68 65 63 6b 73 75 6d 20 7c 7c 20 24 63 this->cache.&&.(!$checksum.||.$c
62c60 68 65 63 6b 73 75 6d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 31 28 24 hecksum.===.$this->cache->sha1($
62c80 63 61 63 68 65 4b 65 79 29 29 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 cacheKey)).&&.$this->cache->copy
62ca0 54 6f 28 24 63 61 63 68 65 4b 65 79 2c 20 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 24 74 68 69 To($cacheKey,.$fileName)).{.$thi
62cc0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 66 72 6f 6d 20 s->io->writeError('Loading.from.
62ce0 63 61 63 68 65 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 cache',.false);.}.else.{...if.(!
62d00 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e $this->outputProgress).{.$this->
62d20 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 27 2c 20 66 61 io->writeError('Downloading',.fa
62d40 6c 73 65 29 3b 0a 7d 0a 0a 0a 20 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 lse);.}....$retries.=.3;.while.(
62d60 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 72 66 73 2d 3e 63 6f 70 79 28 24 $retries--).{.try.{.$rfs->copy($
62d80 68 6f 73 74 6e 61 6d 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 24 66 69 6c 65 4e 61 hostname,.$processedUrl,.$fileNa
62da0 6d 65 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 2c 20 24 70 61 63 6b me,.$this->outputProgress,.$pack
62dc0 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 62 72 65 age->getTransportOptions());.bre
62de0 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 ak;.}.catch.(TransportException.
62e00 24 65 29 20 7b 0a 0a 20 69 66 20 28 28 30 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 $e).{...if.((0.!==.$e->getCode()
62e20 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 .&&.!in_array($e->getCode(),.arr
62e40 61 79 28 35 30 30 2c 20 35 30 32 2c 20 35 30 33 2c 20 35 30 34 29 29 29 20 7c 7c 20 21 24 72 65 ay(500,.502,.503,.504))).||.!$re
62e60 74 72 69 65 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e tries).{.throw.$e;.}.$this->io->
62e80 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 writeError('');.$this->io->write
62ea0 45 72 72 6f 72 28 27 20 20 20 20 44 6f 77 6e 6c 6f 61 64 20 66 61 69 6c 65 64 2c 20 72 65 74 72 Error('....Download.failed,.retr
62ec0 79 69 6e 67 2e 2e 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 ying...',.true,.IOInterface::VER
62ee0 42 4f 53 45 29 3b 0a 75 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 BOSE);.usleep(500000);.}.}..if.(
62f00 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d !$this->outputProgress).{.$this-
62f20 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 28 3c 63 6f 6d 6d 65 6e 74 3e 31 30 30 25 >io->writeError('.(<comment>100%
62f40 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 </comment>)',.false);.}..if.($th
62f60 69 73 2d 3e 63 61 63 68 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 is->cache).{.$this->lastCacheWri
62f80 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 61 63 68 tes[$package->getName()].=.$cach
62fa0 65 4b 65 79 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 46 72 6f 6d 28 24 63 61 eKey;.$this->cache->copyFrom($ca
62fc0 63 68 65 4b 65 79 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 66 69 cheKey,.$fileName);.}.}..if.(!fi
62fe0 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 le_exists($fileName)).{.throw.ne
63000 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 24 75 72 6c w.\UnexpectedValueException($url
63020 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 61 76 65 64 20 74 6f 20 27 2e 24 66 69 6c 65 .'.could.not.be.saved.to.'.$file
63040 4e 61 6d 65 2e 27 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 27 0a 2e 27 20 64 69 72 65 63 74 Name.',.make.sure.the'..'.direct
63060 6f 72 79 20 69 73 20 77 72 69 74 61 62 6c 65 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 69 6e 74 ory.is.writable.and.you.have.int
63080 65 72 6e 65 74 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 68 ernet.connectivity');.}..if.($ch
630a0 65 63 6b 73 75 6d 20 26 26 20 68 61 73 68 5f 66 69 6c 65 28 27 73 68 61 31 27 2c 20 24 66 69 6c ecksum.&&.hash_file('sha1',.$fil
630c0 65 4e 61 6d 65 29 20 21 3d 3d 20 24 63 68 65 63 6b 73 75 6d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 eName).!==.$checksum).{.throw.ne
630e0 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 w.\UnexpectedValueException('The
63100 20 63 68 65 63 6b 73 75 6d 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 .checksum.verification.of.the.fi
63120 6c 65 20 66 61 69 6c 65 64 20 28 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 20 27 2e 24 75 72 le.failed.(downloaded.from.'.$ur
63140 6c 2e 27 29 27 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 l.')');.}.}.catch.(\Exception.$e
63160 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 ).{...$this->filesystem->removeD
63180 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 72 4c 61 73 irectory($path);.$this->clearLas
631a0 74 43 61 63 68 65 57 72 69 74 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b tCacheWrite($package);.throw.$e;
631c0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .}..return.$fileName;.}.....publ
631e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f ic.function.setOutputProgress($o
63200 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 utputProgress).{.$this->outputPr
63220 6f 67 72 65 73 73 20 3d 20 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 3b 0a 0a 72 65 74 75 72 ogress.=.$outputProgress;..retur
63240 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 n.$this;.}..protected.function.c
63260 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 72 69 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 learLastCacheWrite(PackageInterf
63280 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 ace.$package).{.if.($this->cache
632a0 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 .&&.isset($this->lastCacheWrites
632c0 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d [$package->getName()])).{.$this-
632e0 3e 63 61 63 68 65 2d 3e 72 65 6d 6f 76 65 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 >cache->remove($this->lastCacheW
63300 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 75 6e 73 rites[$package->getName()]);.uns
63320 65 74 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 et($this->lastCacheWrites[$packa
63340 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ge->getName()]);.}.}.....public.
63360 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 function.update(PackageInterface
63380 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 .$initial,.PackageInterface.$tar
633a0 67 65 74 2c 20 24 70 61 74 68 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 get,.$path).{.$name.=.$target->g
633c0 65 74 4e 61 6d 65 28 29 3b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 etName();.$from.=.$initial->getF
633e0 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 ullPrettyVersion();.$to.=.$targe
63400 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 24 61 63 74 t->getFullPrettyVersion();..$act
63420 69 6f 6e 4e 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 ionName.=.VersionParser::isUpgra
63440 64 65 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 de($initial->getVersion(),.$targ
63460 65 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a et->getVersion()).?.'Updating'.:
63480 20 27 44 6f 77 6e 67 72 61 64 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 .'Downgrading';.$this->io->write
634a0 45 72 72 6f 72 28 22 20 20 2d 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c Error("..-."...$actionName...".<
634c0 69 6e 66 6f 3e 22 20 2e 20 24 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d info>"...$name..."</info>.(<comm
634e0 65 6e 74 3e 22 20 2e 20 24 66 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c ent>"...$from..."</comment>.=>.<
63500 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 comment>"...$to..."</comment>):.
63520 22 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 ",.false);..$this->remove($initi
63540 61 6c 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f al,.$path,.false);.$this->downlo
63560 61 64 28 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 ad($target,.$path,.false);..$thi
63580 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->io->writeError('');.}.....pub
635a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 lic.function.remove(PackageInter
635c0 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 face.$package,.$path,.$output.=.
635e0 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f true).{.if.($output).{.$this->io
63600 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f ->writeError("..-.Removing.<info
63620 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e >"...$package->getName()..."</in
63640 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 fo>.(<comment>"...$package->getF
63660 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e ullPrettyVersion()..."</comment>
63680 29 22 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 )");.}.if.(!$this->filesystem->r
636a0 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e emoveDirectory($path)).{.throw.n
636c0 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 ew.\RuntimeException('Could.not.
636e0 63 6f 6d 70 6c 65 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 2c 20 61 62 6f completely.delete.'.$path.',.abo
63700 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 rting.');.}.}.........protected.
63720 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 function.getFileName(PackageInte
63740 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 rface.$package,.$path).{.return.
63760 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 $path.'/'.pathinfo(parse_url($pa
63780 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 ckage->getDistUrl(),.PHP_URL_PAT
637a0 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a H),.PATHINFO_BASENAME);.}.......
637c0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 55 72 6c ...protected.function.processUrl
637e0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 75 72 6c (PackageInterface.$package,.$url
63800 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 ).{.if.(!extension_loaded('opens
63820 73 6c 27 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 68 74 74 70 sl').&&.0.===.strpos($url,.'http
63840 73 3a 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 s:')).{.throw.new.\RuntimeExcept
63860 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c ion('You.must.enable.the.openssl
63880 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 66 69 6c 65 73 20 76 69 61 .extension.to.download.files.via
638a0 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 .https');.}..if.($package->getDi
638c0 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 75 72 6c 20 3d 20 55 72 6c 55 74 69 6c 3a stReference()).{.$url.=.UrlUtil:
638e0 3a 75 70 64 61 74 65 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 :updateDistReference($this->conf
63900 69 67 2c 20 24 75 72 6c 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 ig,.$url,.$package->getDistRefer
63920 65 6e 63 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 0a 70 72 69 76 ence());.}..return.$url;.}..priv
63940 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 63 68 65 4b 65 79 28 50 61 63 6b 61 67 65 ate.function.getCacheKey(Package
63960 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 Interface.$package,.$processedUr
63980 6c 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 24 63 61 63 68 65 4b 65 79 20 3d 20 73 68 61 31 28 24 70 l).{.........$cacheKey.=.sha1($p
639a0 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e rocessedUrl);..return.$package->
639c0 67 65 74 4e 61 6d 65 28 29 2e 27 2f 27 2e 24 63 61 63 68 65 4b 65 79 2e 27 2e 27 2e 24 70 61 63 getName().'/'.$cacheKey.'.'.$pac
639e0 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c kage->getDistType();.}......publ
63a00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b ic.function.getLocalChanges(Pack
63a20 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 ageInterface.$package,.$targetDi
63a40 72 29 0a 7b 0a 24 70 72 65 76 49 4f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 70 72 65 76 50 r).{.$prevIO.=.$this->io;.$prevP
63a60 72 6f 67 72 65 73 73 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 3b rogress.=.$this->outputProgress;
63a80 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 4f 3b 0a 24 74 68 69 73 2d ..$this->io.=.new.NullIO;.$this-
63aa0 3e 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 6f >io->loadConfiguration($this->co
63ac0 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 66 nfig);.$this->outputProgress.=.f
63ae0 61 6c 73 65 3b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 64 alse;.$e.=.null;..try.{.$this->d
63b00 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 ownload($package,.$targetDir.'_c
63b20 6f 6d 70 61 72 65 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 63 6f 6d 70 61 72 65 72 20 3d 20 6e 65 ompare',.false);..$comparer.=.ne
63b40 77 20 43 6f 6d 70 61 72 65 72 28 29 3b 0a 24 63 6f 6d 70 61 72 65 72 2d 3e 73 65 74 53 6f 75 72 w.Comparer();.$comparer->setSour
63b60 63 65 28 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 24 63 6f 6d 70 ce($targetDir.'_compare');.$comp
63b80 61 72 65 72 2d 3e 73 65 74 55 70 64 61 74 65 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 63 6f arer->setUpdate($targetDir);.$co
63ba0 6d 70 61 72 65 72 2d 3e 64 6f 43 6f 6d 70 61 72 65 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 mparer->doCompare();.$output.=.$
63bc0 63 6f 6d 70 61 72 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 64 28 74 72 75 65 2c 20 74 72 75 65 29 comparer->getChanged(true,.true)
63be0 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 ;.$this->filesystem->removeDirec
63c00 74 6f 72 79 28 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 7d 20 63 tory($targetDir.'_compare');.}.c
63c20 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 24 74 68 69 73 2d atch.(\Exception.$e).{.}..$this-
63c40 3e 69 6f 20 3d 20 24 70 72 65 76 49 4f 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 >io.=.$prevIO;.$this->outputProg
63c60 72 65 73 73 20 3d 20 24 70 72 65 76 50 72 6f 67 72 65 73 73 3b 0a 0a 69 66 20 28 24 65 29 20 7b ress.=.$prevProgress;..if.($e).{
63c80 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 .throw.$e;.}..return.trim($outpu
63ca0 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 t);.}.}.<?php............namespa
63cc0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c ce.Composer\Downloader;.......cl
63ce0 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 ass.FilesystemException.extends.
63d00 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 \Exception.{.public.function.__c
63d20 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3d 20 27 27 2c 20 24 63 6f 64 65 20 3d 20 onstruct($message.=.'',.$code.=.
63d40 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 0,.\Exception.$previous.=.null).
63d60 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 22 46 69 6c 65 73 79 73 74 65 {.parent::__construct("Filesyste
63d80 6d 20 65 78 63 65 70 74 69 6f 6e 3a 20 5c 6e 22 2e 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 m.exception:.\n".$message,.$code
63da0 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ,.$previous);.}.}.<?php.........
63dc0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 ...namespace.Composer\Downloader
63de0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 ;..use.Composer\Package\PackageI
63e00 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 nterface;.use.Composer\Util\Proc
63e20 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 73 73 69 6c 44 6f 77 essExecutor;.....class.FossilDow
63e40 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a nloader.extends.VcsDownloader.{.
63e60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 ...public.function.doDownload(Pa
63e80 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 ckageInterface.$package,.$path,.
63ea0 24 75 72 6c 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 $url).{...$this->config->prohibi
63ec0 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a tUrlByConfig($url,.$this->io);..
63ee0 24 75 72 6c 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 $url.=.ProcessExecutor::escape($
63f00 75 72 6c 29 3b 0a 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 url);.$ref.=.ProcessExecutor::es
63f20 63 61 70 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 cape($package->getSourceReferenc
63f40 65 28 29 29 3b 0a 24 72 65 70 6f 46 69 6c 65 20 3d 20 24 70 61 74 68 20 2e 20 27 2e 66 6f 73 73 e());.$repoFile.=.$path...'.foss
63f60 69 6c 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 43 6c 6f 6e il';.$this->io->writeError("Clon
63f80 69 6e 67 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e ing.".$package->getSourceReferen
63fa0 63 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 ce());.$command.=.sprintf('fossi
63fc0 6c 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c 20 24 75 72 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 l.clone.%s.%s',.$url,.ProcessExe
63fe0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 29 29 3b 0a 69 66 20 28 30 cutor::escape($repoFile));.if.(0
64000 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f .!==.$this->process->execute($co
64020 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 mmand,.$ignoredOutput)).{.throw.
64040 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f new.\RuntimeException('Failed.to
64060 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e .execute.'...$command..."\n\n"..
64080 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 .$this->process->getErrorOutput(
640a0 29 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c ));.}.$command.=.sprintf('fossil
640c0 20 6f 70 65 6e 20 25 73 20 2d 2d 6e 65 73 74 65 64 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 .open.%s.--nested',.ProcessExecu
640e0 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 29 29 3b 0a 69 66 20 28 30 20 21 tor::escape($repoFile));.if.(0.!
64100 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d ==.$this->process->execute($comm
64120 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 and,.$ignoredOutput,.realpath($p
64140 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ath))).{.throw.new.\RuntimeExcep
64160 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d tion('Failed.to.execute.'...$com
64180 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e mand..."\n\n"...$this->process->
641a0 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 getErrorOutput());.}.$command.=.
641c0 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 75 70 64 61 74 65 20 25 73 27 2c 20 24 72 65 66 sprintf('fossil.update.%s',.$ref
641e0 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 );.if.(0.!==.$this->process->exe
64200 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 cute($command,.$ignoredOutput,.r
64220 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 ealpath($path))).{.throw.new.\Ru
64240 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 ntimeException('Failed.to.execut
64260 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d e.'...$command..."\n\n"...$this-
64280 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d >process->getErrorOutput());.}.}
642a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 .....public.function.doUpdate(Pa
642c0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 ckageInterface.$initial,.Package
642e0 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a Interface.$target,.$path,.$url).
64300 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 {...$this->config->prohibitUrlBy
64320 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 24 75 72 6c 20 3d Config($url,.$this->io);..$url.=
64340 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a .ProcessExecutor::escape($url);.
64360 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 $ref.=.ProcessExecutor::escape($
64380 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 target->getSourceReference());.$
643a0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 55 70 64 61 74 69 6e 67 20 this->io->writeError(".Updating.
643c0 74 6f 20 22 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 to.".$target->getSourceReference
643e0 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 ());..if.(!$this->hasMetadataRep
64400 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e ository($path)).{.throw.new.\Run
64420 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 66 73 6c 63 6b 6f 75 74 20 66 69 6c timeException('The..fslckout.fil
64440 65 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 e.is.missing.from.'.$path.',.see
64460 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d .https://getcomposer.org/commit-
64480 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a deps.for.more.information');.}..
644a0 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 70 75 6c 6c 20 $command.=.sprintf('fossil.pull.
644c0 26 26 20 66 6f 73 73 69 6c 20 75 70 20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 30 20 21 &&.fossil.up.%s',.$ref);.if.(0.!
644e0 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d ==.$this->process->execute($comm
64500 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 and,.$ignoredOutput,.realpath($p
64520 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ath))).{.throw.new.\RuntimeExcep
64540 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d tion('Failed.to.execute.'...$com
64560 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e mand..."\n\n"...$this->process->
64580 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 getErrorOutput());.}.}.....publi
645a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 c.function.getLocalChanges(Packa
645c0 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 geInterface.$package,.$path).{.i
645e0 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 f.(!$this->hasMetadataRepository
64600 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 ($path)).{.return.null;.}..$this
64620 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 63 68 61 6e 67 ->process->execute('fossil.chang
64640 65 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 3b 0a es',.$output,.realpath($path));.
64660 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d .return.trim($output).?:.null;.}
64680 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 .....protected.function.getCommi
646a0 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e tLogs($fromReference,.$toReferen
646c0 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 ce,.$path).{.$command.=.sprintf(
646e0 27 66 6f 73 73 69 6c 20 74 69 6d 65 6c 69 6e 65 20 2d 74 20 63 69 20 2d 57 20 30 20 2d 6e 20 30 'fossil.timeline.-t.ci.-W.0.-n.0
64700 20 62 65 66 6f 72 65 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 .before.%s',.ProcessExecutor::es
64720 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 cape($toReference));..if.(0.!==.
64740 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
64760 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 ,.$output,.realpath($path))).{.t
64780 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c hrow.new.\RuntimeException('Fail
647a0 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e ed.to.execute.'...$command..."\n
647c0 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 \n"...$this->process->getErrorOu
647e0 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 6c 6f 67 20 3d 20 27 27 3b 0a 24 6d 61 74 63 68 20 3d 20 tput());.}..$log.=.'';.$match.=.
64800 27 2f 5c 64 5c 64 3a 5c 64 5c 64 3a 5c 64 5c 64 5c 73 2b 5c 5b 27 20 2e 20 24 74 6f 52 65 66 65 '/\d\d:\d\d:\d\d\s+\['...$toRefe
64820 72 65 6e 63 65 20 2e 20 27 5c 5d 2f 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e rence...'\]/';..foreach.($this->
64840 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 process->splitLines($output).as.
64860 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 6d 61 74 63 68 2c 20 $line).{.if.(preg_match($match,.
64880 24 6c 69 6e 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6c 6f 67 20 2e 3d 20 24 6c 69 6e 65 $line)).{.break;.}.$log..=.$line
648a0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 67 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ;.}..return.$log;.}.....protecte
648c0 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 d.function.hasMetadataRepository
648e0 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 6c 65 28 24 70 61 74 68 20 2e ($path).{.return.is_file($path..
64900 20 27 2f 2e 66 73 6c 63 6b 6f 75 74 27 29 20 7c 7c 20 69 73 5f 66 69 6c 65 28 24 70 61 74 68 20 .'/.fslckout').||.is_file($path.
64920 2e 20 27 2f 5f 46 4f 53 53 49 4c 5f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ..'/_FOSSIL_');.}.}.<?php.......
64940 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 .....namespace.Composer\Download
64960 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f er;..use.Composer\Config;.use.Co
64980 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
649a0 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
649c0 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 e.Composer\Util\Filesystem;.use.
649e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 Composer\Util\Git.as.GitUtil;.us
64a00 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f e.Composer\Util\Platform;.use.Co
64a20 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a mposer\Util\ProcessExecutor;....
64a40 0a 63 6c 61 73 73 20 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 .class.GitDownloader.extends.Vcs
64a60 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 76 63 73 44 6f 77 6e 6c 6f Downloader.implements.DvcsDownlo
64a80 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 68 61 73 53 74 61 73 aderInterface.{.private.$hasStas
64aa0 68 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 hedChanges.=.false;.private.$has
64ac0 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 DiscardedChanges.=.false;.privat
64ae0 65 20 24 67 69 74 55 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 e.$gitUtil;..public.function.__c
64b00 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 onstruct(IOInterface.$io,.Config
64b20 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 .$config,.ProcessExecutor.$proce
64b40 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 20 3d 20 6e 75 6c 6c ss.=.null,.Filesystem.$fs.=.null
64b60 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f ).{.parent::__construct($io,.$co
64b80 6e 66 69 67 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 66 73 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 nfig,.$process,.$fs);.$this->git
64ba0 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 Util.=.new.GitUtil($this->io,.$t
64bc0 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 his->config,.$this->process,.$th
64be0 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 is->filesystem);.}.....public.fu
64c00 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 nction.doDownload(PackageInterfa
64c20 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 47 69 74 55 ce.$package,.$path,.$url).{.GitU
64c40 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e til::cleanEnv();.$path.=.$this->
64c60 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 24 63 61 63 68 65 50 61 74 68 normalizePath($path);.$cachePath
64c80 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 .=.$this->config->get('cache-vcs
64ca0 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 -dir').'/'.preg_replace('{[^a-z0
64cc0 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 75 72 6c 29 2e 27 2f 27 3b 0a 24 72 65 66 20 3d 20 -9.]}i',.'-',.$url).'/';.$ref.=.
64ce0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a $package->getSourceReference();.
64d00 24 66 6c 61 67 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 3f 20 $flag.=.Platform::isWindows().?.
64d20 27 2f 44 20 27 20 3a 20 27 27 3b 0a 0a 0a 20 24 67 69 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 '/D.'.:.'';....$gitVersion.=.$th
64d40 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 6d 73 67 20 is->gitUtil->getVersion();.$msg.
64d60 3d 20 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 48 61 73 68 =."Cloning.".$this->getShortHash
64d80 28 24 72 65 66 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 63 6c 6f 6e 65 20 2d ($ref);..$command.=.'git.clone.-
64da0 2d 6e 6f 2d 63 68 65 63 6b 6f 75 74 20 25 75 72 6c 25 20 25 70 61 74 68 25 20 26 26 20 63 64 20 -no-checkout.%url%.%path%.&&.cd.
64dc0 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 '.$flag.'%path%.&&.git.remote.ad
64de0 64 20 63 6f 6d 70 6f 73 65 72 20 25 75 72 6c 25 20 26 26 20 67 69 74 20 66 65 74 63 68 20 63 6f d.composer.%url%.&&.git.fetch.co
64e00 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 24 67 69 74 56 65 72 73 69 6f 6e 20 26 26 20 76 65 72 73 mposer';.if.($gitVersion.&&.vers
64e20 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 67 69 74 56 65 72 73 69 6f 6e 2c 20 27 32 2e 33 2e 30 2d ion_compare($gitVersion,.'2.3.0-
64e40 72 63 30 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 rc0',.'>=')).{.$this->io->writeE
64e60 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 rror('',.true,.IOInterface::DEBU
64e80 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 G);.$this->io->writeError(sprint
64ea0 66 28 27 20 20 20 20 43 6c 6f 6e 69 6e 67 20 74 6f 20 63 61 63 68 65 20 61 74 20 25 73 27 2c 20 f('....Cloning.to.cache.at.%s',.
64ec0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 63 61 63 68 65 50 61 ProcessExecutor::escape($cachePa
64ee0 74 68 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b th)),.true,.IOInterface::DEBUG);
64f00 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 66 65 74 63 68 52 65 66 4f .try.{.$this->gitUtil->fetchRefO
64f20 72 53 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 63 61 63 68 65 50 61 74 68 2c 20 24 72 rSyncMirror($url,.$cachePath,.$r
64f40 65 66 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 63 61 63 68 65 50 61 74 68 29 29 20 7b 0a 24 ef);.if.(is_dir($cachePath)).{.$
64f60 63 6f 6d 6d 61 6e 64 20 3d 0a 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 6e 6f 2d 63 68 65 63 6b 6f command.=.'git.clone.--no-checko
64f80 75 74 20 25 63 61 63 68 65 50 61 74 68 25 20 25 70 61 74 68 25 20 2d 2d 64 69 73 73 6f 63 69 61 ut.%cachePath%.%path%.--dissocia
64fa0 74 65 20 2d 2d 72 65 66 65 72 65 6e 63 65 20 25 63 61 63 68 65 50 61 74 68 25 20 27 0a 2e 20 27 te.--reference.%cachePath%.'...'
64fc0 26 26 20 63 64 20 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 27 0a 2e 20 27 26 26 20 67 69 &&.cd.'.$flag.'%path%.'...'&&.gi
64fe0 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 75 72 6c 25 20 26 26 t.remote.set-url.origin.%url%.&&
65000 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 63 6f 6d 70 6f 73 65 72 20 25 75 72 6c 25 27 3b .git.remote.add.composer.%url%';
65020 0a 24 6d 73 67 20 3d 20 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f .$msg.=."Cloning.".$this->getSho
65040 72 74 48 61 73 68 28 24 72 65 66 29 2e 27 20 66 72 6f 6d 20 63 61 63 68 65 27 3b 0a 7d 0a 7d 20 rtHash($ref).'.from.cache';.}.}.
65060 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d catch.(\RuntimeException.$e).{.}
65080 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a .}.$this->io->writeError($msg);.
650a0 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 .$commandCallable.=.function.($u
650c0 72 6c 29 20 75 73 65 20 28 24 70 61 74 68 2c 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 61 63 68 65 rl).use.($path,.$command,.$cache
650e0 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 0a 61 72 72 61 Path).{.return.str_replace(.arra
65100 79 28 27 25 75 72 6c 25 27 2c 20 27 25 70 61 74 68 25 27 2c 20 27 25 63 61 63 68 65 50 61 74 68 y('%url%',.'%path%',.'%cachePath
65120 25 27 29 2c 0a 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 %'),.array(.ProcessExecutor::esc
65140 61 70 65 28 24 75 72 6c 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 ape($url),.ProcessExecutor::esca
65160 70 65 28 24 70 61 74 68 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 pe($path),.ProcessExecutor::esca
65180 70 65 28 24 63 61 63 68 65 50 61 74 68 29 2c 0a 29 2c 0a 24 63 6f 6d 6d 61 6e 64 0a 29 3b 0a 7d pe($cachePath),.),.$command.);.}
651a0 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 ;..$this->gitUtil->runCommand($c
651c0 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 74 72 75 ommandCallable,.$url,.$path,.tru
651e0 65 29 3b 0a 69 66 20 28 24 75 72 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f e);.if.($url.!==.$package->getSo
65200 75 72 63 65 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4f 72 69 67 69 6e urceUrl()).{.$this->updateOrigin
65220 55 72 6c 28 24 70 61 74 68 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 Url($path,.$package->getSourceUr
65240 6c 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 50 75 73 68 55 72 6c l());.}.else.{.$this->setPushUrl
65260 28 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 24 6e 65 77 52 65 66 20 3d 20 ($path,.$url);.}..if.($newRef.=.
65280 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 $this->updateToCommit($path,.$re
652a0 66 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c f,.$package->getPrettyVersion(),
652c0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 29 29 20 7b 0a .$package->getReleaseDate())).{.
652e0 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 if.($package->getDistReference()
65300 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 .===.$package->getSourceReferenc
65320 65 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 e()).{.$package->setDistReferenc
65340 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 e($newRef);.}.$package->setSourc
65360 65 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 eReference($newRef);.}.}.....pub
65380 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 lic.function.doUpdate(PackageInt
653a0 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 erface.$initial,.PackageInterfac
653c0 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 47 69 74 55 74 69 e.$target,.$path,.$url).{.GitUti
653e0 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 l::cleanEnv();.if.(!$this->hasMe
65400 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 tadataRepository($path)).{.throw
65420 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 67 69 74 .new.\RuntimeException('The..git
65440 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 .directory.is.missing.from.'.$pa
65460 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 th.',.see.https://getcomposer.or
65480 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 g/commit-deps.for.more.informati
654a0 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 20 3d 20 66 61 6c 73 on');.}..$updateOriginUrl.=.fals
654c0 65 3b 0a 69 66 20 28 0a 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 e;.if.(.0.===.$this->process->ex
654e0 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d 76 27 2c 20 24 6f 75 74 70 75 74 2c 20 ecute('git.remote.-v',.$output,.
65500 24 70 61 74 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 6f 72 69 67 69 6e 5c 73 $path).&&.preg_match('{^origin\s
65520 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6f 72 69 67 +(?P<url>\S+)}m',.$output,.$orig
65540 69 6e 4d 61 74 63 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 63 6f 6d 70 6f 73 inMatch).&&.preg_match('{^compos
65560 65 72 5c 73 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 er\s+(?P<url>\S+)}m',.$output,.$
65580 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 29 0a 29 20 7b 0a 69 66 20 28 24 6f 72 69 67 69 6e 4d 61 composerMatch).).{.if.($originMa
655a0 74 63 68 5b 27 75 72 6c 27 5d 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 5b 27 75 tch['url'].===.$composerMatch['u
655c0 72 6c 27 5d 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 5b 27 75 72 6c 27 5d 20 21 3d rl'].&&.$composerMatch['url'].!=
655e0 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 20 7b 0a 24 75 70 =.$target->getSourceUrl()).{.$up
65600 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 72 65 66 20 dateOriginUrl.=.true;.}.}..$ref.
65620 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b =.$target->getSourceReference();
65640 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 43 68 65 63 6b 69 6e .$this->io->writeError(".Checkin
65660 67 20 6f 75 74 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 g.out.".$this->getShortHash($ref
65680 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 ));.$command.=.'git.remote.set-u
656a0 72 6c 20 63 6f 6d 70 6f 73 65 72 20 25 73 20 26 26 20 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 rl.composer.%s.&&.git.rev-parse.
656c0 2d 2d 71 75 69 65 74 20 2d 2d 76 65 72 69 66 79 20 25 73 20 7c 7c 20 28 67 69 74 20 66 65 74 63 --quiet.--verify.%s.||.(git.fetc
656e0 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 66 65 74 63 68 20 2d 2d 74 61 67 73 20 63 h.composer.&&.git.fetch.--tags.c
65700 6f 6d 70 6f 73 65 72 29 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 omposer)';..$commandCallable.=.f
65720 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 72 unction.($url).use.($command,.$r
65740 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 6f 6d 6d 61 6e 64 2c 20 50 ef).{.return.sprintf($command,.P
65760 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 rocessExecutor::escape($url),.Pr
65780 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 66 2e 27 5e 7b 63 6f ocessExecutor::escape($ref.'^{co
657a0 6d 6d 69 74 7d 27 29 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 72 75 mmit}'));.};..$this->gitUtil->ru
657c0 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c nCommand($commandCallable,.$url,
657e0 20 24 70 61 74 68 29 3b 0a 69 66 20 28 24 6e 65 77 52 65 66 20 3d 20 24 74 68 69 73 2d 3e 75 70 .$path);.if.($newRef.=.$this->up
65800 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 66 2c 20 24 74 61 72 67 65 dateToCommit($path,.$ref,.$targe
65820 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e t->getPrettyVersion(),.$target->
65840 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 29 29 20 7b 0a 69 66 20 28 24 74 61 72 67 65 74 getReleaseDate())).{.if.($target
65860 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 ->getDistReference().===.$target
65880 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 74 61 72 67 65 ->getSourceReference()).{.$targe
658a0 74 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a t->setDistReference($newRef);.}.
658c0 24 74 61 72 67 65 74 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 $target->setSourceReference($new
658e0 52 65 66 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 29 20 7b Ref);.}..if.($updateOriginUrl).{
65900 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 74 68 2c 20 24 .$this->updateOriginUrl($path,.$
65920 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a target->getSourceUrl());.}.}....
65940 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 .public.function.getLocalChanges
65960 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
65980 68 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 69 66 20 28 21 24 h).{.GitUtil::cleanEnv();.if.(!$
659a0 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 this->hasMetadataRepository($pat
659c0 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 h)).{.return;.}..$command.=.'git
659e0 20 73 74 61 74 75 73 20 2d 2d 70 6f 72 63 65 6c 61 69 6e 20 2d 2d 75 6e 74 72 61 63 6b 65 64 2d .status.--porcelain.--untracked-
65a00 66 69 6c 65 73 3d 6e 6f 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 files=no';.if.(0.!==.$this->proc
65a20 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 ess->execute($command,.$output,.
65a40 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 $path)).{.throw.new.\RuntimeExce
65a60 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f ption('Failed.to.execute.'...$co
65a80 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d mmand..."\n\n"...$this->process-
65aa0 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 >getErrorOutput());.}..return.tr
65ac0 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 im($output).?:.null;.}..public.f
65ae0 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 50 61 63 6b 61 unction.getUnpushedChanges(Packa
65b00 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 47 geInterface.$package,.$path).{.G
65b20 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 itUtil::cleanEnv();.$path.=.$thi
65b40 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 74 s->normalizePath($path);.if.(!$t
65b60 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 his->hasMetadataRepository($path
65b80 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 )).{.return;.}..$command.=.'git.
65ba0 73 68 6f 77 2d 72 65 66 20 2d 2d 68 65 61 64 20 2d 64 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 show-ref.--head.-d';.if.(0.!==.$
65bc0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c this->process->execute($command,
65be0 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 .$output,.$path)).{.throw.new.\R
65c00 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 untimeException('Failed.to.execu
65c20 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 te.'...$command..."\n\n"...$this
65c40 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a ->process->getErrorOutput());.}.
65c60 0a 24 72 65 66 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 21 70 72 65 .$refs.=.trim($output);.if.(!pre
65c80 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 48 45 41 44 24 7d 6d 69 27 g_match('{^([a-f0-9]+).HEAD$}mi'
65ca0 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a ,.$refs,.$match)).{...return;.}.
65cc0 0a 24 68 65 61 64 52 65 66 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 69 66 20 28 21 70 72 65 67 .$headRef.=.$match[1];.if.(!preg
65ce0 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 5e 27 2e 24 68 65 61 64 52 65 66 2e 27 20 72 65 66 73 2f _match_all('{^'.$headRef.'.refs/
65d00 68 65 61 64 73 2f 28 2e 2b 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 65 73 heads/(.+)$}mi',.$refs,.$matches
65d20 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 62 72 61 6e 63 68 20 3d 20 24 6d )).{...return;.}....$branch.=.$m
65d40 61 74 63 68 65 73 5b 31 5d 5b 30 5d 3b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d atches[1][0];.$unpushedChanges.=
65d60 20 6e 75 6c 6c 3b 0a 0a 0a 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 3d 20 31 3b 20 .null;....for.($i.=.0;.$i.<=.1;.
65d80 24 69 2b 2b 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 61 $i++).{...foreach.($matches[1].a
65da0 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 s.$candidate).{.if.(preg_match('
65dc0 7b 5e 5b 61 2d 66 30 2d 39 5d 2b 20 72 65 66 73 2f 72 65 6d 6f 74 65 73 2f 28 28 3f 3a 63 6f 6d {^[a-f0-9]+.refs/remotes/((?:com
65de0 70 6f 73 65 72 7c 6f 72 69 67 69 6e 29 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 61 6e 64 poser|origin)/'.preg_quote($cand
65e00 69 64 61 74 65 29 2e 27 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 29 29 20 idate).')$}mi',.$refs,.$match)).
65e20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 24 72 65 6d 6f 74 65 42 {.$branch.=.$candidate;.$remoteB
65e40 72 61 6e 63 68 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a ranch.=.$match[1];.break;.}.}...
65e60 20 0a 20 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 72 65 6d 6f 74 65 42 72 61 6e 63 68 29 29 20 .....if.(!isset($remoteBranch)).
65e80 7b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 27 42 72 61 6e 63 68 20 27 20 2e {.$unpushedChanges.=.'Branch.'..
65ea0 20 24 62 72 61 6e 63 68 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 .$branch...'.could.not.be.found.
65ec0 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e 20 72 65 6d 6f 74 65 20 61 6e 64 20 61 70 70 65 61 72 73 on.the.origin.remote.and.appears
65ee0 20 74 6f 20 62 65 20 75 6e 70 75 73 68 65 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d .to.be.unpushed';.}.else.{.$comm
65f00 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 64 69 66 66 20 2d 2d 6e 61 6d 65 2d 73 and.=.sprintf('git.diff.--name-s
65f20 74 61 74 75 73 20 25 73 2e 2e 2e 25 73 20 2d 2d 27 2c 20 24 72 65 6d 6f 74 65 42 72 61 6e 63 68 tatus.%s...%s.--',.$remoteBranch
65f40 2c 20 24 62 72 61 6e 63 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f ,.$branch);.if.(0.!==.$this->pro
65f60 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c cess->execute($command,.$output,
65f80 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 .$path)).{.throw.new.\RuntimeExc
65fa0 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 eption('Failed.to.execute.'...$c
65fc0 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 ommand..."\n\n"...$this->process
65fe0 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 75 6e 70 75 73 68 65 ->getErrorOutput());.}..$unpushe
66000 64 43 68 61 6e 67 65 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c dChanges.=.trim($output).?:.null
66020 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 26 26 ;.}......if.($unpushedChanges.&&
66040 20 24 69 20 3d 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 .$i.===.0).{.$this->process->exe
66060 63 75 74 65 28 27 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 cute('git.fetch.composer.&&.git.
66080 66 65 74 63 68 20 6f 72 69 67 69 6e 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a fetch.origin',.$output,.$path);.
660a0 7d 0a 0a 0a 20 69 66 20 28 21 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a 62 72 }....if.(!$unpushedChanges).{.br
660c0 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 eak;.}.}..return.$unpushedChange
660e0 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 s;.}.....protected.function.clea
66100 6e 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 nChanges(PackageInterface.$packa
66120 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 ge,.$path,.$update).{.GitUtil::c
66140 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c leanEnv();.$path.=.$this->normal
66160 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 24 75 6e 70 75 73 68 65 64 20 3d 20 24 74 68 izePath($path);..$unpushed.=.$th
66180 69 73 2d 3e 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c is->getUnpushedChanges($package,
661a0 20 24 70 61 74 68 29 3b 0a 69 66 20 28 24 75 6e 70 75 73 68 65 64 20 26 26 20 28 24 74 68 69 73 .$path);.if.($unpushed.&&.($this
661c0 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e ->io->isInteractive().||.$this->
661e0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 29 20 21 config->get('discard-changes').!
66200 3d 3d 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ==.true)).{.throw.new.\RuntimeEx
66220 63 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 70 ception('Source.directory.'...$p
66240 61 74 68 20 2e 20 27 20 68 61 73 20 75 6e 70 75 73 68 65 64 20 63 68 61 6e 67 65 73 20 6f 6e 20 ath...'.has.unpushed.changes.on.
66260 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 61 6e 63 68 3a 20 27 2e 22 5c 6e 22 2e 24 75 6e 70 75 the.current.branch:.'."\n".$unpu
66280 73 68 65 64 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 20 3d 20 24 74 68 69 73 2d shed);.}..if.(!$changes.=.$this-
662a0 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 >getLocalChanges($package,.$path
662c0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e )).{.return;.}..if.(!$this->io->
662e0 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 69 73 63 61 72 64 43 68 61 6e 67 isInteractive()).{.$discardChang
66300 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 es.=.$this->config->get('discard
66320 2d 63 68 61 6e 67 65 73 27 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 64 69 73 63 61 72 -changes');.if.(true.===.$discar
66340 64 43 68 61 6e 67 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 63 61 72 dChanges).{.return.$this->discar
66360 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 69 66 20 28 27 73 74 61 73 68 27 20 3d dChanges($path);.}.if.('stash'.=
66380 3d 3d 20 24 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 21 24 75 70 64 61 ==.$discardChanges).{.if.(!$upda
663a0 74 65 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 6e 43 68 61 6e 67 65 te).{.return.parent::cleanChange
663c0 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 3b 0a 7d 0a 0a s($package,.$path,.$update);.}..
663e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 return.$this->stashChanges($path
66400 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 6e 43 68 61 6e 67 65 );.}..return.parent::cleanChange
66420 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 3b 0a 7d 0a 0a s($package,.$path,.$update);.}..
66440 24 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 $changes.=.array_map(function.($
66460 65 6c 65 6d 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 2e 24 65 6c 65 6d 3b 0a 7d 2c 20 elem).{.return.'....'.$elem;.},.
66480 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 3f 5c 6e 5c 73 2a 7d 27 2c 20 24 63 68 61 preg_split('{\s*\r?\n\s*}',.$cha
664a0 6e 67 65 73 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 nges));.$this->io->writeError('.
664c0 20 20 20 3c 65 72 72 6f 72 3e 54 68 65 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f 64 69 66 69 ...<error>The.package.has.modifi
664e0 65 64 20 66 69 6c 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ed.files:</error>');.$this->io->
66500 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c writeError(array_slice($changes,
66520 20 30 2c 20 31 30 29 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 3e 20 .0,.10));.if.(count($changes).>.
66540 31 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 10).{.$this->io->writeError('...
66560 20 3c 69 6e 66 6f 3e 27 20 2e 20 28 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 2d 20 31 30 .<info>'...(count($changes).-.10
66580 29 20 2e 20 27 20 6d 6f 72 65 20 66 69 6c 65 73 20 6d 6f 64 69 66 69 65 64 2c 20 63 68 6f 6f 73 )...'.more.files.modified,.choos
665a0 65 20 22 76 22 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 3c 2f 69 6e 66 e."v".to.view.the.full.list</inf
665c0 6f 3e 27 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 77 69 74 63 68 20 28 o>');.}..while.(true).{.switch.(
665e0 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e 66 6f 3e 44 69 73 63 61 72 $this->io->ask('....<info>Discar
66600 64 20 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 64 2c 27 2e 28 24 75 70 64 61 74 65 20 3f 20 d.changes.[y,n,v,d,'.($update.?.
66620 27 73 2c 27 20 3a 20 27 27 29 2e 27 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 3f 27 29 29 20 's,'.:.'').'?]?</info>.',.'?')).
66640 7b 0a 63 61 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 68 61 6e 67 65 {.case.'y':.$this->discardChange
66660 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 73 27 3a 0a 69 66 s($path);.break.2;..case.'s':.if
66680 20 28 21 24 75 70 64 61 74 65 29 20 7b 0a 67 6f 74 6f 20 68 65 6c 70 3b 0a 7d 0a 0a 24 74 68 69 .(!$update).{.goto.help;.}..$thi
666a0 73 2d 3e 73 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b s->stashChanges($path);.break.2;
666c0 0a 0a 63 61 73 65 20 27 6e 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ..case.'n':.throw.new.\RuntimeEx
666e0 63 65 70 74 69 6f 6e 28 27 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 ception('Update.aborted');..case
66700 20 27 76 27 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 61 .'v':.$this->io->writeError($cha
66720 6e 67 65 73 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 27 3a 0a 24 74 68 69 73 2d 3e nges);.break;..case.'d':.$this->
66740 76 69 65 77 44 69 66 66 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f viewDiff($path);.break;..case.'?
66760 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 68 65 6c 70 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 ':.default:.help:.$this->io->wri
66780 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d 20 64 69 73 63 61 72 64 20 teError(array(.'....y.-.discard.
667a0 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 changes.and.apply.the.'.($update
667c0 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2c 0a 27 20 20 20 .?.'update'.:.'uninstall'),.'...
667e0 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 20 3f 20 27 75 70 64 .n.-.abort.the.'.($update.?.'upd
66800 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 6e 64 20 6c 65 74 20 79 6f ate'.:.'uninstall').'.and.let.yo
66820 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 20 75 70 27 2c 0a 27 20 20 u.manually.clean.things.up',.'..
66840 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 27 2c 0a 27 20 20 20 ..v.-.view.modified.files',.'...
66860 20 64 20 2d 20 76 69 65 77 20 6c 6f 63 61 6c 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 28 64 .d.-.view.local.modifications.(d
66880 69 66 66 29 27 2c 0a 29 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 29 20 7b 0a 24 74 68 69 73 2d iff)',.));.if.($update).{.$this-
668a0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 73 20 2d 20 73 74 61 73 68 20 63 >io->writeError('....s.-.stash.c
668c0 68 61 6e 67 65 73 20 61 6e 64 20 74 72 79 20 74 6f 20 72 65 61 70 70 6c 79 20 74 68 65 6d 20 61 hanges.and.try.to.reapply.them.a
668e0 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e fter.the.update');.}.$this->io->
66900 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 6c 70 27 29 writeError('....?.-.print.help')
66920 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ;.break;.}.}.}.....protected.fun
66940 63 74 69 6f 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 ction.reapplyChanges($path).{.$p
66960 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 ath.=.$this->normalizePath($path
66980 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 29 );.if.($this->hasStashedChanges)
669a0 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 .{.$this->hasStashedChanges.=.fa
669c0 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 lse;.$this->io->writeError('....
669e0 3c 69 6e 66 6f 3e 52 65 2d 61 70 70 6c 79 69 6e 67 20 73 74 61 73 68 65 64 20 63 68 61 6e 67 65 <info>Re-applying.stashed.change
66a00 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f s</info>');.if.(0.!==.$this->pro
66a20 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 74 61 73 68 20 70 6f 70 27 2c 20 24 cess->execute('git.stash.pop',.$
66a40 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e output,.$path)).{.throw.new.\Run
66a60 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 20 73 timeException("Failed.to.apply.s
66a80 74 61 73 68 65 64 20 63 68 61 6e 67 65 73 3a 5c 6e 5c 6e 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 tashed.changes:\n\n".$this->proc
66aa0 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 ess->getErrorOutput());.}.}..$th
66ac0 69 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b is->hasDiscardedChanges.=.false;
66ae0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .}............protected.function
66b00 20 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 66 65 72 65 6e 63 .updateToCommit($path,.$referenc
66b20 65 2c 20 24 62 72 61 6e 63 68 2c 20 24 64 61 74 65 29 0a 7b 0a 24 66 6f 72 63 65 20 3d 20 24 74 e,.$branch,.$date).{.$force.=.$t
66b40 68 69 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 7c 7c 20 24 74 68 69 his->hasDiscardedChanges.||.$thi
66b60 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3f 20 27 2d 66 20 27 20 3a 20 27 s->hasStashedChanges.?.'-f.'.:.'
66b80 27 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 24 74 65 6d 70 6c 61 74 65 20 3d 20 27 67 69 74 20 63 ';............$template.=.'git.c
66ba0 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 25 73 20 2d 2d 20 26 26 20 67 69 74 20 72 heckout.'.$force.'%s.--.&&.git.r
66bc0 65 73 65 74 20 2d 2d 68 61 72 64 20 25 31 24 73 20 2d 2d 27 3b 0a 24 62 72 61 6e 63 68 20 3d 20 eset.--hard.%1$s.--';.$branch.=.
66be0 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 5e 64 65 76 2d 7c 28 3f 3a 5c 2e 78 29 3f preg_replace('{(?:^dev-|(?:\.x)?
66c00 2d 64 65 76 24 29 7d 69 27 2c 20 27 27 2c 20 24 62 72 61 6e 63 68 29 3b 0a 0a 24 62 72 61 6e 63 -dev$)}i',.'',.$branch);..$branc
66c20 68 65 73 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f hes.=.null;.if.(0.===.$this->pro
66c40 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 72 27 2c 20 24 cess->execute('git.branch.-r',.$
66c60 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 6f output,.$path)).{.$branches.=.$o
66c80 75 74 70 75 74 3b 0a 7d 0a 0a 0a 20 24 67 69 74 52 65 66 20 3d 20 24 72 65 66 65 72 65 6e 63 65 utput;.}....$gitRef.=.$reference
66ca0 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 ;.if.(!preg_match('{^[a-f0-9]{40
66cc0 7d 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 0a 26 26 20 24 62 72 61 6e 63 68 65 73 0a 26 }$}',.$reference).&&.$branches.&
66ce0 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 &.preg_match('{^\s+composer/'.pr
66d00 65 67 5f 71 75 6f 74 65 28 24 72 65 66 65 72 65 6e 63 65 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 eg_quote($reference).'$}m',.$bra
66d20 6e 63 68 65 73 29 0a 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 nches).).{.$command.=.sprintf('g
66d40 69 74 20 63 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 2d 42 20 25 73 20 25 73 20 2d it.checkout.'.$force.'-B.%s.%s.-
66d60 2d 20 26 26 20 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 32 24 73 20 2d 2d 27 2c 20 -.&&.git.reset.--hard.%2$s.--',.
66d80 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 72 61 6e 63 68 29 ProcessExecutor::escape($branch)
66da0 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 27 63 6f 6d 70 6f ,.ProcessExecutor::escape('compo
66dc0 73 65 72 2f 27 2e 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 ser/'.$reference));.if.(0.===.$t
66de0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 his->process->execute($command,.
66e00 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a $output,.$path)).{.return;.}.}..
66e20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d ..if.(preg_match('{^[a-f0-9]{40}
66e40 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f $}',.$reference)).{...if.(!preg_
66e60 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 75 6f 74 match('{^\s+composer/'.preg_quot
66e80 65 28 24 62 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 20 26 26 20 e($branch).'$}m',.$branches).&&.
66ea0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 76 27 2e 70 72 65 preg_match('{^\s+composer/v'.pre
66ec0 67 5f 71 75 6f 74 65 28 24 62 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 g_quote($branch).'$}m',.$branche
66ee0 73 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 27 76 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d s)).{.$branch.=.'v'...$branch;.}
66f00 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f ..$command.=.sprintf('git.checko
66f20 75 74 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 ut.%s.--',.ProcessExecutor::esca
66f40 70 65 28 24 62 72 61 6e 63 68 29 29 3b 0a 24 66 61 6c 6c 62 61 63 6b 43 6f 6d 6d 61 6e 64 20 3d pe($branch));.$fallbackCommand.=
66f60 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e .sprintf('git.checkout.'.$force.
66f80 27 2d 42 20 25 73 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a '-B.%s.%s.--',.ProcessExecutor::
66fa0 65 73 63 61 70 65 28 24 62 72 61 6e 63 68 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 escape($branch),.ProcessExecutor
66fc0 3a 3a 65 73 63 61 70 65 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 62 72 61 6e 63 68 29 29 3b 0a ::escape('composer/'.$branch));.
66fe0 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.===.$this->process->execut
67000 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 7c 7c 20 30 e($command,.$output,.$path).||.0
67020 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 66 61 .===.$this->process->execute($fa
67040 6c 6c 62 61 63 6b 43 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 29 llbackCommand,.$output,.$path).)
67060 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 73 65 74 .{.$command.=.sprintf('git.reset
67080 20 2d 2d 68 61 72 64 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a .--hard.%s.--',.ProcessExecutor:
670a0 3a 65 73 63 61 70 65 28 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 :escape($reference));.if.(0.===.
670c0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
670e0 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d ,.$output,.$path)).{.return;.}.}
67100 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 24 74 65 6d 70 6c 61 74 65 .}..$command.=.sprintf($template
67120 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 67 69 74 52 65 ,.ProcessExecutor::escape($gitRe
67140 66 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 f));.if.(0.===.$this->process->e
67160 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 xecute($command,.$output,.$path)
67180 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 ).{.return;.}....if.(false.!==.s
671a0 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 trpos($this->process->getErrorOu
671c0 74 70 75 74 28 29 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f tput(),.$reference)).{.$this->io
671e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 72 65 ->writeError('....<warning>'.$re
67200 66 65 72 65 6e 63 65 2e 27 20 69 73 20 67 6f 6e 65 20 28 68 69 73 74 6f 72 79 20 77 61 73 20 72 ference.'.is.gone.(history.was.r
67220 65 77 72 69 74 74 65 6e 3f 29 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 ewritten?)</warning>');.}..throw
67240 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 47 69 74 55 74 69 6c 3a 3a .new.\RuntimeException(GitUtil::
67260 73 61 6e 69 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 sanitizeUrl('Failed.to.execute.'
67280 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 ...$command..."\n\n"...$this->pr
672a0 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 70 72 ocess->getErrorOutput()));.}..pr
672c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c otected.function.updateOriginUrl
672e0 28 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e ($path,.$url).{.$this->process->
67300 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d execute(sprintf('git.remote.set-
67320 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a url.origin.%s',.ProcessExecutor:
67340 3a 65 73 63 61 70 65 28 24 75 72 6c 29 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b :escape($url)),.$output,.$path);
67360 0a 24 74 68 69 73 2d 3e 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 3b .$this->setPushUrl($path,.$url);
67380 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 75 73 68 55 72 .}..protected.function.setPushUr
673a0 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 l($path,.$url).{...if.(preg_matc
673c0 68 28 27 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 27 2e 47 69 74 55 74 69 6c 3a h('{^(?:https?|git)://'.GitUtil:
673e0 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f :getGitHubDomainsRegex($this->co
67400 6e 66 69 67 29 2e 27 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 3f 3a 5c 2e 67 69 74 nfig).'/([^/]+)/([^/]+?)(?:\.git
67420 29 3f 24 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 6f 74 6f 63 6f )?$}',.$url,.$match)).{.$protoco
67440 6c 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d ls.=.$this->config->get('github-
67460 70 72 6f 74 6f 63 6f 6c 73 27 29 3b 0a 24 70 75 73 68 55 72 6c 20 3d 20 27 67 69 74 40 27 2e 24 protocols');.$pushUrl.=.'git@'.$
67480 6d 61 74 63 68 5b 31 5d 2e 27 3a 27 2e 24 6d 61 74 63 68 5b 32 5d 2e 27 2f 27 2e 24 6d 61 74 63 match[1].':'.$match[2].'/'.$matc
674a0 68 5b 33 5d 2e 27 2e 67 69 74 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 73 73 68 27 h[3].'.git';.if.(!in_array('ssh'
674c0 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 2c 20 74 72 75 65 29 29 20 7b 0a 24 70 75 73 68 55 72 6c 20 ,.$protocols,.true)).{.$pushUrl.
674e0 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 24 =.'https://'...$match[1]...'/'.$
67500 6d 61 74 63 68 5b 32 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 33 5d 2e 27 2e 67 69 74 27 3b 0a 7d match[2].'/'.$match[3].'.git';.}
67520 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d .$cmd.=.sprintf('git.remote.set-
67540 75 72 6c 20 2d 2d 70 75 73 68 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 url.--push.origin.%s',.ProcessEx
67560 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 75 73 68 55 72 6c 29 29 3b 0a 24 74 68 69 73 ecutor::escape($pushUrl));.$this
67580 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 2c 20 24 69 67 6e 6f 72 65 ->process->execute($cmd,.$ignore
675a0 64 4f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 dOutput,.$path);.}.}.....protect
675c0 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 ed.function.getCommitLogs($fromR
675e0 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b eference,.$toReference,.$path).{
67600 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 .$path.=.$this->normalizePath($p
67620 61 74 68 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 6c 6f ath);.$command.=.sprintf('git.lo
67640 67 20 25 73 2e 2e 25 73 20 2d 2d 70 72 65 74 74 79 3d 66 6f 72 6d 61 74 3a 22 25 25 68 20 2d 20 g.%s..%s.--pretty=format:"%%h.-.
67660 25 25 61 6e 3a 20 25 25 73 22 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 %%an:.%%s"',.ProcessExecutor::es
67680 63 61 70 65 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 29 2c 20 50 72 6f 63 65 73 73 45 78 65 cape($fromReference),.ProcessExe
676a0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 cutor::escape($toReference));..i
676c0 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.!==.$this->process->execute
676e0 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 ($command,.$output,.$path)).{.th
67700 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 row.new.\RuntimeException('Faile
67720 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c d.to.execute.'...$command..."\n\
67740 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 n"...$this->process->getErrorOut
67760 70 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a put());.}..return.$output;.}....
67780 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 61 72 64 43 68 61 6e ..protected.function.discardChan
677a0 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d ges($path).{.$path.=.$this->norm
677c0 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 alizePath($path);.if.(0.!==.$thi
677e0 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 73 65 74 20 2d s->process->execute('git.reset.-
67800 2d 68 61 72 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 -hard',.$output,.$path)).{.throw
67820 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f .new.\RuntimeException("Could.no
67840 74 20 72 65 73 65 74 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f t.reset.changes\n\n:".$this->pro
67860 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 cess->getErrorOutput());.}..$thi
67880 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d s->hasDiscardedChanges.=.true;.}
678a0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 73 68 43 68 ......protected.function.stashCh
678c0 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f anges($path).{.$path.=.$this->no
678e0 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 rmalizePath($path);.if.(0.!==.$t
67900 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 74 61 73 68 his->process->execute('git.stash
67920 20 2d 2d 69 6e 63 6c 75 64 65 2d 75 6e 74 72 61 63 6b 65 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 .--include-untracked',.$output,.
67940 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 $path)).{.throw.new.\RuntimeExce
67960 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 73 74 61 73 68 20 63 68 61 6e 67 65 73 5c 6e ption("Could.not.stash.changes\n
67980 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 \n:".$this->process->getErrorOut
679a0 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e put());.}..$this->hasStashedChan
679c0 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ges.=.true;.}......protected.fun
679e0 63 74 69 6f 6e 20 76 69 65 77 44 69 66 66 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 ction.viewDiff($path).{.$path.=.
67a00 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 $this->normalizePath($path);.if.
67a20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 (0.!==.$this->process->execute('
67a40 67 69 74 20 64 69 66 66 20 48 45 41 44 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 git.diff.HEAD',.$output,.$path))
67a60 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 .{.throw.new.\RuntimeException("
67a80 43 6f 75 6c 64 20 6e 6f 74 20 76 69 65 77 20 64 69 66 66 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d Could.not.view.diff\n\n:".$this-
67aa0 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a >process->getErrorOutput());.}..
67ac0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 75 74 29 3b 0a $this->io->writeError($output);.
67ae0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 }..protected.function.normalizeP
67b00 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e ath($path).{.if.(Platform::isWin
67b20 64 6f 77 73 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 70 61 74 68 29 20 3e 20 30 29 20 7b 0a 24 dows().&&.strlen($path).>.0).{.$
67b40 62 61 73 65 50 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 24 72 65 6d 6f 76 65 64 20 3d 20 61 72 72 basePath.=.$path;.$removed.=.arr
67b60 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 21 69 73 5f 64 69 72 28 24 62 61 73 65 50 61 74 68 29 ay();..while.(!is_dir($basePath)
67b80 20 26 26 20 24 62 61 73 65 50 61 74 68 20 21 3d 3d 20 27 5c 5c 27 29 20 7b 0a 61 72 72 61 79 5f .&&.$basePath.!==.'\\').{.array_
67ba0 75 6e 73 68 69 66 74 28 24 72 65 6d 6f 76 65 64 2c 20 62 61 73 65 6e 61 6d 65 28 24 62 61 73 65 unshift($removed,.basename($base
67bc0 50 61 74 68 29 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 64 69 72 6e 61 6d 65 28 24 62 61 73 Path));.$basePath.=.dirname($bas
67be0 65 50 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 61 73 65 50 61 74 68 20 3d 3d 3d 20 27 5c 5c ePath);.}..if.($basePath.===.'\\
67c00 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 72 74 ').{.return.$path;.}..$path.=.rt
67c20 72 69 6d 28 72 65 61 6c 70 61 74 68 28 24 62 61 73 65 50 61 74 68 29 20 2e 20 27 2f 27 20 2e 20 rim(realpath($basePath)...'/'...
67c40 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 72 65 6d 6f 76 65 64 29 2c 20 27 2f 27 29 3b 0a 7d 0a implode('/',.$removed),.'/');.}.
67c60 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 .return.$path;.}.....protected.f
67c80 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 unction.hasMetadataRepository($p
67ca0 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 ath).{.$path.=.$this->normalizeP
67cc0 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 ath($path);..return.is_dir($path
67ce0 2e 27 2f 2e 67 69 74 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .'/.git');.}..protected.function
67d00 20 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 69 66 20 28 .getShortHash($reference).{.if.(
67d20 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 20 26 26 20 70 72 65 67 5f !$this->io->isVerbose().&&.preg_
67d40 6d 61 74 63 68 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 72 65 66 65 72 match('{^[0-9a-f]{40}$}',.$refer
67d60 65 6e 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 72 65 66 65 72 65 6e 63 ence)).{.return.substr($referenc
67d80 65 2c 20 30 2c 20 31 30 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 3b e,.0,.10);.}..return.$reference;
67da0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
67dc0 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 Composer\Downloader;..use.Compos
67de0 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 er\Config;.use.Composer\Cache;.u
67e00 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e se.Composer\EventDispatcher\Even
67e20 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 tDispatcher;.use.Composer\Packag
67e40 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e\PackageInterface;.use.Composer
67e60 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 \Util\Platform;.use.Composer\Uti
67e80 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
67ea0 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f Util\RemoteFilesystem;.use.Compo
67ec0 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 ser\IO\IOInterface;.......class.
67ee0 47 7a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f GzipDownloader.extends.ArchiveDo
67f00 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a wnloader.{.protected.$process;..
67f20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e public.function.__construct(IOIn
67f40 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 terface.$io,.Config.$config,.Eve
67f60 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 ntDispatcher.$eventDispatcher.=.
67f80 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 null,.Cache.$cache.=.null,.Proce
67fa0 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f ssExecutor.$process.=.null,.Remo
67fc0 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 teFilesystem.$rfs.=.null).{.$thi
67fe0 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f s->process.=.$process.?:.new.Pro
68000 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e cessExecutor($io);.parent::__con
68020 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 struct($io,.$config,.$eventDispa
68040 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 tcher,.$cache,.$rfs);.}..protect
68060 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 ed.function.extract($file,.$path
68080 29 0a 7b 0a 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 20 3d 20 24 70 61 74 68 20 2e 20 44 49 ).{.$targetFilepath.=.$path...DI
680a0 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 62 61 73 65 6e 61 6d 65 28 73 75 62 RECTORY_SEPARATOR...basename(sub
680c0 73 74 72 28 24 66 69 6c 65 2c 20 30 2c 20 2d 33 29 29 3b 0a 0a 0a 20 69 66 20 28 21 50 6c 61 74 str($file,.0,.-3));....if.(!Plat
680e0 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 form::isWindows()).{.$command.=.
68100 27 67 7a 69 70 20 2d 63 64 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 'gzip.-cd.'...ProcessExecutor::e
68120 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 27 20 3e 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 scape($file)...'.>.'...ProcessEx
68140 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 3b ecutor::escape($targetFilepath);
68160 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ..if.(0.===.$this->process->exec
68180 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b ute($command,.$ignoredOutput)).{
681a0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 .return;.}..if.(extension_loaded
681c0 28 27 7a 6c 69 62 27 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 55 73 69 6e ('zlib')).{...$this->extractUsin
681e0 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 3b 0a 0a 72 gExt($file,.$targetFilepath);..r
68200 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 27 46 61 69 6c 65 eturn;.}..$processError.=.'Faile
68220 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c d.to.execute.'...$command..."\n\
68240 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 n"...$this->process->getErrorOut
68260 70 75 74 28 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 put();.throw.new.\RuntimeExcepti
68280 6f 6e 28 24 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 on($processError);.}....$this->e
682a0 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c xtractUsingExt($file,.$targetFil
682c0 65 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e epath);.}.....protected.function
682e0 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 .getFileName(PackageInterface.$p
68300 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f ackage,.$path).{.return.$path.'/
68320 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 '.pathinfo(parse_url($package->g
68340 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 etDistUrl(),.PHP_URL_PATH),.PATH
68360 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 INFO_BASENAME);.}..private.funct
68380 69 6f 6e 20 65 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 ion.extractUsingExt($file,.$targ
683a0 65 74 46 69 6c 65 70 61 74 68 29 0a 7b 0a 24 61 72 63 68 69 76 65 46 69 6c 65 20 3d 20 67 7a 6f etFilepath).{.$archiveFile.=.gzo
683c0 70 65 6e 28 24 66 69 6c 65 2c 20 27 72 62 27 29 3b 0a 24 74 61 72 67 65 74 46 69 6c 65 20 3d 20 pen($file,.'rb');.$targetFile.=.
683e0 66 6f 70 65 6e 28 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 2c 20 27 77 62 27 29 3b 0a 77 68 fopen($targetFilepath,.'wb');.wh
68400 69 6c 65 20 28 24 73 74 72 69 6e 67 20 3d 20 67 7a 72 65 61 64 28 24 61 72 63 68 69 76 65 46 69 ile.($string.=.gzread($archiveFi
68420 6c 65 2c 20 34 30 39 36 29 29 20 7b 0a 66 77 72 69 74 65 28 24 74 61 72 67 65 74 46 69 6c 65 2c le,.4096)).{.fwrite($targetFile,
68440 20 24 73 74 72 69 6e 67 2c 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 73 74 72 69 .$string,.Platform::strlen($stri
68460 6e 67 29 29 3b 0a 7d 0a 67 7a 63 6c 6f 73 65 28 24 61 72 63 68 69 76 65 46 69 6c 65 29 3b 0a 66 ng));.}.gzclose($archiveFile);.f
68480 63 6c 6f 73 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a close($targetFile);.}.}.<?php...
684a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e .........namespace.Composer\Down
684c0 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 loader;..use.Composer\Package\Pa
684e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 ckageInterface;.use.Composer\Uti
68500 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
68520 55 74 69 6c 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 Util\Hg.as.HgUtils;.....class.Hg
68540 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 Downloader.extends.VcsDownloader
68560 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 .{....public.function.doDownload
68580 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
685a0 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c h,.$url).{.$hgUtils.=.new.HgUtil
685c0 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 s($this->io,.$this->config,.$thi
685e0 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 24 63 6c 6f 6e 65 43 6f 6d 6d 61 6e 64 20 3d 20 66 75 s->process);..$cloneCommand.=.fu
68600 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 70 61 74 68 29 20 7b 0a 72 65 74 75 nction.($url).use.($path).{.retu
68620 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c 20 50 72 6f rn.sprintf('hg.clone.%s.%s',.Pro
68640 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 cessExecutor::escape($url),.Proc
68660 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 29 3b 0a 7d 3b 0a essExecutor::escape($path));.};.
68680 0a 24 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6c 6f 6e 65 43 6f 6d 6d .$hgUtils->runCommand($cloneComm
686a0 61 6e 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 72 65 66 20 3d 20 50 72 6f 63 65 and,.$url,.$path);..$ref.=.Proce
686c0 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ssExecutor::escape($package->get
686e0 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 SourceReference());.$command.=.s
68700 70 72 69 6e 74 66 28 27 68 67 20 75 70 20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 30 20 printf('hg.up.%s',.$ref);.if.(0.
68720 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d !==.$this->process->execute($com
68740 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 mand,.$ignoredOutput,.realpath($
68760 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 path))).{.throw.new.\RuntimeExce
68780 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f ption('Failed.to.execute.'...$co
687a0 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d mmand..."\n\n"...$this->process-
687c0 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c >getErrorOutput());.}.}.....publ
687e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 ic.function.doUpdate(PackageInte
68800 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 rface.$initial,.PackageInterface
68820 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 68 67 55 74 69 6c .$target,.$path,.$url).{.$hgUtil
68840 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 s.=.new.HgUtils($this->io,.$this
68860 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 24 72 65 66 ->config,.$this->process);..$ref
68880 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 .=.$target->getSourceReference()
688a0 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 55 70 64 61 74 69 ;.$this->io->writeError(".Updati
688c0 6e 67 20 74 6f 20 22 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 ng.to.".$target->getSourceRefere
688e0 6e 63 65 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 nce());..if.(!$this->hasMetadata
68900 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c Repository($path)).{.throw.new.\
68920 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 68 67 20 64 69 72 65 63 74 RuntimeException('The..hg.direct
68940 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 ory.is.missing.from.'.$path.',.s
68960 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 ee.https://getcomposer.org/commi
68980 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d t-deps.for.more.information');.}
689a0 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 ..$command.=.function.($url).use
689c0 20 28 24 72 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 70 75 6c .($ref).{.return.sprintf('hg.pul
689e0 6c 20 25 73 20 26 26 20 68 67 20 75 70 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 l.%s.&&.hg.up.%s',.ProcessExecut
68a00 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f or::escape($url),.ProcessExecuto
68a20 72 3a 3a 65 73 63 61 70 65 28 24 72 65 66 29 29 3b 0a 7d 3b 0a 0a 24 68 67 55 74 69 6c 73 2d 3e r::escape($ref));.};..$hgUtils->
68a40 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 runCommand($command,.$url,.$path
68a60 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 );.}.....public.function.getLoca
68a80 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 lChanges(PackageInterface.$packa
68aa0 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 ge,.$path).{.if.(!is_dir($path.'
68ac0 2f 2e 68 67 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d /.hg')).{.return.null;.}..$this-
68ae0 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 74 27 2c 20 24 6f 75 74 70 >process->execute('hg.st',.$outp
68b00 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 ut,.realpath($path));..return.tr
68b20 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 im($output).?:.null;.}.....prote
68b40 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f cted.function.getCommitLogs($fro
68b60 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 mReference,.$toReference,.$path)
68b80 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 6c 6f 67 20 2d 72 .{.$command.=.sprintf('hg.log.-r
68ba0 20 25 73 3a 25 73 20 2d 2d 73 74 79 6c 65 20 63 6f 6d 70 61 63 74 27 2c 20 50 72 6f 63 65 73 73 .%s:%s.--style.compact',.Process
68bc0 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 29 Executor::escape($fromReference)
68be0 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 ,.ProcessExecutor::escape($toRef
68c00 65 72 65 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 erence));..if.(0.!==.$this->proc
68c20 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 ess->execute($command,.$output,.
68c40 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 realpath($path))).{.throw.new.\R
68c60 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 untimeException('Failed.to.execu
68c80 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 te.'...$command..."\n\n"...$this
68ca0 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a ->process->getErrorOutput());.}.
68cc0 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .return.$output;.}.....protected
68ce0 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 .function.hasMetadataRepository(
68d00 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 20 2e 20 27 $path).{.return.is_dir($path...'
68d20 2f 2e 68 67 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d /.hg');.}.}.<?php............nam
68d40 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 espace.Composer\Downloader;..use
68d60 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 .Composer\Package\Archiver\Archi
68d80 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 vableFilesFinder;.use.Composer\P
68da0 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 ackage\Dumper\ArrayDumper;.use.C
68dc0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 omposer\Package\PackageInterface
68de0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 ;.use.Composer\Package\Version\V
68e00 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b ersionGuesser;.use.Composer\Pack
68e20 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 age\Version\VersionParser;.use.C
68e40 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Util\Platform;.use.Compo
68e60 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f ser\Util\ProcessExecutor;.use.Co
68e80 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 20 61 73 20 43 6f 6d 70 6f 73 mposer\Util\Filesystem.as.Compos
68ea0 65 72 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e erFilesystem;.use.Symfony\Compon
68ec0 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 ent\Filesystem\Exception\IOExcep
68ee0 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 tion;.use.Symfony\Component\File
68f00 73 79 73 74 65 6d 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 system\Filesystem;........class.
68f20 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 65 44 6f 77 6e 6c PathDownloader.extends.FileDownl
68f40 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c oader.implements.VcsCapableDownl
68f60 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 53 54 52 41 54 45 47 59 5f oaderInterface.{.const.STRATEGY_
68f80 53 59 4d 4c 49 4e 4b 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 53 54 52 41 54 45 47 59 5f 4d 49 52 SYMLINK.=.10;.const.STRATEGY_MIR
68fa0 52 4f 52 20 3d 20 32 30 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f ROR.=.20;.....public.function.do
68fc0 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 wnload(PackageInterface.$package
68fe0 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 75 72 6c 20 ,.$path,.$output.=.true).{.$url.
69000 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 24 72 65 61 6c 55 =.$package->getDistUrl();.$realU
69020 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d rl.=.realpath($url);.if.(false.=
69040 3d 3d 20 24 72 65 61 6c 55 72 6c 20 7c 7c 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 72 65 61 ==.$realUrl.||.!file_exists($rea
69060 6c 55 72 6c 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 72 65 61 6c 55 72 6c 29 29 20 7b 0a 74 68 lUrl).||.!is_dir($realUrl)).{.th
69080 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 row.new.\RuntimeException(sprint
690a0 66 28 0a 27 53 6f 75 72 63 65 20 70 61 74 68 20 22 25 73 22 20 69 73 20 6e 6f 74 20 66 6f 75 6e f(.'Source.path."%s".is.not.foun
690c0 64 20 66 6f 72 20 70 61 63 6b 61 67 65 20 25 73 27 2c 0a 24 75 72 6c 2c 0a 24 70 61 63 6b 61 67 d.for.package.%s',.$url,.$packag
690e0 65 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 72 e->getName().));.}..if.(strpos(r
69100 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 ealpath($path)...DIRECTORY_SEPAR
69120 41 54 4f 52 2c 20 24 72 65 61 6c 55 72 6c 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 ATOR,.$realUrl...DIRECTORY_SEPAR
69140 41 54 4f 52 29 20 3d 3d 3d 20 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 74 68 72 6f 77 20 6e 65 77 ATOR).===.0).{.........throw.new
69160 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 63 .\RuntimeException(sprintf(.'Pac
69180 6b 61 67 65 20 25 73 20 63 61 6e 6e 6f 74 20 69 6e 73 74 61 6c 6c 20 74 6f 20 22 25 73 22 20 69 kage.%s.cannot.install.to."%s".i
691a0 6e 73 69 64 65 20 69 74 73 20 73 6f 75 72 63 65 20 61 74 20 22 25 73 22 27 2c 0a 24 70 61 63 6b nside.its.source.at."%s"',.$pack
691c0 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 2c age->getName(),.realpath($path),
691e0 0a 24 72 65 61 6c 55 72 6c 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 .$realUrl.));.}....$transportOpt
69200 69 6f 6e 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 ions.=.$package->getTransportOpt
69220 69 6f 6e 73 28 29 20 2b 20 61 72 72 61 79 28 27 73 79 6d 6c 69 6e 6b 27 20 3d 3e 20 6e 75 6c 6c ions().+.array('symlink'.=>.null
69240 29 3b 0a 0a 0a 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 );....$currentStrategy.=.self::S
69260 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 TRATEGY_SYMLINK;.$allowedStrateg
69280 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 ies.=.array(self::STRATEGY_SYMLI
692a0 4e 4b 2c 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 29 3b 0a 0a 24 6d 69 NK,.self::STRATEGY_MIRROR);..$mi
692c0 72 72 6f 72 50 61 74 68 52 65 70 6f 73 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 rrorPathRepos.=.getenv('COMPOSER
692e0 5f 4d 49 52 52 4f 52 5f 50 41 54 48 5f 52 45 50 4f 53 27 29 3b 0a 69 66 20 28 24 6d 69 72 72 6f _MIRROR_PATH_REPOS');.if.($mirro
69300 72 50 61 74 68 52 65 70 6f 73 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d rPathRepos).{.$currentStrategy.=
69320 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 7d 0a 0a 69 66 20 28 74 .self::STRATEGY_MIRROR;.}..if.(t
69340 72 75 65 20 3d 3d 3d 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 5b 27 73 79 6d 6c 69 rue.===.$transportOptions['symli
69360 6e 6b 27 5d 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a nk']).{.$currentStrategy.=.self:
69380 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 :STRATEGY_SYMLINK;.$allowedStrat
693a0 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d egies.=.array(self::STRATEGY_SYM
693c0 4c 49 4e 4b 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 72 61 6e LINK);.}.elseif.(false.===.$tran
693e0 73 70 6f 72 74 4f 70 74 69 6f 6e 73 5b 27 73 79 6d 6c 69 6e 6b 27 5d 29 20 7b 0a 24 63 75 72 72 sportOptions['symlink']).{.$curr
69400 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 entStrategy.=.self::STRATEGY_MIR
69420 52 4f 52 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 ROR;.$allowedStrategies.=.array(
69440 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 29 3b 0a 7d 0a 0a 0a 20 69 66 20 self::STRATEGY_MIRROR);.}....if.
69460 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 73 65 6c 66 3a 3a (Platform::isWindows().&&.self::
69480 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 3d 3d 20 24 63 75 72 72 65 6e 74 53 74 72 STRATEGY_SYMLINK.===.$currentStr
694a0 61 74 65 67 79 20 26 26 20 21 24 74 68 69 73 2d 3e 73 61 66 65 4a 75 6e 63 74 69 6f 6e 73 28 29 ategy.&&.!$this->safeJunctions()
694c0 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 ).{.$currentStrategy.=.self::STR
694e0 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 ATEGY_MIRROR;.$allowedStrategies
69500 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 29 3b .=.array(self::STRATEGY_MIRROR);
69520 0a 7d 0a 0a 24 66 69 6c 65 53 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d .}..$fileSystem.=.new.Filesystem
69540 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 ();.$this->filesystem->removeDir
69560 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 ectory($path);..if.($output).{.$
69580 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 20 this->io->writeError(sprintf(.'.
695a0 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 3c .-.Installing.<info>%s</info>.(<
695c0 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 27 2c 0a 24 70 61 63 6b 61 comment>%s</comment>):.',.$packa
695e0 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c ge->getName(),.$package->getFull
69600 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 69 PrettyVersion().),.false);.}..$i
69620 73 46 61 6c 6c 62 61 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 52 sFallback.=.false;.if.(self::STR
69640 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 3d 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 ATEGY_SYMLINK.==.$currentStrateg
69660 79 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f y).{.try.{.if.(Platform::isWindo
69680 77 73 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ws()).{...$this->io->writeError(
696a0 73 70 72 69 6e 74 66 28 27 4a 75 6e 63 74 69 6f 6e 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 sprintf('Junctioning.from.%s',.$
696c0 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d url),.false);.$this->filesystem-
696e0 3e 6a 75 6e 63 74 69 6f 6e 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 20 65 6c >junction($realUrl,.$path);.}.el
69700 73 65 20 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 69 66 20 28 se.{.$absolutePath.=.$path;.if.(
69720 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 !$this->filesystem->isAbsolutePa
69740 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 29 29 20 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 th($absolutePath)).{.$absolutePa
69760 74 68 20 3d 20 67 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 th.=.getcwd()...DIRECTORY_SEPARA
69780 54 4f 52 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 24 73 68 6f 72 74 65 73 74 50 61 74 68 20 3d 20 24 TOR...$path;.}.$shortestPath.=.$
697a0 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 this->filesystem->findShortestPa
697c0 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 72 65 61 6c 55 72 6c 29 3b 0a 24 70 61 th($absolutePath,.$realUrl);.$pa
697e0 74 68 20 3d 20 72 74 72 69 6d 28 24 70 61 74 68 2c 20 22 2f 22 29 3b 0a 24 74 68 69 73 2d 3e 69 th.=.rtrim($path,."/");.$this->i
69800 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 53 79 6d 6c 69 6e 6b 69 6e o->writeError(sprintf('Symlinkin
69820 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 66 69 6c 65 g.from.%s',.$url),.false);.$file
69840 53 79 73 74 65 6d 2d 3e 73 79 6d 6c 69 6e 6b 28 24 73 68 6f 72 74 65 73 74 50 61 74 68 2c 20 24 System->symlink($shortestPath,.$
69860 70 61 74 68 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 49 4f 45 78 63 65 70 74 69 6f 6e 20 24 65 path);.}.}.catch.(IOException.$e
69880 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f ).{.if.(in_array(self::STRATEGY_
698a0 4d 49 52 52 4f 52 2c 20 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 29 29 20 7b 0a 24 MIRROR,.$allowedStrategies)).{.$
698c0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d this->io->writeError('');.$this-
698e0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 53 79 6d 6c >io->writeError('....<error>Syml
69900 69 6e 6b 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 75 73 65 20 6d 69 72 72 ink.failed,.fallback.to.use.mirr
69920 6f 72 69 6e 67 21 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 oring!</error>');.$currentStrate
69940 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 69 73 46 gy.=.self::STRATEGY_MIRROR;.$isF
69960 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e allback.=.true;.}.else.{.throw.n
69980 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 79 ew.\RuntimeException(sprintf('Sy
699a0 6d 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 66 61 69 6c 65 64 21 27 mlink.from."%s".to."%s".failed!'
699c0 2c 20 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 ,.$realUrl,.$path));.}.}.}....if
699e0 20 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 20 3d 3d 20 24 63 75 72 72 .(self::STRATEGY_MIRROR.==.$curr
69a00 65 6e 74 53 74 72 61 74 65 67 79 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 entStrategy).{.$fs.=.new.Compose
69a20 72 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 72 65 61 6c 55 72 6c 20 3d 20 24 66 73 2d 3e 6e rFilesystem();.$realUrl.=.$fs->n
69a40 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 72 65 61 6c 55 72 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e ormalizePath($realUrl);..$this->
69a60 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 25 73 4d 69 72 72 6f 72 io->writeError(sprintf('%sMirror
69a80 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 69 73 46 61 6c 6c 62 61 63 6b 20 3f 20 27 20 20 20 ing.from.%s',.$isFallback.?.'...
69aa0 20 27 20 3a 20 27 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 74 65 72 61 74 6f .'.:.'',.$url),.false);.$iterato
69ac0 72 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 28 24 72 r.=.new.ArchivableFilesFinder($r
69ae0 65 61 6c 55 72 6c 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 2d 3e 6d ealUrl,.array());.$fileSystem->m
69b00 69 72 72 6f 72 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 2c 20 24 69 74 65 72 61 74 6f 72 irror($realUrl,.$path,.$iterator
69b20 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b );.}..$this->io->writeError('');
69b40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 .}.....public.function.remove(Pa
69b60 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 ckageInterface.$package,.$path,.
69b80 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 0a 0a 0a 0a 0a 69 66 20 28 50 6c 61 74 66 $output.=.true).{......if.(Platf
69ba0 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 orm::isWindows().&&.$this->files
69bc0 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b 0a 69 66 20 28 ystem->isJunction($path)).{.if.(
69be0 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 $output).{.$this->io->writeError
69c00 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 6a 75 6e 63 74 69 6f 6e 20 66 6f 72 20 3c 69 6e 66 ("..-.Removing.junction.for.<inf
69c20 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 o>"...$package->getName()..."</i
69c40 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 nfo>.(<comment>"...$package->get
69c60 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 FullPrettyVersion()..."</comment
69c80 3e 29 22 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e >)");.}.if.(!$this->filesystem->
69ca0 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e removeJunction($path)).{.$this->
69cc0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 43 6f 75 io->writeError("....<warning>Cou
69ce0 6c 64 20 6e 6f 74 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 61 74 20 22 20 2e 20 24 70 ld.not.remove.junction.at."...$p
69d00 61 74 68 20 2e 20 22 20 2d 20 69 73 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 6c 6f 63 ath...".-.is.another.process.loc
69d20 6b 69 6e 67 20 69 74 3f 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 king.it?</warning>");.throw.new.
69d40 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 6c \RuntimeException('Could.not.rel
69d60 69 61 62 6c 79 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 66 6f 72 20 70 61 63 6b 61 67 iably.remove.junction.for.packag
69d80 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 7d 20 e.'...$package->getName());.}.}.
69da0 65 6c 73 65 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 else.{.parent::remove($package,.
69dc0 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $path,.$output);.}.}.....public.
69de0 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 61 63 6b 61 67 65 function.getVcsReference(Package
69e00 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 61 Interface.$package,.$path).{.$pa
69e20 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 rser.=.new.VersionParser;.$guess
69e40 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 74 68 69 73 2d 3e 63 er.=.new.VersionGuesser($this->c
69e60 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 74 68 69 73 onfig,.new.ProcessExecutor($this
69e80 2d 3e 69 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 ->io),.$parser);.$dumper.=.new.A
69ea0 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 20 3d 20 24 64 rrayDumper;..$packageConfig.=.$d
69ec0 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 70 61 63 6b umper->dump($package);.if.($pack
69ee0 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 ageVersion.=.$guesser->guessVers
69f00 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 ion($packageConfig,.$path)).{.re
69f20 74 75 72 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a turn.$packageVersion['commit'];.
69f40 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 }.}...............private.functi
69f60 6f 6e 20 73 61 66 65 4a 75 6e 63 74 69 6f 6e 73 28 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 66 75 on.safeJunctions().{...return.fu
69f80 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 20 26 26 0a 28 50 nction_exists('proc_open').&&.(P
69fa0 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 20 3e 20 36 20 7c 7c 0a HP_WINDOWS_VERSION_MAJOR.>.6.||.
69fc0 28 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 20 3d 3d 3d 20 36 (PHP_WINDOWS_VERSION_MAJOR.===.6
69fe0 20 26 26 20 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 49 4e 4f 52 20 3e 3d .&&.PHP_WINDOWS_VERSION_MINOR.>=
6a000 20 31 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 .1));.}.}.<?php............names
6a020 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 pace.Composer\Downloader;..use.C
6a040 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a omposer\Util\Filesystem;........
6a060 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 0a 7b 0a ...class.PearPackageExtractor.{.
6a080 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b private.static.$rolesWithoutPack
6a0a0 61 67 65 4e 61 6d 65 50 72 65 66 69 78 20 3d 20 61 72 72 61 79 28 27 70 68 70 27 2c 20 27 73 63 ageNamePrefix.=.array('php',.'sc
6a0c0 72 69 70 74 27 2c 20 27 77 77 77 27 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 ript',.'www');..private.$filesys
6a0e0 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 tem;.private.$file;..public.func
6a100 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 21 69 tion.__construct($file).{.if.(!i
6a120 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 s_file($file)).{.throw.new.\Unex
6a140 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 45 41 52 20 70 61 63 6b 61 pectedValueException('PEAR.packa
6a160 67 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 2e 24 66 69 6c 65 29 ge.file.is.not.found.at.'.$file)
6a180 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c ;.}..$this->filesystem.=.new.Fil
6a1a0 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a esystem();.$this->file.=.$file;.
6a1c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 }...........public.function.extr
6a1e0 61 63 74 54 6f 28 24 74 61 72 67 65 74 2c 20 61 72 72 61 79 20 24 72 6f 6c 65 73 20 3d 20 61 72 actTo($target,.array.$roles.=.ar
6a200 72 61 79 28 27 70 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 3d 3e 20 27 2f ray('php'.=>.'/',.'script'.=>.'/
6a220 62 69 6e 27 29 2c 20 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 78 74 72 61 bin'),.$vars.=.array()).{.$extra
6a240 63 74 69 6f 6e 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 2e 27 2f 74 61 72 62 61 6c 6c 27 3b 0a ctionPath.=.$target.'/tarball';.
6a260 0a 74 72 79 20 7b 0a 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 .try.{.$archive.=.new.\PharData(
6a280 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 $this->file);.$archive->extractT
6a2a0 6f 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a o($extractionPath,.null,.true);.
6a2c0 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 65 78 .if.(!is_file($this->combine($ex
6a2e0 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 27 2f 70 61 63 6b 61 67 65 2e 78 6d 6c 27 29 29 29 20 tractionPath,.'/package.xml'))).
6a300 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 {.throw.new.\RuntimeException('I
6a320 6e 76 61 6c 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e 20 49 74 20 6d 75 73 74 20 63 6f 6e nvalid.PEAR.package..It.must.con
6a340 74 61 69 6e 20 70 61 63 6b 61 67 65 2e 78 6d 6c 20 66 69 6c 65 2e 27 29 3b 0a 7d 0a 0a 24 66 69 tain.package.xml.file.');.}..$fi
6a360 6c 65 43 6f 70 79 41 63 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 70 79 leCopyActions.=.$this->buildCopy
6a380 41 63 74 69 6f 6e 73 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 24 72 6f 6c 65 73 2c Actions($extractionPath,.$roles,
6a3a0 20 24 76 61 72 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 73 28 24 66 69 6c 65 43 .$vars);.$this->copyFiles($fileC
6a3c0 6f 70 79 41 63 74 69 6f 6e 73 2c 20 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 24 74 61 opyActions,.$extractionPath,.$ta
6a3e0 72 67 65 74 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c rget,.$roles,.$vars);.$this->fil
6a400 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 65 78 74 72 61 63 esystem->removeDirectory($extrac
6a420 74 69 6f 6e 50 61 74 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 tionPath);.}.catch.(\Exception.$
6a440 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 exception).{.throw.new.\Unexpect
6a460 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 edValueException(sprintf('Failed
6a480 20 74 6f 20 65 78 74 72 61 63 74 20 50 45 41 52 20 70 61 63 6b 61 67 65 20 25 73 20 74 6f 20 25 .to.extract.PEAR.package.%s.to.%
6a4a0 73 2e 20 52 65 61 73 6f 6e 3a 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 24 74 61 s..Reason:.%s',.$this->file,.$ta
6a4c0 72 67 65 74 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 2c rget,.$exception->getMessage()),
6a4e0 20 30 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .0,.$exception);.}.}...........p
6a500 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 73 28 24 66 69 6c 65 73 rivate.function.copyFiles($files
6a520 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 ,.$source,.$target,.$roles,.$var
6a540 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b s).{.foreach.($files.as.$file).{
6a560 0a 24 66 72 6f 6d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c .$from.=.$this->combine($source,
6a580 20 24 66 69 6c 65 5b 27 66 72 6f 6d 27 5d 29 3b 0a 24 74 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f .$file['from']);.$to.=.$this->co
6a5a0 6d 62 69 6e 65 28 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 5b 24 66 69 6c 65 5b 27 72 6f 6c mbine($target,.$roles[$file['rol
6a5c0 65 27 5d 5d 29 3b 0a 24 74 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 74 6f 2c e']]);.$to.=.$this->combine($to,
6a5e0 20 24 66 69 6c 65 5b 27 74 6f 27 5d 29 3b 0a 24 74 61 73 6b 73 20 3d 20 24 66 69 6c 65 5b 27 74 .$file['to']);.$tasks.=.$file['t
6a600 61 73 6b 73 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 28 24 66 72 6f 6d 2c 20 24 asks'];.$this->copyFile($from,.$
6a620 74 6f 2c 20 24 74 61 73 6b 73 2c 20 24 76 61 72 73 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 to,.$tasks,.$vars);.}.}..private
6a640 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 .function.copyFile($from,.$to,.$
6a660 74 61 73 6b 73 2c 20 24 76 61 72 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 66 72 tasks,.$vars).{.if.(!is_file($fr
6a680 6f 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 om)).{.throw.new.\RuntimeExcepti
6a6a0 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e 20 70 61 63 6b 61 67 on('Invalid.PEAR.package..packag
6a6c0 65 2e 78 6d 6c 20 64 65 66 69 6e 65 73 20 66 69 6c 65 20 74 68 61 74 20 69 73 20 6e 6f 74 20 6c e.xml.defines.file.that.is.not.l
6a6e0 6f 63 61 74 65 64 20 69 6e 73 69 64 65 20 74 61 72 62 61 6c 6c 2e 27 29 3b 0a 7d 0a 0a 24 74 68 ocated.inside.tarball.');.}..$th
6a700 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 is->filesystem->ensureDirectoryE
6a720 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 6f 29 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 20 63 xists(dirname($to));..if.(0.==.c
6a740 6f 75 6e 74 28 24 74 61 73 6b 73 29 29 20 7b 0a 24 63 6f 70 69 65 64 20 3d 20 63 6f 70 79 28 24 ount($tasks)).{.$copied.=.copy($
6a760 66 72 6f 6d 2c 20 24 74 6f 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 from,.$to);.}.else.{.$content.=.
6a780 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 72 6f 6d 29 3b 0a 24 72 65 70 6c 61 file_get_contents($from);.$repla
6a7a0 63 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 73 cements.=.array();.foreach.($tas
6a7c0 6b 73 20 61 73 20 24 74 61 73 6b 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 24 74 61 73 6b 5b ks.as.$task).{.$pattern.=.$task[
6a7e0 27 66 72 6f 6d 27 5d 3b 0a 24 76 61 72 4e 61 6d 65 20 3d 20 24 74 61 73 6b 5b 27 74 6f 27 5d 3b 'from'];.$varName.=.$task['to'];
6a800 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d 29 29 20 7b 0a 69 .if.(isset($vars[$varName])).{.i
6a820 66 20 28 24 76 61 72 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 5f 62 69 6e 27 20 26 26 20 66 61 6c f.($varName.===.'php_bin'.&&.fal
6a840 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 2c 20 27 2e 62 61 74 27 29 29 20 7b 0a 24 72 se.===.strpos($to,.'.bat')).{.$r
6a860 65 70 6c 61 63 65 6d 65 6e 74 73 5b 24 70 61 74 74 65 72 6e 5d 20 3d 20 70 72 65 67 5f 72 65 70 eplacements[$pattern].=.preg_rep
6a880 6c 61 63 65 28 27 7b 5c 2e 62 61 74 24 7d 27 2c 20 27 27 2c 20 24 76 61 72 73 5b 24 76 61 72 4e lace('{\.bat$}',.'',.$vars[$varN
6a8a0 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 5b 24 70 ame]);.}.else.{.$replacements[$p
6a8c0 61 74 74 65 72 6e 5d 20 3d 20 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d 3b 0a 7d 0a 7d 0a 7d attern].=.$vars[$varName];.}.}.}
6a8e0 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 74 72 74 72 28 24 63 6f 6e 74 65 6e 74 2c 20 24 72 65 70 .$content.=.strtr($content,.$rep
6a900 6c 61 63 65 6d 65 6e 74 73 29 3b 0a 0a 24 63 6f 70 69 65 64 20 3d 20 66 69 6c 65 5f 70 75 74 5f lacements);..$copied.=.file_put_
6a920 63 6f 6e 74 65 6e 74 73 28 24 74 6f 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 contents($to,.$content);.}..if.(
6a940 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 70 69 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c false.===.$copied).{.throw.new.\
6a960 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 RuntimeException(sprintf('Failed
6a980 20 74 6f 20 63 6f 70 79 20 25 73 20 74 6f 20 25 73 27 2c 20 24 66 72 6f 6d 2c 20 24 74 6f 29 29 .to.copy.%s.to.%s',.$from,.$to))
6a9a0 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ;.}.}............private.functio
6a9c0 6e 20 62 75 69 6c 64 43 6f 70 79 41 63 74 69 6f 6e 73 28 24 73 6f 75 72 63 65 2c 20 61 72 72 61 n.buildCopyActions($source,.arra
6a9e0 79 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 0a 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 73 y.$roles,.$vars).{..$package.=.s
6aa00 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 6e 67 28 66 69 6c 65 5f 67 65 74 5f 63 6f implexml_load_string(file_get_co
6aa20 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 27 ntents($this->combine($source,.'
6aa40 70 61 63 6b 61 67 65 2e 78 6d 6c 27 29 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 package.xml')));.if.(false.===.$
6aa60 70 61 63 6b 61 67 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 package).{.throw.new.\RuntimeExc
6aa80 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 eption('Package.definition.file.
6aaa0 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 53 63 68 65 is.not.valid.');.}..$packageSche
6aac0 6d 61 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 3b maVersion.=.$package['version'];
6aae0 0a 69 66 20 28 27 31 2e 30 27 20 3d 3d 20 24 70 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 .if.('1.0'.==.$packageSchemaVers
6ab00 69 6f 6e 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 72 65 6c ion).{.$children.=.$package->rel
6ab20 65 61 73 65 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 72 65 6e 28 29 3b 0a 24 70 61 63 ease->filelist->children();.$pac
6ab40 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 6e 61 kageName.=.(string).$package->na
6ab60 6d 65 3b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 me;.$packageVersion.=.(string).$
6ab80 70 61 63 6b 61 67 65 2d 3e 72 65 6c 65 61 73 65 2d 3e 76 65 72 73 69 6f 6e 3b 0a 24 73 6f 75 72 package->release->version;.$sour
6aba0 63 65 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2d 27 20 2e 20 24 70 61 ceDir.=.$packageName...'-'...$pa
6abc0 63 6b 61 67 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 62 ckageVersion;.$result.=.$this->b
6abe0 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 72 6f 6c uildSourceList10($children,.$rol
6ac00 65 73 2c 20 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 2c 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 es,.$sourceDir,.'',.null,.$packa
6ac20 67 65 4e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 32 2e 30 27 20 3d 3d 20 24 70 61 63 geName);.}.elseif.('2.0'.==.$pac
6ac40 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 20 7c 7c 20 27 32 2e 31 27 20 3d 3d 20 24 70 kageSchemaVersion.||.'2.1'.==.$p
6ac60 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e ackageSchemaVersion).{.$children
6ac80 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 63 6f 6e 74 65 6e 74 73 2d 3e 63 68 69 6c 64 72 65 6e 28 .=.$package->contents->children(
6aca0 29 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b );.$packageName.=.(string).$pack
6acc0 61 67 65 2d 3e 6e 61 6d 65 3b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 age->name;.$packageVersion.=.(st
6ace0 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 76 65 72 73 69 6f 6e 2d 3e 72 65 6c 65 61 73 65 ring).$package->version->release
6ad00 3b 0a 24 73 6f 75 72 63 65 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2d ;.$sourceDir.=.$packageName...'-
6ad20 27 20 2e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 '...$packageVersion;.$result.=.$
6ad40 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 72 65 this->buildSourceList20($childre
6ad60 6e 2c 20 24 72 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 2c 20 6e 75 6c 6c 2c n,.$roles,.$sourceDir,.'',.null,
6ad80 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 24 .$packageName);..$namespaces.=.$
6ada0 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 3b 0a 24 70 61 63 6b 61 package->getNamespaces();.$packa
6adc0 67 65 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c ge->registerXPathNamespace('ns',
6ade0 20 24 6e 61 6d 65 73 70 61 63 65 73 5b 27 27 5d 29 3b 0a 24 72 65 6c 65 61 73 65 4e 6f 64 65 73 .$namespaces['']);.$releaseNodes
6ae00 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 68 70 72 65 6c 65 61 73 .=.$package->xpath('ns:phpreleas
6ae20 65 27 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 79 52 65 6c 65 61 73 65 28 24 72 65 73 75 6c 74 e');.$this->applyRelease($result
6ae40 2c 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 73 2c 20 24 76 61 72 73 29 3b 0a 7d 20 65 6c 73 65 20 ,.$releaseNodes,.$vars);.}.else.
6ae60 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 {.throw.new.\RuntimeException('U
6ae80 6e 73 75 70 70 6f 72 74 65 64 20 73 63 68 65 6d 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 nsupported.schema.version.of.pac
6aea0 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 kage.definition.file.');.}..retu
6aec0 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 rn.$result;.}..private.function.
6aee0 61 70 70 6c 79 52 65 6c 65 61 73 65 28 26 24 61 63 74 69 6f 6e 73 2c 20 24 72 65 6c 65 61 73 65 applyRelease(&$actions,.$release
6af00 4e 6f 64 65 73 2c 20 24 76 61 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 Nodes,.$vars).{.foreach.($releas
6af20 65 4e 6f 64 65 73 20 61 73 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 29 20 7b 0a 24 72 65 71 75 69 eNodes.as.$releaseNode).{.$requi
6af40 72 65 64 4f 73 20 3d 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e redOs.=.$releaseNode->installcon
6af60 64 69 74 69 6f 6e 73 20 26 26 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c ditions.&&.$releaseNode->install
6af80 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 20 26 26 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e conditions->os.&&.$releaseNode->
6afa0 69 6e 73 74 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 2d 3e 6e 61 6d 65 20 3f 20 28 73 installconditions->os->name.?.(s
6afc0 74 72 69 6e 67 29 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e 64 tring).$releaseNode->installcond
6afe0 69 74 69 6f 6e 73 2d 3e 6f 73 2d 3e 6e 61 6d 65 20 3a 20 27 27 3b 0a 69 66 20 28 24 72 65 71 75 itions->os->name.:.'';.if.($requ
6b000 69 72 65 64 4f 73 20 26 26 20 24 76 61 72 73 5b 27 6f 73 27 5d 20 21 3d 20 24 72 65 71 75 69 72 iredOs.&&.$vars['os'].!=.$requir
6b020 65 64 4f 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 6c 65 61 73 edOs).{.continue;.}..if.($releas
6b040 65 4e 6f 64 65 2d 3e 66 69 6c 65 6c 69 73 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c eNode->filelist).{.foreach.($rel
6b060 65 61 73 65 4e 6f 64 65 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 72 65 6e 28 29 20 61 easeNode->filelist->children().a
6b080 73 20 24 61 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 20 24 61 s.$action).{.if.('install'.==.$a
6b0a0 63 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 28 73 74 72 ction->getName()).{.$name.=.(str
6b0c0 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 6e 61 6d 65 27 5d 3b 0a 24 61 73 20 3d 20 28 73 74 72 ing).$action['name'];.$as.=.(str
6b0e0 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 61 73 27 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 ing).$action['as'];.if.(isset($a
6b100 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 ctions[$name])).{.$actions[$name
6b120 5d 5b 27 74 6f 27 5d 20 3d 20 24 61 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 69 67 6e 6f ]['to'].=.$as;.}.}.elseif.('igno
6b140 72 65 27 20 3d 3d 20 24 61 63 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 6e 61 re'.==.$action->getName()).{.$na
6b160 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 6e 61 6d 65 27 5d 3b 0a 75 me.=.(string).$action['name'];.u
6b180 6e 73 65 74 28 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a nset($actions[$name]);.}.else.{.
6b1a0 0a 20 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ..}.}.}.break;.}.}..private.func
6b1c0 74 69 6f 6e 20 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 72 65 6e tion.buildSourceList10($children
6b1e0 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 ,.$targetRoles,.$source,.$target
6b200 2c 20 24 72 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 ,.$role,.$packageName).{.$result
6b220 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 .=.array();....foreach.($childre
6b240 6e 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 24 63 68 69 6c 64 2d 3e 67 65 74 4e n.as.$child).{..if.($child->getN
6b260 61 6d 65 28 29 20 3d 3d 20 27 64 69 72 27 29 20 7b 0a 24 64 69 72 53 6f 75 72 63 65 20 3d 20 24 ame().==.'dir').{.$dirSource.=.$
6b280 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 28 73 74 72 69 6e 67 29 20 this->combine($source,.(string).
6b2a0 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 64 69 72 54 61 72 67 65 74 20 3d 20 24 63 $child['name']);.$dirTarget.=.$c
6b2c0 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 hild['baseinstalldir'].?:.$targe
6b2e0 74 3b 0a 24 64 69 72 52 6f 6c 65 20 3d 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 t;.$dirRole.=.$child['role'].?:.
6b300 24 72 6f 6c 65 3b 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 $role;.$dirFiles.=.$this->buildS
6b320 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 29 2c 20 ourceList10($child->children(),.
6b340 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 64 69 72 53 6f 75 72 63 65 2c 20 24 64 69 72 54 61 $targetRoles,.$dirSource,.$dirTa
6b360 72 67 65 74 2c 20 24 64 69 72 52 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 rget,.$dirRole,.$packageName);.$
6b380 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 result.=.array_merge($result,.$d
6b3a0 69 72 46 69 6c 65 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 68 69 6c 64 2d 3e 67 65 74 4e irFiles);.}.elseif.($child->getN
6b3c0 61 6d 65 28 29 20 3d 3d 20 27 66 69 6c 65 27 29 20 7b 0a 24 66 69 6c 65 52 6f 6c 65 20 3d 20 28 ame().==.'file').{.$fileRole.=.(
6b3e0 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b string).$child['role'].?:.$role;
6b400 0a 69 66 20 28 69 73 73 65 74 28 24 74 61 72 67 65 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c .if.(isset($targetRoles[$fileRol
6b420 65 5d 29 29 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 28 24 63 68 e])).{.$fileName.=.(string).($ch
6b440 69 6c 64 5b 27 6e 61 6d 65 27 5d 20 3f 3a 20 24 63 68 69 6c 64 5b 30 5d 29 3b 20 0a 20 24 66 69 ild['name'].?:.$child[0]);...$fi
6b460 6c 65 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 leSource.=.$this->combine($sourc
6b480 65 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 74 68 e,.$fileName);.$fileTarget.=.$th
6b4a0 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 62 61 73 is->combine((string).$child['bas
6b4c0 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 2c 20 24 66 69 6c 65 4e einstalldir'].?:.$target,.$fileN
6b4e0 61 6d 65 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 52 6f 6c 65 2c 20 73 ame);.if.(!in_array($fileRole,.s
6b500 65 6c 66 3a 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e 61 6d 65 50 72 65 elf::$rolesWithoutPackageNamePre
6b520 66 69 78 29 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 fix)).{.$fileTarget.=.$packageNa
6b540 6d 65 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d 0a 24 72 65 73 75 6c me...'/'...$fileTarget;.}.$resul
6b560 74 5b 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 61 72 72 t[(string).$child['name']].=.arr
6b580 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c 20 27 74 6f 27 20 3d ay('from'.=>.$fileSource,.'to'.=
6b5a0 3e 20 24 66 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 24 66 69 6c 65 52 6f >.$fileTarget,.'role'.=>.$fileRo
6b5c0 6c 65 2c 20 27 74 61 73 6b 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a le,.'tasks'.=>.array());.}.}.}..
6b5e0 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 return.$result;.}..private.funct
6b600 69 6f 6e 20 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 72 65 6e 2c ion.buildSourceList20($children,
6b620 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c .$targetRoles,.$source,.$target,
6b640 20 24 72 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 .$role,.$packageName).{.$result.
6b660 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 6e =.array();....foreach.($children
6b680 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 27 64 69 72 27 20 3d 3d 20 24 63 68 69 .as.$child).{..if.('dir'.==.$chi
6b6a0 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 64 69 72 53 6f 75 72 63 65 20 3d 20 24 74 ld->getName()).{.$dirSource.=.$t
6b6c0 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 63 68 69 6c 64 5b 27 6e 61 his->combine($source,.$child['na
6b6e0 6d 65 27 5d 29 3b 0a 24 64 69 72 54 61 72 67 65 74 20 3d 20 24 63 68 69 6c 64 5b 27 62 61 73 65 me']);.$dirTarget.=.$child['base
6b700 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 3b 0a 24 64 69 72 52 6f 6c installdir'].?:.$target;.$dirRol
6b720 65 20 3d 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 24 64 69 e.=.$child['role'].?:.$role;.$di
6b740 72 46 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 rFiles.=.$this->buildSourceList2
6b760 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 29 2c 20 24 74 61 72 67 65 74 52 6f 6c 0($child->children(),.$targetRol
6b780 65 73 2c 20 24 64 69 72 53 6f 75 72 63 65 2c 20 24 64 69 72 54 61 72 67 65 74 2c 20 24 64 69 72 es,.$dirSource,.$dirTarget,.$dir
6b7a0 52 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 Role,.$packageName);.$result.=.a
6b7c0 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 69 72 46 69 6c 65 73 29 3b 0a rray_merge($result,.$dirFiles);.
6b7e0 7d 20 65 6c 73 65 69 66 20 28 27 66 69 6c 65 27 20 3d 3d 20 24 63 68 69 6c 64 2d 3e 67 65 74 4e }.elseif.('file'.==.$child->getN
6b800 61 6d 65 28 29 29 20 7b 0a 24 66 69 6c 65 52 6f 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 ame()).{.$fileRole.=.(string).$c
6b820 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 69 66 20 28 69 73 73 65 74 hild['role'].?:.$role;.if.(isset
6b840 28 24 74 61 72 67 65 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 29 20 7b 0a 24 66 69 ($targetRoles[$fileRole])).{.$fi
6b860 6c 65 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 leSource.=.$this->combine($sourc
6b880 65 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 66 69 e,.(string).$child['name']);.$fi
6b8a0 6c 65 54 61 72 67 65 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e leTarget.=.$this->combine((strin
6b8c0 67 29 20 28 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 g).($child['baseinstalldir'].?:.
6b8e0 24 74 61 72 67 65 74 29 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 $target),.(string).$child['name'
6b900 5d 29 3b 0a 24 66 69 6c 65 54 61 73 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 ]);.$fileTasks.=.array();.foreac
6b920 68 20 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 27 68 74 74 70 3a 2f 2f 70 65 61 72 h.($child->children('http://pear
6b940 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 74 61 73 6b 73 2d 31 2e 30 27 29 20 61 73 20 24 74 61 73 .php.net/dtd/tasks-1.0').as.$tas
6b960 6b 4e 6f 64 65 29 20 7b 0a 69 66 20 28 27 72 65 70 6c 61 63 65 27 20 3d 3d 20 24 74 61 73 6b 4e kNode).{.if.('replace'.==.$taskN
6b980 6f 64 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 66 69 6c 65 54 61 73 6b 73 5b 5d 20 3d ode->getName()).{.$fileTasks[].=
6b9a0 20 61 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 20 24 74 61 73 6b 4e .array('from'.=>.(string).$taskN
6b9c0 6f 64 65 2d 3e 61 74 74 72 69 62 75 74 65 73 28 29 2d 3e 66 72 6f 6d 2c 20 27 74 6f 27 20 3d 3e ode->attributes()->from,.'to'.=>
6b9e0 20 28 73 74 72 69 6e 67 29 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 61 74 74 72 69 62 75 74 65 73 28 .(string).$taskNode->attributes(
6ba00 29 2d 3e 74 6f 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 52 )->to);.}.}.if.(!in_array($fileR
6ba20 6f 6c 65 2c 20 73 65 6c 66 3a 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e ole,.self::$rolesWithoutPackageN
6ba40 61 6d 65 50 72 65 66 69 78 29 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 63 amePrefix)).{.$fileTarget.=.$pac
6ba60 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d 0a kageName...'/'...$fileTarget;.}.
6ba80 24 72 65 73 75 6c 74 5b 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 5d $result[(string).$child['name']]
6baa0 20 3d 20 61 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c 20 .=.array('from'.=>.$fileSource,.
6bac0 27 74 6f 27 20 3d 3e 20 24 66 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 24 'to'.=>.$fileTarget,.'role'.=>.$
6bae0 66 69 6c 65 52 6f 6c 65 2c 20 27 74 61 73 6b 73 27 20 3d 3e 20 24 66 69 6c 65 54 61 73 6b 73 29 fileRole,.'tasks'.=>.$fileTasks)
6bb00 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 ;.}.}.}..return.$result;.}..priv
6bb20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 65 28 24 6c 65 66 74 2c 20 24 72 69 67 ate.function.combine($left,.$rig
6bb40 68 74 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6c 65 66 74 2c 20 27 2f 27 29 20 2e ht).{.return.rtrim($left,.'/')..
6bb60 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 24 72 69 67 68 74 2c 20 27 2f 27 29 3b 0a 7d 0a 7d 0a 3c .'/'...ltrim($right,.'/');.}.}.<
6bb80 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
6bba0 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 er\Downloader;..use.Composer\Pac
6bbc0 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f kage\PackageInterface;.use.Compo
6bbe0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 ser\Repository\VcsRepository;.us
6bc00 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 63 6c e.Composer\Util\Perforce;.....cl
6bc20 61 73 73 20 50 65 72 66 6f 72 63 65 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 ass.PerforceDownloader.extends.V
6bc40 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 65 72 66 6f csDownloader.{..protected.$perfo
6bc60 72 63 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c rce;.....public.function.doDownl
6bc80 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 oad(PackageInterface.$package,.$
6bca0 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 72 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 path,.$url).{.$ref.=.$package->g
6bcc0 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 6c 61 62 65 6c 20 3d 20 24 74 etSourceReference();.$label.=.$t
6bce0 68 69 73 2d 3e 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 his->getLabelFromSourceReference
6bd00 28 24 72 65 66 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 ($ref);..$this->io->writeError('
6bd20 43 6c 6f 6e 69 6e 67 20 27 20 2e 20 24 72 65 66 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 50 65 Cloning.'...$ref);.$this->initPe
6bd40 72 66 6f 72 63 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 24 rforce($package,.$path,.$url);.$
6bd60 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 65 74 53 74 72 65 61 6d 28 24 72 65 66 29 3b this->perforce->setStream($ref);
6bd80 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e 28 29 3b 0a 24 74 68 .$this->perforce->p4Login();.$th
6bda0 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 is->perforce->writeP4ClientSpec(
6bdc0 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 63 74 43 6c 69 65 6e );.$this->perforce->connectClien
6bde0 74 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 79 6e 63 43 6f 64 65 42 61 t();.$this->perforce->syncCodeBa
6be00 73 65 28 24 6c 61 62 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6c 65 se($label);.$this->perforce->cle
6be20 61 6e 75 70 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e anupClientSpec();.}..private.fun
6be40 63 74 69 6f 6e 20 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 ction.getLabelFromSourceReferenc
6be60 65 28 24 72 65 66 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 72 65 66 2c 20 27 40 e($ref).{.$pos.=.strpos($ref,.'@
6be80 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e ');.if.(false.!==.$pos).{.return
6bea0 20 73 75 62 73 74 72 28 24 72 65 66 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 .substr($ref,.$pos.+.1);.}..retu
6bec0 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 rn.null;.}..public.function.init
6bee0 50 65 72 66 6f 72 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 Perforce(PackageInterface.$packa
6bf00 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 ge,.$path,.$url).{.if.(!empty($t
6bf20 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 his->perforce)).{.$this->perforc
6bf40 65 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 e->initializePath($path);..retur
6bf60 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 n;.}..$repository.=.$package->ge
6bf80 74 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 6e 75 6c tRepository();.$repoConfig.=.nul
6bfa0 6c 3b 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 l;.if.($repository.instanceof.Vc
6bfc0 73 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 74 68 sRepository).{.$repoConfig.=.$th
6bfe0 69 73 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a is->getRepoConfig($repository);.
6c000 7d 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 50 65 72 66 6f 72 63 65 3a 3a 63 72 }.$this->perforce.=.Perforce::cr
6c020 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 eate($repoConfig,.$url,.$path,.$
6c040 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 70 72 this->process,.$this->io);.}..pr
6c060 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 56 63 73 ivate.function.getRepoConfig(Vcs
6c080 52 65 70 6f 73 69 74 6f 72 79 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 72 65 74 75 72 6e Repository.$repository).{.return
6c0a0 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 7d .$repository->getRepoConfig();.}
6c0c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 .....public.function.doUpdate(Pa
6c0e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 ckageInterface.$initial,.Package
6c100 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a Interface.$target,.$path,.$url).
6c120 7b 0a 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 70 61 {.$this->doDownload($target,.$pa
6c140 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e th,.$url);.}.....public.function
6c160 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 .getLocalChanges(PackageInterfac
6c180 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e e.$package,.$path).{.$this->io->
6c1a0 77 72 69 74 65 45 72 72 6f 72 28 27 50 65 72 66 6f 72 63 65 20 64 72 69 76 65 72 20 64 6f 65 73 writeError('Perforce.driver.does
6c1c0 20 6e 6f 74 20 63 68 65 63 6b 20 66 6f 72 20 6c 6f 63 61 6c 20 63 68 61 6e 67 65 73 20 62 65 66 .not.check.for.local.changes.bef
6c1e0 6f 72 65 20 6f 76 65 72 72 69 64 69 6e 67 27 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 3b ore.overriding',.true);..return;
6c200 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d .}.....protected.function.getCom
6c220 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 mitLogs($fromReference,.$toRefer
6c240 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 ence,.$path).{.return.$this->per
6c260 66 6f 72 63 65 2d 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 force->getCommitLogs($fromRefere
6c280 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 nce,.$toReference);.}..public.fu
6c2a0 6e 63 74 69 6f 6e 20 73 65 74 50 65 72 66 6f 72 63 65 28 24 70 65 72 66 6f 72 63 65 29 0a 7b 0a nction.setPerforce($perforce).{.
6c2c0 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 24 70 65 72 66 6f 72 63 65 3b 0a 7d 0a 0a $this->perforce.=.$perforce;.}..
6c2e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 ...protected.function.hasMetadat
6c300 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 aRepository($path).{.return.true
6c320 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
6c340 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 .Composer\Downloader;.......clas
6c360 73 20 50 68 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 s.PharDownloader.extends.Archive
6c380 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 Downloader.{....protected.functi
6c3a0 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 24 61 72 on.extract($file,.$path).{...$ar
6c3c0 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 28 24 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 chive.=.new.\Phar($file);.$archi
6c3e0 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 ve->extractTo($path,.null,.true)
6c400 3b 0a 0a 0a 0a 0a 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ;......}.}.<?php............name
6c420 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 space.Composer\Downloader;..use.
6c440 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 Composer\Config;.use.Composer\Ca
6c460 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 che;.use.Composer\EventDispatche
6c480 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\EventDispatcher;.use.Composer\
6c4a0 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 Util\IniHelper;.use.Composer\Uti
6c4c0 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 l\Platform;.use.Composer\Util\Pr
6c4e0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c ocessExecutor;.use.Composer\Util
6c500 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \RemoteFilesystem;.use.Composer\
6c520 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 52 61 72 41 72 63 68 69 76 65 3b 0a IO\IOInterface;.use.RarArchive;.
6c540 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 ........class.RarDownloader.exte
6c560 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 nds.ArchiveDownloader.{.protecte
6c580 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 d.$process;..public.function.__c
6c5a0 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 onstruct(IOInterface.$io,.Config
6c5c0 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 .$config,.EventDispatcher.$event
6c5e0 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 Dispatcher.=.null,.Cache.$cache.
6c600 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 =.null,.ProcessExecutor.$process
6c620 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d .=.null,.RemoteFilesystem.$rfs.=
6c640 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 .null).{.$this->process.=.$proce
6c660 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a ss.?:.new.ProcessExecutor($io);.
6c680 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 parent::__construct($io,.$config
6c6a0 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 ,.$eventDispatcher,.$cache,.$rfs
6c6c0 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 );.}..protected.function.extract
6c6e0 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d ($file,.$path).{.$processError.=
6c700 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f .null;....if.(!Platform::isWindo
6c720 77 73 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 6e 72 61 72 20 78 20 27 20 2e 20 ws()).{.$command.=.'unrar.x.'...
6c740 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e ProcessExecutor::escape($file)..
6c760 20 27 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 .'.'...ProcessExecutor::escape($
6c780 70 61 74 68 29 20 2e 20 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 26 20 63 68 6d 6f 64 20 2d 52 path)...'.>/dev/null.&&.chmod.-R
6c7a0 20 75 2b 77 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 .u+w.'...ProcessExecutor::escape
6c7c0 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 ($path);..if.(0.===.$this->proce
6c7e0 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 ss->execute($command,.$ignoredOu
6c800 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f tput)).{.return;.}..$processErro
6c820 72 20 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d r.=.'Failed.to.execute.'...$comm
6c840 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 and..."\n\n"...$this->process->g
6c860 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 etErrorOutput();.}..if.(!class_e
6c880 78 69 73 74 73 28 27 52 61 72 41 72 63 68 69 76 65 27 29 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 xists('RarArchive')).{...$iniMes
6c8a0 73 61 67 65 20 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a sage.=.IniHelper::getMessage();.
6c8c0 0a 24 65 72 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 20 .$error.=."Could.not.decompress.
6c8e0 74 68 65 20 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 61 72 20 the.archive,.enable.the.PHP.rar.
6c900 65 78 74 65 6e 73 69 6f 6e 20 6f 72 20 69 6e 73 74 61 6c 6c 20 75 6e 72 61 72 2e 5c 6e 22 0a 2e extension.or.install.unrar.\n"..
6c920 20 24 69 6e 69 4d 65 73 73 61 67 65 20 2e 20 22 5c 6e 22 20 2e 20 24 70 72 6f 63 65 73 73 45 72 .$iniMessage..."\n"...$processEr
6c940 72 6f 72 3b 0a 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 ror;..if.(!Platform::isWindows()
6c960 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 ).{.$error.=."Could.not.decompre
6c980 73 73 20 74 68 65 20 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 ss.the.archive,.enable.the.PHP.r
6c9a0 61 72 20 65 78 74 65 6e 73 69 6f 6e 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a ar.extension.\n"...$iniMessage;.
6c9c0 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 }..throw.new.\RuntimeException($
6c9e0 65 72 72 6f 72 29 3b 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 20 3d 20 52 61 72 41 72 63 68 error);.}..$rarArchive.=.RarArch
6ca00 69 76 65 3a 3a 6f 70 65 6e 28 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d ive::open($file);..if.(false.===
6ca20 20 24 72 61 72 41 72 63 68 69 76 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 .$rarArchive).{.throw.new.\Unexp
6ca40 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6f ectedValueException('Could.not.o
6ca60 70 65 6e 20 52 41 52 20 61 72 63 68 69 76 65 3a 20 27 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a pen.RAR.archive:.'...$file);.}..
6ca80 24 65 6e 74 72 69 65 73 20 3d 20 24 72 61 72 41 72 63 68 69 76 65 2d 3e 67 65 74 45 6e 74 72 69 $entries.=.$rarArchive->getEntri
6caa0 65 73 28 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 69 65 73 29 20 7b es();..if.(false.===.$entries).{
6cac0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f .throw.new.\RuntimeException('Co
6cae0 75 6c 64 20 6e 6f 74 20 72 65 74 72 69 65 76 65 20 52 41 52 20 61 72 63 68 69 76 65 20 65 6e 74 uld.not.retrieve.RAR.archive.ent
6cb00 72 69 65 73 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 74 72 69 65 73 20 61 73 20 ries');.}..foreach.($entries.as.
6cb20 24 65 6e 74 72 79 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 79 2d 3e $entry).{.if.(false.===.$entry->
6cb40 65 78 74 72 61 63 74 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e extract($path)).{.throw.new.\Run
6cb60 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 65 78 74 72 61 63 74 timeException('Could.not.extract
6cb80 20 65 6e 74 72 79 27 29 3b 0a 7d 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 .entry');.}.}..$rarArchive->clos
6cba0 65 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 e();.}.}.<?php............namesp
6cbc0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f ace.Composer\Downloader;..use.Co
6cbe0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b mposer\Package\PackageInterface;
6cc00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 69 .use.Composer\Util\Svn.as.SvnUti
6cc20 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 l;.use.Composer\Repository\VcsRe
6cc40 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 pository;.use.Composer\Util\Proc
6cc60 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 44 6f 77 6e 6c essExecutor;......class.SvnDownl
6cc80 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 oader.extends.VcsDownloader.{.pr
6cca0 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 otected.$cacheCredentials.=.true
6ccc0 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 ;.....public.function.doDownload
6cce0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
6cd00 68 2c 20 24 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a h,.$url).{.SvnUtil::cleanEnv();.
6cd20 24 72 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 $ref.=.$package->getSourceRefere
6cd40 6e 63 65 28 29 3b 0a 0a 24 72 65 70 6f 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 nce();..$repo.=.$package->getRep
6cd60 6f 73 69 74 6f 72 79 28 29 3b 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 ository();.if.($repo.instanceof.
6cd80 56 63 73 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 VcsRepository).{.$repoConfig.=.$
6cda0 72 65 70 6f 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 61 72 72 61 79 repo->getRepoConfig();.if.(array
6cdc0 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 _key_exists('svn-cache-credentia
6cde0 6c 73 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 ls',.$repoConfig)).{.$this->cach
6ce00 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 65 70 6f 43 6f 6e 66 69 eCredentials.=.(bool).$repoConfi
6ce20 67 5b 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 27 5d 3b 0a 7d 0a 7d 0a g['svn-cache-credentials'];.}.}.
6ce40 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 43 68 65 63 6b 69 6e .$this->io->writeError(".Checkin
6ce60 67 20 6f 75 74 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 g.out.".$package->getSourceRefer
6ce80 65 6e 63 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 ence());.$this->execute($url,."s
6cea0 76 6e 20 63 6f 22 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c 20 24 vn.co",.sprintf("%s/%s",.$url,.$
6cec0 72 65 66 29 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ref),.null,.$path);.}.....public
6cee0 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 .function.doUpdate(PackageInterf
6cf00 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 ace.$initial,.PackageInterface.$
6cf20 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a target,.$path,.$url).{.SvnUtil::
6cf40 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 cleanEnv();.$ref.=.$target->getS
6cf60 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 ourceReference();..if.(!$this->h
6cf80 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 asMetadataRepository($path)).{.t
6cfa0 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 hrow.new.\RuntimeException('The.
6cfc0 2e 73 76 6e 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 .svn.directory.is.missing.from.'
6cfe0 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 .$path.',.see.https://getcompose
6d000 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 r.org/commit-deps.for.more.infor
6d020 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c mation');.}..$util.=.new.SvnUtil
6d040 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 ($url,.$this->io,.$this->config)
6d060 3b 0a 24 66 6c 61 67 73 20 3d 20 22 22 3b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 ;.$flags.=."";.if.(version_compa
6d080 72 65 28 24 75 74 69 6c 2d 3e 62 69 6e 61 72 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 31 2e 37 2e re($util->binaryVersion(),.'1.7.
6d0a0 30 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 66 6c 61 67 73 20 2e 3d 20 27 20 2d 2d 69 67 6e 6f 72 0',.'>=')).{.$flags..=.'.--ignor
6d0c0 65 2d 61 6e 63 65 73 74 72 79 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 e-ancestry';.}..$this->io->write
6d0e0 45 72 72 6f 72 28 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 20 2e 20 24 72 65 66 29 3b 0a Error(".Checking.out."...$ref);.
6d100 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 76 6e 20 73 77 69 74 63 68 $this->execute($url,."svn.switch
6d120 22 20 2e 20 24 66 6c 61 67 73 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 "...$flags,.sprintf("%s/%s",.$ur
6d140 6c 2c 20 24 72 65 66 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 l,.$ref),.$path);.}.....public.f
6d160 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 unction.getLocalChanges(PackageI
6d180 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 nterface.$package,.$path).{.if.(
6d1a0 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 !$this->hasMetadataRepository($p
6d1c0 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 ath)).{.return.null;.}..$this->p
6d1e0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 73 74 61 74 75 73 20 2d 2d 69 67 rocess->execute('svn.status.--ig
6d200 6e 6f 72 65 2d 65 78 74 65 72 6e 61 6c 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 nore-externals',.$output,.$path)
6d220 3b 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 58 20 5d 20 ;..return.preg_match('{^.*[^X.].
6d240 2b 7d 6d 27 2c 20 24 6f 75 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 75 6c 6c 3b +}m',.$output).?.$output.:.null;
6d260 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .}..............protected.functi
6d280 6f 6e 20 65 78 65 63 75 74 65 28 24 62 61 73 65 55 72 6c 2c 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 on.execute($baseUrl,.$command,.$
6d2a0 75 72 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a url,.$cwd.=.null,.$path.=.null).
6d2c0 7b 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 62 61 73 65 55 72 6c 2c 20 {.$util.=.new.SvnUtil($baseUrl,.
6d2e0 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 75 74 69 6c $this->io,.$this->config);.$util
6d300 2d 3e 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 ->setCacheCredentials($this->cac
6d320 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 75 74 heCredentials);.try.{.return.$ut
6d340 69 6c 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 63 77 64 il->execute($command,.$url,.$cwd
6d360 2c 20 24 70 61 74 68 2c 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 ,.$path,.$this->io->isVerbose())
6d380 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 ;.}.catch.(\RuntimeException.$e)
6d3a0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a .{.throw.new.\RuntimeException(.
6d3c0 27 50 61 63 6b 61 67 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 'Package.could.not.be.downloaded
6d3e0 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ,.'.$e->getMessage().);.}.}.....
6d400 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 protected.function.cleanChanges(
6d420 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 PackageInterface.$package,.$path
6d440 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 20 3d 20 24 74 68 ,.$update).{.if.(!$changes.=.$th
6d460 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 is->getLocalChanges($package,.$p
6d480 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 ath)).{.return;.}..if.(!$this->i
6d4a0 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 3d o->isInteractive()).{.if.(true.=
6d4c0 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 ==.$this->config->get('discard-c
6d4e0 68 61 6e 67 65 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 63 61 72 hanges')).{.return.$this->discar
6d500 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e dChanges($path);.}..return.paren
6d520 74 3a 3a 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c t::cleanChanges($package,.$path,
6d540 20 24 75 70 64 61 74 65 29 3b 0a 7d 0a 0a 24 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d .$update);.}..$changes.=.array_m
6d560 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 ap(function.($elem).{.return.'..
6d580 20 20 27 2e 24 65 6c 65 6d 3b 0a 7d 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 ..'.$elem;.},.preg_split('{\s*\r
6d5a0 3f 5c 6e 5c 73 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 29 29 3b 0a 24 63 6f 75 6e 74 43 68 61 6e ?\n\s*}',.$changes));.$countChan
6d5c0 67 65 73 20 3d 20 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 3b 0a 24 74 68 69 73 2d 3e 69 6f ges.=.count($changes);.$this->io
6d5e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 3c 65 72 72 6f 72 ->writeError(sprintf('....<error
6d600 3e 54 68 65 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 25 73 >The.package.has.modified.file%s
6d620 3a 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 :</error>',.$countChanges.===.1.
6d640 3f 20 27 27 20 3a 20 27 73 27 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ?.''.:.'s'));.$this->io->writeEr
6d660 72 6f 72 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c 20 30 2c 20 31 30 29 ror(array_slice($changes,.0,.10)
6d680 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3e 20 31 30 29 20 7b 0a 24 72 65 );.if.($countChanges.>.10).{.$re
6d6a0 6d 61 69 6e 67 43 68 61 6e 67 65 73 20 3d 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 2d 20 31 maingChanges.=.$countChanges.-.1
6d6c0 30 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 0;.$this->io->writeError(.sprint
6d6e0 66 28 0a 27 20 20 20 20 3c 69 6e 66 6f 3e 27 2e 24 72 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 2e f(.'....<info>'.$remaingChanges.
6d700 27 20 6d 6f 72 65 20 66 69 6c 65 25 73 20 6d 6f 64 69 66 69 65 64 2c 20 63 68 6f 6f 73 65 20 22 '.more.file%s.modified,.choose."
6d720 76 22 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 27 v".to.view.the.full.list</info>'
6d740 2c 0a 24 72 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 3f 20 27 27 20 3a 20 27 ,.$remaingChanges.===.1.?.''.:.'
6d760 73 27 0a 29 0a 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 77 69 74 63 68 s'.).);.}..while.(true).{.switch
6d780 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e 66 6f 3e 44 69 73 63 .($this->io->ask('....<info>Disc
6d7a0 61 72 64 20 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c ard.changes.[y,n,v,?]?</info>.',
6d7c0 20 27 3f 27 29 29 20 7b 0a 63 61 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 61 72 .'?')).{.case.'y':.$this->discar
6d7e0 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 dChanges($path);.break.2;..case.
6d800 27 6e 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 'n':.throw.new.\RuntimeException
6d820 28 27 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 3a 0a 24 ('Update.aborted');..case.'v':.$
6d840 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 61 6e 67 65 73 29 3b 0a this->io->writeError($changes);.
6d860 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 break;..case.'?':.default:.$this
6d880 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d ->io->writeError(array(.'....y.-
6d8a0 20 64 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 .discard.changes.and.apply.the.'
6d8c0 2e 28 24 75 70 64 61 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c .($update.?.'update'.:.'uninstal
6d8e0 6c 27 29 2c 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 l'),.'....n.-.abort.the.'.($upda
6d900 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 te.?.'update'.:.'uninstall').'.a
6d920 6e 64 20 6c 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 nd.let.you.manually.clean.things
6d940 20 75 70 27 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c .up',.'....v.-.view.modified.fil
6d960 65 73 27 2c 0a 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 6c 70 27 2c 0a 29 29 3b 0a 62 es',.'....?.-.print.help',.));.b
6d980 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 reak;.}.}.}.....protected.functi
6d9a0 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c on.getCommitLogs($fromReference,
6d9c0 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 .$toReference,.$path).{.if.(preg
6d9e0 5f 6d 61 74 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 24 66 72 6f 6d 52 65 66 65 72 _match('{.*@(\d+)$}',.$fromRefer
6da00 65 6e 63 65 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d ence).&&.preg_match('{.*@(\d+)$}
6da20 27 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d ',.$toReference)).{...$command.=
6da40 20 73 70 72 69 6e 74 66 28 27 73 76 6e 20 69 6e 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 .sprintf('svn.info.--non-interac
6da60 74 69 76 65 20 2d 2d 78 6d 6c 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a tive.--xml.%s',.ProcessExecutor:
6da80 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 :escape($path));.if.(0.!==.$this
6daa0 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 ->process->execute($command,.$ou
6dac0 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 tput,.$path)).{.throw.new.\Runti
6dae0 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 meException(.'Failed.to.execute.
6db00 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 '...$command..."\n\n"...$this->p
6db20 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b 0a 7d 0a 0a 24 rocess->getErrorOutput().);.}..$
6db40 75 72 6c 50 61 74 74 65 72 6e 20 3d 20 27 23 3c 75 72 6c 3e 28 2e 2a 29 3c 2f 75 72 6c 3e 23 27 urlPattern.=.'#<url>(.*)</url>#'
6db60 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 75 72 6c 50 61 74 74 65 72 6e 2c 20 24 6f ;.if.(preg_match($urlPattern,.$o
6db80 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 24 utput,.$matches)).{.$baseUrl.=.$
6dba0 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c matches[1];.}.else.{.throw.new.\
6dbc0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 55 6e 61 62 6c 65 20 74 6f 20 64 65 74 RuntimeException(.'Unable.to.det
6dbe0 65 72 6d 69 6e 65 20 73 76 6e 20 75 72 6c 20 66 6f 72 20 70 61 74 68 20 27 2e 20 24 70 61 74 68 ermine.svn.url.for.path.'..$path
6dc00 0a 29 3b 0a 7d 0a 0a 0a 20 24 66 72 6f 6d 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 .);.}....$fromRevision.=.preg_re
6dc20 70 6c 61 63 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 66 72 6f 6d place('{.*@(\d+)$}',.'$1',.$from
6dc40 52 65 66 65 72 65 6e 63 65 29 3b 0a 24 74 6f 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 Reference);.$toRevision.=.preg_r
6dc60 65 70 6c 61 63 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 74 6f 52 eplace('{.*@(\d+)$}',.'$1',.$toR
6dc80 65 66 65 72 65 6e 63 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 eference);..$command.=.sprintf('
6dca0 73 76 6e 20 6c 6f 67 20 2d 72 25 73 3a 25 73 20 2d 2d 69 6e 63 72 65 6d 65 6e 74 61 6c 27 2c 20 svn.log.-r%s:%s.--incremental',.
6dcc0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 76 ProcessExecutor::escape($fromRev
6dce0 69 73 69 6f 6e 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 ision),.ProcessExecutor::escape(
6dd00 24 74 6f 52 65 76 69 73 69 6f 6e 29 29 3b 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 $toRevision));..$util.=.new.SvnU
6dd20 74 69 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e til($baseUrl,.$this->io,.$this->
6dd40 63 6f 6e 66 69 67 29 3b 0a 24 75 74 69 6c 2d 3e 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 config);.$util->setCacheCredenti
6dd60 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 als($this->cacheCredentials);.tr
6dd80 79 20 7b 0a 72 65 74 75 72 6e 20 24 75 74 69 6c 2d 3e 65 78 65 63 75 74 65 4c 6f 63 61 6c 28 24 y.{.return.$util->executeLocal($
6dda0 63 6f 6d 6d 61 6e 64 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2d command,.$path,.null,.$this->io-
6ddc0 3e 69 73 56 65 72 62 6f 73 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 >isVerbose());.}.catch.(\Runtime
6dde0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 Exception.$e).{.throw.new.\Runti
6de00 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 meException(.'Failed.to.execute.
6de20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 '...$command..."\n\n".$e->getMes
6de40 73 61 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 43 6f 75 6c 64 20 6e 6f 74 sage().);.}.}..return."Could.not
6de60 20 72 65 74 72 69 65 76 65 20 63 68 61 6e 67 65 73 20 62 65 74 77 65 65 6e 20 24 66 72 6f 6d 52 .retrieve.changes.between.$fromR
6de80 65 66 65 72 65 6e 63 65 20 61 6e 64 20 24 74 6f 52 65 66 65 72 65 6e 63 65 20 64 75 65 20 74 6f eference.and.$toReference.due.to
6dea0 20 6d 69 73 73 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 22 3b 0a .missing.revision.information";.
6dec0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 61 72 64 43 68 61 }..protected.function.discardCha
6dee0 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 nges($path).{.if.(0.!==.$this->p
6df00 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 72 65 76 65 72 74 20 2d 52 20 2e rocess->execute('svn.revert.-R..
6df20 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ',.$output,.$path)).{.throw.new.
6df40 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 \RuntimeException("Could.not.res
6df60 65 74 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d et.changes\n\n:".$this->process-
6df80 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 >getErrorOutput());.}.}.....prot
6dfa0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 ected.function.hasMetadataReposi
6dfc0 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 tory($path).{.return.is_dir($pat
6dfe0 68 2e 27 2f 2e 73 76 6e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a h.'/.svn');.}.}.<?php...........
6e000 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a .namespace.Composer\Downloader;.
6e020 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 ......class.TarDownloader.extend
6e040 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 s.ArchiveDownloader.{....protect
6e060 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 ed.function.extract($file,.$path
6e080 29 0a 7b 0a 0a 20 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 ).{...$archive.=.new.\PharData($
6e0a0 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 file);.$archive->extractTo($path
6e0c0 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ,.null,.true);.}.}.<?php........
6e0e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 ....namespace.Composer\Downloade
6e100 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 r;.....class.TransportException.
6e120 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 extends.\RuntimeException.{.prot
6e140 65 63 74 65 64 20 24 68 65 61 64 65 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 73 70 6f ected.$headers;.protected.$respo
6e160 6e 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 nse;.protected.$statusCode;..pub
6e180 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 lic.function.setHeaders($headers
6e1a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 7d ).{.$this->headers.=.$headers;.}
6e1c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b ..public.function.getHeaders().{
6e1e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 .return.$this->headers;.}..publi
6e200 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 70 6f 6e 73 65 c.function.setResponse($response
6e220 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b ).{.$this->response.=.$response;
6e240 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 73 70 6f 6e 73 65 28 .}..public.function.getResponse(
6e260 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 0a 70 ).{.return.$this->response;.}..p
6e280 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 ublic.function.setStatusCode($st
6e2a0 61 74 75 73 43 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 atusCode).{.$this->statusCode.=.
6e2c0 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $statusCode;.}..public.function.
6e2e0 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e getStatusCode().{.return.$this->
6e300 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a statusCode;.}.}.<?php...........
6e320 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a .namespace.Composer\Downloader;.
6e340 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
6e360 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 43 61 70 61 62 erface;.......interface.VcsCapab
6e380 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 leDownloaderInterface.{........p
6e3a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 ublic.function.getVcsReference(P
6e3c0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 ackageInterface.$package,.$path)
6e3e0 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 ;.}.<?php............namespace.C
6e400 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 omposer\Downloader;..use.Compose
6e420 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 r\Config;.use.Composer\Package\D
6e440 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c umper\ArrayDumper;.use.Composer\
6e460 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
6e480 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 mposer\Package\Version\VersionGu
6e4a0 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 esser;.use.Composer\Package\Vers
6e4c0 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ion\VersionParser;.use.Composer\
6e4e0 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 Util\ProcessExecutor;.use.Compos
6e500 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c er\IO\IOInterface;.use.Composer\
6e520 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c Util\Filesystem;.....abstract.cl
6e540 61 73 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 ass.VcsDownloader.implements.Dow
6e560 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e nloaderInterface,.ChangeReportIn
6e580 74 65 72 66 61 63 65 2c 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 terface,.VcsCapableDownloaderInt
6e5a0 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 erface.{..protected.$io;..protec
6e5c0 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 ted.$config;..protected.$process
6e5e0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 ;..protected.$filesystem;..publi
6e600 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 c.function.__construct(IOInterfa
6e620 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 ce.$io,.Config.$config,.ProcessE
6e640 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 xecutor.$process.=.null,.Filesys
6e660 74 65 6d 20 24 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 tem.$fs.=.null).{.$this->io.=.$i
6e680 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 o;.$this->config.=.$config;.$thi
6e6a0 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f s->process.=.$process.?:.new.Pro
6e6c0 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 cessExecutor($io);.$this->filesy
6e6e0 73 74 65 6d 20 3d 20 24 66 73 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 stem.=.$fs.?:.new.Filesystem($th
6e700 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 is->process);.}.....public.funct
6e720 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 ion.getInstallationSource().{.re
6e740 74 75 72 6e 20 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 turn.'source';.}.....public.func
6e760 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 tion.download(PackageInterface.$
6e780 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d package,.$path).{.if.(!$package-
6e7a0 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e >getSourceReference()).{.throw.n
6e7c0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 ew.\InvalidArgumentException('Pa
6e7e0 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 ckage.'.$package->getPrettyName(
6e800 29 2e 27 20 69 73 20 6d 69 73 73 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 ).'.is.missing.reference.informa
6e820 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 tion');.}..$this->io->writeError
6e840 28 22 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b ("..-.Installing.<info>"...$pack
6e860 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d age->getName()..."</info>.(<comm
6e880 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 ent>"...$package->getFullPrettyV
6e8a0 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 ersion()..."</comment>):.",.fals
6e8c0 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 e);.$this->filesystem->emptyDire
6e8e0 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 24 75 72 6c 73 20 3d 20 24 70 61 63 6b 61 67 65 2d ctory($path);..$urls.=.$package-
6e900 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 >getSourceUrls();.while.($url.=.
6e920 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 array_shift($urls)).{.try.{.if.(
6e940 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b Filesystem::isLocalPath($url)).{
6e960 0a 0a 20 0a 20 24 6e 65 65 64 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 3b 0a 24 69 73 46 69 6c .....$needle.=.'file://';.$isFil
6e980 65 50 72 6f 74 6f 63 6f 6c 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 eProtocol.=.false;.if.(0.===.str
6e9a0 70 6f 73 28 24 75 72 6c 2c 20 24 6e 65 65 64 6c 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 73 75 62 pos($url,.$needle)).{.$url.=.sub
6e9c0 73 74 72 28 24 75 72 6c 2c 20 73 74 72 6c 65 6e 28 24 6e 65 65 64 6c 65 29 29 3b 0a 24 69 73 46 str($url,.strlen($needle));.$isF
6e9e0 69 6c 65 50 72 6f 74 6f 63 6f 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c ileProtocol.=.true;.}....if.(fal
6ea00 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 25 27 29 29 20 7b 0a 24 75 72 6c se.!==.strpos($url,.'%')).{.$url
6ea20 20 3d 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 75 72 6c 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d .=.rawurldecode($url);.}..$url.=
6ea40 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 24 69 73 46 69 6c 65 50 72 6f .realpath($url);..if.($isFilePro
6ea60 74 6f 63 6f 6c 29 20 7b 0a 24 75 72 6c 20 3d 20 24 6e 65 65 64 6c 65 20 2e 20 24 75 72 6c 3b 0a tocol).{.$url.=.$needle...$url;.
6ea80 7d 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 }.}.$this->doDownload($package,.
6eaa0 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 $path,.$url);.break;.}.catch.(\E
6eac0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 xception.$e).{...if.($e.instance
6eae0 6f 66 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 of.\PHPUnit_Framework_Exception)
6eb00 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 .{.throw.$e;.}.if.($this->io->is
6eb20 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 Debug()).{.$this->io->writeError
6eb40 28 27 46 61 69 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e ('Failed:.['.get_class($e).'].'.
6eb60 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6f 75 $e->getMessage());.}.elseif.(cou
6eb80 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 nt($urls)).{.$this->io->writeErr
6eba0 6f 72 28 27 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 or('....Failed,.trying.the.next.
6ebc0 55 52 4c 27 29 3b 0a 7d 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 68 URL');.}.if.(!count($urls)).{.th
6ebe0 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 row.$e;.}.}.}.}.....public.funct
6ec00 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 ion.update(PackageInterface.$ini
6ec20 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 tial,.PackageInterface.$target,.
6ec40 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 $path).{.if.(!$target->getSource
6ec60 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 Reference()).{.throw.new.\Invali
6ec80 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 74 dArgumentException('Package.'.$t
6eca0 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 69 73 20 6d 69 73 73 arget->getPrettyName().'.is.miss
6ecc0 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a ing.reference.information');.}..
6ece0 24 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 $name.=.$target->getName();.if.(
6ed00 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 20 $initial->getPrettyVersion().==.
6ed20 24 74 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 $target->getPrettyVersion()).{.i
6ed40 66 20 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 20 3d 3d 3d 20 f.($target->getSourceType().===.
6ed60 27 73 76 6e 27 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 'svn').{.$from.=.$initial->getSo
6ed80 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e urceReference();.$to.=.$target->
6eda0 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 getSourceReference();.}.else.{.$
6edc0 66 72 6f 6d 20 3d 20 73 75 62 73 74 72 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 from.=.substr($initial->getSourc
6ede0 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 37 29 3b 0a 24 74 6f 20 3d 20 73 75 62 73 74 eReference(),.0,.7);.$to.=.subst
6ee00 72 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c r($target->getSourceReference(),
6ee20 20 30 2c 20 37 29 3b 0a 7d 0a 24 6e 61 6d 65 20 2e 3d 20 27 20 27 2e 24 69 6e 69 74 69 61 6c 2d .0,.7);.}.$name..=.'.'.$initial-
6ee40 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 >getPrettyVersion();.}.else.{.$f
6ee60 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 rom.=.$initial->getFullPrettyVer
6ee80 73 69 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 46 75 6c 6c 50 72 sion();.$to.=.$target->getFullPr
6eea0 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 61 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 ettyVersion();.}..$actionName.=.
6eec0 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e 69 74 69 61 VersionParser::isUpgrade($initia
6eee0 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 56 65 72 l->getVersion(),.$target->getVer
6ef00 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e 67 72 61 64 sion()).?.'Updating'.:.'Downgrad
6ef20 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d ing';.$this->io->writeError("..-
6ef40 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 ."...$actionName...".<info>"...$
6ef60 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 66 name..."</info>.(<comment>"...$f
6ef80 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e 74 3e 22 20 rom..."</comment>.=>.<comment>".
6efa0 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b ..$to..."</comment>):.",.false);
6efc0 0a 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 69 6e 69 74 69 61 6c 2c 20 ..$this->cleanChanges($initial,.
6efe0 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 75 72 6c 73 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 $path,.true);.$urls.=.$target->g
6f000 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 etSourceUrls();..$exception.=.nu
6f020 6c 6c 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 ll;.while.($url.=.array_shift($u
6f040 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 rls)).{.try.{.if.(Filesystem::is
6f060 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 72 65 61 6c 70 61 LocalPath($url)).{.$url.=.realpa
6f080 74 68 28 24 75 72 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 69 th($url);.}.$this->doUpdate($ini
6f0a0 74 69 61 6c 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 24 65 tial,.$target,.$path,.$url);..$e
6f0c0 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 xception.=.null;.break;.}.catch.
6f0e0 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 69 66 20 28 (\Exception.$exception).{...if.(
6f100 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 48 50 55 6e 69 74 5f 46 $exception.instanceof.\PHPUnit_F
6f120 72 61 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 ramework_Exception).{.throw.$exc
6f140 65 70 74 69 6f 6e 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 eption;.}.if.($this->io->isDebug
6f160 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 ()).{.$this->io->writeError('Fai
6f180 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 78 63 65 70 74 69 6f 6e 29 2e 27 5d led:.['.get_class($exception).']
6f1a0 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 .'.$exception->getMessage());.}.
6f1c0 65 6c 73 65 69 66 20 28 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 elseif.(count($urls)).{.$this->i
6f1e0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e o->writeError('....Failed,.tryin
6f200 67 20 74 68 65 20 6e 65 78 74 20 55 52 4c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e g.the.next.URL');.}.}.}..$this->
6f220 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 reapplyChanges($path);......if.(
6f240 21 24 65 78 63 65 70 74 69 6f 6e 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 !$exception.&&.$this->io->isVerb
6f260 6f 73 65 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 ose().&&.$this->hasMetadataRepos
6f280 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 75 6c 6c itory($path)).{.$message.=.'Pull
6f2a0 69 6e 67 20 69 6e 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d ing.in.changes:';.$logs.=.$this-
6f2c0 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 >getCommitLogs($initial->getSour
6f2e0 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 ceReference(),.$target->getSourc
6f300 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d eReference(),.$path);..if.(!trim
6f320 28 24 6c 6f 67 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 52 6f 6c 6c 69 6e 67 20 62 ($logs)).{.$message.=.'Rolling.b
6f340 61 63 6b 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 ack.changes:';.$logs.=.$this->ge
6f360 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 tCommitLogs($target->getSourceRe
6f380 66 65 72 65 6e 63 65 28 29 2c 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 ference(),.$initial->getSourceRe
6f3a0 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 69 6d 28 24 ference(),.$path);.}..if.(trim($
6f3c0 6c 6f 67 73 29 29 20 7b 0a 24 6c 6f 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 logs)).{.$logs.=.implode("\n",.a
6f3e0 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 rray_map(function.($line).{.retu
6f400 72 6e 20 27 20 20 20 20 20 20 27 20 2e 20 24 6c 69 6e 65 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 rn.'......'...$line;.},.explode(
6f420 22 5c 6e 22 2c 20 24 6c 6f 67 73 29 29 29 3b 0a 0a 0a 20 24 6c 6f 67 73 20 3d 20 73 74 72 5f 72 "\n",.$logs)));....$logs.=.str_r
6f440 65 70 6c 61 63 65 28 27 3c 27 2c 20 27 5c 3c 27 2c 20 24 6c 6f 67 73 29 3b 0a 0a 24 74 68 69 73 eplace('<',.'\<',.$logs);..$this
6f460 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 6d 65 73 73 61 67 65 ->io->writeError('....'.$message
6f480 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6c 6f 67 73 29 3b );.$this->io->writeError($logs);
6f4a0 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 75 72 6c 73 20 26 26 20 24 65 78 63 65 70 74 69 6f 6e 29 20 .}.}..if.(!$urls.&&.$exception).
6f4c0 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c {.throw.$exception;.}.}.....publ
6f4e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ic.function.remove(PackageInterf
6f500 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f ace.$package,.$path).{.$this->io
6f520 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f ->writeError("..-.Removing.<info
6f540 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e >"...$package->getName()..."</in
6f560 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 fo>.(<comment>"...$package->getP
6f580 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b rettyVersion()..."</comment>)");
6f5a0 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 .$this->cleanChanges($package,.$
6f5c0 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 path,.false);.if.(!$this->filesy
6f5e0 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a stem->removeDirectory($path)).{.
6f600 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 throw.new.\RuntimeException('Cou
6f620 6c 64 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 ld.not.completely.delete.'.$path
6f640 2e 27 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .',.aborting.');.}.}......public
6f660 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 .function.setOutputProgress($out
6f680 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a putProgress).{.return.$this;.}..
6f6a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e ...public.function.getVcsReferen
6f6c0 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 ce(PackageInterface.$package,.$p
6f6e0 61 74 68 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 ath).{.$parser.=.new.VersionPars
6f700 65 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 er;.$guesser.=.new.VersionGuesse
6f720 72 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c r($this->config,.$this->process,
6f740 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 .$parser);.$dumper.=.new.ArrayDu
6f760 6d 70 65 72 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 20 3d 20 24 64 75 6d 70 65 72 2d mper;..$packageConfig.=.$dumper-
6f780 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 56 65 72 >dump($package);.if.($packageVer
6f7a0 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 sion.=.$guesser->guessVersion($p
6f7c0 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 ackageConfig,.$path)).{.return.$
6f7e0 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 7d 0a 0a 0a packageVersion['commit'];.}.}...
6f800 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e ........protected.function.clean
6f820 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 Changes(PackageInterface.$packag
6f840 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 e,.$path,.$update).{...if.(null.
6f860 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b !==.$this->getLocalChanges($pack
6f880 61 67 65 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d age,.$path)).{.throw.new.\Runtim
6f8a0 65 45 78 63 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e eException('Source.directory.'..
6f8c0 20 24 70 61 74 68 20 2e 20 27 20 68 61 73 20 75 6e 63 6f 6d 6d 69 74 74 65 64 20 63 68 61 6e 67 .$path...'.has.uncommitted.chang
6f8e0 65 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 es.');.}.}........protected.func
6f900 74 69 6f 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 7d 0a 0a tion.reapplyChanges($path).{.}..
6f920 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .......abstract.protected.functi
6f940 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 on.doDownload(PackageInterface.$
6f960 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a package,.$path,.$url);..........
6f980 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 abstract.protected.function.doUp
6f9a0 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 date(PackageInterface.$initial,.
6f9c0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c PackageInterface.$target,.$path,
6f9e0 20 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 .$url);..........abstract.protec
6fa00 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d ted.function.getCommitLogs($from
6fa20 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 3b Reference,.$toReference,.$path);
6fa40 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 .........abstract.protected.func
6fa60 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 tion.hasMetadataRepository($path
6fa80 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 );.}.<?php............namespace.
6faa0 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 Composer\Downloader;..use.Compos
6fac0 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 er\Config;.use.Composer\Cache;.u
6fae0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e se.Composer\EventDispatcher\Even
6fb00 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 tDispatcher;.use.Composer\Packag
6fb20 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e\PackageInterface;.use.Composer
6fb40 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
6fb60 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 ser\Util\RemoteFilesystem;.use.C
6fb80 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 omposer\IO\IOInterface;........c
6fba0 6c 61 73 73 20 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 lass.XzDownloader.extends.Archiv
6fbc0 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 eDownloader.{.protected.$process
6fbe0 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 ;..public.function.__construct(I
6fc00 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 OInterface.$io,.Config.$config,.
6fc20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 EventDispatcher.$eventDispatcher
6fc40 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 .=.null,.Cache.$cache.=.null,.Pr
6fc60 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 ocessExecutor.$process.=.null,.R
6fc80 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 emoteFilesystem.$rfs.=.null).{.$
6fca0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 this->process.=.$process.?:.new.
6fcc0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f ProcessExecutor($io);..parent::_
6fce0 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 _construct($io,.$config,.$eventD
6fd00 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 70 72 6f ispatcher,.$cache,.$rfs);.}..pro
6fd20 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 tected.function.extract($file,.$
6fd40 70 61 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 74 61 72 20 2d 78 4a 66 20 27 20 2e path).{.$command.=.'tar.-xJf.'..
6fd60 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 .ProcessExecutor::escape($file).
6fd80 2e 20 27 20 2d 43 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 ..'.-C.'...ProcessExecutor::esca
6fda0 70 65 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f pe($path);..if.(0.===.$this->pro
6fdc0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 cess->execute($command,.$ignored
6fde0 4f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 Output)).{.return;.}..$processEr
6fe00 72 6f 72 20 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f ror.=.'Failed.to.execute.'...$co
6fe20 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d mmand..."\n\n"...$this->process-
6fe40 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 >getErrorOutput();..throw.new.\R
6fe60 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a untimeException($processError);.
6fe80 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 }.....protected.function.getFile
6fea0 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 Name(PackageInterface.$package,.
6fec0 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e $path).{.return.$path.'/'.pathin
6fee0 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 fo(parse_url($package->getDistUr
6ff00 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 l(),.PHP_URL_PATH),.PATHINFO_BAS
6ff20 45 4e 41 4d 45 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ENAME);.}.}.<?php............nam
6ff40 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 espace.Composer\Downloader;..use
6ff60 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 .Composer\Config;.use.Composer\C
6ff80 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 ache;.use.Composer\EventDispatch
6ffa0 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\EventDispatcher;.use.Composer
6ffc0 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 \Package\PackageInterface;.use.C
6ffe0 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 omposer\Util\IniHelper;.use.Comp
70000 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 oser\Util\Platform;.use.Composer
70020 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
70040 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 ser\Util\RemoteFilesystem;.use.C
70060 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 omposer\IO\IOInterface;.use.Symf
70080 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 65 63 75 74 61 62 6c 65 ony\Component\Process\Executable
700a0 46 69 6e 64 65 72 3b 0a 75 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 Finder;.use.ZipArchive;.....clas
700c0 73 20 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 s.ZipDownloader.extends.ArchiveD
700e0 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 68 61 ownloader.{.protected.static.$ha
70100 73 53 79 73 74 65 6d 55 6e 7a 69 70 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 68 61 sSystemUnzip;.private.static.$ha
70120 73 5a 69 70 41 72 63 68 69 76 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 73 57 sZipArchive;.private.static.$isW
70140 69 6e 64 6f 77 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 indows;..protected.$process;.pri
70160 76 61 74 65 20 24 7a 69 70 41 72 63 68 69 76 65 4f 62 6a 65 63 74 3b 0a 0a 70 75 62 6c 69 63 20 vate.$zipArchiveObject;..public.
70180 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 function.__construct(IOInterface
701a0 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 .$io,.Config.$config,.EventDispa
701c0 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 tcher.$eventDispatcher.=.null,.C
701e0 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 ache.$cache.=.null,.ProcessExecu
70200 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 tor.$process.=.null,.RemoteFiles
70220 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 ystem.$rfs.=.null).{.$this->proc
70240 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 ess.=.$process.?:.new.ProcessExe
70260 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 cutor($io);.parent::__construct(
70280 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 $io,.$config,.$eventDispatcher,.
702a0 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $cache,.$rfs);.}.....public.func
702c0 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 tion.download(PackageInterface.$
702e0 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a package,.$path,.$output.=.true).
70300 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 {.if.(null.===.self::$hasSystemU
70320 6e 7a 69 70 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 nzip).{.$finder.=.new.Executable
70340 46 69 6e 64 65 72 3b 0a 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 3d 20 Finder;.self::$hasSystemUnzip.=.
70360 28 62 6f 6f 6c 29 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 75 6e 7a 69 70 27 29 3b 0a 7d (bool).$finder->find('unzip');.}
70380 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 ..if.(null.===.self::$hasZipArch
703a0 69 76 65 29 20 7b 0a 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 3d 20 63 6c ive).{.self::$hasZipArchive.=.cl
703c0 61 73 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 3b 0a 7d 0a 0a 69 66 20 ass_exists('ZipArchive');.}..if.
703e0 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 73 65 6c 66 3a (!self::$hasZipArchive.&&.!self:
70400 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 73 61 67 :$hasSystemUnzip).{...$iniMessag
70420 65 20 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 65 72 e.=.IniHelper::getMessage();.$er
70440 72 6f 72 20 3d 20 22 54 68 65 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 75 6e 7a ror.=."The.zip.extension.and.unz
70460 69 70 20 63 6f 6d 6d 61 6e 64 20 61 72 65 20 62 6f 74 68 20 6d 69 73 73 69 6e 67 2c 20 73 6b 69 ip.command.are.both.missing,.ski
70480 70 70 69 6e 67 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 0a 74 68 72 6f 77 20 pping.\n"...$iniMessage;..throw.
704a0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d new.\RuntimeException($error);.}
704c0 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 ..if.(null.===.self::$isWindows)
704e0 20 7b 0a 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a .{.self::$isWindows.=.Platform::
70500 69 73 57 69 6e 64 6f 77 73 28 29 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 isWindows();..if.(!self::$isWind
70520 6f 77 73 20 26 26 20 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b ows.&&.!self::$hasSystemUnzip).{
70540 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 .$this->io->writeError("<warning
70560 3e 41 73 20 74 68 65 72 65 20 69 73 20 6e 6f 20 27 75 6e 7a 69 70 27 20 63 6f 6d 6d 61 6e 64 20 >As.there.is.no.'unzip'.command.
70580 69 6e 73 74 61 6c 6c 65 64 20 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 62 65 69 6e 67 20 75 6e installed.zip.files.are.being.un
705a0 70 61 63 6b 65 64 20 75 73 69 6e 67 20 74 68 65 20 50 48 50 20 7a 69 70 20 65 78 74 65 6e 73 69 packed.using.the.PHP.zip.extensi
705c0 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 on.</warning>");.$this->io->writ
705e0 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 54 68 69 73 20 6d 61 79 20 63 61 75 73 65 20 eError("<warning>This.may.cause.
70600 69 6e 76 61 6c 69 64 20 72 65 70 6f 72 74 73 20 6f 66 20 63 6f 72 72 75 70 74 65 64 20 61 72 63 invalid.reports.of.corrupted.arc
70620 68 69 76 65 73 2e 20 42 65 73 69 64 65 73 2c 20 61 6e 79 20 55 4e 49 58 20 70 65 72 6d 69 73 73 hives..Besides,.any.UNIX.permiss
70640 69 6f 6e 73 20 28 65 2e 67 2e 20 65 78 65 63 75 74 61 62 6c 65 29 20 64 65 66 69 6e 65 64 20 69 ions.(e.g..executable).defined.i
70660 6e 20 74 68 65 20 61 72 63 68 69 76 65 73 20 77 69 6c 6c 20 62 65 20 6c 6f 73 74 2e 3c 2f 77 61 n.the.archives.will.be.lost.</wa
70680 72 6e 69 6e 67 3e 22 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 rning>");.$this->io->writeError(
706a0 22 3c 77 61 72 6e 69 6e 67 3e 49 6e 73 74 61 6c 6c 69 6e 67 20 27 75 6e 7a 69 70 27 20 6d 61 79 "<warning>Installing.'unzip'.may
706c0 20 72 65 6d 65 64 69 61 74 65 20 74 68 65 6d 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 7d 0a .remediate.them.</warning>");.}.
706e0 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b }..return.parent::download($pack
70700 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a age,.$path,.$output);.}.........
70720 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 53 .protected.function.extractWithS
70740 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 ystemUnzip($file,.$path,.$isLast
70760 43 68 61 6e 63 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 Chance).{.if.(!self::$hasZipArch
70780 69 76 65 29 20 7b 0a 0a 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d ive).{...$isLastChance.=.true;.}
707a0 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 26 26 20 ..if.(!self::$hasSystemUnzip.&&.
707c0 21 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 !$isLastChance).{.....return.$th
707e0 69 73 2d 3e 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c is->extractWithZipArchive($file,
70800 20 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 .$path,.true);.}..$processError.
70820 3d 20 6e 75 6c 6c 3b 0a 0a 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 24 69 73 4c 61 73 74 43 68 =.null;...$overwrite.=.$isLastCh
70840 61 6e 63 65 20 3f 20 27 2d 6f 27 20 3a 20 27 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 ance.?.'-o'.:.'';..$command.=.'u
70860 6e 7a 69 70 20 2d 71 71 20 27 2e 24 6f 76 65 72 77 72 69 74 65 2e 27 20 27 2e 50 72 6f 63 65 73 nzip.-qq.'.$overwrite.'.'.Proces
70880 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 2e 27 20 2d 64 20 27 2e sExecutor::escape($file).'.-d.'.
708a0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 3b 0a ProcessExecutor::escape($path);.
708c0 0a 74 72 79 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d .try.{.if.(0.===.$this->process-
708e0 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 >execute($command,.$ignoredOutpu
70900 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 t)).{.return.true;.}..$processEr
70920 72 6f 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 ror.=.new.\RuntimeException('Fai
70940 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c led.to.execute.'...$command..."\
70960 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f n\n"...$this->process->getErrorO
70980 75 74 70 75 74 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 utput());.}.catch.(\Exception.$e
709a0 29 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 ).{.$processError.=.$e;.}..if.($
709c0 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 74 68 72 6f 77 20 24 70 72 6f 63 65 73 73 45 72 isLastChance).{.throw.$processEr
709e0 72 6f 72 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 ror;.}..$this->io->writeError('.
70a00 20 20 20 27 2e 24 70 72 6f 63 65 73 73 45 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 ...'.$processError->getMessage()
70a20 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 54 68 );.$this->io->writeError('....Th
70a40 65 20 61 72 63 68 69 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 69 63 61 6c 20 e.archive.may.contain.identical.
70a60 66 69 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 61 70 69 74 61 file.names.with.different.capita
70a80 6c 69 7a 61 74 69 6f 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 73 65 20 69 6e lization.(which.fails.on.case.in
70aa0 73 65 6e 73 69 74 69 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 27 29 3b 0a 24 74 68 69 73 2d sensitive.filesystems)');.$this-
70ac0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 >io->writeError('....Unzip.with.
70ae0 75 6e 7a 69 70 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 unzip.command.failed,.falling.ba
70b00 63 6b 20 74 6f 20 5a 69 70 41 72 63 68 69 76 65 20 63 6c 61 73 73 27 29 3b 0a 0a 72 65 74 75 72 ck.to.ZipArchive.class');..retur
70b20 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 n.$this->extractWithZipArchive($
70b40 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 file,.$path,.true);.}..........p
70b60 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 rotected.function.extractWithZip
70b80 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 43 68 61 Archive($file,.$path,.$isLastCha
70ba0 6e 63 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 nce).{.if.(!self::$hasSystemUnzi
70bc0 70 29 20 7b 0a 0a 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a p).{...$isLastChance.=.true;.}..
70be0 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 24 69 if.(!self::$hasZipArchive.&&.!$i
70c00 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d sLastChance).{.....return.$this-
70c20 3e 65 78 74 72 61 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 >extractWithSystemUnzip($file,.$
70c40 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 path,.true);.}..$processError.=.
70c60 6e 75 6c 6c 3b 0a 24 7a 69 70 41 72 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 7a 69 70 41 72 null;.$zipArchive.=.$this->zipAr
70c80 63 68 69 76 65 4f 62 6a 65 63 74 20 3f 3a 20 6e 65 77 20 5a 69 70 41 72 63 68 69 76 65 28 29 3b chiveObject.?:.new.ZipArchive();
70ca0 0a 0a 74 72 79 20 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 28 24 72 65 74 76 61 6c 20 3d 20 ..try.{.if.(true.===.($retval.=.
70cc0 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 6f 70 65 6e 28 24 66 69 6c 65 29 29 29 20 7b 0a 24 65 78 $zipArchive->open($file))).{.$ex
70ce0 74 72 61 63 74 52 65 73 75 6c 74 20 3d 20 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 65 78 74 72 61 tractResult.=.$zipArchive->extra
70d00 63 74 54 6f 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 65 78 74 72 ctTo($path);..if.(true.===.$extr
70d20 61 63 74 52 65 73 75 6c 74 29 20 7b 0a 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 65 28 actResult).{.$zipArchive->close(
70d40 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f );..return.true;.}..$processErro
70d60 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 69 6d 28 r.=.new.\RuntimeException(rtrim(
70d80 22 54 68 65 72 65 20 77 61 73 20 61 6e 20 65 72 72 6f 72 20 65 78 74 72 61 63 74 69 6e 67 20 74 "There.was.an.error.extracting.t
70da0 68 65 20 5a 49 50 20 66 69 6c 65 2c 20 69 74 20 69 73 20 65 69 74 68 65 72 20 63 6f 72 72 75 70 he.ZIP.file,.it.is.either.corrup
70dc0 74 65 64 20 6f 72 20 75 73 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 20 66 6f 72 6d 61 74 2e 5c ted.or.using.an.invalid.format.\
70de0 6e 22 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e n"));.}.else.{.$processError.=.n
70e00 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 ew.\UnexpectedValueException(rtr
70e20 69 6d 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 im($this->getErrorMessage($retva
70e40 6c 2c 20 24 66 69 6c 65 29 2e 22 5c 6e 22 29 2c 20 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 20 63 l,.$file)."\n"),.$retval);.}.}.c
70e60 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f atch.(\ErrorException.$e).{.$pro
70e80 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f cessError.=.new.\RuntimeExceptio
70ea0 6e 28 27 54 68 65 20 61 72 63 68 69 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 n('The.archive.may.contain.ident
70ec0 69 63 61 6c 20 66 69 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 ical.file.names.with.different.c
70ee0 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 apitalization.(which.fails.on.ca
70f00 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 3a 20 27 2e 24 se.insensitive.filesystems):.'.$
70f20 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 20 63 61 74 63 68 e->getMessage(),.0,.$e);.}.catch
70f40 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 .(\Exception.$e).{.$processError
70f60 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 74 .=.$e;.}..if.($isLastChance).{.t
70f80 68 72 6f 77 20 24 70 72 6f 63 65 73 73 45 72 72 6f 72 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f hrow.$processError;.}..$this->io
70fa0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 70 72 6f 63 65 73 73 45 72 72 6f ->writeError('....'.$processErro
70fc0 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 r->getMessage());.$this->io->wri
70fe0 74 65 45 72 72 6f 72 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 5a 69 70 41 72 63 68 69 teError('....Unzip.with.ZipArchi
71000 76 65 20 63 6c 61 73 73 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f ve.class.failed,.falling.back.to
71020 20 75 6e 7a 69 70 20 63 6f 6d 6d 61 6e 64 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .unzip.command');..return.$this-
71040 3e 65 78 74 72 61 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 >extractWithSystemUnzip($file,.$
71060 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e path,.true);.}........public.fun
71080 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 ction.extract($file,.$path).{...
710a0 69 66 20 28 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 if.(self::$isWindows).{.$this->e
710c0 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 xtractWithZipArchive($file,.$pat
710e0 68 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 h,.false);.}.else.{.$this->extra
71100 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 ctWithSystemUnzip($file,.$path,.
71120 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 false);.}.}.........protected.fu
71140 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c 20 nction.getErrorMessage($retval,.
71160 24 66 69 6c 65 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 72 65 74 76 61 6c 29 20 7b 0a 63 61 73 65 $file).{.switch.($retval).{.case
71180 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 45 58 49 53 54 53 3a 0a 72 65 74 75 72 6e 20 73 .ZipArchive::ER_EXISTS:.return.s
711a0 70 72 69 6e 74 66 28 22 46 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 printf("File.'%s'.already.exists
711c0 2e 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f .",.$file);.case.ZipArchive::ER_
711e0 49 4e 43 4f 4e 53 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 61 72 63 68 INCONS:.return.sprintf("Zip.arch
71200 69 76 65 20 27 25 73 27 20 69 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 2e 22 2c 20 24 66 69 6c ive.'%s'.is.inconsistent.",.$fil
71220 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 49 4e 56 41 4c 3a 0a 72 e);.case.ZipArchive::ER_INVAL:.r
71240 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 eturn.sprintf("Invalid.argument.
71260 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a (%s)",.$file);.case.ZipArchive::
71280 45 52 5f 4d 45 4d 4f 52 59 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 4d 61 6c 6c 6f ER_MEMORY:.return.sprintf("Mallo
712a0 63 20 66 61 69 6c 75 72 65 20 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 c.failure.(%s)",.$file);.case.Zi
712c0 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 45 4e 54 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e pArchive::ER_NOENT:.return.sprin
712e0 74 66 28 22 4e 6f 20 73 75 63 68 20 7a 69 70 20 66 69 6c 65 3a 20 27 25 73 27 22 2c 20 24 66 69 tf("No.such.zip.file:.'%s'",.$fi
71300 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 5a 49 50 3a 0a le);.case.ZipArchive::ER_NOZIP:.
71320 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 7a 69 return.sprintf("'%s'.is.not.a.zi
71340 70 20 61 72 63 68 69 76 65 2e 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 p.archive.",.$file);.case.ZipArc
71360 68 69 76 65 3a 3a 45 52 5f 4f 50 45 4e 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 43 hive::ER_OPEN:.return.sprintf("C
71380 61 6e 27 74 20 6f 70 65 6e 20 7a 69 70 20 66 69 6c 65 3a 20 25 73 22 2c 20 24 66 69 6c 65 29 3b an't.open.zip.file:.%s",.$file);
713a0 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 52 45 41 44 3a 0a 72 65 74 75 72 .case.ZipArchive::ER_READ:.retur
713c0 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 72 65 61 64 20 65 72 72 6f 72 20 28 25 73 29 22 2c n.sprintf("Zip.read.error.(%s)",
713e0 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 53 45 45 .$file);.case.ZipArchive::ER_SEE
71400 4b 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 73 65 65 6b 20 65 72 72 6f K:.return.sprintf("Zip.seek.erro
71420 72 20 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e r.(%s)",.$file);.default:.return
71440 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 7a 69 .sprintf("'%s'.is.not.a.valid.zi
71460 70 20 61 72 63 68 69 76 65 2c 20 67 6f 74 20 65 72 72 6f 72 20 63 6f 64 65 3a 20 25 73 22 2c 20 p.archive,.got.error.code:.%s",.
71480 24 66 69 6c 65 2c 20 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a $file,.$retval);.}.}.}.<?php....
714a0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 ........namespace.Composer\Event
714c0 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 0a 7b 0a Dispatcher;.......class.Event.{.
714e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ...protected.$name;.....protecte
71500 64 20 24 61 72 67 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6c 61 67 73 3b 0a 0a d.$args;.....protected.$flags;..
71520 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 20 3d ...private.$propagationStopped.=
71540 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .false;.........public.function.
71560 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d __construct($name,.array.$args.=
71580 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 .array(),.array.$flags.=.array()
715a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e ).{.$this->name.=.$name;.$this->
715c0 61 72 67 73 20 3d 20 24 61 72 67 73 3b 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c args.=.$args;.$this->flags.=.$fl
715e0 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ags;.}.......public.function.get
71600 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a Name().{.return.$this->name;.}..
71620 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 .....public.function.getArgument
71640 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 67 73 3b 0a 7d 0a 0a 0a 0a 0a s().{.return.$this->args;.}.....
71660 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6c 61 67 73 28 29 0a 7b 0a 72 ..public.function.getFlags().{.r
71680 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eturn.$this->flags;.}.......publ
716a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 ic.function.isPropagationStopped
716c0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 ().{.return.$this->propagationSt
716e0 6f 70 70 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f opped;.}.....public.function.sto
71700 70 50 72 6f 70 61 67 61 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 pPropagation().{.$this->propagat
71720 69 6f 6e 53 74 6f 70 70 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ionStopped.=.true;.}.}.<?php....
71740 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 ........namespace.Composer\Event
71760 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 Dispatcher;..use.Composer\Depend
71780 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 encyResolver\PolicyInterface;.us
717a0 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f e.Composer\DependencyResolver\Po
717c0 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c ol;.use.Composer\DependencyResol
717e0 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c ver\Request;.use.Composer\Instal
71800 6c 65 72 5c 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ler\InstallerEvent;.use.Composer
71820 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f \IO\IOInterface;.use.Composer\Co
71840 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 mposer;.use.Composer\DependencyR
71860 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 esolver\Operation\OperationInter
71880 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f face;.use.Composer\Repository\Co
718a0 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c mpositeRepository;.use.Composer\
718c0 53 63 72 69 70 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 Script;.use.Composer\Installer\P
718e0 61 63 6b 61 67 65 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c ackageEvent;.use.Composer\Instal
71900 6c 65 72 5c 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ler\BinaryInstaller;.use.Compose
71920 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 r\Util\ProcessExecutor;.use.Comp
71940 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 20 61 73 20 53 63 72 69 70 74 45 76 65 6e 74 oser\Script\Event.as.ScriptEvent
71960 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ;.use.Symfony\Component\Process\
71980 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a PhpExecutableFinder;............
719a0 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 0a 7b 0a 70 72 6f 74 65 ...class.EventDispatcher.{.prote
719c0 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 cted.$composer;.protected.$io;.p
719e0 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f rotected.$loader;.protected.$pro
71a00 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 70 72 69 76 cess;.protected.$listeners;.priv
71a20 61 74 65 20 24 65 76 65 6e 74 53 74 61 63 6b 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ate.$eventStack;.........public.
71a40 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 70 6f 73 65 72 20 24 63 function.__construct(Composer.$c
71a60 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 50 72 6f 63 65 73 omposer,.IOInterface.$io,.Proces
71a80 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 sExecutor.$process.=.null).{.$th
71aa0 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d is->composer.=.$composer;.$this-
71ac0 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f >io.=.$io;.$this->process.=.$pro
71ae0 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 cess.?:.new.ProcessExecutor($io)
71b00 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d ;.$this->eventStack.=.array();.}
71b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 ..........public.function.dispat
71b40 63 68 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 20 3d 20 6e 75 ch($eventName,.Event.$event.=.nu
71b60 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 76 65 6e 74 29 20 7b 0a 24 65 76 ll).{.if.(null.===.$event).{.$ev
71b80 65 6e 74 20 3d 20 6e 65 77 20 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 7d 0a 0a ent.=.new.Event($eventName);.}..
71ba0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 24 65 76 65 6e 74 29 return.$this->doDispatch($event)
71bc0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ;.}............public.function.d
71be0 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f ispatchScript($eventName,.$devMo
71c00 64 65 20 3d 20 66 61 6c 73 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 41 72 67 73 20 3d 20 61 72 de.=.false,.$additionalArgs.=.ar
71c20 72 61 79 28 29 2c 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 ray(),.$flags.=.array()).{.retur
71c40 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 53 63 72 69 70 74 5c 45 n.$this->doDispatch(new.Script\E
71c60 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 vent($eventName,.$this->composer
71c80 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 61 64 64 69 74 69 6f 6e ,.$this->io,.$devMode,.$addition
71ca0 61 6c 41 72 67 73 2c 20 24 66 6c 61 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a alArgs,.$flags));.}.............
71cc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 50 61 63 6b ....public.function.dispatchPack
71ce0 61 67 65 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 ageEvent($eventName,.$devMode,.P
71d00 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f olicyInterface.$policy,.Pool.$po
71d20 6f 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c ol,.CompositeRepository.$install
71d40 65 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 edRepo,.Request.$request,.array.
71d60 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 $operations,.OperationInterface.
71d80 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 $operation).{.return.$this->doDi
71da0 73 70 61 74 63 68 28 6e 65 77 20 50 61 63 6b 61 67 65 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 spatch(new.PackageEvent($eventNa
71dc0 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 me,.$this->composer,.$this->io,.
71de0 24 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 $devMode,.$policy,.$pool,.$insta
71e00 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c lledRepo,.$request,.$operations,
71e20 20 24 6f 70 65 72 61 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$operation));.}................
71e40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 public.function.dispatchInstalle
71e60 72 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c rEvent($eventName,.$devMode,.Pol
71e80 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c icyInterface.$policy,.Pool.$pool
71ea0 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 ,.CompositeRepository.$installed
71ec0 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f Repo,.Request.$request,.array.$o
71ee0 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 perations.=.array()).{.return.$t
71f00 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 his->doDispatch(new.InstallerEve
71f20 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 nt($eventName,.$this->composer,.
71f40 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 $this->io,.$devMode,.$policy,.$p
71f60 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 ool,.$installedRepo,.$request,.$
71f80 6f 70 65 72 61 74 69 6f 6e 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 operations));.}..........protect
71fa0 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 69 73 70 61 74 63 68 28 45 76 65 6e 74 20 24 65 76 ed.function.doDispatch(Event.$ev
71fc0 65 6e 74 29 0a 7b 0a 24 70 61 74 68 53 74 72 20 3d 20 27 50 41 54 48 27 3b 0a 69 66 20 28 21 69 ent).{.$pathStr.=.'PATH';.if.(!i
71fe0 73 73 65 74 28 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 69 73 73 65 sset($_SERVER[$pathStr]).&&.isse
72000 74 28 24 5f 53 45 52 56 45 52 5b 27 50 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 74 68 53 74 72 20 t($_SERVER['Path'])).{.$pathStr.
72020 3d 20 27 50 61 74 68 27 3b 0a 7d 0a 0a 0a 20 24 62 69 6e 44 69 72 20 3d 20 24 74 68 69 73 2d 3e =.'Path';.}....$binDir.=.$this->
72040 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d composer->getConfig()->get('bin-
72060 64 69 72 27 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 62 69 6e 44 69 72 29 29 20 7b 0a 24 62 dir');.if.(is_dir($binDir)).{.$b
72080 69 6e 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 62 69 6e 44 69 72 29 3b 0a 69 66 20 28 69 inDir.=.realpath($binDir);.if.(i
720a0 73 73 65 74 28 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 21 70 72 65 sset($_SERVER[$pathStr]).&&.!pre
720c0 67 5f 6d 61 74 63 68 28 27 7b 28 5e 7c 27 2e 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 27 29 g_match('{(^|'.PATH_SEPARATOR.')
720e0 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 69 6e 44 69 72 29 2e 27 28 24 7c 27 2e 50 41 54 48 '.preg_quote($binDir).'($|'.PATH
72100 5f 53 45 50 41 52 41 54 4f 52 2e 27 29 7d 27 2c 20 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 _SEPARATOR.')}',.$_SERVER[$pathS
72120 74 72 5d 29 29 20 7b 0a 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 20 3d 20 24 62 69 tr])).{.$_SERVER[$pathStr].=.$bi
72140 6e 44 69 72 2e 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 67 65 74 65 6e 76 28 24 70 61 74 68 nDir.PATH_SEPARATOR.getenv($path
72160 53 74 72 29 3b 0a 70 75 74 65 6e 76 28 24 70 61 74 68 53 74 72 2e 27 3d 27 2e 24 5f 53 45 52 56 Str);.putenv($pathStr.'='.$_SERV
72180 45 52 5b 24 70 61 74 68 53 74 72 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d ER[$pathStr]);.}.}..$listeners.=
721a0 20 24 74 68 69 73 2d 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 24 .$this->getListeners($event);..$
721c0 74 68 69 73 2d 3e 70 75 73 68 45 76 65 6e 74 28 24 65 76 65 6e 74 29 3b 0a 0a 24 72 65 74 75 72 this->pushEvent($event);..$retur
721e0 6e 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 73 74 65 6e 65 72 73 20 61 73 20 24 63 n.=.0;.foreach.($listeners.as.$c
72200 61 6c 6c 61 62 6c 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 6c 6c 61 allable).{.if.(!is_string($calla
72220 62 6c 65 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 61 6c 6c 61 62 ble)).{.if.(!is_callable($callab
72240 6c 65 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 63 le)).{.$className.=.is_object($c
72260 61 6c 6c 61 62 6c 65 5b 30 5d 29 20 3f 20 67 65 74 5f 63 6c 61 73 73 28 24 63 61 6c 6c 61 62 6c allable[0]).?.get_class($callabl
72280 65 5b 30 5d 29 20 3a 20 24 63 61 6c 6c 61 62 6c 65 5b 30 5d 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 e[0]).:.$callable[0];..throw.new
722a0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 75 62 73 63 72 69 62 65 72 20 27 .\RuntimeException('Subscriber.'
722c0 2e 24 63 6c 61 73 73 4e 61 6d 65 2e 27 3a 3a 27 2e 24 63 61 6c 6c 61 62 6c 65 5b 31 5d 2e 27 20 .$className.'::'.$callable[1].'.
722e0 66 6f 72 20 65 76 65 6e 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 for.event.'.$event->getName().'.
72300 69 73 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 66 is.not.callable,.make.sure.the.f
72320 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 6e 64 20 70 75 62 6c 69 63 27 29 3b unction.is.defined.and.public');
72340 0a 7d 0a 24 65 76 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 .}.$event.=.$this->checkListener
72360 45 78 70 65 63 74 65 64 45 76 65 6e 74 28 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 ExpectedEvent($callable,.$event)
72380 3b 0a 24 72 65 74 75 72 6e 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 63 61 6c 6c 5f 75 73 65 72 5f ;.$return.=.false.===.call_user_
723a0 66 75 6e 63 28 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b func($callable,.$event).?.1.:.0;
723c0 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 43 6f 6d 70 6f 73 65 72 53 63 72 69 .}.elseif.($this->isComposerScri
723e0 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 pt($callable)).{.$this->io->writ
72400 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e eError(sprintf('>.%s:.%s',.$even
72420 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 t->getName(),.$callable),.true,.
72440 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 24 73 63 72 69 70 74 20 IOInterface::VERBOSE);..$script.
72460 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c =.explode('.',.substr($callable,
72480 20 31 29 29 3b 0a 24 73 63 72 69 70 74 4e 61 6d 65 20 3d 20 24 73 63 72 69 70 74 5b 30 5d 3b 0a .1));.$scriptName.=.$script[0];.
724a0 75 6e 73 65 74 28 24 73 63 72 69 70 74 5b 30 5d 29 3b 0a 0a 24 61 72 67 73 20 3d 20 61 72 72 61 unset($script[0]);..$args.=.arra
724c0 79 5f 6d 65 72 67 65 28 24 73 63 72 69 70 74 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 y_merge($script,.$event->getArgu
724e0 6d 65 6e 74 73 28 29 29 3b 0a 24 66 6c 61 67 73 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 46 6c ments());.$flags.=.$event->getFl
72500 61 67 73 28 29 3b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 ags();.if.(substr($callable,.0,.
72520 31 30 29 20 3d 3d 3d 20 27 40 63 6f 6d 70 6f 73 65 72 20 27 29 20 7b 0a 24 65 78 65 63 20 3d 20 10).===.'@composer.').{.$exec.=.
72540 24 74 68 69 73 2d 3e 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 20 2e 20 27 20 27 $this->getPhpExecCommand()...'.'
72560 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 67 65 74 65 6e ...ProcessExecutor::escape(geten
72580 76 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 41 52 59 27 29 29 20 2e 20 73 75 62 73 74 72 28 24 v('COMPOSER_BINARY'))...substr($
725a0 63 61 6c 6c 61 62 6c 65 2c 20 39 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f callable,.9);.if.(0.!==.($exitCo
725c0 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 65 78 de.=.$this->process->execute($ex
725e0 65 63 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 ec))).{.$this->io->writeError(sp
72600 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 rintf('<error>Script.%s.handling
72620 20 74 68 65 20 25 73 20 65 76 65 6e 74 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 72 72 6f .the.%s.event.returned.with.erro
72640 72 20 63 6f 64 65 20 27 2e 24 65 78 69 74 43 6f 64 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 r.code.'.$exitCode.'</error>',.$
72660 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 callable,.$event->getName()),.tr
72680 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 74 68 72 6f 77 20 ue,.IOInterface::QUIET);..throw.
726a0 6e 65 77 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 45 72 new.ScriptExecutionException('Er
726c0 72 6f 72 20 4f 75 74 70 75 74 3a 20 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 ror.Output:.'.$this->process->ge
726e0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 20 tErrorOutput(),.$exitCode);.}.}.
72700 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 else.{.if.(!$this->getListeners(
72720 6e 65 77 20 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 29 29 29 20 7b 0a 24 74 68 69 73 new.Event($scriptName))).{.$this
72740 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 ->io->writeError(sprintf('<warni
72760 6e 67 3e 59 6f 75 20 6d 61 64 65 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 6e 6f 6e ng>You.made.a.reference.to.a.non
72780 2d 65 78 69 73 74 65 6e 74 20 73 63 72 69 70 74 20 25 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 -existent.script.%s</warning>',.
727a0 24 63 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 $callable),.true,.IOInterface::Q
727c0 55 49 45 54 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 74 75 72 6e 20 3d 20 24 74 68 69 73 2d UIET);.}..try.{.$return.=.$this-
727e0 3e 64 69 73 70 61 74 63 68 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 6e 65 77 20 53 63 72 69 70 >dispatch($scriptName,.new.Scrip
72800 74 5c 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 t\Event($scriptName,.$event->get
72820 43 6f 6d 70 6f 73 65 72 28 29 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 20 24 65 76 Composer(),.$event->getIO(),.$ev
72840 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 20 24 61 72 67 73 2c 20 24 66 6c 61 67 73 29 ent->isDevMode(),.$args,.$flags)
72860 29 3b 0a 7d 20 63 61 74 63 68 20 28 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 );.}.catch.(ScriptExecutionExcep
72880 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 tion.$e).{.$this->io->writeError
728a0 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 20 77 61 73 20 63 (sprintf('<error>Script.%s.was.c
728c0 61 6c 6c 65 64 20 76 69 61 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 6c 6c 61 62 6c 65 alled.via.%s</error>',.$callable
728e0 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e ,.$event->getName()),.true,.IOIn
72900 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d terface::QUIET);.throw.$e;.}.}.}
72920 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 68 70 53 63 72 69 70 74 28 24 63 61 6c .elseif.($this->isPhpScript($cal
72940 6c 61 62 6c 65 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 lable)).{.$className.=.substr($c
72960 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a allable,.0,.strpos($callable,.':
72980 3a 27 29 29 3b 0a 24 6d 65 74 68 6f 64 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 61 6c 6c :'));.$methodName.=.substr($call
729a0 61 62 6c 65 2c 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 20 2b 20 able,.strpos($callable,.'::').+.
729c0 32 29 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4e 61 6d 2);..if.(!class_exists($classNam
729e0 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 e)).{.$this->io->writeError('<wa
72a00 72 6e 69 6e 67 3e 43 6c 61 73 73 20 27 2e 24 63 6c 61 73 73 4e 61 6d 65 2e 27 20 69 73 20 6e 6f rning>Class.'.$className.'.is.no
72a20 74 20 61 75 74 6f 6c 6f 61 64 61 62 6c 65 2c 20 63 61 6e 20 6e 6f 74 20 63 61 6c 6c 20 27 2e 24 t.autoloadable,.can.not.call.'.$
72a40 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 69 70 74 3c 2f 77 61 72 6e 69 event->getName().'.script</warni
72a60 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b ng>',.true,.IOInterface::QUIET);
72a80 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 .continue;.}.if.(!is_callable($c
72aa0 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f allable)).{.$this->io->writeErro
72ac0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4d 65 74 68 6f 64 20 27 2e 24 63 61 6c 6c 61 62 6c 65 2e 27 r('<warning>Method.'.$callable.'
72ae0 20 69 73 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2c 20 63 61 6e 20 6e 6f 74 20 63 61 6c 6c 20 27 .is.not.callable,.can.not.call.'
72b00 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 69 70 74 3c 2f 77 61 72 .$event->getName().'.script</war
72b20 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 ning>',.true,.IOInterface::QUIET
72b40 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 74 75 72 6e 20 3d 20 );.continue;.}..try.{.$return.=.
72b60 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 45 76 65 6e 74 50 68 70 false.===.$this->executeEventPhp
72b80 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 Script($className,.$methodName,.
72ba0 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 $event).?.1.:.0;.}.catch.(\Excep
72bc0 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 53 63 72 69 70 74 20 25 73 tion.$e).{.$message.=."Script.%s
72be0 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 25 73 20 65 76 65 6e 74 20 74 65 72 6d 69 6e 61 74 65 .handling.the.%s.event.terminate
72c00 64 20 77 69 74 68 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 22 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d d.with.an.exception";.$this->io-
72c20 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 73 70 72 69 6e 74 66 28 24 6d >writeError('<error>'.sprintf($m
72c40 65 73 73 61 67 65 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 essage,.$callable,.$event->getNa
72c60 6d 65 28 29 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 me()).'</error>',.true,.IOInterf
72c80 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 ace::QUIET);.throw.$e;.}.}.else.
72ca0 7b 0a 24 61 72 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 {.$args.=.implode('.',.array_map
72cc0 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 (array('Composer\Util\ProcessExe
72ce0 63 75 74 6f 72 27 2c 20 27 65 73 63 61 70 65 27 29 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 cutor',.'escape'),.$event->getAr
72d00 67 75 6d 65 6e 74 73 28 29 29 29 3b 0a 24 65 78 65 63 20 3d 20 24 63 61 6c 6c 61 62 6c 65 20 2e guments()));.$exec.=.$callable..
72d20 20 28 24 61 72 67 73 20 3d 3d 3d 20 27 27 20 3f 20 27 27 20 3a 20 27 20 27 2e 24 61 72 67 73 29 .($args.===.''.?.''.:.'.'.$args)
72d40 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a ;.if.($this->io->isVerbose()).{.
72d60 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e $this->io->writeError(sprintf('>
72d80 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 65 78 .%s:.%s',.$event->getName(),.$ex
72da0 65 63 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ec));.}.else.{.$this->io->writeE
72dc0 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 27 2c 20 24 65 78 65 63 29 29 3b 0a 7d 0a rror(sprintf('>.%s',.$exec));.}.
72de0 0a 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c 42 69 6e 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d .$possibleLocalBinaries.=.$this-
72e00 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 42 69 6e 61 >composer->getPackage()->getBina
72e20 72 69 65 73 28 29 3b 0a 69 66 20 28 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c 42 69 6e 61 72 69 ries();.if.($possibleLocalBinari
72e40 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c 42 69 6e es).{.foreach.($possibleLocalBin
72e60 61 72 69 65 73 20 61 73 20 24 6c 6f 63 61 6c 45 78 65 63 29 20 7b 0a 69 66 20 28 70 72 65 67 5f aries.as.$localExec).{.if.(preg_
72e80 6d 61 74 63 68 28 27 7b 5c 62 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 61 6c 6c 61 62 6c 65 match('{\b'.preg_quote($callable
72ea0 29 2e 27 24 7d 27 2c 20 24 6c 6f 63 61 6c 45 78 65 63 29 29 20 7b 0a 24 63 61 6c 6c 65 72 20 3d ).'$}',.$localExec)).{.$caller.=
72ec0 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3a 3a 64 65 74 65 72 6d 69 6e 65 42 69 6e 61 72 .BinaryInstaller::determineBinar
72ee0 79 43 61 6c 6c 65 72 28 24 6c 6f 63 61 6c 45 78 65 63 29 3b 0a 24 65 78 65 63 20 3d 20 70 72 65 yCaller($localExec);.$exec.=.pre
72f00 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 61 6c 6c 61 g_replace('{^'.preg_quote($calla
72f20 62 6c 65 29 2e 27 7d 27 2c 20 24 63 61 6c 6c 65 72 20 2e 20 27 20 27 20 2e 20 24 6c 6f 63 61 6c ble).'}',.$caller...'.'...$local
72f40 45 78 65 63 2c 20 24 65 78 65 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 Exec,.$exec);.break;.}.}.}..if.(
72f60 73 75 62 73 74 72 28 24 65 78 65 63 2c 20 30 2c 20 35 29 20 3d 3d 3d 20 27 40 70 68 70 20 27 29 substr($exec,.0,.5).===.'@php.')
72f80 20 7b 0a 24 65 78 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d .{.$exec.=.$this->getPhpExecComm
72fa0 61 6e 64 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 24 65 78 65 63 2c 20 35 29 3b 0a and()...'.'...substr($exec,.5);.
72fc0 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d }..if.(0.!==.($exitCode.=.$this-
72fe0 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 65 78 65 63 29 29 29 20 7b 0a 24 74 68 >process->execute($exec))).{.$th
73000 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 is->io->writeError(sprintf('<err
73020 6f 72 3e 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 25 73 20 65 76 65 or>Script.%s.handling.the.%s.eve
73040 6e 74 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 72 72 6f 72 20 63 6f 64 65 20 27 2e 24 65 nt.returned.with.error.code.'.$e
73060 78 69 74 43 6f 64 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 xitCode.'</error>',.$callable,.$
73080 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 event->getName()),.true,.IOInter
730a0 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 53 63 72 69 70 74 45 face::QUIET);..throw.new.ScriptE
730c0 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 4f 75 74 70 75 74 3a xecutionException('Error.Output:
730e0 20 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 .'.$this->process->getErrorOutpu
73100 74 28 29 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 65 76 65 6e 74 t(),.$exitCode);.}.}..if.($event
73120 2d 3e 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 28 29 29 20 7b 0a 62 72 65 61 ->isPropagationStopped()).{.brea
73140 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 6f 70 45 76 65 6e 74 28 29 3b 0a 0a 72 65 74 75 k;.}.}..$this->popEvent();..retu
73160 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f rn.$return;.}..protected.functio
73180 6e 20 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 24 66 69 6e 64 65 72 20 n.getPhpExecCommand().{.$finder.
731a0 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 24 70 68 =.new.PhpExecutableFinder();.$ph
731c0 70 50 61 74 68 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 66 61 6c 73 65 29 3b 0a 69 66 pPath.=.$finder->find(false);.if
731e0 20 28 21 24 70 68 70 50 61 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d .(!$phpPath).{.throw.new.\Runtim
73200 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 63 61 74 65 20 50 48 50 eException('Failed.to.locate.PHP
73220 20 62 69 6e 61 72 79 20 74 6f 20 65 78 65 63 75 74 65 20 27 2e 24 70 68 70 50 61 74 68 29 3b 0a .binary.to.execute.'.$phpPath);.
73240 7d 0a 24 70 68 70 41 72 67 73 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 41 72 67 75 6d 65 }.$phpArgs.=.$finder->findArgume
73260 6e 74 73 28 29 3b 0a 24 70 68 70 41 72 67 73 20 3d 20 24 70 68 70 41 72 67 73 20 3f 20 27 20 27 nts();.$phpArgs.=.$phpArgs.?.'.'
73280 20 2e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 68 70 41 72 67 73 29 20 3a 20 27 27 3b 0a ...implode('.',.$phpArgs).:.'';.
732a0 24 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 3d 20 27 20 2d 64 20 61 6c 6c 6f 77 5f $allowUrlFOpenFlag.=.'.-d.allow_
732c0 75 72 6c 5f 66 6f 70 65 6e 3d 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 url_fopen='...ProcessExecutor::e
732e0 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 29 scape(ini_get('allow_url_fopen')
73300 29 3b 0a 24 64 69 73 61 62 6c 65 46 75 6e 63 74 69 6f 6e 73 46 6c 61 67 20 3d 20 27 20 2d 64 20 );.$disableFunctionsFlag.=.'.-d.
73320 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 3d 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 disable_functions='...ProcessExe
73340 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 64 69 73 61 62 6c 65 5f 66 cutor::escape(ini_get('disable_f
73360 75 6e 63 74 69 6f 6e 73 27 29 29 3b 0a 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 46 6c 61 67 20 3d 20 unctions'));.$memoryLimitFlag.=.
73380 27 20 2d 64 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 3d 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 '.-d.memory_limit='...ProcessExe
733a0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 cutor::escape(ini_get('memory_li
733c0 6d 69 74 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a mit'));..return.ProcessExecutor:
733e0 3a 65 73 63 61 70 65 28 24 70 68 70 50 61 74 68 29 20 2e 20 24 70 68 70 41 72 67 73 20 2e 20 24 :escape($phpPath)...$phpArgs...$
73400 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 2e 20 24 64 69 73 61 62 6c 65 46 75 6e 63 allowUrlFOpenFlag...$disableFunc
73420 74 69 6f 6e 73 46 6c 61 67 20 2e 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 46 6c 61 67 3b 0a 7d 0a tionsFlag...$memoryLimitFlag;.}.
73440 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 ......protected.function.execute
73460 45 76 65 6e 74 50 68 70 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 EventPhpScript($className,.$meth
73480 6f 64 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 65 76 65 6e 74 20 3d odName,.Event.$event).{.$event.=
734a0 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 64 45 76 65 .$this->checkListenerExpectedEve
734c0 6e 74 28 61 72 72 61 79 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 nt(array($className,.$methodName
734e0 29 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 ),.$event);..if.($this->io->isVe
73500 72 62 6f 73 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 rbose()).{.$this->io->writeError
73520 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 3a 3a 25 73 27 2c 20 24 65 76 65 6e 74 2d (sprintf('>.%s:.%s::%s',.$event-
73540 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e >getName(),.$className,.$methodN
73560 61 6d 65 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ame));.}.else.{.$this->io->write
73580 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 3a 25 73 27 2c 20 24 63 6c 61 73 73 Error(sprintf('>.%s::%s',.$class
735a0 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 Name,.$methodName));.}..return.$
735c0 63 6c 61 73 73 4e 61 6d 65 3a 3a 24 6d 65 74 68 6f 64 4e 61 6d 65 28 24 65 76 65 6e 74 29 3b 0a className::$methodName($event);.
735e0 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b }.......protected.function.check
73600 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 64 45 76 65 6e 74 28 24 74 61 72 67 65 74 2c 20 45 ListenerExpectedEvent($target,.E
73620 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 76 65 vent.$event).{.if.(in_array($eve
73640 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 61 72 72 61 79 28 0a 27 69 6e 69 74 27 2c 0a 27 63 nt->getName(),.array(.'init',.'c
73660 6f 6d 6d 61 6e 64 27 2c 0a 27 70 72 65 2d 66 69 6c 65 2d 64 6f 77 6e 6c 6f 61 64 27 2c 0a 29 2c ommand',.'pre-file-download',.),
73680 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a 0a 74 72 79 20 .true)).{.return.$event;.}..try.
736a0 7b 0a 24 72 65 66 6c 65 63 74 65 64 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 61 {.$reflected.=.new.\ReflectionPa
736c0 72 61 6d 65 74 65 72 28 24 74 61 72 67 65 74 2c 20 30 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 rameter($target,.0);.}.catch.(\E
736e0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a xception.$e).{.return.$event;.}.
73700 0a 24 74 79 70 65 68 69 6e 74 20 3d 20 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 43 6c 61 73 .$typehint.=.$reflected->getClas
73720 73 28 29 3b 0a 0a 69 66 20 28 21 24 74 79 70 65 68 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 s();..if.(!$typehint.instanceof.
73740 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e \ReflectionClass).{.return.$even
73760 74 3b 0a 7d 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 24 74 79 70 65 68 69 6e 74 2d 3e 67 65 74 t;.}..$expected.=.$typehint->get
73780 4e 61 6d 65 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f Name();....if.(!$event.instanceo
737a0 66 20 24 65 78 70 65 63 74 65 64 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f f.$expected.&&.$expected.===.'Co
737c0 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 27 29 20 7b 0a 74 mposer\Script\CommandEvent').{.t
737e0 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 rigger_error('The.callback.'.$th
73800 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 is->serializeCallback($target).'
73820 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 .declared.at.'.$reflected->getDe
73840 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 claringFunction()->getFileName()
73860 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 .'.accepts.a.'.$expected.'.but.'
73880 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 .$event->getName().'.events.use.
738a0 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 a.'.get_class($event).'.instance
738c0 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 ..Please.adjust.your.type.hint.a
738e0 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ccordingly,.see.https://getcompo
73900 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 ser.org/doc/articles/scripts.md#
73920 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 event-classes',.E_USER_DEPRECATE
73940 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 D);.$event.=.new.\Composer\Scrip
73960 74 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 t\CommandEvent(.$event->getName(
73980 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 ),.$event->getComposer(),.$event
739a0 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a ->getIO(),.$event->isDevMode(),.
739c0 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 29 3b 0a 7d 0a 69 66 20 28 $event->getArguments().);.}.if.(
739e0 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 65 63 74 65 64 20 26 26 20 !$event.instanceof.$expected.&&.
73a00 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 50 $expected.===.'Composer\Script\P
73a20 61 63 6b 61 67 65 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 ackageEvent').{.trigger_error('T
73a40 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 he.callback.'.$this->serializeCa
73a60 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e llback($target).'.declared.at.'.
73a80 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e $reflected->getDeclaringFunction
73aa0 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e ()->getFileName().'.accepts.a.'.
73ac0 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d $expected.'.but.'.$event->getNam
73ae0 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 e().'.events.use.a.'.get_class($
73b00 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 event).'.instance..Please.adjust
73b20 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 .your.type.hint.accordingly,.see
73b40 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 .https://getcomposer.org/doc/art
73b60 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c icles/scripts.md#event-classes',
73b80 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 .E_USER_DEPRECATED);.$event.=.ne
73ba0 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 28 w.\Composer\Script\PackageEvent(
73bc0 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 .$event->getName(),.$event->getC
73be0 6f 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 omposer(),.$event->getIO(),.$eve
73c00 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 50 6f 6c 69 nt->isDevMode(),.$event->getPoli
73c20 63 79 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 50 6f 6f 6c 28 29 2c 0a 24 65 76 65 6e 74 2d cy(),.$event->getPool(),.$event-
73c40 3e 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 >getInstalledRepo(),.$event->get
73c60 52 65 71 75 65 73 74 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 Request(),.$event->getOperations
73c80 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 28 29 0a 29 3b 0a 7d 0a (),.$event->getOperation().);.}.
73ca0 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 65 63 74 65 64 if.(!$event.instanceof.$expected
73cc0 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 .&&.$expected.===.'Composer\Scri
73ce0 70 74 5c 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 pt\Event').{.trigger_error('The.
73d00 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 callback.'.$this->serializeCallb
73d20 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e 24 72 65 ack($target).'.declared.at.'.$re
73d40 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e 28 29 2d flected->getDeclaringFunction()-
73d60 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e 24 65 78 >getFileName().'.accepts.a.'.$ex
73d80 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 pected.'.but.'.$event->getName()
73da0 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 76 65 .'.events.use.a.'.get_class($eve
73dc0 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 20 79 6f nt).'.instance..Please.adjust.yo
73de0 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 20 68 74 ur.type.hint.accordingly,.see.ht
73e00 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c tps://getcomposer.org/doc/articl
73e20 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c 20 45 5f es/scripts.md#event-classes',.E_
73e40 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 5c USER_DEPRECATED);.$event.=.new.\
73e60 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d 3e 67 Composer\Script\Event(.$event->g
73e80 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c etName(),.$event->getComposer(),
73ea0 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d .$event->getIO(),.$event->isDevM
73ec0 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 2c 0a 24 ode(),.$event->getArguments(),.$
73ee0 65 76 65 6e 74 2d 3e 67 65 74 46 6c 61 67 73 28 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 event->getFlags().);.}..return.$
73f00 65 76 65 6e 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 72 69 61 event;.}..private.function.seria
73f20 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 63 62 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 lizeCallback($cb).{.if.(is_array
73f40 28 24 63 62 29 20 26 26 20 63 6f 75 6e 74 28 24 63 62 29 20 3d 3d 3d 20 32 29 20 7b 0a 69 66 20 ($cb).&&.count($cb).===.2).{.if.
73f60 28 69 73 5f 6f 62 6a 65 63 74 28 24 63 62 5b 30 5d 29 29 20 7b 0a 24 63 62 5b 30 5d 20 3d 20 67 (is_object($cb[0])).{.$cb[0].=.g
73f80 65 74 5f 63 6c 61 73 73 28 24 63 62 5b 30 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 73 74 72 69 6e et_class($cb[0]);.}.if.(is_strin
73fa0 67 28 24 63 62 5b 30 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 62 5b 31 5d 29 29 20 g($cb[0]).&&.is_string($cb[1])).
73fc0 7b 0a 24 63 62 20 3d 20 69 6d 70 6c 6f 64 65 28 27 3a 3a 27 2c 20 24 63 62 29 3b 0a 7d 0a 7d 0a {.$cb.=.implode('::',.$cb);.}.}.
73fe0 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 63 62 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 62 if.(is_string($cb)).{.return.$cb
74000 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 62 2c 20 74 72 75 65 ;.}..return.var_export($cb,.true
74020 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 );.}.........public.function.add
74040 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 6c 69 73 74 65 6e 65 72 2c 20 Listener($eventName,.$listener,.
74060 24 70 72 69 6f 72 69 74 79 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 $priority.=.0).{.$this->listener
74080 73 5b 24 65 76 65 6e 74 4e 61 6d 65 5d 5b 24 70 72 69 6f 72 69 74 79 5d 5b 5d 20 3d 20 24 6c 69 s[$eventName][$priority][].=.$li
740a0 73 74 65 6e 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f stener;.}.........public.functio
740c0 6e 20 61 64 64 53 75 62 73 63 72 69 62 65 72 28 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 n.addSubscriber(EventSubscriberI
740e0 6e 74 65 72 66 61 63 65 20 24 73 75 62 73 63 72 69 62 65 72 29 0a 7b 0a 66 6f 72 65 61 63 68 20 nterface.$subscriber).{.foreach.
74100 28 24 73 75 62 73 63 72 69 62 65 72 2d 3e 67 65 74 53 75 62 73 63 72 69 62 65 64 45 76 65 6e 74 ($subscriber->getSubscribedEvent
74120 73 28 29 20 61 73 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 3e 20 24 70 61 72 61 6d 73 29 20 7b 0a s().as.$eventName.=>.$params).{.
74140 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d if.(is_string($params)).{.$this-
74160 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 >addListener($eventName,.array($
74180 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 subscriber,.$params));.}.elseif.
741a0 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d (is_string($params[0])).{.$this-
741c0 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 >addListener($eventName,.array($
741e0 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 5b 30 5d 29 2c 20 69 73 73 65 74 28 24 subscriber,.$params[0]),.isset($
74200 70 61 72 61 6d 73 5b 31 5d 29 20 3f 20 24 70 61 72 61 6d 73 5b 31 5d 20 3a 20 30 29 3b 0a 7d 20 params[1]).?.$params[1].:.0);.}.
74220 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 72 61 6d 73 20 61 73 20 24 6c 69 73 74 else.{.foreach.($params.as.$list
74240 65 6e 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e ener).{.$this->addListener($even
74260 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 73 75 62 73 63 72 69 62 65 72 2c 20 24 6c 69 73 74 65 tName,.array($subscriber,.$liste
74280 6e 65 72 5b 30 5d 29 2c 20 69 73 73 65 74 28 24 6c 69 73 74 65 6e 65 72 5b 31 5d 29 20 3f 20 24 ner[0]),.isset($listener[1]).?.$
742a0 6c 69 73 74 65 6e 65 72 5b 31 5d 20 3a 20 30 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a listener[1].:.0);.}.}.}.}.......
742c0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 73 74 65 6e 65 72 73 .protected.function.getListeners
742e0 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 73 63 72 69 70 74 4c 69 73 74 65 6e 65 72 (Event.$event).{.$scriptListener
74300 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 72 69 70 74 4c 69 73 74 65 6e 65 72 73 28 24 65 s.=.$this->getScriptListeners($e
74320 76 65 6e 74 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e vent);..if.(!isset($this->listen
74340 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 29 29 20 7b 0a 24 74 ers[$event->getName()][0])).{.$t
74360 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 his->listeners[$event->getName()
74380 5d 5b 30 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 6b 72 73 6f 72 74 28 24 74 68 69 73 2d 3e ][0].=.array();.}.krsort($this->
743a0 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 0a listeners[$event->getName()]);..
743c0 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 3b 0a 24 $listeners.=.$this->listeners;.$
743e0 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 20 listeners[$event->getName()][0].
74400 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d =.array_merge($listeners[$event-
74420 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 2c 20 24 73 63 72 69 70 74 4c 69 73 74 65 6e 65 72 73 >getName()][0],.$scriptListeners
74440 29 3b 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 );..return.call_user_func_array(
74460 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 'array_merge',.$listeners[$event
74480 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ->getName()]);.}........public.f
744a0 75 6e 63 74 69 6f 6e 20 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 45 76 65 6e 74 20 unction.hasEventListeners(Event.
744c0 24 65 76 65 6e 74 29 0a 7b 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 $event).{.$listeners.=.$this->ge
744e0 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e tListeners($event);..return.coun
74500 74 28 24 6c 69 73 74 65 6e 65 72 73 29 20 3e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 t($listeners).>.0;.}........prot
74520 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 4c 69 73 74 65 6e 65 72 ected.function.getScriptListener
74540 73 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 s(Event.$event).{.$package.=.$th
74560 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 73 63 72 is->composer->getPackage();.$scr
74580 69 70 74 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a 0a ipts.=.$package->getScripts();..
745a0 69 66 20 28 65 6d 70 74 79 28 24 73 63 72 69 70 74 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 if.(empty($scripts[$event->getNa
745c0 6d 65 28 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 me()])).{.return.array();.}..if.
745e0 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d ($this->loader).{.$this->loader-
74600 3e 75 6e 72 65 67 69 73 74 65 72 28 29 3b 0a 7d 0a 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 >unregister();.}..$generator.=.$
74620 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 this->composer->getAutoloadGener
74640 61 74 6f 72 28 29 3b 0a 69 66 20 28 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 63 ator();.if.($event.instanceof.Sc
74660 72 69 70 74 45 76 65 6e 74 29 20 7b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 76 4d riptEvent).{.$generator->setDevM
74680 6f 64 65 28 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 29 3b 0a 7d 0a 0a 24 70 61 ode($event->isDevMode());.}..$pa
746a0 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 ckages.=.$this->composer->getRep
746c0 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 ositoryManager()->getLocalReposi
746e0 74 6f 72 79 28 29 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a tory()->getCanonicalPackages();.
74700 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 62 75 69 6c 64 50 $packageMap.=.$generator->buildP
74720 61 63 6b 61 67 65 4d 61 70 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e ackageMap($this->composer->getIn
74740 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 stallationManager(),.$package,.$
74760 70 61 63 6b 61 67 65 73 29 3b 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 70 61 packages);.$map.=.$generator->pa
74780 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 70 61 63 6b 61 rseAutoloads($packageMap,.$packa
747a0 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d ge);.$this->loader.=.$generator-
747c0 3e 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 >createLoader($map);.$this->load
747e0 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 63 72 69 70 74 73 er->register();..return.$scripts
74800 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 [$event->getName()];.}........pr
74820 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 68 70 53 63 72 69 70 74 28 24 63 61 otected.function.isPhpScript($ca
74840 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f llable).{.return.false.===.strpo
74860 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 20 27 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 s($callable,.'.').&&.false.!==.s
74880 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a trpos($callable,.'::');.}.......
748a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6d 70 6f 73 65 72 53 63 .protected.function.isComposerSc
748c0 72 69 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 40 27 20 3d 3d 3d ript($callable).{.return.'@'.===
748e0 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 31 29 20 26 26 20 27 40 70 68 .substr($callable,.0,.1).&&.'@ph
74900 70 20 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 35 29 3b p.'.!==.substr($callable,.0,.5);
74920 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 75 .}.........protected.function.pu
74940 73 68 45 76 65 6e 74 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 65 76 65 6e 74 4e 61 shEvent(Event.$event).{.$eventNa
74960 6d 65 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 69 6e 5f 61 me.=.$event->getName();.if.(in_a
74980 72 72 61 79 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 rray($eventName,.$this->eventSta
749a0 63 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ck)).{.throw.new.\RuntimeExcepti
749c0 6f 6e 28 73 70 72 69 6e 74 66 28 22 43 69 72 63 75 6c 61 72 20 63 61 6c 6c 20 74 6f 20 73 63 72 on(sprintf("Circular.call.to.scr
749e0 69 70 74 20 68 61 6e 64 6c 65 72 20 27 25 73 27 20 64 65 74 65 63 74 65 64 22 2c 20 24 65 76 65 ipt.handler.'%s'.detected",.$eve
74a00 6e 74 4e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 75 73 68 28 24 ntName));.}..return.array_push($
74a20 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 2c 20 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 7d this->eventStack,.$eventName);.}
74a40 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 45 76 65 .......protected.function.popEve
74a60 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 65 nt().{.return.array_pop($this->e
74a80 76 65 6e 74 53 74 61 63 6b 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ventStack);.}.}.<?php...........
74aa0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 .namespace.Composer\EventDispatc
74ac0 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 76 65 6e her;..............interface.Even
74ae0 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tSubscriberInterface.{..........
74b00 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
74b20 67 65 74 53 75 62 73 63 72 69 62 65 64 45 76 65 6e 74 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a getSubscribedEvents();.}.<?php..
74b40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 ..........namespace.Composer\Eve
74b60 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 74 45 78 ntDispatcher;.....class.ScriptEx
74b80 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d ecutionException.extends.\Runtim
74ba0 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eException.{.}.<?php............
74bc0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a namespace.Composer\Exception;...
74be0 0a 0a 63 6c 61 73 73 20 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c ..class.NoSslException.extends.\
74c00 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a RuntimeException.{.}.<?php......
74c20 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 ......namespace.Composer;..use.C
74c40 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b omposer\Config\JsonConfigSource;
74c60 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 .use.Composer\Json\JsonFile;.use
74c80 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f .Composer\IO\IOInterface;.use.Co
74ca0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 75 73 65 20 43 6f 6d mposer\Package\Archiver;.use.Com
74cc0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 poser\Package\Version\VersionGue
74ce0 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 sser;.use.Composer\Repository\Re
74d00 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 positoryManager;.use.Composer\Re
74d20 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 pository\RepositoryFactory;.use.
74d40 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 57 72 69 74 61 62 6c 65 52 65 70 6f Composer\Repository\WritableRepo
74d60 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 sitoryInterface;.use.Composer\Ut
74d80 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c il\Filesystem;.use.Composer\Util
74da0 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f \Platform;.use.Composer\Util\Pro
74dc0 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
74de0 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 RemoteFilesystem;.use.Composer\U
74e00 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 til\Silencer;.use.Composer\Plugi
74e20 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 n\PluginEvents;.use.Composer\Eve
74e40 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f ntDispatcher\Event;.use.Seld\Jso
74e60 6e 4c 69 6e 74 5c 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 nLint\DuplicateKeyException;.use
74e80 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
74ea0 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tter\OutputFormatter;.use.Symfon
74ec0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 y\Component\Console\Formatter\Ou
74ee0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c tputFormatterStyle;.use.Symfony\
74f00 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 Component\Console\Output\Console
74f20 4f 75 74 70 75 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 Output;.use.Composer\EventDispat
74f40 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 cher\EventDispatcher;.use.Compos
74f60 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 er\Autoload\AutoloadGenerator;.u
74f80 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
74fa0 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 ionParser;.use.Composer\Download
74fc0 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 65 6c 64 5c er\TransportException;.use.Seld\
74fe0 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c JsonLint\JsonParser;..........cl
75000 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 ass.Factory.{.....protected.stat
75020 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 44 69 72 28 29 0a 7b 0a 24 68 6f 6d 65 ic.function.getHomeDir().{.$home
75040 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 .=.getenv('COMPOSER_HOME');.if.(
75060 24 68 6f 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 69 66 20 28 50 6c $home).{.return.$home;.}..if.(Pl
75080 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 69 66 20 28 21 67 65 74 65 atform::isWindows()).{.if.(!gete
750a0 6e 76 28 27 41 50 50 44 41 54 41 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 nv('APPDATA')).{.throw.new.\Runt
750c0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 41 50 50 44 41 54 41 20 6f 72 20 43 4f 4d imeException('The.APPDATA.or.COM
750e0 50 4f 53 45 52 5f 48 4f 4d 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 POSER_HOME.environment.variable.
75100 6d 75 73 74 20 62 65 20 73 65 74 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 20 74 6f 20 72 75 6e 20 must.be.set.for.composer.to.run.
75120 63 6f 72 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 correctly');.}..return.rtrim(str
75140 74 72 28 67 65 74 65 6e 76 28 27 41 50 50 44 41 54 41 27 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 tr(getenv('APPDATA'),.'\\',.'/')
75160 2c 20 27 2f 27 29 20 2e 20 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 ,.'/')...'/Composer';.}..$userDi
75180 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 66 20 28 69 73 5f 64 r.=.self::getUserDir();.if.(is_d
751a0 69 72 28 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 29 29 20 7b 0a 72 ir($userDir...'/.composer')).{.r
751c0 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d eturn.$userDir...'/.composer';.}
751e0 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 0a 20 24 78 64 67 43 6f ..if.(self::useXdg()).{...$xdgCo
75200 6e 66 69 67 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 27 29 nfig.=.getenv('XDG_CONFIG_HOME')
75220 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6e 66 69 67 27 3b 0a 0a 72 65 74 75 .?:.$userDir...'/.config';..retu
75240 72 6e 20 24 78 64 67 43 6f 6e 66 69 67 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a rn.$xdgConfig...'/composer';.}..
75260 72 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 3b 0a return.$userDir...'/.composer';.
75280 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e }......protected.static.function
752a0 20 67 65 74 43 61 63 68 65 44 69 72 28 24 68 6f 6d 65 29 0a 7b 0a 24 63 61 63 68 65 44 69 72 20 .getCacheDir($home).{.$cacheDir.
752c0 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 43 41 43 48 45 5f 44 49 52 27 29 3b 0a =.getenv('COMPOSER_CACHE_DIR');.
752e0 69 66 20 28 24 63 61 63 68 65 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 63 68 65 44 69 if.($cacheDir).{.return.$cacheDi
75300 72 3b 0a 7d 0a 0a 24 68 6f 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 r;.}..$homeEnv.=.getenv('COMPOSE
75320 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 20 7b 0a 72 65 74 75 72 6e R_HOME');.if.($homeEnv).{.return
75340 20 24 68 6f 6d 65 45 6e 76 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 .$homeEnv...'/cache';.}..if.(Pla
75360 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 69 66 20 28 24 63 61 63 68 65 tform::isWindows()).{.if.($cache
75380 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4c 4f 43 41 4c 41 50 50 44 41 54 41 27 29 29 20 7b 0a Dir.=.getenv('LOCALAPPDATA')).{.
753a0 24 63 61 63 68 65 44 69 72 20 2e 3d 20 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d 20 65 6c 73 65 $cacheDir..=.'/Composer';.}.else
753c0 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b .{.$cacheDir.=.$home...'/cache';
753e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 74 72 28 24 63 61 63 68 65 44 69 72 .}..return.rtrim(strtr($cacheDir
75400 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 72 20 ,.'\\',.'/'),.'/');.}..$userDir.
75420 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 66 20 28 24 68 6f 6d 65 20 =.self::getUserDir();.if.($home.
75440 3d 3d 3d 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 20 26 26 20 69 ===.$userDir...'/.composer'.&&.i
75460 73 5f 64 69 72 28 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 29 29 20 7b 0a 72 65 74 75 72 s_dir($home...'/cache')).{.retur
75480 6e 20 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a n.$home...'/cache';.}..if.(self:
754a0 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 24 78 64 67 43 61 63 68 65 20 3d 20 67 65 74 65 6e 76 28 :useXdg()).{.$xdgCache.=.getenv(
754c0 27 58 44 47 5f 43 41 43 48 45 5f 48 4f 4d 45 27 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 'XDG_CACHE_HOME').?:.$userDir...
754e0 27 2f 2e 63 61 63 68 65 27 3b 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 43 61 63 68 65 20 2e 20 27 '/.cache';..return.$xdgCache...'
75500 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 20 2e 20 27 2f /composer';.}..return.$home...'/
75520 63 61 63 68 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 cache';.}......protected.static.
75540 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 44 69 72 28 24 68 6f 6d 65 29 0a 7b 0a 24 68 6f function.getDataDir($home).{.$ho
75560 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b meEnv.=.getenv('COMPOSER_HOME');
75580 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 45 6e 76 .if.($homeEnv).{.return.$homeEnv
755a0 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 ;.}..if.(Platform::isWindows()).
755c0 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 68 6f 6d 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 {.return.strtr($home,.'\\',.'/')
755e0 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 ;.}..$userDir.=.self::getUserDir
75600 28 29 3b 0a 69 66 20 28 24 68 6f 6d 65 20 21 3d 3d 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e ();.if.($home.!==.$userDir...'/.
75620 63 6f 6d 70 6f 73 65 72 27 20 26 26 20 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 24 composer'.&&.self::useXdg()).{.$
75640 78 64 67 44 61 74 61 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 44 41 54 41 5f 48 4f 4d 45 27 xdgData.=.getenv('XDG_DATA_HOME'
75660 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 6c 6f 63 61 6c 2f 73 68 61 72 65 27 3b ).?:.$userDir...'/.local/share';
75680 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 44 61 74 61 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 3b ..return.$xdgData...'/composer';
756a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .}..return.$home;.}......public.
756c0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6e 66 69 67 28 49 4f 49 static.function.createConfig(IOI
756e0 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c nterface.$io.=.null,.$cwd.=.null
75700 29 0a 7b 0a 24 63 77 64 20 3d 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 3b 0a 0a 24 63 ).{.$cwd.=.$cwd.?:.getcwd();..$c
75720 6f 6e 66 69 67 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 28 74 72 75 65 2c 20 24 63 77 64 29 3b 0a onfig.=.new.Config(true,.$cwd);.
75740 0a 0a 20 24 68 6f 6d 65 20 3d 20 73 65 6c 66 3a 3a 67 65 74 48 6f 6d 65 44 69 72 28 29 3b 0a 24 ...$home.=.self::getHomeDir();.$
75760 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 config->merge(array('config'.=>.
75780 61 72 72 61 79 28 0a 27 68 6f 6d 65 27 20 3d 3e 20 24 68 6f 6d 65 2c 0a 27 63 61 63 68 65 2d 64 array(.'home'.=>.$home,.'cache-d
757a0 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 74 43 61 63 68 65 44 69 72 28 24 68 6f 6d 65 29 2c ir'.=>.self::getCacheDir($home),
757c0 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 44 69 72 28 .'data-dir'.=>.self::getDataDir(
757e0 24 68 6f 6d 65 29 2c 0a 29 29 29 3b 0a 0a 0a 20 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e $home),.)));....$file.=.new.Json
75800 46 69 6c 65 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 63 6f 6e 66 File($config->get('home').'/conf
75820 69 67 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 ig.json');.if.($file->exists()).
75840 7b 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 {.if.($io.&&.$io->isDebug()).{.$
75860 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 io->writeError('Loading.config.f
75880 69 6c 65 20 27 20 2e 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 24 63 6f ile.'...$file->getPath());.}.$co
758a0 6e 66 69 67 2d 3e 6d 65 72 67 65 28 24 66 69 6c 65 2d 3e 72 65 61 64 28 29 29 3b 0a 7d 0a 24 63 nfig->merge($file->read());.}.$c
758c0 6f 6e 66 69 67 2d 3e 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 43 onfig->setConfigSource(new.JsonC
758e0 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 6c 65 29 29 3b 0a 0a 24 68 74 61 63 63 65 73 73 50 onfigSource($file));..$htaccessP
75900 72 6f 74 65 63 74 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 rotect.=.(bool).$config->get('ht
75920 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 29 3b 0a 69 66 20 28 24 68 74 61 63 63 65 73 73 50 access-protect');.if.($htaccessP
75940 72 6f 74 65 63 74 29 20 7b 0a 0a 20 0a 20 0a 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 24 63 rotect).{.......$dirs.=.array($c
75960 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 onfig->get('home'),.$config->get
75980 28 27 63 61 63 68 65 2d 64 69 72 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 61 74 ('cache-dir'),.$config->get('dat
759a0 61 2d 64 69 72 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 a-dir'));.foreach.($dirs.as.$dir
759c0 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 20 2e 20 27 2f 2e 68 ).{.if.(!file_exists($dir...'/.h
759e0 74 61 63 63 65 73 73 27 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 taccess')).{.if.(!is_dir($dir)).
75a00 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 6d 6b 64 69 72 27 2c 20 24 64 69 72 2c 20 {.Silencer::call('mkdir',.$dir,.
75a20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 66 0777,.true);.}.Silencer::call('f
75a40 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 27 2c 20 24 64 69 72 20 2e 20 27 2f 2e 68 74 61 ile_put_contents',.$dir...'/.hta
75a60 63 63 65 73 73 27 2c 20 27 44 65 6e 79 20 66 72 6f 6d 20 61 6c 6c 27 29 3b 0a 7d 0a 7d 0a 7d 0a ccess',.'Deny.from.all');.}.}.}.
75a80 0a 0a 20 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 2d ...$file.=.new.JsonFile($config-
75aa0 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 >get('home').'/auth.json');.if.(
75ac0 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 $file->exists()).{.if.($io.&&.$i
75ae0 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 o->isDebug()).{.$io->writeError(
75b00 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 66 69 6c 65 2d 3e 'Loading.config.file.'...$file->
75b20 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 getPath());.}.$config->merge(arr
75b40 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 66 69 6c 65 2d 3e 72 65 61 64 28 29 29 29 3b 0a ay('config'.=>.$file->read()));.
75b60 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e }.$config->setAuthConfigSource(n
75b80 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 6c 65 2c 20 74 72 75 65 29 ew.JsonConfigSource($file,.true)
75ba0 29 3b 0a 0a 0a 20 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 41 75 74 68 45 6e 76 20 3d 20 67 65 74 );....if.($composerAuthEnv.=.get
75bc0 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 29 20 7b 0a 24 61 75 74 68 44 61 74 env('COMPOSER_AUTH')).{.$authDat
75be0 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 41 75 74 68 45 6e 76 a.=.json_decode($composerAuthEnv
75c00 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 68 44 61 74 61 ,.true);..if.(null.===.$authData
75c20 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 ).{.throw.new.\UnexpectedValueEx
75c40 63 65 70 74 69 6f 6e 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 20 65 6e 76 69 72 6f 6e 6d 65 ception('COMPOSER_AUTH.environme
75c60 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 73 68 6f 75 6c 64 nt.variable.is.malformed,.should
75c80 20 62 65 20 61 20 76 61 6c 69 64 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 27 29 3b 0a 7d 0a 0a 69 66 .be.a.valid.JSON.object');.}..if
75ca0 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e .($io.&&.$io->isDebug()).{.$io->
75cc0 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 61 75 74 68 20 63 6f 6e 66 69 67 20 writeError('Loading.auth.config.
75ce0 66 72 6f 6d 20 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d from.COMPOSER_AUTH');.}.$config-
75d00 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 61 75 74 68 44 61 >merge(array('config'.=>.$authDa
75d20 74 61 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c ta));.}..return.$config;.}..publ
75d40 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 ic.static.function.getComposerFi
75d60 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f le().{.return.trim(getenv('COMPO
75d80 53 45 52 27 29 29 20 3f 3a 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 7d 0a 0a SER')).?:.'./composer.json';.}..
75da0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 64 64 public.static.function.createAdd
75dc0 69 74 69 6f 6e 61 6c 53 74 79 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a itionalStyles().{.return.array(.
75de0 27 68 69 67 68 6c 69 67 68 74 27 20 3d 3e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 'highlight'.=>.new.OutputFormatt
75e00 65 72 53 74 79 6c 65 28 27 72 65 64 27 29 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 6e 65 77 erStyle('red'),.'warning'.=>.new
75e20 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 .OutputFormatterStyle('black',.'
75e40 79 65 6c 6c 6f 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 yellow'),.);.}.......public.stat
75e60 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 73 74 ic.function.createOutput().{.$st
75e80 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 41 64 64 69 74 69 6f 6e 61 6c 53 74 79 yles.=.self::createAdditionalSty
75ea0 6c 65 73 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f les();.$formatter.=.new.OutputFo
75ec0 72 6d 61 74 74 65 72 28 66 61 6c 73 65 2c 20 24 73 74 79 6c 65 73 29 3b 0a 0a 72 65 74 75 72 6e rmatter(false,.$styles);..return
75ee0 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 .new.ConsoleOutput(ConsoleOutput
75f00 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 6e 75 6c 6c 2c 20 24 66 6f 72 6d 61 ::VERBOSITY_NORMAL,.null,.$forma
75f20 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 tter);.}.....public.static.funct
75f40 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 49 4f ion.createDefaultRepositories(IO
75f60 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 43 6f 6e 66 69 67 20 24 63 6f Interface.$io.=.null,.Config.$co
75f80 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 nfig.=.null,.RepositoryManager.$
75fa0 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 52 65 70 6f 73 69 74 6f 72 79 46 61 rm.=.null).{.return.RepositoryFa
75fc0 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 ctory::defaultRepos($io,.$config
75fe0 2c 20 24 72 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ,.$rm);.}..............public.fu
76000 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 49 4f 49 6e 74 65 72 66 61 63 nction.createComposer(IOInterfac
76020 65 20 24 69 6f 2c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 e.$io,.$localConfig.=.null,.$dis
76040 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c ablePlugins.=.false,.$cwd.=.null
76060 2c 20 24 66 75 6c 6c 4c 6f 61 64 20 3d 20 74 72 75 65 29 0a 7b 0a 24 63 77 64 20 3d 20 24 63 77 ,.$fullLoad.=.true).{.$cwd.=.$cw
76080 64 20 3f 3a 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 d.?:.getcwd();....if.(null.===.$
760a0 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 20 7b 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 73 74 localConfig).{.$localConfig.=.st
760c0 61 74 69 63 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 7d 0a 0a 69 66 20 28 atic::getComposerFile();.}..if.(
760e0 69 73 5f 73 74 72 69 6e 67 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 29 20 7b 0a 24 63 6f 6d 70 is_string($localConfig)).{.$comp
76100 6f 73 65 72 46 69 6c 65 20 3d 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 3b 0a 0a 24 66 69 6c 65 20 oserFile.=.$localConfig;..$file.
76120 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2c 20 6e 75 6c =.new.JsonFile($localConfig,.nul
76140 6c 2c 20 24 69 6f 29 3b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 l,.$io);..if.(!$file->exists()).
76160 7b 0a 69 66 20 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 3d 3d 20 27 2e 2f 63 6f 6d 70 6f 73 {.if.($localConfig.===.'./compos
76180 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 3d 3d 20 27 63 6f er.json'.||.$localConfig.===.'co
761a0 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 6d 70 mposer.json').{.$message.=.'Comp
761c0 6f 73 65 72 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a oser.could.not.find.a.composer.j
761e0 73 6f 6e 20 66 69 6c 65 20 69 6e 20 27 2e 24 63 77 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 son.file.in.'.$cwd;.}.else.{.$me
76200 73 73 61 67 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 ssage.=.'Composer.could.not.find
76220 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 3a 20 27 2e 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 .the.config.file:.'.$localConfig
76240 3b 0a 7d 0a 24 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 3d 20 27 54 6f 20 69 6e 69 74 69 61 6c 69 ;.}.$instructions.=.'To.initiali
76260 7a 65 20 61 20 70 72 6f 6a 65 63 74 2c 20 70 6c 65 61 73 65 20 63 72 65 61 74 65 20 61 20 63 6f ze.a.project,.please.create.a.co
76280 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e mposer.json.file.as.described.in
762a0 20 74 68 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 20 22 47 .the.https://getcomposer.org/."G
762c0 65 74 74 69 6e 67 20 53 74 61 72 74 65 64 22 20 73 65 63 74 69 6f 6e 27 3b 0a 74 68 72 6f 77 20 etting.Started".section';.throw.
762e0 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 6d new.\InvalidArgumentException($m
76300 65 73 73 61 67 65 2e 50 48 50 5f 45 4f 4c 2e 24 69 6e 73 74 72 75 63 74 69 6f 6e 73 29 3b 0a 7d essage.PHP_EOL.$instructions);.}
76320 0a 0a 24 66 69 6c 65 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 ..$file->validateSchema(JsonFile
76340 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 3b 0a 24 6a 73 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 ::LAX_SCHEMA);.$jsonParser.=.new
76360 20 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 50 61 72 73 65 72 2d 3e .JsonParser;.try.{.$jsonParser->
76380 70 61 72 73 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 6f 63 61 6c 43 6f parse(file_get_contents($localCo
763a0 6e 66 69 67 29 2c 20 4a 73 6f 6e 50 61 72 73 65 72 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f nfig),.JsonParser::DETECT_KEY_CO
763c0 4e 46 4c 49 43 54 53 29 3b 0a 7d 20 63 61 74 63 68 20 28 44 75 70 6c 69 63 61 74 65 4b 65 79 45 NFLICTS);.}.catch.(DuplicateKeyE
763e0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 64 65 74 61 69 6c 73 20 3d 20 24 65 2d 3e 67 65 xception.$e).{.$details.=.$e->ge
76400 74 44 65 74 61 69 6c 73 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 tDetails();.$io->writeError('<wa
76420 72 6e 69 6e 67 3e 4b 65 79 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 2e 27 20 69 73 rning>Key.'.$details['key'].'.is
76440 20 61 20 64 75 70 6c 69 63 61 74 65 20 69 6e 20 27 2e 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2e 27 .a.duplicate.in.'.$localConfig.'
76460 20 61 74 20 6c 69 6e 65 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6c 69 6e 65 27 5d 2e 27 3c 2f 77 .at.line.'.$details['line'].'</w
76480 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 24 66 69 arning>');.}..$localConfig.=.$fi
764a0 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 le->read();.}....$config.=.stati
764c0 63 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 2c 20 24 63 77 64 29 3b 0a 24 63 6f 6e c::createConfig($io,.$cwd);.$con
764e0 66 69 67 2d 3e 6d 65 72 67 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 3b 0a 69 66 20 28 69 73 fig->merge($localConfig);.if.(is
76500 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 set($composerFile)).{.$io->write
76520 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 Error('Loading.config.file.'...$
76540 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a composerFile,.true,.IOInterface:
76560 3a 44 45 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 :DEBUG);.$config->setConfigSourc
76580 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 46 e(new.JsonConfigSource(new.JsonF
765a0 69 6c 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 2c 20 6e 75 6c ile(realpath($composerFile),.nul
765c0 6c 2c 20 24 69 6f 29 29 29 3b 0a 0a 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 20 3d 20 6e 65 77 l,.$io)));..$localAuthFile.=.new
765e0 20 4a 73 6f 6e 46 69 6c 65 28 64 69 72 6e 61 6d 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 .JsonFile(dirname(realpath($comp
76600 6f 73 65 72 46 69 6c 65 29 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 2c 20 6e 75 6c 6c 2c oserFile))...'/auth.json',.null,
76620 20 24 69 6f 29 3b 0a 69 66 20 28 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e 65 78 69 73 74 .$io);.if.($localAuthFile->exist
76640 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 s()).{.$io->writeError('Loading.
76660 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e config.file.'...$localAuthFile->
76680 67 65 74 50 61 74 68 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 getPath(),.true,.IOInterface::DE
766a0 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 BUG);.$config->merge(array('conf
766c0 69 67 27 20 3d 3e 20 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 29 3b ig'.=>.$localAuthFile->read()));
766e0 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 .$config->setAuthConfigSource(ne
76700 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c w.JsonConfigSource($localAuthFil
76720 65 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 63 6f e,.true));.}.}..$vendorDir.=.$co
76740 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 0a 0a 20 24 63 6f 6d nfig->get('vendor-dir');....$com
76760 70 6f 73 65 72 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 poser.=.new.Composer();.$compose
76780 72 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f 6e 66 69 67 29 3b 0a 0a 69 66 20 28 24 66 75 6c r->setConfig($config);..if.($ful
767a0 6c 4c 6f 61 64 29 20 7b 0a 0a 20 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f lLoad).{...$io->loadConfiguratio
767c0 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 72 66 73 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 n($config);.}..$rfs.=.self::crea
767e0 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 teRemoteFilesystem($io,.$config)
76800 3b 0a 0a 0a 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 65 77 20 45 76 65 6e 74 44 69 73 70 ;....$dispatcher.=.new.EventDisp
76820 61 74 63 68 65 72 28 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 29 3b 0a 24 63 6f 6d 70 6f 73 65 atcher($composer,.$io);.$compose
76840 72 2d 3e 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 24 64 69 73 70 61 74 63 68 65 r->setEventDispatcher($dispatche
76860 72 29 3b 0a 0a 0a 20 24 72 6d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a r);....$rm.=.RepositoryFactory::
76880 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 70 61 74 63 68 65 manager($io,.$config,.$dispatche
768a0 72 2c 20 24 72 66 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f r,.$rfs);.$composer->setReposito
768c0 72 79 4d 61 6e 61 67 65 72 28 24 72 6d 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 61 64 64 4c 6f 63 ryManager($rm);....$this->addLoc
768e0 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6f 2c 20 24 72 6d 2c 20 24 76 65 6e 64 6f 72 44 69 alRepository($io,.$rm,.$vendorDi
76900 72 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 24 66 75 6c 6c 4c 6f 61 64 20 26 26 20 21 69 73 73 65 r);......if.(!$fullLoad.&&.!isse
76920 74 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 6c t($localConfig['version'])).{.$l
76940 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 27 3b ocalConfig['version'].=.'1.0.0';
76960 0a 7d 0a 0a 0a 20 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 .}....$parser.=.new.VersionParse
76980 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 r;.$guesser.=.new.VersionGuesser
769a0 28 24 63 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 ($config,.new.ProcessExecutor($i
769c0 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b o),.$parser);.$loader.=.new.Pack
769e0 61 67 65 5c 4c 6f 61 64 65 72 5c 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 28 24 72 6d age\Loader\RootPackageLoader($rm
76a00 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 72 73 65 72 2c 20 24 67 75 65 73 73 65 72 2c 20 24 69 ,.$config,.$parser,.$guesser,.$i
76a20 6f 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6c 6f o);.$package.=.$loader->load($lo
76a40 63 61 6c 43 6f 6e 66 69 67 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f calConfig,.'Composer\Package\Roo
76a60 74 50 61 63 6b 61 67 65 27 2c 20 24 63 77 64 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 tPackage',.$cwd);.$composer->set
76a80 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 24 69 6d 20 3d 20 24 74 68 69 Package($package);....$im.=.$thi
76aa0 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a s->createInstallationManager();.
76ac0 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 $composer->setInstallationManage
76ae0 72 28 24 69 6d 29 3b 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 0a 20 24 64 6d 20 r($im);..if.($fullLoad).{...$dm.
76b00 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 =.$this->createDownloadManager($
76b20 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 70 61 74 63 68 65 72 2c 20 24 72 66 73 29 3b io,.$config,.$dispatcher,.$rfs);
76b40 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 .$composer->setDownloadManager($
76b60 64 6d 29 3b 0a 0a 0a 20 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 41 75 74 6f 6c 6f 61 dm);....$generator.=.new.Autoloa
76b80 64 47 65 6e 65 72 61 74 6f 72 28 24 64 69 73 70 61 74 63 68 65 72 2c 20 24 69 6f 29 3b 0a 24 63 dGenerator($dispatcher,.$io);.$c
76ba0 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 24 67 omposer->setAutoloadGenerator($g
76bc0 65 6e 65 72 61 74 6f 72 29 3b 0a 0a 0a 20 24 61 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 enerator);....$am.=.$this->creat
76be0 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 63 6f 6e 66 69 67 2c 20 24 64 6d 29 3b 0a 24 eArchiveManager($config,.$dm);.$
76c00 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 61 6d 29 composer->setArchiveManager($am)
76c20 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 61 75 6c 74 49 6e 73 74 61 ;.}....$this->createDefaultInsta
76c40 6c 6c 65 72 73 28 24 69 6d 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 29 3b 0a 0a 69 66 20 llers($im,.$composer,.$io);..if.
76c60 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 ($fullLoad).{.$globalComposer.=.
76c80 6e 75 6c 6c 3b 0a 69 66 20 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 null;.if.(realpath($config->get(
76ca0 27 68 6f 6d 65 27 29 29 20 21 3d 3d 20 24 63 77 64 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 70 'home')).!==.$cwd).{.$globalComp
76cc0 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 oser.=.$this->createGlobalCompos
76ce0 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 er($io,.$config,.$disablePlugins
76d00 29 3b 0a 7d 0a 0a 24 70 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6c 75 67 69 6e 4d );.}..$pm.=.$this->createPluginM
76d20 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 67 6c 6f 62 61 6c 43 6f anager($io,.$composer,.$globalCo
76d40 6d 70 6f 73 65 72 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 24 63 6f 6d 70 6f mposer,.$disablePlugins);.$compo
76d60 73 65 72 2d 3e 73 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 70 6d 29 3b 0a 0a 24 70 6d ser->setPluginManager($pm);..$pm
76d80 2d 3e 6c 6f 61 64 49 6e 73 74 61 6c 6c 65 64 50 6c 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 0a 20 69 ->loadInstalledPlugins();.}....i
76da0 66 20 28 24 66 75 6c 6c 4c 6f 61 64 20 26 26 20 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 46 f.($fullLoad.&&.isset($composerF
76dc0 69 6c 65 29 29 20 7b 0a 24 6c 6f 63 6b 46 69 6c 65 20 3d 20 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 ile)).{.$lockFile.=."json".===.p
76de0 61 74 68 69 6e 66 6f 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 50 41 54 48 49 4e 46 4f 5f athinfo($composerFile,.PATHINFO_
76e00 45 58 54 45 4e 53 49 4f 4e 29 0a 3f 20 73 75 62 73 74 72 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c EXTENSION).?.substr($composerFil
76e20 65 2c 20 30 2c 20 2d 34 29 2e 27 6c 6f 63 6b 27 0a 3a 20 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 e,.0,.-4).'lock'.:.$composerFile
76e40 20 2e 20 27 2e 6c 6f 63 6b 27 3b 0a 0a 24 6c 6f 63 6b 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 ...'.lock';..$locker.=.new.Packa
76e60 67 65 5c 4c 6f 63 6b 65 72 28 24 69 6f 2c 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 ge\Locker($io,.new.JsonFile($loc
76e80 6b 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 2c 20 24 72 6d 2c 20 24 69 6d 2c 20 66 69 6c kFile,.null,.$io),.$rm,.$im,.fil
76ea0 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 3b 0a e_get_contents($composerFile));.
76ec0 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 4c 6f 63 6b 65 72 28 24 6c 6f 63 6b 65 72 29 3b 0a 7d $composer->setLocker($locker);.}
76ee0 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 24 69 6e 69 74 45 76 65 6e 74 20 3d 20 ..if.($fullLoad).{.$initEvent.=.
76f00 6e 65 77 20 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 49 4e 49 54 29 3b 0a 24 new.Event(PluginEvents::INIT);.$
76f20 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e composer->getEventDispatcher()->
76f40 64 69 73 70 61 74 63 68 28 24 69 6e 69 74 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 dispatch($initEvent->getName(),.
76f60 24 69 6e 69 74 45 76 65 6e 74 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 72 6d 2d 3e 67 65 74 4c 6f $initEvent);......if.($rm->getLo
76f80 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 75 72 67 65 50 calRepository()).{.$this->purgeP
76fa0 61 63 6b 61 67 65 73 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 ackages($rm->getLocalRepository(
76fc0 29 2c 20 24 69 6d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a ),.$im);.}.}..return.$composer;.
76fe0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 }.......public.static.function.c
77000 72 65 61 74 65 47 6c 6f 62 61 6c 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 69 reateGlobal(IOInterface.$io,.$di
77020 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 61 63 74 6f 72 79 sablePlugins.=.false).{.$factory
77040 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 .=.new.static();..return.$factor
77060 79 2d 3e 63 72 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 73 74 61 y->createGlobalComposer($io,.sta
77080 74 69 63 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 2c 20 24 64 69 73 61 62 6c 65 tic::createConfig($io),.$disable
770a0 50 6c 75 67 69 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 Plugins,.true);.}......protected
770c0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 49 4f 49 .function.addLocalRepository(IOI
770e0 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 nterface.$io,.RepositoryManager.
77100 24 72 6d 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 0a 7b 0a 24 72 6d 2d 3e 73 65 74 4c 6f 63 61 6c $rm,.$vendorDir).{.$rm->setLocal
77120 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c Repository(new.Repository\Instal
77140 6c 65 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 4a 73 6f 6e ledFilesystemRepository(new.Json
77160 46 69 6c 65 28 24 76 65 6e 64 6f 72 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 69 6e 73 74 61 File($vendorDir.'/composer/insta
77180 6c 6c 65 64 2e 6a 73 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a lled.json',.null,.$io)));.}.....
771a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 47 6c 6f 62 61 6c .protected.function.createGlobal
771c0 43 6f 6d 70 6f 73 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 Composer(IOInterface.$io,.Config
771e0 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 2c 20 24 66 75 6c 6c .$config,.$disablePlugins,.$full
77200 4c 6f 61 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c Load.=.false).{.$composer.=.null
77220 3b 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 ;.try.{.$composer.=.$this->creat
77240 65 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d eComposer($io,.$config->get('hom
77260 65 27 29 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 64 69 73 61 62 6c 65 e')...'/composer.json',.$disable
77280 50 6c 75 67 69 6e 73 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2c 20 24 Plugins,.$config->get('home'),.$
772a0 66 75 6c 6c 4c 6f 61 64 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 fullLoad);.}.catch.(\Exception.$
772c0 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 64 20 74 6f 20 e).{.$io->writeError('Failed.to.
772e0 69 6e 69 74 69 61 6c 69 7a 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f 73 65 72 3a 20 27 2e 24 65 initialize.global.composer:.'.$e
77300 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 ->getMessage(),.true,.IOInterfac
77320 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a e::DEBUG);.}..return.$composer;.
77340 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 }........public.function.createD
77360 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 ownloadManager(IOInterface.$io,.
77380 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 Config.$config,.EventDispatcher.
773a0 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 $eventDispatcher.=.null,.RemoteF
773c0 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 61 63 68 65 20 ilesystem.$rfs.=.null).{.$cache.
773e0 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d =.null;.if.($config->get('cache-
77400 66 69 6c 65 73 2d 74 74 6c 27 29 20 3e 20 30 29 20 7b 0a 24 63 61 63 68 65 20 3d 20 6e 65 77 20 files-ttl').>.0).{.$cache.=.new.
77420 43 61 63 68 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 Cache($io,.$config->get('cache-f
77440 69 6c 65 73 2d 64 69 72 27 29 2c 20 27 61 2d 7a 30 2d 39 5f 2e 2f 27 29 3b 0a 7d 0a 0a 24 64 6d iles-dir'),.'a-z0-9_./');.}..$dm
77460 20 3d 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 .=.new.Downloader\DownloadManage
77480 72 28 24 69 6f 29 3b 0a 73 77 69 74 63 68 20 28 24 70 72 65 66 65 72 72 65 64 20 3d 20 24 63 6f r($io);.switch.($preferred.=.$co
774a0 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 29 20 nfig->get('preferred-install')).
774c0 7b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 {.case.'dist':.$dm->setPreferDis
774e0 74 28 74 72 75 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 t(true);.break;.case.'source':.$
77500 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 74 72 75 65 29 3b 0a 62 72 65 61 6b dm->setPreferSource(true);.break
77520 3b 0a 63 61 73 65 20 27 61 75 74 6f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 62 72 65 61 6b 3b ;.case.'auto':.default:...break;
77540 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 72 65 66 65 72 72 65 64 29 29 20 7b 0a .}..if.(is_array($preferred)).{.
77560 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 65 6e 63 65 73 28 24 70 72 65 66 65 72 72 65 64 29 3b $dm->setPreferences($preferred);
77580 0a 7d 0a 0a 24 65 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 .}..$executor.=.new.ProcessExecu
775a0 74 6f 72 28 24 69 6f 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 tor($io);.$fs.=.new.Filesystem($
775c0 65 78 65 63 75 74 6f 72 29 3b 0a 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 executor);..$dm->setDownloader('
775e0 67 69 74 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 69 74 44 6f 77 6e 6c 6f 61 64 git',.new.Downloader\GitDownload
77600 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 er($io,.$config,.$executor,.$fs)
77620 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 73 76 6e 27 2c 20 6e 65 77 );.$dm->setDownloader('svn',.new
77640 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 .Downloader\SvnDownloader($io,.$
77660 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 config,.$executor,.$fs));.$dm->s
77680 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 66 6f 73 73 69 6c 27 2c 20 6e 65 77 20 44 6f 77 6e 6c etDownloader('fossil',.new.Downl
776a0 6f 61 64 65 72 5c 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e oader\FossilDownloader($io,.$con
776c0 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 fig,.$executor,.$fs));.$dm->setD
776e0 6f 77 6e 6c 6f 61 64 65 72 28 27 68 67 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 48 ownloader('hg',.new.Downloader\H
77700 67 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 gDownloader($io,.$config,.$execu
77720 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 tor,.$fs));.$dm->setDownloader('
77740 70 65 72 66 6f 72 63 65 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 65 72 66 6f 72 perforce',.new.Downloader\Perfor
77760 63 65 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 64 6d ceDownloader($io,.$config));.$dm
77780 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 7a 69 70 27 2c 20 6e 65 77 20 44 6f 77 6e 6c ->setDownloader('zip',.new.Downl
777a0 6f 61 64 65 72 5c 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 oader\ZipDownloader($io,.$config
777c0 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 ,.$eventDispatcher,.$cache,.$exe
777e0 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 cutor,.$rfs));.$dm->setDownloade
77800 72 28 27 72 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 52 61 72 44 6f 77 6e 6c r('rar',.new.Downloader\RarDownl
77820 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 oader($io,.$config,.$eventDispat
77840 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b cher,.$cache,.$executor,.$rfs));
77860 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 74 61 72 27 2c 20 6e 65 77 20 44 .$dm->setDownloader('tar',.new.D
77880 6f 77 6e 6c 6f 61 64 65 72 5c 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f ownloader\TarDownloader($io,.$co
778a0 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 nfig,.$eventDispatcher,.$cache,.
778c0 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 67 7a 69 70 $rfs));.$dm->setDownloader('gzip
778e0 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 7a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 ',.new.Downloader\GzipDownloader
77900 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c ($io,.$config,.$eventDispatcher,
77920 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d .$cache,.$executor,.$rfs));.$dm-
77940 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 78 7a 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 >setDownloader('xz',.new.Downloa
77960 64 65 72 5c 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 der\XzDownloader($io,.$config,.$
77980 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 eventDispatcher,.$cache,.$execut
779a0 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 or,.$rfs));.$dm->setDownloader('
779c0 70 68 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 68 61 72 44 6f 77 6e 6c 6f phar',.new.Downloader\PharDownlo
779e0 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 ader($io,.$config,.$eventDispatc
77a00 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 her,.$cache,.$rfs));.$dm->setDow
77a20 6e 6c 6f 61 64 65 72 28 27 66 69 6c 65 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 nloader('file',.new.Downloader\F
77a40 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 ileDownloader($io,.$config,.$eve
77a60 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 ntDispatcher,.$cache,.$rfs));.$d
77a80 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 70 61 74 68 27 2c 20 6e 65 77 20 44 6f 77 m->setDownloader('path',.new.Dow
77aa0 6e 6c 6f 61 64 65 72 5c 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e nloader\PathDownloader($io,.$con
77ac0 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 fig,.$eventDispatcher,.$cache,.$
77ae0 72 66 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c rfs));..return.$dm;.}.......publ
77b00 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 ic.function.createArchiveManager
77b20 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e (Config.$config,.Downloader\Down
77b40 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 loadManager.$dm.=.null).{.if.(nu
77b60 6c 6c 20 3d 3d 3d 20 24 64 6d 29 20 7b 0a 24 69 6f 20 3d 20 6e 65 77 20 49 4f 5c 4e 75 6c 6c 49 ll.===.$dm).{.$io.=.new.IO\NullI
77b80 4f 28 29 3b 0a 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e O();.$io->loadConfiguration($con
77ba0 66 69 67 29 3b 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 fig);.$dm.=.$this->createDownloa
77bc0 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 61 6d 20 3d dManager($io,.$config);.}..$am.=
77be0 20 6e 65 77 20 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 64 6d .new.Archiver\ArchiveManager($dm
77c00 29 3b 0a 24 61 6d 2d 3e 61 64 64 41 72 63 68 69 76 65 72 28 6e 65 77 20 41 72 63 68 69 76 65 72 );.$am->addArchiver(new.Archiver
77c20 5c 5a 69 70 41 72 63 68 69 76 65 72 29 3b 0a 24 61 6d 2d 3e 61 64 64 41 72 63 68 69 76 65 72 28 \ZipArchiver);.$am->addArchiver(
77c40 6e 65 77 20 41 72 63 68 69 76 65 72 5c 50 68 61 72 41 72 63 68 69 76 65 72 29 3b 0a 0a 72 65 74 new.Archiver\PharArchiver);..ret
77c60 75 72 6e 20 24 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e urn.$am;.}.........protected.fun
77c80 63 74 69 6f 6e 20 63 72 65 61 74 65 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 ction.createPluginManager(IOInte
77ca0 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 43 rface.$io,.Composer.$composer,.C
77cc0 6f 6d 70 6f 73 65 72 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 omposer.$globalComposer.=.null,.
77ce0 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 74 75 72 $disablePlugins.=.false).{.retur
77d00 6e 20 6e 65 77 20 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 n.new.Plugin\PluginManager($io,.
77d20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2c 20 24 64 69 73 $composer,.$globalComposer,.$dis
77d40 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ablePlugins);.}.....protected.fu
77d60 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 nction.createInstallationManager
77d80 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c ().{.return.new.Installer\Instal
77da0 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 lationManager();.}.......protect
77dc0 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 49 6e 73 74 61 6c 6c ed.function.createDefaultInstall
77de0 65 72 73 28 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 ers(Installer\InstallationManage
77e00 72 20 24 69 6d 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 r.$im,.Composer.$composer,.IOInt
77e20 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 erface.$io).{.$im->addInstaller(
77e40 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 new.Installer\LibraryInstaller($
77e60 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 6e 75 6c 6c 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 io,.$composer,.null));.$im->addI
77e80 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 50 65 61 72 49 6e 73 74 61 nstaller(new.Installer\PearInsta
77ea0 6c 6c 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 70 65 61 72 2d 6c 69 62 72 61 ller($io,.$composer,.'pear-libra
77ec0 72 79 27 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 ry'));.$im->addInstaller(new.Ins
77ee0 74 61 6c 6c 65 72 5c 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 24 63 6f 6d taller\PluginInstaller($io,.$com
77f00 70 6f 73 65 72 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 poser));.$im->addInstaller(new.I
77f20 6e 73 74 61 6c 6c 65 72 5c 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 72 28 24 69 nstaller\MetapackageInstaller($i
77f40 6f 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 o));.}......protected.function.p
77f60 75 72 67 65 50 61 63 6b 61 67 65 73 28 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 urgePackages(WritableRepositoryI
77f80 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c nterface.$repo,.Installer\Instal
77fa0 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6d 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 lationManager.$im).{.foreach.($r
77fc0 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 epo->getPackages().as.$package).
77fe0 7b 0a 69 66 20 28 21 24 69 6d 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 {.if.(!$im->isPackageInstalled($
78000 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 repo,.$package)).{.$repo->remove
78020 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a Package($package);.}.}.}........
78040 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 49 .public.static.function.create(I
78060 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 OInterface.$io,.$config.=.null,.
78080 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 61 63 74 $disablePlugins.=.false).{.$fact
780a0 6f 72 79 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 ory.=.new.static();..return.$fac
780c0 74 6f 72 79 2d 3e 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 tory->createComposer($io,.$confi
780e0 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 g,.$disablePlugins);.}........pu
78100 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 6d 6f 74 blic.static.function.createRemot
78120 65 46 69 6c 65 73 79 73 74 65 6d 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e eFilesystem(IOInterface.$io,.Con
78140 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 fig.$config.=.null,.$options.=.a
78160 72 72 61 79 28 29 29 0a 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e 65 64 20 3d 20 66 61 6c 73 65 rray()).{.static.$warned.=.false
78180 3b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 63 6f 6e 66 ;.$disableTls.=.false;.if.($conf
781a0 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 ig.&&.$config->get('disable-tls'
781c0 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 69 66 20 28 21 24 77 61 72 6e 65 64 29 20 7b 0a 24 69 ).===.true).{.if.(!$warned).{.$i
781e0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 o->writeError('<warning>You.are.
78200 72 75 6e 6e 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 53 53 4c 2f 54 4c 53 20 70 72 running.Composer.with.SSL/TLS.pr
78220 6f 74 65 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a otection.disabled.</warning>');.
78240 7d 0a 24 77 61 72 6e 65 64 20 3d 20 74 72 75 65 3b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 }.$warned.=.true;.$disableTls.=.
78260 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 true;.}.elseif.(!extension_loade
78280 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 45 78 63 65 70 74 d('openssl')).{.throw.new.Except
782a0 69 6f 6e 5c 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6f 70 65 6e 73 73 6c 20 ion\NoSslException('The.openssl.
782c0 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 53 53 4c 2f 54 4c extension.is.required.for.SSL/TL
782e0 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 62 75 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c S.protection.but.is.not.availabl
78300 65 2e 20 27 0a 2e 20 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 65 6e 61 62 6c 65 20 74 68 e..'...'If.you.can.not.enable.th
78320 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 64 69 73 e.openssl.extension,.you.can.dis
78340 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 able.this.error,.at.your.own.ris
78360 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c k,.by.setting.the.\'disable-tls\
78380 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 27 29 3b 0a 7d 0a 24 72 65 6d 6f 74 65 46 69 '.option.to.true.');.}.$remoteFi
783a0 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 lesystemOptions.=.array();.if.($
783c0 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 24 63 6f 6e disableTls.===.false).{.if.($con
783e0 66 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 66 69 6c 65 27 29 29 20 7b fig.&&.$config->get('cafile')).{
78400 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d .$remoteFilesystemOptions['ssl']
78420 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 66 69 6c ['cafile'].=.$config->get('cafil
78440 65 27 29 3b 0a 7d 0a 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 e');.}.if.($config.&&.$config->g
78460 65 74 28 27 63 61 70 61 74 68 27 29 29 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 et('capath')).{.$remoteFilesyste
78480 6d 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 20 3d 20 24 63 6f 6e mOptions['ssl']['capath'].=.$con
784a0 66 69 67 2d 3e 67 65 74 28 27 63 61 70 61 74 68 27 29 3b 0a 7d 0a 24 72 65 6d 6f 74 65 46 69 6c fig->get('capath');.}.$remoteFil
784c0 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 esystemOptions.=.array_replace_r
784e0 65 63 75 72 73 69 76 65 28 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e ecursive($remoteFilesystemOption
78500 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 74 72 79 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c s,.$options);.}.try.{.$remoteFil
78520 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 esystem.=.new.RemoteFilesystem($
78540 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 io,.$config,.$remoteFilesystemOp
78560 74 69 6f 6e 73 2c 20 24 64 69 73 61 62 6c 65 54 6c 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 tions,.$disableTls);.}.catch.(Tr
78580 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 ansportException.$e).{.if.(false
785a0 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 63 .!==.strpos($e->getMessage(),.'c
785c0 61 66 69 6c 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 55 6e afile')).{.$io->write('<error>Un
785e0 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 61 20 76 61 6c 69 64 20 43 41 20 63 65 72 74 69 66 able.to.locate.a.valid.CA.certif
78600 69 63 61 74 65 20 66 69 6c 65 2e 20 59 6f 75 20 6d 75 73 74 20 73 65 74 20 61 20 76 61 6c 69 64 icate.file..You.must.set.a.valid
78620 20 5c 27 63 61 66 69 6c 65 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 .\'cafile\'.option.</error>');.$
78640 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 41 20 76 61 6c 69 64 20 43 41 20 63 65 72 io->write('<error>A.valid.CA.cer
78660 74 69 66 69 63 61 74 65 20 66 69 6c 65 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 53 53 tificate.file.is.required.for.SS
78680 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 69 66 20 L/TLS.protection.</error>');.if.
786a0 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 24 69 6f 2d 3e (PHP_VERSION_ID.<.50600).{.$io->
786c0 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 write('<error>It.is.recommended.
786e0 79 6f 75 20 75 70 67 72 61 64 65 20 74 6f 20 50 48 50 20 35 2e 36 2b 20 77 68 69 63 68 20 63 61 you.upgrade.to.PHP.5.6+.which.ca
78700 6e 20 64 65 74 65 63 74 20 79 6f 75 72 20 73 79 73 74 65 6d 20 43 41 20 66 69 6c 65 20 61 75 74 n.detect.your.system.CA.file.aut
78720 6f 6d 61 74 69 63 61 6c 6c 79 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 omatically.</error>');.}.$io->wr
78740 69 74 65 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 74 68 69 73 ite('<error>You.can.disable.this
78760 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 73 65 74 .error,.at.your.own.risk,.by.set
78780 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 20 ting.the.\'disable-tls\'.option.
787a0 74 6f 20 74 72 75 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a to.true.</error>');.}.throw.$e;.
787c0 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a }..return.$remoteFilesystem;.}..
787e0 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 58 64 ...private.static.function.useXd
78800 67 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 5f 53 45 52 56 g().{.foreach.(array_keys($_SERV
78820 45 52 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 ER).as.$key).{.if.(substr($key,.
78840 30 2c 20 34 29 20 3d 3d 3d 20 27 58 44 47 5f 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0,.4).===.'XDG_').{.return.true;
78860 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .}.}..return.false;.}......priva
78880 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 44 69 72 28 29 0a te.static.function.getUserDir().
788a0 7b 0a 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 3b 0a 69 66 20 28 21 24 {.$home.=.getenv('HOME');.if.(!$
788c0 68 6f 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 home).{.throw.new.\RuntimeExcept
788e0 69 6f 6e 28 27 54 68 65 20 48 4f 4d 45 20 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 20 65 ion('The.HOME.or.COMPOSER_HOME.e
78900 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 nvironment.variable.must.be.set.
78920 66 6f 72 20 63 6f 6d 70 6f 73 65 72 20 74 6f 20 72 75 6e 20 63 6f 72 72 65 63 74 6c 79 27 29 3b for.composer.to.run.correctly');
78940 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 74 72 28 24 68 6f 6d 65 2c 20 27 5c .}..return.rtrim(strtr($home,.'\
78960 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a \',.'/'),.'/');.}.}.<?php.......
78980 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 .....namespace.Composer\IO;..use
789a0 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 .Composer\Config;.use.Composer\U
789c0 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 til\ProcessExecutor;.use.Psr\Log
789e0 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f \LoggerInterface;.use.Psr\Log\Lo
78a00 67 4c 65 76 65 6c 3b 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 49 4f 20 69 gLevel;..abstract.class.BaseIO.i
78a20 6d 70 6c 65 6d 65 6e 74 73 20 49 4f 49 6e 74 65 72 66 61 63 65 2c 20 4c 6f 67 67 65 72 49 6e 74 mplements.IOInterface,.LoggerInt
78a40 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 65 6e 74 69 63 61 74 69 erface.{.protected.$authenticati
78a60 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ons.=.array();.....public.functi
78a80 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e on.getAuthentications().{.return
78aa0 20 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 .$this->authentications;.}.....p
78ac0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e ublic.function.hasAuthentication
78ae0 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 ($repositoryName).{.return.isset
78b00 28 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 ($this->authentications[$reposit
78b20 6f 72 79 4e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e oryName]);.}.....public.function
78b40 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 .getAuthentication($repositoryNa
78b60 6d 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 me).{.if.(isset($this->authentic
78b80 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 ations[$repositoryName])).{.retu
78ba0 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 rn.$this->authentications[$repos
78bc0 69 74 6f 72 79 4e 61 6d 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 75 73 65 itoryName];.}..return.array('use
78be0 72 6e 61 6d 65 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 6e 75 rname'.=>.null,.'password'.=>.nu
78c00 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 ll);.}.....public.function.setAu
78c20 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 thentication($repositoryName,.$u
78c40 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 sername,.$password.=.null).{.$th
78c60 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e is->authentications[$repositoryN
78c80 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 75 73 65 72 ame].=.array('username'.=>.$user
78ca0 6e 61 6d 65 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 70 61 73 73 77 6f 72 64 29 3b 0a name,.'password'.=>.$password);.
78cc0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 }.........protected.function.che
78ce0 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f ckAndSetAuthentication($reposito
78d00 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e ryName,.$username,.$password.=.n
78d20 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 ull).{.if.($this->hasAuthenticat
78d40 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 ion($repositoryName)).{.$auth.=.
78d60 24 74 68 69 73 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 $this->getAuthentication($reposi
78d80 74 6f 72 79 4e 61 6d 65 29 3b 0a 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d toryName);.if.($auth['username']
78da0 20 3d 3d 3d 20 24 75 73 65 72 6e 61 6d 65 20 26 26 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 .===.$username.&&.$auth['passwor
78dc0 64 27 5d 20 3d 3d 3d 20 24 70 61 73 73 77 6f 72 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a d'].===.$password).{.return;.}..
78de0 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 0a 22 3c 77 61 $this->writeError(.sprintf(."<wa
78e00 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 rning>Warning:.You.should.avoid.
78e20 6f 76 65 72 77 72 69 74 69 6e 67 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 61 75 74 68 overwriting.already.defined.auth
78e40 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 2c 0a 24 72 .settings.for.%s.</warning>",.$r
78e60 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 0a 29 0a 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 65 74 41 epositoryName.).);.}.$this->setA
78e80 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 uthentication($repositoryName,.$
78ea0 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c username,.$password);.}.....publ
78ec0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 43 6f ic.function.loadConfiguration(Co
78ee0 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 62 69 74 62 75 63 6b 65 74 4f 61 75 74 68 20 nfig.$config).{.$bitbucketOauth.
78f00 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 =.$config->get('bitbucket-oauth'
78f20 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 67 69 74 68 75 62 4f 61 75 74 68 20 3d 20 24 63 6f ).?:.array();.$githubOauth.=.$co
78f40 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 nfig->get('github-oauth').?:.arr
78f60 61 79 28 29 3b 0a 24 67 69 74 6c 61 62 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 ay();.$gitlabOauth.=.$config->ge
78f80 74 28 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 67 t('gitlab-oauth').?:.array();.$g
78fa0 69 74 6c 61 62 54 6f 6b 65 6e 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 itlabToken.=.$config->get('gitla
78fc0 62 2d 74 6f 6b 65 6e 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 68 74 74 70 42 61 73 69 63 b-token').?:.array();.$httpBasic
78fe0 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 20 3f 3a .=.$config->get('http-basic').?:
79000 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 62 75 63 6b 65 74 .array();....foreach.($bitbucket
79020 4f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 63 72 65 64 29 20 7b 0a 24 74 68 Oauth.as.$domain.=>.$cred).{.$th
79040 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 is->checkAndSetAuthentication($d
79060 6f 6d 61 69 6e 2c 20 24 63 72 65 64 5b 27 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 27 5d 2c 20 24 63 omain,.$cred['consumer-key'],.$c
79080 72 65 64 5b 27 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 red['consumer-secret']);.}..fore
790a0 61 63 68 20 28 24 67 69 74 68 75 62 4f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 ach.($githubOauth.as.$domain.=>.
790c0 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 2e 61 $token).{.if.(!preg_match('{^[.a
790e0 2d 7a 30 2d 39 5d 2b 24 7d 27 2c 20 24 74 6f 6b 65 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 -z0-9]+$}',.$token)).{.throw.new
79100 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 72 .\UnexpectedValueException('Your
79120 20 67 69 74 68 75 62 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 .github.oauth.token.for.'.$domai
79140 6e 2e 27 20 63 6f 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 63 68 61 72 61 63 74 65 72 73 3a n.'.contains.invalid.characters:
79160 20 22 27 2e 24 74 6f 6b 65 6e 2e 27 22 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 ."'.$token.'"');.}.$this->checkA
79180 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f ndSetAuthentication($domain,.$to
791a0 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 ken,.'x-oauth-basic');.}..foreac
791c0 68 20 28 24 67 69 74 6c 61 62 4f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 h.($gitlabOauth.as.$domain.=>.$t
791e0 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e oken).{.$this->checkAndSetAuthen
79200 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 6f 61 75 74 68 tication($domain,.$token,.'oauth
79220 32 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 67 69 74 6c 61 62 54 6f 6b 65 6e 20 61 73 2');.}..foreach.($gitlabToken.as
79240 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 .$domain.=>.$token).{.$this->che
79260 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 ckAndSetAuthentication($domain,.
79280 24 74 6f 6b 65 6e 2c 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 0a 0a 20 66 $token,.'private-token');.}....f
792a0 6f 72 65 61 63 68 20 28 24 68 74 74 70 42 61 73 69 63 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e oreach.($httpBasic.as.$domain.=>
792c0 20 24 63 72 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 .$cred).{.$this->checkAndSetAuth
792e0 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 63 72 65 64 5b 27 75 73 65 72 6e entication($domain,.$cred['usern
79300 61 6d 65 27 5d 2c 20 24 63 72 65 64 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 7d 0a 0a 0a 20 ame'],.$cred['password']);.}....
79320 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 54 69 6d 65 6f 75 74 28 28 69 6e 74 ProcessExecutor::setTimeout((int
79340 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 ).$config->get('process-timeout'
79360 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d ));.}.........public.function.em
79380 65 72 67 65 6e 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 ergency($message,.array.$context
793a0 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 .=.array()).{.return.$this->log(
793c0 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 LogLevel::EMERGENCY,.$message,.$
793e0 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 context);.}............public.fu
79400 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f nction.alert($message,.array.$co
79420 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ntext.=.array()).{.return.$this-
79440 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 >log(LogLevel::ALERT,.$message,.
79460 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $context);.}...........public.fu
79480 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 nction.critical($message,.array.
794a0 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 $context.=.array()).{.return.$th
794c0 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 is->log(LogLevel::CRITICAL,.$mes
794e0 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c sage,.$context);.}..........publ
79500 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 ic.function.error($message,.arra
79520 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 y.$context.=.array()).{.return.$
79540 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 this->log(LogLevel::ERROR,.$mess
79560 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 age,.$context);.}............pub
79580 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 lic.function.warning($message,.a
795a0 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 rray.$context.=.array()).{.retur
795c0 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 n.$this->log(LogLevel::WARNING,.
795e0 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 $message,.$context);.}.........p
79600 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 ublic.function.notice($message,.
79620 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 array.$context.=.array()).{.retu
79640 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 rn.$this->log(LogLevel::NOTICE,.
79660 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $message,.$context);.}..........
79680 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 .public.function.info($message,.
796a0 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 array.$context.=.array()).{.retu
796c0 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d rn.$this->log(LogLevel::INFO,.$m
796e0 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 essage,.$context);.}.........pub
79700 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 lic.function.debug($message,.arr
79720 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 ay.$context.=.array()).{.return.
79740 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 $this->log(LogLevel::DEBUG,.$mes
79760 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c sage,.$context);.}..........publ
79780 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 ic.function.log($level,.$message
797a0 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 ,.array.$context.=.array()).{.if
797c0 20 28 69 6e 5f 61 72 72 61 79 28 24 6c 65 76 65 6c 2c 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 .(in_array($level,.array(LogLeve
797e0 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 4c l::EMERGENCY,.LogLevel::ALERT,.L
79800 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 ogLevel::CRITICAL,.LogLevel::ERR
79820 4f 52 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f OR))).{.$this->writeError('<erro
79840 72 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 73 r>'.$message.'</error>',.true,.s
79860 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d elf::NORMAL);.}.elseif.($level.=
79880 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 20 7b 0a 24 74 68 69 73 2d 3e 77 ==.LogLevel::WARNING).{.$this->w
798a0 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 riteError('<warning>'.$message.'
798c0 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 </warning>',.true,.self::NORMAL)
798e0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a ;.}.elseif.($level.===.LogLevel:
79900 3a 4e 4f 54 49 43 45 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 :NOTICE).{.$this->writeError('<i
79920 6e 66 6f 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 nfo>'.$message.'</info>',.true,.
79940 73 65 6c 66 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c self::VERBOSE);.}.elseif.($level
79960 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 .===.LogLevel::INFO).{.$this->wr
79980 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 69 6e iteError('<info>'.$message.'</in
799a0 66 6f 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b fo>',.true,.self::VERY_VERBOSE);
799c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 .}.else.{.$this->writeError($mes
799e0 73 61 67 65 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 7d 0a 7d 0a sage,.true,.self::DEBUG);.}.}.}.
79a00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
79a20 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ser\IO;..use.Symfony\Component\C
79a40 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 75 73 65 20 onsole\Output\StreamOutput;.use.
79a60 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 Symfony\Component\Console\Format
79a80 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ter\OutputFormatterInterface;.us
79aa0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
79ac0 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f t\StringInput;.use.Symfony\Compo
79ae0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 0a nent\Console\Helper\HelperSet;..
79b00 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 49 4f 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c ...class.BufferIO.extends.Consol
79b20 65 49 4f 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e eIO.{......public.function.__con
79b40 73 74 72 75 63 74 28 24 69 6e 70 75 74 20 3d 20 27 27 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d struct($input.=.'',.$verbosity.=
79b60 20 53 74 72 65 61 6d 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c .StreamOutput::VERBOSITY_NORMAL,
79b80 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 .OutputFormatterInterface.$forma
79ba0 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 tter.=.null).{.$input.=.new.Stri
79bc0 6e 67 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 ngInput($input);.$input->setInte
79be0 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 ractive(false);..$output.=.new.S
79c00 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 treamOutput(fopen('php://memory'
79c20 2c 20 27 72 77 27 29 2c 20 24 76 65 72 62 6f 73 69 74 79 2c 20 24 66 6f 72 6d 61 74 74 65 72 20 ,.'rw'),.$verbosity,.$formatter.
79c40 3f 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3a 20 66 61 ?.$formatter->isDecorated().:.fa
79c60 6c 73 65 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e lse,.$formatter);..parent::__con
79c80 73 74 72 75 63 74 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 6e 65 77 20 48 65 6c 70 struct($input,.$output,.new.Help
79ca0 65 72 53 65 74 28 61 72 72 61 79 28 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 erSet(array()));.}..public.funct
79cc0 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 6f ion.getOutput().{.fseek($this->o
79ce0 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 2c 20 30 29 3b 0a 0a 24 6f 75 74 70 75 74 utput->getStream(),.0);..$output
79d00 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 75 .=.stream_get_contents($this->ou
79d20 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 tput->getStream());..$output.=.p
79d40 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 28 3f 3c 3d 5e 7c 5c 6e 7c reg_replace_callback("{(?<=^|\n|
79d60 5c 78 30 38 29 28 2e 2b 3f 29 28 5c 78 30 38 2b 29 7d 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 \x08)(.+?)(\x08+)}",.function.($
79d80 6d 61 74 63 68 65 73 29 20 7b 0a 24 70 72 65 20 3d 20 73 74 72 69 70 5f 74 61 67 73 28 24 6d 61 matches).{.$pre.=.strip_tags($ma
79da0 74 63 68 65 73 5b 31 5d 29 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 70 72 65 29 20 3d 3d 3d tches[1]);..if.(strlen($pre).===
79dc0 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 .strlen($matches[2])).{.return.'
79de0 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 31 5d ';.}....return.rtrim($matches[1]
79e00 29 2e 22 5c 6e 22 3b 0a 7d 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 )."\n";.},.$output);..return.$ou
79e20 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 tput;.}.}.<?php............names
79e40 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c pace.Composer\IO;..use.Composer\
79e60 51 75 65 73 74 69 6f 6e 5c 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 Question\StrictConfirmationQuest
79e80 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
79ea0 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 le\Helper\HelperSet;.use.Symfony
79ec0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e \Component\Console\Input\InputIn
79ee0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
79f00 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 onsole\Output\ConsoleOutputInter
79f20 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
79f40 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ole\Output\OutputInterface;.use.
79f60 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 Symfony\Component\Console\Questi
79f80 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 on\ChoiceQuestion;.use.Symfony\C
79fa0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 omponent\Console\Question\Questi
79fc0 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 49 4f 20 65 78 74 65 6e on;........class.ConsoleIO.exten
79fe0 64 73 20 42 61 73 65 49 4f 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 0a ds.BaseIO.{..protected.$input;..
7a000 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 68 protected.$output;..protected.$h
7a020 65 6c 70 65 72 53 65 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 73 74 4d 65 73 73 61 67 elperSet;..protected.$lastMessag
7a040 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 3b 0a 0a e;..protected.$lastMessageErr;..
7a060 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 0a 70 72 69 76 61 74 65 20 24 76 .private.$startTime;..private.$v
7a080 65 72 62 6f 73 69 74 79 4d 61 70 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 erbosityMap;.........public.func
7a0a0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 tion.__construct(InputInterface.
7a0c0 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c $input,.OutputInterface.$output,
7a0e0 20 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e .HelperSet.$helperSet).{.$this->
7a100 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 input.=.$input;.$this->output.=.
7a120 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c $output;.$this->helperSet.=.$hel
7a140 70 65 72 53 65 74 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4d 61 70 20 3d 20 61 72 perSet;.$this->verbosityMap.=.ar
7a160 72 61 79 28 0a 73 65 6c 66 3a 3a 51 55 49 45 54 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 ray(.self::QUIET.=>.OutputInterf
7a180 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 2c 0a 73 65 6c 66 3a 3a 4e 4f 52 4d ace::VERBOSITY_QUIET,.self::NORM
7a1a0 41 4c 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 AL.=>.OutputInterface::VERBOSITY
7a1c0 5f 4e 4f 52 4d 41 4c 2c 0a 73 65 6c 66 3a 3a 56 45 52 42 4f 53 45 20 3d 3e 20 4f 75 74 70 75 74 _NORMAL,.self::VERBOSE.=>.Output
7a1e0 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 Interface::VERBOSITY_VERBOSE,.se
7a200 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 lf::VERY_VERBOSE.=>.OutputInterf
7a220 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 6c ace::VERBOSITY_VERY_VERBOSE,.sel
7a240 66 3a 3a 44 45 42 55 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 f::DEBUG.=>.OutputInterface::VER
7a260 42 4f 53 49 54 59 5f 44 45 42 55 47 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 BOSITY_DEBUG,.);.}.....public.fu
7a280 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 44 65 62 75 67 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d nction.enableDebugging($startTim
7a2a0 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 24 73 74 61 72 74 54 69 e).{.$this->startTime.=.$startTi
7a2c0 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 me;.}.....public.function.isInte
7a2e0 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d ractive().{.return.$this->input-
7a300 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 >isInteractive();.}.....public.f
7a320 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.isDecorated().{.return.$
7a340 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a this->output->isDecorated();.}..
7a360 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b ...public.function.isVerbose().{
7a380 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 .return.$this->output->getVerbos
7a3a0 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 ity().>=.OutputInterface::VERBOS
7a3c0 49 54 59 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ITY_VERBOSE;.}.....public.functi
7a3e0 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 on.isVeryVerbose().{.return.$thi
7a400 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 s->output->getVerbosity().>=.Out
7a420 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 putInterface::VERBOSITY_VERY_VER
7a440 42 4f 53 45 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 BOSE;.}.....public.function.isDe
7a460 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 bug().{.return.$this->output->ge
7a480 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a tVerbosity().>=.OutputInterface:
7a4a0 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 :VERBOSITY_DEBUG;.}.....public.f
7a4c0 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e unction.write($messages,.$newlin
7a4e0 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 e.=.true,.$verbosity.=.self::NOR
7a500 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c MAL).{.$this->doWrite($messages,
7a520 20 24 6e 65 77 6c 69 6e 65 2c 20 66 61 6c 73 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d .$newline,.false,.$verbosity);.}
7a540 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 .....public.function.writeError(
7a560 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 $messages,.$newline.=.true,.$ver
7a580 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e bosity.=.self::NORMAL).{.$this->
7a5a0 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 74 72 75 doWrite($messages,.$newline,.tru
7a5c0 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 e,.$verbosity);.}........private
7a5e0 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 .function.doWrite($messages,.$ne
7a600 77 6c 69 6e 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 0a 7b 0a 24 73 wline,.$stderr,.$verbosity).{.$s
7a620 66 56 65 72 62 6f 73 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4d 61 70 fVerbosity.=.$this->verbosityMap
7a640 5b 24 76 65 72 62 6f 73 69 74 79 5d 3b 0a 69 66 20 28 24 73 66 56 65 72 62 6f 73 69 74 79 20 3e [$verbosity];.if.($sfVerbosity.>
7a660 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 .$this->output->getVerbosity()).
7a680 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 4f 75 74 70 75 74 49 6e 74 {.return;.}........if.(OutputInt
7a6a0 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 30 29 20 7b erface::VERBOSITY_QUIET.===.0).{
7a6c0 0a 24 73 66 56 65 72 62 6f 73 69 74 79 20 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a .$sfVerbosity.=.OutputInterface:
7a6e0 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 :OUTPUT_NORMAL;.}..if.(null.!==.
7a700 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 24 6d 65 6d 6f 72 79 55 73 61 67 65 $this->startTime).{.$memoryUsage
7a720 20 3d 20 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 .=.memory_get_usage()./.1024./.1
7a740 30 32 34 3b 0a 24 74 69 6d 65 53 70 65 6e 74 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 024;.$timeSpent.=.microtime(true
7a760 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 24 6d 65 73 73 61 67 65 73 20 ).-.$this->startTime;.$messages.
7a780 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6d 65 73 73 61 67 65 29 20 =.array_map(function.($message).
7a7a0 75 73 65 20 28 24 6d 65 6d 6f 72 79 55 73 61 67 65 2c 20 24 74 69 6d 65 53 70 65 6e 74 29 20 7b use.($memoryUsage,.$timeSpent).{
7a7c0 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 5b 25 2e 31 66 4d 69 42 2f 25 2e 32 66 73 5d .return.sprintf('[%.1fMiB/%.2fs]
7a7e0 20 25 73 27 2c 20 24 6d 65 6d 6f 72 79 55 73 61 67 65 2c 20 24 74 69 6d 65 53 70 65 6e 74 2c 20 .%s',.$memoryUsage,.$timeSpent,.
7a800 24 6d 65 73 73 61 67 65 29 3b 0a 7d 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 $message);.},.(array).$messages)
7a820 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 73 74 64 65 72 72 20 26 26 20 24 74 68 ;.}..if.(true.===.$stderr.&&.$th
7a840 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 is->output.instanceof.ConsoleOut
7a860 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 putInterface).{.$this->output->g
7a880 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 etErrorOutput()->write($messages
7a8a0 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 66 56 65 72 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 73 ,.$newline,.$sfVerbosity);.$this
7a8c0 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c ->lastMessageErr.=.implode($newl
7a8e0 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 ine.?."\n".:.'',.(array).$messag
7a900 65 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e es);..return;.}..$this->output->
7a920 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 66 56 65 write($messages,.$newline,.$sfVe
7a940 72 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d 20 69 rbosity);.$this->lastMessage.=.i
7a960 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 mplode($newline.?."\n".:.'',.(ar
7a980 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ray).$messages);.}.....public.fu
7a9a0 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 nction.overwrite($messages,.$new
7a9c0 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 line.=.true,.$size.=.null,.$verb
7a9e0 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 osity.=.self::NORMAL).{.$this->d
7aa00 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 oOverwrite($messages,.$newline,.
7aa20 24 73 69 7a 65 2c 20 66 61 6c 73 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a $size,.false,.$verbosity);.}....
7aa40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 .public.function.overwriteError(
7aa60 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a $messages,.$newline.=.true,.$siz
7aa80 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 e.=.null,.$verbosity.=.self::NOR
7aaa0 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 MAL).{.$this->doOverwrite($messa
7aac0 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 7a 65 2c 20 74 72 75 65 2c 20 24 76 65 72 ges,.$newline,.$size,.true,.$ver
7aae0 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 bosity);.}.........private.funct
7ab00 69 6f 6e 20 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c ion.doOverwrite($messages,.$newl
7ab20 69 6e 65 2c 20 24 73 69 7a 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 ine,.$size,.$stderr,.$verbosity)
7ab40 0a 7b 0a 0a 20 24 6d 65 73 73 61 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e .{...$messages.=.implode($newlin
7ab60 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 e.?."\n".:.'',.(array).$messages
7ab80 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 73 69 7a 65 29 29 20 7b 0a 0a 20 24 73 69 );....if.(!isset($size)).{...$si
7aba0 7a 65 20 3d 20 73 74 72 6c 65 6e 28 73 74 72 69 70 5f 74 61 67 73 28 24 73 74 64 65 72 72 20 3f ze.=.strlen(strip_tags($stderr.?
7abc0 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 20 3a 20 24 74 68 69 73 2d 3e .$this->lastMessageErr.:.$this->
7abe0 6c 61 73 74 4d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 lastMessage));.}...$this->doWrit
7ac00 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 30 38 22 2c 20 24 73 69 7a 65 29 2c 20 66 61 6c e(str_repeat("\x08",.$size),.fal
7ac20 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 0a 0a 20 24 74 68 se,.$stderr,.$verbosity);....$th
7ac40 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 66 61 6c 73 65 2c 20 24 73 is->doWrite($messages,.false,.$s
7ac60 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 0a 0a 20 0a 20 0a 20 24 66 69 6c 6c tderr,.$verbosity);........$fill
7ac80 20 3d 20 24 73 69 7a 65 20 2d 20 73 74 72 6c 65 6e 28 73 74 72 69 70 5f 74 61 67 73 28 24 6d 65 .=.$size.-.strlen(strip_tags($me
7aca0 73 73 61 67 65 73 29 29 3b 0a 69 66 20 28 24 66 69 6c 6c 20 3e 20 30 29 20 7b 0a 0a 20 24 74 68 ssages));.if.($fill.>.0).{...$th
7acc0 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 66 69 6c is->doWrite(str_repeat('.',.$fil
7ace0 6c 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b l),.false,.$stderr,.$verbosity);
7ad00 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 ...$this->doWrite(str_repeat("\x
7ad20 30 38 22 2c 20 24 66 69 6c 6c 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 08",.$fill),.false,.$stderr,.$ve
7ad40 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 69 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 rbosity);.}..if.($newline).{.$th
7ad60 69 73 2d 3e 64 6f 57 72 69 74 65 28 27 27 2c 20 74 72 75 65 2c 20 24 73 74 64 65 72 72 2c 20 24 is->doWrite('',.true,.$stderr,.$
7ad80 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 69 66 20 28 24 73 74 64 65 72 72 29 20 7b 0a 24 74 verbosity);.}..if.($stderr).{.$t
7ada0 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 20 3d 20 24 6d 65 73 73 61 67 65 73 3b his->lastMessageErr.=.$messages;
7adc0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d 20 24 .}.else.{.$this->lastMessage.=.$
7ade0 6d 65 73 73 61 67 65 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f messages;.}.}.....public.functio
7ae00 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c n.ask($question,.$default.=.null
7ae20 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d ).{..$helper.=.$this->helperSet-
7ae40 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 >get('question');.$question.=.ne
7ae60 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b w.Question($question,.$default);
7ae80 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 ..return.$helper->ask($this->inp
7aea0 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 ut,.$this->getErrorOutput(),.$qu
7aec0 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 estion);.}.....public.function.a
7aee0 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 skConfirmation($question,.$defau
7af00 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 lt.=.true).{..$helper.=.$this->h
7af20 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 elperSet->get('question');.$ques
7af40 74 69 6f 6e 20 3d 20 6e 65 77 20 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 tion.=.new.StrictConfirmationQue
7af60 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 stion($question,.$default);..ret
7af80 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 urn.$helper->ask($this->input,.$
7afa0 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f this->getErrorOutput(),.$questio
7afc0 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 n);.}.....public.function.askAnd
7afe0 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 Validate($question,.$validator,.
7b000 24 61 74 74 65 6d 70 74 73 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c $attempts.=.null,.$default.=.nul
7b020 6c 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 l).{..$helper.=.$this->helperSet
7b040 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e ->get('question');.$question.=.n
7b060 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 ew.Question($question,.$default)
7b080 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 ;.$question->setValidator($valid
7b0a0 61 74 6f 72 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 ator);.$question->setMaxAttempts
7b0c0 28 24 61 74 74 65 6d 70 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 ($attempts);..return.$helper->as
7b0e0 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f k($this->input,.$this->getErrorO
7b100 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 utput(),.$question);.}.....publi
7b120 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 c.function.askAndHideAnswer($que
7b140 73 74 69 6f 6e 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 stion).{..$helper.=.$this->helpe
7b160 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e rSet->get('question');.$question
7b180 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 24 71 75 65 .=.new.Question($question);.$que
7b1a0 73 74 69 6f 6e 2d 3e 73 65 74 48 69 64 64 65 6e 28 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 stion->setHidden(true);..return.
7b1c0 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 $helper->ask($this->input,.$this
7b1e0 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a ->getErrorOutput(),.$question);.
7b200 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 }.....public.function.select($qu
7b220 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 estion,.$choices,.$default,.$att
7b240 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 empts.=.false,.$errorMessage.=.'
7b260 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 Value."%s".is.invalid',.$multise
7b280 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 lect.=.false).{..$helper.=.$this
7b2a0 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 ->helperSet->get('question');.$q
7b2c0 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 28 24 71 75 uestion.=.new.ChoiceQuestion($qu
7b2e0 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 estion,.$choices,.$default);.$qu
7b300 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 estion->setMaxAttempts($attempts
7b320 20 3f 3a 20 6e 75 6c 6c 29 3b 20 0a 20 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 45 72 72 6f 72 .?:.null);...$question->setError
7b340 4d 65 73 73 61 67 65 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 24 71 75 65 73 74 69 6f Message($errorMessage);.$questio
7b360 6e 2d 3e 73 65 74 4d 75 6c 74 69 73 65 6c 65 63 74 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 3b n->setMultiselect($multiselect);
7b380 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e ..$result.=.$helper->ask($this->
7b3a0 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 input,.$this->getErrorOutput(),.
7b3c0 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 73 75 $question);..if.(!is_array($resu
7b3e0 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 61 72 72 61 79 5f 73 65 61 lt)).{.return.(string).array_sea
7b400 72 63 68 28 24 72 65 73 75 6c 74 2c 20 24 63 68 6f 69 63 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a rch($result,.$choices,.true);.}.
7b420 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 .$results.=.array();.foreach.($c
7b440 68 6f 69 63 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 63 68 6f 69 63 65 29 20 7b 0a 69 hoices.as.$index.=>.$choice).{.i
7b460 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 68 6f 69 63 65 2c 20 24 72 65 73 75 6c 74 2c 20 74 72 f.(in_array($choice,.$result,.tr
7b480 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 69 6e ue)).{.$results[].=.(string).$in
7b4a0 64 65 78 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 0a 0a dex;.}.}..return.$results;.}....
7b4c0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 .private.function.getErrorOutput
7b4e0 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f ().{.if.($this->output.instanceo
7b500 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 72 65 74 75 f.ConsoleOutputInterface).{.retu
7b520 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 rn.$this->output->getErrorOutput
7b540 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 7d ();.}..return.$this->output;.}.}
7b560 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
7b580 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a oser\IO;..use.Composer\Config;..
7b5a0 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 4f 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e .....interface.IOInterface.{.con
7b5c0 73 74 20 51 55 49 45 54 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4e 4f 52 4d 41 4c 20 3d 20 32 3b 0a st.QUIET.=.1;.const.NORMAL.=.2;.
7b5e0 63 6f 6e 73 74 20 56 45 52 42 4f 53 45 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 56 45 52 59 5f 56 45 const.VERBOSE.=.4;.const.VERY_VE
7b600 52 42 4f 53 45 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 44 45 42 55 47 20 3d 20 31 36 3b 0a 0a 0a 0a RBOSE.=.8;.const.DEBUG.=.16;....
7b620 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 ...public.function.isInteractive
7b640 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 ();.......public.function.isVerb
7b660 6f 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 ose();.......public.function.isV
7b680 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 eryVerbose();.......public.funct
7b6a0 69 6f 6e 20 69 73 44 65 62 75 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ion.isDebug();.......public.func
7b6c0 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tion.isDecorated();.........publ
7b6e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 ic.function.write($messages,.$ne
7b700 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a wline.=.true,.$verbosity.=.self:
7b720 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f :NORMAL);.........public.functio
7b740 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 n.writeError($messages,.$newline
7b760 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d .=.true,.$verbosity.=.self::NORM
7b780 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 AL);..........public.function.ov
7b7a0 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 erwrite($messages,.$newline.=.tr
7b7c0 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 ue,.$size.=.null,.$verbosity.=.s
7b7e0 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 elf::NORMAL);..........public.fu
7b800 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c nction.overwriteError($messages,
7b820 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 .$newline.=.true,.$size.=.null,.
7b840 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a $verbosity.=.self::NORMAL);.....
7b860 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 ......public.function.ask($quest
7b880 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ion,.$default.=.null);..........
7b8a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f ..public.function.askConfirmatio
7b8c0 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 3b 0a 0a n($question,.$default.=.true);..
7b8e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 ...............public.function.a
7b900 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 skAndValidate($question,.$valida
7b920 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 66 61 75 6c 74 20 tor,.$attempts.=.null,.$default.
7b940 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e =.null);.........public.function
7b960 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 0a .askAndHideAnswer($question);...
7b980 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 ............public.function.sele
7b9a0 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 ct($question,.$choices,.$default
7b9c0 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 ,.$attempts.=.false,.$errorMessa
7b9e0 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d ge.=.'Value."%s".is.invalid',.$m
7ba00 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ultiselect.=.false);.......publi
7ba20 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b c.function.getAuthentications();
7ba40 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 .........public.function.hasAuth
7ba60 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a entication($repositoryName);....
7ba80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 .....public.function.getAuthenti
7baa0 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a cation($repositoryName);........
7bac0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 .public.function.setAuthenticati
7bae0 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 on($repositoryName,.$username,.$
7bb00 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 password.=.null);.......public.f
7bb20 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 43 6f 6e 66 69 67 unction.loadConfiguration(Config
7bb40 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 .$config);.}.<?php............na
7bb60 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 mespace.Composer\IO;.......class
7bb80 20 4e 75 6c 6c 49 4f 20 65 78 74 65 6e 64 73 20 42 61 73 65 49 4f 0a 7b 0a 0a 0a 0a 70 75 62 6c .NullIO.extends.BaseIO.{....publ
7bba0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 ic.function.isInteractive().{.re
7bbc0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f turn.false;.}.....public.functio
7bbe0 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a n.isVerbose().{.return.false;.}.
7bc00 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 ....public.function.isVeryVerbos
7bc20 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 e().{.return.false;.}.....public
7bc40 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c .function.isDebug().{.return.fal
7bc60 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f se;.}.....public.function.isDeco
7bc80 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 rated().{.return.false;.}.....pu
7bca0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 blic.function.write($messages,.$
7bcc0 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c newline.=.true,.$verbosity.=.sel
7bce0 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 f::NORMAL).{.}.....public.functi
7bd00 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e on.writeError($messages,.$newlin
7bd20 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 e.=.true,.$verbosity.=.self::NOR
7bd40 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 MAL).{.}.....public.function.ove
7bd60 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 rwrite($messages,.$newline.=.tru
7bd80 65 2c 20 24 73 69 7a 65 20 3d 20 38 30 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 e,.$size.=.80,.$verbosity.=.self
7bda0 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ::NORMAL).{.}.....public.functio
7bdc0 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 n.overwriteError($messages,.$new
7bde0 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 38 30 2c 20 24 76 65 72 62 6f 73 line.=.true,.$size.=.80,.$verbos
7be00 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ity.=.self::NORMAL).{.}.....publ
7be20 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 ic.function.ask($question,.$defa
7be40 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d ult.=.null).{.return.$default;.}
7be60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 .....public.function.askConfirma
7be80 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 tion($question,.$default.=.true)
7bea0 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .{.return.$default;.}.....public
7bec0 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 .function.askAndValidate($questi
7bee0 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 on,.$validator,.$attempts.=.fals
7bf00 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 e,.$default.=.null).{.return.$de
7bf20 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b fault;.}.....public.function.ask
7bf40 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 AndHideAnswer($question).{.retur
7bf60 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 n.null;.}.....public.function.se
7bf80 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 lect($question,.$choices,.$defau
7bfa0 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 lt,.$attempts.=.false,.$errorMes
7bfc0 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 sage.=.'Value."%s".is.invalid',.
7bfe0 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 $multiselect.=.false).{.return.$
7c000 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 default;.}.}.<?php............na
7c020 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c mespace.Composer;..use.Composer\
7c040 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 73 65 20 Autoload\AutoloadGenerator;.use.
7c060 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 44 65 66 61 Composer\DependencyResolver\Defa
7c080 75 6c 74 50 6f 6c 69 63 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e ultPolicy;.use.Composer\Dependen
7c0a0 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 cyResolver\Operation\UpdateOpera
7c0c0 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 tion;.use.Composer\DependencyRes
7c0e0 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e olver\Operation\InstallOperation
7c100 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ;.use.Composer\DependencyResolve
7c120 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a r\Operation\UninstallOperation;.
7c140 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c use.Composer\DependencyResolver\
7c160 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 Operation\MarkAliasUninstalledOp
7c180 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 eration;.use.Composer\Dependency
7c1a0 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 Resolver\Operation\OperationInte
7c1c0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 rface;.use.Composer\DependencyRe
7c1e0 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 solver\PolicyInterface;.use.Comp
7c200 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 oser\DependencyResolver\Pool;.us
7c220 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 e.Composer\DependencyResolver\Re
7c240 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 quest;.use.Composer\DependencyRe
7c260 73 6f 6c 76 65 72 5c 52 75 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 solver\Rule;.use.Composer\Depend
7c280 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 53 6f 6c 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 encyResolver\Solver;.use.Compose
7c2a0 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 53 6f 6c 76 65 72 50 72 6f 62 6c r\DependencyResolver\SolverProbl
7c2c0 65 6d 73 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c emsException;.use.Composer\Downl
7c2e0 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f oader\DownloadManager;.use.Compo
7c300 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 ser\EventDispatcher\EventDispatc
7c320 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 her;.use.Composer\Installer\Inst
7c340 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e allationManager;.use.Composer\In
7c360 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d staller\InstallerEvents;.use.Com
7c380 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 poser\Installer\NoopInstaller;.u
7c3a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 53 75 67 67 65 73 74 65 64 50 se.Composer\Installer\SuggestedP
7c3c0 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f ackagesReporter;.use.Composer\IO
7c3e0 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 \IOInterface;.use.Composer\Packa
7c400 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ge\AliasPackage;.use.Composer\Pa
7c420 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ckage\BasePackage;.use.Composer\
7c440 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d Package\CompletePackage;.use.Com
7c460 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 poser\Package\Link;.use.Composer
7c480 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 \Package\Loader\ArrayLoader;.use
7c4a0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 .Composer\Package\Dumper\ArrayDu
7c4c0 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 mper;.use.Composer\Semver\Constr
7c4e0 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 aint\Constraint;.use.Composer\Pa
7c500 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ckage\Locker;.use.Composer\Packa
7c520 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ge\PackageInterface;.use.Compose
7c540 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a r\Package\RootPackageInterface;.
7c560 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 use.Composer\Repository\Composit
7c580 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 eRepository;.use.Composer\Reposi
7c5a0 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 tory\InstalledArrayRepository;.u
7c5c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 se.Composer\Repository\PlatformR
7c5e0 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f epository;.use.Composer\Reposito
7c600 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ry\RepositoryInterface;.use.Comp
7c620 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 oser\Repository\RepositoryManage
7c640 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 57 72 69 74 61 r;.use.Composer\Repository\Writa
7c660 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 bleRepositoryInterface;.use.Comp
7c680 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a oser\Script\ScriptEvents;.......
7c6a0 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 .class.Installer.{....protected.
7c6c0 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a $io;.....protected.$config;.....
7c6e0 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 protected.$package;.....protecte
7c700 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 d.$downloadManager;.....protecte
7c720 64 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 d.$repositoryManager;.....protec
7c740 74 65 64 20 24 6c 6f 63 6b 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 ted.$locker;.....protected.$inst
7c760 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 allationManager;.....protected.$
7c780 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 eventDispatcher;.....protected.$
7c7a0 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 autoloadGenerator;..protected.$p
7c7c0 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 referSource.=.false;.protected.$
7c7e0 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f preferDist.=.false;.protected.$o
7c800 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 ptimizeAutoloader.=.false;.prote
7c820 63 74 65 64 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 cted.$classMapAuthoritative.=.fa
7c840 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d lse;.protected.$apcuAutoloader.=
7c860 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c .false;.protected.$devMode.=.fal
7c880 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 72 79 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 se;.protected.$dryRun.=.false;.p
7c8a0 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 rotected.$verbose.=.false;.prote
7c8c0 63 74 65 64 20 24 75 70 64 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 cted.$update.=.false;.protected.
7c8e0 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 $dumpAutoloader.=.true;.protecte
7c900 64 20 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 d.$runScripts.=.true;.protected.
7c920 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f $ignorePlatformReqs.=.false;.pro
7c940 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 tected.$preferStable.=.false;.pr
7c960 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 otected.$preferLowest.=.false;.p
7c980 72 6f 74 65 63 74 65 64 20 24 73 6b 69 70 53 75 67 67 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 rotected.$skipSuggest.=.false;.p
7c9a0 72 6f 74 65 63 74 65 64 20 24 77 72 69 74 65 4c 6f 63 6b 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 rotected.$writeLock.=.true;.prot
7c9c0 65 63 74 65 64 20 24 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b ected.$executeOperations.=.true;
7c9e0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 .......protected.$updateWhitelis
7ca00 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 44 65 t.=.null;.protected.$whitelistDe
7ca20 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 66 61 6c 73 65 3b 20 0a 20 70 72 6f 74 65 63 74 65 64 20 pendencies.=.false;...protected.
7ca40 24 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 66 61 6c 73 $whitelistAllDependencies.=.fals
7ca60 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 e;.....protected.$suggestedPacka
7ca80 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 69 gesReporter;.....protected.$addi
7caa0 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a tionalInstalledRepository;......
7cac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 .........public.function.__const
7cae0 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f ruct(IOInterface.$io,.Config.$co
7cb00 6e 66 69 67 2c 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b nfig,.RootPackageInterface.$pack
7cb20 61 67 65 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 age,.DownloadManager.$downloadMa
7cb40 6e 61 67 65 72 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 65 70 6f 73 69 nager,.RepositoryManager.$reposi
7cb60 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 4c 6f 63 6b 65 72 20 24 6c 6f 63 6b 65 72 2c 20 49 6e 73 toryManager,.Locker.$locker,.Ins
7cb80 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 tallationManager.$installationMa
7cba0 6e 61 67 65 72 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 nager,.EventDispatcher.$eventDis
7cbc0 70 61 74 63 68 65 72 2c 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f patcher,.AutoloadGenerator.$auto
7cbe0 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f loadGenerator).{.$this->io.=.$io
7cc00 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 ;.$this->config.=.$config;.$this
7cc20 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 ->package.=.$package;.$this->dow
7cc40 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b nloadManager.=.$downloadManager;
7cc60 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 72 65 70 .$this->repositoryManager.=.$rep
7cc80 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 ositoryManager;.$this->locker.=.
7cca0 24 6c 6f 63 6b 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 $locker;.$this->installationMana
7ccc0 67 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 ger.=.$installationManager;.$thi
7cce0 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 s->eventDispatcher.=.$eventDispa
7cd00 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 tcher;.$this->autoloadGenerator.
7cd20 3d 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 =.$autoloadGenerator;.}........p
7cd40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 67 ublic.function.run().{.........g
7cd60 63 5f 63 6f 6c 6c 65 63 74 5f 63 79 63 6c 65 73 28 29 3b 0a 67 63 5f 64 69 73 61 62 6c 65 28 29 c_collect_cycles();.gc_disable()
7cd80 3b 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 21 24 74 68 69 ;....if.(!$this->update.&&.!$thi
7cda0 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e s->locker->isLocked()).{.$this->
7cdc0 75 70 64 61 74 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 72 79 update.=.true;.}..if.($this->dry
7cde0 52 75 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 3d 20 74 72 75 65 3b 0a 24 74 Run).{.$this->verbose.=.true;.$t
7ce00 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e his->runScripts.=.false;.$this->
7ce20 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 executeOperations.=.false;.$this
7ce40 2d 3e 77 72 69 74 65 4c 6f 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 ->writeLock.=.false;.$this->dump
7ce60 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 Autoloader.=.false;.$this->insta
7ce80 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 llationManager->addInstaller(new
7cea0 20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 29 3b 0a 24 74 68 69 73 2d 3e 6d 6f 63 6b 4c 6f 63 61 .NoopInstaller);.$this->mockLoca
7cec0 6c 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d lRepositories($this->repositoryM
7cee0 61 6e 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 anager);.}..if.($this->runScript
7cf00 73 29 20 7b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 64 65 76 s).{.$devMode.=.(int).$this->dev
7cf20 4d 6f 64 65 3b 0a 70 75 74 65 6e 76 28 22 43 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 4d 4f 44 45 3d Mode;.putenv("COMPOSER_DEV_MODE=
7cf40 24 64 65 76 4d 6f 64 65 22 29 3b 0a 0a 0a 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 $devMode");....$eventName.=.$thi
7cf60 73 2d 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 s->update.?.ScriptEvents::PRE_UP
7cf80 44 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 DATE_CMD.:.ScriptEvents::PRE_INS
7cfa0 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 TALL_CMD;.$this->eventDispatcher
7cfc0 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 ->dispatchScript($eventName,.$th
7cfe0 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 is->devMode);.}..$this->download
7d000 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e Manager->setPreferSource($this->
7d020 70 72 65 66 65 72 53 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 preferSource);.$this->downloadMa
7d040 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 74 68 69 73 2d 3e 70 72 65 66 nager->setPreferDist($this->pref
7d060 65 72 44 69 73 74 29 3b 0a 0a 0a 20 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e erDist);....$localRepo.=.$this->
7d080 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 repositoryManager->getLocalRepos
7d0a0 69 74 6f 72 79 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 itory();.if.($this->update).{.$p
7d0c0 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 latformOverrides.=.$this->config
7d0e0 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 20 ->get('platform').?:.array();.}.
7d100 65 6c 73 65 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 74 68 69 else.{.$platformOverrides.=.$thi
7d120 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 28 s->locker->getPlatformOverrides(
7d140 29 3b 0a 7d 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 );.}.$platformRepo.=.new.Platfor
7d160 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 mRepository(array(),.$platformOv
7d180 65 72 72 69 64 65 73 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 errides);.$installedRepo.=.$this
7d1a0 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 24 6c 6f 63 61 6c 52 65 70 6f ->createInstalledRepo($localRepo
7d1c0 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 ,.$platformRepo);..$aliases.=.$t
7d1e0 68 69 73 2d 3e 67 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c his->getRootAliases();.$this->al
7d200 69 61 73 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 28 24 70 6c 61 74 66 6f 72 6d 52 65 70 iasPlatformPackages($platformRep
7d220 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 75 67 67 65 o,.$aliases);..if.(!$this->sugge
7d240 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 stedPackagesReporter).{.$this->s
7d260 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 20 3d 20 6e 65 77 20 53 uggestedPackagesReporter.=.new.S
7d280 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e uggestedPackagesReporter($this->
7d2a0 69 6f 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 6c 69 73 74 28 24 72 65 73 2c 20 24 64 65 76 50 61 63 io);.}..try.{.list($res,.$devPac
7d2c0 6b 61 67 65 73 29 20 3d 20 24 74 68 69 73 2d 3e 64 6f 49 6e 73 74 61 6c 6c 28 24 6c 6f 63 61 6c kages).=.$this->doInstall($local
7d2e0 52 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 Repo,.$installedRepo,.$platformR
7d300 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 20 28 24 72 65 73 20 21 3d 3d 20 30 29 20 epo,.$aliases);.if.($res.!==.0).
7d320 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 {.return.$res;.}.}.catch.(\Excep
7d340 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 tion.$e).{.if.($this->executeOpe
7d360 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 rations).{.$this->installationMa
7d380 6e 61 67 65 72 2d 3e 6e 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 24 74 68 69 73 2d 3e 69 6f 29 nager->notifyInstalls($this->io)
7d3a0 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 ;.}..throw.$e;.}.if.($this->exec
7d3c0 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 uteOperations).{.$this->installa
7d3e0 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 6e 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 24 74 68 69 tionManager->notifyInstalls($thi
7d400 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 s->io);.}....if.($this->devMode.
7d420 26 26 20 21 24 74 68 69 73 2d 3e 73 6b 69 70 53 75 67 67 65 73 74 29 20 7b 0a 24 74 68 69 73 2d &&.!$this->skipSuggest).{.$this-
7d440 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e 6f 75 74 70 >suggestedPackagesReporter->outp
7d460 75 74 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 ut($installedRepo);.}....foreach
7d480 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 .($localRepo->getPackages().as.$
7d4a0 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 package).{.if.(!$package.instanc
7d4c0 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 7c 7c 20 21 24 70 61 63 6b 61 67 65 eof.CompletePackage.||.!$package
7d4e0 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a ->isAbandoned()).{.continue;.}..
7d500 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 69 73 5f 73 74 72 69 6e 67 28 24 70 61 63 6b 61 67 $replacement.=.is_string($packag
7d520 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 29 0a 3f 20 27 55 e->getReplacementPackage()).?.'U
7d540 73 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 se.'...$package->getReplacementP
7d560 61 63 6b 61 67 65 28 29 20 2e 20 27 20 69 6e 73 74 65 61 64 27 0a 3a 20 27 4e 6f 20 72 65 70 6c ackage()...'.instead'.:.'No.repl
7d580 61 63 65 6d 65 6e 74 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 0a 24 74 68 69 73 2d 3e acement.was.suggested';..$this->
7d5a0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 0a 22 3c 77 61 72 6e 69 io->writeError(.sprintf(."<warni
7d5c0 6e 67 3e 50 61 63 6b 61 67 65 20 25 73 20 69 73 20 61 62 61 6e 64 6f 6e 65 64 2c 20 79 6f 75 20 ng>Package.%s.is.abandoned,.you.
7d5e0 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 75 73 69 6e 67 20 69 74 2e 20 25 73 2e 3c 2f 77 61 72 6e should.avoid.using.it..%s.</warn
7d600 69 6e 67 3e 22 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 ing>",.$package->getPrettyName()
7d620 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 ,.$replacement.).);.}....if.($th
7d640 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 29 20 is->update.&&.$this->writeLock).
7d660 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 6c 6f 61 64 28 29 3b 0a 0a 24 70 6c 61 74 66 6f {.$localRepo->reload();..$platfo
7d680 72 6d 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 rmReqs.=.$this->extractPlatformR
7d6a0 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 equirements($this->package->getR
7d6c0 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 20 3d 20 24 equires());.$platformDevReqs.=.$
7d6e0 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 this->extractPlatformRequirement
7d700 73 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 s($this->package->getDevRequires
7d720 28 29 29 3b 0a 0a 24 75 70 64 61 74 65 64 4c 6f 63 6b 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b ());..$updatedLock.=.$this->lock
7d740 65 72 2d 3e 73 65 74 4c 6f 63 6b 44 61 74 61 28 0a 61 72 72 61 79 5f 64 69 66 66 28 24 6c 6f 63 er->setLockData(.array_diff($loc
7d760 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 2c 20 alRepo->getCanonicalPackages(),.
7d780 24 64 65 76 50 61 63 6b 61 67 65 73 29 2c 0a 24 64 65 76 50 61 63 6b 61 67 65 73 2c 0a 24 70 6c $devPackages),.$devPackages,.$pl
7d7a0 61 74 66 6f 72 6d 52 65 71 73 2c 0a 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 2c 0a 24 61 atformReqs,.$platformDevReqs,.$a
7d7c0 6c 69 61 73 65 73 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d liases,.$this->package->getMinim
7d7e0 75 6d 53 74 61 62 69 6c 69 74 79 28 29 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 umStability(),.$this->package->g
7d800 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 etStabilityFlags(),.$this->prefe
7d820 72 53 74 61 62 6c 65 20 7c 7c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 rStable.||.$this->package->getPr
7d840 65 66 65 72 53 74 61 62 6c 65 28 29 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 eferStable(),.$this->preferLowes
7d860 74 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 t,.$this->config->get('platform'
7d880 29 20 3f 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 64 4c 6f 63 6b ).?:.array().);.if.($updatedLock
7d8a0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f ).{.$this->io->writeError('<info
7d8c0 3e 57 72 69 74 69 6e 67 20 6c 6f 63 6b 20 66 69 6c 65 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d >Writing.lock.file</info>');.}.}
7d8e0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a ..if.($this->dumpAutoloader).{..
7d900 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 20 .if.($this->optimizeAutoloader).
7d920 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 {.$this->io->writeError('<info>G
7d940 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c enerating.optimized.autoload.fil
7d960 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d es</info>');.}.else.{.$this->io-
7d980 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 >writeError('<info>Generating.au
7d9a0 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d toload.files</info>');.}..$this-
7d9c0 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 >autoloadGenerator->setDevMode($
7d9e0 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 this->devMode);.$this->autoloadG
7da00 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 enerator->setClassMapAuthoritati
7da20 76 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 ve($this->classMapAuthoritative)
7da40 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 41 ;.$this->autoloadGenerator->setA
7da60 70 63 75 28 24 74 68 69 73 2d 3e 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 24 74 68 69 pcu($this->apcuAutoloader);.$thi
7da80 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 52 75 6e 53 63 72 69 s->autoloadGenerator->setRunScri
7daa0 70 74 73 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 3b 0a 24 74 68 69 73 2d 3e 61 pts($this->runScripts);.$this->a
7dac0 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 64 75 6d 70 28 24 74 68 69 73 2d 3e 63 6f utoloadGenerator->dump($this->co
7dae0 6e 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 nfig,.$localRepo,.$this->package
7db00 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 27 63 ,.$this->installationManager,.'c
7db20 6f 6d 70 6f 73 65 72 27 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 omposer',.$this->optimizeAutoloa
7db40 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 der);.}..if.($this->executeOpera
7db60 74 69 6f 6e 73 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e tions).{...foreach.($localRepo->
7db80 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 getPackages().as.$package).{.$th
7dba0 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 65 6e 73 75 72 65 42 is->installationManager->ensureB
7dbc0 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 76 inariesPresence($package);.}..$v
7dbe0 65 6e 64 6f 72 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 endorDir.=.$this->config->get('v
7dc00 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 76 65 6e 64 6f 72 44 endor-dir');.if.(is_dir($vendorD
7dc20 69 72 29 29 20 7b 0a 0a 20 0a 20 40 74 6f 75 63 68 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d ir)).{.....@touch($vendorDir);.}
7dc40 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 0a 20 24 .}..if.($this->runScripts).{...$
7dc60 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 eventName.=.$this->update.?.Scri
7dc80 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 ptEvents::POST_UPDATE_CMD.:.Scri
7dca0 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 ptEvents::POST_INSTALL_CMD;.$thi
7dcc0 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 s->eventDispatcher->dispatchScri
7dce0 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a pt($eventName,.$this->devMode);.
7dd00 7d 0a 0a 0a 20 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 }....if.(!defined('HHVM_VERSION'
7dd20 29 29 20 7b 0a 67 63 5f 65 6e 61 62 6c 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d )).{.gc_enable();.}..return.0;.}
7dd40 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 49 6e .........protected.function.doIn
7dd60 73 74 61 6c 6c 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f stall($localRepo,.$installedRepo
7dd80 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 0a 20 24 ,.$platformRepo,.$aliases).{...$
7dda0 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 72 65 70 6f 73 69 lockedRepository.=.null;.$reposi
7ddc0 74 6f 72 69 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 21 24 74 68 69 73 tories.=.null;........if.(!$this
7dde0 2d 3e 75 70 64 61 74 65 20 7c 7c 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 75 70 64 61 74 ->update.||.(!empty($this->updat
7de00 65 57 68 69 74 65 6c 69 73 74 29 20 26 26 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 eWhitelist).&&.$this->locker->is
7de20 4c 6f 63 6b 65 64 28 29 29 29 20 7b 0a 74 72 79 20 7b 0a 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 Locked())).{.try.{.$lockedReposi
7de40 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 tory.=.$this->locker->getLockedR
7de60 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 20 63 61 74 epository($this->devMode);.}.cat
7de80 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 ch.(\RuntimeException.$e).{...if
7dea0 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 .($this->package->getDevRequires
7dec0 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 ()).{.throw.$e;.}...$lockedRepos
7dee0 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 itory.=.$this->locker->getLocked
7df00 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c Repository();.}.}..$this->whitel
7df20 69 73 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 0a 24 6c 6f 63 6b 65 64 52 65 istUpdateDependencies(.$lockedRe
7df40 70 6f 73 69 74 6f 72 79 20 3f 3a 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 0a 24 74 68 69 73 2d 3e 70 pository.?:.$localRepo,.$this->p
7df60 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 0a 24 74 68 69 73 2d 3e 70 61 ackage->getRequires(),.$this->pa
7df80 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 29 3b 0a 0a 24 74 68 69 ckage->getDevRequires().);..$thi
7dfa0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4c 6f 61 64 69 6e 67 s->io->writeError('<info>Loading
7dfc0 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 77 69 74 68 20 70 61 63 6b .composer.repositories.with.pack
7dfe0 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 70 6f age.information</info>');....$po
7e000 6c 69 63 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6c 69 63 79 28 29 3b 0a 24 70 licy.=.$this->createPolicy();.$p
7e020 6f 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6f 6c 28 24 74 68 69 73 2d 3e 75 ool.=.$this->createPool($this->u
7e040 70 64 61 74 65 20 3f 20 6e 75 6c 6c 20 3a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 pdate.?.null.:.$lockedRepository
7e060 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6e 73 74 61 6c 6c );.$pool->addRepository($install
7e080 65 64 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 edRepo,.$aliases);.if.($this->up
7e0a0 64 61 74 65 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 date).{.$repositories.=.$this->r
7e0c0 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 epositoryManager->getRepositorie
7e0e0 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 s();.foreach.($repositories.as.$
7e100 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f repository).{.$pool->addReposito
7e120 72 79 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 7d 0a 7d 0a 0a ry($repository,.$aliases);.}.}..
7e140 20 0a 20 0a 20 69 66 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 .....if.($lockedRepository).{.$p
7e160 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 ool->addRepository($lockedReposi
7e180 74 6f 72 79 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 7d 0a 0a 0a 20 24 72 65 71 75 65 73 74 20 3d tory,.$aliases);.}....$request.=
7e1a0 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 65 73 74 28 24 74 68 69 73 2d 3e 70 61 63 .$this->createRequest($this->pac
7e1c0 6b 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 kage,.$platformRepo);..if.($this
7e1e0 2d 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 ->update).{...$removedUnstablePa
7e200 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 ckages.=.array();.foreach.($loca
7e220 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 lRepo->getPackages().as.$package
7e240 29 20 7b 0a 69 66 20 28 0a 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 ).{.if.(.!$pool->isPackageAccept
7e260 61 62 6c 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 2c 20 24 70 61 63 6b able($package->getNames(),.$pack
7e280 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 0a 26 26 20 24 74 68 69 73 2d 3e 69 age->getStability()).&&.$this->i
7e2a0 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 nstallationManager->isPackageIns
7e2c0 74 61 6c 6c 65 64 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 0a 29 20 7b talled($localRepo,.$package).).{
7e2e0 0a 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 .$removedUnstablePackages[$packa
7e300 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 24 72 65 71 75 65 73 74 2d ge->getName()].=.true;.$request-
7e320 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 >remove($package->getName(),.new
7e340 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 .Constraint('=',.$package->getVe
7e360 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 rsion()));.}.}..$this->io->write
7e380 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 55 70 64 61 74 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 Error('<info>Updating.dependenci
7e3a0 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3f 20 27 20 28 69 6e 63 6c 75 64 69 es'.($this->devMode.?.'.(includi
7e3c0 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 20 3a 20 27 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 ng.require-dev)'.:.'').'</info>'
7e3e0 29 3b 0a 0a 24 72 65 71 75 65 73 74 2d 3e 75 70 64 61 74 65 41 6c 6c 28 29 3b 0a 0a 24 6c 69 6e );..$request->updateAll();..$lin
7e400 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d ks.=.array_merge($this->package-
7e420 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e >getRequires(),.$this->package->
7e440 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 getDevRequires());..foreach.($li
7e460 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c nks.as.$link).{.$request->instal
7e480 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 l($link->getTarget(),.$link->get
7e4a0 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d Constraint());.}......if.($this-
7e4c0 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b >updateWhitelist).{.$currentPack
7e4e0 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 ages.=.$this->getCurrentPackages
7e500 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a 0a 0a 20 24 63 61 6e 64 69 64 61 74 65 73 ($installedRepo);....$candidates
7e520 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 .=.array();.foreach.($links.as.$
7e540 6c 69 6e 6b 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 link).{.$candidates[$link->getTa
7e560 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 6c rget()].=.true;.$rootRequires[$l
7e580 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 66 6f 72 ink->getTarget()].=.$link;.}.for
7e5a0 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 each.($currentPackages.as.$packa
7e5c0 67 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ge).{.$candidates[$package->getN
7e5e0 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 61 ame()].=.true;.}....foreach.($ca
7e600 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 20 3d 3e 20 24 64 75 6d 6d 79 ndidates.as.$candidate.=>.$dummy
7e620 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 ).{.foreach.($currentPackages.as
7e640 20 24 63 75 72 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d .$curPackage).{.if.($curPackage-
7e660 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 >getName().===.$candidate).{.if.
7e680 28 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 63 75 72 50 61 63 6b 61 67 (!$this->isUpdateable($curPackag
7e6a0 65 29 20 26 26 20 21 69 73 73 65 74 28 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 e).&&.!isset($removedUnstablePac
7e6c0 6b 61 67 65 73 5b 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 kages[$curPackage->getName()])).
7e6e0 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 {.$constraint.=.new.Constraint('
7e700 3d 27 2c 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a =',.$curPackage->getVersion());.
7e720 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 $description.=.$this->locker->is
7e740 4c 6f 63 6b 65 64 28 29 20 3f 20 27 28 6c 6f 63 6b 65 64 20 61 74 27 20 3a 20 27 28 69 6e 73 74 Locked().?.'(locked.at'.:.'(inst
7e760 61 6c 6c 65 64 20 61 74 27 3b 0a 24 72 65 71 75 69 72 65 64 41 74 20 3d 20 69 73 73 65 74 28 24 alled.at';.$requiredAt.=.isset($
7e780 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 6e 64 69 64 61 74 65 5d 29 20 3f 20 27 2c 20 72 rootRequires[$candidate]).?.',.r
7e7a0 65 71 75 69 72 65 64 20 61 73 20 27 20 2e 20 24 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 equired.as.'...$rootRequires[$ca
7e7c0 6e 64 69 64 61 74 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 ndidate]->getPrettyConstraint().
7e7e0 3a 20 27 27 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 :.'';.$constraint->setPrettyStri
7e800 6e 67 28 24 64 65 73 63 72 69 70 74 69 6f 6e 20 2e 20 27 20 27 20 2e 20 24 63 75 72 50 61 63 6b ng($description...'.'...$curPack
7e820 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 24 72 65 71 75 69 age->getPrettyVersion()...$requi
7e840 72 65 64 41 74 20 2e 20 27 29 27 29 3b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 redAt...')');.$request->install(
7e860 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 $curPackage->getName(),.$constra
7e880 69 6e 74 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a int);.}.break;.}.}.}.}.}.else.{.
7e8a0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 $this->io->writeError('<info>Ins
7e8c0 74 61 6c 6c 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 talling.dependencies'.($this->de
7e8e0 76 4d 6f 64 65 20 3f 20 27 20 28 69 6e 63 6c 75 64 69 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 vMode.?.'.(including.require-dev
7e900 29 27 20 3a 20 27 27 29 2e 27 20 66 72 6f 6d 20 6c 6f 63 6b 20 66 69 6c 65 3c 2f 69 6e 66 6f 3e )'.:.'').'.from.lock.file</info>
7e920 27 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 46 72 65 73 68 ');..if.(!$this->locker->isFresh
7e940 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 ()).{.$this->io->writeError('<wa
7e960 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 rning>Warning:.The.lock.file.is.
7e980 6e 6f 74 20 75 70 20 74 6f 20 64 61 74 65 20 77 69 74 68 20 74 68 65 20 6c 61 74 65 73 74 20 63 not.up.to.date.with.the.latest.c
7e9a0 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 20 59 6f 75 20 6d 61 79 hanges.in.composer.json..You.may
7e9c0 20 62 65 20 67 65 74 74 69 6e 67 20 6f 75 74 64 61 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 .be.getting.outdated.dependencie
7e9e0 73 2e 20 52 75 6e 20 75 70 64 61 74 65 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 6d 2e 3c 2f 77 s..Run.update.to.update.them.</w
7ea00 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 arning>',.true,.IOInterface::QUI
7ea20 45 54 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f ET);.}..foreach.($lockedReposito
7ea40 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b ry->getPackages().as.$package).{
7ea60 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e .$version.=.$package->getVersion
7ea80 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d ();.if.(isset($aliases[$package-
7eaa0 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 73 69 6f 6e 5d 29 29 20 7b 0a 24 76 65 72 73 69 >getName()][$version])).{.$versi
7eac0 6f 6e 20 3d 20 24 61 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 on.=.$aliases[$package->getName(
7eae0 29 5d 5b 24 76 65 72 73 69 6f 6e 5d 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d )][$version]['alias_normalized']
7eb00 3b 0a 7d 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 ;.}.$constraint.=.new.Constraint
7eb20 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 ('=',.$version);.$constraint->se
7eb40 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 tPrettyString($package->getPrett
7eb60 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 yVersion());.$request->install($
7eb80 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 package->getName(),.$constraint)
7eba0 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 ;.}..foreach.($this->locker->get
7ebc0 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 64 65 76 4d PlatformRequirements($this->devM
7ebe0 6f 64 65 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 ode).as.$link).{.$request->insta
7ec00 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 ll($link->getTarget(),.$link->ge
7ec20 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 tConstraint());.}.}....$this->pr
7ec40 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f ocessDevPackages($localRepo,.$po
7ec60 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 ol,.$policy,.$repositories,.$ins
7ec80 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 talledRepo,.$lockedRepository,.'
7eca0 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 force-links');....$this->eventDi
7ecc0 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 spatcher->dispatchInstallerEvent
7ece0 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 (InstallerEvents::PRE_DEPENDENCI
7ed00 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c ES_SOLVING,.$this->devMode,.$pol
7ed20 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 icy,.$pool,.$installedRepo,.$req
7ed40 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 53 6f 6c 76 65 72 28 24 70 6f 6c uest);.$solver.=.new.Solver($pol
7ed60 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 74 68 69 icy,.$pool,.$installedRepo,.$thi
7ed80 73 2d 3e 69 6f 29 3b 0a 74 72 79 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 73 6f 6c s->io);.try.{.$operations.=.$sol
7eda0 76 65 72 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 65 73 74 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f ver->solve($request,.$this->igno
7edc0 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 53 6f 6c 76 65 72 rePlatformReqs);.}.catch.(Solver
7ede0 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 ProblemsException.$e).{.$this->i
7ee00 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 72 20 72 65 71 75 69 o->writeError('<error>Your.requi
7ee20 72 65 6d 65 6e 74 73 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 20 74 6f rements.could.not.be.resolved.to
7ee40 20 61 6e 20 69 6e 73 74 61 6c 6c 61 62 6c 65 20 73 65 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2e .an.installable.set.of.packages.
7ee60 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 </error>',.true,.IOInterface::QU
7ee80 49 45 54 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 65 2d 3e IET);.$this->io->writeError($e->
7eea0 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 getMessage());.if.($this->update
7eec0 20 26 26 20 21 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f .&&.!$this->devMode).{.$this->io
7eee0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 52 75 6e 6e 69 6e 67 20 75 ->writeError('<warning>Running.u
7ef00 70 64 61 74 65 20 77 69 74 68 20 2d 2d 6e 6f 2d 64 65 76 20 64 6f 65 73 20 6e 6f 74 20 6d 65 61 pdate.with.--no-dev.does.not.mea
7ef20 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 73 20 69 67 6e 6f 72 65 64 2c 20 69 74 20 6a 75 73 n.require-dev.is.ignored,.it.jus
7ef40 74 20 6d 65 61 6e 73 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 t.means.the.packages.will.not.be
7ef60 20 69 6e 73 74 61 6c 6c 65 64 2e 20 49 66 20 64 65 76 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 .installed..If.dev.requirements.
7ef80 61 72 65 20 62 6c 6f 63 6b 69 6e 67 20 74 68 65 20 75 70 64 61 74 65 20 79 6f 75 20 68 61 76 65 are.blocking.the.update.you.have
7efa0 20 74 6f 20 72 65 73 6f 6c 76 65 20 74 68 6f 73 65 20 70 72 6f 62 6c 65 6d 73 2e 3c 2f 77 61 72 .to.resolve.those.problems.</war
7efc0 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 ning>',.true,.IOInterface::QUIET
7efe0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6d 61 78 28 31 2c 20 24 65 2d 3e 67 65 );.}..return.array(max(1,.$e->ge
7f000 74 43 6f 64 65 28 29 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 0a 20 24 6f 70 65 72 61 74 tCode()),.array());.}....$operat
7f020 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 ions.=.$this->processDevPackages
7f040 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 ($localRepo,.$pool,.$policy,.$re
7f060 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 positories,.$installedRepo,.$loc
7f080 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 2c 20 kedRepository,.'force-updates',.
7f0a0 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 $operations);..$this->eventDispa
7f0c0 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e tcher->dispatchInstallerEvent(In
7f0e0 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 stallerEvents::POST_DEPENDENCIES
7f100 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 _SOLVING,.$this->devMode,.$polic
7f120 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 y,.$pool,.$installedRepo,.$reque
7f140 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 st,.$operations);..$this->io->wr
7f160 69 74 65 45 72 72 6f 72 28 22 41 6e 61 6c 79 7a 65 64 20 22 2e 63 6f 75 6e 74 28 24 70 6f 6f 6c iteError("Analyzed.".count($pool
7f180 29 2e 22 20 70 61 63 6b 61 67 65 73 20 74 6f 20 72 65 73 6f 6c 76 65 20 64 65 70 65 6e 64 65 6e ).".packages.to.resolve.dependen
7f1a0 63 69 65 73 22 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 cies",.true,.IOInterface::VERBOS
7f1c0 45 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 41 6e 61 6c 79 E);.$this->io->writeError("Analy
7f1e0 7a 65 64 20 22 2e 24 73 6f 6c 76 65 72 2d 3e 67 65 74 52 75 6c 65 53 65 74 53 69 7a 65 28 29 2e zed.".$solver->getRuleSetSize().
7f200 22 20 72 75 6c 65 73 20 74 6f 20 72 65 73 6f 6c 76 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 22 ".rules.to.resolve.dependencies"
7f220 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a ,.true,.IOInterface::VERBOSE);..
7f240 0a 20 69 66 20 28 21 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d ..if.(!$operations).{.$this->io-
7f260 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 74 68 69 6e 67 20 74 6f 20 69 6e 73 74 61 6c 6c 20 >writeError('Nothing.to.install.
7f280 6f 72 20 75 70 64 61 74 65 27 29 3b 0a 7d 0a 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 or.update');.}..$operations.=.$t
7f2a0 68 69 73 2d 3e 6d 6f 76 65 50 6c 75 67 69 6e 73 54 6f 46 72 6f 6e 74 28 24 6f 70 65 72 61 74 69 his->movePluginsToFront($operati
7f2c0 6f 6e 73 29 3b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 55 ons);.$operations.=.$this->moveU
7f2e0 6e 69 6e 73 74 61 6c 6c 73 54 6f 46 72 6f 6e 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a ninstallsToFront($operations);..
7f300 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 64 65 76 50 61 63 ....if.($this->update).{.$devPac
7f320 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 67 65 kages.=.$this->extractDevPackage
7f340 73 28 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 s($operations,.$localRepo,.$plat
7f360 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d formRepo,.$aliases);.if.(!$this-
7f380 3e 64 65 76 4d 6f 64 65 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d >devMode).{.$operations.=.$this-
7f3a0 3e 66 69 6c 74 65 72 44 65 76 50 61 63 6b 61 67 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 64 65 76 >filterDevPackageOperations($dev
7f3c0 50 61 63 6b 61 67 65 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6c 6f 63 61 6c 52 65 70 Packages,.$operations,.$localRep
7f3e0 6f 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 6e 75 o);.}.}.else.{.$devPackages.=.nu
7f400 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 69 6e 73 74 61 ll;.}..if.($operations).{.$insta
7f420 6c 6c 73 20 3d 20 24 75 70 64 61 74 65 73 20 3d 20 24 75 6e 69 6e 73 74 61 6c 6c 73 20 3d 20 61 lls.=.$updates.=.$uninstalls.=.a
7f440 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 rray();.foreach.($operations.as.
7f460 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 $operation).{.if.($operation.ins
7f480 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 69 6e 73 tanceof.InstallOperation).{.$ins
7f4a0 74 61 6c 6c 73 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 talls[].=.$operation->getPackage
7f4c0 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3a 27 2e 24 6f 70 65 72 61 74 69 ()->getPrettyName().':'.$operati
7f4e0 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 on->getPackage()->getFullPrettyV
7f500 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 ersion();.}.elseif.($operation.i
7f520 6e 73 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 70 nstanceof.UpdateOperation).{.$up
7f540 64 61 74 65 73 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 dates[].=.$operation->getTargetP
7f560 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3a 27 2e 24 6f ackage()->getPrettyName().':'.$o
7f580 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 peration->getTargetPackage()->ge
7f5a0 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 tFullPrettyVersion();.}.elseif.(
7f5c0 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 69 6e 73 74 61 6c 6c 4f $operation.instanceof.UninstallO
7f5e0 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 6e 69 6e 73 74 61 6c 6c 73 5b 5d 20 3d 20 24 6f 70 65 peration).{.$uninstalls[].=.$ope
7f600 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e ration->getPackage()->getPrettyN
7f620 61 6d 65 28 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ame();.}.}..$this->io->writeErro
7f640 72 28 73 70 72 69 6e 74 66 28 0a 22 3c 69 6e 66 6f 3e 50 61 63 6b 61 67 65 20 6f 70 65 72 61 74 r(sprintf(."<info>Package.operat
7f660 69 6f 6e 73 3a 20 25 64 20 69 6e 73 74 61 6c 6c 25 73 2c 20 25 64 20 75 70 64 61 74 65 25 73 2c ions:.%d.install%s,.%d.update%s,
7f680 20 25 64 20 72 65 6d 6f 76 61 6c 25 73 3c 2f 69 6e 66 6f 3e 22 2c 0a 63 6f 75 6e 74 28 24 69 6e .%d.removal%s</info>",.count($in
7f6a0 73 74 61 6c 6c 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 73 74 61 6c 6c 73 29 20 stalls),.1.===.count($installs).
7f6c0 3f 20 27 27 20 3a 20 27 73 27 2c 0a 63 6f 75 6e 74 28 24 75 70 64 61 74 65 73 29 2c 0a 31 20 3d ?.''.:.'s',.count($updates),.1.=
7f6e0 3d 3d 20 63 6f 75 6e 74 28 24 75 70 64 61 74 65 73 29 20 3f 20 27 27 20 3a 20 27 73 27 2c 0a 63 ==.count($updates).?.''.:.'s',.c
7f700 6f 75 6e 74 28 24 75 6e 69 6e 73 74 61 6c 6c 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 ount($uninstalls),.1.===.count($
7f720 75 6e 69 6e 73 74 61 6c 6c 73 29 20 3f 20 27 27 20 3a 20 27 73 27 0a 29 29 3b 0a 69 66 20 28 24 uninstalls).?.''.:.'s'.));.if.($
7f740 69 6e 73 74 61 6c 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f installs).{.$this->io->writeErro
7f760 72 28 22 49 6e 73 74 61 6c 6c 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 69 6e r("Installs:.".implode(',.',.$in
7f780 73 74 61 6c 6c 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 stalls),.true,.IOInterface::VERB
7f7a0 4f 53 45 29 3b 0a 7d 0a 69 66 20 28 24 75 70 64 61 74 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 OSE);.}.if.($updates).{.$this->i
7f7c0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 55 70 64 61 74 65 73 3a 20 22 2e 69 6d 70 6c 6f 64 o->writeError("Updates:.".implod
7f7e0 65 28 27 2c 20 27 2c 20 24 75 70 64 61 74 65 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 e(',.',.$updates),.true,.IOInter
7f800 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 69 66 20 28 24 75 6e 69 6e 73 74 61 6c 6c face::VERBOSE);.}.if.($uninstall
7f820 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 52 65 6d 6f s).{.$this->io->writeError("Remo
7f840 76 61 6c 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 75 6e 69 6e 73 74 61 6c 6c vals:.".implode(',.',.$uninstall
7f860 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b s),.true,.IOInterface::VERBOSE);
7f880 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f .}.}..foreach.($operations.as.$o
7f8a0 70 65 72 61 74 69 6f 6e 29 20 7b 0a 0a 20 24 6a 6f 62 54 79 70 65 20 3d 20 24 6f 70 65 72 61 74 peration).{...$jobType.=.$operat
7f8c0 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 3b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 ion->getJobType();.if.('install'
7f8e0 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 .===.$jobType).{.$this->suggeste
7f900 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e 61 64 64 53 75 67 67 65 73 74 69 6f 6e dPackagesReporter->addSuggestion
7f920 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b sFromPackage($operation->getPack
7f940 61 67 65 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 age());.}....if.($this->update).
7f960 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 27 75 70 64 61 74 65 27 20 {.$package.=.null;.if.('update'.
7f980 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 ===.$jobType).{.$package.=.$oper
7f9a0 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 ation->getTargetPackage();.}.els
7f9c0 65 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 eif.('install'.===.$jobType).{.$
7f9e0 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 package.=.$operation->getPackage
7fa00 28 29 3b 0a 7d 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e ();.}.if.($package.&&.$package->
7fa20 69 73 44 65 76 28 29 29 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e isDev()).{.$references.=.$this->
7fa40 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 69 66 20 28 69 73 package->getReferences();.if.(is
7fa60 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d set($references[$package->getNam
7fa80 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 e()])).{.$this->updateInstallRef
7faa0 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 erences($package,.$references[$p
7fac0 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 27 75 70 ackage->getName()]);.}.}.if.('up
7fae0 64 61 74 65 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 74 61 72 67 65 74 50 61 63 date'.===.$jobType).{.$targetPac
7fb00 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b kage.=.$operation->getTargetPack
7fb20 61 67 65 28 29 3b 0a 69 66 20 28 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 age();.if.($targetPackage->isDev
7fb40 28 29 29 20 7b 0a 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 ()).{.$initialPackage.=.$operati
7fb60 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 24 74 61 on->getInitialPackage();.if.($ta
7fb80 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 69 rgetPackage->getVersion().===.$i
7fba0 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 26 26 20 28 nitialPackage->getVersion().&&.(
7fbc0 21 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 !$targetPackage->getSourceRefere
7fbe0 6e 63 65 28 29 20 7c 7c 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 nce().||.$targetPackage->getSour
7fc00 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 ceReference().===.$initialPackag
7fc20 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 26 26 20 28 21 24 74 e->getSourceReference()).&&.(!$t
7fc40 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 argetPackage->getDistReference()
7fc60 20 7c 7c 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 .||.$targetPackage->getDistRefer
7fc80 65 6e 63 65 28 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 ence().===.$initialPackage->getD
7fca0 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 istReference()).).{.$this->io->w
7fcc0 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 53 6b 69 70 70 69 6e 67 20 75 70 64 61 74 65 20 6f riteError('..-.Skipping.update.o
7fce0 66 20 27 20 2e 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e f.'...$targetPackage->getPrettyN
7fd00 61 6d 65 28 29 20 2e 20 27 20 74 6f 20 74 68 65 20 73 61 6d 65 20 72 65 66 65 72 65 6e 63 65 2d ame()...'.to.the.same.reference-
7fd20 6c 6f 63 6b 65 64 20 76 65 72 73 69 6f 6e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 locked.version',.true,.IOInterfa
7fd40 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ce::DEBUG);.$this->io->writeErro
7fd60 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b r('',.true,.IOInterface::DEBUG);
7fd80 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 ..continue;.}.}.}.}..$event.=.'C
7fda0 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 73 3a omposer\Installer\PackageEvents:
7fdc0 3a 50 52 45 5f 50 41 43 4b 41 47 45 5f 27 2e 73 74 72 74 6f 75 70 70 65 72 28 24 6a 6f 62 54 79 :PRE_PACKAGE_'.strtoupper($jobTy
7fde0 70 65 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 24 65 76 65 6e 74 29 20 26 26 20 24 74 68 69 pe);.if.(defined($event).&&.$thi
7fe00 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 s->runScripts).{.$this->eventDis
7fe20 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 50 61 63 6b 61 67 65 45 76 65 6e 74 28 63 6f patcher->dispatchPackageEvent(co
7fe40 6e 73 74 61 6e 74 28 24 65 76 65 6e 74 29 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 nstant($event),.$this->devMode,.
7fe60 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 $policy,.$pool,.$installedRepo,.
7fe80 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6f 70 65 72 61 74 69 6f $request,.$operations,.$operatio
7fea0 6e 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 n);.}....if.(!$this->executeOper
7fec0 61 74 69 6f 6e 73 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 70 65 72 ations.&&.false.===.strpos($oper
7fee0 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c 20 27 41 6c 69 61 73 27 29 29 20 7b ation->getJobType(),.'Alias')).{
7ff00 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 27 20 2e 20 .$this->io->writeError('..-.'...
7ff20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f $operation);.}.elseif.($this->io
7ff40 2d 3e 69 73 44 65 62 75 67 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 ->isDebug().&&.false.!==.strpos(
7ff60 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c 20 27 41 6c 69 61 73 $operation->getJobType(),.'Alias
7ff80 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d ')).{.$this->io->writeError('..-
7ffa0 20 27 20 2e 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 .'...$operation);.}..$this->inst
7ffc0 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 65 78 65 63 75 74 65 28 24 6c 6f 63 61 6c 52 allationManager->execute($localR
7ffe0 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e epo,.$operation);....if.($this->
80000 76 65 72 62 6f 73 65 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 verbose.&&.$this->io->isVeryVerb
80020 6f 73 65 28 29 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6a 6f 62 54 79 70 65 2c 20 61 72 72 61 ose().&&.in_array($jobType,.arra
80040 79 28 27 69 6e 73 74 61 6c 6c 27 2c 20 27 75 70 64 61 74 65 27 29 29 29 20 7b 0a 24 72 65 61 73 y('install',.'update'))).{.$reas
80060 6f 6e 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 3b 0a 69 66 on.=.$operation->getReason();.if
80080 20 28 24 72 65 61 73 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c 65 29 20 7b 0a 73 77 69 .($reason.instanceof.Rule).{.swi
800a0 74 63 68 20 28 24 72 65 61 73 6f 6e 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 29 20 7b 0a 63 61 73 tch.($reason->getReason()).{.cas
800c0 65 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 3a 0a 24 74 68 69 73 2d e.Rule::RULE_JOB_INSTALL:.$this-
800e0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 52 45 41 53 4f 4e 3a 20 52 65 71 >io->writeError('....REASON:.Req
80100 75 69 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 3a 20 27 2e 24 72 65 uired.by.the.root.package:.'.$re
80120 61 73 6f 6e 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 6f 6f 6c 29 29 3b 0a 24 ason->getPrettyString($pool));.$
80140 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 62 72 65 61 6b 3b this->io->writeError('');.break;
80160 0a 63 61 73 65 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 .case.Rule::RULE_PACKAGE_REQUIRE
80180 53 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 52 45 S:.$this->io->writeError('....RE
801a0 41 53 4f 4e 3a 20 27 2e 24 72 65 61 73 6f 6e 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 ASON:.'.$reason->getPrettyString
801c0 28 24 70 6f 6f 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ($pool));.$this->io->writeError(
801e0 27 27 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 '');.break;.}.}.}..if.($this->ex
80200 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 77 72 69 74 65 4c ecuteOperations.||.$this->writeL
80220 6f 63 6b 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 77 72 69 74 65 28 29 3b 0a 7d 0a 0a 24 ock).{.$localRepo->write();.}..$
80240 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b event.=.'Composer\Installer\Pack
80260 61 67 65 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 27 2e 73 74 72 74 6f 75 ageEvents::POST_PACKAGE_'.strtou
80280 70 70 65 72 28 24 6a 6f 62 54 79 70 65 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 24 65 76 65 pper($jobType);.if.(defined($eve
802a0 6e 74 29 20 26 26 20 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 nt).&&.$this->runScripts).{.$thi
802c0 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 50 61 63 6b s->eventDispatcher->dispatchPack
802e0 61 67 65 45 76 65 6e 74 28 63 6f 6e 73 74 61 6e 74 28 24 65 76 65 6e 74 29 2c 20 24 74 68 69 73 ageEvent(constant($event),.$this
80300 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 ->devMode,.$policy,.$pool,.$inst
80320 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 alledRepo,.$request,.$operations
80340 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 ,.$operation);.}.}..if.($this->e
80360 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f xecuteOperations).{...$this->pro
80380 63 65 73 73 50 61 63 6b 61 67 65 55 72 6c 73 28 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 cessPackageUrls($pool,.$policy,.
803a0 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 24 6c 6f 63 $localRepo,.$repositories);.$loc
803c0 61 6c 52 65 70 6f 2d 3e 77 72 69 74 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 alRepo->write();.}..return.array
803e0 28 30 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a (0,.$devPackages);.}............
80400 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 private.function.extractDevPacka
80420 67 65 73 28 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 ges(array.$operations,.Repositor
80440 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 6c 61 74 66 6f 72 6d 52 yInterface.$localRepo,.PlatformR
80460 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 61 72 72 61 79 20 24 epository.$platformRepo,.array.$
80480 61 6c 69 61 73 65 73 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e aliases).{.if.(!$this->package->
804a0 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 getDevRequires()).{.return.array
804c0 28 29 3b 0a 7d 0a 0a 0a 20 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 20 3d 20 63 6c 6f 6e 65 20 ();.}....$tempLocalRepo.=.clone.
804e0 24 6c 6f 63 61 6c 52 65 70 6f 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 $localRepo;.foreach.($operations
80500 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6f 70 65 72 61 .as.$operation).{.switch.($opera
80520 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 tion->getJobType()).{.case.'inst
80540 61 6c 6c 27 3a 0a 63 61 73 65 20 27 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 27 3a all':.case.'markAliasInstalled':
80560 0a 69 66 20 28 21 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 .if.(!$tempLocalRepo->hasPackage
80580 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 20 7b 0a 24 74 ($operation->getPackage())).{.$t
805a0 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 empLocalRepo->addPackage(clone.$
805c0 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 3b 0a 7d 0a 62 72 65 61 operation->getPackage());.}.brea
805e0 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 69 6e 73 74 61 6c 6c 27 3a 0a 63 61 73 65 20 27 6d 61 72 6b k;..case.'uninstall':.case.'mark
80600 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 27 3a 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 AliasUninstalled':.$tempLocalRep
80620 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 o->removePackage($operation->get
80640 50 61 63 6b 61 67 65 28 29 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 Package());.break;..case.'update
80660 27 3a 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 ':.$tempLocalRepo->removePackage
80680 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 ($operation->getInitialPackage()
806a0 29 3b 0a 69 66 20 28 21 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 );.if.(!$tempLocalRepo->hasPacka
806c0 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 ge($operation->getTargetPackage(
806e0 29 29 29 20 7b 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 ))).{.$tempLocalRepo->addPackage
80700 28 63 6c 6f 6e 65 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b (clone.$operation->getTargetPack
80720 61 67 65 28 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 age());.}.break;..default:.throw
80740 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 74 79 .new.\LogicException('Unknown.ty
80760 70 65 3a 20 27 2e 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 3b pe:.'.$operation->getJobType());
80780 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 6e 65 77 20 49 6e 73 .}.}........$localRepo.=.new.Ins
807a0 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 29 3b 0a talledArrayRepository(array());.
807c0 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 $loader.=.new.ArrayLoader(null,.
807e0 74 72 75 65 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 true);.$dumper.=.new.ArrayDumper
80800 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 ();.foreach.($tempLocalRepo->get
80820 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 CanonicalPackages().as.$pkg).{.$
80840 6c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 6c 6f 61 64 65 72 2d 3e 6c localRepo->addPackage($loader->l
80860 6f 61 64 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 6b 67 29 29 29 3b 0a 7d 0a 75 6e 73 oad($dumper->dump($pkg)));.}.uns
80880 65 74 28 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2c 20 24 6c 6f 61 64 65 72 2c 20 24 64 75 6d et($tempLocalRepo,.$loader,.$dum
808a0 70 65 72 29 3b 0a 0a 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f per);..$policy.=.$this->createPo
808c0 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6f licy();.$pool.=.$this->createPoo
808e0 6c 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 l();.$installedRepo.=.$this->cre
80900 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c ateInstalledRepo($localRepo,.$pl
80920 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 atformRepo);.$pool->addRepositor
80940 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 0a 20 y($installedRepo,.$aliases);....
80960 24 72 65 71 75 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 65 73 74 28 $request.=.$this->createRequest(
80980 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a $this->package,.$platformRepo);.
809a0 24 72 65 71 75 65 73 74 2d 3e 75 70 64 61 74 65 41 6c 6c 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 $request->updateAll();.foreach.(
809c0 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 $this->package->getRequires().as
809e0 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e .$link).{.$request->install($lin
80a00 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 k->getTarget(),.$link->getConstr
80a20 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 aint());.}....$this->eventDispat
80a40 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 cher->dispatchInstallerEvent(Ins
80a60 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 tallerEvents::PRE_DEPENDENCIES_S
80a80 4f 4c 56 49 4e 47 2c 20 66 61 6c 73 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 OLVING,.false,.$policy,.$pool,.$
80aa0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 installedRepo,.$request);.$solve
80ac0 72 20 3d 20 6e 65 77 20 53 6f 6c 76 65 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 r.=.new.Solver($policy,.$pool,.$
80ae0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 24 6f 70 73 20 installedRepo,.$this->io);.$ops.
80b00 3d 20 24 73 6f 6c 76 65 72 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 65 73 74 2c 20 24 74 68 69 73 =.$solver->solve($request,.$this
80b20 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 65 76 ->ignorePlatformReqs);.$this->ev
80b40 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 entDispatcher->dispatchInstaller
80b60 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 44 45 50 45 Event(InstallerEvents::POST_DEPE
80b80 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 66 61 6c 73 65 2c 20 24 70 6f 6c 69 63 79 NDENCIES_SOLVING,.false,.$policy
80ba0 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 ,.$pool,.$installedRepo,.$reques
80bc0 74 2c 20 24 6f 70 73 29 3b 0a 0a 24 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 t,.$ops);..$devPackages.=.array(
80be0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 73 20 61 73 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 );.foreach.($ops.as.$op).{.if.($
80c00 6f 70 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 3d 3d 3d 20 27 75 6e 69 6e 73 74 61 6c 6c 27 op->getJobType().===.'uninstall'
80c20 29 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 6f 70 2d 3e 67 65 74 50 61 63 ).{.$devPackages[].=.$op->getPac
80c40 6b 61 67 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 76 50 61 63 6b 61 67 65 73 kage();.}.}..return.$devPackages
80c60 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 44 ;.}.....private.function.filterD
80c80 65 76 50 61 63 6b 61 67 65 4f 70 65 72 61 74 69 6f 6e 73 28 61 72 72 61 79 20 24 64 65 76 50 61 evPackageOperations(array.$devPa
80ca0 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 52 65 70 6f 73 ckages,.array.$operations,.Repos
80cc0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 29 0a 7b 0a 24 66 69 itoryInterface.$localRepo).{.$fi
80ce0 6e 61 6c 4f 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 nalOps.=.array();.$packagesToSki
80d00 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 76 50 61 63 6b 61 67 p.=.array();.foreach.($devPackag
80d20 65 73 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 5b 24 70 es.as.$pkg).{.$packagesToSkip[$p
80d40 6b 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 69 6e 73 74 kg->getName()].=.true;.if.($inst
80d60 61 6c 6c 65 64 44 65 76 50 6b 67 20 3d 20 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 66 69 6e 64 50 61 alledDevPkg.=.$localRepo->findPa
80d80 63 6b 61 67 65 28 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2a 27 29 29 20 7b 0a 69 ckage($pkg->getName(),.'*')).{.i
80da0 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 f.($installedDevPkg.instanceof.A
80dc0 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 6e 65 77 liasPackage).{.$finalOps[].=.new
80de0 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 .MarkAliasUninstalledOperation($
80e00 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2c 20 27 6e 6f 6e 2d 64 65 76 20 69 6e 73 74 61 6c installedDevPkg,.'non-dev.instal
80e20 6c 20 72 65 6d 6f 76 69 6e 67 20 69 74 27 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b l.removing.it');.$installedDevPk
80e40 67 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2d 3e 67 65 74 41 6c 69 61 73 4f 66 g.=.$installedDevPkg->getAliasOf
80e60 28 29 3b 0a 7d 0a 24 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 6e 65 77 20 55 6e 69 6e 73 74 61 6c ();.}.$finalOps[].=.new.Uninstal
80e80 6c 4f 70 65 72 61 74 69 6f 6e 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2c 20 27 6e 6f lOperation($installedDevPkg,.'no
80ea0 6e 2d 64 65 76 20 69 6e 73 74 61 6c 6c 20 72 65 6d 6f 76 69 6e 67 20 69 74 27 29 3b 0a 7d 0a 7d n-dev.install.removing.it');.}.}
80ec0 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 29 ....foreach.($operations.as.$op)
80ee0 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 .{.$package.=.$op->getJobType().
80f00 3d 3d 3d 20 27 75 70 64 61 74 65 27 20 3f 20 24 6f 70 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 ===.'update'.?.$op->getTargetPac
80f20 6b 61 67 65 28 29 20 3a 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 kage().:.$op->getPackage();.if.(
80f40 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 5b 24 70 61 63 6b 61 67 65 2d 3e isset($packagesToSkip[$package->
80f60 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 69 6e getName()])).{.continue;.}..$fin
80f80 61 6c 4f 70 73 5b 5d 20 3d 20 24 6f 70 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6e 61 6c 4f alOps[].=.$op;.}..return.$finalO
80fa0 70 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ps;.}...............private.func
80fc0 74 69 6f 6e 20 6d 6f 76 65 50 6c 75 67 69 6e 73 54 6f 46 72 6f 6e 74 28 61 72 72 61 79 20 24 6f tion.movePluginsToFront(array.$o
80fe0 70 65 72 61 74 69 6f 6e 73 29 0a 7b 0a 24 70 6c 75 67 69 6e 73 4e 6f 44 65 70 73 20 3d 20 61 72 perations).{.$pluginsNoDeps.=.ar
81000 72 61 79 28 29 3b 0a 24 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 20 3d 20 61 72 72 61 79 28 ray();.$pluginsWithDeps.=.array(
81020 29 3b 0a 24 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 );.$pluginRequires.=.array();..f
81040 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 6f 70 65 72 61 74 69 6f 6e oreach.(array_reverse($operation
81060 73 2c 20 74 72 75 65 29 20 61 73 20 24 69 64 78 20 3d 3e 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 s,.true).as.$idx.=>.$op).{.if.($
81080 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 op.instanceof.InstallOperation).
810a0 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a {.$package.=.$op->getPackage();.
810c0 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 4f }.elseif.($op.instanceof.UpdateO
810e0 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 54 peration).{.$package.=.$op->getT
81100 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 6f 6e 74 69 6e 75 argetPackage();.}.else.{.continu
81120 65 3b 0a 7d 0a 0a 0a 20 24 69 73 50 6c 75 67 69 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 e;.}....$isPlugin.=.$package->ge
81140 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 7c 7c tType().===.'composer-plugin'.||
81160 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 .$package->getType().===.'compos
81180 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 3b 0a 0a 0a 20 69 66 20 28 24 69 73 50 6c 75 67 69 6e 20 er-installer';....if.($isPlugin.
811a0 7c 7c 20 63 6f 75 6e 74 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 28 24 70 61 63 6b 61 67 ||.count(array_intersect($packag
811c0 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 2c 20 24 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 29 29 e->getNames(),.$pluginRequires))
811e0 29 20 7b 0a 0a 20 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 ).{...$requires.=.array_filter(a
81200 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 rray_keys($package->getRequires(
81220 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 71 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 )),.function.($req).{.return.$re
81240 71 20 21 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 26 26 20 21 q.!==.'composer-plugin-api'.&&.!
81260 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 preg_match(PlatformRepository::P
81280 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 29 3b 0a 7d 29 LATFORM_PACKAGE_REGEX,.$req);.})
812a0 3b 0a 0a 0a 20 69 66 20 28 24 69 73 50 6c 75 67 69 6e 20 26 26 20 21 63 6f 75 6e 74 28 24 72 65 ;....if.($isPlugin.&&.!count($re
812c0 71 75 69 72 65 73 29 29 20 7b 0a 0a 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 6c 75 67 quires)).{...array_unshift($plug
812e0 69 6e 73 4e 6f 44 65 70 73 2c 20 24 6f 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 70 6c 75 insNoDeps,.$op);.}.else.{...$plu
81300 67 69 6e 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 6c 75 67 69 ginRequires.=.array_merge($plugi
81320 6e 52 65 71 75 69 72 65 73 2c 20 24 72 65 71 75 69 72 65 73 29 3b 0a 0a 20 61 72 72 61 79 5f 75 nRequires,.$requires);...array_u
81340 6e 73 68 69 66 74 28 24 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 2c 20 24 6f 70 29 3b 0a 7d nshift($pluginsWithDeps,.$op);.}
81360 0a 0a 75 6e 73 65 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a 7d 0a ..unset($operations[$idx]);.}.}.
81380 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 6c 75 67 69 6e 73 4e 6f 44 65 .return.array_merge($pluginsNoDe
813a0 70 73 2c 20 24 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e ps,.$pluginsWithDeps,.$operation
813c0 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d s);.}.........private.function.m
813e0 6f 76 65 55 6e 69 6e 73 74 61 6c 6c 73 54 6f 46 72 6f 6e 74 28 61 72 72 61 79 20 24 6f 70 65 72 oveUninstallsToFront(array.$oper
81400 61 74 69 6f 6e 73 29 0a 7b 0a 24 75 6e 69 6e 73 74 4f 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ations).{.$uninstOps.=.array();.
81420 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 69 64 78 20 3d 3e 20 foreach.($operations.as.$idx.=>.
81440 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 69 6e 73 74 $op).{.if.($op.instanceof.Uninst
81460 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 6e 69 6e 73 74 4f 70 73 5b 5d 20 3d 20 24 allOperation).{.$uninstOps[].=.$
81480 6f 70 3b 0a 75 6e 73 65 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a op;.unset($operations[$idx]);.}.
814a0 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 75 6e 69 6e 73 74 4f 70 73 }..return.array_merge($uninstOps
814c0 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 ,.$operations);.}.....private.fu
814e0 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 52 65 70 6f 73 nction.createInstalledRepo(Repos
81500 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 6c 61 74 66 itoryInterface.$localRepo,.Platf
81520 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 0a 7b 0a 0a ormRepository.$platformRepo).{..
81540 20 0a 20 0a 20 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 63 6c 6f .....$installedRootPackage.=.clo
81560 6e 65 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f ne.$this->package;.$installedRoo
81580 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a tPackage->setRequires(array());.
815a0 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 76 52 65 71 $installedRootPackage->setDevReq
815c0 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 uires(array());..$repos.=.array(
815e0 0a 24 6c 6f 63 61 6c 52 65 70 6f 2c 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 .$localRepo,.new.InstalledArrayR
81600 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 epository(array($installedRootPa
81620 63 6b 61 67 65 29 29 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 0a 29 3b 0a 24 69 6e 73 74 ckage)),.$platformRepo,.);.$inst
81640 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 alledRepo.=.new.CompositeReposit
81660 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e ory($repos);.if.($this->addition
81680 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 69 6e 73 74 61 6c alInstalledRepository).{.$instal
816a0 6c 65 64 52 65 70 6f 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 61 64 ledRepo->addRepository($this->ad
816c0 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a ditionalInstalledRepository);.}.
816e0 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 .return.$installedRepo;.}......p
81700 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 6f 6f 6c 28 52 65 70 6f 73 rivate.function.createPool(Repos
81720 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 itoryInterface.$lockedRepository
81740 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a .=.null).{.if.($this->update).{.
81760 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 $minimumStability.=.$this->packa
81780 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 24 73 74 61 62 ge->getMinimumStability();.$stab
817a0 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 ilityFlags.=.$this->package->get
817c0 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 StabilityFlags();..$requires.=.a
817e0 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 rray_merge($this->package->getRe
81800 71 75 69 72 65 73 28 29 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 quires(),.$this->package->getDev
81820 52 65 71 75 69 72 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 Requires());.}.else.{.$minimumSt
81840 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4d 69 6e 69 ability.=.$this->locker->getMini
81860 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 mumStability();.$stabilityFlags.
81880 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 =.$this->locker->getStabilityFla
818a0 67 73 28 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 gs();..$requires.=.array();.fore
818c0 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 ach.($lockedRepository->getPacka
818e0 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 ges().as.$package).{.$constraint
81900 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d .=.new.Constraint('=',.$package-
81920 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 >getVersion());.$constraint->set
81940 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 PrettyString($package->getPretty
81960 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 75 69 72 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e Version());.$requires[$package->
81980 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 24 getName()].=.$constraint;.}.}..$
819a0 72 6f 6f 74 43 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 rootConstraints.=.array();.forea
819c0 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 20 3d 3e 20 24 63 6f 6e 73 74 72 ch.($requires.as.$req.=>.$constr
819e0 61 69 6e 74 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 aint).{...if.($this->ignorePlatf
81a00 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 ormReqs.&&.preg_match(PlatformRe
81a20 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 pository::PLATFORM_PACKAGE_REGEX
81a40 2c 20 24 72 65 71 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 63 6f 6e 73 ,.$req)).{.continue;.}.if.($cons
81a60 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 4c 69 6e 6b 29 20 7b 0a 24 72 6f 6f 74 43 traint.instanceof.Link).{.$rootC
81a80 6f 6e 73 74 72 61 69 6e 74 73 5b 24 72 65 71 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e onstraints[$req].=.$constraint->
81aa0 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 6f 74 43 getConstraint();.}.else.{.$rootC
81ac0 6f 6e 73 74 72 61 69 6e 74 73 5b 24 72 65 71 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a onstraints[$req].=.$constraint;.
81ae0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 6f 6f 6c 28 24 6d 69 6e 69 6d 75 6d 53 74 61 }.}..return.new.Pool($minimumSta
81b00 62 69 6c 69 74 79 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 72 6f 6f 74 43 6f bility,.$stabilityFlags,.$rootCo
81b20 6e 73 74 72 61 69 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 nstraints);.}.....private.functi
81b40 6f 6e 20 63 72 65 61 74 65 50 6f 6c 69 63 79 28 29 0a 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c on.createPolicy().{.$preferStabl
81b60 65 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 6e 75 6c 6c 3b 0a e.=.null;.$preferLowest.=.null;.
81b80 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 72 65 66 65 72 53 74 61 if.(!$this->update).{.$preferSta
81ba0 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 72 65 66 65 72 53 74 ble.=.$this->locker->getPreferSt
81bc0 61 62 6c 65 28 29 3b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 6c able();.$preferLowest.=.$this->l
81be0 6f 63 6b 65 72 2d 3e 67 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 29 3b 0a 7d 0a 0a 20 0a 20 ocker->getPreferLowest();.}.....
81c00 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 29 20 7b 0a 24 70 if.(null.===.$preferStable).{.$p
81c20 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c referStable.=.$this->preferStabl
81c40 65 20 7c 7c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 66 65 72 53 74 e.||.$this->package->getPreferSt
81c60 61 62 6c 65 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 66 65 72 4c 6f able();.}.if.(null.===.$preferLo
81c80 77 65 73 74 29 20 7b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 70 west).{.$preferLowest.=.$this->p
81ca0 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 66 61 75 referLowest;.}..return.new.Defau
81cc0 6c 74 50 6f 6c 69 63 79 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 4c ltPolicy($preferStable,.$preferL
81ce0 6f 77 65 73 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e owest);.}.......private.function
81d00 20 63 72 65 61 74 65 52 65 71 75 65 73 74 28 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 .createRequest(RootPackageInterf
81d20 61 63 65 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 ace.$rootPackage,.PlatformReposi
81d40 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 0a 7b 0a 24 72 65 71 75 65 73 74 20 3d tory.$platformRepo).{.$request.=
81d60 20 6e 65 77 20 52 65 71 75 65 73 74 28 29 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e .new.Request();..$constraint.=.n
81d80 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d ew.Constraint('=',.$rootPackage-
81da0 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 >getVersion());.$constraint->set
81dc0 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 PrettyString($rootPackage->getPr
81de0 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c ettyVersion());.$request->instal
81e00 6c 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 l($rootPackage->getName(),.$cons
81e20 74 72 61 69 6e 74 29 3b 0a 0a 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 traint);..$fixedPackages.=.$plat
81e40 66 6f 72 6d 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 69 66 20 28 24 74 68 formRepo->getPackages();.if.($th
81e60 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 is->additionalInstalledRepositor
81e80 79 29 20 7b 0a 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 y).{.$additionalFixedPackages.=.
81ea0 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 $this->additionalInstalledReposi
81ec0 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 66 69 78 65 64 50 61 63 6b 61 tory->getPackages();.$fixedPacka
81ee0 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 ges.=.array_merge($fixedPackages
81f00 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 65 64 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a ,.$additionalFixedPackages);.}..
81f20 0a 20 0a 20 24 70 72 6f 76 69 64 65 64 20 3d 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 ....$provided.=.$rootPackage->ge
81f40 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 78 65 64 50 61 63 6b tProvides();.foreach.($fixedPack
81f60 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 ages.as.$package).{.$constraint.
81f80 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e =.new.Constraint('=',.$package->
81fa0 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 getVersion());.$constraint->setP
81fc0 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 rettyString($package->getPrettyV
81fe0 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 ersion());....if.($package->getR
82000 65 70 6f 73 69 74 6f 72 79 28 29 20 21 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 0a 7c 7c epository().!==.$platformRepo.||
82020 20 21 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e .!isset($provided[$package->getN
82040 61 6d 65 28 29 5d 29 0a 7c 7c 20 21 24 70 72 6f 76 69 64 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e ame()]).||.!$provided[$package->
82060 67 65 74 4e 61 6d 65 28 29 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 getName()]->getConstraint()->mat
82080 63 68 65 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e ches($constraint).).{.$request->
820a0 66 69 78 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 fix($package->getName(),.$constr
820c0 61 69 6e 74 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 65 73 74 3b 0a 7d 0a 0a aint);.}.}..return.$request;.}..
820e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 ...........private.function.proc
82100 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c essDevPackages($localRepo,.$pool
82120 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 ,.$policy,.$repositories,.$insta
82140 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 74 61 lledRepo,.$lockedRepository,.$ta
82160 73 6b 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a sk,.array.$operations.=.null).{.
82180 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 20 26 26 if.($task.===.'force-updates'.&&
821a0 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 6e .null.===.$operations).{.throw.n
821c0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 ew.\InvalidArgumentException('Mi
821e0 73 73 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 67 75 6d 65 6e 74 27 29 3b 0a 7d 0a 69 ssing.operations.argument');.}.i
82200 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 6f f.($task.===.'force-links').{.$o
82220 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 perations.=.array();.}..if.($thi
82240 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c s->update.&&.$this->updateWhitel
82260 69 73 74 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d ist).{.$currentPackages.=.$this-
82280 3e 67 65 74 43 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 >getCurrentPackages($installedRe
822a0 70 6f 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 po);.}..foreach.($localRepo->get
822c0 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 CanonicalPackages().as.$package)
822e0 20 7b 0a 0a 20 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 63 .{...if.(!$package->isDev()).{.c
82300 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f ontinue;.}....foreach.($operatio
82320 6e 73 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 69 66 20 28 28 27 75 70 64 61 74 65 ns.as.$operation).{.if.(('update
82340 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 26 '.===.$operation->getJobType().&
82360 26 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 &.$operation->getInitialPackage(
82380 29 2d 3e 65 71 75 61 6c 73 28 24 70 61 63 6b 61 67 65 29 29 0a 7c 7c 20 28 27 75 6e 69 6e 73 74 )->equals($package)).||.('uninst
823a0 61 6c 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 all'.===.$operation->getJobType(
823c0 29 20 26 26 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 65 ).&&.$operation->getPackage()->e
823e0 71 75 61 6c 73 28 24 70 61 63 6b 61 67 65 29 29 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b quals($package)).).{.continue.2;
82400 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 69 66 20 .}.}..if.($this->update).{...if.
82420 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 26 26 20 21 24 74 68 69 ($this->updateWhitelist.&&.!$thi
82440 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 0a 20 66 s->isUpdateable($package)).{...f
82460 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 oreach.($currentPackages.as.$cur
82480 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 Package).{.if.($curPackage->isDe
824a0 76 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d v().&&.$curPackage->getName().==
824c0 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 26 26 20 24 63 75 72 50 61 63 =.$package->getName().&&.$curPac
824e0 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d kage->getVersion().===.$package-
82500 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 >getVersion()).{.if.($task.===.'
82520 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 force-links').{.$package->setReq
82540 75 69 72 65 73 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 uires($curPackage->getRequires()
82560 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 75 72 50 61 );.$package->setConflicts($curPa
82580 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 ckage->getConflicts());.$package
825a0 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 ->setProvides($curPackage->getPr
825c0 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 ovides());.$package->setReplaces
825e0 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 20 ($curPackage->getReplaces());.}.
82600 65 6c 73 65 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 elseif.($task.===.'force-updates
82620 27 29 20 7b 0a 69 66 20 28 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 ').{.if.(($curPackage->getSource
82640 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 Reference().&&.$curPackage->getS
82660 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ourceReference().!==.$package->g
82680 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 63 75 72 50 61 63 etSourceReference()).||.($curPac
826a0 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 63 75 72 kage->getDistReference().&&.$cur
826c0 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 Package->getDistReference().!==.
826e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 $package->getDistReference()).).
82700 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 {.$operations[].=.new.UpdateOper
82720 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 63 75 72 50 61 63 6b 61 67 65 29 3b 0a 7d 0a ation($package,.$curPackage);.}.
82740 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6d }..break;.}.}..continue;.}....$m
82760 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 atches.=.$pool->whatProvides($pa
82780 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 ckage->getName(),.new.Constraint
827a0 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a ('=',.$package->getVersion()));.
827c0 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 foreach.($matches.as.$index.=>.$
827e0 6d 61 74 63 68 29 20 7b 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 2d match).{...if.(!in_array($match-
82800 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c >getRepository(),.$repositories,
82820 20 74 72 75 65 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d .true)).{.unset($matches[$index]
82840 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 2d 3e 67 65 );.continue;.}....if.($match->ge
82860 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 tName().!==.$package->getName())
82880 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 .{.unset($matches[$index]);.cont
828a0 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d 61 74 inue;.}..$matches[$index].=.$mat
828c0 63 68 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 20 26 ch->getId();.}....if.($matches.&
828e0 26 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 &.$matches.=.$policy->selectPref
82900 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d erredPackages($pool,.array(),.$m
82920 61 74 63 68 65 73 29 29 20 7b 0a 24 6e 65 77 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e atches)).{.$newPackage.=.$pool->
82940 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6d 61 74 63 68 65 73 5b 30 5d 29 3b 0a 0a literalToPackage($matches[0]);..
82960 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 20 26 26 20 24 if.($task.===.'force-links'.&&.$
82980 6e 65 77 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 newPackage).{.$package->setRequi
829a0 72 65 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b res($newPackage->getRequires());
829c0 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 6e 65 77 50 61 63 6b .$package->setConflicts($newPack
829e0 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e age->getConflicts());.$package->
82a00 73 65 74 50 72 6f 76 69 64 65 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 setProvides($newPackage->getProv
82a20 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 ides());.$package->setReplaces($
82a40 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 0a 0a 69 newPackage->getReplaces());.}..i
82a60 66 20 28 0a 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 0a 26 26 f.(.$task.===.'force-updates'.&&
82a80 20 24 6e 65 77 50 61 63 6b 61 67 65 0a 26 26 20 28 0a 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e .$newPackage.&&.(.($newPackage->
82aa0 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6e 65 77 50 61 63 6b getSourceReference().&&.$newPack
82ac0 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 age->getSourceReference().!==.$p
82ae0 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c ackage->getSourceReference()).||
82b00 20 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 .($newPackage->getDistReference(
82b20 29 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e ).&&.$newPackage->getDistReferen
82b40 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 ce().!==.$package->getDistRefere
82b60 6e 63 65 28 29 29 0a 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 nce()).).).{.$operations[].=.new
82b80 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 6e 65 77 50 .UpdateOperation($package,.$newP
82ba0 61 63 6b 61 67 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 61 ackage);..continue;.}.}..if.($ta
82bc0 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 0a 20 24 72 65 66 sk.===.'force-updates').{...$ref
82be0 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 erences.=.$this->package->getRef
82c00 65 72 65 6e 63 65 73 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 erences();..if.(isset($reference
82c20 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 24 72 65 66 65 s[$package->getName()]).&&.$refe
82c40 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 21 3d 3d 20 rences[$package->getName()].!==.
82c60 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 $package->getSourceReference()).
82c80 7b 0a 0a 20 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 {...$operations[].=.new.UpdateOp
82ca0 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 eration($package,.clone.$package
82cc0 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b );.}.}.}.else.{...foreach.($lock
82ce0 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b edRepository->findPackages($pack
82d00 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 61 73 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 age->getName()).as.$lockedPackag
82d20 65 29 20 7b 0a 69 66 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 e).{.if.($lockedPackage->isDev()
82d40 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 .&&.$lockedPackage->getVersion()
82d60 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 .===.$package->getVersion()).{.i
82d80 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 70 f.($task.===.'force-links').{.$p
82da0 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 ackage->setRequires($lockedPacka
82dc0 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 ge->getRequires());.$package->se
82de0 74 43 6f 6e 66 6c 69 63 74 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f tConflicts($lockedPackage->getCo
82e00 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 nflicts());.$package->setProvide
82e20 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 29 s($lockedPackage->getProvides())
82e40 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 6c 6f 63 6b 65 64 50 ;.$package->setReplaces($lockedP
82e60 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 ackage->getReplaces());.}.elseif
82e80 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 69 .($task.===.'force-updates').{.i
82ea0 66 20 28 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 f.(($lockedPackage->getSourceRef
82ec0 65 72 65 6e 63 65 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 erence().&&.$lockedPackage->getS
82ee0 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ourceReference().!==.$package->g
82f00 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 6c 6f 63 6b 65 64 etSourceReference()).||.($locked
82f20 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 Package->getDistReference().&&.$
82f40 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 lockedPackage->getDistReference(
82f60 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 ).!==.$package->getDistReference
82f80 28 29 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 ()).).{.$operations[].=.new.Upda
82fa0 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 6f 63 6b 65 64 50 61 63 teOperation($package,.$lockedPac
82fc0 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 kage);.}.}..break;.}.}.}.}..retu
82fe0 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 rn.$operations;.}.......private.
83000 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 function.getCurrentPackages($ins
83020 74 61 6c 6c 65 64 52 65 70 6f 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d talledRepo).{.if.($this->locker-
83040 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 >isLocked()).{.try.{.return.$thi
83060 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 74 s->locker->getLockedRepository(t
83080 72 75 65 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 rue)->getPackages();.}.catch.(\R
830a0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 untimeException.$e).{...return.$
830c0 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 this->locker->getLockedRepositor
830e0 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 y()->getPackages();.}.}..return.
83100 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d $installedRepo->getPackages();.}
83120 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 41 6c 69 .....private.function.getRootAli
83140 61 73 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 61 ases().{.if.($this->update).{.$a
83160 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 liases.=.$this->package->getAlia
83180 73 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 ses();.}.else.{.$aliases.=.$this
831a0 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 24 6e 6f 72 6d ->locker->getAliases();.}..$norm
831c0 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 alizedAliases.=.array();..foreac
831e0 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 6e 6f 72 6d 61 6c h.($aliases.as.$alias).{.$normal
83200 69 7a 65 64 41 6c 69 61 73 65 73 5b 24 61 6c 69 61 73 5b 27 70 61 63 6b 61 67 65 27 5d 5d 5b 24 izedAliases[$alias['package']][$
83220 61 6c 69 61 73 5b 27 76 65 72 73 69 6f 6e 27 5d 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 alias['version']].=.array(.'alia
83240 73 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f s'.=>.$alias['alias'],.'alias_no
83260 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 rmalized'.=>.$alias['alias_norma
83280 6c 69 7a 65 64 27 5d 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 lized'],.);.}..return.$normalize
832a0 64 41 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 dAliases;.}........private.funct
832c0 69 6f 6e 20 70 72 6f 63 65 73 73 50 61 63 6b 61 67 65 55 72 6c 73 28 24 70 6f 6f 6c 2c 20 24 70 ion.processPackageUrls($pool,.$p
832e0 6f 6c 69 63 79 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 olicy,.$localRepo,.$repositories
83300 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 72 65 74 75 72 6e ).{.if.(!$this->update).{.return
83320 3b 0a 7d 0a 0a 24 72 6f 6f 74 52 65 66 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d ;.}..$rootRefs.=.$this->package-
83340 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 >getReferences();..foreach.($loc
83360 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 alRepo->getCanonicalPackages().a
83380 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c s.$package).{...$matches.=.$pool
833a0 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 ->whatProvides($package->getName
833c0 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 (),.new.Constraint('=',.$package
833e0 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 ->getVersion()));.foreach.($matc
83400 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6d 61 74 63 68 29 20 7b 0a 0a 20 69 66 20 hes.as.$index.=>.$match).{...if.
83420 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 (!in_array($match->getRepository
83440 28 29 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 75 6e 73 65 (),.$repositories,.true)).{.unse
83460 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d t($matches[$index]);.continue;.}
83480 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 70 ....if.($match->getName().!==.$p
834a0 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 ackage->getName()).{.unset($matc
834c0 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 hes[$index]);.continue;.}..$matc
834e0 68 65 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d 61 74 63 68 2d 3e 67 65 74 49 64 28 29 3b 0a 7d hes[$index].=.$match->getId();.}
83500 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 24 ....if.($matches.&&.$matches.=.$
83520 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 policy->selectPreferredPackages(
83540 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6e 65 $pool,.array(),.$matches)).{.$ne
83560 77 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 wPackage.=.$pool->literalToPacka
83580 67 65 28 24 6d 61 74 63 68 65 73 5b 30 5d 29 3b 0a 0a 0a 20 24 73 6f 75 72 63 65 55 72 6c 20 3d ge($matches[0]);....$sourceUrl.=
835a0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 24 6e 65 77 53 .$package->getSourceUrl();.$newS
835c0 6f 75 72 63 65 55 72 6c 20 3d 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 ourceUrl.=.$newPackage->getSourc
835e0 65 55 72 6c 28 29 3b 0a 24 6e 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 24 6e 65 77 50 61 63 6b eUrl();.$newReference.=.$newPack
83600 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 age->getSourceReference();..if.(
83620 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 69 73 73 65 74 28 24 72 6f 6f 74 $package->isDev().&&.isset($root
83640 52 65 66 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 24 70 Refs[$package->getName()]).&&.$p
83660 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d ackage->getSourceReference().===
83680 20 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 .$rootRefs[$package->getName()])
836a0 20 7b 0a 24 6e 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 .{.$newReference.=.$rootRefs[$pa
836c0 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 ckage->getName()];.}..$this->upd
836e0 61 74 65 50 61 63 6b 61 67 65 55 72 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 6e 65 77 53 6f 75 72 atePackageUrl($package,.$newSour
83700 63 65 55 72 6c 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 ceUrl,.$newPackage->getSourceTyp
83720 65 28 29 2c 20 24 6e 65 77 52 65 66 65 72 65 6e 63 65 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d e(),.$newReference,.$newPackage-
83740 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e >getDistUrl());..if.($package.in
83760 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 26 26 20 24 6e 65 77 stanceof.CompletePackage.&&.$new
83780 50 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 Package.instanceof.CompletePacka
837a0 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 6e 65 ge).{.$package->setAbandoned($ne
837c0 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 wPackage->getReplacementPackage(
837e0 29 20 3f 3a 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 ).?:.$newPackage->isAbandoned())
83800 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6e ;.}..$package->setDistMirrors($n
83820 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 29 3b 0a 24 70 ewPackage->getDistMirrors());.$p
83840 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6e 65 77 50 61 63 ackage->setSourceMirrors($newPac
83860 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 7d 0a 7d kage->getSourceMirrors());.}.}.}
83880 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 50 61 63 6b 61 67 65 ..private.function.updatePackage
838a0 55 72 6c 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 Url(PackageInterface.$package,.$
838c0 73 6f 75 72 63 65 55 72 6c 2c 20 24 73 6f 75 72 63 65 54 79 70 65 2c 20 24 73 6f 75 72 63 65 52 sourceUrl,.$sourceType,.$sourceR
838e0 65 66 65 72 65 6e 63 65 2c 20 24 64 69 73 74 55 72 6c 29 0a 7b 0a 24 6f 6c 64 53 6f 75 72 63 65 eference,.$distUrl).{.$oldSource
83900 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e Ref.=.$package->getSourceReferen
83920 63 65 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 ce();..if.($package->getSourceUr
83940 6c 28 29 20 21 3d 3d 20 24 73 6f 75 72 63 65 55 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e l().!==.$sourceUrl).{.$package->
83960 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 73 6f 75 72 63 65 54 79 70 65 29 3b 0a 24 70 61 63 setSourceType($sourceType);.$pac
83980 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 73 6f 75 72 63 65 55 72 6c 29 3b 0a kage->setSourceUrl($sourceUrl);.
839a0 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 73 6f $package->setSourceReference($so
839c0 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 70 72 65 67 5f urceReference);.}......if.(preg_
839e0 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 match('{^https?://(?:(?:www\.)?b
83a00 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 7c 28 61 70 69 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f itbucket\.org|(api\.)?github\.co
83a20 6d 7c 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 6c 61 62 5c 2e 63 6f 6d 29 2f 7d 69 27 2c 20 24 64 m|(?:www\.)?gitlab\.com)/}i',.$d
83a40 69 73 74 55 72 6c 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 istUrl)).{.$package->setDistUrl(
83a60 24 64 69 73 74 55 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 $distUrl);.$this->updateInstallR
83a80 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 52 65 66 65 72 eferences($package,.$sourceRefer
83aa0 65 6e 63 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 ence);.}..if.($this->updateWhite
83ac0 6c 69 73 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 70 61 list.&&.!$this->isUpdateable($pa
83ae0 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 ckage)).{.$this->updateInstallRe
83b00 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6f 6c 64 53 6f 75 72 63 65 52 65 66 ferences($package,.$oldSourceRef
83b20 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 49 );.}.}..private.function.updateI
83b40 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 nstallReferences(PackageInterfac
83b60 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 69 66 20 28 21 24 e.$package,.$reference).{.if.(!$
83b80 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 reference).{.return;.}..$package
83ba0 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 ->setSourceReference($reference)
83bc0 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f ;..if.(preg_match('{^https?://(?
83be0 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 7c 28 61 70 69 5c 2e :(?:www\.)?bitbucket\.org|(api\.
83c00 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 7c 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 6c 61 62 5c 2e )?github\.com|(?:www\.)?gitlab\.
83c20 63 6f 6d 29 2f 7d 69 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 com)/}i',.$package->getDistUrl()
83c40 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 )).{.$package->setDistReference(
83c60 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 $reference);.$package->setDistUr
83c80 6c 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3c 3d 2f 7c 73 68 61 3d 29 5b 61 2d 66 l(preg_replace('{(?<=/|sha=)[a-f
83ca0 30 2d 39 5d 7b 34 30 7d 28 3f 3d 2f 7c 24 29 7d 69 27 2c 20 24 72 65 66 65 72 65 6e 63 65 2c 20 0-9]{40}(?=/|$)}i',.$reference,.
83cc0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 29 3b 0a 7d 20 65 6c 73 65 $package->getDistUrl()));.}.else
83ce0 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 if.($package->getDistReference()
83d00 29 20 7b 20 0a 20 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 ).{...$package->setDistReference
83d20 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 ($reference);.}.}......private.f
83d40 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 28 50 6c unction.aliasPlatformPackages(Pl
83d60 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 atformRepository.$platformRepo,.
83d80 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 $aliases).{.foreach.($aliases.as
83da0 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 .$package.=>.$versions).{.foreac
83dc0 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 61 6c 69 h.($versions.as.$version.=>.$ali
83de0 61 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d as).{.$packages.=.$platformRepo-
83e00 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e >findPackages($package,.$version
83e20 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 );.foreach.($packages.as.$packag
83e40 65 29 20 7b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 e).{.$aliasPackage.=.new.AliasPa
83e60 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f ckage($package,.$alias['alias_no
83e80 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 29 3b 0a 24 61 rmalized'],.$alias['alias']);.$a
83ea0 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 liasPackage->setRootPackageAlias
83ec0 28 74 72 75 65 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 (true);.$platformRepo->addPackag
83ee0 65 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 e($aliasPackage);.}.}.}.}......p
83f00 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 55 70 64 61 74 65 61 62 6c 65 28 50 61 63 rivate.function.isUpdateable(Pac
83f20 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 kageInterface.$package).{.if.(!$
83f40 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 74 68 72 6f 77 20 6e this->updateWhitelist).{.throw.n
83f60 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 69 73 55 70 64 61 74 65 61 62 6c 65 ew.\LogicException('isUpdateable
83f80 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 61 20 77 68 .should.only.be.called.when.a.wh
83fa0 69 74 65 6c 69 73 74 20 69 73 20 70 72 65 73 65 6e 74 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 itelist.is.present');.}..foreach
83fc0 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 61 73 20 24 77 68 69 .($this->updateWhitelist.as.$whi
83fe0 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 20 3d 3e 20 24 76 6f 69 64 29 20 7b 0a 24 70 61 74 teListedPattern.=>.$void).{.$pat
84000 74 65 72 6e 52 65 67 65 78 70 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 ternRegexp.=.BasePackage::packag
84020 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 eNameToRegexp($whiteListedPatter
84040 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 52 65 67 65 78 n);.if.(preg_match($patternRegex
84060 70 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 72 65 74 75 72 p,.$package->getName())).{.retur
84080 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a n.true;.}.}..return.false;.}....
840a0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 50 6c 61 74 66 6f ..private.function.extractPlatfo
840c0 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 6c 69 6e 6b 73 29 0a 7b 0a 24 70 6c 61 74 66 6f rmRequirements($links).{.$platfo
840e0 72 6d 52 65 71 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b rmReqs.=.array();.foreach.($link
84100 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 s.as.$link).{.if.(preg_match(Pla
84120 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 tformRepository::PLATFORM_PACKAG
84140 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a E_REGEX,.$link->getTarget())).{.
84160 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 $platformReqs[$link->getTarget()
84180 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 ].=.$link->getPrettyConstraint()
841a0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 7d 0a 0a ;.}.}..return.$platformReqs;.}..
841c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 68 .............private.function.wh
841e0 69 74 65 6c 69 73 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c 6f 63 61 6c itelistUpdateDependencies($local
84200 4f 72 4c 6f 63 6b 52 65 70 6f 2c 20 61 72 72 61 79 20 24 72 6f 6f 74 52 65 71 75 69 72 65 73 2c OrLockRepo,.array.$rootRequires,
84220 20 61 72 72 61 79 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 29 0a 7b 0a 69 66 20 28 21 .array.$rootDevRequires).{.if.(!
84240 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 72 65 74 75 72 6e $this->updateWhitelist).{.return
84260 3b 0a 7d 0a 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 ;.}..$rootRequires.=.array_merge
84280 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 2c 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 ($rootRequires,.$rootDevRequires
842a0 29 3b 0a 0a 24 73 6b 69 70 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 );..$skipPackages.=.array();.if.
842c0 28 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 (!$this->whitelistAllDependencie
842e0 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 61 73 20 24 s).{.foreach.($rootRequires.as.$
84300 72 65 71 75 69 72 65 29 20 7b 0a 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 71 75 69 72 require).{.$skipPackages[$requir
84320 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 70 6f e->getTarget()].=.true;.}.}..$po
84340 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 ol.=.new.Pool('dev');.$pool->add
84360 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 6c 4f 72 4c 6f 63 6b 52 65 70 6f 29 3b 0a 0a 24 Repository($localOrLockRepo);..$
84380 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 seen.=.array();..$rootRequiredPa
843a0 63 6b 61 67 65 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 6f 6f 74 52 65 71 ckageNames.=.array_keys($rootReq
843c0 75 69 72 65 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 uires);..foreach.($this->updateW
843e0 68 69 74 65 6c 69 73 74 20 61 73 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3e 20 24 76 6f 69 hitelist.as.$packageName.=>.$voi
84400 64 29 20 7b 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 d).{.$packageQueue.=.new.\SplQue
84420 75 65 3b 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 ue;.$nameMatchesRequiredPackage.
84440 3d 20 66 61 6c 73 65 3b 0a 0a 24 64 65 70 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e =.false;..$depPackages.=.$pool->
84460 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 6d 61 74 whatProvides($packageName);.$mat
84480 63 68 65 73 42 79 50 61 74 74 65 72 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 69 66 20 28 65 chesByPattern.=.array();...if.(e
844a0 6d 70 74 79 28 24 64 65 70 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 0a 20 24 77 68 69 74 65 6c 69 mpty($depPackages)).{...$whiteli
844c0 73 74 50 61 74 74 65 72 6e 53 65 61 72 63 68 52 65 67 65 78 70 20 3d 20 42 61 73 65 50 61 63 6b stPatternSearchRegexp.=.BasePack
844e0 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 age::packageNameToRegexp($packag
84500 65 4e 61 6d 65 2c 20 27 5e 25 73 24 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 4f eName,.'^%s$');.foreach.($localO
84520 72 4c 6f 63 6b 52 65 70 6f 2d 3e 73 65 61 72 63 68 28 24 77 68 69 74 65 6c 69 73 74 50 61 74 74 rLockRepo->search($whitelistPatt
84540 65 72 6e 53 65 61 72 63 68 52 65 67 65 78 70 29 20 61 73 20 24 69 6e 73 74 61 6c 6c 65 64 50 61 ernSearchRegexp).as.$installedPa
84560 63 6b 61 67 65 29 20 7b 0a 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 5b 5d 20 3d 20 24 ckage).{.$matchesByPattern[].=.$
84580 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 pool->whatProvides($installedPac
845a0 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 0a 0a 20 24 77 68 69 74 65 6c 69 73 74 50 61 kage['name']);.}....$whitelistPa
845c0 74 74 65 72 6e 52 65 67 65 78 70 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 tternRegexp.=.BasePackage::packa
845e0 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 66 6f geNameToRegexp($packageName);.fo
84600 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 reach.($rootRequiredPackageNames
84620 20 61 73 20 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a .as.$rootRequiredPackageName).{.
84640 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 77 68 69 74 65 6c 69 73 74 50 61 74 74 65 72 6e if.(preg_match($whitelistPattern
84660 52 65 67 65 78 70 2c 20 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 Regexp,.$rootRequiredPackageName
84680 29 29 20 7b 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 )).{.$nameMatchesRequiredPackage
846a0 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 .=.true;.break;.}.}.}..if.(!empt
846c0 79 28 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 29 29 20 7b 0a 24 64 65 70 50 61 63 6b y($matchesByPattern)).{.$depPack
846e0 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 64 65 70 50 61 63 6b 61 67 65 73 2c ages.=.array_merge($depPackages,
84700 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 .call_user_func_array('array_mer
84720 67 65 27 2c 20 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 29 29 3b 0a 7d 0a 0a 69 66 20 ge',.$matchesByPattern));.}..if.
84740 28 63 6f 75 6e 74 28 24 64 65 70 50 61 63 6b 61 67 65 73 29 20 3d 3d 20 30 20 26 26 20 21 24 6e (count($depPackages).==.0.&&.!$n
84760 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 26 26 20 21 69 6e ameMatchesRequiredPackage.&&.!in
84780 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 61 72 72 61 79 28 27 6e 6f 74 68 _array($packageName,.array('noth
847a0 69 6e 67 27 2c 20 27 6c 6f 63 6b 27 2c 20 27 6d 69 72 72 6f 72 73 27 29 29 29 20 7b 0a 24 74 68 ing',.'lock',.'mirrors'))).{.$th
847c0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 61 63 is->io->writeError('<warning>Pac
847e0 6b 61 67 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 22 20 6c 69 73 74 kage."'...$packageName...'".list
84800 65 64 20 66 6f 72 20 75 70 64 61 74 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 2e 20 ed.for.update.is.not.installed..
84820 49 67 6e 6f 72 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 Ignoring.</warning>');.}..foreac
84840 68 20 28 24 64 65 70 50 61 63 6b 61 67 65 73 20 61 73 20 24 64 65 70 50 61 63 6b 61 67 65 29 20 h.($depPackages.as.$depPackage).
84860 7b 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 64 65 70 50 61 63 {.$packageQueue->enqueue($depPac
84880 6b 61 67 65 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 21 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d kage);.}..while.(!$packageQueue-
848a0 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 >isEmpty()).{.$package.=.$packag
848c0 65 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 65 eQueue->dequeue();.if.(isset($se
848e0 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e en[$package->getId()])).{.contin
84900 75 65 3b 0a 7d 0a 0a 24 73 65 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 ue;.}..$seen[$package->getId()].
84920 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 5b 24 =.true;.$this->updateWhitelist[$
84940 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 package->getName()].=.true;..if.
84960 28 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 26 (!$this->whitelistDependencies.&
84980 26 20 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 &.!$this->whitelistAllDependenci
849a0 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 es).{.continue;.}..$requires.=.$
849c0 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 package->getRequires();..foreach
849e0 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 72 65 71 75 .($requires.as.$require).{.$requ
84a00 69 72 65 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 irePackages.=.$pool->whatProvide
84a20 73 28 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 3b 0a 0a 66 6f 72 65 61 s($require->getTarget());..forea
84a40 63 68 20 28 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 73 20 61 73 20 24 72 65 71 75 69 72 65 ch.($requirePackages.as.$require
84a60 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 75 70 64 61 Package).{.if.(isset($this->upda
84a80 74 65 57 68 69 74 65 6c 69 73 74 5b 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 teWhitelist[$requirePackage->get
84aa0 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 Name()])).{.continue;.}..if.(iss
84ac0 65 74 28 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 et($skipPackages[$requirePackage
84ae0 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 42 61 73 ->getName()]).&&.!preg_match(Bas
84b00 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 ePackage::packageNameToRegexp($p
84b20 61 63 6b 61 67 65 4e 61 6d 65 29 2c 20 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 2d 3e 67 65 ackageName),.$requirePackage->ge
84b40 74 4e 61 6d 65 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f tName())).{.$this->io->writeErro
84b60 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 65 70 65 6e 64 65 6e 63 79 20 22 27 20 2e 20 24 72 65 71 r('<warning>Dependency."'...$req
84b80 75 69 72 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 69 73 20 61 uirePackage->getName()...'".is.a
84ba0 6c 73 6f 20 61 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2c 20 62 75 74 20 69 73 20 6e lso.a.root.requirement,.but.is.n
84bc0 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 77 68 69 74 65 6c 69 73 74 65 64 2e 20 49 67 6e 6f 72 ot.explicitly.whitelisted..Ignor
84be0 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 ing.</warning>');.continue;.}..$
84c00 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 71 75 69 72 65 50 61 packageQueue->enqueue($requirePa
84c20 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ckage);.}.}.}.}.}.........privat
84c40 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 63 6b 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 69 65 73 e.function.mockLocalRepositories
84c60 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 29 0a 7b 0a 24 70 61 63 6b 61 (RepositoryManager.$rm).{.$packa
84c80 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6d 2d 3e 67 65 74 ges.=.array();.foreach.($rm->get
84ca0 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 LocalRepository()->getPackages()
84cc0 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 28 73 74 72 69 6e .as.$package).{.$packages[(strin
84ce0 67 29 20 24 70 61 63 6b 61 67 65 5d 20 3d 20 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 3b 0a 7d g).$package].=.clone.$package;.}
84d00 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 .foreach.($packages.as.$key.=>.$
84d20 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 package).{.if.($package.instance
84d40 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 28 73 74 72 of.AliasPackage).{.$alias.=.(str
84d60 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 70 61 ing).$package->getAliasOf();.$pa
84d80 63 6b 61 67 65 73 5b 24 6b 65 79 5d 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 ckages[$key].=.new.AliasPackage(
84da0 24 70 61 63 6b 61 67 65 73 5b 24 61 6c 69 61 73 5d 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 $packages[$alias],.$package->get
84dc0 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 Version(),.$package->getPrettyVe
84de0 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 24 72 6d 2d 3e 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 rsion());.}.}.$rm->setLocalRepos
84e00 69 74 6f 72 79 28 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 itory(.new.InstalledArrayReposit
84e20 6f 72 79 28 24 70 61 63 6b 61 67 65 73 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ory($packages).);.}.........publ
84e40 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 49 4f 49 6e 74 65 ic.static.function.create(IOInte
84e60 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b rface.$io,.Composer.$composer).{
84e80 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 0a 24 69 6f 2c 0a 24 63 6f 6d 70 6f 73 .return.new.static(.$io,.$compos
84ea0 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 er->getConfig(),.$composer->getP
84ec0 61 63 6b 61 67 65 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 ackage(),.$composer->getDownload
84ee0 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 Manager(),.$composer->getReposit
84f00 6f 72 79 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b oryManager(),.$composer->getLock
84f20 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e er(),.$composer->getInstallation
84f40 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 Manager(),.$composer->getEventDi
84f60 73 70 61 74 63 68 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f spatcher(),.$composer->getAutolo
84f80 61 64 47 65 6e 65 72 61 74 6f 72 28 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 adGenerator().);.}......public.f
84fa0 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 unction.setAdditionalInstalledRe
84fc0 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 61 64 pository(RepositoryInterface.$ad
84fe0 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 24 ditionalInstalledRepository).{.$
85000 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 this->additionalInstalledReposit
85020 6f 72 79 20 3d 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 ory.=.$additionalInstalledReposi
85040 74 6f 72 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 tory;..return.$this;.}........pu
85060 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 72 79 52 75 6e 28 24 64 72 79 52 75 6e 20 blic.function.setDryRun($dryRun.
85080 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 20 3d 20 28 62 6f 6f 6c 29 =.true).{.$this->dryRun.=.(bool)
850a0 20 24 64 72 79 52 75 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .$dryRun;..return.$this;.}......
850c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 72 79 52 75 6e 28 29 0a 7b 0a 72 65 .public.function.isDryRun().{.re
850e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 turn.$this->dryRun;.}........pub
85100 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 lic.function.setPreferSource($pr
85120 65 66 65 72 53 6f 75 72 63 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 eferSource.=.true).{.$this->pref
85140 65 72 53 6f 75 72 63 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b erSource.=.(bool).$preferSource;
85160 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ..return.$this;.}........public.
85180 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 function.setPreferDist($preferDi
851a0 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 3d st.=.true).{.$this->preferDist.=
851c0 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 44 69 73 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 .(bool).$preferDist;..return.$th
851e0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 is;.}........public.function.set
85200 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f OptimizeAutoloader($optimizeAuto
85220 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a loader.=.false).{.$this->optimiz
85240 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 70 74 69 6d 69 7a 65 41 75 eAutoloader.=.(bool).$optimizeAu
85260 74 6f 6c 6f 61 64 65 72 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 toloader;.if.(!$this->optimizeAu
85280 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 43 6c 61 73 73 4d toloader).{.....$this->setClassM
852a0 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 apAuthoritative(false);.}..retur
852c0 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this;.}.........public.functi
852e0 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 on.setClassMapAuthoritative($cla
85300 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 ssMapAuthoritative.=.false).{.$t
85320 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 28 62 6f his->classMapAuthoritative.=.(bo
85340 6f 6c 29 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 69 66 20 28 ol).$classMapAuthoritative;.if.(
85360 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a $this->classMapAuthoritative).{.
85380 0a 20 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 74 ..$this->setOptimizeAutoloader(t
853a0 72 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a rue);.}..return.$this;.}........
853c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 public.function.setApcuAutoloade
853e0 72 28 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 r($apcuAutoloader.=.false).{.$th
85400 69 73 2d 3e 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 61 70 63 is->apcuAutoloader.=.(bool).$apc
85420 75 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a uAutoloader;..return.$this;.}...
85440 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 74 65 28 24 .....public.function.setUpdate($
85460 75 70 64 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d update.=.true).{.$this->update.=
85480 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a .(bool).$update;..return.$this;.
854a0 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 4d }........public.function.setDevM
854c0 6f 64 65 28 24 64 65 76 4d 6f 64 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 ode($devMode.=.true).{.$this->de
854e0 76 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 72 65 74 75 72 6e vMode.=.(bool).$devMode;..return
85500 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$this;.}..........public.functi
85520 6f 6e 20 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 28 24 64 75 6d 70 41 75 74 6f 6c 6f on.setDumpAutoloader($dumpAutolo
85540 61 64 65 72 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 41 75 74 6f 6c 6f ader.=.true).{.$this->dumpAutolo
85560 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 0a ader.=.(bool).$dumpAutoloader;..
85580 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 return.$this;.}..........public.
855a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 24 72 75 6e 53 63 72 69 70 function.setRunScripts($runScrip
855c0 74 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d ts.=.true).{.$this->runScripts.=
855e0 20 28 62 6f 6f 6c 29 20 24 72 75 6e 53 63 72 69 70 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 .(bool).$runScripts;..return.$th
85600 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 is;.}........public.function.set
85620 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e Config(Config.$config).{.$this->
85640 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b config.=.$config;..return.$this;
85660 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 .}........public.function.setVer
85680 62 6f 73 65 28 24 76 65 72 62 6f 73 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 bose($verbose.=.true).{.$this->v
856a0 65 72 62 6f 73 65 20 3d 20 28 62 6f 6f 6c 29 20 24 76 65 72 62 6f 73 65 3b 0a 0a 72 65 74 75 72 erbose.=.(bool).$verbose;..retur
856c0 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e n.$this;.}.......public.function
856e0 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 .isVerbose().{.return.$this->ver
85700 62 6f 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 bose;.}........public.function.s
85720 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 67 etIgnorePlatformRequirements($ig
85740 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 norePlatformReqs.=.false).{.$thi
85760 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 28 62 6f 6f 6c 29 20 24 s->ignorePlatformReqs.=.(bool).$
85780 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ignorePlatformReqs;..return.$thi
857a0 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 s;.}.........public.function.set
857c0 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 UpdateWhitelist(array.$packages)
857e0 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 3d 20 61 72 72 61 .{.$this->updateWhitelist.=.arra
85800 79 5f 66 6c 69 70 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 24 y_flip(array_map('strtolower',.$
85820 70 61 63 6b 61 67 65 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a packages));..return.$this;.}....
85840 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 44 65 70 .public.function.setWhitelistDep
85860 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 endencies($updateDependencies.=.
85880 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 74 57 68 69 74 65 6c 69 true).{.return.$this->setWhiteli
858a0 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 stTransitiveDependencies($update
858c0 44 65 70 65 6e 64 65 6e 63 69 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 Dependencies);.}...........publi
858e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 c.function.setWhitelistTransitiv
85900 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 54 72 61 6e 73 69 74 69 76 65 44 eDependencies($updateTransitiveD
85920 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 ependencies.=.true).{.$this->whi
85940 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 telistDependencies.=.(bool).$upd
85960 61 74 65 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 3b 0a 0a 72 65 74 75 ateTransitiveDependencies;..retu
85980 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rn.$this;.}...........public.fun
859a0 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 ction.setWhitelistAllDependencie
859c0 73 28 24 75 70 64 61 74 65 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 72 75 65 29 s($updateAllDependencies.=.true)
859e0 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 .{.$this->whitelistAllDependenci
85a00 65 73 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 es.=.(bool).$updateAllDependenci
85a20 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c es;..return.$this;.}........publ
85a40 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 70 72 65 ic.function.setPreferStable($pre
85a60 66 65 72 53 74 61 62 6c 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 ferStable.=.true).{.$this->prefe
85a80 72 53 74 61 62 6c 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a rStable.=.(bool).$preferStable;.
85aa0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .return.$this;.}........public.f
85ac0 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 70 72 65 66 65 72 4c unction.setPreferLowest($preferL
85ae0 6f 77 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 owest.=.true).{.$this->preferLow
85b00 65 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 0a 72 65 74 est.=.(bool).$preferLowest;..ret
85b20 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e urn.$this;.}..........public.fun
85b40 63 74 69 6f 6e 20 73 65 74 57 72 69 74 65 4c 6f 63 6b 28 24 77 72 69 74 65 4c 6f 63 6b 20 3d 20 ction.setWriteLock($writeLock.=.
85b60 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 20 3d 20 28 62 6f 6f 6c true).{.$this->writeLock.=.(bool
85b80 29 20 24 77 72 69 74 65 4c 6f 63 6b 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ).$writeLock;..return.$this;.}..
85ba0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 65 63 75 ........public.function.setExecu
85bc0 74 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 teOperations($executeOperations.
85be0 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f =.true).{.$this->executeOperatio
85c00 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 3b 0a ns.=.(bool).$executeOperations;.
85c20 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .return.$this;.}........public.f
85c40 75 6e 63 74 69 6f 6e 20 73 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 73 6b 69 70 53 75 67 67 unction.setSkipSuggest($skipSugg
85c60 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6b 69 70 53 75 67 67 65 73 74 est.=.true).{.$this->skipSuggest
85c80 20 3d 20 28 62 6f 6f 6c 29 20 24 73 6b 69 70 53 75 67 67 65 73 74 3b 0a 0a 72 65 74 75 72 6e 20 .=.(bool).$skipSuggest;..return.
85ca0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $this;.}...........public.functi
85cc0 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 on.disablePlugins().{.$this->ins
85ce0 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 tallationManager->disablePlugins
85d00 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ();..return.$this;.}......public
85d20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 .function.setSuggestedPackagesRe
85d40 70 6f 72 74 65 72 28 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 porter(SuggestedPackagesReporter
85d60 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 29 0a 7b 0a 24 .$suggestedPackagesReporter).{.$
85d80 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 20 this->suggestedPackagesReporter.
85da0 3d 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 72 =.$suggestedPackagesReporter;..r
85dc0 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eturn.$this;.}.}.<?php..........
85de0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a ..namespace.Composer\Installer;.
85e00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Composer\IO\IOInterface;.us
85e20 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 e.Composer\Package\PackageInterf
85e40 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 ace;.use.Composer\Util\Filesyste
85e60 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 m;.use.Composer\Util\Platform;.u
85e80 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 se.Composer\Util\ProcessExecutor
85ea0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 0a 0a ;.use.Composer\Util\Silencer;...
85ec0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 ......class.BinaryInstaller.{.pr
85ee0 6f 74 65 63 74 65 64 20 24 62 69 6e 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 43 otected.$binDir;.protected.$binC
85f00 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 ompat;.protected.$io;.protected.
85f20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $filesystem;........public.funct
85f40 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c ion.__construct(IOInterface.$io,
85f60 20 24 62 69 6e 44 69 72 2c 20 24 62 69 6e 43 6f 6d 70 61 74 2c 20 46 69 6c 65 73 79 73 74 65 6d .$binDir,.$binCompat,.Filesystem
85f80 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 .$filesystem.=.null).{.$this->bi
85fa0 6e 44 69 72 20 3d 20 24 62 69 6e 44 69 72 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 43 6f 6d 70 61 74 nDir.=.$binDir;.$this->binCompat
85fc0 20 3d 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a .=.$binCompat;.$this->io.=.$io;.
85fe0 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 $this->filesystem.=.$filesystem.
86000 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ?:.new.Filesystem();.}..public.f
86020 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 unction.installBinaries(PackageI
86040 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c nterface.$package,.$installPath,
86060 20 24 77 61 72 6e 4f 6e 4f 76 65 72 77 72 69 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 62 69 6e .$warnOnOverwrite.=.true).{.$bin
86080 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b aries.=.$this->getBinaries($pack
860a0 61 67 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a age);.if.(!$binaries).{.return;.
860c0 7d 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 20 61 73 20 24 62 69 6e 29 20 7b 0a }.foreach.($binaries.as.$bin).{.
860e0 24 62 69 6e 50 61 74 68 20 3d 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 62 69 6e $binPath.=.$installPath.'/'.$bin
86100 3b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 62 69 6e 50 61 74 68 29 29 20 7b 0a ;.if.(!file_exists($binPath)).{.
86120 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 61 72 6e $this->io->writeError('....<warn
86140 69 6e 67 3e 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 62 69 6e 20 ing>Skipped.installation.of.bin.
86160 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d '.$bin.'.for.package.'.$package-
86180 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 >getName().':.file.not.found.in.
861a0 70 61 63 6b 61 67 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d package</warning>');.continue;.}
861c0 0a 0a 0a 20 0a 20 0a 20 0a 20 24 62 69 6e 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 62 ..........$binPath.=.realpath($b
861e0 69 6e 50 61 74 68 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 inPath);..$this->initializeBinDi
86200 72 28 29 3b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 27 2e 62 r();.$link.=.$this->binDir.'/'.b
86220 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 asename($bin);.if.(file_exists($
86240 6c 69 6e 6b 29 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 6c 69 6e 6b 29 29 20 7b 0a 0a link)).{.if.(is_link($link)).{..
86260 20 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 6c 69 .....Silencer::call('chmod',.$li
86280 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 69 66 20 28 24 77 61 72 nk,.0777.&.~umask());.}.if.($war
862a0 6e 4f 6e 4f 76 65 72 77 72 69 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 nOnOverwrite).{.$this->io->write
862c0 45 72 72 6f 72 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 Error('....Skipped.installation.
862e0 6f 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 of.bin.'.$bin.'.for.package.'.$p
86300 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 6e 61 6d 65 20 63 6f 6e 66 6c 69 ackage->getName().':.name.confli
86320 63 74 73 20 77 69 74 68 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 27 29 3b 0a 7d 0a 63 cts.with.an.existing.file');.}.c
86340 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 69 6e 43 6f 6d 70 61 74 ontinue;.}..if.($this->binCompat
86360 20 3d 3d 3d 20 22 61 75 74 6f 22 29 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 .===."auto").{.if.(Platform::isW
86380 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 46 75 6c 6c 42 69 indows()).{.$this->installFullBi
863a0 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 2c 20 24 62 69 6e 2c 20 24 70 naries($binPath,.$link,.$bin,.$p
863c0 61 63 6b 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c ackage);.}.else.{.$this->install
863e0 53 79 6d 6c 69 6e 6b 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 SymlinkBinaries($binPath,.$link)
86400 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 62 69 6e 43 6f 6d 70 61 74 20 3d ;.}.}.elseif.($this->binCompat.=
86420 3d 3d 20 22 66 75 6c 6c 22 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 46 75 6c 6c 42 ==."full").{.$this->installFullB
86440 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 2c 20 24 62 69 6e 2c 20 24 inaries($binPath,.$link,.$bin,.$
86460 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f package);.}.Silencer::call('chmo
86480 64 27 2c 20 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 7d d',.$link,.0777.&.~umask());.}.}
864a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 ..public.function.removeBinaries
864c0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 (PackageInterface.$package).{.$t
864e0 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 0a 24 62 69 6e 61 72 his->initializeBinDir();..$binar
86500 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 ies.=.$this->getBinaries($packag
86520 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a e);.if.(!$binaries).{.return;.}.
86540 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 20 61 73 20 24 62 69 6e 29 20 7b 0a 24 6c foreach.($binaries.as.$bin).{.$l
86560 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 27 2e 62 61 73 65 6e 61 6d 65 ink.=.$this->binDir.'/'.basename
86580 28 24 62 69 6e 29 3b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 6c 69 6e 6b 29 20 7c 7c 20 66 69 ($bin);.if.(is_link($link).||.fi
865a0 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 le_exists($link)).{.$this->files
865c0 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 29 3b 0a 7d 0a 69 66 20 28 66 69 6c 65 ystem->unlink($link);.}.if.(file
865e0 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 2e 27 2e 62 61 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e _exists($link.'.bat')).{.$this->
86600 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 2e 27 2e 62 61 74 27 29 filesystem->unlink($link.'.bat')
86620 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 ;.}.}....if.(is_dir($this->binDi
86640 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d r).&&.$this->filesystem->isDirEm
86660 70 74 79 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a pty($this->binDir)).{.Silencer::
86680 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 7d 0a call('rmdir',.$this->binDir);.}.
866a0 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d }..public.static.function.determ
866c0 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 62 69 6e 29 0a 7b 0a 69 66 20 28 27 2e 62 61 ineBinaryCaller($bin).{.if.('.ba
866e0 74 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 20 7c 7c 20 27 2e 65 78 65 t'.===.substr($bin,.-4).||.'.exe
86700 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 29 20 7b 0a 72 65 74 75 72 6e '.===.substr($bin,.-4)).{.return
86720 20 27 63 61 6c 6c 27 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 62 69 6e .'call';.}..$handle.=.fopen($bin
86740 2c 20 27 72 27 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 68 61 6e 64 6c 65 29 3b 0a ,.'r');.$line.=.fgets($handle);.
86760 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 fclose($handle);.if.(preg_match(
86780 27 7b 5e 23 21 2f 28 3f 3a 75 73 72 2f 62 69 6e 2f 65 6e 76 20 29 3f 28 3f 3a 5b 5e 2f 5d 2b 2f '{^#!/(?:usr/bin/env.)?(?:[^/]+/
867a0 29 2a 28 2e 2b 29 24 7d 6d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 )*(.+)$}m',.$line,.$match)).{.re
867c0 74 75 72 6e 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 turn.trim($match[1]);.}..return.
867e0 27 70 68 70 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 'php';.}..protected.function.get
86800 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 Binaries(PackageInterface.$packa
86820 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 42 69 6e 61 72 69 ge).{.return.$package->getBinari
86840 65 73 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 es();.}..protected.function.inst
86860 61 6c 6c 46 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 2c allFullBinaries($binPath,.$link,
86880 20 24 62 69 6e 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 .$bin,.PackageInterface.$package
868a0 29 0a 7b 0a 0a 20 69 66 20 28 27 2e 62 61 74 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e ).{...if.('.bat'.!==.substr($bin
868c0 50 61 74 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 55 6e 69 78 79 Path,.-4)).{.$this->installUnixy
868e0 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a ProxyBinaries($binPath,.$link);.
86900 40 63 68 6d 6f 64 28 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a @chmod($link,.0777.&.~umask());.
86920 24 6c 69 6e 6b 20 2e 3d 20 27 2e 62 61 74 27 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 $link..=.'.bat';.if.(file_exists
86940 28 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ($link)).{.$this->io->writeError
86960 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 62 69 ('....Skipped.installation.of.bi
86980 6e 20 27 2e 24 62 69 6e 2e 27 2e 62 61 74 20 70 72 6f 78 79 20 66 6f 72 20 70 61 63 6b 61 67 65 n.'.$bin.'.bat.proxy.for.package
869a0 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 61 20 2e 62 61 74 .'.$package->getName().':.a..bat
869c0 20 70 72 6f 78 79 20 77 61 73 20 61 6c 72 65 61 64 79 20 69 6e 73 74 61 6c 6c 65 64 27 29 3b 0a .proxy.was.already.installed');.
869e0 7d 0a 7d 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 66 }.}.if.(!file_exists($link)).{.f
86a00 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 69 6e 6b 2c 20 24 74 68 69 73 2d 3e 67 ile_put_contents($link,.$this->g
86a20 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 50 61 74 68 enerateWindowsProxyCode($binPath
86a40 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ,.$link));.}.}..protected.functi
86a60 6f 6e 20 69 6e 73 74 61 6c 6c 53 79 6d 6c 69 6e 6b 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 on.installSymlinkBinaries($binPa
86a80 74 68 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 th,.$link).{.if.(!$this->filesys
86aa0 74 65 6d 2d 3e 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b 28 24 62 69 6e 50 61 74 68 2c 20 24 tem->relativeSymlink($binPath,.$
86ac0 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 55 6e 69 78 79 50 72 6f 78 link)).{.$this->installUnixyProx
86ae0 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 7d 0a 7d 0a yBinaries($binPath,.$link);.}.}.
86b00 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 55 6e 69 78 79 .protected.function.installUnixy
86b20 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 0a 7b ProxyBinaries($binPath,.$link).{
86b40 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 69 6e 6b 2c 20 24 74 68 69 73 2d .file_put_contents($link,.$this-
86b60 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 50 61 74 68 >generateUnixyProxyCode($binPath
86b80 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ,.$link));.}..protected.function
86ba0 20 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c .initializeBinDir().{.$this->fil
86bc0 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 esystem->ensureDirectoryExists($
86be0 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 3d 20 72 this->binDir);.$this->binDir.=.r
86c00 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 7d 0a 0a 70 72 6f 74 65 ealpath($this->binDir);.}..prote
86c20 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f cted.function.generateWindowsPro
86c40 78 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d xyCode($bin,.$link).{.$binPath.=
86c60 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 .$this->filesystem->findShortest
86c80 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 24 63 61 6c 6c 65 72 20 3d 20 73 65 6c Path($link,.$bin);.$caller.=.sel
86ca0 66 3a 3a 64 65 74 65 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 62 69 6e 29 3b 0a f::determineBinaryCaller($bin);.
86cc0 0a 72 65 74 75 72 6e 20 22 40 45 43 48 4f 20 4f 46 46 5c 72 5c 6e 22 2e 0a 22 73 65 74 6c 6f 63 .return."@ECHO.OFF\r\n".."setloc
86ce0 61 6c 20 44 49 53 41 42 4c 45 44 45 4c 41 59 45 44 45 58 50 41 4e 53 49 4f 4e 5c 72 5c 6e 22 2e al.DISABLEDELAYEDEXPANSION\r\n".
86d00 0a 22 53 45 54 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 7e 64 70 30 2f 22 2e 74 72 69 6d 28 50 72 ."SET.BIN_TARGET=%~dp0/".trim(Pr
86d20 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 69 6e 50 61 74 68 29 2c ocessExecutor::escape($binPath),
86d40 20 27 22 5c 27 27 29 2e 22 5c 72 5c 6e 22 2e 0a 22 7b 24 63 61 6c 6c 65 72 7d 20 5c 22 25 42 49 .'"\'')."\r\n".."{$caller}.\"%BI
86d60 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 N_TARGET%\".%*\r\n";.}..protecte
86d80 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f 78 79 43 6f 64 d.function.generateUnixyProxyCod
86da0 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 74 68 69 e($bin,.$link).{.$binPath.=.$thi
86dc0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 s->filesystem->findShortestPath(
86de0 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 0a 24 62 69 6e 44 69 72 20 3d 20 50 72 6f 63 65 73 73 $link,.$bin);..$binDir.=.Process
86e00 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 Executor::escape(dirname($binPat
86e20 68 29 29 3b 0a 24 62 69 6e 46 69 6c 65 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 h));.$binFile.=.basename($binPat
86e40 68 29 3b 0a 0a 24 70 72 6f 78 79 43 6f 64 65 20 3d 20 3c 3c 3c 50 52 4f 58 59 0a 23 21 2f 75 73 h);..$proxyCode.=.<<<PROXY.#!/us
86e60 72 2f 62 69 6e 2f 65 6e 76 20 73 68 0a 0a 64 69 72 3d 5c 24 28 63 64 20 22 5c 24 7b 30 25 5b 2f r/bin/env.sh..dir=\$(cd."\${0%[/
86e80 5c 5c 5c 5c 5d 2a 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 63 64 20 24 62 69 6e 44 69 72 \\\\]*}".>./dev/null;.cd.$binDir
86ea0 20 26 26 20 70 77 64 29 0a 0a 69 66 20 5b 20 2d 64 20 2f 70 72 6f 63 2f 63 79 67 64 72 69 76 65 .&&.pwd)..if.[.-d./proc/cygdrive
86ec0 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 63 61 73 65 20 5c 24 28 77 68 69 63 68 20 70 68 70 29 20 .];.then.....case.\$(which.php).
86ee0 69 6e 0a 20 20 20 20 20 20 20 20 5c 24 28 72 65 61 64 6c 69 6e 6b 20 2d 6e 20 2f 70 72 6f 63 2f in.........\$(readlink.-n./proc/
86f00 63 79 67 64 72 69 76 65 29 2f 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 57 65 20 61 72 cygdrive)/*).............#.We.ar
86f20 65 20 69 6e 20 43 79 67 77 69 6e 20 75 73 69 6e 67 20 57 69 6e 64 6f 77 73 20 70 68 70 2c 20 73 e.in.Cygwin.using.Windows.php,.s
86f40 6f 20 74 68 65 20 70 61 74 68 20 6d 75 73 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 0a 20 20 o.the.path.must.be.translated...
86f60 20 20 20 20 20 20 20 20 20 20 64 69 72 3d 5c 24 28 63 79 67 70 61 74 68 20 2d 6d 20 22 5c 24 64 ..........dir=\$(cygpath.-m."\$d
86f80 69 72 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 63 0a 66 69 ir");.............;;.....esac.fi
86fa0 0a 0a 22 5c 24 7b 64 69 72 7d 2f 24 62 69 6e 46 69 6c 65 22 20 22 5c 24 40 22 0a 0a 50 52 4f 58 .."\${dir}/$binFile"."\$@"..PROX
86fc0 59 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 78 79 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 Y;..return.$proxyCode;.}.}.<?php
86fe0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 ............namespace.Composer\I
87000 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c nstaller;..use.Composer\Package\
87020 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 PackageInterface;.......interfac
87040 65 20 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a e.BinaryPresenceInterface.{.....
87060 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 .public.function.ensureBinariesP
87080 72 65 73 65 6e 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 resence(PackageInterface.$packag
870a0 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 e);.}.<?php............namespace
870c0 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 .Composer\Installer;..use.Compos
870e0 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c er\IO\IOInterface;.use.Composer\
87100 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
87120 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 mposer\Package\AliasPackage;.use
87140 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 .Composer\Repository\RepositoryI
87160 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 nterface;.use.Composer\Repositor
87180 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a y\InstalledRepositoryInterface;.
871a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c use.Composer\DependencyResolver\
871c0 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Operation\OperationInterface;.us
871e0 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 e.Composer\DependencyResolver\Op
87200 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f eration\InstallOperation;.use.Co
87220 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 mposer\DependencyResolver\Operat
87240 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ion\UpdateOperation;.use.Compose
87260 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 r\DependencyResolver\Operation\U
87280 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ninstallOperation;.use.Composer\
872a0 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 DependencyResolver\Operation\Mar
872c0 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f kAliasInstalledOperation;.use.Co
872e0 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 mposer\DependencyResolver\Operat
87300 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f ion\MarkAliasUninstalledOperatio
87320 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 72 65 61 6d 43 6f 6e 74 65 n;.use.Composer\Util\StreamConte
87340 78 74 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c xtFactory;.........class.Install
87360 61 74 69 6f 6e 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 65 ationManager.{.private.$installe
87380 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 61 63 68 65 20 3d 20 61 rs.=.array();.private.$cache.=.a
873a0 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 rray();.private.$notifiablePacka
873c0 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ges.=.array();..public.function.
873e0 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 reset().{.$this->notifiablePacka
87400 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ges.=.array();.}.......public.fu
87420 6e 63 74 69 6f 6e 20 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 49 6e 73 74 61 6c 6c 65 72 49 6e 74 nction.addInstaller(InstallerInt
87440 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 erface.$installer).{.array_unshi
87460 66 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 24 69 6e 73 74 61 6c 6c 65 72 ft($this->installers,.$installer
87480 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a );.$this->cache.=.array();.}....
874a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 49 6e 73 74 61 6c 6c ...public.function.removeInstall
874c0 65 72 28 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 72 er(InstallerInterface.$installer
874e0 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 6b 65 79 20 3d 20 61 72 72 61 79 5f ).{.if.(false.!==.($key.=.array_
87500 73 65 61 72 63 68 28 24 69 6e 73 74 61 6c 6c 65 72 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c search($installer,.$this->instal
87520 6c 65 72 73 2c 20 74 72 75 65 29 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 68 lers,.true))).{.array_splice($th
87540 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 24 74 68 69 73 2d is->installers,.$key,.1);.$this-
87560 3e 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 >cache.=.array();.}.}.........pu
87580 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 0a 7b blic.function.disablePlugins().{
875a0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 .foreach.($this->installers.as.$
875c0 69 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c i.=>.$installer).{.if.(!$install
875e0 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 29 20 7b er.instanceof.PluginInstaller).{
87600 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 .continue;.}..unset($this->insta
87620 6c 6c 65 72 73 5b 24 69 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 llers[$i]);.}.}..........public.
87640 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 function.getInstaller($type).{.$
87660 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 0a 69 66 20 28 69 type.=.strtolower($type);..if.(i
87680 73 73 65 74 28 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 sset($this->cache[$type])).{.ret
876a0 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 66 6f 72 65 urn.$this->cache[$type];.}..fore
876c0 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 6e 73 74 61 ach.($this->installers.as.$insta
876e0 6c 6c 65 72 29 20 7b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 75 70 70 6f 72 74 73 ller).{.if.($installer->supports
87700 28 24 74 79 70 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 ($type)).{.return.$this->cache[$
87720 74 79 70 65 5d 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e type].=.$installer;.}.}..throw.n
87740 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e ew.\InvalidArgumentException('Un
87760 6b 6e 6f 77 6e 20 69 6e 73 74 61 6c 6c 65 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a known.installer.type:.'.$type);.
87780 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 61 63 }..........public.function.isPac
877a0 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 kageInstalled(InstalledRepositor
877c0 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 yInterface.$repo,.PackageInterfa
877e0 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 ce.$package).{.if.($package.inst
87800 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 anceof.AliasPackage).{.return.$r
87820 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 20 26 26 20 24 74 68 epo->hasPackage($package).&&.$th
87840 69 73 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 is->isPackageInstalled($repo,.$p
87860 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ackage->getAliasOf());.}..return
87880 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 .$this->getInstaller($package->g
878a0 65 74 54 79 70 65 28 29 29 2d 3e 69 73 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 etType())->isInstalled($repo,.$p
878c0 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ackage);.}........public.functio
878e0 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 6b 61 67 65 n.ensureBinariesPresence(Package
87900 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 69 6e 73 Interface.$package).{.try.{.$ins
87920 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 taller.=.$this->getInstaller($pa
87940 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 ckage->getType());.}.catch.(\Inv
87960 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 alidArgumentException.$e).{...re
87980 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 20 69 6e 73 74 61 6e turn;.}....if.($installer.instan
879a0 63 65 6f 66 20 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a ceof.BinaryPresenceInterface).{.
879c0 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e $installer->ensureBinariesPresen
879e0 63 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ce($package);.}.}........public.
87a00 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 function.execute(RepositoryInter
87a20 66 61 63 65 20 24 72 65 70 6f 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 face.$repo,.OperationInterface.$
87a40 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 24 6f 70 65 72 61 74 69 6f operation).{.$method.=.$operatio
87a60 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 3b 0a 24 74 68 69 73 2d 3e 24 6d 65 74 68 6f 64 28 n->getJobType();.$this->$method(
87a80 24 72 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 $repo,.$operation);.}........pub
87aa0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 52 65 70 6f 73 69 74 6f 72 79 49 lic.function.install(RepositoryI
87ac0 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e nterface.$repo,.InstallOperation
87ae0 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 .$operation).{.$package.=.$opera
87b00 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d tion->getPackage();.$installer.=
87b20 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 .$this->getInstaller($package->g
87b40 65 74 54 79 70 65 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 28 24 etType());.$installer->install($
87b60 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e repo,.$package);.$this->markForN
87b80 6f 74 69 66 69 63 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a otification($package);.}........
87ba0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 52 65 70 6f 73 69 74 6f 72 public.function.update(Repositor
87bc0 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f yInterface.$repo,.UpdateOperatio
87be0 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 20 3d 20 24 6f 70 65 72 n.$operation).{.$initial.=.$oper
87c00 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 3b 0a 24 74 61 72 ation->getInitialPackage();.$tar
87c20 67 65 74 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 get.=.$operation->getTargetPacka
87c40 67 65 28 29 3b 0a 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e ge();..$initialType.=.$initial->
87c60 67 65 74 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 getType();.$targetType.=.$target
87c80 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d ->getType();..if.($initialType.=
87ca0 3d 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 ==.$targetType).{.$installer.=.$
87cc0 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 this->getInstaller($initialType)
87ce0 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 75 70 64 61 74 65 28 24 72 65 70 6f 2c 20 24 69 6e 69 ;.$installer->update($repo,.$ini
87d00 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e 6f tial,.$target);.$this->markForNo
87d20 74 69 66 69 63 61 74 69 6f 6e 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 tification($target);.}.else.{.$t
87d40 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 2d his->getInstaller($initialType)-
87d60 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 >uninstall($repo,.$initial);.$th
87d80 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 61 72 67 65 74 54 79 70 65 29 2d 3e 69 is->getInstaller($targetType)->i
87da0 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a nstall($repo,.$target);.}.}.....
87dc0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 52 65 70 ...public.function.uninstall(Rep
87de0 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 55 6e 69 6e 73 74 61 6c ositoryInterface.$repo,.Uninstal
87e00 6c 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 lOperation.$operation).{.$packag
87e20 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 e.=.$operation->getPackage();.$i
87e40 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 nstaller.=.$this->getInstaller($
87e60 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d package->getType());.$installer-
87e80 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a >uninstall($repo,.$package);.}..
87ea0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 49 ......public.function.markAliasI
87ec0 6e 73 74 61 6c 6c 65 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 nstalled(RepositoryInterface.$re
87ee0 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 po,.MarkAliasInstalledOperation.
87f00 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 $operation).{.$package.=.$operat
87f20 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e ion->getPackage();..if.(!$repo->
87f40 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 hasPackage($package)).{.$repo->a
87f60 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a ddPackage(clone.$package);.}.}..
87f80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 55 ......public.function.markAliasU
87fa0 6e 69 6e 73 74 61 6c 6c 65 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 ninstalled(RepositoryInterface.$
87fc0 72 65 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 repo,.MarkAliasUninstalledOperat
87fe0 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 ion.$operation).{.$package.=.$op
88000 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 24 72 65 70 6f 2d 3e 72 eration->getPackage();..$repo->r
88020 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a emovePackage($package);.}.......
88040 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 .public.function.getInstallPath(
88060 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e PackageInterface.$package).{.$in
88080 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 staller.=.$this->getInstaller($p
880a0 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 ackage->getType());..return.$ins
880c0 74 61 6c 6c 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 taller->getInstallPath($package)
880e0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 49 6e 73 74 61 ;.}..public.function.notifyInsta
88100 6c 6c 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 lls(IOInterface.$io).{.foreach.(
88120 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 20 61 73 20 24 72 65 $this->notifiablePackages.as.$re
88140 70 6f 55 72 6c 20 3d 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 poUrl.=>.$packages).{.$repositor
88160 79 4e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 55 72 6c 2c 20 50 48 50 5f yName.=.parse_url($repoUrl,.PHP_
88180 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 URL_HOST);.if.($io->hasAuthentic
881a0 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 75 74 68 20 ation($repositoryName)).{.$auth.
881c0 3d 20 24 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 =.$io->getAuthentication($reposi
881e0 74 6f 72 79 4e 61 6d 65 29 3b 0a 24 61 75 74 68 53 74 72 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 toryName);.$authStr.=.base64_enc
88200 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 2e 20 27 3a 27 20 2e 20 24 61 ode($auth['username']...':'...$a
88220 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 75 74 68 48 65 61 64 65 72 20 3d 20 uth['password']);.$authHeader.=.
88240 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 27 2e 24 61 75 74 68 53 74 72 'Authorization:.Basic.'.$authStr
88260 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 74 72 70 6f 73 28 24 72 65 70 6f 55 72 6c 2c 20 27 25 70 61 ;.}....if.(strpos($repoUrl,.'%pa
88280 63 6b 61 67 65 25 27 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 ckage%')).{.foreach.($packages.a
882a0 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 s.$package).{.$url.=.str_replace
882c0 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 ('%package%',.$package->getPrett
882e0 79 4e 61 6d 65 28 29 2c 20 24 72 65 70 6f 55 72 6c 29 3b 0a 0a 24 70 61 72 61 6d 73 20 3d 20 61 yName(),.$repoUrl);..$params.=.a
88300 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 rray(.'version'.=>.$package->get
88320 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c PrettyVersion(),.'version_normal
88340 69 7a 65 64 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c ized'.=>.$package->getVersion(),
88360 0a 29 3b 0a 24 6f 70 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 .);.$opts.=.array('http'.=>.arra
88380 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 y(.'method'.=>.'POST',.'header'.
883a0 3d 3e 20 61 72 72 61 79 28 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 61 70 70 6c 69 63 61 74 =>.array('Content-type:.applicat
883c0 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 2c 0a 27 63 6f ion/x-www-form-urlencoded'),.'co
883e0 6e 74 65 6e 74 27 20 3d 3e 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 24 70 61 72 61 ntent'.=>.http_build_query($para
88400 6d 73 2c 20 27 27 2c 20 27 26 27 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 33 2c 0a 29 2c ms,.'',.'&'),.'timeout'.=>.3,.),
88420 0a 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 7b 0a 24 6f .);.if.(isset($authHeader)).{.$o
88440 70 74 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 75 74 68 48 pts['http']['header'][].=.$authH
88460 65 61 64 65 72 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 eader;.}..$context.=.StreamConte
88480 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 24 6f 70 74 xtFactory::getContext($url,.$opt
884a0 73 29 3b 0a 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c 20 66 61 6c s);.@file_get_contents($url,.fal
884c0 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 se,.$context);.}..continue;.}..$
884e0 70 6f 73 74 44 61 74 61 20 3d 20 61 72 72 61 79 28 27 64 6f 77 6e 6c 6f 61 64 73 27 20 3d 3e 20 postData.=.array('downloads'.=>.
88500 61 72 72 61 79 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 array());.foreach.($packages.as.
88520 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 6f 73 74 44 61 74 61 5b 27 64 6f 77 6e 6c 6f 61 64 73 $package).{.$postData['downloads
88540 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 '][].=.array(.'name'.=>.$package
88560 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 ->getPrettyName(),.'version'.=>.
88580 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 7d 0a 0a 24 6f $package->getVersion(),.);.}..$o
885a0 70 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 79 28 0a 27 6d 65 pts.=.array('http'.=>.array(.'me
885c0 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 thod'.=>.'POST',.'header'.=>.arr
885e0 61 79 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 ay('Content-Type:.application/js
88600 6f 6e 27 29 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 on'),.'content'.=>.json_encode($
88620 70 6f 73 74 44 61 74 61 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 36 2c 0a 29 2c 0a 29 3b postData),.'timeout'.=>.6,.),.);
88640 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 7b 0a 24 6f 70 74 73 .if.(isset($authHeader)).{.$opts
88660 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 75 74 68 48 65 61 64 ['http']['header'][].=.$authHead
88680 65 72 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 er;.}..$context.=.StreamContextF
886a0 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 72 65 70 6f 55 72 6c 2c 20 24 6f 70 actory::getContext($repoUrl,.$op
886c0 74 73 29 3b 0a 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 72 65 70 6f 55 72 6c ts);.@file_get_contents($repoUrl
886e0 2c 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 ,.false,.$context);.}..$this->re
88700 73 65 74 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 46 set();.}..private.function.markF
88720 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 orNotification(PackageInterface.
88740 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 6f 74 $package).{.if.($package->getNot
88760 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 ificationUrl()).{.$this->notifia
88780 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 6f 74 69 66 69 63 blePackages[$package->getNotific
887a0 61 74 69 6f 6e 55 72 6c 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d ationUrl()][$package->getName()]
887c0 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a .=.$package;.}.}.}.<?php........
887e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 ....namespace.Composer\Installer
88800 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f ;..use.Composer\Composer;.use.Co
88820 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 mposer\DependencyResolver\Policy
88840 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e Interface;.use.Composer\Dependen
88860 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e cyResolver\Operation\OperationIn
88880 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 terface;.use.Composer\Dependency
888a0 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 Resolver\Pool;.use.Composer\Depe
888c0 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 ndencyResolver\Request;.use.Comp
888e0 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 oser\EventDispatcher\Event;.use.
88900 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d Composer\IO\IOInterface;.use.Com
88920 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 poser\Repository\CompositeReposi
88940 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 tory;.......class.InstallerEvent
88960 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d .extends.Event.{....private.$com
88980 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 poser;.....private.$io;.....priv
889a0 61 74 65 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6c 69 63 ate.$devMode;.....private.$polic
889c0 79 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 y;.....private.$pool;.....privat
889e0 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 e.$installedRepo;.....private.$r
88a00 65 71 75 65 73 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b equest;.....private.$operations;
88a20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ...............public.function._
88a40 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 _construct($eventName,.Composer.
88a60 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 $composer,.IOInterface.$io,.$dev
88a80 4d 6f 64 65 2c 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 Mode,.PolicyInterface.$policy,.P
88aa0 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 ool.$pool,.CompositeRepository.$
88ac0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c installedRepo,.Request.$request,
88ae0 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a .array.$operations.=.array()).{.
88b00 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 29 3b parent::__construct($eventName);
88b20 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 ..$this->composer.=.$composer;.$
88b40 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d this->io.=.$io;.$this->devMode.=
88b60 20 24 64 65 76 4d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 .$devMode;.$this->policy.=.$poli
88b80 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e cy;.$this->pool.=.$pool;.$this->
88ba0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a installedRepo.=.$installedRepo;.
88bc0 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 20 3d 20 24 72 65 71 75 65 73 74 3b 0a 24 74 68 69 73 $this->request.=.$request;.$this
88be0 2d 3e 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a ->operations.=.$operations;.}...
88c00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a ..public.function.getComposer().
88c20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a {.return.$this->composer;.}.....
88c40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e public.function.getIO().{.return
88c60 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$this->io;.}.....public.functio
88c80 6e 20 69 73 44 65 76 4d 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 n.isDevMode().{.return.$this->de
88ca0 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 vMode;.}.....public.function.get
88cc0 50 6f 6c 69 63 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 3b Policy().{.return.$this->policy;
88ce0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 29 .}.....public.function.getPool()
88d00 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 .{.return.$this->pool;.}.....pub
88d20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 29 0a lic.function.getInstalledRepo().
88d40 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 7d {.return.$this->installedRepo;.}
88d60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 65 73 74 28 .....public.function.getRequest(
88d80 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 3b 0a 7d 0a 0a 0a 0a ).{.return.$this->request;.}....
88da0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 .public.function.getOperations()
88dc0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 7d .{.return.$this->operations;.}.}
88de0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
88e00 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 oser\Installer;.......class.Inst
88e20 61 6c 6c 65 72 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 allerEvents.{..........const.PRE
88e40 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 20 3d 20 27 70 72 65 2d 64 65 70 _DEPENDENCIES_SOLVING.=.'pre-dep
88e60 65 6e 64 65 6e 63 69 65 73 2d 73 6f 6c 76 69 6e 67 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f endencies-solving';...........co
88e80 6e 73 74 20 50 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 20 3d 20 nst.POST_DEPENDENCIES_SOLVING.=.
88ea0 27 70 6f 73 74 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 2d 73 6f 6c 76 69 6e 67 27 3b 0a 7d 0a 3c 'post-dependencies-solving';.}.<
88ec0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
88ee0 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b er\Installer;..use.Composer\Pack
88f00 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 age\PackageInterface;.use.Compos
88f20 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 er\Repository\InstalledRepositor
88f40 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 yInterface;.use.InvalidArgumentE
88f60 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 73 74 61 xception;........interface.Insta
88f80 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e llerInterface.{.......public.fun
88fa0 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 3b 0a 0a 0a ction.supports($packageType);...
88fc0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c .......public.function.isInstall
88fe0 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ed(InstalledRepositoryInterface.
89000 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
89020 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c );........public.function.instal
89040 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 l(InstalledRepositoryInterface.$
89060 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 repo,.PackageInterface.$package)
89080 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 ;...........public.function.upda
890a0 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 te(InstalledRepositoryInterface.
890c0 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c $repo,.PackageInterface.$initial
890e0 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 3b 0a 0a 0a 0a ,.PackageInterface.$target);....
89100 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e ....public.function.uninstall(In
89120 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f stalledRepositoryInterface.$repo
89140 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a ,.PackageInterface.$package);...
89160 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 .....public.function.getInstallP
89180 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a ath(PackageInterface.$package);.
891a0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
891c0 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 poser\Installer;..use.Composer\C
891e0 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 omposer;.use.Composer\IO\IOInter
89200 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e face;.use.Composer\Repository\In
89220 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 stalledRepositoryInterface;.use.
89240 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
89260 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b e;.use.Composer\Util\Filesystem;
89280 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 .use.Composer\Util\Silencer;.use
892a0 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a .Composer\Util\Platform;........
892c0 63 6c 61 73 73 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 class.LibraryInstaller.implement
892e0 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2c 20 42 69 6e 61 72 79 50 72 65 73 s.InstallerInterface,.BinaryPres
89300 65 6e 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f enceInterface.{.protected.$compo
89320 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 70 72 6f 74 65 ser;.protected.$vendorDir;.prote
89340 63 74 65 64 20 24 62 69 6e 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 cted.$binDir;.protected.$downloa
89360 64 4d 61 6e 61 67 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 dManager;.protected.$io;.protect
89380 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b ed.$type;.protected.$filesystem;
893a0 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 63 74 65 64 .protected.$binCompat;.protected
893c0 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .$binaryInstaller;...........pub
893e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 lic.function.__construct(IOInter
89400 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 face.$io,.Composer.$composer,.$t
89420 79 70 65 20 3d 20 27 6c 69 62 72 61 72 79 27 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c ype.=.'library',.Filesystem.$fil
89440 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 2c 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 esystem.=.null,.BinaryInstaller.
89460 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 $binaryInstaller.=.null).{.$this
89480 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 64 ->composer.=.$composer;.$this->d
894a0 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 ownloadManager.=.$composer->getD
894c0 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 ownloadManager();.$this->io.=.$i
894e0 6f 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 0a 24 74 68 69 73 2d 3e o;.$this->type.=.$type;..$this->
89500 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 filesystem.=.$filesystem.?:.new.
89520 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3d Filesystem();.$this->vendorDir.=
89540 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 .rtrim($composer->getConfig()->g
89560 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2c 20 27 2f 27 29 3b 0a 24 74 68 69 73 2d 3e 62 et('vendor-dir'),.'/');.$this->b
89580 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3d 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 inaryInstaller.=.$binaryInstalle
895a0 72 20 3f 3a 20 6e 65 77 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 74 68 69 73 2d 3e r.?:.new.BinaryInstaller($this->
895c0 69 6f 2c 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 io,.rtrim($composer->getConfig()
895e0 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d 70 6f 73 65 ->get('bin-dir'),.'/'),.$compose
89600 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d 70 61 74 27 r->getConfig()->get('bin-compat'
89620 29 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ),.$this->filesystem);.}.....pub
89640 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 lic.function.supports($packageTy
89660 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 24 74 pe).{.return.$packageType.===.$t
89680 68 69 73 2d 3e 74 79 70 65 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 his->type.||.null.===.$this->typ
896a0 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 e;.}.....public.function.isInsta
896c0 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 lled(InstalledRepositoryInterfac
896e0 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 e.$repo,.PackageInterface.$packa
89700 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 ge).{.if.(!$repo->hasPackage($pa
89720 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 69 6e 73 74 ckage)).{.return.false;.}..$inst
89740 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 allPath.=.$this->getInstallPath(
89760 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 $package);..if.(is_readable($ins
89780 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 tallPath)).{.return.true;.}..ret
897a0 75 72 6e 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 74 urn.(Platform::isWindows().&&.$t
897c0 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 69 6e 73 his->filesystem->isJunction($ins
897e0 74 61 6c 6c 50 61 74 68 29 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 69 6e 73 74 61 6c 6c 50 61 tallPath)).||.is_link($installPa
89800 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 th);.}.....public.function.insta
89820 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ll(InstalledRepositoryInterface.
89840 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
89860 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 ).{.$this->initializeVendorDir()
89880 3b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 ;.$downloadPath.=.$this->getInst
898a0 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 72 65 allPath($package);....if.(!is_re
898c0 61 64 61 62 6c 65 28 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 20 26 26 20 24 72 65 70 6f 2d 3e adable($downloadPath).&&.$repo->
898e0 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 hasPackage($package)).{.$this->b
89900 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 inaryInstaller->removeBinaries($
89920 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 package);.}..$this->installCode(
89940 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 $package);.$this->binaryInstalle
89960 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 68 r->installBinaries($package,.$th
89980 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 69 is->getInstallPath($package));.i
899a0 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 f.(!$repo->hasPackage($package))
899c0 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b .{.$repo->addPackage(clone.$pack
899e0 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 age);.}.}.....public.function.up
89a00 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 date(InstalledRepositoryInterfac
89a20 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 e.$repo,.PackageInterface.$initi
89a40 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a al,.PackageInterface.$target).{.
89a60 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 if.(!$repo->hasPackage($initial)
89a80 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
89aa0 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 ception('Package.is.not.installe
89ac0 64 3a 20 27 2e 24 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 d:.'.$initial);.}..$this->initia
89ae0 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 lizeVendorDir();..$this->binaryI
89b00 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 69 6e 69 74 69 61 nstaller->removeBinaries($initia
89b20 6c 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 43 6f 64 65 28 24 69 6e 69 74 69 61 6c 2c 20 l);.$this->updateCode($initial,.
89b40 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 $target);.$this->binaryInstaller
89b60 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 74 61 72 67 65 74 2c 20 24 74 68 69 73 ->installBinaries($target,.$this
89b80 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 70 ->getInstallPath($target));.$rep
89ba0 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 o->removePackage($initial);.if.(
89bc0 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 29 29 20 7b 0a 24 !$repo->hasPackage($target)).{.$
89be0 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b repo->addPackage(clone.$target);
89c00 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 .}.}.....public.function.uninsta
89c20 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ll(InstalledRepositoryInterface.
89c40 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
89c60 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b ).{.if.(!$repo->hasPackage($pack
89c80 61 67 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 age)).{.throw.new.\InvalidArgume
89ca0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 ntException('Package.is.not.inst
89cc0 61 6c 6c 65 64 3a 20 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 alled:.'.$package);.}..$this->re
89ce0 6d 6f 76 65 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 moveCode($package);.$this->binar
89d00 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b yInstaller->removeBinaries($pack
89d20 61 67 65 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b age);.$repo->removePackage($pack
89d40 61 67 65 29 3b 0a 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 age);..$downloadPath.=.$this->ge
89d60 74 50 61 63 6b 61 67 65 42 61 73 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 tPackageBasePath($package);.if.(
89d80 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2f 27 29 strpos($package->getName(),.'/')
89da0 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 ).{.$packageVendorDir.=.dirname(
89dc0 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 63 6b $downloadPath);.if.(is_dir($pack
89de0 61 67 65 56 65 6e 64 6f 72 44 69 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 ageVendorDir).&&.$this->filesyst
89e00 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 em->isDirEmpty($packageVendorDir
89e20 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 70 61 )).{.Silencer::call('rmdir',.$pa
89e40 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ckageVendorDir);.}.}.}.....publi
89e60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 c.function.getInstallPath(Packag
89e80 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e eInterface.$package).{.$this->in
89ea0 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 0a 24 62 61 73 65 50 61 74 68 20 itializeVendorDir();..$basePath.
89ec0 3d 20 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3f 20 24 74 68 69 73 2d 3e 76 65 6e =.($this->vendorDir.?.$this->ven
89ee0 64 6f 72 44 69 72 2e 27 2f 27 20 3a 20 27 27 29 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 dorDir.'/'.:.'')...$package->get
89f00 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 70 61 63 6b PrettyName();.$targetDir.=.$pack
89f20 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 62 61 age->getTargetDir();..return.$ba
89f40 73 65 50 61 74 68 20 2e 20 28 24 74 61 72 67 65 74 44 69 72 20 3f 20 27 2f 27 2e 24 74 61 72 67 sePath...($targetDir.?.'/'.$targ
89f60 65 74 44 69 72 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 etDir.:.'');.}.......public.func
89f80 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 6b tion.ensureBinariesPresence(Pack
89fa0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e ageInterface.$package).{.$this->
89fc0 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 binaryInstaller->installBinaries
89fe0 28 24 70 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 ($package,.$this->getInstallPath
8a000 28 24 70 61 63 6b 61 67 65 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ($package),.false);.}...........
8a020 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 42 61 73 protected.function.getPackageBas
8a040 65 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 ePath(PackageInterface.$package)
8a060 0a 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 .{.$installPath.=.$this->getInst
8a080 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 allPath($package);.$targetDir.=.
8a0a0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 69 66 20 28 24 $package->getTargetDir();..if.($
8a0c0 74 61 72 67 65 74 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 targetDir).{.return.preg_replace
8a0e0 28 27 7b 2f 2a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 2f 2b 27 2c 20 70 72 ('{/*'.str_replace('/',.'/+',.pr
8a100 65 67 5f 71 75 6f 74 65 28 24 74 61 72 67 65 74 44 69 72 29 29 2e 27 2f 3f 24 7d 27 2c 20 27 27 eg_quote($targetDir)).'/?$}',.''
8a120 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 ,.$installPath);.}..return.$inst
8a140 61 6c 6c 50 61 74 68 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 allPath;.}..protected.function.i
8a160 6e 73 74 61 6c 6c 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 nstallCode(PackageInterface.$pac
8a180 6b 61 67 65 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 kage).{.$downloadPath.=.$this->g
8a1a0 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e etInstallPath($package);.$this->
8a1c0 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 downloadManager->download($packa
8a1e0 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 ge,.$downloadPath);.}..protected
8a200 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 .function.updateCode(PackageInte
8a220 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 rface.$initial,.PackageInterface
8a240 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 .$target).{.$initialDownloadPath
8a260 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 69 6e 69 74 69 61 .=.$this->getInstallPath($initia
8a280 6c 29 3b 0a 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d l);.$targetDownloadPath.=.$this-
8a2a0 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 3b 0a 69 66 20 28 24 74 >getInstallPath($target);.if.($t
8a2c0 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 21 3d 3d 20 24 69 6e 69 74 69 61 6c 44 6f argetDownloadPath.!==.$initialDo
8a2e0 77 6e 6c 6f 61 64 50 61 74 68 29 20 7b 0a 0a 20 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 69 6e wnloadPath).{.....if.(substr($in
8a300 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 74 61 itialDownloadPath,.0,.strlen($ta
8a320 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 44 6f rgetDownloadPath)).===.$targetDo
8a340 77 6e 6c 6f 61 64 50 61 74 68 0a 7c 7c 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 44 6f 77 6e wnloadPath.||.substr($targetDown
8a360 6c 6f 61 64 50 61 74 68 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e loadPath,.0,.strlen($initialDown
8a380 6c 6f 61 64 50 61 74 68 29 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 loadPath)).===.$initialDownloadP
8a3a0 61 74 68 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 64 65 28 24 69 6e 69 74 69 ath.).{.$this->removeCode($initi
8a3c0 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 74 61 72 67 65 74 29 al);.$this->installCode($target)
8a3e0 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d ;..return;.}..$this->filesystem-
8a400 3e 72 65 6e 61 6d 65 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 2c 20 24 74 >rename($initialDownloadPath,.$t
8a420 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 77 argetDownloadPath);.}.$this->dow
8a440 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 75 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 nloadManager->update($initial,.$
8a460 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a target,.$targetDownloadPath);.}.
8a480 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 64 65 28 50 .protected.function.removeCode(P
8a4a0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 64 6f 77 ackageInterface.$package).{.$dow
8a4c0 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 42 61 73 nloadPath.=.$this->getPackageBas
8a4e0 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 ePath($package);.$this->download
8a500 4d 61 6e 61 67 65 72 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c Manager->remove($package,.$downl
8a520 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 oadPath);.}..protected.function.
8a540 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 initializeVendorDir().{.$this->f
8a560 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 ilesystem->ensureDirectoryExists
8a580 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f ($this->vendorDir);.$this->vendo
8a5a0 72 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 rDir.=.realpath($this->vendorDir
8a5c0 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
8a5e0 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f e.Composer\Installer;..use.Compo
8a600 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f ser\Repository\InstalledReposito
8a620 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ryInterface;.use.Composer\Packag
8a640 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e\PackageInterface;.use.Composer
8a660 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a \Package\Version\VersionParser;.
8a680 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a use.Composer\IO\IOInterface;....
8a6a0 0a 0a 0a 63 6c 61 73 73 20 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 72 20 69 6d ...class.MetapackageInstaller.im
8a6c0 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 plements.InstallerInterface.{.pr
8a6e0 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ivate.$io;..public.function.__co
8a700 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 nstruct(IOInterface.$io).{.$this
8a720 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->io.=.$io;.}.....public.functio
8a740 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 n.supports($packageType).{.retur
8a760 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 n.$packageType.===.'metapackage'
8a780 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c ;.}.....public.function.isInstal
8a7a0 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 led(InstalledRepositoryInterface
8a7c0 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 .$repo,.PackageInterface.$packag
8a7e0 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 e).{.return.$repo->hasPackage($p
8a800 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 ackage);.}.....public.function.i
8a820 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 nstall(InstalledRepositoryInterf
8a840 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ace.$repo,.PackageInterface.$pac
8a860 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 kage).{.$this->io->writeError(".
8a880 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 .-.Installing.<info>"...$package
8a8a0 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 ->getName()..."</info>.(<comment
8a8c0 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 >"...$package->getFullPrettyVers
8a8e0 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 72 65 70 6f 2d 3e ion()..."</comment>)");..$repo->
8a900 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a addPackage(clone.$package);.}...
8a920 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c ..public.function.update(Install
8a940 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 edRepositoryInterface.$repo,.Pac
8a960 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 kageInterface.$initial,.PackageI
8a980 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e nterface.$target).{.if.(!$repo->
8a9a0 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 hasPackage($initial)).{.throw.ne
8a9c0 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 w.\InvalidArgumentException('Pac
8a9e0 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 69 6e 69 74 69 61 kage.is.not.installed:.'.$initia
8aa00 6c 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 l);.}..$name.=.$target->getName(
8aa20 29 3b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 );.$from.=.$initial->getFullPret
8aa40 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 46 tyVersion();.$to.=.$target->getF
8aa60 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 61 63 74 69 6f 6e 4e 61 6d 65 20 ullPrettyVersion();.$actionName.
8aa80 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e 69 74 =.VersionParser::isUpgrade($init
8aaa0 69 61 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 56 ial->getVersion(),.$target->getV
8aac0 65 72 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e 67 72 ersion()).?.'Updating'.:.'Downgr
8aae0 61 64 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 ading';.$this->io->writeError(".
8ab00 20 2d 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 20 2e .-."...$actionName...".<info>"..
8ab20 20 24 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 .$name..."</info>.(<comment>"...
8ab40 24 66 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e 74 3e $from..."</comment>.=>.<comment>
8ab60 22 20 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 72 65 70 6f "...$to..."</comment>)");..$repo
8ab80 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 72 65 70 6f ->removePackage($initial);.$repo
8aba0 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a ->addPackage(clone.$target);.}..
8abc0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 ...public.function.uninstall(Ins
8abe0 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c talledRepositoryInterface.$repo,
8ac00 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 .PackageInterface.$package).{.if
8ac20 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 .(!$repo->hasPackage($package)).
8ac40 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
8ac60 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a ption('Package.is.not.installed:
8ac80 20 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 .'.$package);.}..$this->io->writ
8aca0 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 eError("..-.Removing.<info>"...$
8acc0 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c package->getName()..."</info>.(<
8ace0 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 comment>"...$package->getFullPre
8ad00 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a ttyVersion()..."</comment>)");..
8ad20 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a $repo->removePackage($package);.
8ad40 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c }.....public.function.getInstall
8ad60 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a Path(PackageInterface.$package).
8ad80 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a {.return.'';.}.}.<?php..........
8ada0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a ..namespace.Composer\Installer;.
8adc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c .use.Composer\Repository\Install
8ade0 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f edRepositoryInterface;.use.Compo
8ae00 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a ser\Package\PackageInterface;...
8ae20 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d ......class.NoopInstaller.implem
8ae40 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 ents.InstallerInterface.{....pub
8ae60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 lic.function.supports($packageTy
8ae80 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 pe).{.return.true;.}.....public.
8aea0 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 function.isInstalled(InstalledRe
8aec0 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 positoryInterface.$repo,.Package
8aee0 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 72 65 Interface.$package).{.return.$re
8af00 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a po->hasPackage($package);.}.....
8af20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 public.function.install(Installe
8af40 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b dRepositoryInterface.$repo,.Pack
8af60 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 ageInterface.$package).{.if.(!$r
8af80 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 epo->hasPackage($package)).{.$re
8afa0 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a po->addPackage(clone.$package);.
8afc0 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 }.}.....public.function.update(I
8afe0 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 nstalledRepositoryInterface.$rep
8b000 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 o,.PackageInterface.$initial,.Pa
8b020 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 21 24 ckageInterface.$target).{.if.(!$
8b040 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 29 20 7b 0a 74 68 repo->hasPackage($initial)).{.th
8b060 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
8b080 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 n('Package.is.not.installed:.'.$
8b0a0 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 initial);.}..$repo->removePackag
8b0c0 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b e($initial);.if.(!$repo->hasPack
8b0e0 61 67 65 28 24 74 61 72 67 65 74 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 age($target)).{.$repo->addPackag
8b100 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 e(clone.$target);.}.}.....public
8b120 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 .function.uninstall(InstalledRep
8b140 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 ositoryInterface.$repo,.PackageI
8b160 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d nterface.$package).{.if.(!$repo-
8b180 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e >hasPackage($package)).{.throw.n
8b1a0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 ew.\InvalidArgumentException('Pa
8b1c0 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 70 61 63 6b 61 ckage.is.not.installed:.'.$packa
8b1e0 67 65 29 3b 0a 7d 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 ge);.}.$repo->removePackage($pac
8b200 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 kage);.}.....public.function.get
8b220 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 InstallPath(PackageInterface.$pa
8b240 63 6b 61 67 65 29 0a 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e ckage).{.$targetDir.=.$package->
8b260 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 getTargetDir();..return.$package
8b280 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 20 2e 20 28 24 74 61 72 67 65 74 44 69 72 20 ->getPrettyName()...($targetDir.
8b2a0 3f 20 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 20 3a 20 27 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ?.'/'.$targetDir.:.'');.}.}.<?ph
8b2c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
8b2e0 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 Installer;..use.Composer\Compose
8b300 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a r;.use.Composer\IO\IOInterface;.
8b320 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c use.Composer\DependencyResolver\
8b340 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Operation\OperationInterface;.us
8b360 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f e.Composer\DependencyResolver\Po
8b380 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 licyInterface;.use.Composer\Depe
8b3a0 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ndencyResolver\Pool;.use.Compose
8b3c0 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 r\DependencyResolver\Request;.us
8b3e0 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 e.Composer\Repository\CompositeR
8b400 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 45 76 epository;.......class.PackageEv
8b420 65 6e 74 20 65 78 74 65 6e 64 73 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 0a 7b 0a 0a 0a 0a ent.extends.InstallerEvent.{....
8b440 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a private.$operation;.............
8b460 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
8b480 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 eventName,.Composer.$composer,.I
8b4a0 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c 69 63 79 OInterface.$io,.$devMode,.Policy
8b4c0 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 43 Interface.$policy,.Pool.$pool,.C
8b4e0 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 ompositeRepository.$installedRep
8b500 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f 70 65 72 o,.Request.$request,.array.$oper
8b520 61 74 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 65 72 ations,.OperationInterface.$oper
8b540 61 74 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 ation).{.parent::__construct($ev
8b560 65 6e 74 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 entName,.$composer,.$io,.$devMod
8b580 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 e,.$policy,.$pool,.$installedRep
8b5a0 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 o,.$request,.$operations);..$thi
8b5c0 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a s->operation.=.$operation;.}....
8b5e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f 6e 28 ...public.function.getOperation(
8b600 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 3b 0a 7d 0a 7d ).{.return.$this->operation;.}.}
8b620 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
8b640 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b oser\Installer;.......class.Pack
8b660 61 67 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 ageEvents.{........const.PRE_PAC
8b680 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 KAGE_INSTALL.=.'pre-package-inst
8b6a0 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 all';.........const.POST_PACKAGE
8b6c0 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c _INSTALL.=.'post-package-install
8b6e0 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 50 44 ';.........const.PRE_PACKAGE_UPD
8b700 41 54 45 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a ATE.=.'pre-package-update';.....
8b720 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 ....const.POST_PACKAGE_UPDATE.=.
8b740 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 'post-package-update';.........c
8b760 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 onst.PRE_PACKAGE_UNINSTALL.=.'pr
8b780 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f e-package-uninstall';.........co
8b7a0 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f nst.POST_PACKAGE_UNINSTALL.=.'po
8b7c0 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a st-package-uninstall';.}.<?php..
8b7e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 ..........namespace.Composer\Ins
8b800 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 taller;..use.Composer\IO\IOInter
8b820 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 face;.use.Composer\Package\Packa
8b840 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 geInterface;.use.Composer\Util\F
8b860 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f ilesystem;.use.Composer\Util\Pro
8b880 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 42 69 cessExecutor;.......class.PearBi
8b8a0 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 20 42 69 6e 61 72 79 49 6e 73 74 naryInstaller.extends.BinaryInst
8b8c0 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 70 72 69 76 aller.{.private.$installer;.priv
8b8e0 61 74 65 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ate.$vendorDir;..........public.
8b900 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 function.__construct(IOInterface
8b920 20 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 76 65 6e 64 6f 72 44 69 72 2c 20 24 62 69 6e 43 .$io,.$binDir,.$vendorDir,.$binC
8b940 6f 6d 70 61 74 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 50 ompat,.Filesystem.$filesystem,.P
8b960 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 70 61 72 65 6e earInstaller.$installer).{.paren
8b980 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 62 69 t::__construct($io,.$binDir,.$bi
8b9a0 6e 43 6f 6d 70 61 74 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 24 74 68 69 73 2d 3e 69 6e nCompat,.$filesystem);.$this->in
8b9c0 73 74 61 6c 6c 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 6e staller.=.$installer;.$this->ven
8b9e0 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 dorDir.=.$vendorDir;.}..protecte
8ba00 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e d.function.getBinaries(PackageIn
8ba20 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 62 69 6e 61 72 69 65 73 50 61 74 terface.$package).{.$binariesPat
8ba40 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c h.=.$this->installer->getInstall
8ba60 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 20 2e 20 27 2f 62 69 6e 2f 27 3b 0a 24 62 69 6e 61 72 Path($package)...'/bin/';.$binar
8ba80 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 ies.=.array();.if.(file_exists($
8baa0 62 69 6e 61 72 69 65 73 50 61 74 68 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 6e 65 77 20 5c 46 binariesPath)).{.foreach.(new.\F
8bac0 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 62 69 6e 61 72 69 65 73 50 61 74 68 2c ilesystemIterator($binariesPath,
8bae0 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 4b 45 59 5f 41 53 5f 46 49 4c .\FilesystemIterator::KEY_AS_FIL
8bb00 45 4e 41 4d 45 20 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 43 55 52 ENAME.|.\FilesystemIterator::CUR
8bb20 52 45 4e 54 5f 41 53 5f 46 49 4c 45 49 4e 46 4f 29 20 61 73 20 24 66 69 6c 65 4e 61 6d 65 20 3d RENT_AS_FILEINFO).as.$fileName.=
8bb40 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 24 76 61 6c 75 65 2d 3e 69 73 44 69 72 28 29 >.$value).{.if.(!$value->isDir()
8bb60 29 20 7b 0a 24 62 69 6e 61 72 69 65 73 5b 5d 20 3d 20 27 62 69 6e 2f 27 2e 24 66 69 6c 65 4e 61 ).{.$binaries[].=.'bin/'.$fileNa
8bb80 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a me;.}.}.}..return.$binaries;.}..
8bba0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e protected.function.initializeBin
8bbc0 44 69 72 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 Dir().{.parent::initializeBinDir
8bbe0 28 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 62 69 6e ();.file_put_contents($this->bin
8bc00 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 Dir.'/composer-php',.$this->gene
8bc20 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 40 63 68 6d 6f 64 rateUnixyPhpProxyCode());.@chmod
8bc40 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 2c 20 ($this->binDir.'/composer-php',.
8bc60 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 0777.&.~umask());.file_put_conte
8bc80 6e 74 73 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 nts($this->binDir.'/composer-php
8bca0 2e 62 61 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 68 70 .bat',.$this->generateWindowsPhp
8bcc0 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 40 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 62 69 6e 44 ProxyCode());.@chmod($this->binD
8bce0 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 2c 20 30 37 37 37 20 26 20 7e ir.'/composer-php.bat',.0777.&.~
8bd00 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 umask());.}..protected.function.
8bd20 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 generateWindowsProxyCode($bin,.$
8bd40 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 link).{.$binPath.=.$this->filesy
8bd60 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 stem->findShortestPath($link,.$b
8bd80 69 6e 29 3b 0a 69 66 20 28 27 2e 62 61 74 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c in);.if.('.bat'.===.substr($bin,
8bda0 20 2d 34 29 29 20 7b 0a 24 63 61 6c 6c 65 72 20 3d 20 27 63 61 6c 6c 27 3b 0a 7d 20 65 6c 73 65 .-4)).{.$caller.=.'call';.}.else
8bdc0 20 7b 0a 24 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 62 69 6e 2c 20 27 72 27 29 3b 0a 24 .{.$handle.=.fopen($bin,.'r');.$
8bde0 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 68 61 6e 64 6c 65 29 3b 0a 66 63 6c 6f 73 65 28 24 68 line.=.fgets($handle);.fclose($h
8be00 61 6e 64 6c 65 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 23 21 2f 28 3f 3a andle);.if.(preg_match('{^#!/(?:
8be20 75 73 72 2f 62 69 6e 2f 65 6e 76 20 29 3f 28 3f 3a 5b 5e 2f 5d 2b 2f 29 2a 28 2e 2b 29 24 7d 6d usr/bin/env.)?(?:[^/]+/)*(.+)$}m
8be40 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 61 6c 6c 65 72 20 3d 20 74 ',.$line,.$match)).{.$caller.=.t
8be60 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 6c 6c 65 72 rim($match[1]);.}.else.{.$caller
8be80 20 3d 20 27 70 68 70 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6c 6c 65 72 20 3d 3d 3d 20 27 70 68 .=.'php';.}..if.($caller.===.'ph
8bea0 70 27 29 20 7b 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 2e 0a 22 70 p').{.return."@echo.off\r\n".."p
8bec0 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 30 5c 72 5c 6e 22 2e 0a 22 73 65 ushd..\r\n".."cd.%~dp0\r\n".."se
8bee0 74 20 50 48 50 5f 50 52 4f 58 59 3d 25 43 44 25 5c 5c 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 t.PHP_PROXY=%CD%\\composer-php.b
8bf00 61 74 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a at\r\n".."cd.".ProcessExecutor::
8bf20 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e 22 5c 72 5c 6e 22 escape(dirname($binPath))."\r\n"
8bf40 2e 0a 22 73 65 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e 62 61 73 65 6e 61 .."set.BIN_TARGET=%CD%\\".basena
8bf60 6d 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 5c 72 5c 6e 22 2e me($binPath)."\r\n".."popd\r\n".
8bf80 0a 22 25 50 48 50 5f 50 52 4f 58 59 25 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 ."%PHP_PROXY%.\"%BIN_TARGET%\".%
8bfa0 2a 5c 72 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f 66 66 5c 72 *\r\n";.}.}..return."@echo.off\r
8bfc0 5c 6e 22 2e 0a 22 70 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 30 5c 72 5c \n".."pushd..\r\n".."cd.%~dp0\r\
8bfe0 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 n".."cd.".ProcessExecutor::escap
8c000 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e 22 5c 72 5c 6e 22 2e 0a 22 73 65 e(dirname($binPath))."\r\n".."se
8c020 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e 62 61 73 65 6e 61 6d 65 28 24 62 t.BIN_TARGET=%CD%\\".basename($b
8c040 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 5c 72 5c 6e 22 2e 0a 24 63 61 6c inPath)."\r\n".."popd\r\n"..$cal
8c060 6c 65 72 2e 22 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a ler.".\"%BIN_TARGET%\".%*\r\n";.
8c080 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 57 69 6e 64 }..private.function.generateWind
8c0a0 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 0a 7b 0a 24 62 69 6e 54 6f 56 65 6e 64 6f 72 owsPhpProxyCode().{.$binToVendor
8c0c0 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 .=.$this->filesystem->findShorte
8c0e0 73 74 50 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2c 20 24 74 68 69 73 2d 3e 76 65 6e stPath($this->binDir,.$this->ven
8c100 64 6f 72 44 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 0a 22 40 65 63 68 6f 20 6f 66 dorDir,.true);..return."@echo.of
8c120 66 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 6c 6f 63 61 6c 20 65 6e 61 62 6c 65 64 65 6c 61 79 65 64 f\r\n"..."setlocal.enabledelayed
8c140 65 78 70 61 6e 73 69 6f 6e 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 42 49 4e 5f 44 49 52 3d 25 7e expansion\r\n"..."set.BIN_DIR=%~
8c160 64 70 30 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 56 45 4e 44 4f 52 5f 44 49 52 3d 25 42 49 4e 5f dp0\r\n"..."set.VENDOR_DIR=%BIN_
8c180 44 49 52 25 5c 5c 22 2e 24 62 69 6e 54 6f 56 65 6e 64 6f 72 2e 22 5c 72 5c 6e 22 20 2e 0a 22 73 DIR%\\".$binToVendor."\r\n"..."s
8c1a0 65 74 20 44 49 52 53 3d 2e 5c 72 5c 6e 22 20 2e 0a 22 46 4f 52 20 2f 44 20 25 25 56 20 49 4e 20 et.DIRS=.\r\n"..."FOR./D.%%V.IN.
8c1c0 28 25 56 45 4e 44 4f 52 5f 44 49 52 25 5c 5c 2a 29 20 44 4f 20 28 5c 72 5c 6e 22 20 2e 0a 22 20 (%VENDOR_DIR%\\*).DO.(\r\n"...".
8c1e0 20 20 20 46 4f 52 20 2f 44 20 25 25 50 20 49 4e 20 28 25 25 56 5c 5c 2a 29 20 44 4f 20 28 5c 72 ...FOR./D.%%P.IN.(%%V\\*).DO.(\r
8c200 5c 6e 22 20 2e 0a 22 20 20 20 20 20 20 20 20 73 65 74 20 44 49 52 53 3d 21 44 49 52 53 21 3b 25 \n"..."........set.DIRS=!DIRS!;%
8c220 25 7e 66 50 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 29 5c 72 5c 6e 22 20 2e 0a 22 29 5c 72 5c 6e %~fP\r\n"..."....)\r\n"...")\r\n
8c240 22 20 2e 0a 22 70 68 70 2e 65 78 65 20 2d 64 20 69 6e 63 6c 75 64 65 5f 70 61 74 68 3d 21 44 49 "..."php.exe.-d.include_path=!DI
8c260 52 53 21 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e RS!.%*\r\n";.}..private.function
8c280 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 0a 7b 0a 24 .generateUnixyPhpProxyCode().{.$
8c2a0 62 69 6e 54 6f 56 65 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d binToVendor.=.$this->filesystem-
8c2c0 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2c >findShortestPath($this->binDir,
8c2e0 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 .$this->vendorDir,.true);..retur
8c300 6e 0a 22 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 5c 6e 22 2e 0a 22 53 52 43 5f 44 49 n."#!/usr/bin/env.sh\n".."SRC_DI
8c320 52 3d 60 70 77 64 60 5c 6e 22 2e 0a 22 42 49 4e 5f 44 49 52 3d 60 64 69 72 6e 61 6d 65 20 24 30 R=`pwd`\n".."BIN_DIR=`dirname.$0
8c340 60 5c 6e 22 2e 0a 22 56 45 4e 44 4f 52 5f 44 49 52 3d 5c 24 42 49 4e 5f 44 49 52 2f 22 2e 65 73 `\n".."VENDOR_DIR=\$BIN_DIR/".es
8c360 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 69 6e 54 6f 56 65 6e 64 6f 72 29 2e 22 5c 6e 22 2e capeshellarg($binToVendor)."\n".
8c380 0a 22 44 49 52 53 3d 5c 22 5c 22 5c 6e 22 2e 0a 22 66 6f 72 20 76 65 6e 64 6f 72 20 69 6e 20 5c ."DIRS=\"\"\n".."for.vendor.in.\
8c3a0 24 56 45 4e 44 4f 52 5f 44 49 52 2f 2a 3b 20 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 69 66 20 5b 20 $VENDOR_DIR/*;.do\n".."....if.[.
8c3c0 2d 64 20 5c 22 5c 24 76 65 6e 64 6f 72 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 2e 0a 22 20 20 20 -d.\"\$vendor\".];.then\n".."...
8c3e0 20 20 20 20 20 66 6f 72 20 70 61 63 6b 61 67 65 20 69 6e 20 5c 24 76 65 6e 64 6f 72 2f 2a 3b 20 .....for.package.in.\$vendor/*;.
8c400 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20 2d 64 20 5c 22 5c 24 do\n".."............if.[.-d.\"\$
8c420 70 61 63 6b 61 67 65 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 package\".];.then\n"..".........
8c440 20 20 20 20 20 20 20 44 49 52 53 3d 5c 22 5c 24 7b 44 49 52 53 7d 3a 5c 24 7b 70 61 63 6b 61 67 .......DIRS=\"\${DIRS}:\${packag
8c460 65 7d 5c 22 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 66 69 5c 6e 22 2e 0a 22 20 20 e}\"\n".."............fi\n".."..
8c480 20 20 20 20 20 20 64 6f 6e 65 5c 6e 22 2e 0a 22 20 20 20 20 66 69 5c 6e 22 2e 0a 22 64 6f 6e 65 ......done\n".."....fi\n".."done
8c4a0 5c 6e 22 2e 0a 22 70 68 70 20 2d 64 20 69 6e 63 6c 75 64 65 5f 70 61 74 68 3d 5c 22 2e 5c 24 44 \n".."php.-d.include_path=\".\$D
8c4c0 49 52 53 5c 22 20 24 40 5c 6e 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a IRS\".$@\n";.}.}.<?php..........
8c4e0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a ..namespace.Composer\Installer;.
8c500 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Composer\IO\IOInterface;.us
8c520 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Composer;.use.Compose
8c540 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f r\Downloader\PearPackageExtracto
8c560 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 r;.use.Composer\Repository\Insta
8c580 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d lledRepositoryInterface;.use.Com
8c5a0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
8c5c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 use.Composer\Util\Platform;.use.
8c5e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a Composer\Util\Filesystem;.......
8c600 0a 63 6c 61 73 73 20 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 20 4c 69 62 .class.PearInstaller.extends.Lib
8c620 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 raryInstaller.{........public.fu
8c640 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 nction.__construct(IOInterface.$
8c660 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 70 65 20 3d 20 io,.Composer.$composer,.$type.=.
8c680 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 0a 7b 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 'pear-library').{.$filesystem.=.
8c6a0 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c new.Filesystem();.$binaryInstall
8c6c0 65 72 20 3d 20 6e 65 77 20 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 69 6f er.=.new.PearBinaryInstaller($io
8c6e0 2c 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e ,.rtrim($composer->getConfig()->
8c700 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 72 74 72 69 6d 28 24 63 6f 6d get('bin-dir'),.'/'),.rtrim($com
8c720 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d poser->getConfig()->get('vendor-
8c740 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 dir'),.'/'),.$composer->getConfi
8c760 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d 70 61 74 27 29 2c 20 24 66 69 6c 65 73 79 73 g()->get('bin-compat'),.$filesys
8c780 74 65 6d 2c 20 24 74 68 69 73 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 tem,.$this);..parent::__construc
8c7a0 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 70 65 2c 20 24 66 69 6c 65 73 79 t($io,.$composer,.$type,.$filesy
8c7c0 73 74 65 6d 2c 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 stem,.$binaryInstaller);.}.....p
8c7e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 ublic.function.update(InstalledR
8c800 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 epositoryInterface.$repo,.Packag
8c820 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 eInterface.$initial,.PackageInte
8c840 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 6e 73 74 61 6c rface.$target).{.$this->uninstal
8c860 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 l($repo,.$initial);.$this->insta
8c880 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 ll($repo,.$target);.}..protected
8c8a0 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 .function.installCode(PackageInt
8c8c0 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 erface.$package).{.parent::insta
8c8e0 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 69 73 57 69 6e 64 6f 77 73 20 3d 20 llCode($package);..$isWindows.=.
8c900 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 3b 0a 24 70 68 70 5f 62 69 6e 20 Platform::isWindows();.$php_bin.
8c920 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 2e 20 28 24 69 73 57 69 6e 64 6f 77 73 20 3f 20 =.$this->binDir...($isWindows.?.
8c940 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 20 3a 20 27 2f 63 6f 6d 70 6f 73 65 72 '/composer-php.bat'.:.'/composer
8c960 2d 70 68 70 27 29 3b 0a 0a 69 66 20 28 21 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 24 70 68 70 -php');..if.(!$isWindows).{.$php
8c980 5f 62 69 6e 20 3d 20 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 27 20 2e 20 24 70 68 70 5f 62 69 _bin.=.'/usr/bin/env.'...$php_bi
8c9a0 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 n;.}..$installPath.=.$this->getI
8c9c0 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 76 61 72 73 20 3d 20 61 72 nstallPath($package);.$vars.=.ar
8c9e0 72 61 79 28 0a 27 6f 73 27 20 3d 3e 20 24 69 73 57 69 6e 64 6f 77 73 20 3f 20 27 77 69 6e 64 6f ray(.'os'.=>.$isWindows.?.'windo
8ca00 77 73 27 20 3a 20 27 6c 69 6e 75 78 27 2c 0a 27 70 68 70 5f 62 69 6e 27 20 3d 3e 20 24 70 68 70 ws'.:.'linux',.'php_bin'.=>.$php
8ca20 5f 62 69 6e 2c 0a 27 70 65 61 72 5f 70 68 70 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 _bin,.'pear_php'.=>.$installPath
8ca40 2c 0a 27 70 68 70 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 0a 27 62 69 ,.'php_dir'.=>.$installPath,.'bi
8ca60 6e 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f 62 69 6e 27 2c n_dir'.=>.$installPath...'/bin',
8ca80 0a 27 64 61 74 61 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f .'data_dir'.=>.$installPath...'/
8caa0 64 61 74 61 27 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 data',.'version'.=>.$package->ge
8cac0 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 0a 24 70 61 63 6b 61 67 65 41 72 tPrettyVersion(),.);..$packageAr
8cae0 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 chive.=.$this->getInstallPath($p
8cb00 61 63 6b 61 67 65 29 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 24 70 61 63 6b 61 67 65 2d 3e 67 ackage).'/'.pathinfo($package->g
8cb20 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b etDistUrl(),.PATHINFO_BASENAME);
8cb40 0a 24 70 65 61 72 45 78 74 72 61 63 74 6f 72 20 3d 20 6e 65 77 20 50 65 61 72 50 61 63 6b 61 67 .$pearExtractor.=.new.PearPackag
8cb60 65 45 78 74 72 61 63 74 6f 72 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 24 70 65 eExtractor($packageArchive);.$pe
8cb80 61 72 45 78 74 72 61 63 74 6f 72 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 74 68 69 73 2d 3e 67 65 arExtractor->extractTo($this->ge
8cba0 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 28 27 70 tInstallPath($package),.array('p
8cbc0 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 3d 3e 20 27 2f 62 69 6e 27 2c 20 hp'.=>.'/',.'script'.=>.'/bin',.
8cbe0 27 64 61 74 61 27 20 3d 3e 20 27 2f 64 61 74 61 27 29 2c 20 24 76 61 72 73 29 3b 0a 0a 24 74 68 'data'.=>.'/data'),.$vars);..$th
8cc00 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 43 6c 65 61 6e 69 6e 67 is->io->writeError('....Cleaning
8cc20 20 75 70 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 .up',.true,.IOInterface::VERBOSE
8cc40 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 70 61 );.$this->filesystem->unlink($pa
8cc60 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ckageArchive);.}.}.<?php........
8cc80 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 ....namespace.Composer\Installer
8cca0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f ;..use.Composer\Composer;.use.Co
8ccc0 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
8cce0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f ser\Repository\InstalledReposito
8cd00 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ryInterface;.use.Composer\Packag
8cd20 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 e\PackageInterface;........class
8cd40 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 20 4c 69 62 72 61 72 79 .PluginInstaller.extends.Library
8cd60 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f Installer.{.private.$installatio
8cd80 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e nManager;........public.function
8cda0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f .__construct(IOInterface.$io,.Co
8cdc0 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f mposer.$composer).{.parent::__co
8cde0 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 63 6f 6d 70 6f 73 65 nstruct($io,.$composer,.'compose
8ce00 72 2d 70 6c 75 67 69 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d r-plugin');.$this->installationM
8ce20 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 anager.=.$composer->getInstallat
8ce40 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ionManager();.}.....public.funct
8ce60 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 ion.supports($packageType).{.ret
8ce80 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 urn.$packageType.===.'composer-p
8cea0 6c 75 67 69 6e 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 63 6f 6d 70 lugin'.||.$packageType.===.'comp
8cec0 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 oser-installer';.}.....public.fu
8cee0 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f nction.install(InstalledReposito
8cf00 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ryInterface.$repo,.PackageInterf
8cf20 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 ace.$package).{.$extra.=.$packag
8cf40 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 65 78 74 72 61 5b e->getExtra();.if.(empty($extra[
8cf60 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 'class'])).{.throw.new.\Unexpect
8cf80 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 77 68 69 6c 65 20 69 6e edValueException('Error.while.in
8cfa0 73 74 61 6c 6c 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 stalling.'.$package->getPrettyNa
8cfc0 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 70 61 63 6b 61 67 65 73 me().',.composer-plugin.packages
8cfe0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 64 65 66 69 6e 65 64 20 69 6e 20 .should.have.a.class.defined.in.
8d000 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 20 75 73 61 62 6c 65 2e 27 29 3b their.extra.key.to.be.usable.');
8d020 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b .}..parent::install($repo,.$pack
8d040 61 67 65 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 age);.try.{.$this->composer->get
8d060 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 PluginManager()->registerPackage
8d080 28 24 70 61 63 6b 61 67 65 2c 20 74 72 75 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 ($package,.true);.}.catch.(\Exce
8d0a0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ption.$e).{...$this->io->writeEr
8d0c0 72 6f 72 28 27 50 6c 75 67 69 6e 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c ror('Plugin.installation.failed,
8d0e0 20 72 6f 6c 6c 69 6e 67 20 62 61 63 6b 27 29 3b 0a 70 61 72 65 6e 74 3a 3a 75 6e 69 6e 73 74 61 .rolling.back');.parent::uninsta
8d100 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d ll($repo,.$package);.throw.$e;.}
8d120 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e .}.....public.function.update(In
8d140 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f stalledRepositoryInterface.$repo
8d160 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 ,.PackageInterface.$initial,.Pac
8d180 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 65 78 74 72 61 20 kageInterface.$target).{.$extra.
8d1a0 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 =.$target->getExtra();.if.(empty
8d1c0 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c ($extra['class'])).{.throw.new.\
8d1e0 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 UnexpectedValueException('Error.
8d200 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 50 while.installing.'.$target->getP
8d220 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 70 rettyName().',.composer-plugin.p
8d240 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 64 65 66 69 ackages.should.have.a.class.defi
8d260 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 20 75 73 61 ned.in.their.extra.key.to.be.usa
8d280 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 75 70 64 61 74 65 28 24 72 65 70 6f 2c ble.');.}..parent::update($repo,
8d2a0 20 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 .$initial,.$target);.$this->comp
8d2c0 6f 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 72 65 67 69 73 74 oser->getPluginManager()->regist
8d2e0 65 72 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f erPackage($target,.true);.}.}.<?
8d300 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
8d320 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 r\Installer;..use.Composer\Packa
8d340 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ge\PackageInterface;.use.Compose
8d360 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 73 r\Downloader\DownloadManager;.us
8d380 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 e.Composer\Repository\InstalledR
8d3a0 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 epositoryInterface;.use.Composer
8d3c0 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 \Util\Filesystem;........class.P
8d3e0 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 rojectInstaller.implements.Insta
8d400 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c llerInterface.{.private.$install
8d420 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a Path;.private.$downloadManager;.
8d440 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e private.$filesystem;..public.fun
8d460 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 ction.__construct($installPath,.
8d480 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e DownloadManager.$dm).{.$this->in
8d4a0 73 74 61 6c 6c 50 61 74 68 20 3d 20 72 74 72 69 6d 28 73 74 72 74 72 28 24 69 6e 73 74 61 6c 6c stallPath.=.rtrim(strtr($install
8d4c0 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 24 74 68 69 Path,.'\\',.'/'),.'/').'/';.$thi
8d4e0 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 64 6d 3b 0a 24 74 68 69 73 2d s->downloadManager.=.$dm;.$this-
8d500 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a >filesystem.=.new.Filesystem;.}.
8d520 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 .......public.function.supports(
8d540 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a $packageType).{.return.true;.}..
8d560 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 49 ...public.function.isInstalled(I
8d580 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 nstalledRepositoryInterface.$rep
8d5a0 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a o,.PackageInterface.$package).{.
8d5c0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 return.false;.}.....public.funct
8d5e0 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 ion.install(InstalledRepositoryI
8d600 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 nterface.$repo,.PackageInterface
8d620 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 .$package).{.$installPath.=.$thi
8d640 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 s->installPath;.if.(file_exists(
8d660 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 $installPath).&&.!$this->filesys
8d680 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b tem->isDirEmpty($installPath)).{
8d6a0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
8d6c0 74 69 6f 6e 28 22 50 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c tion("Project.directory.$install
8d6e0 50 61 74 68 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 2e 22 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f Path.is.not.empty.");.}.if.(!is_
8d700 64 69 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 6d 6b 64 69 72 28 24 69 6e 73 74 dir($installPath)).{.mkdir($inst
8d720 61 6c 6c 50 61 74 68 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 allPath,.0777,.true);.}.$this->d
8d740 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 ownloadManager->download($packag
8d760 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e,.$installPath);.}.....public.f
8d780 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f unction.update(InstalledReposito
8d7a0 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ryInterface.$repo,.PackageInterf
8d7c0 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 ace.$initial,.PackageInterface.$
8d7e0 74 61 72 67 65 74 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 target).{.throw.new.\InvalidArgu
8d800 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 22 29 3b 0a mentException("not.supported");.
8d820 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 }.....public.function.uninstall(
8d840 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 InstalledRepositoryInterface.$re
8d860 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b po,.PackageInterface.$package).{
8d880 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
8d8a0 74 69 6f 6e 28 22 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 22 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a tion("not.supported");.}........
8d8c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 public.function.getInstallPath(P
8d8e0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 ackageInterface.$package).{.retu
8d900 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 rn.$this->installPath;.}.}.<?php
8d920 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 ............namespace.Composer\I
8d940 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 nstaller;..use.Composer\IO\IOInt
8d960 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 erface;.use.Composer\Package\Pac
8d980 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f kageInterface;.use.Composer\Repo
8d9a0 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 sitory\RepositoryInterface;.use.
8d9c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 Symfony\Component\Console\Format
8d9e0 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 ter\OutputFormatter;.......class
8da00 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 0a 7b 0a 0a 0a 0a .SuggestedPackagesReporter.{....
8da20 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 protected.$suggestedPackages.=.a
8da40 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 rray();.....private.$io;..public
8da60 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 .function.__construct(IOInterfac
8da80 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a e.$io).{.$this->io.=.$io;.}.....
8daa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a public.function.getPackages().{.
8dac0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 3b return.$this->suggestedPackages;
8dae0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 .}.............public.function.a
8db00 64 64 50 61 63 6b 61 67 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 65 61 ddPackage($source,.$target,.$rea
8db20 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 5b son).{.$this->suggestedPackages[
8db40 5d 20 3d 20 61 72 72 61 79 28 0a 27 73 6f 75 72 63 65 27 20 3d 3e 20 24 73 6f 75 72 63 65 2c 0a ].=.array(.'source'.=>.$source,.
8db60 27 74 61 72 67 65 74 27 20 3d 3e 20 24 74 61 72 67 65 74 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 'target'.=>.$target,.'reason'.=>
8db80 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a .$reason,.);..return.$this;.}...
8dba0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 67 67 65 73 74 69 .....public.function.addSuggesti
8dbc0 6f 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 onsFromPackage(PackageInterface.
8dbe0 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e $package).{.$source.=.$package->
8dc00 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 getPrettyName();.foreach.($packa
8dc20 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 ge->getSuggests().as.$target.=>.
8dc40 24 72 65 61 73 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 0a 24 73 $reason).{.$this->addPackage(.$s
8dc60 6f 75 72 63 65 2c 0a 24 74 61 72 67 65 74 2c 0a 24 72 65 61 73 6f 6e 0a 29 3b 0a 7d 0a 0a 72 65 ource,.$target,.$reason.);.}..re
8dc80 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$this;.}.........public.fun
8dca0 63 74 69 6f 6e 20 6f 75 74 70 75 74 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ction.output(RepositoryInterface
8dcc0 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 73 75 67 67 65 .$installedRepo.=.null).{.$sugge
8dce0 73 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 stedPackages.=.$this->getPackage
8dd00 73 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 s();.$installedPackages.=.array(
8dd20 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 26 );.if.(null.!==.$installedRepo.&
8dd40 26 20 21 20 65 6d 70 74 79 28 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b &.!.empty($suggestedPackages)).{
8dd60 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 .foreach.($installedRepo->getPac
8dd80 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 kages().as.$package).{.$installe
8dda0 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 69 6e 73 74 61 6c dPackages.=.array_merge(.$instal
8ddc0 6c 65 64 50 61 63 6b 61 67 65 73 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 ledPackages,.$package->getNames(
8dde0 29 0a 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 64 50 61 63 ).);.}.}..foreach.($suggestedPac
8de00 6b 61 67 65 73 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 29 20 7b 0a 69 66 20 28 69 6e 5f 61 kages.as.$suggestion).{.if.(in_a
8de20 72 72 61 79 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 67 65 74 27 5d 2c 20 24 69 6e 73 rray($suggestion['target'],.$ins
8de40 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a talledPackages)).{.continue;.}..
8de60 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 $this->io->writeError(sprintf(.'
8de80 25 73 20 73 75 67 67 65 73 74 73 20 69 6e 73 74 61 6c 6c 69 6e 67 20 25 73 25 73 27 2c 0a 24 73 %s.suggests.installing.%s%s',.$s
8dea0 75 67 67 65 73 74 69 6f 6e 5b 27 73 6f 75 72 63 65 27 5d 2c 0a 24 74 68 69 73 2d 3e 65 73 63 61 uggestion['source'],.$this->esca
8dec0 70 65 4f 75 74 70 75 74 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 67 65 74 27 5d 29 2c peOutput($suggestion['target']),
8dee0 0a 24 74 68 69 73 2d 3e 65 73 63 61 70 65 4f 75 74 70 75 74 28 27 27 20 21 3d 3d 20 24 73 75 67 .$this->escapeOutput(''.!==.$sug
8df00 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 20 3f 20 27 20 28 27 2e 24 73 75 67 67 65 73 gestion['reason'].?.'.('.$sugges
8df20 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 2e 27 29 27 20 3a 20 27 27 29 0a 29 29 3b 0a 7d 0a 0a tion['reason'].')'.:.'').));.}..
8df40 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e return.$this;.}......private.fun
8df60 63 74 69 6f 6e 20 65 73 63 61 70 65 4f 75 74 70 75 74 28 24 73 74 72 69 6e 67 29 0a 7b 0a 72 65 ction.escapeOutput($string).{.re
8df80 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 0a 24 74 turn.OutputFormatter::escape(.$t
8dfa0 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 72 61 63 74 65 72 73 28 24 73 74 his->removeControlCharacters($st
8dfc0 72 69 6e 67 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ring).);.}......private.function
8dfe0 20 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 72 61 63 74 65 72 73 28 24 73 74 72 69 6e 67 .removeControlCharacters($string
8e000 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 2f 5b 5b 3a 63 6e ).{.return.preg_replace(.'/[[:cn
8e020 74 72 6c 3a 5d 5d 2f 27 2c 0a 27 27 2c 0a 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 trl:]]/',.'',.str_replace("\n",.
8e040 27 20 27 2c 20 24 73 74 72 69 6e 67 29 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a '.',.$string).);.}.}.<?php......
8e060 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a ......namespace.Composer\Json;..
8e080 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 53 65 use.JsonSchema\Validator;.use.Se
8e0a0 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 53 65 6c 64 ld\JsonLint\JsonParser;.use.Seld
8e0c0 5c 4a 73 6f 6e 4c 69 6e 74 5c 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 \JsonLint\ParsingException;.use.
8e0e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a Composer\Util\RemoteFilesystem;.
8e100 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Composer\IO\IOInterface;.use
8e120 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 .Composer\Downloader\TransportEx
8e140 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 46 69 6c 65 0a 7b ception;........class.JsonFile.{
8e160 0a 63 6f 6e 73 74 20 4c 41 58 5f 53 43 48 45 4d 41 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 54 52 .const.LAX_SCHEMA.=.1;.const.STR
8e180 49 43 54 5f 53 43 48 45 4d 41 20 3d 20 32 3b 0a 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 55 4e 45 53 ICT_SCHEMA.=.2;..const.JSON_UNES
8e1a0 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 3d 20 36 34 3b 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 50 CAPED_SLASHES.=.64;.const.JSON_P
8e1c0 52 45 54 54 59 5f 50 52 49 4e 54 20 3d 20 31 32 38 3b 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 55 4e RETTY_PRINT.=.128;.const.JSON_UN
8e1e0 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 20 3d 20 32 35 36 3b 0a 0a 70 72 69 76 61 74 65 20 ESCAPED_UNICODE.=.256;..private.
8e200 24 70 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 70 72 69 76 61 74 65 20 24 69 6f $path;.private.$rfs;.private.$io
8e220 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e ;..........public.function.__con
8e240 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 struct($path,.RemoteFilesystem.$
8e260 72 66 73 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 rfs.=.null,.IOInterface.$io.=.nu
8e280 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 0a 69 66 20 28 ll).{.$this->path.=.$path;..if.(
8e2a0 6e 75 6c 6c 20 3d 3d 3d 20 24 72 66 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 null.===.$rfs.&&.preg_match('{^h
8e2c0 74 74 70 73 3f 3a 2f 2f 7d 69 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ttps?://}i',.$path)).{.throw.new
8e2e0 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 68 74 74 70 .\InvalidArgumentException('http
8e300 20 75 72 6c 73 20 72 65 71 75 69 72 65 20 61 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d .urls.require.a.RemoteFilesystem
8e320 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 70 61 73 73 65 64 27 29 3b 0a 7d 0a 24 74 68 69 .instance.to.be.passed');.}.$thi
8e340 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a s->rfs.=.$rfs;.$this->io.=.$io;.
8e360 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 0a }.....public.function.getPath().
8e380 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 {.return.$this->path;.}.......pu
8e3a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 blic.function.exists().{.return.
8e3c0 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 is_file($this->path);.}........p
8e3e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 ublic.function.read().{.try.{.if
8e400 20 28 24 74 68 69 73 2d 3e 72 66 73 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 .($this->rfs).{.$json.=.$this->r
8e420 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 24 74 68 fs->getContents($this->path,.$th
8e440 69 73 2d 3e 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 is->path,.false);.}.else.{.if.($
8e460 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 this->io.&&.$this->io->isDebug()
8e480 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 52 65 61 64 69 ).{.$this->io->writeError('Readi
8e4a0 6e 67 20 27 20 2e 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 24 6a 73 6f 6e 20 3d 20 66 ng.'...$this->path);.}.$json.=.f
8e4c0 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d ile_get_contents($this->path);.}
8e4e0 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 .}.catch.(TransportException.$e)
8e500 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 .{.throw.new.\RuntimeException($
8e520 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 20 63 61 74 63 68 e->getMessage(),.0,.$e);.}.catch
8e540 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 .(\Exception.$e).{.throw.new.\Ru
8e560 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 27 ntimeException('Could.not.read.'
8e580 2e 24 74 68 69 73 2d 3e 70 61 74 68 2e 22 5c 6e 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 .$this->path."\n\n".$e->getMessa
8e5a0 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 70 61 72 73 65 4a 73 ge());.}..return.static::parseJs
8e5c0 6f 6e 28 24 6a 73 6f 6e 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a on($json,.$this->path);.}.......
8e5e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 61 72 72 61 79 20 24 68 ..public.function.write(array.$h
8e600 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 38 29 0a 7b 0a 24 64 69 72 20 3d 20 64 69 ash,.$options.=.448).{.$dir.=.di
8e620 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 rname($this->path);.if.(!is_dir(
8e640 24 64 69 72 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 29 29 20 $dir)).{.if.(file_exists($dir)).
8e660 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 {.throw.new.\UnexpectedValueExce
8e680 70 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 65 78 69 73 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 ption(.$dir.'.exists.and.is.not.
8e6a0 61 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b 0a 7d 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 a.directory.'.);.}.if.(!@mkdir($
8e6c0 64 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 dir,.0777,.true)).{.throw.new.\U
8e6e0 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 nexpectedValueException(.$dir.'.
8e700 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 does.not.exist.and.could.not.be.
8e720 63 72 65 61 74 65 64 2e 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a created.'.);.}.}..$retries.=.3;.
8e740 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 66 69 6c 65 5f while.($retries--).{.try.{.file_
8e760 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 73 74 61 74 69 63 put_contents($this->path,.static
8e780 3a 3a 65 6e 63 6f 64 65 28 24 68 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 29 2e 20 28 24 6f 70 74 ::encode($hash,.$options)..($opt
8e7a0 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 20 3f ions.&.self::JSON_PRETTY_PRINT.?
8e7c0 20 22 5c 6e 22 20 3a 20 27 27 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 ."\n".:.''));.break;.}.catch.(\E
8e7e0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 xception.$e).{.if.($retries).{.u
8e800 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f sleep(500000);.continue;.}..thro
8e820 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 w.$e;.}.}.}.........public.funct
8e840 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 20 3d 20 73 65 6c ion.validateSchema($schema.=.sel
8e860 66 3a 3a 53 54 52 49 43 54 5f 53 43 48 45 4d 41 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 f::STRICT_SCHEMA).{.$content.=.f
8e880 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 24 ile_get_contents($this->path);.$
8e8a0 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 69 data.=.json_decode($content);..i
8e8c0 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 27 6e 75 6c 6c 27 20 21 3d 3d 20 f.(null.===.$data.&&.'null'.!==.
8e8e0 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 $content).{.self::validateSyntax
8e900 28 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 24 73 63 68 ($content,.$this->path);.}..$sch
8e920 65 6d 61 46 69 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 72 emaFile.=.__DIR__...'/../../../r
8e940 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 27 3b 0a 0a 0a 20 69 66 20 es/composer-schema.json';....if.
8e960 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 73 63 68 65 6d 61 46 69 6c 65 2c 20 27 (false.===.strpos($schemaFile,.'
8e980 3a 2f 2f 27 29 29 20 7b 0a 24 73 63 68 65 6d 61 46 69 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 ://')).{.$schemaFile.=.'file://'
8e9a0 20 2e 20 24 73 63 68 65 6d 61 46 69 6c 65 3b 0a 7d 0a 0a 24 73 63 68 65 6d 61 44 61 74 61 20 3d ...$schemaFile;.}..$schemaData.=
8e9c0 20 28 6f 62 6a 65 63 74 29 20 61 72 72 61 79 28 27 24 72 65 66 27 20 3d 3e 20 24 73 63 68 65 6d .(object).array('$ref'.=>.$schem
8e9e0 61 46 69 6c 65 29 3b 0a 0a 69 66 20 28 24 73 63 68 65 6d 61 20 3d 3d 3d 20 73 65 6c 66 3a 3a 4c aFile);..if.($schema.===.self::L
8ea00 41 58 5f 53 43 48 45 4d 41 29 20 7b 0a 24 73 63 68 65 6d 61 44 61 74 61 2d 3e 61 64 64 69 74 69 AX_SCHEMA).{.$schemaData->additi
8ea20 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3d 20 74 72 75 65 3b 0a 24 73 63 68 65 6d 61 44 61 onalProperties.=.true;.$schemaDa
8ea40 74 61 2d 3e 72 65 71 75 69 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 76 61 6c 69 ta->required.=.array();.}..$vali
8ea60 64 61 74 6f 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 6f 72 28 29 3b 0a 24 76 61 6c 69 64 61 dator.=.new.Validator();.$valida
8ea80 74 6f 72 2d 3e 63 68 65 63 6b 28 24 64 61 74 61 2c 20 24 73 63 68 65 6d 61 44 61 74 61 29 3b 0a tor->check($data,.$schemaData);.
8eaa0 0a 0a 0a 69 66 20 28 21 24 76 61 6c 69 64 61 74 6f 72 2d 3e 69 73 56 61 6c 69 64 28 29 29 20 7b ...if.(!$validator->isValid()).{
8eac0 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 .$errors.=.array();.foreach.((ar
8eae0 72 61 79 29 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 ray).$validator->getErrors().as.
8eb00 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 28 24 65 72 72 6f 72 5b 27 70 $error).{.$errors[].=.($error['p
8eb20 72 6f 70 65 72 74 79 27 5d 20 3f 20 24 65 72 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 2e 27 roperty'].?.$error['property'].'
8eb40 20 3a 20 27 20 3a 20 27 27 29 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 7d 0a .:.'.:.'').$error['message'];.}.
8eb60 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f throw.new.JsonValidationExceptio
8eb80 6e 28 27 22 27 2e 24 74 68 69 73 2d 3e 70 61 74 68 2e 27 22 20 64 6f 65 73 20 6e 6f 74 20 6d 61 n('"'.$this->path.'".does.not.ma
8eba0 74 63 68 20 74 68 65 20 65 78 70 65 63 74 65 64 20 4a 53 4f 4e 20 73 63 68 65 6d 61 27 2c 20 24 tch.the.expected.JSON.schema',.$
8ebc0 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a errors);.}..return.true;.}......
8ebe0 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 ...public.static.function.encode
8ec00 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 38 29 0a 7b 0a 69 66 20 28 50 48 ($data,.$options.=.448).{.if.(PH
8ec20 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 29 20 7b 0a 24 6a 73 6f 6e 20 3d P_VERSION_ID.>=.50400).{.$json.=
8ec40 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 69 .json_encode($data,.$options);.i
8ec60 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 74 68 72 6f f.(false.===.$json).{.self::thro
8ec80 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 3b wEncodeError(json_last_error());
8eca0 0a 7d 0a 0a 0a 20 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 34 32 38 .}....if.(PHP_VERSION_ID.<.50428
8ecc0 20 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 35 30 30 20 26 26 20 .||.(PHP_VERSION_ID.>=.50500.&&.
8ece0 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 31 32 29 20 7c 7c 20 28 64 65 66 69 PHP_VERSION_ID.<.50512).||.(defi
8ed00 6e 65 64 28 27 4a 53 4f 4e 5f 43 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 76 65 72 73 69 6f 6e ned('JSON_C_VERSION').&&.version
8ed20 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 6f 6e 28 27 6a 73 6f 6e 27 29 2c 20 27 31 2e _compare(phpversion('json'),.'1.
8ed40 33 2e 36 27 2c 20 27 3c 27 29 29 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 3.6',.'<'))).{.$json.=.preg_repl
8ed60 61 63 65 28 27 2f 5c 5b 5c 73 2b 5c 5d 2f 27 2c 20 27 5b 5d 27 2c 20 24 6a 73 6f 6e 29 3b 0a 24 ace('/\[\s+\]/',.'[]',.$json);.$
8ed80 6a 73 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 7b 5c 73 2b 5c 7d 2f 27 2c json.=.preg_replace('/\{\s+\}/',
8eda0 20 27 7b 7d 27 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 3b 0a .'{}',.$json);.}..return.$json;.
8edc0 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 69 }..$json.=.json_encode($data);.i
8ede0 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 74 68 72 6f f.(false.===.$json).{.self::thro
8ee00 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 3b wEncodeError(json_last_error());
8ee20 0a 7d 0a 0a 24 70 72 65 74 74 79 50 72 69 6e 74 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 .}..$prettyPrint.=.(bool).($opti
8ee40 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 29 3b 0a ons.&.self::JSON_PRETTY_PRINT);.
8ee60 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 $unescapeUnicode.=.(bool).($opti
8ee80 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f ons.&.self::JSON_UNESCAPED_UNICO
8eea0 44 45 29 3b 0a 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 20 3d 20 28 62 6f 6f 6c 29 20 28 DE);.$unescapeSlashes.=.(bool).(
8eec0 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f $options.&.self::JSON_UNESCAPED_
8eee0 53 4c 41 53 48 45 53 29 3b 0a 0a 69 66 20 28 21 24 70 72 65 74 74 79 50 72 69 6e 74 20 26 26 20 SLASHES);..if.(!$prettyPrint.&&.
8ef00 21 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 26 26 20 21 24 75 6e 65 73 63 61 70 65 53 !$unescapeUnicode.&&.!$unescapeS
8ef20 6c 61 73 68 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 lashes).{.return.$json;.}..retur
8ef40 6e 20 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 3a 3a 66 6f 72 6d 61 74 28 24 6a 73 6f 6e 2c 20 24 n.JsonFormatter::format($json,.$
8ef60 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 2c 20 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 unescapeUnicode,.$unescapeSlashe
8ef80 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 s);.}........private.static.func
8efa0 74 69 6f 6e 20 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 24 63 6f 64 65 29 0a 7b 0a 73 tion.throwEncodeError($code).{.s
8efc0 77 69 74 63 68 20 28 24 63 6f 64 65 29 20 7b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f witch.($code).{.case.JSON_ERROR_
8efe0 44 45 50 54 48 3a 0a 24 6d 73 67 20 3d 20 27 4d 61 78 69 6d 75 6d 20 73 74 61 63 6b 20 64 65 70 DEPTH:.$msg.=.'Maximum.stack.dep
8f000 74 68 20 65 78 63 65 65 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 th.exceeded';.break;.case.JSON_E
8f020 52 52 4f 52 5f 53 54 41 54 45 5f 4d 49 53 4d 41 54 43 48 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 64 RROR_STATE_MISMATCH:.$msg.=.'Und
8f040 65 72 66 6c 6f 77 20 6f 72 20 74 68 65 20 6d 6f 64 65 73 20 6d 69 73 6d 61 74 63 68 27 3b 0a 62 erflow.or.the.modes.mismatch';.b
8f060 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 43 54 52 4c 5f 43 48 41 52 3a reak;.case.JSON_ERROR_CTRL_CHAR:
8f080 0a 24 6d 73 67 20 3d 20 27 55 6e 65 78 70 65 63 74 65 64 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 .$msg.=.'Unexpected.control.char
8f0a0 61 63 74 65 72 20 66 6f 75 6e 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 acter.found';.break;.case.JSON_E
8f0c0 52 52 4f 52 5f 55 54 46 38 3a 0a 24 6d 73 67 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 64 20 55 54 46 RROR_UTF8:.$msg.=.'Malformed.UTF
8f0e0 2d 38 20 63 68 61 72 61 63 74 65 72 73 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 -8.characters,.possibly.incorrec
8f100 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6d tly.encoded';.break;.default:.$m
8f120 73 67 20 3d 20 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e sg.=.'Unknown.error';.}..throw.n
8f140 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 65 6e 63 6f 64 ew.\RuntimeException('JSON.encod
8f160 69 6e 67 20 66 61 69 6c 65 64 3a 20 27 2e 24 6d 73 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ing.failed:.'.$msg);.}..........
8f180 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4a 73 6f 6e public.static.function.parseJson
8f1a0 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c ($json,.$file.=.null).{.if.(null
8f1c0 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 64 61 74 61 20 3d 20 .===.$json).{.return;.}.$data.=.
8f1e0 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 6e 75 json_decode($json,.true);.if.(nu
8f200 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 ll.===.$data.&&.JSON_ERROR_NONE.
8f220 21 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 73 65 6c 66 3a 3a 76 !==.json_last_error()).{.self::v
8f240 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a alidateSyntax($json,.$file);.}..
8f260 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 return.$data;.}...........protec
8f280 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 79 6e 74 ted.static.function.validateSynt
8f2a0 61 78 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 72 73 65 ax($json,.$file.=.null).{.$parse
8f2c0 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 r.=.new.JsonParser();.$result.=.
8f2e0 24 70 61 72 73 65 72 2d 3e 6c 69 6e 74 28 24 6a 73 6f 6e 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d $parser->lint($json);.if.(null.=
8f300 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 4a 53 4f 4e 5f ==.$result).{.if.(defined('JSON_
8f320 45 52 52 4f 52 5f 55 54 46 38 27 29 20 26 26 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 20 ERROR_UTF8').&&.JSON_ERROR_UTF8.
8f340 3d 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e ===.json_last_error()).{.throw.n
8f360 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 22 27 ew.\UnexpectedValueException('"'
8f380 2e 24 66 69 6c 65 2e 27 22 20 69 73 20 6e 6f 74 20 55 54 46 2d 38 2c 20 63 6f 75 6c 64 20 6e 6f .$file.'".is.not.UTF-8,.could.no
8f3a0 74 20 70 61 72 73 65 20 61 73 20 4a 53 4f 4e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 t.parse.as.JSON');.}..return.tru
8f3c0 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e e;.}..throw.new.ParsingException
8f3e0 28 27 22 27 2e 24 66 69 6c 65 2e 27 22 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 76 ('"'.$file.'".does.not.contain.v
8f400 61 6c 69 64 20 4a 53 4f 4e 27 2e 22 5c 6e 22 2e 24 72 65 73 75 6c 74 2d 3e 67 65 74 4d 65 73 73 alid.JSON'."\n".$result->getMess
8f420 61 67 65 28 29 2c 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 44 65 74 61 69 6c 73 28 29 29 3b 0a 7d age(),.$result->getDetails());.}
8f440 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
8f460 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e mposer\Json;..........class.Json
8f480 46 6f 72 6d 61 74 74 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 Formatter.{.............public.s
8f4a0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6a 73 6f 6e 2c 20 24 75 6e tatic.function.format($json,.$un
8f4c0 65 73 63 61 70 65 55 6e 69 63 6f 64 65 2c 20 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 escapeUnicode,.$unescapeSlashes)
8f4e0 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 27 3b 0a 24 70 6f 73 20 3d 20 30 3b 0a 24 73 74 72 4c .{.$result.=.'';.$pos.=.0;.$strL
8f500 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6a 73 6f 6e 29 3b 0a 24 69 6e 64 65 6e 74 53 74 72 20 3d en.=.strlen($json);.$indentStr.=
8f520 20 27 20 20 20 20 27 3b 0a 24 6e 65 77 4c 69 6e 65 20 3d 20 22 5c 6e 22 3b 0a 24 6f 75 74 4f 66 .'....';.$newLine.=."\n";.$outOf
8f540 51 75 6f 74 65 73 20 3d 20 74 72 75 65 3b 0a 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 24 6e 6f Quotes.=.true;.$buffer.=.'';.$no
8f560 65 73 63 61 70 65 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 escape.=.true;..for.($i.=.0;.$i.
8f580 3c 20 24 73 74 72 4c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 0a 20 24 63 68 61 72 20 3d 20 73 75 62 <.$strLen;.$i++).{...$char.=.sub
8f5a0 73 74 72 28 24 6a 73 6f 6e 2c 20 24 69 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 27 22 27 20 3d 3d str($json,.$i,.1);....if.('"'.==
8f5c0 3d 20 24 63 68 61 72 20 26 26 20 24 6e 6f 65 73 63 61 70 65 29 20 7b 0a 24 6f 75 74 4f 66 51 75 =.$char.&&.$noescape).{.$outOfQu
8f5e0 6f 74 65 73 20 3d 20 21 24 6f 75 74 4f 66 51 75 6f 74 65 73 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f otes.=.!$outOfQuotes;.}..if.(!$o
8f600 75 74 4f 66 51 75 6f 74 65 73 29 20 7b 0a 24 62 75 66 66 65 72 20 2e 3d 20 24 63 68 61 72 3b 0a utOfQuotes).{.$buffer..=.$char;.
8f620 24 6e 6f 65 73 63 61 70 65 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 24 63 68 61 72 20 3f 20 21 24 6e $noescape.=.'\\'.===.$char.?.!$n
8f640 6f 65 73 63 61 70 65 20 3a 20 74 72 75 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 oescape.:.true;.continue;.}.else
8f660 69 66 20 28 27 27 20 21 3d 3d 20 24 62 75 66 66 65 72 29 20 7b 0a 69 66 20 28 24 75 6e 65 73 63 if.(''.!==.$buffer).{.if.($unesc
8f680 61 70 65 53 6c 61 73 68 65 73 29 20 7b 0a 24 62 75 66 66 65 72 20 3d 20 73 74 72 5f 72 65 70 6c apeSlashes).{.$buffer.=.str_repl
8f6a0 61 63 65 28 27 5c 5c 2f 27 2c 20 27 2f 27 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 69 66 20 ace('\\/',.'/',.$buffer);.}..if.
8f6c0 28 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 ($unescapeUnicode.&&.function_ex
8f6e0 69 73 74 73 28 27 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 27 29 29 20 7b 0a 0a ists('mb_convert_encoding')).{..
8f700 20 24 62 75 66 66 65 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b .$buffer.=.preg_replace_callback
8f720 28 27 2f 28 5c 5c 5c 5c 2b 29 75 28 5b 30 2d 39 61 2d 66 5d 7b 34 7d 29 2f 69 27 2c 20 66 75 6e ('/(\\\\+)u([0-9a-f]{4})/i',.fun
8f740 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 7b 0a 24 6c 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 ction.($match).{.$l.=.strlen($ma
8f760 74 63 68 5b 31 5d 29 3b 0a 0a 69 66 20 28 24 6c 20 25 20 32 29 20 7b 0a 24 63 6f 64 65 20 3d 20 tch[1]);..if.($l.%.2).{.$code.=.
8f780 68 65 78 64 65 63 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 0a 20 0a 20 69 66 20 28 30 78 44 38 30 hexdec($match[2]);.....if.(0xD80
8f7a0 30 20 3c 3d 20 24 63 6f 64 65 20 26 26 20 30 78 44 46 46 46 20 3e 3d 20 24 63 6f 64 65 29 20 7b 0.<=.$code.&&.0xDFFF.>=.$code).{
8f7c0 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 .return.$match[0];.}..return.str
8f7e0 5f 72 65 70 65 61 74 28 27 5c 5c 27 2c 20 24 6c 20 2d 20 31 29 20 2e 20 6d 62 5f 63 6f 6e 76 65 _repeat('\\',.$l.-.1)...mb_conve
8f800 72 74 5f 65 6e 63 6f 64 69 6e 67 28 0a 70 61 63 6b 28 27 48 2a 27 2c 20 24 6d 61 74 63 68 5b 32 rt_encoding(.pack('H*',.$match[2
8f820 5d 29 2c 0a 27 55 54 46 2d 38 27 2c 0a 27 55 43 53 2d 32 42 45 27 0a 29 3b 0a 7d 0a 0a 72 65 74 ]),.'UTF-8',.'UCS-2BE'.);.}..ret
8f840 75 72 6e 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 7d 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 24 urn.$match[0];.},.$buffer);.}..$
8f860 72 65 73 75 6c 74 20 2e 3d 20 24 62 75 66 66 65 72 2e 24 63 68 61 72 3b 0a 24 62 75 66 66 65 72 result..=.$buffer.$char;.$buffer
8f880 20 3d 20 27 27 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 3a 27 20 3d 3d 3d 20 .=.'';.continue;.}..if.(':'.===.
8f8a0 24 63 68 61 72 29 20 7b 0a 0a 20 24 63 68 61 72 20 2e 3d 20 27 20 27 3b 0a 7d 20 65 6c 73 65 69 $char).{...$char..=.'.';.}.elsei
8f8c0 66 20 28 27 7d 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 5d 27 20 3d 3d 3d 20 24 63 68 61 f.('}'.===.$char.||.']'.===.$cha
8f8e0 72 29 20 7b 0a 24 70 6f 73 2d 2d 3b 0a 24 70 72 65 76 43 68 61 72 20 3d 20 73 75 62 73 74 72 28 r).{.$pos--;.$prevChar.=.substr(
8f900 24 6a 73 6f 6e 2c 20 24 69 20 2d 20 31 2c 20 31 29 3b 0a 0a 69 66 20 28 27 7b 27 20 21 3d 3d 20 $json,.$i.-.1,.1);..if.('{'.!==.
8f920 24 70 72 65 76 43 68 61 72 20 26 26 20 27 5b 27 20 21 3d 3d 20 24 70 72 65 76 43 68 61 72 29 20 $prevChar.&&.'['.!==.$prevChar).
8f940 7b 0a 0a 20 0a 20 24 72 65 73 75 6c 74 20 2e 3d 20 24 6e 65 77 4c 69 6e 65 3b 0a 66 6f 72 20 28 {.....$result..=.$newLine;.for.(
8f960 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a 2b 2b 29 20 7b 0a 24 72 65 73 75 $j.=.0;.$j.<.$pos;.$j++).{.$resu
8f980 6c 74 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 lt..=.$indentStr;.}.}.else.{...$
8f9a0 72 65 73 75 6c 74 20 3d 20 72 74 72 69 6d 28 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 7d 0a 0a 24 72 result.=.rtrim($result);.}.}..$r
8f9c0 65 73 75 6c 74 20 2e 3d 20 24 63 68 61 72 3b 0a 0a 0a 20 0a 20 69 66 20 28 27 2c 27 20 3d 3d 3d esult..=.$char;......if.(','.===
8f9e0 20 24 63 68 61 72 20 7c 7c 20 27 7b 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 5b 27 20 3d .$char.||.'{'.===.$char.||.'['.=
8fa00 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 6e 65 77 4c 69 6e 65 3b ==.$char).{.$result..=.$newLine;
8fa20 0a 0a 69 66 20 28 27 7b 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 5b 27 20 3d 3d 3d 20 24 ..if.('{'.===.$char.||.'['.===.$
8fa40 63 68 61 72 29 20 7b 0a 24 70 6f 73 2b 2b 3b 0a 7d 0a 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 char).{.$pos++;.}..for.($j.=.0;.
8fa60 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a 2b 2b 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 69 $j.<.$pos;.$j++).{.$result..=.$i
8fa80 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b ndentStr;.}.}.}..return.$result;
8faa0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
8fac0 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 Composer\Json;..use.Composer\Rep
8fae0 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a ository\PlatformRepository;.....
8fb00 63 6c 61 73 73 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 class.JsonManipulator.{.private.
8fb20 73 74 61 74 69 63 20 24 44 45 46 49 4e 45 53 20 3d 20 27 28 3f 28 44 45 46 49 4e 45 29 0a 20 20 static.$DEFINES.=.'(?(DEFINE)...
8fb40 20 20 20 20 20 28 3f 3c 6e 75 6d 62 65 72 3e 20 20 20 2d 3f 20 28 3f 3d 20 5b 31 2d 39 5d 7c 30 .....(?<number>...-?.(?=.[1-9]|0
8fb60 28 3f 21 5c 64 29 20 29 20 5c 64 2b 20 28 5c 2e 5c 64 2b 29 3f 20 28 5b 65 45 5d 20 5b 2b 2d 5d (?!\d).).\d+.(\.\d+)?.([eE].[+-]
8fb80 3f 20 5c 64 2b 29 3f 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 62 6f 6f 6c 65 61 6e 3e 20 20 20 74 ?.\d+)?.)........(?<boolean>...t
8fba0 72 75 65 20 7c 20 66 61 6c 73 65 20 7c 20 6e 75 6c 6c 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 73 rue.|.false.|.null.)........(?<s
8fbc0 74 72 69 6e 67 3e 20 20 20 20 22 20 28 5b 5e 22 5c 5c 5c 5c 5d 2a 20 7c 20 5c 5c 5c 5c 20 5b 22 tring>....".([^"\\\\]*.|.\\\\.["
8fbe0 5c 5c 5c 5c 62 66 6e 72 74 5c 2f 5d 20 7c 20 5c 5c 5c 5c 20 75 20 5b 30 2d 39 61 2d 66 5d 7b 34 \\\\bfnrt\/].|.\\\\.u.[0-9a-f]{4
8fc00 7d 20 29 2a 20 22 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 61 72 72 61 79 3e 20 20 20 20 20 5c 5b }.)*.".)........(?<array>.....\[
8fc20 20 20 28 3f 3a 20 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 28 3f 3a 20 2c 20 28 3f 26 6a 73 6f ..(?:..(?&json).\s*.(?:.,.(?&jso
8fc40 6e 29 20 5c 73 2a 20 29 2a 20 20 29 3f 20 20 5c 73 2a 20 5c 5d 20 29 0a 20 20 20 20 20 20 20 28 n).\s*.)*..)?..\s*.\].)........(
8fc60 3f 3c 70 61 69 72 3e 20 20 20 20 20 20 5c 73 2a 20 28 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 ?<pair>......\s*.(?&string).\s*.
8fc80 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 6f 62 6a 65 63 :.(?&json).\s*.)........(?<objec
8fca0 74 3e 20 20 20 20 5c 7b 20 20 28 3f 3a 20 20 28 3f 26 70 61 69 72 29 20 20 28 3f 3a 20 2c 20 28 t>....\{..(?:..(?&pair)..(?:.,.(
8fcc0 3f 26 70 61 69 72 29 20 20 29 2a 20 20 29 3f 20 20 5c 73 2a 20 5c 7d 20 29 0a 20 20 20 20 20 20 ?&pair)..)*..)?..\s*.\}.).......
8fce0 20 28 3f 3c 6a 73 6f 6e 3e 20 20 20 5c 73 2a 20 28 3f 3a 20 28 3f 26 6e 75 6d 62 65 72 29 20 7c .(?<json>...\s*.(?:.(?&number).|
8fd00 20 28 3f 26 62 6f 6f 6c 65 61 6e 29 20 7c 20 28 3f 26 73 74 72 69 6e 67 29 20 7c 20 28 3f 26 61 .(?&boolean).|.(?&string).|.(?&a
8fd20 72 72 61 79 29 20 7c 20 28 3f 26 6f 62 6a 65 63 74 29 20 29 20 29 0a 20 20 20 20 29 27 3b 0a 0a rray).|.(?&object).).).....)';..
8fd40 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 6e 65 77 6c private.$contents;.private.$newl
8fd60 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 65 6e 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 ine;.private.$indent;..public.fu
8fd80 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6e 74 65 6e 74 73 29 0a 7b 0a nction.__construct($contents).{.
8fda0 24 63 6f 6e 74 65 6e 74 73 20 3d 20 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 69 66 20 $contents.=.trim($contents);.if.
8fdc0 28 24 63 6f 6e 74 65 6e 74 73 20 3d 3d 3d 20 27 27 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d ($contents.===.'').{.$contents.=
8fde0 20 27 7b 7d 27 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 .'{}';.}.if.(!$this->pregMatch('
8fe00 23 5e 5c 7b 28 2e 2a 29 5c 7d 24 23 73 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 74 68 #^\{(.*)\}$#s',.$contents)).{.th
8fe20 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
8fe40 6e 28 27 54 68 65 20 6a 73 6f 6e 20 66 69 6c 65 20 6d 75 73 74 20 62 65 20 61 6e 20 6f 62 6a 65 n('The.json.file.must.be.an.obje
8fe60 63 74 20 28 7b 7d 29 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 3d 20 66 61 ct.({})');.}.$this->newline.=.fa
8fe80 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 74 65 6e 74 73 2c 20 22 5c 72 5c 6e 22 lse.!==.strpos($contents,."\r\n"
8fea0 29 20 3f 20 22 5c 72 5c 6e 22 20 3a 20 22 5c 6e 22 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e ).?."\r\n".:."\n";.$this->conten
8fec0 74 73 20 3d 20 24 63 6f 6e 74 65 6e 74 73 20 3d 3d 3d 20 27 7b 7d 27 20 3f 20 27 7b 27 20 2e 20 ts.=.$contents.===.'{}'.?.'{'...
8fee0 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 27 7d 27 20 3a 20 24 63 6f 6e 74 65 6e 74 73 $this->newline...'}'.:.$contents
8ff00 3b 0a 24 74 68 69 73 2d 3e 64 65 74 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 3b 0a 7d 0a 0a 70 ;.$this->detectIndenting();.}..p
8ff20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 0a 7b 0a 72 ublic.function.getContents().{.r
8ff40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 2e 20 24 74 68 69 73 2d 3e 6e eturn.$this->contents...$this->n
8ff60 65 77 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 ewline;.}..public.function.addLi
8ff80 6e 6b 28 24 74 79 70 65 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c nk($type,.$package,.$constraint,
8ffa0 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 64 65 63 6f 64 .$sortPackages.=.false).{.$decod
8ffc0 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e ed.=.JsonFile::parseJson($this->
8ffe0 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 contents);....if.(!isset($decode
90000 64 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 4d 61 d[$type])).{.return.$this->addMa
90020 69 6e 4b 65 79 28 24 74 79 70 65 2c 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 inKey($type,.array($package.=>.$
90040 63 6f 6e 73 74 72 61 69 6e 74 29 29 3b 0a 7d 0a 0a 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 constraint));.}..$regex.=.'{'.se
90060 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 lf::$DEFINES.'^(?P<start>\s*\{\s
90080 2a 28 3f 3a 28 3f 26 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a *(?:(?&string)\s*:\s*(?&json)\s*
900a0 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 3f 50 3c 70 72 6f 70 65 72 74 79 3e 27 2e 70 72 65 67 5f ,\s*)*?)'..'(?P<property>'.preg_
900c0 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 74 79 70 65 29 29 2e 27 quote(JsonFile::encode($type)).'
900e0 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 76 61 6c 75 65 3e 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 \s*:\s*)(?P<value>(?&json))(?P<e
90100 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 nd>.*)}sx';.if.(!$this->pregMatc
90120 68 28 24 72 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 h($regex,.$this->contents,.$matc
90140 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6c 69 6e 6b 73 20 hes)).{.return.false;.}..$links.
90160 3d 20 24 6d 61 74 63 68 65 73 5b 27 76 61 6c 75 65 27 5d 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 =.$matches['value'];....$package
90180 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c 5c 5c 5c 3f 2f Regex.=.str_replace('/',.'\\\\?/
901a0 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 72 65 67 65 78 ',.preg_quote($package));.$regex
901c0 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 22 28 3f 50 3c 70 61 63 6b .=.'{'.self::$DEFINES.'"(?P<pack
901e0 61 67 65 3e 27 2e 24 70 61 63 6b 61 67 65 52 65 67 65 78 2e 27 29 22 28 5c 73 2a 3a 5c 73 2a 29 age>'.$packageRegex.')"(\s*:\s*)
90200 28 3f 26 73 74 72 69 6e 67 29 7d 69 78 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d (?&string)}ix';.if.($this->pregM
90220 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 6c 69 6e 6b 73 2c 20 24 70 61 63 6b 61 67 65 4d 61 74 atch($regex,.$links,.$packageMat
90240 63 68 65 73 29 29 20 7b 0a 0a 20 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 20 3d 20 24 70 ches)).{...$existingPackage.=.$p
90260 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 24 70 61 63 6b 61 ackageMatches['package'];.$packa
90280 67 65 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c 5c 5c 5c geRegex.=.str_replace('/',.'\\\\
902a0 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 ?/',.preg_quote($existingPackage
902c0 29 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 ));.$links.=.preg_replace_callba
902e0 63 6b 28 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 22 27 2e 24 70 61 63 6b 61 ck('{'.self::$DEFINES.'"'.$packa
90300 67 65 52 65 67 65 78 2e 27 22 28 3f 50 3c 73 65 70 61 72 61 74 6f 72 3e 5c 73 2a 3a 5c 73 2a 29 geRegex.'"(?P<separator>\s*:\s*)
90320 28 3f 26 73 74 72 69 6e 67 29 7d 69 78 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 75 73 (?&string)}ix',.function.($m).us
90340 65 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 e.($existingPackage,.$constraint
90360 29 20 7b 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 73 74 72 5f ).{.return.JsonFile::encode(str_
90380 72 65 70 6c 61 63 65 28 27 5c 5c 2f 27 2c 20 27 2f 27 2c 20 24 65 78 69 73 74 69 6e 67 50 61 63 replace('\\/',.'/',.$existingPac
903a0 6b 61 67 65 29 29 20 2e 20 24 6d 5b 27 73 65 70 61 72 61 74 6f 72 27 5d 20 2e 20 27 22 27 20 2e kage))...$m['separator']...'"'..
903c0 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 27 22 27 3b 0a 7d 2c 20 24 6c 69 6e 6b 73 29 3b 0a .$constraint...'"';.},.$links);.
903e0 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 }.else.{.if.($this->pregMatch('#
90400 5e 5c 73 2a 5c 7b 5c 73 2a 5c 53 2b 2e 2a 3f 28 5c 73 2a 5c 7d 5c 73 2a 29 24 23 73 27 2c 20 24 ^\s*\{\s*\S+.*?(\s*\}\s*)$#s',.$
90420 6c 69 6e 6b 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 6c 69 6e 6b 73 20 3d 20 70 72 65 links,.$match)).{...$links.=.pre
90440 67 5f 72 65 70 6c 61 63 65 28 0a 27 7b 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 63 68 g_replace(.'{'.preg_quote($match
90460 5b 31 5d 29 2e 27 24 7d 27 2c 0a 0a 20 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 24 [1]).'$}',...addcslashes(','...$
90480 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 this->newline...$this->indent...
904a0 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 $this->indent...JsonFile::encode
904c0 28 24 70 61 63 6b 61 67 65 29 2e 27 3a 20 27 2e 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 ($package).':.'.JsonFile::encode
904e0 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 2e 20 24 6d 61 74 63 68 5b 31 5d 2c 20 27 5c 5c 24 27 ($constraint)...$match[1],.'\\$'
90500 29 2c 0a 24 6c 69 6e 6b 73 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6c 69 6e 6b 73 20 3d ),.$links.);.}.else.{...$links.=
90520 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 0a 24 74 68 69 73 2d 3e 69 .'{'...$this->newline...$this->i
90540 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 ndent...$this->indent...JsonFile
90560 3a 3a 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 2e 27 3a 20 27 2e 4a 73 6f 6e 46 69 6c 65 ::encode($package).':.'.JsonFile
90580 3a 3a 65 6e 63 6f 64 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 2e 20 24 74 68 69 73 2d 3e 6e ::encode($constraint)...$this->n
905a0 65 77 6c 69 6e 65 20 2e 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 27 7d 27 3b 0a 7d 0a ewline...$this->indent...'}';.}.
905c0 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 29 20 7b }..if.(true.===.$sortPackages).{
905e0 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6c 69 .$requirements.=.json_decode($li
90600 6e 6b 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 50 61 63 6b 61 67 65 73 28 nks,.true);.$this->sortPackages(
90620 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 24 74 68 69 73 2d 3e $requirements);.$links.=.$this->
90640 66 6f 72 6d 61 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d format($requirements);.}..$this-
90660 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 >contents.=.$matches['start']...
90680 24 6d 61 74 63 68 65 73 5b 27 70 72 6f 70 65 72 74 79 27 5d 20 2e 20 24 6c 69 6e 6b 73 20 2e 20 $matches['property']...$links...
906a0 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d $matches['end'];..return.true;.}
906c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 50 61 .........private.function.sortPa
906e0 63 6b 61 67 65 73 28 61 72 72 61 79 20 26 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 ckages(array.&$packages.=.array(
90700 29 29 0a 7b 0a 24 70 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 71 75 69 72 )).{.$prefix.=.function.($requir
90720 65 6d 65 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d ement).{.if.(preg_match(Platform
90740 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 Repository::PLATFORM_PACKAGE_REG
90760 45 58 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 EX,.$requirement)).{.return.preg
90780 5f 72 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 0a 27 2f 5e 70 68 70 2f 27 2c 0a 27 2f 5e 68 68 _replace(.array(.'/^php/',.'/^hh
907a0 76 6d 2f 27 2c 0a 27 2f 5e 65 78 74 2f 27 2c 0a 27 2f 5e 6c 69 62 2f 27 2c 0a 27 2f 5e 5c 44 2f vm/',.'/^ext/',.'/^lib/',.'/^\D/
907c0 27 2c 0a 29 2c 0a 61 72 72 61 79 28 0a 27 30 2d 24 30 27 2c 0a 27 31 2d 24 30 27 2c 0a 27 32 2d ',.),.array(.'0-$0',.'1-$0',.'2-
907e0 24 30 27 2c 0a 27 33 2d 24 30 27 2c 0a 27 34 2d 24 30 27 2c 0a 29 2c 0a 24 72 65 71 75 69 72 65 $0',.'3-$0',.'4-$0',.),.$require
90800 6d 65 6e 74 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 35 2d 27 2e 24 72 65 71 75 69 72 65 6d ment.);.}..return.'5-'.$requirem
90820 65 6e 74 3b 0a 7d 3b 0a 0a 75 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 2c 20 66 75 6e 63 74 ent;.};..uksort($packages,.funct
90840 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 72 65 66 69 78 29 20 7b 0a 72 65 74 ion.($a,.$b).use.($prefix).{.ret
90860 75 72 6e 20 73 74 72 6e 61 74 63 6d 70 28 24 70 72 65 66 69 78 28 24 61 29 2c 20 24 70 72 65 66 urn.strnatcmp($prefix($a),.$pref
90880 69 78 28 24 62 29 29 3b 0a 7d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ix($b));.});.}..public.function.
908a0 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a addRepository($name,.$config).{.
908c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 72 65 70 6f 73 69 return.$this->addSubNode('reposi
908e0 74 6f 72 69 65 73 27 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 70 75 62 tories',.$name,.$config);.}..pub
90900 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6e lic.function.removeRepository($n
90920 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f ame).{.return.$this->removeSubNo
90940 64 65 28 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 de('repositories',.$name);.}..pu
90960 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 blic.function.addConfigSetting($
90980 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 name,.$value).{.return.$this->ad
909a0 64 53 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 dSubNode('config',.$name,.$value
909c0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 );.}..public.function.removeConf
909e0 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d igSetting($name).{.return.$this-
90a00 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e 61 6d 65 29 3b >removeSubNode('config',.$name);
90a20 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 .}..public.function.addProperty(
90a40 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d $name,.$value).{.if.(substr($nam
90a60 65 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 e,.0,.6).===.'extra.').{.return.
90a80 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 65 78 74 72 61 27 2c 20 73 75 62 73 74 $this->addSubNode('extra',.subst
90aa0 72 28 24 6e 61 6d 65 2c 20 36 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 r($name,.6),.$value);.}..if.(sub
90ac0 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 str($name,.0,.8).===.'scripts.')
90ae0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 73 63 72 .{.return.$this->addSubNode('scr
90b00 69 70 74 73 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 38 29 2c 20 24 76 61 6c 75 65 29 ipts',.substr($name,.8),.$value)
90b20 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6e ;.}..return.$this->addMainKey($n
90b40 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ame,.$value);.}..public.function
90b60 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 73 75 62 .removeProperty($name).{.if.(sub
90b80 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 29 20 7b str($name,.0,.6).===.'extra.').{
90ba0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 65 78 .return.$this->removeSubNode('ex
90bc0 74 72 61 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 36 29 29 3b 0a 7d 0a 0a 69 66 20 28 tra',.substr($name,.6));.}..if.(
90be0 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 substr($name,.0,.8).===.'scripts
90c00 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 .').{.return.$this->removeSubNod
90c20 65 28 27 73 63 72 69 70 74 73 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 38 29 29 3b 0a e('scripts',.substr($name,.8));.
90c40 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 4d 61 69 6e 4b 65 79 28 24 }..return.$this->removeMainKey($
90c60 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 62 name);.}..public.function.addSub
90c80 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b Node($mainNode,.$name,.$value).{
90ca0 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 .$decoded.=.JsonFile::parseJson(
90cc0 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 24 73 75 62 4e 61 6d 65 20 3d 20 6e 75 $this->contents);..$subName.=.nu
90ce0 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 ll;.if.(in_array($mainNode,.arra
90d00 79 28 27 63 6f 6e 66 69 67 27 2c 20 27 65 78 74 72 61 27 2c 20 27 73 63 72 69 70 74 73 27 29 29 y('config',.'extra',.'scripts'))
90d20 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 2e 27 29 .&&.false.!==.strpos($name,.'.')
90d40 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 29 20 3d 20 65 78 70 6c ).{.list($name,.$subName).=.expl
90d60 6f 64 65 28 27 2e 27 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 ode('.',.$name,.2);.}....if.(!is
90d80 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 29 29 20 7b 0a 69 66 20 28 set($decoded[$mainNode])).{.if.(
90da0 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4d $subName.!==.null).{.$this->addM
90dc0 61 69 6e 4b 65 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 20 3d 3e ainKey($mainNode,.array($name.=>
90de0 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 29 29 3b 0a 7d 20 .array($subName.=>.$value)));.}.
90e00 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6d 61 69 6e 4e 6f else.{.$this->addMainKey($mainNo
90e20 64 65 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a de,.array($name.=>.$value));.}..
90e40 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 20 3d 20 27 return.true;.}....$nodeRegex.=.'
90e60 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 20 5c {'.self::$DEFINES.'^(?P<start>.\
90e80 73 2a 20 5c 7b 20 5c 73 2a 20 28 3f 3a 20 28 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 s*.\{.\s*.(?:.(?&string).\s*.:.(
90ea0 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 2c 20 5c 73 2a 20 29 2a 3f 27 2e 0a 70 72 65 67 5f 71 75 6f ?&json).\s*.,.\s*.)*?'..preg_quo
90ec0 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 29 29 2e te(JsonFile::encode($mainNode)).
90ee0 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 28 3f 26 6f 62 6a 65 63 74 29 29 '\s*:\s*)(?P<content>(?&object))
90f00 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 (?P<end>.*)}sx';..try.{.if.(!$th
90f20 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 73 2d is->pregMatch($nodeRegex,.$this-
90f40 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c >contents,.$match)).{.return.fal
90f60 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e se;.}.}.catch.(\RuntimeException
90f80 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 50 52 45 .$e).{.if.($e->getCode().===.PRE
90fa0 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 20 7b 0a 72 65 74 75 72 G_BACKTRACK_LIMIT_ERROR).{.retur
90fc0 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 n.false;.}.throw.$e;.}..$childre
90fe0 6e 20 3d 20 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d 3b 0a 0a 20 69 66 20 28 21 40 6a n.=.$match['content'];...if.(!@j
91000 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 son_decode($children)).{.return.
91020 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 0a 20 24 63 68 69 false;.}..$that.=.$this;....$chi
91040 6c 64 52 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 28 3f ldRegex.=.'{'.self::$DEFINES.'(?
91060 50 3c 73 74 61 72 74 3e 22 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c P<start>"'.preg_quote($name).'"\
91080 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c s*:\s*)(?P<content>(?&json))(?P<
910a0 65 6e 64 3e 2c 3f 29 7d 78 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 end>,?)}x';.if.($this->pregMatch
910c0 28 24 63 68 69 6c 64 52 65 67 65 78 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 65 ($childRegex,.$children,.$matche
910e0 73 29 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 s)).{.$children.=.preg_replace_c
91100 61 6c 6c 62 61 63 6b 28 24 63 68 69 6c 64 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 allback($childRegex,.function.($
91120 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 75 62 4e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 matches).use.($subName,.$value,.
91140 24 74 68 61 74 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 $that).{.if.($subName.!==.null).
91160 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6d 61 74 63 68 65 73 {.$curVal.=.json_decode($matches
91180 5b 27 63 6f 6e 74 65 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 ['content'],.true);.if.(!is_arra
911a0 79 28 24 63 75 72 56 61 6c 29 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 61 72 72 61 79 28 29 3b y($curVal)).{.$curVal.=.array();
911c0 0a 7d 0a 24 63 75 72 56 61 6c 5b 24 73 75 62 4e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 24 .}.$curVal[$subName].=.$value;.$
911e0 76 61 6c 75 65 20 3d 20 24 63 75 72 56 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 value.=.$curVal;.}..return.$matc
91200 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 74 68 61 74 2d 3e 66 6f 72 6d 61 74 28 24 76 61 hes['start']...$that->format($va
91220 6c 75 65 2c 20 31 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 63 lue,.1)...$matches['end'];.},.$c
91240 68 69 6c 64 72 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 hildren);.}.else.{.$this->pregMa
91260 74 63 68 28 27 23 5e 7b 20 5c 73 2a 3f 20 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 5c 53 2b 2e 2a 3f tch('#^{.\s*?.(?P<content>\S+.*?
91280 29 3f 20 28 3f 50 3c 74 72 61 69 6c 69 6e 67 73 70 61 63 65 3e 5c 73 2a 29 20 7d 24 23 73 78 27 )?.(?P<trailingspace>\s*).}$#sx'
912a0 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 29 3b 0a 0a 24 77 68 69 74 65 73 70 61 ,.$children,.$match);..$whitespa
912c0 63 65 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 74 72 61 69 ce.=.'';.if.(!empty($match['trai
912e0 6c 69 6e 67 73 70 61 63 65 27 5d 29 29 20 7b 0a 24 77 68 69 74 65 73 70 61 63 65 20 3d 20 24 6d lingspace'])).{.$whitespace.=.$m
91300 61 74 63 68 5b 27 74 72 61 69 6c 69 6e 67 73 70 61 63 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 65 atch['trailingspace'];.}..if.(!e
91320 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 29 20 7b 0a 69 66 20 28 24 mpty($match['content'])).{.if.($
91340 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 subName.!==.null).{.$value.=.arr
91360 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 20 24 63 68 ay($subName.=>.$value);.}....$ch
91380 69 6c 64 72 65 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 27 2e 24 77 68 69 74 ildren.=.preg_replace(.'#'.$whit
913a0 65 73 70 61 63 65 2e 27 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 espace.'}$#',.addcslashes(','...
913c0 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e $this->newline...$this->indent..
913e0 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 .$this->indent...JsonFile::encod
91400 65 28 24 6e 61 6d 65 29 2e 27 3a 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c e($name).':.'.$this->format($val
91420 75 65 2c 20 31 29 20 2e 20 24 77 68 69 74 65 73 70 61 63 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 ue,.1)...$whitespace...'}',.'\\$
91440 27 29 2c 0a 24 63 68 69 6c 64 72 65 6e 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 73 '),.$children.);.}.else.{.if.($s
91460 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 61 ubName.!==.null).{.$value.=.arra
91480 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 20 24 63 68 69 y($subName.=>.$value);.}....$chi
914a0 6c 64 72 65 6e 20 3d 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 ldren.=.'{'...$this->newline...$
914c0 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a this->indent...$this->indent...J
914e0 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6e 61 6d 65 29 2e 27 3a 20 27 2e 24 74 68 69 sonFile::encode($name).':.'.$thi
91500 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 77 68 69 74 65 73 70 61 s->format($value,.1)...$whitespa
91520 63 65 20 2e 20 27 7d 27 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d ce...'}';.}.}..$this->contents.=
91540 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 .preg_replace_callback($nodeRege
91560 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 75 73 65 20 28 24 63 68 69 6c 64 72 65 6e 29 x,.function.($m).use.($children)
91580 20 7b 0a 72 65 74 75 72 6e 20 24 6d 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 63 68 69 6c 64 72 65 .{.return.$m['start']...$childre
915a0 6e 20 2e 20 24 6d 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 n...$m['end'];.},.$this->content
915c0 73 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s);..return.true;.}..public.func
915e0 74 69 6f 6e 20 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e tion.removeSubNode($mainNode,.$n
91600 61 6d 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 ame).{.$decoded.=.JsonFile::pars
91620 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 65 eJson($this->contents);....if.(e
91640 6d 70 74 79 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 29 29 20 7b 0a 72 65 74 mpty($decoded[$mainNode])).{.ret
91660 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 20 3d 20 27 7b 27 2e urn.true;.}....$nodeRegex.=.'{'.
91680 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 20 5c 73 2a 20 self::$DEFINES.'^(?P<start>.\s*.
916a0 5c 7b 20 5c 73 2a 20 28 3f 3a 20 28 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a \{.\s*.(?:.(?&string).\s*.:.(?&j
916c0 73 6f 6e 29 20 5c 73 2a 20 2c 20 5c 73 2a 20 29 2a 3f 27 2e 0a 70 72 65 67 5f 71 75 6f 74 65 28 son).\s*.,.\s*.)*?'..preg_quote(
916e0 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 29 29 2e 27 5c 73 JsonFile::encode($mainNode)).'\s
91700 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 28 3f 26 6f 62 6a 65 63 74 29 29 28 3f 50 *:\s*)(?P<content>(?&object))(?P
91720 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e <end>.*)}sx';.try.{.if.(!$this->
91740 70 72 65 67 4d 61 74 63 68 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e pregMatch($nodeRegex,.$this->con
91760 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a tents,.$match)).{.return.false;.
91780 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 }.}.catch.(\RuntimeException.$e)
917a0 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 50 52 45 47 5f 42 41 .{.if.($e->getCode().===.PREG_BA
917c0 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 CKTRACK_LIMIT_ERROR).{.return.fa
917e0 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 lse;.}.throw.$e;.}..$children.=.
91800 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d 3b 0a 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e $match['content'];....if.(!@json
91820 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 65 6e 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 _decode($children,.true)).{.retu
91840 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 75 62 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 rn.false;.}..$subName.=.null;.if
91860 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 27 63 6f 6e .(in_array($mainNode,.array('con
91880 66 69 67 27 2c 20 27 65 78 74 72 61 27 2c 20 27 73 63 72 69 70 74 73 27 29 29 20 26 26 20 66 61 fig',.'extra',.'scripts')).&&.fa
918a0 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 2e 27 29 29 20 7b 0a 6c 69 lse.!==.strpos($name,.'.')).{.li
918c0 73 74 28 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e st($name,.$subName).=.explode('.
918e0 27 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 ',.$name,.2);.}....if.(!isset($d
91900 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 5b 24 6e 61 6d 65 5d 29 20 7c 7c 20 28 24 73 ecoded[$mainNode][$name]).||.($s
91920 75 62 4e 61 6d 65 20 26 26 20 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e ubName.&&.!isset($decoded[$mainN
91940 6f 64 65 5d 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d 29 29 29 20 7b 0a 72 65 74 75 72 ode][$name][$subName]))).{.retur
91960 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 n.true;.}....if.($this->pregMatc
91980 68 28 27 7b 22 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 7d h('{"'.preg_quote($name).'"\s*:}
919a0 69 27 2c 20 24 63 68 69 6c 64 72 65 6e 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 i',.$children)).{...if.(preg_mat
919c0 63 68 5f 61 6c 6c 28 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 22 27 2e 70 72 ch_all('{'.self::$DEFINES.'"'.pr
919e0 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 5c 73 2a 28 3f 3a 28 3f 26 6a eg_quote($name).'"\s*:\s*(?:(?&j
91a00 73 6f 6e 29 29 7d 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 son))}x',.$children,.$matches)).
91a20 7b 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 {.$bestMatch.=.'';.foreach.($mat
91a40 63 68 65 73 5b 30 5d 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 69 66 20 28 73 74 72 6c 65 6e 28 ches[0].as.$match).{.if.(strlen(
91a60 24 62 65 73 74 4d 61 74 63 68 29 20 3c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 29 29 20 7b 0a $bestMatch).<.strlen($match)).{.
91a80 24 62 65 73 74 4d 61 74 63 68 20 3d 20 24 6d 61 74 63 68 3b 0a 7d 0a 7d 0a 24 63 68 69 6c 64 72 $bestMatch.=.$match;.}.}.$childr
91aa0 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2c 5c 73 2a 27 2e 70 enClean.=.preg_replace('{,\s*'.p
91ac0 72 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 63 68 29 2e 27 7d 69 27 2c 20 27 27 2c 20 reg_quote($bestMatch).'}i',.'',.
91ae0 24 63 68 69 6c 64 72 65 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 31 20 21 3d $children,.-1,.$count);.if.(1.!=
91b00 3d 20 24 63 6f 75 6e 74 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 =.$count).{.$childrenClean.=.pre
91b20 67 5f 72 65 70 6c 61 63 65 28 27 7b 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 g_replace('{'.preg_quote($bestMa
91b40 74 63 68 29 2e 27 5c 73 2a 2c 3f 5c 73 2a 7d 69 27 2c 20 27 27 2c 20 24 63 68 69 6c 64 72 65 6e tch).'\s*,?\s*}i',.'',.$children
91b60 43 6c 65 61 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 31 20 21 3d 3d 20 24 63 Clean,.-1,.$count);.if.(1.!==.$c
91b80 6f 75 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c ount).{.return.false;.}.}.}.}.el
91ba0 73 65 20 7b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 24 63 68 69 6c 64 72 65 6e 3b se.{.$childrenClean.=.$children;
91bc0 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 7b 20 5c 73 2a 3f .}....$this->pregMatch('#^{.\s*?
91be0 20 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 5c 53 2b 2e 2a 3f 29 3f 20 28 3f 50 3c 74 72 61 69 6c 69 .(?P<content>\S+.*?)?.(?P<traili
91c00 6e 67 73 70 61 63 65 3e 5c 73 2a 29 20 7d 24 23 73 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c ngspace>\s*).}$#sx',.$childrenCl
91c20 65 61 6e 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 ean,.$match);.if.(empty($match['
91c40 63 6f 6e 74 65 6e 74 27 5d 29 29 20 7b 0a 24 6e 65 77 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e content'])).{.$newline.=.$this->
91c60 6e 65 77 6c 69 6e 65 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 newline;.$indent.=.$this->indent
91c80 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ;..$this->contents.=.preg_replac
91ca0 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 e_callback($nodeRegex,.function.
91cc0 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 69 6e 64 65 6e 74 2c 20 24 6e 65 77 6c 69 6e ($matches).use.($indent,.$newlin
91ce0 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 e).{.return.$matches['start']...
91d00 27 7b 27 20 2e 20 24 6e 65 77 6c 69 6e 65 20 2e 20 24 69 6e 64 65 6e 74 20 2e 20 27 7d 27 20 2e '{'...$newline...$indent...'}'..
91d20 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 .$matches['end'];.},.$this->cont
91d40 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 ents);....if.($subName.!==.null)
91d60 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 .{.$curVal.=.json_decode($childr
91d80 65 6e 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 5b en,.true);.unset($curVal[$name][
91da0 24 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 24 6d $subName]);.$this->addSubNode($m
91dc0 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 29 3b ainNode,.$name,.$curVal[$name]);
91de0 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 .}..return.true;.}..$that.=.$thi
91e00 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 s;.$this->contents.=.preg_replac
91e20 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 e_callback($nodeRegex,.function.
91e40 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 74 68 61 74 2c 20 24 6e 61 6d 65 2c 20 24 73 ($matches).use.($that,.$name,.$s
91e60 75 62 4e 61 6d 65 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 29 20 7b 0a 69 66 20 28 24 73 ubName,.$childrenClean).{.if.($s
91e80 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f ubName.!==.null).{.$curVal.=.jso
91ea0 6e 5f 64 65 63 6f 64 65 28 24 6d 61 74 63 68 65 73 5b 27 63 6f 6e 74 65 6e 74 27 5d 2c 20 74 72 n_decode($matches['content'],.tr
91ec0 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 ue);.unset($curVal[$name][$subNa
91ee0 6d 65 5d 29 3b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 24 74 68 61 74 2d 3e 66 6f me]);.$childrenClean.=.$that->fo
91f00 72 6d 61 74 28 24 63 75 72 56 61 6c 2c 20 30 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 rmat($curVal,.0);.}..return.$mat
91f20 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 2e ches['start']...$childrenClean..
91f40 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 .$matches['end'];.},.$this->cont
91f60 65 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ents);..return.true;.}..public.f
91f80 75 6e 63 74 69 6f 6e 20 61 64 64 4d 61 69 6e 4b 65 79 28 24 6b 65 79 2c 20 24 63 6f 6e 74 65 6e unction.addMainKey($key,.$conten
91fa0 74 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a t).{.$decoded.=.JsonFile::parseJ
91fc0 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d son($this->contents);.$content.=
91fe0 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 0a 20 24 72 65 .$this->format($content);....$re
92000 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 gex.=.'{'.self::$DEFINES.'^(?P<s
92020 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 tart>\s*\{\s*(?:(?&string)\s*:\s
92040 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 3f 50 3c 6b 65 79 3e *(?&json)\s*,\s*)*?)'..'(?P<key>
92060 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b '.preg_quote(JsonFile::encode($k
92080 65 79 29 29 2e 27 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a ey)).'\s*:\s*(?&json))(?P<end>.*
920a0 29 7d 73 78 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6b 65 79 5d 29 )}sx';.if.(isset($decoded[$key])
920c0 20 26 26 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 .&&.$this->pregMatch($regex,.$th
920e0 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 is->contents,.$matches)).{...if.
92100 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d 61 74 63 68 65 73 5b 27 6b 65 79 (!@json_decode('{'.$matches['key
92120 27 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 '].'}')).{.return.false;.}..$thi
92140 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 s->contents.=.$matches['start'].
92160 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 27 3a 20 27 2e 24 63 ..JsonFile::encode($key).':.'.$c
92180 6f 6e 74 65 6e 74 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 0a 72 65 74 75 72 ontent...$matches['end'];..retur
921a0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 n.true;.}....if.($this->pregMatc
921c0 68 28 27 23 5b 5e 7b 5c 73 5d 28 5c 73 2a 29 5c 7d 24 23 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e h('#[^{\s](\s*)\}$#',.$this->con
921e0 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 tents,.$match)).{.$this->content
92200 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 27 2e 24 6d 61 74 63 68 5b 31 5d 2e s.=.preg_replace(.'#'.$match[1].
92220 27 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d '\}$#',.addcslashes(','...$this-
92240 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 >newline...$this->indent...JsonF
92260 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 20 24 63 6f 6e 74 65 6e ile::encode($key)..':.'..$conten
92280 74 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 t...$this->newline...'}',.'\\$')
922a0 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 ,.$this->contents.);..return.tru
922c0 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 e;.}....$this->contents.=.preg_r
922e0 65 70 6c 61 63 65 28 0a 27 23 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 24 74 68 eplace(.'#\}$#',.addcslashes($th
92300 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b is->indent...JsonFile::encode($k
92320 65 79 29 2e 20 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c ey)..':.'.$content...$this->newl
92340 69 6e 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e ine...'}',.'\\$'),.$this->conten
92360 74 73 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 ts.);..return.true;.}..public.fu
92380 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4d 61 69 6e 4b 65 79 28 24 6b 65 79 29 0a 7b 0a 24 64 65 nction.removeMainKey($key).{.$de
923a0 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 coded.=.JsonFile::parseJson($thi
923c0 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 s->contents);..if.(!array_key_ex
923e0 69 73 74 73 28 24 6b 65 79 2c 20 24 64 65 63 6f 64 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 ists($key,.$decoded)).{.return.t
92400 72 75 65 3b 0a 7d 0a 0a 0a 20 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 rue;.}....$regex.=.'{'.self::$DE
92420 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 FINES.'^(?P<start>\s*\{\s*(?:(?&
92440 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f string)\s*:\s*(?&json)\s*,\s*)*?
92460 29 27 2e 0a 27 28 3f 50 3c 72 65 6d 6f 76 61 6c 3e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 )'..'(?P<removal>'.preg_quote(Js
92480 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 29 2e 27 5c 73 2a 3a 5c 73 2a 28 3f onFile::encode($key)).'\s*:\s*(?
924a0 26 6a 73 6f 6e 29 29 5c 73 2a 2c 3f 5c 73 2a 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a &json))\s*,?\s*(?P<end>.*)}sx';.
924c0 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 if.($this->pregMatch($regex,.$th
924e0 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 is->contents,.$matches)).{...if.
92500 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d 61 74 63 68 65 73 5b 27 72 65 6d (!@json_decode('{'.$matches['rem
92520 6f 76 61 6c 27 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a oval'].'}')).{.return.false;.}..
92540 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 2c 5c 73 2a 24 23 27 2c 20 24 6d 61 74 ..if.(preg_match('#,\s*$#',.$mat
92560 63 68 65 73 5b 27 73 74 61 72 74 27 5d 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e ches['start']).&&.preg_match('#^
92580 5c 7d 24 23 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 29 29 20 7b 0a 24 6d 61 74 63 \}$#',.$matches['end'])).{.$matc
925a0 68 65 73 5b 27 73 74 61 72 74 27 5d 20 3d 20 72 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 hes['start'].=.rtrim(preg_replac
925c0 65 28 27 23 2c 28 5c 73 2a 29 24 23 27 2c 20 27 24 31 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 73 e('#,(\s*)$#',.'$1',.$matches['s
925e0 74 61 72 74 27 5d 29 2c 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 29 3b 0a 7d 0a 0a 24 74 68 69 tart']),.$this->indent);.}..$thi
92600 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 s->contents.=.$matches['start'].
92620 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ..$matches['end'];.if.(preg_matc
92640 68 28 27 23 5e 5c 7b 5c 73 2a 5c 7d 5c 73 2a 24 23 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 h('#^\{\s*\}\s*$#',.$this->conte
92660 6e 74 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 7d 22 nts)).{.$this->contents.=."{\n}"
92680 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 ;.}..return.true;.}..return.fals
926a0 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 64 61 e;.}..public.function.format($da
926c0 74 61 2c 20 24 64 65 70 74 68 20 3d 20 30 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 ta,.$depth.=.0).{.if.(is_array($
926e0 64 61 74 61 29 29 20 7b 0a 72 65 73 65 74 28 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 5f 6e data)).{.reset($data);..if.(is_n
92700 75 6d 65 72 69 63 28 6b 65 79 28 24 64 61 74 61 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 umeric(key($data))).{.foreach.($
92720 64 61 74 61 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 24 64 61 74 61 5b 24 6b data.as.$key.=>.$val).{.$data[$k
92740 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 2c 20 24 64 65 70 74 68 ey].=.$this->format($val,.$depth
92760 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 .+.1);.}..return.'['.implode(',.
92780 27 2c 20 24 64 61 74 61 29 2e 27 5d 27 3b 0a 7d 0a 0a 24 6f 75 74 20 3d 20 27 7b 27 20 2e 20 24 ',.$data).']';.}..$out.=.'{'...$
927a0 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 24 65 6c 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b this->newline;.$elems.=.array();
927c0 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 .foreach.($data.as.$key.=>.$val)
927e0 20 7b 0a 24 65 6c 65 6d 73 5b 5d 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e .{.$elems[].=.str_repeat($this->
92800 69 6e 64 65 6e 74 2c 20 24 64 65 70 74 68 20 2b 20 32 29 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a indent,.$depth.+.2)...JsonFile::
92820 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 encode($key)..':.'.$this->format
92840 28 24 76 61 6c 2c 20 24 64 65 70 74 68 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f ($val,.$depth.+.1);.}..return.$o
92860 75 74 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2e 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 2c ut...implode(','.$this->newline,
92880 20 24 65 6c 65 6d 73 29 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 73 74 72 5f .$elems)...$this->newline...str_
928a0 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 2c 20 24 64 65 70 74 68 20 2b 20 31 repeat($this->indent,.$depth.+.1
928c0 29 20 2e 20 27 7d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 )...'}';.}..return.JsonFile::enc
928e0 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ode($data);.}..protected.functio
92900 6e 20 64 65 74 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d n.detectIndenting().{.if.($this-
92920 3e 70 72 65 67 4d 61 74 63 68 28 27 7b 5e 28 5b 20 5c 74 5d 2b 29 22 7d 6d 27 2c 20 24 74 68 69 >pregMatch('{^([.\t]+)"}m',.$thi
92940 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 s->contents,.$match)).{.$this->i
92960 6e 64 65 6e 74 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 ndent.=.$match[1];.}.else.{.$thi
92980 73 2d 3e 69 6e 64 65 6e 74 20 3d 20 27 20 20 20 20 27 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 s->indent.=.'....';.}.}..protect
929a0 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 67 4d 61 74 63 68 28 24 72 65 2c 20 24 73 74 72 2c ed.function.pregMatch($re,.$str,
929c0 20 26 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 6f 75 6e 74 20 3d .&$matches.=.array()).{.$count.=
929e0 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 2c 20 24 73 74 72 2c 20 24 6d 61 74 63 68 65 73 29 .preg_match($re,.$str,.$matches)
92a00 3b 0a 0a 69 66 20 28 24 63 6f 75 6e 74 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 73 77 69 74 63 ;..if.($count.===.false).{.switc
92a20 68 20 28 70 72 65 67 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 50 52 45 h.(preg_last_error()).{.case.PRE
92a40 47 5f 4e 4f 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 G_NO_ERROR:.throw.new.\RuntimeEx
92a60 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 ception('Failed.to.execute.regex
92a80 3a 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 29 :.PREG_NO_ERROR',.PREG_NO_ERROR)
92aa0 3b 0a 63 61 73 65 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 4f 52 3a 0a 74 68 72 6f ;.case.PREG_INTERNAL_ERROR:.thro
92ac0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 w.new.\RuntimeException('Failed.
92ae0 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f to.execute.regex:.PREG_INTERNAL_
92b00 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 4f 52 29 3b 0a 63 61 ERROR',.PREG_INTERNAL_ERROR);.ca
92b20 73 65 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 74 se.PREG_BACKTRACK_LIMIT_ERROR:.t
92b40 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c hrow.new.\RuntimeException('Fail
92b60 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 43 4b 54 52 ed.to.execute.regex:.PREG_BACKTR
92b80 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b ACK_LIMIT_ERROR',.PREG_BACKTRACK
92ba0 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 52 45 43 55 52 53 49 _LIMIT_ERROR);.case.PREG_RECURSI
92bc0 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 ON_LIMIT_ERROR:.throw.new.\Runti
92be0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 meException('Failed.to.execute.r
92c00 65 67 65 78 3a 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 egex:.PREG_RECURSION_LIMIT_ERROR
92c20 27 2c 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 3b 0a ',.PREG_RECURSION_LIMIT_ERROR);.
92c40 63 61 73 65 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 case.PREG_BAD_UTF8_ERROR:.throw.
92c60 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f new.\RuntimeException('Failed.to
92c80 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 .execute.regex:.PREG_BAD_UTF8_ER
92ca0 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 ROR',.PREG_BAD_UTF8_ERROR);.case
92cc0 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 45 54 5f 45 52 52 4f 52 3a 0a 74 68 72 .PREG_BAD_UTF8_OFFSET_ERROR:.thr
92ce0 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 ow.new.\RuntimeException('Failed
92d00 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 .to.execute.regex:.PREG_BAD_UTF8
92d20 5f 4f 46 46 53 45 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 _OFFSET_ERROR',.PREG_BAD_UTF8_OF
92d40 46 53 45 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 36 3a 20 0a 20 69 66 20 28 50 48 50 5f 56 FSET_ERROR);.case.6:...if.(PHP_V
92d60 45 52 53 49 4f 4e 5f 49 44 20 3e 20 37 30 30 30 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c ERSION_ID.>.70000).{.throw.new.\
92d80 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 RuntimeException('Failed.to.exec
92da0 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 4a 49 54 5f 53 54 41 43 4b 4c 49 4d 49 54 5f 45 ute.regex:.PREG_JIT_STACKLIMIT_E
92dc0 52 52 4f 52 27 2c 20 36 29 3b 0a 7d 0a 0a 20 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 RROR',.6);.}...default:.throw.ne
92de0 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 w.\RuntimeException('Failed.to.e
92e00 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 29 3b 0a 7d xecute.regex:.Unknown.error');.}
92e20 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 75 6e 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a .}..return.$count;.}.}.<?php....
92e40 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b ........namespace.Composer\Json;
92e60 0a 0a 75 73 65 20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 56 ..use.Exception;.....class.JsonV
92e80 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 45 78 63 65 70 alidationException.extends.Excep
92ea0 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 73 3b 0a 0a 70 75 62 6c 69 tion.{.protected.$errors;..publi
92ec0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c c.function.__construct($message,
92ee0 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 45 78 63 65 70 74 69 6f 6e 20 24 70 .$errors.=.array(),.Exception.$p
92f00 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 revious.=.null).{.$this->errors.
92f20 3d 20 24 65 72 72 6f 72 73 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 =.$errors;.parent::__construct($
92f40 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 message,.0,.$previous);.}..publi
92f60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 c.function.getErrors().{.return.
92f80 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a $this->errors;.}.}.<?php........
92fa0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a ....namespace.Composer\Package;.
92fc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c .use.Composer\Semver\Constraint\
92fe0 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 Constraint;.use.Composer\Package
93000 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 \Version\VersionParser;.....clas
93020 73 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 s.AliasPackage.extends.BasePacka
93040 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 ge.implements.CompletePackageInt
93060 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b 0a 70 72 6f erface.{.protected.$version;.pro
93080 74 65 63 74 65 64 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 tected.$prettyVersion;.protected
930a0 20 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 .$dev;.protected.$rootPackageAli
930c0 61 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 as.=.false;.protected.$stability
930e0 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 4f 66 3b 0a 0a 70 72 6f 74 65 63 74 ;...protected.$aliasOf;..protect
93100 65 64 20 24 72 65 71 75 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 52 65 71 ed.$requires;..protected.$devReq
93120 75 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 73 3b 0a 0a 70 uires;..protected.$conflicts;..p
93140 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 rotected.$provides;..protected.$
93160 72 65 70 6c 61 63 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f replaces;.........public.functio
93180 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 n.__construct(PackageInterface.$
931a0 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f aliasOf,.$version,.$prettyVersio
931c0 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 6c 69 61 73 4f n).{.parent::__construct($aliasO
931e0 66 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d f->getName());..$this->version.=
93200 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 .$version;.$this->prettyVersion.
93220 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 =.$prettyVersion;.$this->aliasOf
93240 20 3d 20 24 61 6c 69 61 73 4f 66 3b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 .=.$aliasOf;.$this->stability.=.
93260 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 VersionParser::parseStability($v
93280 65 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 ersion);.$this->dev.=.$this->sta
932a0 62 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 bility.===.'dev';..foreach.(arra
932c0 79 28 27 72 65 71 75 69 72 65 73 27 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 2c 20 27 63 6f y('requires',.'devRequires',.'co
932e0 6e 66 6c 69 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 72 65 70 6c 61 63 65 73 27 nflicts',.'provides',.'replaces'
93300 29 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 24 61 6c 69 61 73 4f 66 2d ).as.$type).{.$links.=.$aliasOf-
93320 3e 7b 27 67 65 74 27 20 2e 20 75 63 66 69 72 73 74 28 24 74 79 70 65 29 7d 28 29 3b 0a 24 74 68 >{'get'...ucfirst($type)}();.$th
93340 69 73 2d 3e 24 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 is->$type.=.$this->replaceSelfVe
93360 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c 69 6e 6b 73 2c 20 24 74 79 70 65 29 rsionDependencies($links,.$type)
93380 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 ;.}.}.....public.function.getAli
933a0 61 73 4f 66 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a asOf().{.return.$this->aliasOf;.
933c0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e }.....public.function.getVersion
933e0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a ().{.return.$this->version;.}...
93400 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 ..public.function.getStability()
93420 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a .{.return.$this->stability;.}...
93440 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 ..public.function.getPrettyVersi
93460 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 on().{.return.$this->prettyVersi
93480 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 on;.}.....public.function.isDev(
934a0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ).{.return.$this->dev;.}.....pub
934c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 lic.function.getRequires().{.ret
934e0 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 urn.$this->requires;.}.....publi
93500 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 c.function.getConflicts().{.retu
93520 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 rn.$this->conflicts;.}.....publi
93540 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 c.function.getProvides().{.retur
93560 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$this->provides;.}.....public.
93580 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 function.getReplaces().{.return.
935a0 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this->replaces;.}.....public.fu
935c0 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e nction.getDevRequires().{.return
935e0 20 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$this->devRequires;.}..........
93600 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 .public.function.setRootPackageA
93620 6c 69 61 73 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f lias($value).{.return.$this->roo
93640 74 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 tPackageAlias.=.$value;.}......p
93660 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 ublic.function.isRootPackageAlia
93680 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 63 6b 61 67 65 41 s().{.return.$this->rootPackageA
936a0 6c 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f lias;.}........protected.functio
936c0 6e 20 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 n.replaceSelfVersionDependencies
936e0 28 61 72 72 61 79 20 24 6c 69 6e 6b 73 2c 20 24 6c 69 6e 6b 54 79 70 65 29 0a 7b 0a 69 66 20 28 (array.$links,.$linkType).{.if.(
93700 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 54 79 70 65 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 6c in_array($linkType,.array('confl
93720 69 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 72 65 70 6c 61 63 65 73 27 29 2c 20 icts',.'provides',.'replaces'),.
93740 74 72 75 65 29 29 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f true)).{.$newLinks.=.array();.fo
93760 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 0a 20 69 66 20 28 reach.($links.as.$link).{...if.(
93780 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 'self.version'.===.$link->getPre
937a0 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 5b 5d 20 3d ttyConstraint()).{.$newLinks[].=
937c0 20 6e 65 77 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c .new.Link($link->getSource(),.$l
937e0 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 ink->getTarget(),.new.Constraint
93800 28 27 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 6c 69 6e 6b 54 79 70 65 ('=',.$this->version),.$linkType
93820 2c 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 24 6c 69 ,.$this->prettyVersion);.}.}.$li
93840 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 6e 6b 73 2c 20 24 6e 65 77 4c 69 nks.=.array_merge($links,.$newLi
93860 6e 6b 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 nks);.}.else.{.foreach.($links.a
93880 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 27 73 65 6c 66 2e 76 s.$index.=>.$link).{.if.('self.v
938a0 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 ersion'.===.$link->getPrettyCons
938c0 74 72 61 69 6e 74 28 29 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 69 6e 64 65 78 5d 20 3d 20 6e 65 77 traint()).{.$links[$index].=.new
938e0 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d .Link($link->getSource(),.$link-
93900 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 >getTarget(),.new.Constraint('='
93920 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 6c 69 6e 6b 54 79 70 65 2c 20 24 74 ,.$this->version),.$linkType,.$t
93940 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 his->prettyVersion);.}.}.}..retu
93960 72 6e 20 24 6c 69 6e 6b 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rn.$links;.}......public.functio
93980 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 n.getType().{.return.$this->alia
939a0 73 4f 66 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 sOf->getType();.}..public.functi
939c0 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 on.getTargetDir().{.return.$this
939e0 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 7d 0a 0a 70 75 ->aliasOf->getTargetDir();.}..pu
93a00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 0a 7b 0a 72 65 74 75 72 blic.function.getExtra().{.retur
93a20 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 7d 0a n.$this->aliasOf->getExtra();.}.
93a40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .public.function.setInstallation
93a60 53 6f 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e Source($type).{.$this->aliasOf->
93a80 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 3b 0a 7d 0a setInstallationSource($type);.}.
93aa0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .public.function.getInstallation
93ac0 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 Source().{.return.$this->aliasOf
93ae0 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 7d 0a 0a 70 75 ->getInstallationSource();.}..pu
93b00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 0a 7b 0a blic.function.getSourceType().{.
93b20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 return.$this->aliasOf->getSource
93b40 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f Type();.}..public.function.getSo
93b60 75 72 63 65 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f urceUrl().{.return.$this->aliasO
93b80 66 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e f->getSourceUrl();.}..public.fun
93ba0 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.getSourceUrls().{.return.$
93bc0 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a this->aliasOf->getSourceUrls();.
93be0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 66 65 }..public.function.getSourceRefe
93c00 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d rence().{.return.$this->aliasOf-
93c20 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 >getSourceReference();.}..public
93c40 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 .function.setSourceReference($re
93c60 66 65 72 65 6e 63 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 ference).{.return.$this->aliasOf
93c80 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 ->setSourceReference($reference)
93ca0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 4d 69 ;.}..public.function.setSourceMi
93cc0 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e rrors($mirrors).{.return.$this->
93ce0 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f aliasOf->setSourceMirrors($mirro
93d00 72 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 rs);.}..public.function.getSourc
93d20 65 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 eMirrors().{.return.$this->alias
93d40 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 Of->getSourceMirrors();.}..publi
93d60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 c.function.getDistType().{.retur
93d80 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b n.$this->aliasOf->getDistType();
93da0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 28 29 .}..public.function.getDistUrl()
93dc0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 .{.return.$this->aliasOf->getDis
93de0 74 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 tUrl();.}..public.function.getDi
93e00 73 74 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 stUrls().{.return.$this->aliasOf
93e20 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->getDistUrls();.}..public.funct
93e40 69 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.getDistReference().{.return.
93e60 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 $this->aliasOf->getDistReference
93e80 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 52 65 ();.}..public.function.setDistRe
93ea0 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ference($reference).{.return.$th
93ec0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 is->aliasOf->setDistReference($r
93ee0 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 eference);.}..public.function.ge
93f00 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 tDistSha1Checksum().{.return.$th
93f20 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d is->aliasOf->getDistSha1Checksum
93f40 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 70 ();.}..public.function.setTransp
93f60 6f 72 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 72 65 74 ortOptions(array.$options).{.ret
93f80 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 urn.$this->aliasOf->setTransport
93fa0 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e Options($options);.}..public.fun
93fc0 63 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 ction.getTransportOptions().{.re
93fe0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 turn.$this->aliasOf->getTranspor
94000 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 tOptions();.}..public.function.s
94020 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 72 65 74 75 72 6e etDistMirrors($mirrors).{.return
94040 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 .$this->aliasOf->setDistMirrors(
94060 24 6d 69 72 72 6f 72 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 $mirrors);.}..public.function.ge
94080 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 tDistMirrors().{.return.$this->a
940a0 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 liasOf->getDistMirrors();.}..pub
940c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 73 28 29 0a 7b 0a 72 65 74 75 lic.function.getScripts().{.retu
940e0 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b rn.$this->aliasOf->getScripts();
94100 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 .}..public.function.getLicense()
94120 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4c 69 63 .{.return.$this->aliasOf->getLic
94140 65 6e 73 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 ense();.}..public.function.getAu
94160 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 toload().{.return.$this->aliasOf
94180 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->getAutoload();.}..public.funct
941a0 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ion.getDevAutoload().{.return.$t
941c0 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 3b 0a his->aliasOf->getDevAutoload();.
941e0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 }..public.function.getIncludePat
94200 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 hs().{.return.$this->aliasOf->ge
94220 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tIncludePaths();.}..public.funct
94240 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getRepositories().{.return.$
94260 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 this->aliasOf->getRepositories()
94280 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 ;.}..public.function.getReleaseD
942a0 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 ate().{.return.$this->aliasOf->g
942c0 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 etReleaseDate();.}..public.funct
942e0 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getBinaries().{.return.$this
94300 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 75 62 ->aliasOf->getBinaries();.}..pub
94320 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f 72 64 73 28 29 0a 7b 0a 72 65 74 lic.function.getKeywords().{.ret
94340 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 urn.$this->aliasOf->getKeywords(
94360 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 );.}..public.function.getDescrip
94380 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e tion().{.return.$this->aliasOf->
943a0 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 getDescription();.}..public.func
943c0 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tion.getHomepage().{.return.$thi
943e0 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 48 6f 6d 65 70 61 67 65 28 29 3b 0a 7d 0a 0a 70 75 s->aliasOf->getHomepage();.}..pu
94400 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 0a 7b 0a 72 65 blic.function.getSuggests().{.re
94420 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 75 67 67 65 73 74 73 turn.$this->aliasOf->getSuggests
94440 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 6f 72 ();.}..public.function.getAuthor
94460 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 s().{.return.$this->aliasOf->get
94480 41 75 74 68 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 Authors();.}..public.function.ge
944a0 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 tSupport().{.return.$this->alias
944c0 4f 66 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Of->getSupport();.}..public.func
944e0 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 0a 7b 0a 72 65 74 75 tion.getNotificationUrl().{.retu
94500 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4e 6f 74 69 66 69 63 61 74 69 rn.$this->aliasOf->getNotificati
94520 6f 6e 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 onUrl();.}..public.function.getA
94540 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d rchiveExcludes().{.return.$this-
94560 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a >aliasOf->getArchiveExcludes();.
94580 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 }..public.function.isAbandoned()
945a0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 69 73 41 62 61 6e .{.return.$this->aliasOf->isAban
945c0 64 6f 6e 65 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 doned();.}..public.function.getR
945e0 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 eplacementPackage().{.return.$th
94600 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 is->aliasOf->getReplacementPacka
94620 67 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 ge();.}..public.function.__toStr
94640 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 5f 5f 74 6f 53 74 72 69 6e ing().{.return.parent::__toStrin
94660 67 28 29 2e 27 20 28 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 g().'.(alias.of.'.$this->aliasOf
94680 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ->getVersion().')';.}.}.<?php...
946a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b .........namespace.Composer\Pack
946c0 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f age\Archiver;..use.FilterIterato
946e0 72 3b 0a 75 73 65 20 50 68 61 72 44 61 74 61 3b 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 61 62 r;.use.PharData;..class.Archivab
94700 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 leFilesFilter.extends.FilterIter
94720 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ator.{.private.$dirs.=.array();.
94740 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 ....public.function.accept().{.$
94760 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 file.=.$this->getInnerIterator()
94780 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 ->current();.if.($file->isDir())
947a0 20 7b 0a 24 74 68 69 73 2d 3e 64 69 72 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 6c .{.$this->dirs[].=.(string).$fil
947c0 65 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 e;..return.false;.}..return.true
947e0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 6d 70 74 79 44 69 72 ;.}..public.function.addEmptyDir
94800 28 50 68 61 72 44 61 74 61 20 24 70 68 61 72 2c 20 24 73 6f 75 72 63 65 73 29 0a 7b 0a 66 6f 72 (PharData.$phar,.$sources).{.for
94820 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 24 66 69 6c 65 70 61 74 68 29 20 each.($this->dirs.as.$filepath).
94840 7b 0a 24 6c 6f 63 61 6c 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 6f 75 72 {.$localname.=.str_replace($sour
94860 63 65 73 20 2e 20 22 2f 22 2c 20 27 27 2c 20 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 70 68 61 72 ces..."/",.'',.$filepath);.$phar
94880 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 7d ->addEmptyDir($localname);.}.}.}
948a0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
948c0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 oser\Package\Archiver;..use.Comp
948e0 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 46 69 6c 65 73 79 oser\Util\Filesystem;.use.Filesy
94900 73 74 65 6d 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e stemIterator;.use.Symfony\Compon
94920 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ent\Finder\Finder;.use.Symfony\C
94940 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a omponent\Finder\SplFileInfo;....
94960 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 ......class.ArchivableFilesFinde
94980 72 20 65 78 74 65 6e 64 73 20 5c 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 r.extends.\FilterIterator.{....p
949a0 72 6f 74 65 63 74 65 64 20 24 66 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rotected.$finder;.........public
949c0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 73 2c 20 .function.__construct($sources,.
949e0 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 array.$excludes,.$ignoreFilters.
94a00 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 =.false).{.$fs.=.new.Filesystem(
94a20 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 );..$sources.=.$fs->normalizePat
94a40 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 h($sources);..if.($ignoreFilters
94a60 29 20 7b 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b ).{.$filters.=.array();.}.else.{
94a80 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 0a 6e 65 77 20 48 67 45 78 63 6c 75 64 65 .$filters.=.array(.new.HgExclude
94aa0 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 20 47 69 74 45 78 63 6c 75 64 65 Filter($sources),.new.GitExclude
94ac0 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 20 43 6f 6d 70 6f 73 65 72 45 78 Filter($sources),.new.ComposerEx
94ae0 63 6c 75 64 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 29 cludeFilter($sources,.$excludes)
94b00 2c 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 46 69 6e 64 ,.);.}..$this->finder.=.new.Find
94b20 65 72 28 29 3b 0a 0a 24 66 69 6c 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 5c 53 70 6c 46 er();..$filter.=.function.(\SplF
94b40 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 20 75 73 65 20 28 24 73 6f 75 72 63 65 73 2c 20 24 66 ileInfo.$file).use.($sources,.$f
94b60 69 6c 74 65 72 73 2c 20 24 66 73 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 4c 69 6e 6b ilters,.$fs).{.if.($file->isLink
94b80 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 66 69 6c 65 2d 3e 67 65 74 4c 69 6e 6b 54 61 72 67 65 ().&&.strpos($file->getLinkTarge
94ba0 74 28 29 2c 20 24 73 6f 75 72 63 65 73 29 20 21 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 66 t(),.$sources).!==.0).{.return.f
94bc0 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 70 72 65 67 5f 72 65 alse;.}..$relativePath.=.preg_re
94be0 70 6c 61 63 65 28 0a 27 23 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 6f 75 72 63 65 73 2c place(.'#^'.preg_quote($sources,
94c00 20 27 23 27 29 2e 27 23 27 2c 0a 27 27 2c 0a 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 .'#').'#',.'',.$fs->normalizePat
94c20 68 28 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 0a 29 3b 0a 0a 24 65 78 63 h($file->getRealPath()).);..$exc
94c40 6c 75 64 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 73 20 lude.=.false;.foreach.($filters.
94c60 61 73 20 24 66 69 6c 74 65 72 29 20 7b 0a 24 65 78 63 6c 75 64 65 20 3d 20 24 66 69 6c 74 65 72 as.$filter).{.$exclude.=.$filter
94c80 2d 3e 66 69 6c 74 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 65 78 63 6c 75 64 65 ->filter($relativePath,.$exclude
94ca0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 65 78 63 6c 75 64 65 3b 0a 7d 3b 0a 0a 69 66 20 28 );.}..return.!$exclude;.};..if.(
94cc0 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 66 69 6c 74 65 72 2c 20 27 62 69 6e 64 54 6f 27 29 method_exists($filter,.'bindTo')
94ce0 29 20 7b 0a 24 66 69 6c 74 65 72 20 3d 20 24 66 69 6c 74 65 72 2d 3e 62 69 6e 64 54 6f 28 6e 75 ).{.$filter.=.$filter->bindTo(nu
94d00 6c 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 0a 2d 3e 69 6e 28 24 73 6f 75 72 ll);.}..$this->finder.->in($sour
94d20 63 65 73 29 0a 2d 3e 66 69 6c 74 65 72 28 24 66 69 6c 74 65 72 29 0a 2d 3e 69 67 6e 6f 72 65 56 ces).->filter($filter).->ignoreV
94d40 43 53 28 74 72 75 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 29 CS(true).->ignoreDotFiles(false)
94d60 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 66 69 ;..parent::__construct($this->fi
94d80 6e 64 65 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 nder->getIterator());.}..public.
94da0 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 0a 24 63 75 72 72 65 6e 74 20 3d 20 function.accept().{..$current.=.
94dc0 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 63 75 72 72 65 $this->getInnerIterator()->curre
94de0 6e 74 28 29 3b 0a 0a 69 66 20 28 21 24 63 75 72 72 65 6e 74 2d 3e 69 73 44 69 72 28 29 29 20 7b nt();..if.(!$current->isDir()).{
94e00 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 .return.true;.}..$iterator.=.new
94e20 20 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 63 75 72 72 65 6e 74 2c 20 46 69 .FilesystemIterator($current,.Fi
94e40 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 0a 72 lesystemIterator::SKIP_DOTS);..r
94e60 65 74 75 72 6e 20 21 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 3b 0a 7d 0a 7d 0a 3c eturn.!$iterator->valid();.}.}.<
94e80 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
94ea0 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 er\Package\Archiver;..use.Compos
94ec0 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 er\Downloader\DownloadManager;.u
94ee0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
94f00 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 face;.use.Composer\Package\RootP
94f20 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ackageInterface;.use.Composer\Ut
94f40 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e il\Filesystem;.use.Composer\Json
94f60 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 65 4d 61 6e \JsonFile;......class.ArchiveMan
94f80 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 ager.{.protected.$downloadManage
94fa0 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 65 72 73 20 3d 20 61 72 72 61 79 r;..protected.$archivers.=.array
94fc0 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 ();.....protected.$overwriteFile
94fe0 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f s.=.true;.....public.function.__
95000 63 6f 6e 73 74 72 75 63 74 28 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6f 77 6e 6c construct(DownloadManager.$downl
95020 6f 61 64 4d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e oadManager).{.$this->downloadMan
95040 61 67 65 72 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 ager.=.$downloadManager;.}.....p
95060 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 63 68 69 76 65 72 28 41 72 63 68 69 ublic.function.addArchiver(Archi
95080 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 72 63 68 69 76 65 72 29 0a 7b 0a 24 74 68 69 73 2d verInterface.$archiver).{.$this-
950a0 3e 61 72 63 68 69 76 65 72 73 5b 5d 20 3d 20 24 61 72 63 68 69 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a >archivers[].=.$archiver;.}.....
950c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 76 65 72 77 72 69 74 65 ....public.function.setOverwrite
950e0 46 69 6c 65 73 28 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e Files($overwriteFiles).{.$this->
95100 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 20 3d 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 overwriteFiles.=.$overwriteFiles
95120 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ;..return.$this;.}.........publi
95140 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 50 61 c.function.getPackageFilename(Pa
95160 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 6e 61 6d 65 ckageInterface.$package).{.$name
95180 50 61 72 74 73 20 3d 20 61 72 72 61 79 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5b 5e 61 Parts.=.array(preg_replace('#[^a
951a0 2d 7a 30 2d 39 2d 5f 5d 23 69 27 2c 20 27 2d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e -z0-9-_]#i',.'-',.$package->getN
951c0 61 6d 65 28 29 29 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 ame()));..if.(preg_match('{^[a-f
951e0 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 0-9]{40}$}',.$package->getDistRe
95200 66 65 72 65 6e 63 65 28 29 29 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6e 61 6d 65 50 61 ference())).{.array_push($namePa
95220 72 74 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 rts,.$package->getDistReference(
95240 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 29 3b 0a 7d 20 65 ),.$package->getDistType());.}.e
95260 6c 73 65 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 24 70 61 lse.{.array_push($nameParts,.$pa
95280 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b ckage->getPrettyVersion(),.$pack
952a0 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 7d 0a 0a 69 66 20 age->getDistReference());.}..if.
952c0 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 ($package->getSourceReference())
952e0 20 7b 0a 24 6e 61 6d 65 50 61 72 74 73 5b 5d 20 3d 20 73 75 62 73 74 72 28 73 68 61 31 28 24 70 .{.$nameParts[].=.substr(sha1($p
95300 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 2c 20 30 ackage->getSourceReference()),.0
95320 2c 20 36 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2d 27 2c 20 61 72 ,.6);.}..$name.=.implode('-',.ar
95340 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 66 75 6e 63 74 69 6f 6e 20 ray_filter($nameParts,.function.
95360 28 24 70 29 20 7b 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 70 29 3b 0a 7d 29 29 3b 0a 0a ($p).{.return.!empty($p);.}));..
95380 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 2d 27 2c 20 24 6e 61 return.str_replace('/',.'-',.$na
953a0 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 me);.}...............public.func
953c0 74 69 6f 6e 20 61 72 63 68 69 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 tion.archive(PackageInterface.$p
953e0 61 63 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 66 69 ackage,.$format,.$targetDir,.$fi
95400 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 leName.=.null,.$ignoreFilters.=.
95420 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 74 false).{.if.(empty($format)).{.t
95440 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
95460 6f 6e 28 27 46 6f 72 6d 61 74 20 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 65 64 27 29 3b 0a on('Format.must.be.specified');.
95480 7d 0a 0a 0a 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 }....$usableArchiver.=.null;.for
954a0 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 72 73 20 61 73 20 24 61 72 63 68 69 each.($this->archivers.as.$archi
954c0 76 65 72 29 20 7b 0a 69 66 20 28 24 61 72 63 68 69 76 65 72 2d 3e 73 75 70 70 6f 72 74 73 28 24 ver).{.if.($archiver->supports($
954e0 66 6f 72 6d 61 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 format,.$package->getSourceType(
95500 29 29 29 20 7b 0a 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 20 3d 20 24 61 72 63 68 69 76 65 ))).{.$usableArchiver.=.$archive
95520 72 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 r;.break;.}.}....if.(null.===.$u
95540 73 61 62 6c 65 41 72 63 68 69 76 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 sableArchiver).{.throw.new.\Runt
95560 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 20 61 72 63 68 69 76 65 imeException(sprintf('No.archive
95580 72 20 66 6f 75 6e 64 20 74 6f 20 73 75 70 70 6f 72 74 20 25 73 20 66 6f 72 6d 61 74 27 2c 20 24 r.found.to.support.%s.format',.$
955a0 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 format));.}..$filesystem.=.new.F
955c0 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 69 6c 65 4e ilesystem();.if.(null.===.$fileN
955e0 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ame).{.$packageName.=.$this->get
95600 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 65 6c 73 PackageFilename($package);.}.els
95620 65 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a e.{.$packageName.=.$fileName;.}.
95640 0a 0a 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 ...$filesystem->ensureDirectoryE
95660 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 72 65 61 xists($targetDir);.$target.=.rea
95680 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2e 27 2f 27 2e 24 70 61 63 6b 61 67 65 4e 61 lpath($targetDir).'/'.$packageNa
956a0 6d 65 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 me.'.'.$format;.$filesystem->ens
956c0 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 61 72 67 ureDirectoryExists(dirname($targ
956e0 65 74 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 46 69 6c 65 et));..if.(!$this->overwriteFile
95700 73 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 74 29 29 20 7b 0a 72 65 74 s.&&.file_exists($target)).{.ret
95720 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 urn.$target;.}..if.($package.ins
95740 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a tanceof.RootPackageInterface).{.
95760 24 73 6f 75 72 63 65 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e 27 29 3b 0a 7d 20 65 $sourcePath.=.realpath('.');.}.e
95780 6c 73 65 20 7b 0a 0a 20 24 73 6f 75 72 63 65 50 61 74 68 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 lse.{...$sourcePath.=.sys_get_te
957a0 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 5f 61 72 63 68 69 76 65 27 2e 75 6e 69 mp_dir().'/composer_archive'.uni
957c0 71 69 64 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 qid();.$filesystem->ensureDirect
957e0 6f 72 79 45 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 74 72 79 20 7b 0a 0a oryExists($sourcePath);..try.{..
95800 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 .$this->downloadManager->downloa
95820 64 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 7d 20 63 61 74 63 d($package,.$sourcePath);.}.catc
95840 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d h.(\Exception.$e).{.$filesystem-
95860 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 74 >removeDirectory($sourcePath);.t
95880 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 hrow.$e;.}....if.(file_exists($c
958a0 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 61 74 68 20 3d 20 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f omposerJsonPath.=.$sourcePath.'/
958c0 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 20 7b 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e composer.json')).{.$jsonFile.=.n
958e0 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 61 74 68 29 3b 0a ew.JsonFile($composerJsonPath);.
95900 24 6a 73 6f 6e 44 61 74 61 20 3d 20 24 6a 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 69 $jsonData.=.$jsonFile->read();.i
95920 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 f.(!empty($jsonData['archive']['
95940 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 72 63 68 69 exclude'])).{.$package->setArchi
95960 76 65 45 78 63 6c 75 64 65 73 28 24 6a 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b veExcludes($jsonData['archive'][
95980 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 74 65 6d 70 54 61 72 67 65 'exclude']);.}.}.}....$tempTarge
959a0 74 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 65 t.=.sys_get_temp_dir().'/compose
959c0 72 5f 61 72 63 68 69 76 65 27 2e 75 6e 69 71 69 64 28 29 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b r_archive'.uniqid().'.'.$format;
959e0 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 .$filesystem->ensureDirectoryExi
95a00 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 65 6d 70 54 61 72 67 65 74 29 29 3b 0a 0a 24 61 72 63 sts(dirname($tempTarget));..$arc
95a20 68 69 76 65 50 61 74 68 20 3d 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 2d 3e 61 72 63 68 hivePath.=.$usableArchiver->arch
95a40 69 76 65 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 24 74 65 6d 70 54 61 72 67 65 74 2c 20 24 66 ive($sourcePath,.$tempTarget,.$f
95a60 6f 72 6d 61 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 ormat,.$package->getArchiveExclu
95a80 64 65 73 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 69 6c 65 73 79 73 des(),.$ignoreFilters);.$filesys
95aa0 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 24 61 72 63 68 69 76 65 50 61 74 68 2c 20 24 74 61 72 67 65 tem->rename($archivePath,.$targe
95ac0 74 29 3b 0a 0a 0a 20 69 66 20 28 21 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 t);....if.(!$package.instanceof.
95ae0 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 66 69 6c 65 73 79 73 RootPackageInterface).{.$filesys
95b00 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 73 6f 75 72 63 65 50 61 74 68 tem->removeDirectory($sourcePath
95b20 29 3b 0a 7d 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 28 24 74 65 6d 70 54 61 );.}.$filesystem->remove($tempTa
95b40 72 67 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 rget);..return.$target;.}.}.<?ph
95b60 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
95b80 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 Package\Archiver;.......interfac
95ba0 65 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e.ArchiverInterface.{...........
95bc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 73 public.function.archive($sources
95be0 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 ,.$target,.$format,.array.$exclu
95c00 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 des.=.array(),.$ignoreFilters.=.
95c20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e false);..........public.function
95c40 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 3b .supports($format,.$sourceType);
95c60 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
95c80 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 53 79 mposer\Package\Archiver;..use.Sy
95ca0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 61 62 73 74 mfony\Component\Finder;.....abst
95cc0 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a ract.class.BaseExcludeFilter.{..
95ce0 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 6f ..protected.$sourcePath;.....pro
95d00 74 65 63 74 65 64 20 24 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 3b 0a 0a 0a 0a 0a 70 75 62 tected.$excludePatterns;.....pub
95d20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 lic.function.__construct($source
95d40 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 50 61 74 68 20 3d 20 24 73 6f 75 Path).{.$this->sourcePath.=.$sou
95d60 72 63 65 50 61 74 68 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 rcePath;.$this->excludePatterns.
95d80 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 =.array();.}............public.f
95da0 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 65 unction.filter($relativePath,.$e
95dc0 78 63 6c 75 64 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 xclude).{.foreach.($this->exclud
95de0 65 50 61 74 74 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 44 61 74 61 29 20 7b 0a 6c 69 73 ePatterns.as.$patternData).{.lis
95e00 74 28 24 70 61 74 74 65 72 6e 2c 20 24 6e 65 67 61 74 65 2c 20 24 73 74 72 69 70 4c 65 61 64 69 t($pattern,.$negate,.$stripLeadi
95e20 6e 67 53 6c 61 73 68 29 20 3d 20 24 70 61 74 74 65 72 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 73 ngSlash).=.$patternData;..if.($s
95e40 74 72 69 70 4c 65 61 64 69 6e 67 53 6c 61 73 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 tripLeadingSlash).{.$path.=.subs
95e60 74 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 tr($relativePath,.1);.}.else.{.$
95e80 70 61 74 68 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 path.=.$relativePath;.}..if.(pre
95ea0 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 65 78 63 g_match($pattern,.$path)).{.$exc
95ec0 6c 75 64 65 20 3d 20 21 24 6e 65 67 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 lude.=.!$negate;.}.}..return.$ex
95ee0 63 6c 75 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 clude;.}..........protected.func
95f00 74 69 6f 6e 20 70 61 72 73 65 4c 69 6e 65 73 28 61 72 72 61 79 20 24 6c 69 6e 65 73 2c 20 24 6c tion.parseLines(array.$lines,.$l
95f20 69 6e 65 50 61 72 73 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 ineParser).{.return.array_filter
95f40 28 0a 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 75 73 (.array_map(.function.($line).us
95f60 65 20 28 24 6c 69 6e 65 50 61 72 73 65 72 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 e.($lineParser).{.$line.=.trim($
95f80 6c 69 6e 65 29 3b 0a 0a 69 66 20 28 21 24 6c 69 6e 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 line);..if.(!$line.||.0.===.strp
95fa0 6f 73 28 24 6c 69 6e 65 2c 20 27 23 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d os($line,.'#')).{.return.null;.}
95fc0 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 6c 69 6e 65 50 61 72 ..return.call_user_func($linePar
95fe0 73 65 72 2c 20 24 6c 69 6e 65 29 3b 0a 7d 2c 0a 24 6c 69 6e 65 73 0a 29 2c 0a 66 75 6e 63 74 69 ser,.$line);.},.$lines.),.functi
96000 6f 6e 20 28 24 70 61 74 74 65 72 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 74 65 72 6e 20 on.($pattern).{.return.$pattern.
96020 21 3d 3d 20 6e 75 6c 6c 3b 0a 7d 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 !==.null;.}.);.}.........protect
96040 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 73 28 24 72 75 ed.function.generatePatterns($ru
96060 6c 65 73 29 0a 7b 0a 24 70 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 les).{.$patterns.=.array();.fore
96080 61 63 68 20 28 24 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 70 61 74 74 65 72 6e ach.($rules.as.$rule).{.$pattern
960a0 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 72 75 s[].=.$this->generatePattern($ru
960c0 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 74 65 72 6e 73 3b 0a 7d 0a 0a 0a 0a 0a le);.}..return.$patterns;.}.....
960e0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 ....protected.function.generateP
96100 61 74 74 65 72 6e 28 24 72 75 6c 65 29 0a 7b 0a 24 6e 65 67 61 74 65 20 3d 20 66 61 6c 73 65 3b attern($rule).{.$negate.=.false;
96120 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 7b 27 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 .$pattern.=.'{';..if.(strlen($ru
96140 6c 65 29 20 26 26 20 24 72 75 6c 65 5b 30 5d 20 3d 3d 3d 20 27 21 27 29 20 7b 0a 24 6e 65 67 61 le).&&.$rule[0].===.'!').{.$nega
96160 74 65 20 3d 20 74 72 75 65 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c te.=.true;.$rule.=.substr($rule,
96180 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 26 26 20 24 72 75 .1);.}..if.(strlen($rule).&&.$ru
961a0 6c 65 5b 30 5d 20 3d 3d 3d 20 27 2f 27 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 5e 2f le[0].===.'/').{.$pattern..=.'^/
961c0 27 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 31 29 3b 0a 7d 20 65 ';.$rule.=.substr($rule,.1);.}.e
961e0 6c 73 65 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 2d 20 31 20 3d 3d 3d 20 73 74 72 lseif.(strlen($rule).-.1.===.str
96200 70 6f 73 28 24 72 75 6c 65 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 pos($rule,.'/')).{.$pattern..=.'
96220 2f 27 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 30 2c 20 2d 31 29 /';.$rule.=.substr($rule,.0,.-1)
96240 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 72 75 ;.}.elseif.(false.===.strpos($ru
96260 6c 65 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 2f 27 3b 0a 7d 0a 0a le,.'/')).{.$pattern..=.'/';.}..
96280 0a 20 24 70 61 74 74 65 72 6e 20 2e 3d 20 73 75 62 73 74 72 28 46 69 6e 64 65 72 5c 47 6c 6f 62 ..$pattern..=.substr(Finder\Glob
962a0 3a 3a 74 6f 52 65 67 65 78 28 24 72 75 6c 65 29 2c 20 32 2c 20 2d 32 29 20 2e 20 27 28 3f 3d 24 ::toRegex($rule),.2,.-2)...'(?=$
962c0 7c 2f 29 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 20 2e 20 27 |/)';..return.array($pattern...'
962e0 7d 27 2c 20 24 6e 65 67 61 74 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a }',.$negate,.false);.}.}.<?php..
96300 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ..........namespace.Composer\Pac
96320 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f kage\Archiver;.......class.Compo
96340 73 65 72 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 serExcludeFilter.extends.BaseExc
96360 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ludeFilter.{.....public.function
96380 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 61 72 72 61 79 20 .__construct($sourcePath,.array.
963a0 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 $excludeRules).{.parent::__const
963c0 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 ruct($sourcePath);.$this->exclud
963e0 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 ePatterns.=.$this->generatePatte
96400 72 6e 73 28 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a rns($excludeRules);.}.}.<?php...
96420 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b .........namespace.Composer\Pack
96440 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 45 age\Archiver;.........class.GitE
96460 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 6c 75 64 65 xcludeFilter.extends.BaseExclude
96480 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f Filter.{......public.function.__
964a0 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e 74 3a construct($sourcePath).{.parent:
964c0 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 69 66 20 28 :__construct($sourcePath);..if.(
964e0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 69 67 file_exists($sourcePath.'/.gitig
96500 6e 6f 72 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 nore')).{.$this->excludePatterns
96520 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 .=.$this->parseLines(.file($sour
96540 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 29 2c 0a 61 72 72 61 79 28 24 74 68 cePath.'/.gitignore'),.array($th
96560 69 73 2c 20 27 70 61 72 73 65 47 69 74 49 67 6e 6f 72 65 4c 69 6e 65 27 29 0a 29 3b 0a 7d 0a 69 is,.'parseGitIgnoreLine').);.}.i
96580 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 f.(file_exists($sourcePath.'/.gi
965a0 74 61 74 74 72 69 62 75 74 65 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 tattributes')).{.$this->excludeP
965c0 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 65 78 atterns.=.array_merge(.$this->ex
965e0 63 6c 75 64 65 50 61 74 74 65 72 6e 73 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 73 cludePatterns,.$this->parseLines
96600 28 0a 66 69 6c 65 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 61 74 74 72 69 62 75 (.file($sourcePath.'/.gitattribu
96620 74 65 73 27 29 2c 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 47 69 74 41 74 74 tes'),.array($this,.'parseGitAtt
96640 72 69 62 75 74 65 73 4c 69 6e 65 27 29 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ributesLine').).);.}.}.........p
96660 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 47 69 74 49 67 6e 6f 72 65 4c 69 6e ublic.function.parseGitIgnoreLin
96680 65 28 24 6c 69 6e 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 e($line).{.return.$this->generat
966a0 65 50 61 74 74 65 72 6e 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ePattern($line);.}.........publi
966c0 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 47 69 74 41 74 74 72 69 62 75 74 65 73 4c 69 6e c.function.parseGitAttributesLin
966e0 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 e($line).{.$parts.=.preg_split('
96700 23 5c 73 2b 23 27 2c 20 24 6c 69 6e 65 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 72 74 #\s+#',.$line);..if.(count($part
96720 73 29 20 3d 3d 20 32 20 26 26 20 24 70 61 72 74 73 5b 31 5d 20 3d 3d 3d 20 27 65 78 70 6f 72 74 s).==.2.&&.$parts[1].===.'export
96740 2d 69 67 6e 6f 72 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 -ignore').{.return.$this->genera
96760 74 65 50 61 74 74 65 72 6e 28 24 70 61 72 74 73 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 tePattern($parts[0]);.}..return.
96780 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 null;.}.}.<?php............names
967a0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a pace.Composer\Package\Archiver;.
967c0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a .use.Symfony\Component\Finder;..
967e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e .....class.HgExcludeFilter.exten
96800 64 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 63 6f 6e 73 74 20 48 47 5f ds.BaseExcludeFilter.{.const.HG_
96820 49 47 4e 4f 52 45 5f 52 45 47 45 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 48 47 5f 49 47 4e 4f 52 IGNORE_REGEX.=.1;.const.HG_IGNOR
96840 45 5f 47 4c 4f 42 20 3d 20 32 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 74 E_GLOB.=.2;......protected.$patt
96860 65 72 6e 4d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ernMode;.......public.function._
96880 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e 74 _construct($sourcePath).{.parent
968a0 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 24 74 68 ::__construct($sourcePath);..$th
968c0 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 is->patternMode.=.self::HG_IGNOR
968e0 45 5f 52 45 47 45 58 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 E_REGEX;..if.(file_exists($sourc
96900 65 50 61 74 68 2e 27 2f 2e 68 67 69 67 6e 6f 72 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 ePath.'/.hgignore')).{.$this->ex
96920 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 cludePatterns.=.$this->parseLine
96940 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 68 67 69 67 6e 6f 72 65 27 s(.file($sourcePath.'/.hgignore'
96960 29 2c 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 48 67 49 67 6e 6f 72 65 4c 69 ),.array($this,.'parseHgIgnoreLi
96980 6e 65 27 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ne').);.}.}.........public.funct
969a0 69 6f 6e 20 70 61 72 73 65 48 67 49 67 6e 6f 72 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 69 ion.parseHgIgnoreLine($line).{.i
969c0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 73 79 6e 74 61 78 5c 73 2a 3a 5c 73 2a 28 67 f.(preg_match('#^syntax\s*:\s*(g
969e0 6c 6f 62 7c 72 65 67 65 78 70 29 24 23 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 65 73 29 lob|regexp)$#',.$line,.$matches)
96a00 29 20 7b 0a 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 67 6c 6f 62 27 29 20 ).{.if.($matches[1].===.'glob').
96a20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f {.$this->patternMode.=.self::HG_
96a40 49 47 4e 4f 52 45 5f 47 4c 4f 42 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 IGNORE_GLOB;.}.else.{.$this->pat
96a60 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 52 45 47 45 58 ternMode.=.self::HG_IGNORE_REGEX
96a80 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e ;.}..return.null;.}..if.($this->
96aa0 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 47 patternMode.==.self::HG_IGNORE_G
96ac0 4c 4f 42 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 46 72 6f 6d LOB).{.return.$this->patternFrom
96ae0 47 6c 6f 62 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 Glob($line);.}..return.$this->pa
96b00 74 74 65 72 6e 46 72 6f 6d 52 65 67 65 78 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a tternFromRegex($line);.}........
96b20 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 74 65 72 6e 46 72 6f 6d 47 .protected.function.patternFromG
96b40 6c 6f 62 28 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 23 27 2e 73 75 62 73 lob($line).{.$pattern.=.'#'.subs
96b60 74 72 28 46 69 6e 64 65 72 5c 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 6c 69 6e 65 29 2c 20 tr(Finder\Glob::toRegex($line),.
96b80 32 2c 20 2d 31 29 2e 27 23 27 3b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 2,.-1).'#';.$pattern.=.str_repla
96ba0 63 65 28 27 5b 5e 2f 5d 2a 27 2c 20 27 2e 2a 27 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 0a 72 65 ce('[^/]*',.'.*',.$pattern);..re
96bc0 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 turn.array($pattern,.false,.true
96be0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 );.}.........public.function.pat
96c00 74 65 72 6e 46 72 6f 6d 52 65 67 65 78 28 24 6c 69 6e 65 29 0a 7b 0a 0a 20 24 70 61 74 74 65 72 ternFromRegex($line).{...$patter
96c20 6e 20 3d 20 27 23 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 28 3f 3a 5c 5c 5c 5c 5c n.=.'#'.preg_replace('/((?:\\\\\
96c40 5c 5c 5c 29 2a 29 28 5c 5c 5c 5c 3f 29 23 2f 27 2c 20 27 5c 31 5c 32 5c 32 5c 5c 23 27 2c 20 24 \\\)*)(\\\\?)#/',.'\1\2\2\\#',.$
96c60 6c 69 6e 65 29 2e 27 23 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 line).'#';..return.array($patter
96c80 6e 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a n,.false,.true);.}.}.<?php......
96ca0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
96cc0 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 61 72 41 72 63 68 69 \Archiver;.......class.PharArchi
96ce0 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 ver.implements.ArchiverInterface
96d00 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 20 3d 20 61 .{.protected.static.$formats.=.a
96d20 72 72 61 79 28 0a 27 7a 69 70 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 5a 49 50 2c 0a 27 74 61 72 27 rray(.'zip'.=>.\Phar::ZIP,.'tar'
96d40 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 61 .=>.\Phar::TAR,.'tar.gz'.=>.\Pha
96d60 72 3a 3a 54 41 52 2c 0a 27 74 61 72 2e 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c r::TAR,.'tar.bz2'.=>.\Phar::TAR,
96d80 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 63 6f 6d 70 72 65 73 73 46 .);..protected.static.$compressF
96da0 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 61 ormats.=.array(.'tar.gz'.=>.\Pha
96dc0 72 3a 3a 47 5a 2c 0a 27 74 61 72 2e 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 42 5a 32 2c 0a r::GZ,.'tar.bz2'.=>.\Phar::BZ2,.
96de0 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 );.....public.function.archive($
96e00 73 6f 75 72 63 65 73 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 sources,.$target,.$format,.array
96e20 20 24 65 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c .$excludes.=.array(),.$ignoreFil
96e40 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 73 6f 75 72 63 65 73 20 3d 20 72 65 61 6c 70 ters.=.false).{.$sources.=.realp
96e60 61 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 ath($sources);....if.(file_exist
96e80 73 28 24 74 61 72 67 65 74 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 61 72 67 65 74 29 3b 0a 7d s($target)).{.unlink($target);.}
96ea0 0a 0a 74 72 79 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 ..try.{.$filename.=.substr($targ
96ec0 65 74 2c 20 30 2c 20 73 74 72 72 70 6f 73 28 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 29 et,.0,.strrpos($target,.$format)
96ee0 20 2d 20 31 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d .-.1);....if.(isset(static::$com
96f00 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 29 20 7b 0a 0a 20 24 74 61 72 pressFormats[$format])).{...$tar
96f20 67 65 74 20 3d 20 24 66 69 6c 65 6e 61 6d 65 20 2e 20 27 2e 74 61 72 27 3b 0a 7d 0a 0a 24 70 68 get.=.$filename...'.tar';.}..$ph
96f40 61 72 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 74 61 72 67 65 74 2c 20 6e 75 6c 6c ar.=.new.\PharData($target,.null
96f60 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 ,.null,.static::$formats[$format
96f80 5d 29 3b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 ]);.$files.=.new.ArchivableFiles
96fa0 46 69 6e 64 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e Finder($sources,.$excludes,.$ign
96fc0 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 69 6c 65 73 4f 6e 6c 79 20 3d 20 6e 65 77 20 41 72 oreFilters);.$filesOnly.=.new.Ar
96fe0 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 28 24 66 69 6c 65 73 29 3b 0a 24 70 68 chivableFilesFilter($files);.$ph
97000 61 72 2d 3e 62 75 69 6c 64 46 72 6f 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 4f 6e 6c 79 ar->buildFromIterator($filesOnly
97020 2c 20 24 73 6f 75 72 63 65 73 29 3b 0a 24 66 69 6c 65 73 4f 6e 6c 79 2d 3e 61 64 64 45 6d 70 74 ,.$sources);.$filesOnly->addEmpt
97040 79 44 69 72 28 24 70 68 61 72 2c 20 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 yDir($phar,.$sources);..if.(isse
97060 74 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d t(static::$compressFormats[$form
97080 61 74 5d 29 29 20 7b 0a 0a 20 69 66 20 28 21 24 70 68 61 72 2d 3e 63 61 6e 43 6f 6d 70 72 65 73 at])).{...if.(!$phar->canCompres
970a0 73 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d s(static::$compressFormats[$form
970c0 61 74 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 at])).{.throw.new.\RuntimeExcept
970e0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 20 74 6f ion(sprintf('Can.not.compress.to
97100 20 25 73 20 66 6f 72 6d 61 74 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 0a 20 75 6e 6c .%s.format',.$format));.}....unl
97120 69 6e 6b 28 24 74 61 72 67 65 74 29 3b 0a 0a 0a 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 73 ink($target);....$phar->compress
97140 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 (static::$compressFormats[$forma
97160 74 5d 29 3b 0a 0a 0a 20 24 74 61 72 67 65 74 20 3d 20 24 66 69 6c 65 6e 61 6d 65 20 2e 20 27 2e t]);....$target.=.$filename...'.
97180 27 20 2e 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a '...$format;.}..return.$target;.
971a0 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 }.catch.(\UnexpectedValueExcepti
971c0 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 6f on.$e).{.$message.=.sprintf(."Co
971e0 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 72 63 68 69 76 65 20 27 25 73 27 20 66 72 6f 6d uld.not.create.archive.'%s'.from
97200 20 27 25 73 27 3a 20 25 73 22 2c 0a 24 74 61 72 67 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a 24 .'%s':.%s",.$target,.$sources,.$
97220 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 e->getMessage().);..throw.new.\R
97240 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 2d 3e 67 65 untimeException($message,.$e->ge
97260 74 43 6f 64 65 28 29 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e tCode(),.$e);.}.}.....public.fun
97280 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 ction.supports($format,.$sourceT
972a0 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 66 6f 72 ype).{.return.isset(static::$for
972c0 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a mats[$format]);.}.}.<?php.......
972e0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c .....namespace.Composer\Package\
97300 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 75 73 65 20 43 Archiver;..use.ZipArchive;.use.C
97320 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 63 6c 61 omposer\Util\Filesystem;.....cla
97340 73 73 20 5a 69 70 41 72 63 68 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 72 63 68 69 76 ss.ZipArchiver.implements.Archiv
97360 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 erInterface.{.protected.static.$
97380 66 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 27 7a 69 70 27 20 3d 3e 20 31 2c 0a 29 3b 0a formats.=.array(.'zip'.=>.1,.);.
973a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 ....public.function.archive($sou
973c0 72 63 65 73 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 rces,.$target,.$format,.array.$e
973e0 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 xcludes.=.array(),.$ignoreFilter
97400 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 s.=.false).{.$fs.=.new.Filesyste
97420 6d 28 29 3b 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 m();.$sources.=.$fs->normalizePa
97440 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 24 7a 69 70 20 3d 20 6e 65 77 20 5a 69 70 41 72 63 th($sources);..$zip.=.new.ZipArc
97460 68 69 76 65 28 29 3b 0a 24 72 65 73 20 3d 20 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 74 61 72 67 65 hive();.$res.=.$zip->open($targe
97480 74 2c 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 43 52 45 41 54 45 29 3b 0a 69 66 20 28 24 72 65 73 t,.ZipArchive::CREATE);.if.($res
974a0 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 41 72 63 68 69 76 .===.true).{.$files.=.new.Archiv
974c0 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 ableFilesFinder($sources,.$exclu
974e0 64 65 73 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 des,.$ignoreFilters);.foreach.($
97500 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a 24 66 69 6c 65 70 61 74 68 20 3d 20 73 files.as.$file).{..$filepath.=.s
97520 74 72 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2e 22 2f 22 2e 24 66 69 6c 65 2d trtr($file->getPath()."/".$file-
97540 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 6c 6f 63 >getFilename(),.'\\',.'/');.$loc
97560 61 6c 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 6f 75 72 63 65 73 2e 27 2f alname.=.str_replace($sources.'/
97580 27 2c 20 27 27 2c 20 24 66 69 6c 65 70 61 74 68 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 ',.'',.$filepath);.if.($file->is
975a0 44 69 72 28 29 29 20 7b 0a 24 7a 69 70 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 61 Dir()).{.$zip->addEmptyDir($loca
975c0 6c 6e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 7a 69 70 2d 3e 61 64 64 46 69 6c 65 28 24 lname);.}.else.{.$zip->addFile($
975e0 66 69 6c 65 70 61 74 68 2c 20 24 6c 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 filepath,.$localname);.}.}.if.($
97600 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a zip->close()).{.return.$target;.
97620 7d 0a 7d 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e }.}.$message.=.sprintf(."Could.n
97640 6f 74 20 63 72 65 61 74 65 20 61 72 63 68 69 76 65 20 27 25 73 27 20 66 72 6f 6d 20 27 25 73 27 ot.create.archive.'%s'.from.'%s'
97660 3a 20 25 73 22 2c 0a 24 74 61 72 67 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a 24 7a 69 70 2d 3e :.%s",.$target,.$sources,.$zip->
97680 67 65 74 53 74 61 74 75 73 53 74 72 69 6e 67 28 29 0a 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c getStatusString().);.throw.new.\
976a0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a RuntimeException($message);.}...
976c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d ..public.function.supports($form
976e0 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 at,.$sourceType).{.return.isset(
97700 73 74 61 74 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 20 26 26 20 24 74 static::$formats[$format]).&&.$t
97720 68 69 73 2d 3e 63 6f 6d 70 72 65 73 73 69 6f 6e 41 76 61 69 6c 61 62 6c 65 28 29 3b 0a 7d 0a 0a his->compressionAvailable();.}..
97740 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 72 65 73 73 69 6f 6e 41 76 61 69 private.function.compressionAvai
97760 6c 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 5a lable().{.return.class_exists('Z
97780 69 70 41 72 63 68 69 76 65 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ipArchive');.}.}.<?php..........
977a0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 ..namespace.Composer\Package;..u
977c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 se.Composer\Repository\Repositor
977e0 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 yInterface;.use.Composer\Reposit
97800 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 61 62 ory\PlatformRepository;.......ab
97820 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 stract.class.BasePackage.impleme
97840 6e 74 73 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 nts.PackageInterface.{.public.st
97860 61 74 69 63 20 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 3d 20 61 72 72 61 79 atic.$supportedLinkTypes.=.array
97880 28 0a 27 72 65 71 75 69 72 65 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f (.'require'.=>.array('descriptio
978a0 6e 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 n'.=>.'requires',.'method'.=>.'r
978c0 65 71 75 69 72 65 73 27 29 2c 0a 27 63 6f 6e 66 6c 69 63 74 27 20 3d 3e 20 61 72 72 61 79 28 27 equires'),.'conflict'.=>.array('
978e0 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 6d 65 description'.=>.'conflicts',.'me
97900 74 68 6f 64 27 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 2c 0a 27 70 72 6f 76 69 64 65 27 thod'.=>.'conflicts'),.'provide'
97920 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 70 72 6f 76 .=>.array('description'.=>.'prov
97940 69 64 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 29 2c 0a ides',.'method'.=>.'provides'),.
97960 27 72 65 70 6c 61 63 65 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 'replace'.=>.array('description'
97980 20 3d 3e 20 27 72 65 70 6c 61 63 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 70 .=>.'replaces',.'method'.=>.'rep
979a0 6c 61 63 65 73 27 29 2c 0a 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3d 3e 20 61 72 72 61 79 28 laces'),.'require-dev'.=>.array(
979c0 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 20 28 66 6f 72 20 'description'.=>.'requires.(for.
979e0 64 65 76 65 6c 6f 70 6d 65 6e 74 29 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 64 65 76 52 development)',.'method'.=>.'devR
97a00 65 71 75 69 72 65 73 27 29 2c 0a 29 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 53 equires'),.);..const.STABILITY_S
97a20 54 41 42 4c 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 52 43 20 3d 20 TABLE.=.0;.const.STABILITY_RC.=.
97a40 35 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 20 3d 20 31 30 3b 0a 63 6f 5;.const.STABILITY_BETA.=.10;.co
97a60 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 20 3d 20 31 35 3b 0a 63 6f 6e 73 74 20 nst.STABILITY_ALPHA.=.15;.const.
97a80 53 54 41 42 49 4c 49 54 59 5f 44 45 56 20 3d 20 32 30 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 STABILITY_DEV.=.20;..public.stat
97aa0 69 63 20 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 73 74 61 62 6c 65 ic.$stabilities.=.array(.'stable
97ac0 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 2c 0a 27 52 43 '.=>.self::STABILITY_STABLE,.'RC
97ae0 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 52 43 2c 0a 27 62 65 74 61 27 20 '.=>.self::STABILITY_RC,.'beta'.
97b00 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 2c 0a 27 61 6c 70 68 61 27 =>.self::STABILITY_BETA,.'alpha'
97b20 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 2c 0a 27 64 65 76 27 .=>.self::STABILITY_ALPHA,.'dev'
97b40 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 44 45 56 2c 0a 29 3b 0a 0a 0a 0a 0a .=>.self::STABILITY_DEV,.);.....
97b60 0a 70 75 62 6c 69 63 20 24 69 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a 0a .public.$id;..protected.$name;..
97b80 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 65 protected.$prettyName;..protecte
97ba0 64 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 d.$repository;..protected.$trans
97bc0 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 portOptions.=.array();.......pub
97be0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 0a lic.function.__construct($name).
97c00 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 4e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 {.$this->prettyName.=.$name;.$th
97c20 69 73 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 74 is->name.=.strtolower($name);.$t
97c40 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->id.=.-1;.}.....public.funct
97c60 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 ion.getName().{.return.$this->na
97c80 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 me;.}.....public.function.getPre
97ca0 74 74 79 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 ttyName().{.return.$this->pretty
97cc0 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e Name;.}.....public.function.getN
97ce0 61 6d 65 73 28 29 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e ames().{.$names.=.array(.$this->
97d00 67 65 74 4e 61 6d 65 28 29 20 3d 3e 20 74 72 75 65 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 getName().=>.true,.);..foreach.(
97d20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b $this->getProvides().as.$link).{
97d40 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 .$names[$link->getTarget()].=.tr
97d60 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6c 61 63 ue;.}..foreach.($this->getReplac
97d80 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 es().as.$link).{.$names[$link->g
97da0 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 etTarget()].=.true;.}..return.ar
97dc0 72 61 79 5f 6b 65 79 73 28 24 6e 61 6d 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ray_keys($names);.}.....public.f
97de0 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 28 24 69 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 64 20 3d unction.setId($id).{.$this->id.=
97e00 20 24 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 .$id;.}.....public.function.getI
97e20 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 d().{.return.$this->id;.}.....pu
97e40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f blic.function.setRepository(Repo
97e60 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 69 sitoryInterface.$repository).{.i
97e80 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 73 69 74 f.($this->repository.&&.$reposit
97ea0 6f 72 79 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 74 68 72 ory.!==.$this->repository).{.thr
97ec0 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 70 61 63 6b 61 67 ow.new.\LogicException('A.packag
97ee0 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 61 64 64 65 64 20 74 6f 20 6f 6e 65 20 72 65 70 6f 73 e.can.only.be.added.to.one.repos
97f00 69 74 6f 72 79 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 itory');.}.$this->repository.=.$
97f20 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f repository;.}.....public.functio
97f40 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 n.getRepository().{.return.$this
97f60 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->repository;.}.....public.funct
97f80 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 ion.getTransportOptions().{.retu
97fa0 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a rn.$this->transportOptions;.}...
97fc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 70 6f 72 74 ....public.function.setTransport
97fe0 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d Options(array.$options).{.$this-
98000 3e 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a >transportOptions.=.$options;.}.
98020 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 6c 61 74 66 6f 72 6d ......public.function.isPlatform
98040 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 ().{.return.$this->getRepository
98060 28 29 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 ().instanceof.PlatformRepository
98080 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 69 ;.}.......public.function.getUni
980a0 71 75 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d queName().{.return.$this->getNam
980c0 65 28 29 2e 27 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a e().'-'.$this->getVersion();.}..
980e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 50 61 63 6b 61 67 65 49 6e public.function.equals(PackageIn
98100 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 terface.$package).{.$self.=.$thi
98120 73 3b 0a 69 66 20 28 24 74 68 69 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 s;.if.($this.instanceof.AliasPac
98140 6b 61 67 65 29 20 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 69 61 73 4f kage).{.$self.=.$this->getAliasO
98160 66 28 29 3b 0a 7d 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 f();.}.if.($package.instanceof.A
98180 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 liasPackage).{.$package.=.$packa
981a0 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 ge->getAliasOf();.}..return.$pac
981c0 6b 61 67 65 20 3d 3d 3d 20 24 73 65 6c 66 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 kage.===.$self;.}.......public.f
981e0 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 unction.__toString().{.return.$t
98200 68 69 73 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 his->getUniqueName();.}..public.
98220 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 function.getPrettyString().{.ret
98240 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 27 2e 24 urn.$this->getPrettyName().'.'.$
98260 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a this->getPrettyVersion();.}.....
98280 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 public.function.getFullPrettyVer
982a0 73 69 6f 6e 28 24 74 72 75 6e 63 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 sion($truncate.=.true).{.if.(!$t
982c0 68 69 73 2d 3e 69 73 44 65 76 28 29 20 7c 7c 20 21 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d his->isDev().||.!in_array($this-
982e0 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 27 68 67 27 2c 20 27 67 >getSourceType(),.array('hg',.'g
98300 69 74 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 it'))).{.return.$this->getPretty
98320 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 72 75 6e 63 61 74 65 20 26 26 Version();.}....if.($truncate.&&
98340 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 .strlen($this->getSourceReferenc
98360 65 28 29 29 20 3d 3d 3d 20 34 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 e()).===.40).{.return.$this->get
98380 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 24 PrettyVersion()...'.'...substr($
983a0 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 37 this->getSourceReference(),.0,.7
983c0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 );.}..return.$this->getPrettyVer
983e0 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 sion()...'.'...$this->getSourceR
98400 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 eference();.}..public.function.g
98420 65 74 53 74 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 etStabilityPriority().{.return.s
98440 65 6c 66 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 74 68 69 73 2d 3e 67 65 74 53 74 61 62 elf::$stabilities[$this->getStab
98460 69 6c 69 74 79 28 29 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ility()];.}..public.function.__c
98480 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c lone().{.$this->repository.=.nul
984a0 6c 3b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 l;.$this->id.=.-1;.}.........pub
984c0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 63 6b 61 67 65 4e 61 6d 65 54 lic.static.function.packageNameT
984e0 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 2c 20 24 77 72 oRegexp($whiteListedPattern,.$wr
98500 61 70 20 3d 20 27 7b 5e 25 73 24 7d 69 27 29 0a 7b 0a 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c ap.=.'{^%s$}i').{.$cleanedWhiteL
98520 69 73 74 65 64 50 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 istedPattern.=.str_replace('\\*'
98540 2c 20 27 2e 2a 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 ,.'.*',.preg_quote($whiteListedP
98560 61 74 74 65 72 6e 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 77 72 61 70 2c attern));..return.sprintf($wrap,
98580 20 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 29 3b 0a 7d 0a .$cleanedWhiteListedPattern);.}.
985a0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
985c0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 72 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c poser\Package\Comparer;.......cl
985e0 61 73 73 20 43 6f 6d 70 61 72 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 6f 75 72 63 65 3b 0a ass.Comparer.{.private.$source;.
98600 70 72 69 76 61 74 65 20 24 75 70 64 61 74 65 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 67 65 private.$update;.private.$change
98620 64 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 28 24 73 d;..public.function.setSource($s
98640 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 65 ource).{.$this->source.=.$source
98660 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 74 65 28 24 ;.}..public.function.setUpdate($
98680 75 70 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 24 75 70 64 61 74 update).{.$this->update.=.$updat
986a0 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 64 e;.}..public.function.getChanged
986c0 28 24 74 6f 53 74 72 69 6e 67 20 3d 20 66 61 6c 73 65 2c 20 24 65 78 70 6c 69 63 61 74 65 64 20 ($toString.=.false,.$explicated.
986e0 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 68 61 6e 67 65 64 20 3d 20 24 74 68 69 73 2d 3e 63 68 61 =.false).{.$changed.=.$this->cha
98700 6e 67 65 64 3b 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 64 29 29 20 7b 0a 72 65 nged;.if.(!count($changed)).{.re
98720 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 78 70 6c 69 63 61 74 65 64 29 20 7b turn.false;.}.if.($explicated).{
98740 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 73 65 63 74 69 6f 6e 4b 65 .foreach.($changed.as.$sectionKe
98760 79 20 3d 3e 20 24 69 74 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 y.=>.$itemSection).{.foreach.($i
98780 74 65 6d 53 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 3d 3e 20 24 69 74 65 6d 29 temSection.as.$itemKey.=>.$item)
987a0 20 7b 0a 24 63 68 61 6e 67 65 64 5b 24 73 65 63 74 69 6f 6e 4b 65 79 5d 5b 24 69 74 65 6d 4b 65 .{.$changed[$sectionKey][$itemKe
987c0 79 5d 20 3d 20 24 69 74 65 6d 2e 27 20 28 27 2e 24 73 65 63 74 69 6f 6e 4b 65 79 2e 27 29 27 3b y].=.$item.'.('.$sectionKey.')';
987e0 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 6f 53 74 72 69 6e 67 29 20 7b 0a 66 6f 72 65 61 63 68 .}.}.}..if.($toString).{.foreach
98800 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 73 65 63 74 69 6f 6e 4b 65 79 20 3d 3e 20 24 69 74 .($changed.as.$sectionKey.=>.$it
98820 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 6d 53 65 63 74 69 emSection).{.foreach.($itemSecti
98840 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 24 63 68 61 6e on.as.$itemKey.=>.$item).{.$chan
98860 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 5b 5d 20 3d 20 24 69 74 65 6d 2e 22 5c 72 5c 6e 22 3b 0a ged['string'][].=.$item."\r\n";.
98880 7d 0a 7d 0a 24 63 68 61 6e 67 65 64 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 24 }.}.$changed.=.implode("\r\n",.$
988a0 63 68 61 6e 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 changed['string']);.}..return.$c
988c0 68 61 6e 67 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 43 6f 6d hanged;.}..public.function.doCom
988e0 70 61 72 65 28 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 73 pare().{.$source.=.array();.$des
98900 74 69 6e 61 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 tination.=.array();.$this->chang
98920 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79 20 ed.=.array();.$currentDirectory.
98940 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 29 =.getcwd();.chdir($this->source)
98960 3b 0a 24 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 54 72 65 65 28 27 2e 27 2c 20 24 ;.$source.=.$this->doTree('.',.$
98980 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 73 6f 75 72 63 65 29 29 source);.if.(!is_array($source))
989a0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 63 68 64 69 72 28 24 63 75 72 72 65 6e 74 44 69 72 65 63 .{.return;.}.chdir($currentDirec
989c0 74 6f 72 79 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 3b 0a 24 64 65 tory);.chdir($this->update);.$de
989e0 73 74 69 6e 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 6f 54 72 65 65 28 27 2e 27 2c 20 24 stination.=.$this->doTree('.',.$
98a00 64 65 73 74 69 6e 61 74 69 6f 6e 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 73 destination);.if.(!is_array($des
98a20 74 69 6e 61 74 69 6f 6e 29 29 20 7b 0a 65 78 69 74 3b 0a 7d 0a 63 68 64 69 72 28 24 63 75 72 72 tination)).{.exit;.}.chdir($curr
98a40 65 6e 74 44 69 72 65 63 74 6f 72 79 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 75 72 63 65 20 entDirectory);.foreach.($source.
98a60 61 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 as.$dir.=>.$value).{.foreach.($v
98a80 61 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d 3e 20 24 68 61 73 68 29 20 7b 0a 69 66 20 28 69 73 alue.as.$file.=>.$hash).{.if.(is
98aa0 73 65 74 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 5b 24 64 69 72 5d 5b 24 66 69 6c 65 5d 29 29 20 set($destination[$dir][$file])).
98ac0 7b 0a 69 66 20 28 24 68 61 73 68 20 21 3d 3d 20 24 64 65 73 74 69 6e 61 74 69 6f 6e 5b 24 64 69 {.if.($hash.!==.$destination[$di
98ae0 72 5d 5b 24 66 69 6c 65 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 63 68 61 r][$file]).{.$this->changed['cha
98b00 6e 67 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 20 65 nged'][].=.$dir.'/'.$file;.}.}.e
98b20 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 72 65 6d 6f 76 65 64 27 5d 5b lse.{.$this->changed['removed'][
98b40 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 66 6f 72 65 61 63 ].=.$dir.'/'.$file;.}.}.}.foreac
98b60 68 20 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 20 61 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c 75 h.($destination.as.$dir.=>.$valu
98b80 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d 3e e).{.foreach.($value.as.$file.=>
98ba0 20 24 68 61 73 68 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 73 6f 75 72 63 65 5b 24 64 69 .$hash).{.if.(!isset($source[$di
98bc0 72 5d 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 61 64 r][$file])).{.$this->changed['ad
98be0 64 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a ded'][].=.$dir.'/'.$file;.}.}.}.
98c00 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 54 72 65 65 28 24 64 69 72 2c }..private.function.doTree($dir,
98c20 20 26 24 61 72 72 61 79 29 0a 7b 0a 69 66 20 28 24 64 68 20 3d 20 6f 70 65 6e 64 69 72 28 24 64 .&$array).{.if.($dh.=.opendir($d
98c40 69 72 29 29 20 7b 0a 77 68 69 6c 65 20 28 24 66 69 6c 65 20 3d 20 72 65 61 64 64 69 72 28 24 64 ir)).{.while.($file.=.readdir($d
98c60 68 29 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 20 21 3d 3d 20 27 2e 27 20 26 26 20 24 66 69 6c 65 h)).{.if.($file.!==.'.'.&&.$file
98c80 20 21 3d 3d 20 27 2e 2e 27 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 2e 27 2f 27 .!==.'..').{.if.(is_dir($dir.'/'
98ca0 2e 24 66 69 6c 65 29 29 20 7b 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 61 72 72 61 79 29 29 20 7b .$file)).{.if.(!count($array)).{
98cc0 0a 24 61 72 72 61 79 5b 30 5d 20 3d 20 27 54 65 6d 70 27 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 .$array[0].=.'Temp';.}.if.(!$thi
98ce0 73 2d 3e 64 6f 54 72 65 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 2c 20 24 61 72 72 61 79 s->doTree($dir.'/'.$file,.$array
98d00 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 )).{.return.false;.}.}.else.{.if
98d20 20 28 66 69 6c 65 73 69 7a 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 29 29 20 7b 0a 73 65 .(filesize($dir.'/'.$file)).{.se
98d40 74 5f 74 69 6d 65 5f 6c 69 6d 69 74 28 33 30 29 3b 0a 24 61 72 72 61 79 5b 24 64 69 72 5d 5b 24 t_time_limit(30);.$array[$dir][$
98d60 66 69 6c 65 5d 20 3d 20 6d 64 35 5f 66 69 6c 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 29 file].=.md5_file($dir.'/'.$file)
98d80 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 72 72 61 79 29 20 3e 20 31 20 ;.}.}.}.}.if.(count($array).>.1.
98da0 26 26 20 69 73 73 65 74 28 24 61 72 72 61 79 5b 27 30 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 &&.isset($array['0'])).{.unset($
98dc0 61 72 72 61 79 5b 27 30 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 72 61 79 3b 0a 7d array['0']);.}..return.$array;.}
98de0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ..return.false;.}.}.<?php.......
98e00 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b .....namespace.Composer\Package;
98e20 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 65 78 74 .......class.CompletePackage.ext
98e40 65 6e 64 73 20 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 65 ends.Package.implements.Complete
98e60 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 PackageInterface.{.protected.$re
98e80 70 6f 73 69 74 6f 72 69 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 63 65 6e 73 65 20 3d positories;.protected.$license.=
98ea0 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6b 65 79 77 6f 72 64 73 3b 0a 70 .array();.protected.$keywords;.p
98ec0 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 rotected.$authors;.protected.$de
98ee0 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 6f 6d 65 70 61 67 65 3b 0a scription;.protected.$homepage;.
98f00 70 72 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 protected.$scripts.=.array();.pr
98f20 6f 74 65 63 74 65 64 20 24 73 75 70 70 6f 72 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 otected.$support.=.array();.prot
98f40 65 63 74 65 64 20 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 ected.$abandoned.=.false;.....pu
98f60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 63 72 69 70 74 73 28 61 72 72 61 79 20 24 blic.function.setScripts(array.$
98f80 73 63 72 69 70 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 73 20 3d 20 24 73 63 72 scripts).{.$this->scripts.=.$scr
98fa0 69 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 ipts;.}.....public.function.getS
98fc0 63 72 69 70 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 73 cripts().{.return.$this->scripts
98fe0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 ;.}.......public.function.setRep
99000 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 ositories($repositories).{.$this
99020 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a ->repositories.=.$repositories;.
99040 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 }.....public.function.getReposit
99060 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f ories().{.return.$this->reposito
99080 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ries;.}.......public.function.se
990a0 74 4c 69 63 65 6e 73 65 28 61 72 72 61 79 20 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 24 74 68 69 73 tLicense(array.$license).{.$this
990c0 2d 3e 6c 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ->license.=.$license;.}.....publ
990e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getLicense().{.retur
99100 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->license;.}.......public
99120 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4b 65 79 77 6f 72 64 73 28 61 72 72 61 79 20 24 6b 65 79 .function.setKeywords(array.$key
99140 77 6f 72 64 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6b 65 79 77 6f 72 64 73 20 3d 20 24 6b 65 79 77 words).{.$this->keywords.=.$keyw
99160 6f 72 64 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b ords;.}.....public.function.getK
99180 65 79 77 6f 72 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6b 65 79 77 6f 72 eywords().{.return.$this->keywor
991a0 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 ds;.}.......public.function.setA
991c0 75 74 68 6f 72 73 28 61 72 72 61 79 20 24 61 75 74 68 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e uthors(array.$authors).{.$this->
991e0 61 75 74 68 6f 72 73 20 3d 20 24 61 75 74 68 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 authors.=.$authors;.}.....public
99200 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .function.getAuthors().{.return.
99220 24 74 68 69 73 2d 3e 61 75 74 68 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 $this->authors;.}.......public.f
99240 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 unction.setDescription($descript
99260 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 ion).{.$this->description.=.$des
99280 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 cription;.}.....public.function.
992a0 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d getDescription().{.return.$this-
992c0 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >description;.}.......public.fun
992e0 63 74 69 6f 6e 20 73 65 74 48 6f 6d 65 70 61 67 65 28 24 68 6f 6d 65 70 61 67 65 29 0a 7b 0a 24 ction.setHomepage($homepage).{.$
99300 74 68 69 73 2d 3e 68 6f 6d 65 70 61 67 65 20 3d 20 24 68 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a 0a this->homepage.=.$homepage;.}...
99320 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 0a ..public.function.getHomepage().
99340 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a {.return.$this->homepage;.}.....
99360 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 70 70 6f 72 74 28 61 72 72 ..public.function.setSupport(arr
99380 61 79 20 24 73 75 70 70 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 70 70 6f 72 74 20 3d 20 ay.$support).{.$this->support.=.
993a0 24 73 75 70 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $support;.}.....public.function.
993c0 67 65 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 70 getSupport().{.return.$this->sup
993e0 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 port;.}.....public.function.isAb
99400 61 6e 64 6f 6e 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d andoned().{.return.(bool).$this-
99420 3e 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >abandoned;.}.....public.functio
99440 6e 20 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 61 62 61 6e 64 6f 6e 65 64 29 0a 7b 0a 24 74 68 n.setAbandoned($abandoned).{.$th
99460 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 20 3d 20 24 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a 0a is->abandoned.=.$abandoned;.}...
99480 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d 65 ....public.function.getReplaceme
994a0 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 ntPackage().{.return.is_string($
994c0 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 29 20 3f 20 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f this->abandoned).?.$this->abando
994e0 6e 65 64 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ned.:.null;.}.}.<?php...........
99500 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a .namespace.Composer\Package;....
99520 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 ...interface.CompletePackageInte
99540 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b rface.extends.PackageInterface.{
99560 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 73 ......public.function.getScripts
99580 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 ();.........public.function.getR
995a0 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 epositories();.......public.func
995c0 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tion.getLicense();.......public.
995e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f 72 64 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 function.getKeywords();.......pu
99600 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a blic.function.getDescription();.
99620 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 ......public.function.getHomepag
99640 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 e();.........public.function.get
99660 41 75 74 68 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Authors();.......public.function
99680 20 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .getSupport();.......public.func
996a0 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tion.isAbandoned();.......public
996c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 .function.getReplacementPackage(
996e0 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 );.}.<?php............namespace.
99700 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 3b 0a 0a 75 73 65 20 43 6f Composer\Package\Dumper;..use.Co
99720 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 mposer\Package\BasePackage;.use.
99740 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
99760 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 e;.use.Composer\Package\Complete
99780 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 PackageInterface;.use.Composer\P
997a0 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a ackage\RootPackageInterface;....
997c0 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 44 75 6d 70 65 72 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e ..class.ArrayDumper.{.public.fun
997e0 63 74 69 6f 6e 20 64 75 6d 70 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ction.dump(PackageInterface.$pac
99800 6b 61 67 65 29 0a 7b 0a 24 6b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 62 69 6e 61 72 69 65 73 kage).{.$keys.=.array(.'binaries
99820 27 20 3d 3e 20 27 62 69 6e 27 2c 0a 27 74 79 70 65 27 2c 0a 27 65 78 74 72 61 27 2c 0a 27 69 6e '.=>.'bin',.'type',.'extra',.'in
99840 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 27 20 3d 3e 20 27 69 6e 73 74 61 6c 6c 61 74 69 stallationSource'.=>.'installati
99860 6f 6e 2d 73 6f 75 72 63 65 27 2c 0a 27 61 75 74 6f 6c 6f 61 64 27 2c 0a 27 64 65 76 41 75 74 6f on-source',.'autoload',.'devAuto
99880 6c 6f 61 64 27 20 3d 3e 20 27 61 75 74 6f 6c 6f 61 64 2d 64 65 76 27 2c 0a 27 6e 6f 74 69 66 69 load'.=>.'autoload-dev',.'notifi
998a0 63 61 74 69 6f 6e 55 72 6c 27 20 3d 3e 20 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 cationUrl'.=>.'notification-url'
998c0 2c 0a 27 69 6e 63 6c 75 64 65 50 61 74 68 73 27 20 3d 3e 20 27 69 6e 63 6c 75 64 65 2d 70 61 74 ,.'includePaths'.=>.'include-pat
998e0 68 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 61 74 61 5b 27 h',.);..$data.=.array();.$data['
99900 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 name'].=.$package->getPrettyName
99920 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d ();.$data['version'].=.$package-
99940 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 >getPrettyVersion();.$data['vers
99960 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ion_normalized'].=.$package->get
99980 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 Version();..if.($package->getTar
999a0 67 65 74 44 69 72 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 20 getDir()).{.$data['target-dir'].
999c0 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 7d 0a 0a 69 =.$package->getTargetDir();.}..i
999e0 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 29 20 7b 0a f.($package->getSourceType()).{.
99a00 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 61 63 6b 61 $data['source']['type'].=.$packa
99a20 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 73 6f 75 72 ge->getSourceType();.$data['sour
99a40 63 65 27 5d 5b 27 75 72 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 ce']['url'].=.$package->getSourc
99a60 65 55 72 6c 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 24 eUrl();.if.(null.!==.($value.=.$
99a80 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 29 20 package->getSourceReference())).
99aa0 7b 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d {.$data['source']['reference'].=
99ac0 20 24 76 61 6c 75 65 3b 0a 7d 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 20 3d 20 24 70 61 63 6b 61 .$value;.}.if.($mirrors.=.$packa
99ae0 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 29 20 7b 0a 24 64 61 74 61 5b ge->getSourceMirrors()).{.$data[
99b00 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 20 3d 20 24 6d 69 72 72 6f 72 73 3b 'source']['mirrors'].=.$mirrors;
99b20 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 .}.}..if.($package->getDistType(
99b40 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 61 )).{.$data['dist']['type'].=.$pa
99b60 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 64 69 73 ckage->getDistType();.$data['dis
99b80 74 27 5d 5b 27 75 72 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 t']['url'].=.$package->getDistUr
99ba0 6c 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 24 70 61 63 l();.if.(null.!==.($value.=.$pac
99bc0 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 20 7b 0a 24 64 61 kage->getDistReference())).{.$da
99be0 74 61 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 24 76 61 6c 75 65 ta['dist']['reference'].=.$value
99c00 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 24 70 61 63 6b ;.}.if.(null.!==.($value.=.$pack
99c20 61 67 65 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 29 29 20 7b 0a 24 age->getDistSha1Checksum())).{.$
99c40 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 20 3d 20 24 76 61 6c 75 65 3b data['dist']['shasum'].=.$value;
99c60 0a 7d 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 .}.if.($mirrors.=.$package->getD
99c80 69 73 74 4d 69 72 72 6f 72 73 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 6d istMirrors()).{.$data['dist']['m
99ca0 69 72 72 6f 72 73 27 5d 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 irrors'].=.$mirrors;.}.}..if.($p
99cc0 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 29 20 7b 0a ackage->getArchiveExcludes()).{.
99ce0 24 64 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 20 3d 20 24 70 $data['archive']['exclude'].=.$p
99d00 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 7d 0a ackage->getArchiveExcludes();.}.
99d20 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 .foreach.(BasePackage::$supporte
99d40 64 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 29 20 7b 0a dLinkTypes.as.$type.=>.$opts).{.
99d60 69 66 20 28 24 6c 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 75 63 if.($links.=.$package->{'get'.uc
99d80 66 69 72 73 74 28 24 6f 70 74 73 5b 27 6d 65 74 68 6f 64 27 5d 29 7d 28 29 29 20 7b 0a 66 6f 72 first($opts['method'])}()).{.for
99da0 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 64 61 74 61 5b 24 each.($links.as.$link).{.$data[$
99dc0 74 79 70 65 5d 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e type][$link->getTarget()].=.$lin
99de0 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 6b 73 6f 72 k->getPrettyConstraint();.}.ksor
99e00 74 28 24 64 61 74 61 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 t($data[$type]);.}.}..if.($packa
99e20 67 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 29 20 7b ges.=.$package->getSuggests()).{
99e40 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 64 61 74 61 5b 27 73 75 67 67 65 73 .ksort($packages);.$data['sugges
99e60 74 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 t'].=.$packages;.}..if.($package
99e80 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 74 69 6d ->getReleaseDate()).{.$data['tim
99ea0 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 e'].=.$package->getReleaseDate()
99ec0 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 3b 0a 7d 0a 0a 24 64 61 74 61 ->format(DATE_RFC3339);.}..$data
99ee0 20 3d 20 24 74 68 69 73 2d 3e 64 75 6d 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 .=.$this->dumpValues($package,.$
99f00 6b 65 79 73 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 keys,.$data);..if.($package.inst
99f20 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 anceof.CompletePackageInterface)
99f40 20 7b 0a 24 6b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 72 69 70 74 73 27 2c 0a 27 6c 69 .{.$keys.=.array(.'scripts',.'li
99f60 63 65 6e 73 65 27 2c 0a 27 61 75 74 68 6f 72 73 27 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 cense',.'authors',.'description'
99f80 2c 0a 27 68 6f 6d 65 70 61 67 65 27 2c 0a 27 6b 65 79 77 6f 72 64 73 27 2c 0a 27 72 65 70 6f 73 ,.'homepage',.'keywords',.'repos
99fa0 69 74 6f 72 69 65 73 27 2c 0a 27 73 75 70 70 6f 72 74 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 3d itories',.'support',.);..$data.=
99fc0 20 24 74 68 69 73 2d 3e 64 75 6d 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6b 65 .$this->dumpValues($package,.$ke
99fe0 79 73 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6b 65 ys,.$data);..if.(isset($data['ke
9a000 79 77 6f 72 64 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 5b 27 6b 65 79 ywords']).&&.is_array($data['key
9a020 77 6f 72 64 73 27 5d 29 29 20 7b 0a 73 6f 72 74 28 24 64 61 74 61 5b 27 6b 65 79 77 6f 72 64 73 words'])).{.sort($data['keywords
9a040 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 ']);.}..if.($package->isAbandone
9a060 64 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 20 3d 20 24 70 61 63 d()).{.$data['abandoned'].=.$pac
9a080 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 3f 3a kage->getReplacementPackage().?:
9a0a0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 .true;.}.}..if.($package.instanc
9a0c0 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6d 69 6e eof.RootPackageInterface).{.$min
9a0e0 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e imumStability.=.$package->getMin
9a100 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 69 66 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 imumStability();.if.($minimumSta
9a120 62 69 6c 69 74 79 29 20 7b 0a 24 64 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 bility).{.$data['minimum-stabili
9a140 74 79 27 5d 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 0a 69 ty'].=.$minimumStability;.}.}..i
9a160 66 20 28 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f f.(count($package->getTransportO
9a180 70 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 24 64 61 74 61 5b 27 74 72 61 6e 73 70 6f 72 ptions()).>.0).{.$data['transpor
9a1a0 74 2d 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 t-options'].=.$package->getTrans
9a1c0 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a portOptions();.}..return.$data;.
9a1e0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 56 61 6c 75 65 73 28 50 }..private.function.dumpValues(P
9a200 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 ackageInterface.$package,.array.
9a220 24 6b 65 79 73 2c 20 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 $keys,.array.$data).{.foreach.($
9a240 6b 65 79 73 20 61 73 20 24 6d 65 74 68 6f 64 20 3d 3e 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 keys.as.$method.=>.$key).{.if.(i
9a260 73 5f 6e 75 6d 65 72 69 63 28 24 6d 65 74 68 6f 64 29 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 s_numeric($method)).{.$method.=.
9a280 24 6b 65 79 3b 0a 7d 0a 0a 24 67 65 74 74 65 72 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 $key;.}..$getter.=.'get'.ucfirst
9a2a0 28 24 6d 65 74 68 6f 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 24 67 ($method);.$value.=.$package->$g
9a2c0 65 74 74 65 72 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 etter();..if.(null.!==.$value.&&
9a2e0 20 21 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 .!(is_array($value).&&.0.===.cou
9a300 6e 74 28 24 76 61 6c 75 65 29 29 29 20 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 76 61 nt($value))).{.$data[$key].=.$va
9a320 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 lue;.}.}..return.$data;.}.}.<?ph
9a340 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
9a360 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f Package;..use.Composer\Semver\Co
9a380 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a nstraint\ConstraintInterface;...
9a3a0 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 6e 6b 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 ....class.Link.{....protected.$s
9a3c0 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 3b 0a 0a 0a ource;.....protected.$target;...
9a3e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 70 72 6f ..protected.$constraint;.....pro
9a400 74 65 63 74 65 64 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 tected.$description;.....protect
9a420 65 64 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ed.$prettyConstraint;...........
9a440 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 public.function.__construct($sou
9a460 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 rce,.$target,.ConstraintInterfac
9a480 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 e.$constraint.=.null,.$descripti
9a4a0 6f 6e 20 3d 20 27 72 65 6c 61 74 65 73 20 74 6f 27 2c 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 on.=.'relates.to',.$prettyConstr
9a4c0 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 73 aint.=.null).{.$this->source.=.s
9a4e0 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 trtolower($source);.$this->targe
9a500 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e t.=.strtolower($target);.$this->
9a520 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d constraint.=.$constraint;.$this-
9a540 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 >description.=.$description;.$th
9a560 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 72 65 74 74 79 43 6f is->prettyConstraint.=.$prettyCo
9a580 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nstraint;.}.....public.function.
9a5a0 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d getDescription().{.return.$this-
9a5c0 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 >description;.}.....public.funct
9a5e0 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ion.getSource().{.return.$this->
9a600 73 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 source;.}.....public.function.ge
9a620 74 54 61 72 67 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 tTarget().{.return.$this->target
9a640 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 ;.}.....public.function.getConst
9a660 72 61 69 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 raint().{.return.$this->constrai
9a680 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 nt;.}......public.function.getPr
9a6a0 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 ettyConstraint().{.if.(null.===.
9a6c0 24 74 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 74 68 72 6f 77 $this->prettyConstraint).{.throw
9a6e0 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 .new.\UnexpectedValueException(s
9a700 70 72 69 6e 74 66 28 27 4c 69 6e 6b 20 25 73 20 68 61 73 20 62 65 65 6e 20 6d 69 73 63 6f 6e 66 printf('Link.%s.has.been.misconf
9a720 69 67 75 72 65 64 20 61 6e 64 20 68 61 64 20 6e 6f 20 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 igured.and.had.no.prettyConstrai
9a740 6e 74 20 67 69 76 65 6e 2e 27 2c 20 24 74 68 69 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 nt.given.',.$this));.}..return.$
9a760 74 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 this->prettyConstraint;.}.....pu
9a780 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 blic.function.__toString().{.ret
9a7a0 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 2e 27 20 27 2e 24 74 68 69 73 2d 3e 64 65 73 urn.$this->source.'.'.$this->des
9a7c0 63 72 69 70 74 69 6f 6e 2e 27 20 27 2e 24 74 68 69 73 2d 3e 74 61 72 67 65 74 2e 27 20 28 27 2e cription.'.'.$this->target.'.('.
9a7e0 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 $this->constraint.')';.}......pu
9a800 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 61 blic.function.getPrettyString(Pa
9a820 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 0a 7b ckageInterface.$sourcePackage).{
9a840 0a 72 65 74 75 72 6e 20 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 .return.$sourcePackage->getPrett
9a860 79 53 74 72 69 6e 67 28 29 2e 27 20 27 2e 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e yString().'.'.$this->description
9a880 2e 27 20 27 2e 24 74 68 69 73 2d 3e 74 61 72 67 65 74 2e 27 20 27 2e 24 74 68 69 73 2d 3e 63 6f .'.'.$this->target.'.'.$this->co
9a8a0 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 27 3b 0a nstraint->getPrettyString().'';.
9a8c0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
9a8e0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a omposer\Package\LinkConstraint;.
9a900 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c .use.Composer\Semver\Constraint\
9a920 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 45 6d 70 74 79 43 6f EmptyConstraint.as.SemverEmptyCo
9a940 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 nstraint;..trigger_error('The.'.
9a960 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 ..__NAMESPACE__...'\EmptyConstra
9a980 69 6e 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d int.class.is.deprecated,.use.Com
9a9a0 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e poser\Semver\Constraint\EmptyCon
9a9c0 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 straint.instead.',.E_USER_DEPREC
9a9e0 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 ATED);.....class.EmptyConstraint
9aa00 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 69 .extends.SemverEmptyConstraint.i
9aa20 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 mplements.LinkConstraintInterfac
9aa40 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 e.{.}.<?php............namespace
9aa60 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 .Composer\Package\LinkConstraint
9aa80 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e ;..use.Composer\Semver\Constrain
9aaa0 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 67 65 72 5f t\ConstraintInterface;..trigger_
9aac0 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 error('The.'...__NAMESPACE__...'
9aae0 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 69 6e 74 65 72 66 61 \LinkConstraintInterface.interfa
9ab00 63 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 ce.is.deprecated,.use.Composer\S
9ab20 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 emver\Constraint\ConstraintInter
9ab40 66 61 63 65 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 face.instead.',.E_USER_DEPRECATE
9ab60 44 29 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 D);.....interface.LinkConstraint
9ab80 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 Interface.extends.ConstraintInte
9aba0 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 rface.{.}.<?php............names
9abc0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 pace.Composer\Package\LinkConstr
9abe0 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 aint;..use.Composer\Semver\Const
9ac00 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 4d raint\MultiConstraint.as.SemverM
9ac20 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 ultiConstraint;..trigger_error('
9ac40 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 4d 75 6c 74 69 43 The.'...__NAMESPACE__...'\MultiC
9ac60 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 onstraint.class.is.deprecated,.u
9ac80 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 se.Composer\Semver\Constraint\Mu
9aca0 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f ltiConstraint.instead.',.E_USER_
9acc0 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 75 6c 74 69 43 6f 6e 73 DEPRECATED);.....class.MultiCons
9ace0 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 4d 75 6c 74 69 43 6f 6e 73 74 72 traint.extends.SemverMultiConstr
9ad00 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e aint.implements.LinkConstraintIn
9ad20 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d terface.{.}.<?php............nam
9ad40 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 espace.Composer\Package\LinkCons
9ad60 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e traint;..use.Composer\Semver\Con
9ad80 73 74 72 61 69 6e 74 5c 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 straint\AbstractConstraint;..tri
9ada0 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f gger_error('The.'...__NAMESPACE_
9adc0 5f 20 2e 20 27 5c 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 20 61 62 73 74 72 61 63 _...'\SpecificConstraint.abstrac
9ade0 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 72 65 20 69 73 20 t.class.is.deprecated,.there.is.
9ae00 6e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 69 74 2e 27 2c 20 45 5f 55 53 45 52 5f no.replacement.for.it.',.E_USER_
9ae20 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 DEPRECATED);.....abstract.class.
9ae40 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 SpecificConstraint.extends.Abstr
9ae60 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e actConstraint.implements.LinkCon
9ae80 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a straintInterface.{.}.<?php......
9aea0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
9aec0 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 \LinkConstraint;..use.Composer\S
9aee0 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 emver\Constraint\Constraint;..tr
9af00 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 igger_error('The.'...__NAMESPACE
9af20 5f 5f 20 2e 20 27 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 69 __...'\VersionConstraint.class.i
9af40 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 s.deprecated,.use.Composer\Semve
9af60 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e r\Constraint\Constraint.instead.
9af80 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 ',.E_USER_DEPRECATED);.....class
9afa0 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 .VersionConstraint.extends.Const
9afc0 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 raint.implements.LinkConstraintI
9afe0 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 nterface.{.}.<?php............na
9b000 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b mespace.Composer\Package\Loader;
9b020 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 ..use.Composer\Package;.use.Comp
9b040 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 oser\Package\AliasPackage;.use.C
9b060 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 omposer\Package\Link;.use.Compos
9b080 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 er\Package\RootAliasPackage;.use
9b0a0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 .Composer\Package\RootPackageInt
9b0c0 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 erface;.use.Composer\Package\Ver
9b0e0 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 sion\VersionParser;.use.Composer
9b100 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 \Semver\VersionParser.as.SemverV
9b120 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 4c 6f ersionParser;......class.ArrayLo
9b140 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a ader.implements.LoaderInterface.
9b160 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 {.protected.$versionParser;.prot
9b180 65 63 74 65 64 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ected.$loadOptions;..public.func
9b1a0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 tion.__construct(SemverVersionPa
9b1c0 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 6c 6f 61 64 4f 70 74 69 6f 6e rser.$parser.=.null,.$loadOption
9b1e0 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 61 72 73 65 72 29 20 7b 0a 24 70 61 s.=.false).{.if.(!$parser).{.$pa
9b200 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 7d 0a 24 74 68 69 rser.=.new.VersionParser;.}.$thi
9b220 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 70 61 72 73 65 72 3b 0a 24 74 68 69 s->versionParser.=.$parser;.$thi
9b240 73 2d 3e 6c 6f 61 64 4f 70 74 69 6f 6e 73 20 3d 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 3b 0a 7d s->loadOptions.=.$loadOptions;.}
9b260 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f ..public.function.load(array.$co
9b280 6e 66 69 67 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 nfig,.$class.=.'Composer\Package
9b2a0 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 \CompletePackage').{.if.(!isset(
9b2c0 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 $config['name'])).{.throw.new.\U
9b2e0 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e nexpectedValueException('Unknown
9b300 20 70 61 63 6b 61 67 65 20 68 61 73 20 6e 6f 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 28 27 2e .package.has.no.name.defined.('.
9b320 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 29 2e 27 29 2e 27 29 3b 0a 7d 0a 69 66 json_encode($config).').');.}.if
9b340 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a .(!isset($config['version'])).{.
9b360 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 throw.new.\UnexpectedValueExcept
9b380 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2e 27 ion('Package.'.$config['name'].'
9b3a0 20 68 61 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 64 65 66 69 6e 65 64 2e 27 29 3b 0a 7d 0a 0a 0a .has.no.version.defined.');.}...
9b3c0 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d .if.(isset($config['version_norm
9b3e0 61 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 63 6f 6e 66 69 67 5b alized'])).{.$version.=.$config[
9b400 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 'version_normalized'];.}.else.{.
9b420 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d $version.=.$this->versionParser-
9b440 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a >normalize($config['version']);.
9b460 7d 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 5b }.$package.=.new.$class($config[
9b480 27 6e 61 6d 65 27 5d 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 'name'],.$version,.$config['vers
9b4a0 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 79 70 65 28 69 73 73 65 74 28 ion']);.$package->setType(isset(
9b4c0 24 63 6f 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3f 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 $config['type']).?.strtolower($c
9b4e0 6f 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3a 20 27 6c 69 62 72 61 72 79 27 29 3b 0a 0a 69 66 onfig['type']).:.'library');..if
9b500 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 29 20 .(isset($config['target-dir'])).
9b520 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 61 72 67 65 74 44 69 72 28 24 63 6f 6e 66 69 67 {.$package->setTargetDir($config
9b540 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 ['target-dir']);.}..if.(isset($c
9b560 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e onfig['extra']).&&.is_array($con
9b580 66 69 67 5b 27 65 78 74 72 61 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 45 78 fig['extra'])).{.$package->setEx
9b5a0 74 72 61 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 tra($config['extra']);.}..if.(is
9b5c0 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 set($config['bin'])).{.foreach.(
9b5e0 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 20 61 73 20 24 6b 65 79 20 3d (array).$config['bin'].as.$key.=
9b600 3e 20 24 62 69 6e 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 5b 24 6b 65 79 5d 20 3d >.$bin).{.$config['bin'][$key].=
9b620 20 6c 74 72 69 6d 28 24 62 69 6e 2c 20 27 2f 27 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 .ltrim($bin,.'/');.}.$package->s
9b640 65 74 42 69 6e 61 72 69 65 73 28 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 etBinaries((array).$config['bin'
9b660 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 73 74 61 6c ]);.}..if.(isset($config['instal
9b680 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 lation-source'])).{.$package->se
9b6a0 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 63 6f 6e 66 69 67 5b 27 69 6e 73 tInstallationSource($config['ins
9b6c0 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 tallation-source']);.}..if.(isse
9b6e0 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 73 t($config['source'])).{.if.(!iss
9b700 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 29 20 7c 7c et($config['source']['type']).||
9b720 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 75 72 6c 27 5d .!isset($config['source']['url']
9b740 29 20 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 ).||.!isset($config['source']['r
9b760 65 66 65 72 65 6e 63 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 eference'])).{.throw.new.\Unexpe
9b780 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 63 ctedValueException(sprintf(."Pac
9b7a0 6b 61 67 65 20 25 73 27 73 20 73 6f 75 72 63 65 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 kage.%s's.source.key.should.be.s
9b7c0 70 65 63 69 66 69 65 64 20 61 73 20 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 72 pecified.as.{\"type\":....,.\"ur
9b7e0 6c 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 7d 2c 5c 6e l\":....,.\"reference\":....},\n
9b800 25 73 20 67 69 76 65 6e 2e 22 2c 0a 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2c 0a 6a 73 6f %s.given.",.$config['name'],.jso
9b820 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 29 0a 29 29 3b 0a n_encode($config['source']).));.
9b840 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 63 6f 6e 66 69 }.$package->setSourceType($confi
9b860 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e g['source']['type']);.$package->
9b880 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 setSourceUrl($config['source']['
9b8a0 75 72 6c 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 url']);.$package->setSourceRefer
9b8c0 65 6e 63 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 ence(isset($config['source']['re
9b8e0 66 65 72 65 6e 63 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 ference']).?.$config['source']['
9b900 72 65 66 65 72 65 6e 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 reference'].:.null);.if.(isset($
9b920 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 7b 0a config['source']['mirrors'])).{.
9b940 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 63 6f 6e 66 $package->setSourceMirrors($conf
9b960 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 ig['source']['mirrors']);.}.}..i
9b980 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 29 29 20 7b 0a 69 66 20 f.(isset($config['dist'])).{.if.
9b9a0 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 29 (!isset($config['dist']['type'])
9b9c0 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 75 72 6c 27 .||.!isset($config['dist']['url'
9b9e0 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 ])).{.throw.new.\UnexpectedValue
9ba00 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 63 6b 61 67 65 20 25 73 27 73 Exception(sprintf(."Package.%s's
9ba20 20 64 69 73 74 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 73 .dist.key.should.be.specified.as
9ba40 20 22 2e 0a 22 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 72 6c 5c 22 3a 20 2e 2e .".."{\"type\":....,.\"url\":...
9ba60 2e 2c 20 5c 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 73 68 61 73 75 6d 5c .,.\"reference\":....,.\"shasum\
9ba80 22 3a 20 2e 2e 2e 7d 2c 5c 6e 25 73 20 67 69 76 65 6e 2e 22 2c 0a 24 63 6f 6e 66 69 67 5b 27 6e ":....},\n%s.given.",.$config['n
9baa0 61 6d 65 27 5d 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 ame'],.json_encode($config['dist
9bac0 27 5d 29 0a 29 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 54 79 70 65 28 ']).));.}.$package->setDistType(
9bae0 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 29 3b 0a 24 70 61 63 6b 61 $config['dist']['type']);.$packa
9bb00 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 ge->setDistUrl($config['dist']['
9bb20 75 72 6c 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e url']);.$package->setDistReferen
9bb40 63 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 ce(isset($config['dist']['refere
9bb60 6e 63 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 nce']).?.$config['dist']['refere
9bb80 6e 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 nce'].:.null);.$package->setDist
9bba0 53 68 61 31 43 68 65 63 6b 73 75 6d 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 Sha1Checksum(isset($config['dist
9bbc0 27 5d 5b 27 73 68 61 73 75 6d 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b ']['shasum']).?.$config['dist'][
9bbe0 27 73 68 61 73 75 6d 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 'shasum'].:.null);.if.(isset($co
9bc00 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 7b 0a 24 70 61 63 nfig['dist']['mirrors'])).{.$pac
9bc20 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 63 6f 6e 66 69 67 5b 27 64 69 kage->setDistMirrors($config['di
9bc40 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 st']['mirrors']);.}.}..foreach.(
9bc60 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c Package\BasePackage::$supportedL
9bc80 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 29 20 7b 0a 69 66 inkTypes.as.$type.=>.$opts).{.if
9bca0 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 6d 65 74 68 .(isset($config[$type])).{.$meth
9bcc0 6f 64 20 3d 20 27 73 65 74 27 2e 75 63 66 69 72 73 74 28 24 6f 70 74 73 5b 27 6d 65 74 68 6f 64 od.=.'set'.ucfirst($opts['method
9bce0 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 7b 24 6d 65 74 68 6f 64 7d 28 0a 24 74 68 69 73 2d ']);.$package->{$method}(.$this-
9bd00 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 >parseLinks(.$package->getName()
9bd20 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a ,.$package->getPrettyVersion(),.
9bd40 24 6f 70 74 73 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 0a 24 63 6f 6e 66 69 67 5b 24 74 $opts['description'],.$config[$t
9bd60 79 70 65 5d 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 ype].).);.}.}..if.(isset($config
9bd80 5b 27 73 75 67 67 65 73 74 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 ['suggest']).&&.is_array($config
9bda0 5b 27 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 ['suggest'])).{.foreach.($config
9bdc0 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 72 65 61 73 6f ['suggest'].as.$target.=>.$reaso
9bde0 6e 29 20 7b 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 74 72 69 6d n).{.if.('self.version'.===.trim
9be00 28 24 72 65 61 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 5b ($reason)).{.$config['suggest'][
9be20 24 74 61 72 67 65 74 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 $target].=.$package->getPrettyVe
9be40 72 73 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 75 67 67 65 73 rsion();.}.}.$package->setSugges
9be60 74 73 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 ts($config['suggest']);.}..if.(i
9be80 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 70 61 sset($config['autoload'])).{.$pa
9bea0 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f ckage->setAutoload($config['auto
9bec0 6c 6f 61 64 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 load']);.}..if.(isset($config['a
9bee0 75 74 6f 6c 6f 61 64 2d 64 65 76 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 utoload-dev'])).{.$package->setD
9bf00 65 76 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 2d 64 65 76 evAutoload($config['autoload-dev
9bf20 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 ']);.}..if.(isset($config['inclu
9bf40 64 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 63 6c 75 de-path'])).{.$package->setInclu
9bf60 64 65 50 61 74 68 73 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 5d 29 dePaths($config['include-path'])
9bf80 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 ;.}..if.(!empty($config['time'])
9bfa0 29 20 7b 0a 24 74 69 6d 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 64 2b 2b 24 2f ).{.$time.=.preg_match('/^\d++$/
9bfc0 44 27 2c 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 20 3f 20 27 40 27 2e 24 63 6f 6e 66 D',.$config['time']).?.'@'.$conf
9bfe0 69 67 5b 27 74 69 6d 65 27 5d 20 3a 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 3b 0a 0a 74 ig['time'].:.$config['time'];..t
9c000 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 69 6d 65 ry.{.$date.=.new.\DateTime($time
9c020 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 24 70 61 ,.new.\DateTimeZone('UTC'));.$pa
9c040 63 6b 61 67 65 2d 3e 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 24 64 61 74 65 29 3b 0a 7d 20 ckage->setReleaseDate($date);.}.
9c060 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 69 66 20 catch.(\Exception.$e).{.}.}..if.
9c080 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 (!empty($config['notification-ur
9c0a0 6c 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4e 6f 74 69 66 69 63 61 74 69 6f l'])).{.$package->setNotificatio
9c0c0 6e 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 5d nUrl($config['notification-url']
9c0e0 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 61 72 63 68 69 76 );.}..if.(!empty($config['archiv
9c100 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 e']['exclude'])).{.$package->set
9c120 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 24 63 6f 6e 66 69 67 5b 27 61 72 63 68 69 76 65 ArchiveExcludes($config['archive
9c140 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 ']['exclude']);.}..if.($package.
9c160 69 6e 73 74 61 6e 63 65 6f 66 20 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 instanceof.Package\CompletePacka
9c180 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 geInterface).{.if.(isset($config
9c1a0 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 ['scripts']).&&.is_array($config
9c1c0 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 ['scripts'])).{.foreach.($config
9c1e0 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 65 76 65 6e 74 20 3d 3e 20 24 6c 69 73 74 65 6e ['scripts'].as.$event.=>.$listen
9c200 65 72 73 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b 24 65 76 65 6e 74 ers).{.$config['scripts'][$event
9c220 5d 20 3d 20 28 61 72 72 61 79 29 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 7d 0a 69 66 20 28 69 73 ].=.(array).$listeners;.}.if.(is
9c240 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b 27 63 6f 6d 70 6f 73 65 72 set($config['scripts']['composer
9c260 27 5d 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 60 63 6f 6d 70 6f '])).{.trigger_error('The.`compo
9c280 73 65 72 60 20 73 63 72 69 70 74 20 6e 61 6d 65 20 69 73 20 72 65 73 65 72 76 65 64 20 66 6f 72 ser`.script.name.is.reserved.for
9c2a0 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2c 20 70 6c 65 61 73 65 20 61 76 6f 69 64 20 64 65 66 69 .internal.use,.please.avoid.defi
9c2c0 6e 69 6e 67 20 69 74 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a ning.it',.E_USER_DEPRECATED);.}.
9c2e0 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 63 72 69 70 74 73 28 24 63 6f 6e 66 69 67 5b 27 73 63 $package->setScripts($config['sc
9c300 72 69 70 74 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b ripts']);.}..if.(!empty($config[
9c320 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 'description']).&&.is_string($co
9c340 6e 66 69 67 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 nfig['description'])).{.$package
9c360 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 63 6f 6e 66 69 67 5b 27 64 65 73 63 72 69 ->setDescription($config['descri
9c380 70 74 69 6f 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b ption']);.}..if.(!empty($config[
9c3a0 27 68 6f 6d 65 70 61 67 65 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e 66 69 'homepage']).&&.is_string($confi
9c3c0 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 48 g['homepage'])).{.$package->setH
9c3e0 6f 6d 65 70 61 67 65 28 24 63 6f 6e 66 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 3b 0a 7d 0a omepage($config['homepage']);.}.
9c400 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 .if.(!empty($config['keywords'])
9c420 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d .&&.is_array($config['keywords']
9c440 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4b 65 79 77 6f 72 64 73 28 24 63 6f 6e 66 )).{.$package->setKeywords($conf
9c460 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 ig['keywords']);.}..if.(!empty($
9c480 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e config['license'])).{.$package->
9c4a0 73 65 74 4c 69 63 65 6e 73 65 28 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 63 setLicense(is_array($config['lic
9c4c0 65 6e 73 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 20 3a 20 61 ense']).?.$config['license'].:.a
9c4e0 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 3b 0a 7d 0a 0a 69 66 rray($config['license']));.}..if
9c500 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 20 26 26 20 .(!empty($config['authors']).&&.
9c520 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a is_array($config['authors'])).{.
9c540 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 68 6f 72 73 28 24 63 6f 6e 66 69 67 5b 27 61 75 $package->setAuthors($config['au
9c560 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 thors']);.}..if.(isset($config['
9c580 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 75 70 70 6f support'])).{.$package->setSuppo
9c5a0 72 74 28 24 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 rt($config['support']);.}..if.(i
9c5c0 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b 0a 24 70 sset($config['abandoned'])).{.$p
9c5e0 61 63 6b 61 67 65 2d 3e 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 63 6f 6e 66 69 67 5b 27 61 62 ackage->setAbandoned($config['ab
9c600 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 61 6c 69 61 73 4e 6f 72 6d 61 andoned']);.}.}..if.($aliasNorma
9c620 6c 69 7a 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 24 63 lized.=.$this->getBranchAlias($c
9c640 6f 6e 66 69 67 29 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f onfig)).{.if.($package.instanceo
9c660 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 61 63 6b 61 f.RootPackageInterface).{.$packa
9c680 67 65 20 3d 20 6e 65 77 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 ge.=.new.RootAliasPackage($packa
9c6a0 67 65 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 5f 72 65 70 6c 61 ge,.$aliasNormalized,.preg_repla
9c6c0 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 6c 69 61 73 4e 6f ce('{(\.9{7})+}',.'.x',.$aliasNo
9c6e0 72 6d 61 6c 69 7a 65 64 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 rmalized));.}.else.{.$package.=.
9c700 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 new.AliasPackage($package,.$alia
9c720 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 sNormalized,.preg_replace('{(\.9
9c740 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 29 {7})+}',.'.x',.$aliasNormalized)
9c760 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 4f 70 74 69 6f 6e 73 20 26 );.}.}..if.($this->loadOptions.&
9c780 26 20 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f &.isset($config['transport-optio
9c7a0 6e 73 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 4f ns'])).{.$package->setTransportO
9c7c0 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f 6e ptions($config['transport-option
9c7e0 73 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a s']);.}..return.$package;.}.....
9c800 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 69 6e 6b 73 28 24 ....public.function.parseLinks($
9c820 73 6f 75 72 63 65 2c 20 24 73 6f 75 72 63 65 56 65 72 73 69 6f 6e 2c 20 24 64 65 73 63 72 69 70 source,.$sourceVersion,.$descrip
9c840 74 69 6f 6e 2c 20 24 6c 69 6e 6b 73 29 0a 7b 0a 24 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a tion,.$links).{.$res.=.array();.
9c860 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 foreach.($links.as.$target.=>.$c
9c880 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e onstraint).{.if.(!is_string($con
9c8a0 73 74 72 61 69 6e 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 straint)).{.throw.new.\Unexpecte
9c8c0 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 4c 69 6e 6b 20 63 6f 6e 73 74 72 61 69 6e 74 dValueException('Link.constraint
9c8e0 20 69 6e 20 27 2e 24 73 6f 75 72 63 65 2e 27 20 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 .in.'.$source.'.'.$description.'
9c900 20 3e 20 27 2e 24 74 61 72 67 65 74 2e 27 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e .>.'.$target.'.should.be.a.strin
9c920 67 2c 20 67 6f 74 20 27 2e 67 65 74 74 79 70 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 2e 20 g,.got.'.gettype($constraint)...
9c940 27 20 28 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 74 '.('...var_export($constraint,.t
9c960 72 75 65 29 20 2e 20 27 29 27 29 3b 0a 7d 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e rue)...')');.}.if.('self.version
9c980 27 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e 73 '.===.$constraint).{.$parsedCons
9c9a0 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 traint.=.$this->versionParser->p
9c9c0 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 73 6f 75 72 63 65 56 65 72 73 69 6f 6e 29 3b arseConstraints($sourceVersion);
9c9e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 .}.else.{.$parsedConstraint.=.$t
9ca00 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 his->versionParser->parseConstra
9ca20 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 72 65 73 5b 73 74 72 74 6f ints($constraint);.}..$res[strto
9ca40 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 73 6f 75 72 lower($target)].=.new.Link($sour
9ca60 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 2c 20 ce,.$target,.$parsedConstraint,.
9ca80 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 72 $description,.$constraint);.}..r
9caa0 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$res;.}........public.func
9cac0 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 61 72 72 61 79 20 24 63 6f 6e 66 69 tion.getBranchAlias(array.$confi
9cae0 67 29 0a 7b 0a 69 66 20 28 28 27 64 65 76 2d 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e g).{.if.(('dev-'.!==.substr($con
9cb00 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 30 2c 20 34 29 20 26 26 20 27 2d 64 65 76 27 20 fig['version'],.0,.4).&&.'-dev'.
9cb20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 2d !==.substr($config['version'],.-
9cb40 34 29 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 4)).||.!isset($config['extra']['
9cb60 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 63 6f branch-alias']).||.!is_array($co
9cb80 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a 29 nfig['extra']['branch-alias']).)
9cba0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 .{.return;.}..foreach.($config['
9cbc0 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 20 61 73 20 24 73 6f 75 72 extra']['branch-alias'].as.$sour
9cbe0 63 65 42 72 61 6e 63 68 20 3d 3e 20 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 20 7b 0a 0a 20 69 ceBranch.=>.$targetBranch).{...i
9cc00 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e f.('-dev'.!==.substr($targetBran
9cc20 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c 69 64 ch,.-4)).{.continue;.}....$valid
9cc40 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f atedTargetBranch.=.$this->versio
9cc60 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 73 75 62 73 74 72 28 nParser->normalizeBranch(substr(
9cc80 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 2d 34 29 29 3b 0a 69 66 20 28 27 2d 64 65 $targetBranch,.0,.-4));.if.('-de
9cca0 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 v'.!==.substr($validatedTargetBr
9ccc0 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 anch,.-4)).{.continue;.}....if.(
9cce0 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 21 strtolower($config['version']).!
9cd00 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 29 29 20 7b 0a ==.strtolower($sourceBranch)).{.
9cd20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 65 50 72 65 66 69 continue;.}....if.(($sourcePrefi
9cd40 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e x.=.$this->versionParser->parseN
9cd60 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 29 umericAliasPrefix($sourceBranch)
9cd80 29 0a 26 26 20 28 24 74 61 72 67 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 ).&&.($targetPrefix.=.$this->ver
9cda0 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 sionParser->parseNumericAliasPre
9cdc0 66 69 78 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 72 69 70 6f 73 28 fix($targetBranch)).&&.(stripos(
9cde0 24 74 61 72 67 65 74 50 72 65 66 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 69 78 29 20 21 3d $targetPrefix,.$sourcePrefix).!=
9ce00 3d 20 30 29 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 =.0).).{.continue;.}..return.$va
9ce20 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 lidatedTargetBranch;.}.}.}.<?php
9ce40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 ............namespace.Composer\P
9ce60 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 ackage\Loader;.....class.Invalid
9ce80 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 PackageException.extends.\Except
9cea0 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 ion.{.private.$errors;.private.$
9cec0 77 61 72 6e 69 6e 67 73 3b 0a 70 72 69 76 61 74 65 20 24 64 61 74 61 3b 0a 0a 70 75 62 6c 69 63 warnings;.private.$data;..public
9cee0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 65 72 72 .function.__construct(array.$err
9cf00 6f 72 73 2c 20 61 72 72 61 79 20 24 77 61 72 6e 69 6e 67 73 2c 20 61 72 72 61 79 20 24 64 61 74 ors,.array.$warnings,.array.$dat
9cf20 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 65 72 72 6f 72 73 3b 0a 24 74 a).{.$this->errors.=.$errors;.$t
9cf40 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 24 77 61 72 6e 69 6e 67 73 3b 0a 24 74 68 69 73 his->warnings.=.$warnings;.$this
9cf60 2d 3e 64 61 74 61 20 3d 20 24 64 61 74 61 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 ->data.=.$data;.parent::__constr
9cf80 75 63 74 28 22 49 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e uct("Invalid.package.information
9cfa0 3a 20 5c 6e 22 2e 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 :.\n".implode("\n",.array_merge(
9cfc0 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 $errors,.$warnings)));.}..public
9cfe0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.getData().{.return.$th
9d000 69 73 2d 3e 64 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 is->data;.}..public.function.get
9d020 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b Errors().{.return.$this->errors;
9d040 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 61 72 6e 69 6e 67 73 28 .}..public.function.getWarnings(
9d060 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 3b 0a 7d 0a 7d 0a ).{.return.$this->warnings;.}.}.
9d080 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
9d0a0 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ser\Package\Loader;..use.Compose
9d0c0 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 4c r\Json\JsonFile;.....class.JsonL
9d0e0 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 oader.{.private.$loader;..public
9d100 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 65 .function.__construct(LoaderInte
9d120 72 66 61 63 65 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d rface.$loader).{.$this->loader.=
9d140 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$loader;.}......public.function
9d160 20 6c 6f 61 64 28 24 6a 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 6a 73 6f 6e 20 69 6e 73 74 61 6e 63 .load($json).{.if.($json.instanc
9d180 65 6f 66 20 4a 73 6f 6e 46 69 6c 65 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 6a 73 6f 6e 2d eof.JsonFile).{.$config.=.$json-
9d1a0 3e 72 65 61 64 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 >read();.}.elseif.(file_exists($
9d1c0 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 json)).{.$config.=.JsonFile::par
9d1e0 73 65 4a 73 6f 6e 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 29 2c seJson(file_get_contents($json),
9d200 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 6a 73 .$json);.}.elseif.(is_string($js
9d220 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 on)).{.$config.=.JsonFile::parse
9d240 4a 73 6f 6e 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f Json($json);.}..return.$this->lo
9d260 61 64 65 72 2d 3e 6c 6f 61 64 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ader->load($config);.}.}.<?php..
9d280 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ..........namespace.Composer\Pac
9d2a0 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 61 kage\Loader;.......interface.Loa
9d2c0 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e derInterface.{........public.fun
9d2e0 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6c 61 73 ction.load(array.$package,.$clas
9d300 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 s.=.'Composer\Package\CompletePa
9d320 63 6b 61 67 65 27 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ckage');.}.<?php............name
9d340 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a space.Composer\Package\Loader;..
9d360 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 use.Composer\Package\BasePackage
9d380 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b ;.use.Composer\Package\AliasPack
9d3a0 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f age;.use.Composer\Config;.use.Co
9d3c0 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
9d3e0 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 ser\Package\RootPackageInterface
9d400 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 ;.use.Composer\Repository\Reposi
9d420 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 toryFactory;.use.Composer\Packag
9d440 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f e\Version\VersionGuesser;.use.Co
9d460 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 mposer\Package\Version\VersionPa
9d480 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 rser;.use.Composer\Repository\Re
9d4a0 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 positoryManager;.use.Composer\Ut
9d4c0 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 il\ProcessExecutor;.........clas
9d4e0 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 72 61 s.RootPackageLoader.extends.Arra
9d500 79 4c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d 61 6e 61 67 65 72 3b 0a 0a yLoader.{....private.$manager;..
9d520 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ...private.$config;.....private.
9d540 24 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f $versionGuesser;.....private.$io
9d560 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 ;..public.function.__construct(R
9d580 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 2c 20 43 6f 6e 66 69 epositoryManager.$manager,.Confi
9d5a0 67 20 24 63 6f 6e 66 69 67 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 72 g.$config,.VersionParser.$parser
9d5c0 20 3d 20 6e 75 6c 6c 2c 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 24 76 65 72 73 69 6f 6e .=.null,.VersionGuesser.$version
9d5e0 47 75 65 73 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 Guesser.=.null,.IOInterface.$io.
9d600 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 =.null).{.parent::__construct($p
9d620 61 72 73 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 arser);..$this->manager.=.$manag
9d640 65 72 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 er;.$this->config.=.$config;.$th
9d660 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 3d 20 24 76 65 72 73 69 6f 6e 47 75 65 is->versionGuesser.=.$versionGue
9d680 73 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e 66 sser.?:.new.VersionGuesser($conf
9d6a0 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 2c 20 24 74 68 69 73 ig,.new.ProcessExecutor(),.$this
9d6c0 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 ->versionParser);.$this->io.=.$i
9d6e0 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 o;.}........public.function.load
9d700 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 (array.$config,.$class.=.'Compos
9d720 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 27 2c 20 24 63 77 64 20 3d 20 er\Package\RootPackage',.$cwd.=.
9d740 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 null).{.if.(!isset($config['name
9d760 27 5d 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 5f 5f 72 6f 6f 74 '])).{.$config['name'].=.'__root
9d780 5f 5f 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 69 66 20 28 __';.}.elseif.($this->io).{.if.(
9d7a0 24 65 72 72 20 3d 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 68 61 $err.=.ValidatingArrayLoader::ha
9d7c0 73 50 61 63 6b 61 67 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d sPackageNamingError($config['nam
9d7e0 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c e'])).{.$this->io->writeError('<
9d800 77 61 72 6e 69 6e 67 3e 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 59 6f 75 warning>Deprecation.warning:.You
9d820 72 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 75 72 r.package.name.'.$err.'.Make.sur
9d840 65 20 79 6f 75 20 66 69 78 20 74 68 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 20 77 e.you.fix.this.as.Composer.2.0.w
9d860 69 6c 6c 20 65 72 72 6f 72 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 24 61 75 74 ill.error.</warning>');.}.}.$aut
9d880 6f 56 65 72 73 69 6f 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 oVersioned.=.false;.if.(!isset($
9d8a0 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 config['version'])).{.$commit.=.
9d8c0 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f null;....if.(getenv('COMPOSER_RO
9d8e0 4f 54 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e OT_VERSION')).{.$config['version
9d900 27 5d 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 '].=.getenv('COMPOSER_ROOT_VERSI
9d920 4f 4e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 ON');.}.else.{.$versionData.=.$t
9d940 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f his->versionGuesser->guessVersio
9d960 6e 28 24 63 6f 6e 66 69 67 2c 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 29 3b 0a 69 66 n($config,.$cwd.?:.getcwd());.if
9d980 20 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 .($versionData).{.$config['versi
9d9a0 6f 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 on'].=.$versionData['pretty_vers
9d9c0 69 6f 6e 27 5d 3b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a ion'];.$config['version_normaliz
9d9e0 65 64 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a ed'].=.$versionData['version'];.
9da00 24 63 6f 6d 6d 69 74 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 63 6f 6d 6d 69 74 27 5d $commit.=.$versionData['commit']
9da20 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 ;.}.}..if.(!isset($config['versi
9da40 6f 6e 27 5d 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 on'])).{.$config['version'].=.'1
9da60 2e 30 2e 30 27 3b 0a 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a .0.0';.$autoVersioned.=.true;.}.
9da80 0a 69 66 20 28 24 63 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 .if.($commit).{.$config['source'
9daa0 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 27 75 72 6c 27 20 3d ].=.array(.'type'.=>.'',.'url'.=
9dac0 3e 20 27 27 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 0a 29 3b >.'',.'reference'.=>.$commit,.);
9dae0 0a 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 .$config['dist'].=.array(.'type'
9db00 20 3d 3e 20 27 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 27 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 .=>.'',.'url'.=>.'',.'reference'
9db20 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 67 .=>.$commit,.);.}.}..$realPackag
9db40 65 20 3d 20 24 70 61 63 6b 61 67 65 20 3d 20 70 61 72 65 6e 74 3a 3a 6c 6f 61 64 28 24 63 6f 6e e.=.$package.=.parent::load($con
9db60 66 69 67 2c 20 24 63 6c 61 73 73 29 3b 0a 69 66 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 20 69 fig,.$class);.if.($realPackage.i
9db80 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 72 65 61 6c 50 nstanceof.AliasPackage).{.$realP
9dba0 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b ackage.=.$package->getAliasOf();
9dbc0 0a 7d 0a 0a 69 66 20 28 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 29 20 7b 0a 24 72 65 61 6c 50 .}..if.($autoVersioned).{.$realP
9dbe0 61 63 6b 61 67 65 2d 3e 72 65 70 6c 61 63 65 56 65 72 73 69 6f 6e 28 24 72 65 61 6c 50 61 63 6b ackage->replaceVersion($realPack
9dc00 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 73 age->getVersion(),.'No.version.s
9dc20 65 74 20 28 70 61 72 73 65 64 20 61 73 20 31 2e 30 2e 30 29 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 et.(parsed.as.1.0.0)');.}..if.(i
9dc40 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 sset($config['minimum-stability'
9dc60 5d 29 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 4d 69 6e 69 6d 75 6d 53 74 ])).{.$realPackage->setMinimumSt
9dc80 61 62 69 6c 69 74 79 28 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 ability(VersionParser::normalize
9dca0 53 74 61 62 69 6c 69 74 79 28 24 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 Stability($config['minimum-stabi
9dcc0 6c 69 74 79 27 5d 29 29 3b 0a 7d 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b lity']));.}..$aliases.=.array();
9dce0 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 66 .$stabilityFlags.=.array();.$ref
9dd00 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 erences.=.array();.foreach.(arra
9dd20 79 28 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 24 y('require',.'require-dev').as.$
9dd40 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 6c linkType).{.if.(isset($config[$l
9dd60 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 24 6c 69 6e 6b 49 6e 66 6f 20 3d 20 42 61 73 65 50 61 63 inkType])).{.$linkInfo.=.BasePac
9dd80 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 5b 24 6c 69 6e 6b 54 kage::$supportedLinkTypes[$linkT
9dda0 79 70 65 5d 3b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6c ype];.$method.=.'get'.ucfirst($l
9ddc0 69 6e 6b 49 6e 66 6f 5b 27 6d 65 74 68 6f 64 27 5d 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 inkInfo['method']);.$links.=.arr
9dde0 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 24 6d 65 ay();.foreach.($realPackage->$me
9de00 74 68 6f 64 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 6c 69 6e 6b 2d thod().as.$link).{.$links[$link-
9de20 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 >getTarget()].=.$link->getConstr
9de40 61 69 6e 74 28 29 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 24 61 6c aint()->getPrettyString();.}.$al
9de60 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 24 6c iases.=.$this->extractAliases($l
9de80 69 6e 6b 73 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 inks,.$aliases);.$stabilityFlags
9dea0 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 .=.$this->extractStabilityFlags(
9dec0 24 6c 69 6e 6b 73 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 72 65 61 6c 50 61 $links,.$stabilityFlags,.$realPa
9dee0 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 29 3b 0a 24 ckage->getMinimumStability());.$
9df00 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 52 65 66 65 72 references.=.$this->extractRefer
9df20 65 6e 63 65 73 28 24 6c 69 6e 6b 73 2c 20 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 7d 0a 7d 0a ences($links,.$references);.}.}.
9df40 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 .if.($this->io).{.foreach.(array
9df60 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e _keys(BasePackage::$supportedLin
9df80 6b 54 79 70 65 73 29 20 61 73 20 24 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 kTypes).as.$linkType).{.if.(isse
9dfa0 74 28 24 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 t($config[$linkType])).{.foreach
9dfc0 20 28 24 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 6c 69 6e 6b 4e 61 6d .($config[$linkType].as.$linkNam
9dfe0 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 65 72 72 20 3d 20 56 e.=>.$constraint).{.if.($err.=.V
9e000 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 68 61 73 50 61 63 6b 61 67 65 alidatingArrayLoader::hasPackage
9e020 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 6c 69 6e 6b 4e 61 6d 65 2c 20 74 72 75 65 29 29 20 7b 0a NamingError($linkName,.true)).{.
9e040 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e $this->io->writeError('<warning>
9e060 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 27 2e 24 6c 69 6e 6b 54 79 70 65 Deprecation.warning:.'.$linkType
9e080 2e 27 2e 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 66 69 78 20 74 68 .'.'.$err.'.Make.sure.you.fix.th
9e0a0 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 20 77 69 6c 6c 20 65 72 72 6f 72 2e 3c 2f is.as.Composer.2.0.will.error.</
9e0c0 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 warning>');.}.}.}.}.}..if.(isset
9e0e0 28 24 6c 69 6e 6b 73 5b 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 5d 29 29 20 7b 0a 74 68 72 ($links[$config['name']])).{.thr
9e100 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
9e120 28 73 70 72 69 6e 74 66 28 27 52 6f 6f 74 20 70 61 63 6b 61 67 65 20 5c 27 25 73 5c 27 20 63 61 (sprintf('Root.package.\'%s\'.ca
9e140 6e 6e 6f 74 20 72 65 71 75 69 72 65 20 69 74 73 65 6c 66 20 69 6e 20 69 74 73 20 63 6f 6d 70 6f nnot.require.itself.in.its.compo
9e160 73 65 72 2e 6a 73 6f 6e 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 0a 27 44 69 64 20 79 6f 75 20 61 ser.json'...PHP_EOL...'Did.you.a
9e180 63 63 69 64 65 6e 74 61 6c 6c 79 20 6e 61 6d 65 20 79 6f 75 72 20 72 6f 6f 74 20 70 61 63 6b 61 ccidentally.name.your.root.packa
9e1a0 67 65 20 61 66 74 65 72 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 3f 27 2c 20 ge.after.an.external.package?',.
9e1c0 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 3b 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 $config['name']));.}..$realPacka
9e1e0 67 65 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 3b 0a 24 72 65 61 6c 50 ge->setAliases($aliases);.$realP
9e200 61 63 6b 61 67 65 2d 3e 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 73 74 61 62 69 ackage->setStabilityFlags($stabi
9e220 6c 69 74 79 46 6c 61 67 73 29 3b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 66 lityFlags);.$realPackage->setRef
9e240 65 72 65 6e 63 65 73 28 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 erences($references);..if.(isset
9e260 28 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 29 20 7b 0a 24 72 ($config['prefer-stable'])).{.$r
9e280 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 28 62 6f 6f ealPackage->setPreferStable((boo
9e2a0 6c 29 20 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 3b 0a 7d 0a l).$config['prefer-stable']);.}.
9e2c0 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 29 20 7b .if.(isset($config['config'])).{
9e2e0 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f 6e 66 69 67 .$realPackage->setConfig($config
9e300 5b 27 63 6f 6e 66 69 67 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 ['config']);.}..$repos.=.Reposit
9e320 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 6e 75 6c 6c 2c 20 24 oryFactory::defaultRepos(null,.$
9e340 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 29 3b 0a 66 this->config,.$this->manager);.f
9e360 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 oreach.($repos.as.$repo).{.$this
9e380 2d 3e 6d 61 6e 61 67 65 72 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 3b ->manager->addRepository($repo);
9e3a0 0a 7d 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 .}.$realPackage->setRepositories
9e3c0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 ($this->config->getRepositories(
9e3e0 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 ));..return.$package;.}..private
9e400 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 24 .function.extractAliases(array.$
9e420 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 65 requires,.array.$aliases).{.fore
9e440 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d 3e 20 24 72 ach.($requires.as.$reqName.=>.$r
9e460 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 eqVersion).{.if.(preg_match('{^(
9e480 5b 5e 2c 5c 73 23 5d 2b 29 28 3f 3a 23 5b 5e 20 5d 2b 29 3f 20 2b 61 73 20 2b 28 5b 5e 2c 5c 73 [^,\s#]+)(?:#[^.]+)?.+as.+([^,\s
9e4a0 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a ]+)$}',.$reqVersion,.$match)).{.
9e4c0 24 61 6c 69 61 73 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e $aliases[].=.array(.'package'.=>
9e4e0 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 2c 0a 27 76 65 72 73 69 6f 6e 27 .strtolower($reqName),.'version'
9e500 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c .=>.$this->versionParser->normal
9e520 69 7a 65 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 29 2c 0a 27 61 6c ize($match[1],.$reqVersion),.'al
9e540 69 61 73 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c ias'.=>.$match[2],.'alias_normal
9e560 69 7a 65 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e ized'.=>.$this->versionParser->n
9e580 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 29 ormalize($match[2],.$reqVersion)
9e5a0 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 70 72 ,.);.}.}..return.$aliases;.}..pr
9e5c0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 53 74 61 62 69 6c 69 74 79 46 ivate.function.extractStabilityF
9e5e0 6c 61 67 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 24 73 74 61 lags(array.$requires,.array.$sta
9e600 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 0a bilityFlags,.$minimumStability).
9e620 7b 0a 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 {.$stabilities.=.BasePackage::$s
9e640 74 61 62 69 6c 69 74 69 65 73 3b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 tabilities;.$minimumStability.=.
9e660 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 5d 3b $stabilities[$minimumStability];
9e680 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 .foreach.($requires.as.$reqName.
9e6a0 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d =>.$reqVersion).{.$constraints.=
9e6c0 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 6f 72 53 70 6c 69 74 20 3d 20 70 72 65 67 5f 73 70 6c .array();....$orSplit.=.preg_spl
9e6e0 69 74 28 27 7b 5c 73 2a 5c 7c 5c 7c 3f 5c 73 2a 7d 27 2c 20 74 72 69 6d 28 24 72 65 71 56 65 72 it('{\s*\|\|?\s*}',.trim($reqVer
9e700 73 69 6f 6e 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 72 53 70 6c 69 74 20 61 73 20 24 6f 72 sion));.foreach.($orSplit.as.$or
9e720 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 61 6e 64 53 70 6c 69 74 20 3d 20 70 72 65 67 5f 73 Constraint).{.$andSplit.=.preg_s
9e740 70 6c 69 74 28 27 7b 28 3f 3c 21 5e 7c 61 73 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f 3c 21 2d 29 plit('{(?<!^|as|[=><.,]).*(?<!-)
9e760 5b 2c 20 5d 28 3f 21 2d 29 20 2a 28 3f 21 2c 7c 61 73 7c 24 29 7d 27 2c 20 24 6f 72 43 6f 6e 73 [,.](?!-).*(?!,|as|$)}',.$orCons
9e780 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 6e 64 53 70 6c 69 74 20 61 73 20 24 traint);.foreach.($andSplit.as.$
9e7a0 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 5d 20 andConstraint).{.$constraints[].
9e7c0 3d 20 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 20 =.$andConstraint;.}.}....$match.
9e7e0 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 =.false;.foreach.($constraints.a
9e800 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 s.$constraint).{.if.(preg_match(
9e820 27 7b 5e 5b 5e 40 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f '{^[^@]*?@('.implode('|',.array_
9e840 6b 65 79 73 28 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 24 7d 69 27 2c 20 24 63 6f 6e keys($stabilities)).')$}i',.$con
9e860 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 straint,.$match)).{.$name.=.strt
9e880 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 olower($reqName);.$stability.=.$
9e8a0 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 stabilities[VersionParser::norma
9e8c0 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 5d 3b 0a 0a 69 66 20 28 lizeStability($match[1])];..if.(
9e8e0 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 29 20 26 26 isset($stabilityFlags[$name]).&&
9e900 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3e 20 24 73 74 61 62 69 .$stabilityFlags[$name].>.$stabi
9e920 6c 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 74 61 62 69 6c 69 74 79 46 6c lity).{.continue;.}.$stabilityFl
9e940 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 24 6d 61 74 63 68 20 ags[$name].=.$stability;.$match.
9e960 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 29 20 7b 0a 63 6f 6e 74 69 =.true;.}.}..if.($match).{.conti
9e980 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 nue;.}..foreach.($constraints.as
9e9a0 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 0a 20 0a 20 24 72 65 71 56 65 72 73 69 6f 6e 20 .$constraint).{.....$reqVersion.
9e9c0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 2c 5c 73 40 5d 2b 29 20 61 73 20 =.preg_replace('{^([^,\s@]+).as.
9e9e0 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 69 66 20 28 70 .+$}',.'$1',.$constraint);.if.(p
9ea00 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 40 5d 2b 24 7d 27 2c 20 24 72 65 71 56 65 reg_match('{^[^,\s@]+$}',.$reqVe
9ea20 72 73 69 6f 6e 29 20 26 26 20 27 73 74 61 62 6c 65 27 20 21 3d 3d 20 28 24 73 74 61 62 69 6c 69 rsion).&&.'stable'.!==.($stabili
9ea40 74 79 4e 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 tyName.=.VersionParser::parseSta
9ea60 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 6f 6e 29 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 bility($reqVersion))).{.$name.=.
9ea80 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 strtolower($reqName);.$stability
9eaa0 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 4e 61 6d 65 5d 3b .=.$stabilities[$stabilityName];
9eac0 0a 69 66 20 28 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d .if.((isset($stabilityFlags[$nam
9eae0 65 5d 29 20 26 26 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3e 20 e]).&&.$stabilityFlags[$name].>.
9eb00 24 73 74 61 62 69 6c 69 74 79 29 20 7c 7c 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 $stability).||.($minimumStabilit
9eb20 79 20 3e 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 y.>.$stability)).{.continue;.}.$
9eb40 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 62 69 6c 69 stabilityFlags[$name].=.$stabili
9eb60 74 79 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 ty;.}.}.}..return.$stabilityFlag
9eb80 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 52 65 s;.}..private.function.extractRe
9eba0 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 ferences(array.$requires,.array.
9ebc0 24 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 $references).{.foreach.($require
9ebe0 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a s.as.$reqName.=>.$reqVersion).{.
9ec00 24 72 65 71 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b $reqVersion.=.preg_replace('{^([
9ec20 5e 2c 5c 73 40 5d 2b 29 20 61 73 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 72 65 71 56 65 72 ^,\s@]+).as..+$}',.'$1',.$reqVer
9ec40 73 69 6f 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 40 5d sion);.if.(preg_match('{^[^,\s@]
9ec60 2b 3f 23 28 5b 61 2d 66 30 2d 39 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 2c 20 +?#([a-f0-9]+)$}',.$reqVersion,.
9ec80 24 6d 61 74 63 68 29 20 26 26 20 27 64 65 76 27 20 3d 3d 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 $match).&&.'dev'.===.VersionPars
9eca0 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 6f 6e 29 29 er::parseStability($reqVersion))
9ecc0 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b .{.$name.=.strtolower($reqName);
9ece0 0a 24 72 65 66 65 72 65 6e 63 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b .$references[$name].=.$match[1];
9ed00 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 7d 0a 3c 3f .}.}..return.$references;.}.}.<?
9ed20 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
9ed40 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\Package\Loader;..use.Composer\
9ed60 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 Package\BasePackage;.use.Compose
9ed80 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a r\Semver\Constraint\Constraint;.
9eda0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 use.Composer\Package\Version\Ver
9edc0 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 sionParser;.use.Composer\Reposit
9ede0 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 ory\PlatformRepository;.use.Comp
9ee00 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 oser\Spdx\SpdxLicenses;.....clas
9ee20 73 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e s.ValidatingArrayLoader.implemen
9ee40 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 43 48 45 43 4b ts.LoaderInterface.{.const.CHECK
9ee60 5f 41 4c 4c 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 55 4e 42 4f 55 4e 44 5f 43 4f _ALL.=.3;.const.CHECK_UNBOUND_CO
9ee80 4e 53 54 52 41 49 4e 54 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 53 54 52 49 43 NSTRAINTS.=.1;.const.CHECK_STRIC
9eea0 54 5f 43 4f 4e 53 54 52 41 49 4e 54 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 T_CONSTRAINTS.=.2;..private.$loa
9eec0 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 69 der;.private.$versionParser;.pri
9eee0 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 77 61 72 6e 69 6e 67 73 3b vate.$errors;.private.$warnings;
9ef00 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 73 74 72 69 63 .private.$config;.private.$stric
9ef20 74 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 66 6c 61 67 73 3b 0a 0a 70 75 62 6c 69 63 20 66 tName;.private.$flags;..public.f
9ef40 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 65 72 66 unction.__construct(LoaderInterf
9ef60 61 63 65 20 24 6c 6f 61 64 65 72 2c 20 24 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 74 72 75 65 2c ace.$loader,.$strictName.=.true,
9ef80 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 .VersionParser.$parser.=.null,.$
9efa0 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 6c 6f flags.=.0).{.$this->loader.=.$lo
9efc0 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 70 61 ader;.$this->versionParser.=.$pa
9efe0 72 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 74 68 rser.?:.new.VersionParser();.$th
9f000 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 24 73 74 72 69 63 74 4e 61 6d 65 3b 0a 24 74 is->strictName.=.$strictName;.$t
9f020 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 his->flags.=.$flags;.}..public.f
9f040 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 63 6c 61 unction.load(array.$config,.$cla
9f060 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 ss.=.'Composer\Package\CompleteP
9f080 61 63 6b 61 67 65 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 ackage').{.$this->errors.=.array
9f0a0 28 29 3b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 ();.$this->warnings.=.array();.$
9f0c0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 69 66 20 28 24 74 68 this->config.=.$config;..if.($th
9f0e0 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 is->strictName).{.$this->validat
9f100 65 52 65 67 65 78 28 27 6e 61 6d 65 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 eRegex('name',.'[A-Za-z0-9][A-Za
9f120 2d 7a 30 2d 39 5f 2e 2d 5d 2a 2f 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 -z0-9_.-]*/[A-Za-z0-9][A-Za-z0-9
9f140 5f 2e 2d 5d 2a 27 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 _.-]*',.true);.}.else.{.$this->v
9f160 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 6e 61 6d 65 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a alidateString('name',.true);.}..
9f180 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f if.(!empty($this->config['versio
9f1a0 6e 27 5d 29 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 n'])).{.try.{.$this->versionPars
9f1c0 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 er->normalize($this->config['ver
9f1e0 73 69 6f 6e 27 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 sion']);.}.catch.(\Exception.$e)
9f200 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 76 65 72 73 69 6f 6e 20 3a 20 .{.$this->errors[].=.'version.:.
9f220 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 invalid.value.('.$this->config['
9f240 76 65 72 73 69 6f 6e 27 5d 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 version'].'):.'.$e->getMessage()
9f260 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d ;.unset($this->config['version']
9f280 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 );.}.}..if.(!empty($this->config
9f2a0 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 66 6f 72 65 61 ['config']['platform'])).{.forea
9f2c0 63 68 20 28 28 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 ch.((array).$this->config['confi
9f2e0 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 70 6c 61 74 g']['platform'].as.$key.=>.$plat
9f300 66 6f 72 6d 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 form).{.try.{.$this->versionPars
9f320 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 6c 61 74 66 6f 72 6d 29 3b 0a 7d 20 63 61 74 63 er->normalize($platform);.}.catc
9f340 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 h.(\Exception.$e).{.$this->error
9f360 73 5b 5d 20 3d 20 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 2e 27 20 2e 20 24 6b 65 79 20 s[].=.'config.platform.'...$key.
9f380 2e 20 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 70 6c 61 74 66 6f 72 6d ..'.:.invalid.value.('.$platform
9f3a0 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a .'):.'.$e->getMessage();.}.}.}..
9f3c0 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 27 74 79 70 65 27 2c 20 27 5b 41 $this->validateRegex('type',.'[A
9f3e0 2d 5a 61 2d 7a 30 2d 39 2d 5d 2b 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 -Za-z0-9-]+');.$this->validateSt
9f400 72 69 6e 67 28 27 74 61 72 67 65 74 2d 64 69 72 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 ring('target-dir');.$this->valid
9f420 61 74 65 41 72 72 61 79 28 27 65 78 74 72 61 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 ateArray('extra');..if.(isset($t
9f440 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 his->config['bin'])).{.if.(is_st
9f460 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 24 74 ring($this->config['bin'])).{.$t
9f480 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 62 69 6e 27 29 3b 0a 7d 20 65 6c his->validateString('bin');.}.el
9f4a0 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 62 se.{.$this->validateFlatArray('b
9f4c0 69 6e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 in');.}.}..$this->validateArray(
9f4e0 27 73 63 72 69 70 74 73 27 29 3b 20 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 'scripts');...$this->validateStr
9f500 69 6e 67 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 ing('description');.$this->valid
9f520 61 74 65 55 72 6c 28 27 68 6f 6d 65 70 61 67 65 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 ateUrl('homepage');.$this->valid
9f540 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 5b 5c 70 7b 4e 7d ateFlatArray('keywords',.'[\p{N}
9f560 5c 70 7b 4c 7d 20 2e 5f 2d 5d 2b 27 29 3b 0a 0a 24 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 6e \p{L}.._-]+');..$releaseDate.=.n
9f580 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 74 69 6d 65 ull;.$this->validateString('time
9f5a0 27 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 ');.if.(!empty($this->config['ti
9f5c0 6d 65 27 5d 29 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 6e 65 me'])).{.try.{.$releaseDate.=.ne
9f5e0 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 w.\DateTime($this->config['time'
9f600 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 20 ],.new.\DateTimeZone('UTC'));.}.
9f620 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 catch.(\Exception.$e).{.$this->e
9f640 72 72 6f 72 73 5b 5d 20 3d 20 27 74 69 6d 65 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 rrors[].=.'time.:.invalid.value.
9f660 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 2e 27 29 3a 20 27 2e 24 ('.$this->config['time'].'):.'.$
9f680 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f e->getMessage();.unset($this->co
9f6a0 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 nfig['time']);.}.}....if.(isset(
9f6c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 26 26 20 28 21 24 $this->config['license']).&&.(!$
9f6e0 72 65 6c 65 61 73 65 44 61 74 65 20 7c 7c 20 24 72 65 6c 65 61 73 65 44 61 74 65 2d 3e 67 65 74 releaseDate.||.$releaseDate->get
9f700 54 69 6d 65 73 74 61 6d 70 28 29 20 3e 3d 20 73 74 72 74 6f 74 69 6d 65 28 27 2d 38 64 61 79 73 Timestamp().>=.strtotime('-8days
9f720 27 29 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 '))).{.if.(is_array($this->confi
9f740 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 7c 7c 20 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 g['license']).||.is_string($this
9f760 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 6c 69 63 65 6e 73 65 ->config['license'])).{.$license
9f780 73 20 3d 20 28 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e s.=.(array).$this->config['licen
9f7a0 73 65 27 5d 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 se'];....foreach.($licenses.as.$
9f7c0 6b 65 79 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 66 20 28 27 70 72 6f 70 72 69 65 74 key.=>.$license).{.if.('propriet
9f7e0 61 72 79 27 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 75 6e 73 65 74 28 24 6c 69 63 65 ary'.===.$license).{.unset($lice
9f800 6e 73 65 73 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 nses[$key]);.}.}..$licenseValida
9f820 74 6f 72 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 69 66 20 28 63 6f tor.=.new.SpdxLicenses();.if.(co
9f840 75 6e 74 28 24 6c 69 63 65 6e 73 65 73 29 20 3d 3d 3d 20 31 20 26 26 20 21 24 6c 69 63 65 6e 73 unt($licenses).===.1.&&.!$licens
9f860 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 65 73 29 20 eValidator->validate($licenses).
9f880 26 26 20 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 74 &&.$licenseValidator->validate(t
9f8a0 72 69 6d 28 24 6c 69 63 65 6e 73 65 73 5b 30 5d 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 rim($licenses[0]))).{.$this->war
9f8c0 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 25 73 20 6d nings[].=.sprintf(.'License.%s.m
9f8e0 75 73 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 65 78 74 72 61 20 73 70 61 63 65 73 2c 20 6d 61 ust.not.contain.extra.spaces,.ma
9f900 6b 65 20 73 75 72 65 20 74 6f 20 74 72 69 6d 20 69 74 2e 27 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 ke.sure.to.trim.it.',.json_encod
9f920 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a 29 3b 0a 7d e($this->config['license']).);.}
9f940 20 65 6c 73 65 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 6c 69 63 65 6e 73 65 73 20 26 .elseif.(array().!==.$licenses.&
9f960 26 20 21 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 &.!$licenseValidator->validate($
9f980 6c 69 63 65 6e 73 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d licenses)).{.$this->warnings[].=
9f9a0 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 25 73 20 69 73 20 6e 6f 74 20 61 20 76 .sprintf(.'License.%s.is.not.a.v
9f9c0 61 6c 69 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 73 65 alid.SPDX.license.identifier,.se
9f9e0 65 20 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 20 69 66 20 e.https://spdx.org/licenses/.if.
9fa00 79 6f 75 20 75 73 65 20 61 6e 20 6f 70 65 6e 20 6c 69 63 65 6e 73 65 2e 27 20 2e 20 50 48 50 5f you.use.an.open.license.'...PHP_
9fa20 45 4f 4c 20 2e 0a 27 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6c 6f 73 65 64 EOL...'If.the.software.is.closed
9fa40 2d 73 6f 75 72 63 65 2c 20 79 6f 75 20 6d 61 79 20 75 73 65 20 22 70 72 6f 70 72 69 65 74 61 72 -source,.you.may.use."proprietar
9fa60 79 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 27 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 74 68 y".as.license.',.json_encode($th
9fa80 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a 29 3b 0a 7d 0a 7d 0a 7d 0a is->config['license']).);.}.}.}.
9faa0 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 61 75 74 68 6f .if.($this->validateArray('autho
9fac0 72 73 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 rs').&&.!empty($this->config['au
9fae0 74 68 6f 72 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 thors'])).{.foreach.($this->conf
9fb00 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 61 75 74 68 6f 72 ig['authors'].as.$key.=>.$author
9fb20 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 68 6f 72 29 29 20 7b 0a 24 74 ).{.if.(!is_array($author)).{.$t
9fb40 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e his->errors[].=.'authors.'.$key.
9fb60 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 74 74 79 70 '.:.should.be.an.array,.'.gettyp
9fb80 65 28 24 61 75 74 68 6f 72 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 e($author).'.given';.unset($this
9fba0 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a 63 6f 6e 74 ->config['authors'][$key]);.cont
9fbc0 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 68 6f 6d 65 70 61 67 65 inue;.}.foreach.(array('homepage
9fbe0 27 2c 20 27 65 6d 61 69 6c 27 2c 20 27 6e 61 6d 65 27 2c 20 27 72 6f 6c 65 27 29 20 61 73 20 24 ',.'email',.'name',.'role').as.$
9fc00 61 75 74 68 6f 72 44 61 74 61 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b authorData).{.if.(isset($author[
9fc20 24 61 75 74 68 6f 72 44 61 74 61 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 61 75 74 $authorData]).&&.!is_string($aut
9fc40 68 6f 72 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f hor[$authorData])).{.$this->erro
9fc60 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 27 2e 24 61 75 74 68 rs[].=.'authors.'.$key.'.'.$auth
9fc80 6f 72 44 61 74 61 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 orData.'.:.invalid.value,.must.b
9fca0 65 20 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 e.a.string';.unset($this->config
9fcc0 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 3b ['authors'][$key][$authorData]);
9fce0 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 .}.}.if.(isset($author['homepage
9fd00 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 61 75 74 68 6f 72 ']).&&.!$this->filterUrl($author
9fd20 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 ['homepage'])).{.$this->warnings
9fd40 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 68 6f 6d 65 70 61 67 65 20 [].=.'authors.'.$key.'.homepage.
9fd60 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 :.invalid.value.('.$author['home
9fd80 70 61 67 65 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 page'].'),.must.be.an.http/https
9fda0 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 .URL';.unset($this->config['auth
9fdc0 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 3b 0a 7d 0a 69 66 20 28 ors'][$key]['homepage']);.}.if.(
9fde0 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 20 26 26 20 21 66 69 6c 74 isset($author['email']).&&.!filt
9fe00 65 72 5f 76 61 72 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c 54 45 52 5f er_var($author['email'],.FILTER_
9fe20 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e VALIDATE_EMAIL)).{.$this->warnin
9fe40 67 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 65 6d 61 69 6c 20 3a gs[].=.'authors.'.$key.'.email.:
9fe60 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c .invalid.value.('.$author['email
9fe80 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 65 6d 61 69 6c 20 61 64 64 '].'),.must.be.a.valid.email.add
9fea0 72 65 73 73 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 ress';.unset($this->config['auth
9fec0 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 69 66 20 28 65 6d 70 ors'][$key]['email']);.}.if.(emp
9fee0 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 ty($this->config['authors'][$key
9ff00 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f ])).{.unset($this->config['autho
9ff20 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 rs'][$key]);.}.}.if.(empty($this
9ff40 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 ->config['authors'])).{.unset($t
9ff60 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 his->config['authors']);.}.}..if
9ff80 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 75 70 70 6f 72 74 27 .($this->validateArray('support'
9ffa0 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f ).&&.!empty($this->config['suppo
9ffc0 72 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 69 73 73 75 65 73 27 rt'])).{.foreach.(array('issues'
9ffe0 2c 20 27 66 6f 72 75 6d 27 2c 20 27 77 69 6b 69 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 65 6d ,.'forum',.'wiki',.'source',.'em
a0000 61 69 6c 27 2c 20 27 69 72 63 27 2c 20 27 64 6f 63 73 27 2c 20 27 72 73 73 27 2c 20 27 63 68 61 ail',.'irc',.'docs',.'rss',.'cha
a0020 74 27 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e t').as.$key).{.if.(isset($this->
a0040 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 69 73 5f config['support'][$key]).&&.!is_
a0060 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b string($this->config['support'][
a0080 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 73 75 70 $key])).{.$this->errors[].=.'sup
a00a0 70 6f 72 74 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d port.'.$key.'.:.invalid.value,.m
a00c0 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 ust.be.a.string';.unset($this->c
a00e0 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 onfig['support'][$key]);.}.}..if
a0100 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d .(isset($this->config['support']
a0120 5b 27 65 6d 61 69 6c 27 5d 29 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 74 68 69 73 2d ['email']).&&.!filter_var($this-
a0140 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c >config['support']['email'],.FIL
a0160 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 TER_VALIDATE_EMAIL)).{.$this->wa
a0180 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 65 6d 61 69 6c 20 3a 20 69 6e 76 61 rnings[].=.'support.email.:.inva
a01a0 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 lid.value.('.$this->config['supp
a01c0 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c ort']['email'].'),.must.be.a.val
a01e0 69 64 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e id.email.address';.unset($this->
a0200 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 0a config['support']['email']);.}..
a0220 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 if.(isset($this->config['support
a0240 27 5d 5b 27 69 72 63 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 ']['irc']).&&.!$this->filterUrl(
a0260 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 2c $this->config['support']['irc'],
a0280 20 61 72 72 61 79 28 27 69 72 63 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 .array('irc'))).{.$this->warning
a02a0 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 69 72 63 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c s[].=.'support.irc.:.invalid.val
a02c0 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 ue.('.$this->config['support']['
a02e0 69 72 63 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 69 72 63 3a 2f 2f 3c 73 65 72 76 65 irc'].'),.must.be.a.irc://<serve
a0300 72 3e 2f 3c 63 68 61 6e 6e 65 6c 3e 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e r>/<channel>.URL';.unset($this->
a0320 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 29 3b 0a 7d 0a 0a 66 6f config['support']['irc']);.}..fo
a0340 72 65 61 63 68 20 28 61 72 72 61 79 28 27 69 73 73 75 65 73 27 2c 20 27 66 6f 72 75 6d 27 2c 20 reach.(array('issues',.'forum',.
a0360 27 77 69 6b 69 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 64 6f 63 73 27 2c 20 27 63 68 61 74 27 'wiki',.'source',.'docs',.'chat'
a0380 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f ).as.$key).{.if.(isset($this->co
a03a0 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 24 74 68 69 73 nfig['support'][$key]).&&.!$this
a03c0 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f ->filterUrl($this->config['suppo
a03e0 72 74 27 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d rt'][$key])).{.$this->warnings[]
a0400 20 3d 20 27 73 75 70 70 6f 72 74 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 .=.'support.'.$key.'.:.invalid.v
a0420 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d alue.('.$this->config['support']
a0440 5b 24 6b 65 79 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 [$key].'),.must.be.an.http/https
a0460 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 .URL';.unset($this->config['supp
a0480 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 ort'][$key]);.}.}.if.(empty($thi
a04a0 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 s->config['support'])).{.unset($
a04c0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a 7d 0a 0a 24 this->config['support']);.}.}..$
a04e0 75 6e 62 6f 75 6e 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 unboundConstraint.=.new.Constrai
a0500 6e 74 28 27 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f nt('=',.$this->versionParser->no
a0520 72 6d 61 6c 69 7a 65 28 27 64 65 76 2d 6d 61 73 74 65 72 27 29 29 3b 0a 24 73 74 61 62 6c 65 43 rmalize('dev-master'));.$stableC
a0540 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 onstraint.=.new.Constraint('=',.
a0560 27 31 2e 30 2e 30 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 42 '1.0.0');..foreach.(array_keys(B
a0580 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 29 asePackage::$supportedLinkTypes)
a05a0 20 61 73 20 24 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 .as.$linkType).{.if.($this->vali
a05c0 64 61 74 65 41 72 72 61 79 28 24 6c 69 6e 6b 54 79 70 65 29 20 26 26 20 69 73 73 65 74 28 24 74 dateArray($linkType).&&.isset($t
a05e0 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 his->config[$linkType])).{.forea
a0600 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 ch.($this->config[$linkType].as.
a0620 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 $package.=>.$constraint).{.if.(!
a0640 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d preg_match('{^[A-Za-z0-9_./-]+$}
a0660 27 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b ',.$package)).{.$this->warnings[
a0680 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 ].=.$linkType.'.'.$package.'.:.i
a06a0 6e 76 61 6c 69 64 20 6b 65 79 2c 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 6d 75 73 74 20 62 nvalid.key,.package.names.must.b
a06c0 65 20 73 74 72 69 6e 67 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 5b 41 2d 5a 61 2d e.strings.containing.only.[A-Za-
a06e0 7a 30 2d 39 5f 2e 2f 2d 5d 27 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f z0-9_./-]';.}.if.(!is_string($co
a0700 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 nstraint)).{.$this->errors[].=.$
a0720 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 linkType.'.'.$package.'.:.invali
a0740 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 d.value,.must.be.a.string.contai
a0760 6e 69 6e 67 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 3b 0a 75 6e 73 65 ning.a.version.constraint';.unse
a0780 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b t($this->config[$linkType][$pack
a07a0 61 67 65 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 age]);.}.elseif.('self.version'.
a07c0 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 74 72 79 20 7b 0a 24 6c 69 6e 6b 43 6f !==.$constraint).{.try.{.$linkCo
a07e0 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d nstraint.=.$this->versionParser-
a0800 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a >parseConstraints($constraint);.
a0820 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d }.catch.(\Exception.$e).{.$this-
a0840 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 >errors[].=.$linkType.'.'.$packa
a0860 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e ge.'.:.invalid.version.constrain
a0880 74 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b 0a 75 6e 73 65 74 t.('.$e->getMessage().')';.unset
a08a0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 ($this->config[$linkType][$packa
a08c0 67 65 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 0a 28 24 74 68 69 73 ge]);.continue;.}....if.(.($this
a08e0 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 55 4e 42 4f 55 4e 44 5f 43 4f ->flags.&.self::CHECK_UNBOUND_CO
a0900 4e 53 54 52 41 49 4e 54 53 29 0a 26 26 20 27 72 65 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c 69 6e NSTRAINTS).&&.'require'.===.$lin
a0920 6b 54 79 70 65 0a 26 26 20 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 kType.&&.$linkConstraint->matche
a0940 73 28 24 75 6e 62 6f 75 6e 64 43 6f 6e 73 74 72 61 69 6e 74 29 0a 26 26 20 21 70 72 65 67 5f 6d s($unboundConstraint).&&.!preg_m
a0960 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 atch(PlatformRepository::PLATFOR
a0980 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 70 61 63 6b 61 67 65 29 0a 29 20 7b 0a 24 M_PACKAGE_REGEX,.$package).).{.$
a09a0 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 this->warnings[].=.$linkType.'.'
a09c0 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 75 6e 62 6f 75 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f .$package.'.:.unbound.version.co
a09e0 6e 73 74 72 61 69 6e 74 73 20 28 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 20 73 68 6f 75 nstraints.('.$constraint.').shou
a0a00 6c 64 20 62 65 20 61 76 6f 69 64 65 64 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 0a 0a 20 28 24 74 ld.be.avoided';.}.elseif.(...($t
a0a20 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 53 54 52 49 43 54 5f his->flags.&.self::CHECK_STRICT_
a0a40 43 4f 4e 53 54 52 41 49 4e 54 53 29 0a 26 26 20 27 72 65 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c CONSTRAINTS).&&.'require'.===.$l
a0a60 69 6e 6b 54 79 70 65 0a 26 26 20 73 75 62 73 74 72 28 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e inkType.&&.substr($linkConstrain
a0a80 74 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 3d 27 0a 26 26 20 24 73 74 61 62 6c 65 43 6f 6e 73 74 t,.0,.1).===.'='.&&.$stableConst
a0aa0 72 61 69 6e 74 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 73 74 61 62 6c 65 43 6f 6e raint->versionCompare($stableCon
a0ac0 73 74 72 61 69 6e 74 2c 20 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2c 20 27 3c 3d 27 29 0a straint,.$linkConstraint,.'<=').
a0ae0 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 ).{.$this->warnings[].=.$linkTyp
a0b00 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e e.'.'.$package.'.:.exact.version
a0b20 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 20 73 .constraints.('.$constraint.').s
a0b40 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 hould.be.avoided.if.the.package.
a0b60 66 6f 6c 6c 6f 77 73 20 73 65 6d 61 6e 74 69 63 20 76 65 72 73 69 6f 6e 69 6e 67 27 3b 0a 7d 0a follows.semantic.versioning';.}.
a0b80 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 }.}.}.}..if.($this->validateArra
a0ba0 79 28 27 73 75 67 67 65 73 74 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f y('suggest').&&.!empty($this->co
a0bc0 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 nfig['suggest'])).{.foreach.($th
a0be0 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 70 61 63 6b 61 67 is->config['suggest'].as.$packag
a0c00 65 20 3d 3e 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 e.=>.$description).{.if.(!is_str
a0c20 69 6e 67 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f ing($description)).{.$this->erro
a0c40 72 73 5b 5d 20 3d 20 27 73 75 67 67 65 73 74 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 rs[].=.'suggest.'.$package.'.:.i
a0c60 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 64 nvalid.value,.must.be.a.string.d
a0c80 65 73 63 72 69 62 69 6e 67 20 77 68 79 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 73 75 67 escribing.why.the.package.is.sug
a0ca0 67 65 73 74 65 64 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 gested';.unset($this->config['su
a0cc0 67 67 65 73 74 27 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 ggest'][$package]);.}.}.}..if.($
a0ce0 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 6d 69 6e 69 6d 75 6d 2d 73 74 this->validateString('minimum-st
a0d00 61 62 69 6c 69 74 79 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ability').&&.!empty($this->confi
a0d20 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 69 66 20 28 21 g['minimum-stability'])).{.if.(!
a0d40 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b isset(BasePackage::$stabilities[
a0d60 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 $this->config['minimum-stability
a0d80 27 5d 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 6d 69 6e 69 6d ']])).{.$this->errors[].=.'minim
a0da0 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e um-stability.:.invalid.value.('.
a0dc0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 $this->config['minimum-stability
a0de0 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 27 2e 69 6d 70 6c 6f 64 65 28 '].'),.must.be.one.of.'.implode(
a0e00 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 ',.',.array_keys(BasePackage::$s
a0e20 74 61 62 69 6c 69 74 69 65 73 29 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 tabilities));.unset($this->confi
a0e40 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 g['minimum-stability']);.}.}..if
a0e60 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 61 75 74 6f 6c 6f 61 64 .($this->validateArray('autoload
a0e80 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f ').&&.!empty($this->config['auto
a0ea0 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 27 70 73 72 2d 30 load'])).{.$types.=.array('psr-0
a0ec0 27 2c 20 27 70 73 72 2d 34 27 2c 20 27 63 6c 61 73 73 6d 61 70 27 2c 20 27 66 69 6c 65 73 27 2c ',.'psr-4',.'classmap',.'files',
a0ee0 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 3b 0a 66 6f 72 65 61 .'exclude-from-classmap');.forea
a0f00 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 20 61 73 ch.($this->config['autoload'].as
a0f20 20 24 74 79 70 65 20 3d 3e 20 24 74 79 70 65 43 6f 6e 66 69 67 29 20 7b 0a 69 66 20 28 21 69 6e .$type.=>.$typeConfig).{.if.(!in
a0f40 5f 61 72 72 61 79 28 24 74 79 70 65 2c 20 24 74 79 70 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e _array($type,.$types)).{.$this->
a0f60 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 6f 6c 6f 61 64 20 3a 20 69 6e 76 61 6c 69 64 20 76 errors[].=.'autoload.:.invalid.v
a0f80 61 6c 75 65 20 28 27 2e 24 74 79 70 65 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 alue.('.$type.'),.must.be.one.of
a0fa0 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 74 79 70 65 73 29 3b 0a 75 6e 73 65 74 28 .'.implode(',.',.$types);.unset(
a0fc0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 24 74 79 70 65 5d $this->config['autoload'][$type]
a0fe0 29 3b 0a 7d 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 70 73 72 2d 34 27 29 20 7b 0a 66 6f );.}.if.($type.===.'psr-4').{.fo
a1000 72 65 61 63 68 20 28 24 74 79 70 65 43 6f 6e 66 69 67 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 reach.($typeConfig.as.$namespace
a1020 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 21 3d 3d 20 .=>.$dirs).{.if.($namespace.!==.
a1040 27 27 20 26 26 20 27 5c 5c 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 73 70 61 63 65 ''.&&.'\\'.!==.substr($namespace
a1060 2c 20 2d 31 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 6f ,.-1)).{.$this->errors[].=.'auto
a1080 6c 6f 61 64 2e 70 73 72 2d 34 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 6e load.psr-4.:.invalid.value.('.$n
a10a0 61 6d 65 73 70 61 63 65 2e 27 29 2c 20 6e 61 6d 65 73 70 61 63 65 73 20 6d 75 73 74 20 65 6e 64 amespace.'),.namespaces.must.end
a10c0 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2c 20 73 68 6f .with.a.namespace.separator,.sho
a10e0 75 6c 64 20 62 65 20 27 2e 24 6e 61 6d 65 73 70 61 63 65 2e 27 5c 5c 5c 5c 27 3b 0a 7d 0a 7d 0a uld.be.'.$namespace.'\\\\';.}.}.
a1100 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b }.}.}..if.(!empty($this->config[
a1120 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 34 27 5d 29 20 26 26 20 21 65 6d 70 74 79 28 'autoload']['psr-4']).&&.!empty(
a1140 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 29 20 7b 0a $this->config['target-dir'])).{.
a1160 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 74 61 72 67 65 74 2d 64 69 72 20 3a 20 $this->errors[].=.'target-dir.:.
a1180 74 68 69 73 20 63 61 6e 20 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 this.can.not.be.used.together.wi
a11a0 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 34 20 73 65 74 74 69 6e 67 2c 20 72 th.the.autoload.psr-4.setting,.r
a11c0 65 6d 6f 76 65 20 74 61 72 67 65 74 2d 64 69 72 20 74 6f 20 75 70 67 72 61 64 65 20 74 6f 20 70 emove.target-dir.to.upgrade.to.p
a11e0 73 72 2d 34 27 3b 0a 0a 20 0a 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 sr-4';.....unset($this->config['
a1200 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 34 27 5d 29 3b 0a 7d 0a 0a 0a 20 0a 0a 0a 20 0a autoload']['psr-4']);.}.........
a1220 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 69 6e 63 6c 75 .$this->validateFlatArray('inclu
a1240 64 65 2d 70 61 74 68 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 de-path');.$this->validateArray(
a1260 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f 6e 73 27 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 'transport-options');....if.(iss
a1280 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 et($this->config['extra']['branc
a12a0 68 2d 61 6c 69 61 73 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 h-alias'])).{.if.(!is_array($thi
a12c0 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 s->config['extra']['branch-alias
a12e0 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e '])).{.$this->errors[].=.'extra.
a1300 62 72 61 6e 63 68 2d 61 6c 69 61 73 20 3a 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 branch-alias.:.must.be.an.array.
a1320 6f 66 20 76 65 72 73 69 6f 6e 73 20 3d 3e 20 61 6c 69 61 73 65 73 27 3b 0a 7d 20 65 6c 73 65 20 of.versions.=>.aliases';.}.else.
a1340 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 {.foreach.($this->config['extra'
a1360 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 20 61 73 20 24 73 6f 75 72 63 65 42 72 61 6e ]['branch-alias'].as.$sourceBran
a1380 63 68 20 3d 3e 20 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 20 7b 0a 0a 20 69 66 20 28 27 2d 64 ch.=>.$targetBranch).{...if.('-d
a13a0 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 ev'.!==.substr($targetBranch,.-4
a13c0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e )).{.$this->warnings[].=.'extra.
a13e0 62 72 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a branch-alias.'.$sourceBranch.'.:
a1400 20 74 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 .the.target.branch.('.$targetBra
a1420 6e 63 68 2e 27 29 20 6d 75 73 74 20 65 6e 64 20 69 6e 20 2d 64 65 76 27 3b 0a 75 6e 73 65 74 28 nch.').must.end.in.-dev';.unset(
a1440 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 $this->config['extra']['branch-a
a1460 6c 69 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e 75 lias'][$sourceBranch]);..continu
a1480 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d e;.}....$validatedTargetBranch.=
a14a0 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 .$this->versionParser->normalize
a14c0 42 72 61 6e 63 68 28 73 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 Branch(substr($targetBranch,.0,.
a14e0 2d 34 29 29 3b 0a 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c -4));.if.('-dev'.!==.substr($val
a1500 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 idatedTargetBranch,.-4)).{.$this
a1520 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 ->warnings[].=.'extra.branch-ali
a1540 61 73 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 as.'.$sourceBranch.'.:.the.targe
a1560 74 20 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 6d 75 73 t.branch.('.$targetBranch.').mus
a1580 74 20 62 65 20 61 20 70 61 72 73 65 61 62 6c 65 20 6e 75 6d 62 65 72 20 6c 69 6b 65 20 32 2e 30 t.be.a.parseable.number.like.2.0
a15a0 2d 64 65 76 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 -dev';.unset($this->config['extr
a15c0 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 a']['branch-alias'][$sourceBranc
a15e0 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 h]);..continue;.}....if.(($sourc
a1600 65 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e ePrefix.=.$this->versionParser->
a1620 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 parseNumericAliasPrefix($sourceB
a1640 72 61 6e 63 68 29 29 0a 26 26 20 28 24 74 61 72 67 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 ranch)).&&.($targetPrefix.=.$thi
a1660 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c s->versionParser->parseNumericAl
a1680 69 61 73 50 72 65 66 69 78 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 iasPrefix($targetBranch)).&&.(st
a16a0 72 69 70 6f 73 28 24 74 61 72 67 65 74 50 72 65 66 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 ripos($targetPrefix,.$sourcePref
a16c0 69 78 29 20 21 3d 3d 20 30 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d ix).!==.0).).{.$this->warnings[]
a16e0 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 .=.'extra.branch-alias.'.$source
a1700 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e Branch.'.:.the.target.branch.('.
a1720 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 $targetBranch.').is.not.a.valid.
a1740 6e 75 6d 65 72 69 63 20 61 6c 69 61 73 20 66 6f 72 20 74 68 69 73 20 76 65 72 73 69 6f 6e 27 3b numeric.alias.for.this.version';
a1760 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 .unset($this->config['extra']['b
a1780 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 7d ranch-alias'][$sourceBranch]);.}
a17a0 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 29 20 7b 0a 74 68 72 .}.}.}..if.($this->errors).{.thr
a17c0 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 ow.new.InvalidPackageException($
a17e0 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 2c 20 24 this->errors,.$this->warnings,.$
a1800 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f config);.}..$package.=.$this->lo
a1820 61 64 65 72 2d 3e 6c 6f 61 64 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 ader->load($this->config,.$class
a1840 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e );.$this->config.=.null;..return
a1860 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 .$package;.}..public.function.ge
a1880 74 57 61 72 6e 69 6e 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e tWarnings().{.return.$this->warn
a18a0 69 6e 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f ings;.}..public.function.getErro
a18c0 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a rs().{.return.$this->errors;.}..
a18e0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 public.static.function.hasPackag
a1900 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 6e 61 6d 65 2c 20 24 69 73 4c 69 6e 6b 20 3d 20 66 61 eNamingError($name,.$isLink.=.fa
a1920 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 lse).{.if.(preg_match(PlatformRe
a1940 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 pository::PLATFORM_PACKAGE_REGEX
a1960 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 ,.$name)).{.return;.}..if.(!preg
a1980 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 _match('{^[a-z0-9]([_.-]?[a-z0-9
a19a0 5d 2b 29 2a 2f 5b 61 2d 7a 30 2d 39 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 24 ]+)*/[a-z0-9]([_.-]?[a-z0-9]+)*$
a19c0 7d 69 44 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 }iD',.$name)).{.return.$name.'.i
a19e0 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 76 65 6e 64 s.invalid,.it.should.have.a.vend
a1a00 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 2c 20 61 6e 64 20 61 20 or.name,.a.forward.slash,.and.a.
a1a20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2e 20 54 68 65 20 76 65 6e 64 6f 72 20 61 6e 64 20 70 61 63 package.name..The.vendor.and.pac
a1a40 6b 61 67 65 20 6e 61 6d 65 20 63 61 6e 20 62 65 20 77 6f 72 64 73 20 73 65 70 61 72 61 74 65 64 kage.name.can.be.words.separated
a1a60 20 62 79 20 2d 2c 20 2e 20 6f 72 20 5f 2e 20 54 68 65 20 63 6f 6d 70 6c 65 74 65 20 6e 61 6d 65 .by.-,...or._..The.complete.name
a1a80 20 73 68 6f 75 6c 64 20 6d 61 74 63 68 20 22 5b 61 2d 7a 30 2d 39 5d 28 5b 5f 2e 2d 5d 3f 5b 61 .should.match."[a-z0-9]([_.-]?[a
a1aa0 2d 7a 30 2d 39 5d 2b 29 2a 2f 5b 61 2d 7a 30 2d 39 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 -z0-9]+)*/[a-z0-9]([_.-]?[a-z0-9
a1ac0 5d 2b 29 2a 22 2e 27 3b 0a 7d 0a 0a 24 72 65 73 65 72 76 65 64 4e 61 6d 65 73 20 3d 20 61 72 72 ]+)*".';.}..$reservedNames.=.arr
a1ae0 61 79 28 27 6e 75 6c 27 2c 20 27 63 6f 6e 27 2c 20 27 70 72 6e 27 2c 20 27 61 75 78 27 2c 20 27 ay('nul',.'con',.'prn',.'aux',.'
a1b00 63 6f 6d 31 27 2c 20 27 63 6f 6d 32 27 2c 20 27 63 6f 6d 33 27 2c 20 27 63 6f 6d 34 27 2c 20 27 com1',.'com2',.'com3',.'com4',.'
a1b20 63 6f 6d 35 27 2c 20 27 63 6f 6d 36 27 2c 20 27 63 6f 6d 37 27 2c 20 27 63 6f 6d 38 27 2c 20 27 com5',.'com6',.'com7',.'com8',.'
a1b40 63 6f 6d 39 27 2c 20 27 6c 70 74 31 27 2c 20 27 6c 70 74 32 27 2c 20 27 6c 70 74 33 27 2c 20 27 com9',.'lpt1',.'lpt2',.'lpt3',.'
a1b60 6c 70 74 34 27 2c 20 27 6c 70 74 35 27 2c 20 27 6c 70 74 36 27 2c 20 27 6c 70 74 37 27 2c 20 27 lpt4',.'lpt5',.'lpt6',.'lpt7',.'
a1b80 6c 70 74 38 27 2c 20 27 6c 70 74 39 27 29 3b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 lpt8',.'lpt9');.$bits.=.explode(
a1ba0 27 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 29 3b 0a 69 66 20 28 69 6e 5f '/',.strtolower($name));.if.(in_
a1bc0 61 72 72 61 79 28 24 62 69 74 73 5b 30 5d 2c 20 24 72 65 73 65 72 76 65 64 4e 61 6d 65 73 2c 20 array($bits[0],.$reservedNames,.
a1be0 74 72 75 65 29 20 7c 7c 20 69 6e 5f 61 72 72 61 79 28 24 62 69 74 73 5b 31 5d 2c 20 24 72 65 73 true).||.in_array($bits[1],.$res
a1c00 65 72 76 65 64 4e 61 6d 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d ervedNames,.true)).{.return.$nam
a1c20 65 2e 27 20 69 73 20 72 65 73 65 72 76 65 64 2c 20 70 61 63 6b 61 67 65 20 61 6e 64 20 76 65 6e e.'.is.reserved,.package.and.ven
a1c40 64 6f 72 20 6e 61 6d 65 73 20 63 61 6e 20 6e 6f 74 20 6d 61 74 63 68 20 61 6e 79 20 6f 66 3a 20 dor.names.can.not.match.any.of:.
a1c60 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 72 65 73 65 72 76 65 64 4e 61 6d 65 73 29 2e '.implode(',.',.$reservedNames).
a1c80 27 2e 27 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 2e 6a 73 6f 6e 24 '.';.}..if.(preg_match('{\.json$
a1ca0 7d 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 }',.$name)).{.return.$name.'.is.
a1cc0 69 6e 76 61 6c 69 64 2c 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 63 61 6e 20 6e 6f 74 20 65 invalid,.package.names.can.not.e
a1ce0 6e 64 20 69 6e 20 2e 6a 73 6f 6e 2c 20 63 6f 6e 73 69 64 65 72 20 72 65 6e 61 6d 69 6e 67 20 69 nd.in..json,.consider.renaming.i
a1d00 74 20 6f 72 20 70 65 72 68 61 70 73 20 75 73 69 6e 67 20 61 20 2d 6a 73 6f 6e 20 73 75 66 66 69 t.or.perhaps.using.a.-json.suffi
a1d20 78 20 69 6e 73 74 65 61 64 2e 27 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 x.instead.';.}..if.(preg_match('
a1d40 7b 5b 41 2d 5a 5d 7d 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 69 66 20 28 24 69 73 4c 69 6e 6b 29 {[A-Z]}',.$name)).{.if.($isLink)
a1d60 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 .{.return.$name.'.is.invalid,.it
a1d80 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 75 70 70 65 72 63 61 73 65 20 63 68 .should.not.contain.uppercase.ch
a1da0 61 72 61 63 74 65 72 73 2e 20 50 6c 65 61 73 65 20 75 73 65 20 27 2e 73 74 72 74 6f 6c 6f 77 65 aracters..Please.use.'.strtolowe
a1dc0 72 28 24 6e 61 6d 65 29 2e 27 20 69 6e 73 74 65 61 64 2e 27 3b 0a 7d 0a 0a 24 73 75 67 67 65 73 r($name).'.instead.';.}..$sugges
a1de0 74 4e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a 5d tName.=.preg_replace('{(?:([a-z]
a1e00 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 2c )([A-Z])|([A-Z])([A-Z][a-z]))}',
a1e20 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c 20 24 6e 61 6d 65 29 3b 0a 24 73 75 67 67 65 .'\\1\\3-\\2\\4',.$name);.$sugge
a1e40 73 74 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 stName.=.strtolower($suggestName
a1e60 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 );..return.$name.'.is.invalid,.i
a1e80 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 75 70 70 65 72 63 61 73 65 20 63 t.should.not.contain.uppercase.c
a1ea0 68 61 72 61 63 74 65 72 73 2e 20 57 65 20 73 75 67 67 65 73 74 20 75 73 69 6e 67 20 27 2e 24 73 haracters..We.suggest.using.'.$s
a1ec0 75 67 67 65 73 74 4e 61 6d 65 2e 27 20 69 6e 73 74 65 61 64 2e 27 3b 0a 7d 0a 7d 0a 0a 70 72 69 uggestName.'.instead.';.}.}..pri
a1ee0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 70 72 6f vate.function.validateRegex($pro
a1f00 70 65 72 74 79 2c 20 24 72 65 67 65 78 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 perty,.$regex,.$mandatory.=.fals
a1f20 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 e).{.if.(!$this->validateString(
a1f40 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e $property,.$mandatory)).{.return
a1f60 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e .false;.}..if.(!preg_match('{^'.
a1f80 24 72 65 67 65 78 2e 27 24 7d 75 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f $regex.'$}u',.$this->config[$pro
a1fa0 70 65 72 74 79 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 70 72 6f 70 65 72 74 79 2e perty])).{.$message.=.$property.
a1fc0 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 '.:.invalid.value.('.$this->conf
a1fe0 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 2e 27 29 2c 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 ig[$property].'),.must.match.'.$
a2000 72 65 67 65 78 3b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e regex;.if.($mandatory).{.$this->
a2020 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 errors[].=.$message;.}.else.{.$t
a2040 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 75 6e his->warnings[].=.$message;.}.un
a2060 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a set($this->config[$property]);..
a2080 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a return.false;.}..return.true;.}.
a20a0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 .private.function.validateString
a20c0 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a ($property,.$mandatory.=.false).
a20e0 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 {.if.(isset($this->config[$prope
a2100 72 74 79 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 rty]).&&.!is_string($this->confi
a2120 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d g[$property])).{.$this->errors[]
a2140 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 .=.$property.'.:.should.be.a.str
a2160 69 6e 67 2c 20 27 2e 67 65 74 74 79 70 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 ing,.'.gettype($this->config[$pr
a2180 6f 70 65 72 74 79 5d 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e operty]).'.given';.unset($this->
a21a0 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 config[$property]);..return.fals
a21c0 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 e;.}..if.(!isset($this->config[$
a21e0 70 72 6f 70 65 72 74 79 5d 29 20 7c 7c 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 property]).||.trim($this->config
a2200 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 3d 3d 3d 20 27 27 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 [$property]).===.'').{.if.($mand
a2220 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 atory).{.$this->errors[].=.$prop
a2240 65 72 74 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 70 72 65 73 65 6e 74 27 3b 0a 7d 0a 75 6e 73 erty.'.:.must.be.present';.}.uns
a2260 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 et($this->config[$property]);..r
a2280 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a eturn.false;.}..return.true;.}..
a22a0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 private.function.validateArray($
a22c0 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a property,.$mandatory.=.false).{.
a22e0 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 if.(isset($this->config[$propert
a2300 79 5d 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 y]).&&.!is_array($this->config[$
a2320 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 property])).{.$this->errors[].=.
a2340 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 $property.'.:.should.be.an.array
a2360 2c 20 27 2e 67 65 74 74 79 70 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 ,.'.gettype($this->config[$prope
a2380 72 74 79 5d 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e rty]).'.given';.unset($this->con
a23a0 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a fig[$property]);..return.false;.
a23c0 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f }..if.(!isset($this->config[$pro
a23e0 70 65 72 74 79 5d 29 20 7c 7c 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b perty]).||.!count($this->config[
a2400 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b $property])).{.if.($mandatory).{
a2420 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a .$this->errors[].=.$property.'.:
a2440 20 6d 75 73 74 20 62 65 20 70 72 65 73 65 6e 74 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 61 74 20 .must.be.present.and.contain.at.
a2460 6c 65 61 73 74 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 least.one.element';.}.unset($thi
a2480 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 s->config[$property]);..return.f
a24a0 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 alse;.}..return.true;.}..private
a24c0 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 24 70 72 6f .function.validateFlatArray($pro
a24e0 70 65 72 74 79 2c 20 24 72 65 67 65 78 20 3d 20 6e 75 6c 6c 2c 20 24 6d 61 6e 64 61 74 6f 72 79 perty,.$regex.=.null,.$mandatory
a2500 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 .=.false).{.if.(!$this->validate
a2520 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a Array($property,.$mandatory)).{.
a2540 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a 66 return.false;.}..$pass.=.true;.f
a2560 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d oreach.($this->config[$property]
a2580 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 .as.$key.=>.$value).{.if.(!is_st
a25a0 72 69 6e 67 28 24 76 61 6c 75 65 29 20 26 26 20 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c ring($value).&&.!is_numeric($val
a25c0 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 ue)).{.$this->errors[].=.$proper
a25e0 74 79 2e 27 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 ty.'.'.$key.'.:.must.be.a.string
a2600 20 6f 72 20 69 6e 74 2c 20 27 2e 67 65 74 74 79 70 65 28 24 76 61 6c 75 65 29 2e 27 20 67 69 76 .or.int,.'.gettype($value).'.giv
a2620 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 en';.unset($this->config[$proper
a2640 74 79 5d 5b 24 6b 65 79 5d 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 63 6f 6e 74 ty][$key]);.$pass.=.false;..cont
a2660 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 67 65 78 20 26 26 20 21 70 72 65 67 5f 6d 61 74 inue;.}..if.($regex.&&.!preg_mat
a2680 63 68 28 27 7b 5e 27 2e 24 72 65 67 65 78 2e 27 24 7d 75 27 2c 20 24 76 61 6c 75 65 29 29 20 7b ch('{^'.$regex.'$}u',.$value)).{
a26a0 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 .$this->warnings[].=.$property.'
a26c0 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 76 61 .'.$key.'.:.invalid.value.('.$va
a26e0 6c 75 65 2e 27 29 2c 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b 0a 75 6e 73 lue.'),.must.match.'.$regex;.uns
a2700 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 5b 24 6b 65 79 et($this->config[$property][$key
a2720 5d 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ]);.$pass.=.false;.}.}..return.$
a2740 70 61 73 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 pass;.}..private.function.valida
a2760 74 65 55 72 6c 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 teUrl($property,.$mandatory.=.fa
a2780 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e lse).{.if.(!$this->validateStrin
a27a0 67 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 g($property,.$mandatory)).{.retu
a27c0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 rn.false;.}..if.(!$this->filterU
a27e0 72 6c 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a rl($this->config[$property])).{.
a2800 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 $this->warnings[].=.$property.'.
a2820 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 :.invalid.value.('.$this->config
a2840 5b 24 70 72 6f 70 65 72 74 79 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f [$property].'),.must.be.an.http/
a2860 68 74 74 70 73 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b https.URL';.unset($this->config[
a2880 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 $property]);..return.false;.}..r
a28a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 eturn.true;.}..private.function.
a28c0 66 69 6c 74 65 72 55 72 6c 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 20 24 73 63 68 65 6d 65 73 filterUrl($value,.array.$schemes
a28e0 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 2c 20 27 68 74 74 70 73 27 29 29 0a 7b 0a 69 66 20 .=.array('http',.'https')).{.if.
a2900 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d ($value.===.'').{.return.true;.}
a2920 0a 0a 24 62 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 76 61 6c 75 65 29 3b 0a 69 66 20 ..$bits.=.parse_url($value);.if.
a2940 28 65 6d 70 74 79 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 (empty($bits['scheme']).||.empty
a2960 28 24 62 69 74 73 5b 27 68 6f 73 74 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ($bits['host'])).{.return.false;
a2980 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 .}..if.(!in_array($bits['scheme'
a29a0 5d 2c 20 24 73 63 68 65 6d 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c ],.$schemes,.true)).{.return.fal
a29c0 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a se;.}..return.true;.}.}.<?php...
a29e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b .........namespace.Composer\Pack
a2a00 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 age;..use.Composer\Json\JsonFile
a2a20 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c ;.use.Composer\Installer\Install
a2a40 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ationManager;.use.Composer\Repos
a2a60 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d itory\RepositoryManager;.use.Com
a2a80 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
a2aa0 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 Composer\Repository\ArrayReposit
a2ac0 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 ory;.use.Composer\Package\Dumper
a2ae0 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 \ArrayDumper;.use.Composer\Packa
a2b00 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f ge\Loader\ArrayLoader;.use.Compo
a2b20 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d ser\Util\Git.as.GitUtil;.use.Com
a2b40 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 65 6c 64 5c 4a poser\IO\IOInterface;.use.Seld\J
a2b60 73 6f 6e 4c 69 6e 74 5c 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a sonLint\ParsingException;.......
a2b80 0a 63 6c 61 73 73 20 4c 6f 63 6b 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 46 69 6c .class.Locker.{.private.$lockFil
a2ba0 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 70 e;.private.$repositoryManager;.p
a2bc0 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 70 72 69 rivate.$installationManager;.pri
a2be0 76 61 74 65 20 24 68 61 73 68 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 6e 74 48 61 73 68 vate.$hash;.private.$contentHash
a2c00 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 64 75 6d 70 ;.private.$loader;.private.$dump
a2c20 65 72 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6c er;.private.$process;.private.$l
a2c40 6f 63 6b 44 61 74 61 43 61 63 68 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ockDataCache;...........public.f
a2c60 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 unction.__construct(IOInterface.
a2c80 24 69 6f 2c 20 4a 73 6f 6e 46 69 6c 65 20 24 6c 6f 63 6b 46 69 6c 65 2c 20 52 65 70 6f 73 69 74 $io,.JsonFile.$lockFile,.Reposit
a2ca0 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 49 oryManager.$repositoryManager,.I
a2cc0 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e nstallationManager.$installation
a2ce0 4d 61 6e 61 67 65 72 2c 20 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 0a Manager,.$composerFileContents).
a2d00 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 20 3d 20 24 6c 6f 63 6b 46 69 6c 65 3b 0a 24 {.$this->lockFile.=.$lockFile;.$
a2d20 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 72 65 70 6f 73 this->repositoryManager.=.$repos
a2d40 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f itoryManager;.$this->installatio
a2d60 6e 4d 61 6e 61 67 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b nManager.=.$installationManager;
a2d80 0a 24 74 68 69 73 2d 3e 68 61 73 68 20 3d 20 6d 64 35 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 .$this->hash.=.md5($composerFile
a2da0 43 6f 6e 74 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 20 Contents);.$this->contentHash.=.
a2dc0 73 65 6c 66 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 48 61 73 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 self::getContentHash($composerFi
a2de0 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 leContents);.$this->loader.=.new
a2e00 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d .ArrayLoader(null,.true);.$this-
a2e20 3e 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 24 74 68 >dumper.=.new.ArrayDumper();.$th
a2e40 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f is->process.=.new.ProcessExecuto
a2e60 72 28 24 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 r($io);.}.........public.static.
a2e80 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 48 61 73 68 28 24 63 6f 6d 70 6f 73 65 function.getContentHash($compose
a2ea0 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 6a 73 6f 6e rFileContents).{.$content.=.json
a2ec0 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 74 _decode($composerFileContents,.t
a2ee0 72 75 65 29 3b 0a 0a 24 72 65 6c 65 76 61 6e 74 4b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 6e rue);..$relevantKeys.=.array(.'n
a2f00 61 6d 65 27 2c 0a 27 76 65 72 73 69 6f 6e 27 2c 0a 27 72 65 71 75 69 72 65 27 2c 0a 27 72 65 71 ame',.'version',.'require',.'req
a2f20 75 69 72 65 2d 64 65 76 27 2c 0a 27 63 6f 6e 66 6c 69 63 74 27 2c 0a 27 72 65 70 6c 61 63 65 27 uire-dev',.'conflict',.'replace'
a2f40 2c 0a 27 70 72 6f 76 69 64 65 27 2c 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 ,.'provide',.'minimum-stability'
a2f60 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 ,.'prefer-stable',.'repositories
a2f80 27 2c 0a 27 65 78 74 72 61 27 2c 0a 29 3b 0a 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 ',.'extra',.);..$relevantContent
a2fa0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 69 6e 74 65 .=.array();..foreach.(array_inte
a2fc0 72 73 65 63 74 28 24 72 65 6c 65 76 61 6e 74 4b 65 79 73 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 rsect($relevantKeys,.array_keys(
a2fe0 24 63 6f 6e 74 65 6e 74 29 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 24 72 65 6c 65 76 61 6e 74 43 $content)).as.$key).{.$relevantC
a3000 6f 6e 74 65 6e 74 5b 24 6b 65 79 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 5b 24 6b 65 79 5d 3b 0a 7d ontent[$key].=.$content[$key];.}
a3020 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 .if.(isset($content['config']['p
a3040 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 5b 27 latform'])).{.$relevantContent['
a3060 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 5b config']['platform'].=.$content[
a3080 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 'config']['platform'];.}..ksort(
a30a0 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6d 64 35 28 6a $relevantContent);..return.md5(j
a30c0 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 29 29 3b 0a 7d son_encode($relevantContent));.}
a30e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 63 6b 65 64 28 .......public.function.isLocked(
a3100 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 74 73 ).{.if.(!$this->lockFile->exists
a3120 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 ()).{.return.false;.}..$data.=.$
a3140 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 this->getLockData();..return.iss
a3160 65 74 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 et($data['packages']);.}.......p
a3180 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 46 72 65 73 68 28 29 0a 7b 0a 24 6c 6f 63 6b ublic.function.isFresh().{.$lock
a31a0 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 69 66 20 .=.$this->lockFile->read();..if.
a31c0 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 5d 29 29 20 (!empty($lock['content-hash'])).
a31e0 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 3d {...return.$this->contentHash.==
a3200 3d 20 24 6c 6f 63 6b 5b 27 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 20 69 66 =.$lock['content-hash'];.}....if
a3220 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 68 61 73 68 27 5d 29 29 20 7b 0a 72 65 74 75 72 .(!empty($lock['hash'])).{.retur
a3240 6e 20 24 74 68 69 73 2d 3e 68 61 73 68 20 3d 3d 3d 20 24 6c 6f 63 6b 5b 27 68 61 73 68 27 5d 3b n.$this->hash.===.$lock['hash'];
a3260 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 .}....return.false;.}.........pu
a3280 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 blic.function.getLockedRepositor
a32a0 79 28 24 77 69 74 68 44 65 76 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 y($withDevReqs.=.false).{.$lockD
a32c0 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 70 61 63 ata.=.$this->getLockData();.$pac
a32e0 6b 61 67 65 73 20 3d 20 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a kages.=.new.ArrayRepository();..
a3300 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 $lockedPackages.=.$lockData['pac
a3320 6b 61 67 65 73 27 5d 3b 0a 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 29 20 7b 0a 69 66 20 kages'];.if.($withDevReqs).{.if.
a3340 28 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d (isset($lockData['packages-dev']
a3360 29 29 20 7b 0a 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 )).{.$lockedPackages.=.array_mer
a3380 67 65 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 2c 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 ge($lockedPackages,.$lockData['p
a33a0 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e ackages-dev']);.}.else.{.throw.n
a33c0 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6c 6f 63 6b 20 66 ew.\RuntimeException('The.lock.f
a33e0 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 ile.does.not.contain.require-dev
a3400 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 72 75 6e 20 69 6e 73 74 61 6c 6c 20 77 69 74 68 20 74 .information,.run.install.with.t
a3420 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 20 6f 72 20 72 75 6e 20 75 70 64 61 74 65 he.--no-dev.option.or.run.update
a3440 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 27 29 3b 0a 7d .to.install.those.packages.');.}
a3460 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 29 29 20 .}..if.(empty($lockedPackages)).
a3480 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 {.return.$packages;.}..if.(isset
a34a0 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a ($lockedPackages[0]['name'])).{.
a34c0 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 69 6e 66 foreach.($lockedPackages.as.$inf
a34e0 6f 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 o).{.$packages->addPackage($this
a3500 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 69 6e 66 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 ->loader->load($info));.}..retur
a3520 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 n.$packages;.}..throw.new.\Runti
a3540 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 meException('Your.composer.lock.
a3560 77 61 73 20 63 72 65 61 74 65 64 20 62 65 66 6f 72 65 20 32 30 31 32 2d 30 39 2d 31 35 2c 20 61 was.created.before.2012-09-15,.a
a3580 6e 64 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 61 6e 79 6d 6f 72 65 2e 20 52 75 6e nd.is.not.supported.anymore..Run
a35a0 20 22 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 22 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 ."composer.update".to.generate.a
a35c0 20 6e 65 77 20 6f 6e 65 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .new.one.');.}........public.fun
a35e0 63 74 69 6f 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 77 ction.getPlatformRequirements($w
a3600 69 74 68 44 65 76 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 ithDevReqs.=.false).{.$lockData.
a3620 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 72 65 71 75 69 72 65 =.$this->getLockData();.$require
a3640 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f ments.=.array();..if.(!empty($lo
a3660 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 6d ckData['platform'])).{.$requirem
a3680 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 ents.=.$this->loader->parseLinks
a36a0 28 0a 27 5f 5f 52 4f 4f 54 5f 5f 27 2c 0a 27 31 2e 30 2e 30 27 2c 0a 27 72 65 71 75 69 72 65 73 (.'__ROOT__',.'1.0.0',.'requires
a36c0 27 2c 0a 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 ',.isset($lockData['platform']).
a36e0 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3a 20 61 72 72 61 79 28 ?.$lockData['platform'].:.array(
a3700 29 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 20 26 26 20 21 65 6d 70 ).);.}..if.($withDevReqs.&&.!emp
a3720 74 79 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 29 20 7b ty($lockData['platform-dev'])).{
a3740 0a 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 .$devRequirements.=.$this->loade
a3760 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 27 5f 5f 52 4f 4f 54 5f 5f 27 2c 0a 27 31 2e 30 2e r->parseLinks(.'__ROOT__',.'1.0.
a3780 30 27 2c 0a 27 72 65 71 75 69 72 65 73 27 2c 0a 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 0',.'requires',.isset($lockData[
a37a0 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 'platform-dev']).?.$lockData['pl
a37c0 61 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 0a 24 72 65 71 75 atform-dev'].:.array().);..$requ
a37e0 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 6d irements.=.array_merge($requirem
a3800 65 6e 74 73 2c 20 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 ents,.$devRequirements);.}..retu
a3820 72 6e 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rn.$requirements;.}..public.func
a3840 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 24 6c 6f tion.getMinimumStability().{.$lo
a3860 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a ckData.=.$this->getLockData();..
a3880 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d return.isset($lockData['minimum-
a38a0 73 74 61 62 69 6c 69 74 79 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 stability']).?.$lockData['minimu
a38c0 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3a 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 70 75 62 m-stability'].:.'stable';.}..pub
a38e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 lic.function.getStabilityFlags()
a3900 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 .{.$lockData.=.$this->getLockDat
a3920 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 a();..return.isset($lockData['st
a3940 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 ability-flags']).?.$lockData['st
a3960 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 ability-flags'].:.array();.}..pu
a3980 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a blic.function.getPreferStable().
a39a0 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 {.$lockData.=.$this->getLockData
a39c0 28 29 3b 0a 0a 0a 20 0a 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b ();......return.isset($lockData[
a39e0 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 'prefer-stable']).?.$lockData['p
a3a00 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 refer-stable'].:.null;.}..public
a3a20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 29 0a 7b 0a 24 6c .function.getPreferLowest().{.$l
a3a40 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a ockData.=.$this->getLockData();.
a3a60 0a 0a 20 0a 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 .....return.isset($lockData['pre
a3a80 66 65 72 2d 6c 6f 77 65 73 74 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 fer-lowest']).?.$lockData['prefe
a3aa0 72 2d 6c 6f 77 65 73 74 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e r-lowest'].:.null;.}..public.fun
a3ac0 63 74 69 6f 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 28 29 0a 7b 0a 24 ction.getPlatformOverrides().{.$
a3ae0 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b lockData.=.$this->getLockData();
a3b00 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f ..return.isset($lockData['platfo
a3b20 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 rm-overrides']).?.$lockData['pla
a3b40 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a tform-overrides'].:.array();.}..
a3b60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 24 public.function.getAliases().{.$
a3b80 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b lockData.=.$this->getLockData();
a3ba0 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 ..return.isset($lockData['aliase
a3bc0 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d 20 3a 20 61 72 s']).?.$lockData['aliases'].:.ar
a3be0 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 ray();.}..public.function.getLoc
a3c00 6b 44 61 74 61 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 6f kData().{.if.(null.!==.$this->lo
a3c20 63 6b 44 61 74 61 43 61 63 68 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 ckDataCache).{.return.$this->loc
a3c40 6b 44 61 74 61 43 61 63 68 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 kDataCache;.}..if.(!$this->lockF
a3c60 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 ile->exists()).{.throw.new.\Logi
a3c80 63 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 6c 6f 63 6b 66 69 6c 65 20 66 6f 75 6e 64 2e 20 55 cException('No.lockfile.found..U
a3ca0 6e 61 62 6c 65 20 74 6f 20 72 65 61 64 20 6c 6f 63 6b 65 64 20 70 61 63 6b 61 67 65 73 27 29 3b nable.to.read.locked.packages');
a3cc0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 20 .}..return.$this->lockDataCache.
a3ce0 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 0a =.$this->lockFile->read();.}....
a3d00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ..............public.function.se
a3d20 74 4c 6f 63 6b 44 61 74 61 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 64 65 76 50 tLockData(array.$packages,.$devP
a3d40 61 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 70 ackages,.array.$platformReqs,.$p
a3d60 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 2c 20 latformDevReqs,.array.$aliases,.
a3d80 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c $minimumStability,.array.$stabil
a3da0 69 74 79 46 6c 61 67 73 2c 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 ityFlags,.$preferStable,.$prefer
a3dc0 4c 6f 77 65 73 74 2c 20 61 72 72 61 79 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 Lowest,.array.$platformOverrides
a3de0 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 61 72 72 61 79 28 0a 27 5f 72 65 61 64 6d 65 27 20 3d 3e 20 ).{.$lock.=.array(.'_readme'.=>.
a3e00 61 72 72 61 79 28 27 54 68 69 73 20 66 69 6c 65 20 6c 6f 63 6b 73 20 74 68 65 20 64 65 70 65 6e array('This.file.locks.the.depen
a3e20 64 65 6e 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 20 74 6f 20 61 20 6b 6e 6f dencies.of.your.project.to.a.kno
a3e40 77 6e 20 73 74 61 74 65 27 2c 0a 27 52 65 61 64 20 6d 6f 72 65 20 61 62 6f 75 74 20 69 74 20 61 wn.state',.'Read.more.about.it.a
a3e60 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 31 t.https://getcomposer.org/doc/01
a3e80 2d 62 61 73 69 63 2d 75 73 61 67 65 2e 6d 64 23 69 6e 73 74 61 6c 6c 69 6e 67 2d 64 65 70 65 6e -basic-usage.md#installing-depen
a3ea0 64 65 6e 63 69 65 73 27 2c 0a 27 54 68 69 73 20 66 69 6c 65 20 69 73 20 40 67 65 6e 65 72 27 2e dencies',.'This.file.is.@gener'.
a3ec0 27 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 27 2c 20 29 2c 0a 27 63 6f 6e 74 65 6e 'ated.automatically',.),.'conten
a3ee0 74 2d 68 61 73 68 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 2c 0a 27 t-hash'.=>.$this->contentHash,.'
a3f00 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 70 61 63 6b 61 67 65 73 2d 64 65 76 packages'.=>.null,.'packages-dev
a3f20 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 61 6c 69 61 73 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c '.=>.null,.'aliases'.=>.array(),
a3f40 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 20 3d 3e 20 24 6d 69 6e 69 6d 75 6d .'minimum-stability'.=>.$minimum
a3f60 53 74 61 62 69 6c 69 74 79 2c 0a 27 73 74 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 20 3d 3e 20 Stability,.'stability-flags'.=>.
a3f80 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 $stabilityFlags,.'prefer-stable'
a3fa0 20 3d 3e 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 2c 0a 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 .=>.$preferStable,.'prefer-lowes
a3fc0 74 27 20 3d 3e 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 t'.=>.$preferLowest,.);..foreach
a3fe0 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 .($aliases.as.$package.=>.$versi
a4000 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 ons).{.foreach.($versions.as.$ve
a4020 72 73 69 6f 6e 20 3d 3e 20 24 61 6c 69 61 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 61 6c 69 61 73 65 rsion.=>.$alias).{.$lock['aliase
a4040 73 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 61 6c 69 61 73 s'][].=.array(.'alias'.=>.$alias
a4060 5b 27 61 6c 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e ['alias'],.'alias_normalized'.=>
a4080 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 0a 27 76 65 .$alias['alias_normalized'],.'ve
a40a0 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e rsion'.=>.$version,.'package'.=>
a40c0 20 24 70 61 63 6b 61 67 65 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 .$package,.);.}.}..$lock['packag
a40e0 65 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b es'].=.$this->lockPackages($pack
a4100 61 67 65 73 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 76 50 61 63 6b 61 67 65 73 ages);.if.(null.!==.$devPackages
a4120 29 20 7b 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 20 3d 20 24 74 68 69 ).{.$lock['packages-dev'].=.$thi
a4140 73 2d 3e 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 24 64 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d s->lockPackages($devPackages);.}
a4160 0a 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 ..$lock['platform'].=.$platformR
a4180 65 71 73 3b 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3d 20 24 70 6c eqs;.$lock['platform-dev'].=.$pl
a41a0 61 74 66 6f 72 6d 44 65 76 52 65 71 73 3b 0a 69 66 20 28 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 atformDevReqs;.if.($platformOver
a41c0 72 69 64 65 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 rides).{.$lock['platform-overrid
a41e0 65 73 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 3b 0a 7d 0a 0a 69 66 es'].=.$platformOverrides;.}..if
a4200 20 28 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 65 6d .(empty($lock['packages']).&&.em
a4220 70 74 79 28 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 20 26 26 20 65 6d pty($lock['packages-dev']).&&.em
a4240 70 74 79 28 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 26 26 20 65 6d 70 74 79 28 pty($lock['platform']).&&.empty(
a4260 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 29 20 7b 0a 69 66 20 28 24 74 $lock['platform-dev'])).{.if.($t
a4280 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 75 6e 6c 69 6e his->lockFile->exists()).{.unlin
a42a0 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d k($this->lockFile->getPath());.}
a42c0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 69 73 4c 6f 63 6b ..return.false;.}..try.{.$isLock
a42e0 65 64 20 3d 20 24 74 68 69 73 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 3b 0a 7d 20 63 61 74 63 68 20 ed.=.$this->isLocked();.}.catch.
a4300 28 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 73 4c 6f 63 6b 65 (ParsingException.$e).{.$isLocke
a4320 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 24 69 73 4c 6f 63 6b 65 64 20 7c 7c 20 24 d.=.false;.}.if.(!$isLocked.||.$
a4340 6c 6f 63 6b 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 29 20 7b lock.!==.$this->getLockData()).{
a4360 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 77 72 69 74 65 28 24 6c 6f 63 6b 29 3b 0a .$this->lockFile->write($lock);.
a4380 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 $this->lockDataCache.=.null;..re
a43a0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 turn.true;.}..return.false;.}..p
a43c0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 61 72 72 rivate.function.lockPackages(arr
a43e0 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 6c 6f 63 6b 65 64 20 3d 20 61 72 72 61 79 28 ay.$packages).{.$locked.=.array(
a4400 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 );..foreach.($packages.as.$packa
a4420 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c ge).{.if.($package.instanceof.Al
a4440 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6e 61 6d 65 iasPackage).{.continue;.}..$name
a4460 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 76 .=.$package->getPrettyName();.$v
a4480 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 ersion.=.$package->getPrettyVers
a44a0 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 21 24 6e 61 6d 65 20 7c 7c 20 21 24 76 65 72 73 69 6f 6e 29 ion();..if.(!$name.||.!$version)
a44c0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 .{.throw.new.\LogicException(spr
a44e0 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 22 25 73 22 20 68 61 73 20 6e 6f 20 76 65 72 73 69 intf(.'Package."%s".has.no.versi
a4500 6f 6e 20 6f 72 20 6e 61 6d 65 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 6c 6f 63 6b 65 64 on.or.name.and.can.not.be.locked
a4520 27 2c 0a 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a 7d 0a 0a 24 73 70 65 63 20 3d 20 24 74 68 69 73 ',.$package.));.}..$spec.=.$this
a4540 2d 3e 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 75 6e 73 65 74 28 ->dumper->dump($package);.unset(
a4560 24 73 70 65 63 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a 0a 0a $spec['version_normalized']);...
a4580 20 24 74 69 6d 65 20 3d 20 69 73 73 65 74 28 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 29 20 3f 20 .$time.=.isset($spec['time']).?.
a45a0 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 75 6e 73 65 74 28 24 73 70 65 $spec['time'].:.null;.unset($spe
a45c0 63 5b 27 74 69 6d 65 27 5d 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 c['time']);.if.($package->isDev(
a45e0 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f ).&&.$package->getInstallationSo
a4600 75 72 63 65 28 29 20 3d 3d 3d 20 27 73 6f 75 72 63 65 27 29 20 7b 0a 0a 20 24 74 69 6d 65 20 3d urce().===.'source').{...$time.=
a4620 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 54 69 6d 65 28 24 70 61 63 6b 61 67 65 29 .$this->getPackageTime($package)
a4640 20 3f 3a 20 24 74 69 6d 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 29 .?:.$time;.}.if.(null.!==.$time)
a4660 20 7b 0a 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 20 3d 20 24 74 69 6d 65 3b 0a 7d 0a 0a 75 6e 73 .{.$spec['time'].=.$time;.}..uns
a4680 65 74 28 24 73 70 65 63 5b 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 et($spec['installation-source'])
a46a0 3b 0a 0a 24 6c 6f 63 6b 65 64 5b 5d 20 3d 20 24 73 70 65 63 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 ;..$locked[].=.$spec;.}..usort($
a46c0 6c 6f 63 6b 65 64 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 24 63 6f 6d locked,.function.($a,.$b).{.$com
a46e0 70 61 72 69 73 6f 6e 20 3d 20 73 74 72 63 6d 70 28 24 61 5b 27 6e 61 6d 65 27 5d 2c 20 24 62 5b parison.=.strcmp($a['name'],.$b[
a4700 27 6e 61 6d 65 27 5d 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 63 6f 6d 70 61 72 69 73 6f 6e 'name']);..if.(0.!==.$comparison
a4720 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 61 72 69 73 6f 6e 3b 0a 7d 0a 0a 0a 20 72 65 74 ).{.return.$comparison;.}....ret
a4740 75 72 6e 20 73 74 72 63 6d 70 28 24 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 24 62 5b 27 76 65 urn.strcmp($a['version'],.$b['ve
a4760 72 73 69 6f 6e 27 5d 29 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 63 6b 65 64 3b 0a 7d rsion']);.});..return.$locked;.}
a4780 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b ........private.function.getPack
a47a0 61 67 65 54 69 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 ageTime(PackageInterface.$packag
a47c0 65 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f e).{.if.(!function_exists('proc_
a47e0 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 70 61 74 68 20 open')).{.return.null;.}..$path.
a4800 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 =.realpath($this->installationMa
a4820 6e 61 67 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 nager->getInstallPath($package))
a4840 3b 0a 24 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 ;.$sourceType.=.$package->getSou
a4860 72 63 65 54 79 70 65 28 29 3b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 rceType();.$datetime.=.null;..if
a4880 20 28 24 70 61 74 68 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 73 6f 75 72 63 65 54 79 70 65 2c .($path.&&.in_array($sourceType,
a48a0 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 67 27 29 29 29 20 7b 0a 24 73 6f 75 72 63 65 52 .array('git',.'hg'))).{.$sourceR
a48c0 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 ef.=.$package->getSourceReferenc
a48e0 65 28 29 20 3f 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 e().?:.$package->getDistReferenc
a4900 65 28 29 3b 0a 73 77 69 74 63 68 20 28 24 73 6f 75 72 63 65 54 79 70 65 29 20 7b 0a 63 61 73 65 e();.switch.($sourceType).{.case
a4920 20 27 67 69 74 27 3a 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 69 66 .'git':.GitUtil::cleanEnv();..if
a4940 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 .(0.===.$this->process->execute(
a4960 27 67 69 74 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d 25 63 74 20 27 2e 50 72 6f 63 'git.log.-n1.--pretty=%ct.'.Proc
a4980 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 52 65 66 29 2c essExecutor::escape($sourceRef),
a49a0 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 .$output,.$path).&&.preg_match('
a49c0 7b 5e 5c 73 2a 5c 64 2b 5c 73 2a 24 7d 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 64 61 74 {^\s*\d+\s*$}',.$output)).{.$dat
a49e0 65 74 69 6d 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 74 72 69 6d 28 24 etime.=.new.\DateTime('@'.trim($
a4a00 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 output),.new.\DateTimeZone('UTC'
a4a20 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 68 67 27 3a 0a 69 66 20 28 30 20 3d ));.}.break;..case.'hg':.if.(0.=
a4a40 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 6c ==.$this->process->execute('hg.l
a4a60 6f 67 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 64 61 74 65 7c 68 67 64 61 74 65 7d 22 20 2d 72 og.--template."{date|hgdate}".-r
a4a80 20 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 .'.ProcessExecutor::escape($sour
a4aa0 63 65 52 65 66 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 20 26 26 20 70 72 65 67 5f ceRef),.$output,.$path).&&.preg_
a4ac0 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 64 2b 29 5c 73 2a 7d 27 2c 20 24 6f 75 74 70 75 74 2c match('{^\s*(\d+)\s*}',.$output,
a4ae0 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 65 77 20 5c 44 61 74 .$match)).{.$datetime.=.new.\Dat
a4b00 65 54 69 6d 65 28 27 40 27 2e 24 6d 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 eTime('@'.$match[1],.new.\DateTi
a4b20 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 meZone('UTC'));.}.break;.}.}..re
a4b40 74 75 72 6e 20 24 64 61 74 65 74 69 6d 65 20 3f 20 24 64 61 74 65 74 69 6d 65 2d 3e 66 6f 72 6d turn.$datetime.?.$datetime->form
a4b60 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 at(DATE_RFC3339).:.null;.}.}.<?p
a4b80 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
a4ba0 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c \Package;..use.Composer\Package\
a4bc0 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f Version\VersionParser;.use.Compo
a4be0 73 65 72 5c 55 74 69 6c 5c 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 ser\Util\ComposerMirror;.......c
a4c00 6c 61 73 73 20 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 65 lass.Package.extends.BasePackage
a4c20 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 .{.protected.$type;.protected.$t
a4c40 61 72 67 65 74 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f argetDir;.protected.$installatio
a4c60 6e 53 6f 75 72 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 54 79 70 65 3b 0a nSource;.protected.$sourceType;.
a4c80 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 protected.$sourceUrl;.protected.
a4ca0 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 $sourceReference;.protected.$sou
a4cc0 72 63 65 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 54 79 70 65 3b rceMirrors;.protected.$distType;
a4ce0 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 .protected.$distUrl;.protected.$
a4d00 64 69 73 74 52 65 66 65 72 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 53 68 distReference;.protected.$distSh
a4d20 61 31 43 68 65 63 6b 73 75 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 4d 69 72 72 6f a1Checksum;.protected.$distMirro
a4d40 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 rs;.protected.$version;.protecte
a4d60 64 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6c d.$prettyVersion;.protected.$rel
a4d80 65 61 73 65 44 61 74 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 74 72 61 20 3d 20 61 72 72 easeDate;.protected.$extra.=.arr
a4da0 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 ay();.protected.$binaries.=.arra
a4dc0 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 y();.protected.$dev;.protected.$
a4de0 73 74 61 62 69 6c 69 74 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 69 66 69 63 61 74 69 stability;.protected.$notificati
a4e00 6f 6e 55 72 6c 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 71 75 69 72 65 73 20 3d 20 61 onUrl;...protected.$requires.=.a
a4e20 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 rray();..protected.$conflicts.=.
a4e40 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 20 3d 20 array();..protected.$provides.=.
a4e60 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6c 61 63 65 73 20 3d 20 array();..protected.$replaces.=.
a4e80 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 52 65 71 75 69 72 65 73 array();..protected.$devRequires
a4ea0 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 73 20 .=.array();.protected.$suggests.
a4ec0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 6f 6c 6f 61 64 20 3d =.array();.protected.$autoload.=
a4ee0 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 .array();.protected.$devAutoload
a4f00 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 63 6c 75 64 65 50 61 .=.array();.protected.$includePa
a4f20 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 ths.=.array();.protected.$archiv
a4f40 65 45 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 eExcludes.=.array();.........pub
a4f60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 lic.function.__construct($name,.
a4f80 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 $version,.$prettyVersion).{.pare
a4fa0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e nt::__construct($name);..$this->
a4fc0 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 version.=.$version;.$this->prett
a4fe0 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 0a 24 74 68 69 yVersion.=.$prettyVersion;..$thi
a5000 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 s->stability.=.VersionParser::pa
a5020 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 rseStability($version);.$this->d
a5040 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b ev.=.$this->stability.===.'dev';
a5060 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 0a 7b .}.....public.function.isDev().{
a5080 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.$this->dev;.}.....public
a50a0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 .function.setType($type).{.$this
a50c0 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ->type.=.$type;.}.....public.fun
a50e0 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ction.getType().{.return.$this->
a5100 74 79 70 65 20 3f 3a 20 27 6c 69 62 72 61 72 79 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 type.?:.'library';.}.....public.
a5120 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e function.getStability().{.return
a5140 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->stability;.}.....public.
a5160 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 74 44 69 72 28 24 74 61 72 67 65 74 44 69 72 function.setTargetDir($targetDir
a5180 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 69 72 20 3d 20 24 74 61 72 67 65 74 44 69 ).{.$this->targetDir.=.$targetDi
a51a0 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 r;.}.....public.function.getTarg
a51c0 65 74 44 69 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 etDir().{.if.(null.===.$this->ta
a51e0 72 67 65 74 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6c 74 72 rgetDir).{.return;.}..return.ltr
a5200 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 20 28 3f 3a 5e 7c 5b 5c 5c 5c 5c 2f 5d 2b im(preg_replace('{.(?:^|[\\\\/]+
a5220 29 20 5c 2e 5c 2e 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 28 3f 3a 5c 2e 5c 2e 3f 20 ).\.\.?.(?:[\\\\/]+|$).(?:\.\.?.
a5240 28 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 29 2a 7d 78 27 2c 20 27 2f 27 2c 20 24 74 68 69 73 (?:[\\\\/]+|$).)*}x',.'/',.$this
a5260 2d 3e 74 61 72 67 65 74 44 69 72 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ->targetDir),.'/');.}.....public
a5280 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 61 29 .function.setExtra(array.$extra)
a52a0 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 20 3d 20 24 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a .{.$this->extra.=.$extra;.}.....
a52c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 0a 7b 0a 72 65 74 public.function.getExtra().{.ret
a52e0 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 urn.$this->extra;.}.....public.f
a5300 75 6e 63 74 69 6f 6e 20 73 65 74 42 69 6e 61 72 69 65 73 28 61 72 72 61 79 20 24 62 69 6e 61 72 unction.setBinaries(array.$binar
a5320 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 20 3d 20 24 62 69 6e 61 72 69 ies).{.$this->binaries.=.$binari
a5340 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e es;.}.....public.function.getBin
a5360 61 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 aries().{.return.$this->binaries
a5380 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 ;.}.....public.function.setInsta
a53a0 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e llationSource($type).{.$this->in
a53c0 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a stallationSource.=.$type;.}.....
a53e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 public.function.getInstallationS
a5400 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 ource().{.return.$this->installa
a5420 74 69 6f 6e 53 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tionSource;.}.....public.functio
a5440 6e 20 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e n.setSourceType($type).{.$this->
a5460 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 sourceType.=.$type;.}.....public
a5480 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 .function.getSourceType().{.retu
a54a0 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c rn.$this->sourceType;.}.....publ
a54c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 75 72 6c 29 0a 7b ic.function.setSourceUrl($url).{
a54e0 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a .$this->sourceUrl.=.$url;.}.....
a5500 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 0a 7b public.function.getSourceUrl().{
a5520 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a .return.$this->sourceUrl;.}.....
a5540 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e public.function.setSourceReferen
a5560 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 ce($reference).{.$this->sourceRe
a5580 66 65 72 65 6e 63 65 20 3d 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ference.=.$reference;.}.....publ
a55a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 ic.function.getSourceReference()
a55c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 .{.return.$this->sourceReference
a55e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 ;.}.....public.function.setSourc
a5600 65 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 eMirrors($mirrors).{.$this->sour
a5620 63 65 4d 69 72 72 6f 72 73 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ceMirrors.=.$mirrors;.}.....publ
a5640 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 0a 7b ic.function.getSourceMirrors().{
a5660 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 7d 0a .return.$this->sourceMirrors;.}.
a5680 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c ....public.function.getSourceUrl
a56a0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 73 28 24 74 68 69 s().{.return.$this->getUrls($thi
a56c0 73 2d 3e 73 6f 75 72 63 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f s->sourceUrl,.$this->sourceMirro
a56e0 72 73 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 2c 20 24 74 68 69 rs,.$this->sourceReference,.$thi
a5700 73 2d 3e 73 6f 75 72 63 65 54 79 70 65 2c 20 27 73 6f 75 72 63 65 27 29 3b 0a 7d 0a 0a 0a 0a 0a s->sourceType,.'source');.}.....
a5720 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 54 79 70 65 28 24 74 79 70 public.function.setDistType($typ
a5740 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 54 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a e).{.$this->distType.=.$type;.}.
a5760 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 ....public.function.getDistType(
a5780 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 54 79 70 65 3b 0a 7d 0a 0a 0a ).{.return.$this->distType;.}...
a57a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 55 72 6c 28 24 75 72 ..public.function.setDistUrl($ur
a57c0 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 55 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a l).{.$this->distUrl.=.$url;.}...
a57e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 28 29 0a 7b ..public.function.getDistUrl().{
a5800 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .return.$this->distUrl;.}.....pu
a5820 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 blic.function.setDistReference($
a5840 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 reference).{.$this->distReferenc
a5860 65 20 3d 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e e.=.$reference;.}.....public.fun
a5880 63 74 69 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 ction.getDistReference().{.retur
a58a0 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 n.$this->distReference;.}.....pu
a58c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 blic.function.setDistSha1Checksu
a58e0 6d 28 24 73 68 61 31 63 68 65 63 6b 73 75 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 53 68 m($sha1checksum).{.$this->distSh
a5900 61 31 43 68 65 63 6b 73 75 6d 20 3d 20 24 73 68 61 31 63 68 65 63 6b 73 75 6d 3b 0a 7d 0a 0a 0a a1Checksum.=.$sha1checksum;.}...
a5920 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 ..public.function.getDistSha1Che
a5940 63 6b 73 75 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 53 68 61 31 cksum().{.return.$this->distSha1
a5960 43 68 65 63 6b 73 75 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Checksum;.}.....public.function.
a5980 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 24 74 68 69 73 setDistMirrors($mirrors).{.$this
a59a0 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a ->distMirrors.=.$mirrors;.}.....
a59c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 public.function.getDistMirrors()
a59e0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 7d 0a .{.return.$this->distMirrors;.}.
a5a00 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 ....public.function.getDistUrls(
a5a20 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 73 28 24 74 68 69 73 2d ).{.return.$this->getUrls($this-
a5a40 3e 64 69 73 74 55 72 6c 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 2c 20 24 74 >distUrl,.$this->distMirrors,.$t
a5a60 68 69 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 65 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 54 his->distReference,.$this->distT
a5a80 79 70 65 2c 20 27 64 69 73 74 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ype,.'dist');.}.....public.funct
a5aa0 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ion.getVersion().{.return.$this-
a5ac0 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 >version;.}.....public.function.
a5ae0 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 getPrettyVersion().{.return.$thi
a5b00 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 s->prettyVersion;.}.......public
a5b20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 5c 44 61 74 65 54 69 .function.setReleaseDate(\DateTi
a5b40 6d 65 20 24 72 65 6c 65 61 73 65 44 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 me.$releaseDate).{.$this->releas
a5b60 65 44 61 74 65 20 3d 20 24 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c eDate.=.$releaseDate;.}.....publ
a5b80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 0a 7b 0a 72 ic.function.getReleaseDate().{.r
a5ba0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a eturn.$this->releaseDate;.}.....
a5bc0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 ..public.function.setRequires(ar
a5be0 72 61 79 20 24 72 65 71 75 69 72 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 ray.$requires).{.$this->requires
a5c00 20 3d 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .=.$requires;.}.....public.funct
a5c20 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getRequires().{.return.$this
a5c40 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->requires;.}.......public.funct
a5c60 69 6f 6e 20 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 ion.setConflicts(array.$conflict
a5c80 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 20 3d 20 24 63 6f 6e 66 6c 69 63 s).{.$this->conflicts.=.$conflic
a5ca0 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e ts;.}.....public.function.getCon
a5cc0 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 flicts().{.return.$this->conflic
a5ce0 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 ts;.}.......public.function.setP
a5d00 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 0a 7b 0a 24 74 68 69 73 rovides(array.$provides).{.$this
a5d20 2d 3e 70 72 6f 76 69 64 65 73 20 3d 20 24 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ->provides.=.$provides;.}.....pu
a5d40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 0a 7b 0a 72 65 blic.function.getProvides().{.re
a5d60 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 turn.$this->provides;.}.......pu
a5d80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 blic.function.setReplaces(array.
a5da0 24 72 65 70 6c 61 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 20 3d 20 24 $replaces).{.$this->replaces.=.$
a5dc0 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 replaces;.}.....public.function.
a5de0 67 65 74 52 65 70 6c 61 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 getReplaces().{.return.$this->re
a5e00 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 places;.}.......public.function.
a5e20 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 setDevRequires(array.$devRequire
a5e40 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 24 64 65 76 52 65 s).{.$this->devRequires.=.$devRe
a5e60 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 quires;.}.....public.function.ge
a5e80 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 tDevRequires().{.return.$this->d
a5ea0 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 evRequires;.}.......public.funct
a5ec0 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 ion.setSuggests(array.$suggests)
a5ee0 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 73 20 3d 20 24 73 75 67 67 65 73 74 73 3b 0a .{.$this->suggests.=.$suggests;.
a5f00 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 }.....public.function.getSuggest
a5f20 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 73 3b 0a 7d 0a s().{.return.$this->suggests;.}.
a5f40 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 ......public.function.setAutoloa
a5f60 64 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f d(array.$autoload).{.$this->auto
a5f80 6c 6f 61 64 20 3d 20 24 61 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 load.=.$autoload;.}.....public.f
a5fa0 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.getAutoload().{.return.$
a5fc0 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 this->autoload;.}.......public.f
a5fe0 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 65 unction.setDevAutoload(array.$de
a6000 76 41 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 41 75 74 6f 6c 6f 61 64 20 vAutoload).{.$this->devAutoload.
a6020 3d 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e =.$devAutoload;.}.....public.fun
a6040 63 74 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.getDevAutoload().{.return.
a6060 24 74 68 69 73 2d 3e 64 65 76 41 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c $this->devAutoload;.}.......publ
a6080 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 61 72 72 61 ic.function.setIncludePaths(arra
a60a0 79 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 y.$includePaths).{.$this->includ
a60c0 65 50 61 74 68 73 20 3d 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ePaths.=.$includePaths;.}.....pu
a60e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 0a blic.function.getIncludePaths().
a6100 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a {.return.$this->includePaths;.}.
a6120 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 69 66 69 63 ......public.function.setNotific
a6140 61 74 69 6f 6e 55 72 6c 28 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 29 0a 7b 0a 24 74 68 ationUrl($notificationUrl).{.$th
a6160 69 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 20 3d 20 24 6e 6f 74 69 66 69 63 61 74 is->notificationUrl.=.$notificat
a6180 69 6f 6e 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ionUrl;.}.....public.function.ge
a61a0 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tNotificationUrl().{.return.$thi
a61c0 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c s->notificationUrl;.}.......publ
a61e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 61 ic.function.setArchiveExcludes(a
a6200 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 rray.$excludes).{.$this->archive
a6220 45 78 63 6c 75 64 65 73 20 3d 20 24 65 78 63 6c 75 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c Excludes.=.$excludes;.}.....publ
a6240 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 ic.function.getArchiveExcludes()
a6260 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 .{.return.$this->archiveExcludes
a6280 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c ;.}.........public.function.repl
a62a0 61 63 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 aceVersion($version,.$prettyVers
a62c0 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e ion).{.$this->version.=.$version
a62e0 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 ;.$this->prettyVersion.=.$pretty
a6300 56 65 72 73 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 Version;..$this->stability.=.Ver
a6320 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 sionParser::parseStability($vers
a6340 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c ion);.$this->dev.=.$this->stabil
a6360 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ity.===.'dev';.}..protected.func
a6380 74 69 6f 6e 20 67 65 74 55 72 6c 73 28 24 75 72 6c 2c 20 24 6d 69 72 72 6f 72 73 2c 20 24 72 65 tion.getUrls($url,.$mirrors,.$re
a63a0 66 2c 20 24 74 79 70 65 2c 20 24 75 72 6c 54 79 70 65 29 0a 7b 0a 69 66 20 28 21 24 75 72 6c 29 f,.$type,.$urlType).{.if.(!$url)
a63c0 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 75 72 6c 73 20 3d 20 61 72 72 .{.return.array();.}.$urls.=.arr
a63e0 61 79 28 24 75 72 6c 29 3b 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 29 20 7b 0a 66 6f 72 65 61 63 ay($url);.if.($mirrors).{.foreac
a6400 68 20 28 24 6d 69 72 72 6f 72 73 20 61 73 20 24 6d 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 24 75 h.($mirrors.as.$mirror).{.if.($u
a6420 72 6c 54 79 70 65 20 3d 3d 3d 20 27 64 69 73 74 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 rlType.===.'dist').{.$mirrorUrl.
a6440 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 73 55 72 6c 28 24 6d 69 =.ComposerMirror::processUrl($mi
a6460 72 72 6f 72 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 74 68 69 73 2d rror['url'],.$this->name,.$this-
a6480 3e 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 2c 20 24 74 79 70 65 29 3b 0a 7d 20 65 6c 73 65 69 66 >version,.$ref,.$type);.}.elseif
a64a0 20 28 24 75 72 6c 54 79 70 65 20 3d 3d 3d 20 27 73 6f 75 72 63 65 27 20 26 26 20 24 74 79 70 65 .($urlType.===.'source'.&&.$type
a64c0 20 3d 3d 3d 20 27 67 69 74 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f .===.'git').{.$mirrorUrl.=.Compo
a64e0 73 65 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 serMirror::processGitUrl($mirror
a6500 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 ['url'],.$this->name,.$url,.$typ
a6520 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 75 72 6c 54 79 70 65 20 3d 3d 3d 20 27 73 6f 75 72 e);.}.elseif.($urlType.===.'sour
a6540 63 65 27 20 26 26 20 24 74 79 70 65 20 3d 3d 3d 20 27 68 67 27 29 20 7b 0a 24 6d 69 72 72 6f 72 ce'.&&.$type.===.'hg').{.$mirror
a6560 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 73 48 67 55 Url.=.ComposerMirror::processHgU
a6580 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 rl($mirror['url'],.$this->name,.
a65a0 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d $url,.$type);.}.if.(!in_array($m
a65c0 69 72 72 6f 72 55 72 6c 2c 20 24 75 72 6c 73 29 29 20 7b 0a 24 66 75 6e 63 20 3d 20 24 6d 69 72 irrorUrl,.$urls)).{.$func.=.$mir
a65e0 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 20 3f 20 27 61 72 72 61 79 5f 75 6e 73 68 69 66 ror['preferred'].?.'array_unshif
a6600 74 27 20 3a 20 27 61 72 72 61 79 5f 70 75 73 68 27 3b 0a 24 66 75 6e 63 28 24 75 72 6c 73 2c 20 t'.:.'array_push';.$func($urls,.
a6620 24 6d 69 72 72 6f 72 55 72 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 73 $mirrorUrl);.}.}.}..return.$urls
a6640 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
a6660 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 .Composer\Package;..use.Composer
a6680 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b \Repository\RepositoryInterface;
a66a0 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 .......interface.PackageInterfac
a66c0 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 e.{......public.function.getName
a66e0 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 ();.......public.function.getPre
a6700 74 74 79 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ttyName();..........public.funct
a6720 69 6f 6e 20 67 65 74 4e 61 6d 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ion.getNames();.......public.fun
a6740 63 74 69 6f 6e 20 73 65 74 49 64 28 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ction.setId($id);.......public.f
a6760 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 unction.getId();.......public.fu
a6780 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e nction.isDev();.......public.fun
a67a0 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ction.getType();.......public.fu
a67c0 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 nction.getTargetDir();.......pub
a67e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 lic.function.getExtra();.......p
a6800 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f ublic.function.setInstallationSo
a6820 75 72 63 65 28 24 74 79 70 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urce($type);.......public.functi
a6840 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 0a 0a 0a on.getInstallationSource();.....
a6860 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 ..public.function.getSourceType(
a6880 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 );.......public.function.getSour
a68a0 63 65 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ceUrl();.......public.function.g
a68c0 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e etSourceUrls();.......public.fun
a68e0 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a 0a 0a ction.getSourceReference();.....
a6900 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f ..public.function.getSourceMirro
a6920 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 rs();.......public.function.getD
a6940 69 73 74 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e istType();.......public.function
a6960 20 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .getDistUrl();.......public.func
a6980 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tion.getDistUrls();.......public
a69a0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a .function.getDistReference();...
a69c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 ....public.function.getDistSha1C
a69e0 68 65 63 6b 73 75 6d 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e hecksum();.......public.function
a6a00 20 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .getDistMirrors();.......public.
a6a20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 function.getVersion();.......pub
a6a40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b lic.function.getPrettyVersion();
a6a60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 75 6c ..........public.function.getFul
a6a80 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 24 74 72 75 6e 63 61 74 65 20 3d 20 74 72 75 65 29 lPrettyVersion($truncate.=.true)
a6aa0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 ;.......public.function.getRelea
a6ac0 73 65 44 61 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 seDate();.......public.function.
a6ae0 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 getStability();........public.fu
a6b00 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 nction.getRequires();........pub
a6b20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 3b 0a 0a 0a 0a lic.function.getConflicts();....
a6b40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 ....public.function.getProvides(
a6b60 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 );........public.function.getRep
a6b80 6c 61 63 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 laces();........public.function.
a6ba0 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 getDevRequires();........public.
a6bc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a function.getSuggests();.........
a6be0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 ...public.function.getAutoload()
a6c00 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ;............public.function.get
a6c20 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e DevAutoload();........public.fun
a6c40 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 ction.getIncludePaths();.......p
a6c60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 ublic.function.setRepository(Rep
a6c80 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a ositoryInterface.$repository);..
a6ca0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f .....public.function.getReposito
a6cc0 72 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 ry();.......public.function.getB
a6ce0 69 6e 61 72 69 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e inaries();.......public.function
a6d00 20 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .getUniqueName();.......public.f
a6d20 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 3b 0a 0a 0a unction.getNotificationUrl();...
a6d40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 ....public.function.__toString()
a6d60 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 ;.......public.function.getPrett
a6d80 79 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e yString();.......public.function
a6da0 20 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 .getArchiveExcludes();.......pub
a6dc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 lic.function.getTransportOptions
a6de0 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ();.}.<?php............namespace
a6e00 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f .Composer\Package;.....class.Roo
a6e20 74 41 6c 69 61 73 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 41 6c 69 61 73 50 61 63 6b 61 tAliasPackage.extends.AliasPacka
a6e40 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 ge.implements.RootPackageInterfa
a6e60 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 ce.{.public.function.__construct
a6e80 28 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 2c 20 (RootPackageInterface.$aliasOf,.
a6ea0 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 $version,.$prettyVersion).{.pare
a6ec0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 nt::__construct($aliasOf,.$versi
a6ee0 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 on,.$prettyVersion);.}.....publi
a6f00 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getAliases().{.return
a6f20 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d .$this->aliasOf->getAliases();.}
a6f40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 .....public.function.getMinimumS
a6f60 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 tability().{.return.$this->alias
a6f80 4f 66 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 0a 0a Of->getMinimumStability();.}....
a6fa0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 .public.function.getStabilityFla
a6fc0 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 gs().{.return.$this->aliasOf->ge
a6fe0 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tStabilityFlags();.}.....public.
a7000 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 function.getReferences().{.retur
a7020 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 n.$this->aliasOf->getReferences(
a7040 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 );.}.....public.function.getPref
a7060 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 erStable().{.return.$this->alias
a7080 4f 66 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 Of->getPreferStable();.}.....pub
a70a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 lic.function.getConfig().{.retur
a70c0 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 7d n.$this->aliasOf->getConfig();.}
a70e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 .....public.function.setRequires
a7100 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 (array.$require).{.$this->requir
a7120 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 es.=.$this->replaceSelfVersionDe
a7140 70 65 6e 64 65 6e 63 69 65 73 28 24 72 65 71 75 69 72 65 2c 20 27 72 65 71 75 69 72 65 73 27 29 pendencies($require,.'requires')
a7160 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 ;..$this->aliasOf->setRequires($
a7180 72 65 71 75 69 72 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 require);.}.....public.function.
a71a0 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 setDevRequires(array.$devRequire
a71c0 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e ).{.$this->devRequires.=.$this->
a71e0 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 replaceSelfVersionDependencies($
a7200 64 65 76 52 65 71 75 69 72 65 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 29 3b 0a 0a 24 74 68 devRequire,.'devRequires');..$th
a7220 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 24 64 65 76 is->aliasOf->setDevRequires($dev
a7240 52 65 71 75 69 72 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Require);.}.....public.function.
a7260 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 0a 7b setConflicts(array.$conflicts).{
a7280 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 .$this->conflicts.=.$this->repla
a72a0 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 63 6f 6e 66 6c ceSelfVersionDependencies($confl
a72c0 69 63 74 73 2c 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 icts,.'conflicts');.$this->alias
a72e0 4f 66 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 7d 0a Of->setConflicts($conflicts);.}.
a7300 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 ....public.function.setProvides(
a7320 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 array.$provides).{.$this->provid
a7340 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 es.=.$this->replaceSelfVersionDe
a7360 70 65 6e 64 65 6e 63 69 65 73 28 24 70 72 6f 76 69 64 65 73 2c 20 27 70 72 6f 76 69 64 65 73 27 pendencies($provides,.'provides'
a7380 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 );.$this->aliasOf->setProvides($
a73a0 70 72 6f 76 69 64 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e provides);.}.....public.function
a73c0 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 0a 7b 0a .setReplaces(array.$replaces).{.
a73e0 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 $this->replaces.=.$this->replace
a7400 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 72 65 70 6c 61 63 65 SelfVersionDependencies($replace
a7420 73 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e s,.'replaces');.$this->aliasOf->
a7440 73 65 74 52 65 70 6c 61 63 65 73 28 24 72 65 70 6c 61 63 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 setReplaces($replaces);.}.....pu
a7460 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 blic.function.setRepositories($r
a7480 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 epositories).{.$this->aliasOf->s
a74a0 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 7d etRepositories($repositories);.}
a74c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 .....public.function.setAutoload
a74e0 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 (array.$autoload).{.$this->alias
a7500 4f 66 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 24 61 75 74 6f 6c 6f 61 64 29 3b 0a 7d 0a 0a 0a Of->setAutoload($autoload);.}...
a7520 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 ..public.function.setDevAutoload
a7540 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c (array.$devAutoload).{.$this->al
a7560 69 61 73 4f 66 2d 3e 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 24 64 65 76 41 75 74 6f 6c 6f iasOf->setDevAutoload($devAutolo
a7580 61 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 ad);.}.....public.function.setSt
a75a0 61 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 abilityFlags(array.$stabilityFla
a75c0 67 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 74 61 62 69 6c 69 gs).{.$this->aliasOf->setStabili
a75e0 74 79 46 6c 61 67 73 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 7d 0a 0a 0a 0a 0a tyFlags($stabilityFlags);.}.....
a7600 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 72 72 61 public.function.setSuggests(arra
a7620 79 20 24 73 75 67 67 65 73 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 y.$suggests).{.$this->aliasOf->s
a7640 65 74 53 75 67 67 65 73 74 73 28 24 73 75 67 67 65 73 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 etSuggests($suggests);.}.....pub
a7660 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 lic.function.setExtra(array.$ext
a7680 72 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 45 78 74 72 61 28 24 ra).{.$this->aliasOf->setExtra($
a76a0 65 78 74 72 61 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f extra);.}..public.function.__clo
a76c0 6e 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6c 6f 6e 65 28 29 3b 0a 24 74 68 69 73 2d ne().{.parent::__clone();.$this-
a76e0 3e 61 6c 69 61 73 4f 66 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b >aliasOf.=.clone.$this->aliasOf;
a7700 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
a7720 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f Composer\Package;.......class.Ro
a7740 6f 74 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 otPackage.extends.CompletePackag
a7760 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 e.implements.RootPackageInterfac
a7780 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 e.{.protected.$minimumStability.
a77a0 3d 20 27 73 74 61 62 6c 65 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 61 =.'stable';.protected.$preferSta
a77c0 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 ble.=.false;.protected.$stabilit
a77e0 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e yFlags.=.array();.protected.$con
a7800 66 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 66 65 72 65 fig.=.array();.protected.$refere
a7820 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 nces.=.array();.protected.$alias
a7840 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 es.=.array();.......public.funct
a7860 69 6f 6e 20 73 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 6d 69 6e 69 6d 75 6d ion.setMinimumStability($minimum
a7880 53 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 75 6d 53 74 61 62 69 Stability).{.$this->minimumStabi
a78a0 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a lity.=.$minimumStability;.}.....
a78c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c public.function.getMinimumStabil
a78e0 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 75 6d 53 74 61 ity().{.return.$this->minimumSta
a7900 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 bility;.}.......public.function.
a7920 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 setStabilityFlags(array.$stabili
a7940 74 79 46 6c 61 67 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 tyFlags).{.$this->stabilityFlags
a7960 20 3d 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .=.$stabilityFlags;.}.....public
a7980 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a .function.getStabilityFlags().{.
a79a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 7d 0a return.$this->stabilityFlags;.}.
a79c0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 ......public.function.setPreferS
a79e0 74 61 62 6c 65 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 table($preferStable).{.$this->pr
a7a00 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 7d 0a 0a 0a eferStable.=.$preferStable;.}...
a7a20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c ..public.function.getPreferStabl
a7a40 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 e().{.return.$this->preferStable
a7a60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e ;.}.......public.function.setCon
a7a80 66 69 67 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 fig(array.$config).{.$this->conf
a7aa0 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ig.=.$config;.}.....public.funct
a7ac0 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ion.getConfig().{.return.$this->
a7ae0 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 config;.}.......public.function.
a7b00 73 65 74 52 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 66 65 72 65 6e 63 65 73 29 setReferences(array.$references)
a7b20 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 72 65 66 65 72 65 6e 63 .{.$this->references.=.$referenc
a7b40 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 es;.}.....public.function.getRef
a7b60 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 66 65 72 65 erences().{.return.$this->refere
a7b80 6e 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 nces;.}.......public.function.se
a7ba0 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 tAliases(array.$aliases).{.$this
a7bc0 2d 3e 61 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ->aliases.=.$aliases;.}.....publ
a7be0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getAliases().{.retur
a7c00 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a n.$this->aliases;.}.}.<?php.....
a7c20 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 .......namespace.Composer\Packag
a7c40 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e e;.......interface.RootPackageIn
a7c60 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 terface.extends.CompletePackageI
a7c80 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nterface.{......public.function.
a7ca0 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 getAliases();.......public.funct
a7cc0 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a ion.getMinimumStability();......
a7ce0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 ...public.function.getStabilityF
a7d00 6c 61 67 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 lags();.........public.function.
a7d20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 getReferences();.......public.fu
a7d40 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a nction.getPreferStable();.......
a7d60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 0a 0a public.function.getConfig();....
a7d80 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 ...public.function.setRequires(a
a7da0 72 72 61 79 20 24 72 65 71 75 69 72 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rray.$requires);.......public.fu
a7dc0 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 nction.setDevRequires(array.$dev
a7de0 52 65 71 75 69 72 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Requires);.......public.function
a7e00 20 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 3b .setConflicts(array.$conflicts);
a7e20 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 .......public.function.setProvid
a7e40 65 73 28 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 es(array.$provides);.......publi
a7e60 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 65 c.function.setReplaces(array.$re
a7e80 70 6c 61 63 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 places);.......public.function.s
a7ea0 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 0a etRepositories($repositories);..
a7ec0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 .....public.function.setAutoload
a7ee0 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 (array.$autoload);.......public.
a7f00 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 function.setDevAutoload(array.$d
a7f20 65 76 41 75 74 6f 6c 6f 61 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 evAutoload);.......public.functi
a7f40 6f 6e 20 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 on.setStabilityFlags(array.$stab
a7f60 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ilityFlags);.......public.functi
a7f80 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 3b on.setSuggests(array.$suggests);
a7fa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 .....public.function.setExtra(ar
a7fc0 72 61 79 20 24 65 78 74 72 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ray.$extra);.}.<?php............
a7fe0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 namespace.Composer\Package\Versi
a8000 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f on;..use.Composer\Config;.use.Co
a8020 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 3b 0a mposer\Repository\Vcs\HgDriver;.
a8040 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 use.Composer\IO\NullIO;.use.Comp
a8060 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d oser\Semver\VersionParser.as.Sem
a8080 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 verVersionParser;.use.Composer\U
a80a0 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 til\Git.as.GitUtil;.use.Composer
a80c0 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
a80e0 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a ser\Util\Svn.as.SvnUtil;........
a8100 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 class.VersionGuesser.{....privat
a8120 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b e.$config;.....private.$process;
a8140 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a .....private.$versionParser;....
a8160 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 ...public.function.__construct(C
a8180 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 onfig.$config,.ProcessExecutor.$
a81a0 70 72 6f 63 65 73 73 2c 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 76 65 process,.SemverVersionParser.$ve
a81c0 72 73 69 6f 6e 50 61 72 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 rsionParser).{.$this->config.=.$
a81e0 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 config;.$this->process.=.$proces
a8200 73 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 76 65 72 73 69 s;.$this->versionParser.=.$versi
a8220 6f 6e 50 61 72 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 onParser;.}........public.functi
a8240 6f 6e 20 67 75 65 73 73 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f on.guessVersion(array.$packageCo
a8260 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 nfig,.$path).{.if.(function_exis
a8280 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 ts('proc_open')).{.$versionData.
a82a0 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 47 69 74 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 =.$this->guessGitVersion($packag
a82c0 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 eConfig,.$path);.if.(null.!==.$v
a82e0 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 ersionData.&&.null.!==.$versionD
a8300 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ata['version']).{.return.$this->
a8320 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 76 postprocess($versionData);.}..$v
a8340 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 48 67 56 65 72 73 69 ersionData.=.$this->guessHgVersi
a8360 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e on($packageConfig,.$path);.if.(n
a8380 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d ull.!==.$versionData.&&.null.!==
a83a0 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 .$versionData['version']).{.retu
a83c0 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 rn.$this->postprocess($versionDa
a83e0 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 ta);.}..$versionData.=.$this->gu
a8400 65 73 73 46 6f 73 73 69 6c 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c essFossilVersion($packageConfig,
a8420 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 .$path);.if.(null.!==.$versionDa
a8440 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 ta.&&.null.!==.$versionData['ver
a8460 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 sion']).{.return.$this->postproc
a8480 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 ess($versionData);.}..$versionDa
a84a0 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 53 76 6e 56 65 72 73 69 6f 6e 28 24 70 61 63 ta.=.$this->guessSvnVersion($pac
a84c0 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d kageConfig,.$path);.if.(null.!==
a84e0 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 .$versionData.&&.null.!==.$versi
a8500 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 onData['version']).{.return.$thi
a8520 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a s->postprocess($versionData);.}.
a8540 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 73 74 70 72 6f 63 65 73 }.}..private.function.postproces
a8560 73 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 44 61 74 61 29 0a 7b 0a 69 66 20 28 27 2d 64 65 s(array.$versionData).{.if.('-de
a8580 76 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 v'.===.substr($versionData['vers
a85a0 69 6f 6e 27 5d 2c 20 2d 34 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 2e 39 7b 37 ion'],.-4).&&.preg_match('{\.9{7
a85c0 7d 7d 27 2c 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b }}',.$versionData['version'])).{
a85e0 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 20 .$versionData['pretty_version'].
a8600 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e =.preg_replace('{(\.9{7})+}',.'.
a8620 78 27 2c 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 0a x',.$versionData['version']);.}.
a8640 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 .return.$versionData;.}..private
a8660 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 47 69 74 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 .function.guessGitVersion(array.
a8680 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 47 69 74 55 74 69 6c $packageConfig,.$path).{.GitUtil
a86a0 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 6e 75 6c 6c 3b 0a 24 76 ::cleanEnv();.$commit.=.null;.$v
a86c0 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 ersion.=.null;.$prettyVersion.=.
a86e0 6e 75 6c 6c 3b 0a 24 69 73 44 65 74 61 63 68 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 69 66 null;.$isDetached.=.false;....if
a8700 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 .(0.===.$this->process->execute(
a8720 27 67 69 74 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d 61 62 62 72 'git.branch.--no-color.--no-abbr
a8740 65 76 20 2d 76 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e ev.-v',.$output,.$path)).{.$bran
a8760 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 ches.=.array();.$isFeatureBranch
a8780 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f .=.false;....foreach.($this->pro
a87a0 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 cess->splitLines($output).as.$br
a87c0 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 anch).{.if.($branch.&&.preg_matc
a87e0 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 20 2a 28 5c 28 6e 6f 20 62 72 61 6e 63 68 5c 29 7c 5c 28 64 h('{^(?:\*.).*(\(no.branch\)|\(d
a8800 65 74 61 63 68 65 64 20 66 72 6f 6d 20 5c 53 2b 5c 29 7c 5c 28 48 45 41 44 20 64 65 74 61 63 68 etached.from.\S+\)|\(HEAD.detach
a8820 65 64 20 61 74 20 5c 53 2b 5c 29 7c 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 2e 2a ed.at.\S+\)|\S+).*([a-f0-9]+)..*
a8840 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 6d 61 $}',.$branch,.$match)).{.if.($ma
a8860 74 63 68 5b 31 5d 20 3d 3d 3d 20 27 28 6e 6f 20 62 72 61 6e 63 68 29 27 20 7c 7c 20 73 75 62 73 tch[1].===.'(no.branch)'.||.subs
a8880 74 72 28 24 6d 61 74 63 68 5b 31 5d 2c 20 30 2c 20 31 30 29 20 3d 3d 3d 20 27 28 64 65 74 61 63 tr($match[1],.0,.10).===.'(detac
a88a0 68 65 64 20 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 31 5d 2c 20 30 2c 20 31 37 hed.'.||.substr($match[1],.0,.17
a88c0 29 20 3d 3d 3d 20 27 28 48 45 41 44 20 64 65 74 61 63 68 65 64 20 61 74 27 29 20 7b 0a 24 76 65 ).===.'(HEAD.detached.at').{.$ve
a88e0 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 70 72 65 rsion.=.'dev-'...$match[2];.$pre
a8900 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 69 73 46 65 61 74 75 72 ttyVersion.=.$version;.$isFeatur
a8920 65 42 72 61 6e 63 68 20 3d 20 74 72 75 65 3b 0a 24 69 73 44 65 74 61 63 68 65 64 20 3d 20 74 72 eBranch.=.true;.$isDetached.=.tr
a8940 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 ue;.}.else.{.$version.=.$this->v
a8960 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d ersionParser->normalizeBranch($m
a8980 61 74 63 68 5b 31 5d 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d atch[1]);.$prettyVersion.=.'dev-
a89a0 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 '...$match[1];.$isFeatureBranch.
a89c0 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 64 65 76 2d 27 29 =.0.===.strpos($version,.'dev-')
a89e0 3b 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 5b 32 5d 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 ;.}..if.($match[2]).{.$commit.=.
a8a00 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 21 $match[2];.}.}..if.($branch.&&.!
a8a20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 2f 5d 2b 2f 48 45 41 44 20 7d 27 2c 20 24 preg_match('{^.*[^/]+/HEAD.}',.$
a8a40 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a branch)).{.if.(preg_match('{^(?:
a8a60 5c 2a 20 29 3f 20 2a 28 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 2e 2a 24 7d 27 2c \*.)?.*(\S+).*([a-f0-9]+)..*$}',
a8a80 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 5d .$branch,.$match)).{.$branches[]
a8aa0 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 73 46 65 61 74 .=.$match[1];.}.}.}..if.($isFeat
a8ac0 75 72 65 42 72 61 6e 63 68 29 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e ureBranch).{...$result.=.$this->
a8ae0 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 guessFeatureVersion($packageConf
a8b00 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c 20 27 67 69 74 20 72 65 ig,.$version,.$branches,.'git.re
a8b20 76 2d 6c 69 73 74 20 25 63 61 6e 64 69 64 61 74 65 25 2e 2e 25 62 72 61 6e 63 68 25 27 2c 20 24 v-list.%candidate%..%branch%',.$
a8b40 70 61 74 68 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 76 65 72 73 69 path);.$version.=.$result['versi
a8b60 6f 6e 27 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 on'];.$prettyVersion.=.$result['
a8b80 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 pretty_version'];.}.}..if.(!$ver
a8ba0 73 69 6f 6e 20 7c 7c 20 24 69 73 44 65 74 61 63 68 65 64 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d sion.||.$isDetached).{.$result.=
a8bc0 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 46 72 6f 6d 47 69 74 54 61 67 73 28 24 70 61 74 68 .$this->versionFromGitTags($path
a8be0 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 72 65 );.if.($result).{.$version.=.$re
a8c00 73 75 6c 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 sult['version'];.$prettyVersion.
a8c20 3d 20 24 72 65 73 75 6c 74 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d =.$result['pretty_version'];.}.}
a8c40 0a 0a 69 66 20 28 21 24 63 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 ..if.(!$commit).{.$command.=.'gi
a8c60 74 20 6c 6f 67 20 2d 2d 70 72 65 74 74 79 3d 22 25 48 22 20 2d 6e 31 20 48 45 41 44 27 3b 0a 69 t.log.--pretty="%H".-n1.HEAD';.i
a8c80 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.===.$this->process->execute
a8ca0 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 63 ($command,.$output,.$path)).{.$c
a8cc0 6f 6d 6d 69 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d ommit.=.trim($output).?:.null;.}
a8ce0 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 .}..return.array('version'.=>.$v
a8d00 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 20 27 70 72 ersion,.'commit'.=>.$commit,.'pr
a8d20 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 etty_version'.=>.$prettyVersion)
a8d40 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 46 72 6f ;.}..private.function.versionFro
a8d60 6d 47 69 74 54 61 67 73 28 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 mGitTags($path).{...if.(0.===.$t
a8d80 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 64 65 73 63 72 his->process->execute('git.descr
a8da0 69 62 65 20 2d 2d 65 78 61 63 74 2d 6d 61 74 63 68 20 2d 2d 74 61 67 73 27 2c 20 24 6f 75 74 70 ibe.--exact-match.--tags',.$outp
a8dc0 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 ut,.$path)).{.try.{.$version.=.$
a8de0 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 74 this->versionParser->normalize(t
a8e00 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 rim($output));..return.array('ve
a8e20 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 rsion'.=>.$version,.'pretty_vers
a8e40 69 6f 6e 27 20 3d 3e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 7d 20 63 61 74 63 68 20 ion'.=>.trim($output));.}.catch.
a8e60 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 (\Exception.$e).{.}.}..return.nu
a8e80 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 48 67 56 ll;.}..private.function.guessHgV
a8ea0 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 ersion(array.$packageConfig,.$pa
a8ec0 74 68 29 0a 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 th).{...if.(0.===.$this->process
a8ee0 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 72 61 6e 63 68 27 2c 20 24 6f 75 74 70 75 74 2c 20 ->execute('hg.branch',.$output,.
a8f00 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 $path)).{.$branch.=.trim($output
a8f20 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 );.$version.=.$this->versionPars
a8f40 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 24 69 er->normalizeBranch($branch);.$i
a8f60 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 sFeatureBranch.=.0.===.strpos($v
a8f80 65 72 73 69 6f 6e 2c 20 27 64 65 76 2d 27 29 3b 0a 0a 69 66 20 28 27 39 39 39 39 39 39 39 2d 64 ersion,.'dev-');..if.('9999999-d
a8fa0 65 76 27 20 3d 3d 3d 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 ev'.===.$version).{.return.array
a8fc0 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 ('version'.=>.$version,.'commit'
a8fe0 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 27 64 .=>.null,.'pretty_version'.=>.'d
a9000 65 76 2d 27 2e 24 62 72 61 6e 63 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 46 65 61 74 75 72 ev-'.$branch);.}..if.(!$isFeatur
a9020 65 42 72 61 6e 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e eBranch).{.return.array('version
a9040 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 6e 75 6c 6c 2c '.=>.$version,.'commit'.=>.null,
a9060 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a .'pretty_version'.=>.$version);.
a9080 7d 0a 0a 0a 20 24 64 72 69 76 65 72 20 3d 20 6e 65 77 20 48 67 44 72 69 76 65 72 28 61 72 72 61 }....$driver.=.new.HgDriver(arra
a90a0 79 28 27 75 72 6c 27 20 3d 3e 20 24 70 61 74 68 29 2c 20 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 2c y('url'.=>.$path),.new.NullIO(),
a90c0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b .$this->config,.$this->process);
a90e0 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 72 69 76 65 72 2d .$branches.=.array_keys($driver-
a9100 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 29 3b 0a 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 24 74 >getBranches());....$result.=.$t
a9120 68 69 73 2d 3e 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 his->guessFeatureVersion($packag
a9140 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c 20 27 68 eConfig,.$version,.$branches,.'h
a9160 67 20 6c 6f 67 20 2d 72 20 22 6e 6f 74 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 63 61 6e 64 69 g.log.-r."not.ancestors(\'%candi
a9180 64 61 74 65 25 5c 27 29 20 61 6e 64 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 62 72 61 6e 63 68 date%\').and.ancestors(\'%branch
a91a0 25 5c 27 29 22 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 6e 6f 64 65 7d 5c 5c 6e 22 27 2c 20 24 %\')".--template."{node}\\n"',.$
a91c0 70 61 74 68 29 3b 0a 24 72 65 73 75 6c 74 5b 27 63 6f 6d 6d 69 74 27 5d 20 3d 20 27 27 3b 0a 0a path);.$result['commit'].=.'';..
a91e0 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e return.$result;.}.}..private.fun
a9200 63 74 69 6f 6e 20 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 ction.guessFeatureVersion(array.
a9220 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 61 72 72 61 79 20 $packageConfig,.$version,.array.
a9240 24 62 72 61 6e 63 68 65 73 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 2c 20 24 70 61 74 68 29 0a 7b $branches,.$scmCmdline,.$path).{
a9260 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 20 0a .$prettyVersion.=.$version;.....
a9280 20 69 66 20 28 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 65 78 74 72 .if.((isset($packageConfig['extr
a92a0 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 a']['branch-alias']).&&.!isset($
a92c0 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 packageConfig['extra']['branch-a
a92e0 6c 69 61 73 27 5d 5b 24 76 65 72 73 69 6f 6e 5d 29 29 0a 7c 7c 20 73 74 72 70 6f 73 28 6a 73 6f lias'][$version])).||.strpos(jso
a9300 6e 5f 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 29 2c 20 27 22 73 65 6c 66 n_encode($packageConfig),.'"self
a9320 2e 76 65 72 73 69 6f 6e 22 27 29 0a 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 .version"').).{.$branch.=.preg_r
a9340 65 70 6c 61 63 65 28 27 7b 5e 64 65 76 2d 7d 27 2c 20 27 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b eplace('{^dev-}',.'',.$version);
a9360 0a 24 6c 65 6e 67 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 24 6e 6f 6e 46 65 61 .$length.=.PHP_INT_MAX;..$nonFea
a9380 74 75 72 65 42 72 61 6e 63 68 65 73 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 tureBranches.=.'';.if.(!empty($p
a93a0 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 6e 6f 6e 2d 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 ackageConfig['non-feature-branch
a93c0 65 73 27 5d 29 29 20 7b 0a 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 3d 20 69 es'])).{.$nonFeatureBranches.=.i
a93e0 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 6e 6f 6e 2d mplode('|',.$packageConfig['non-
a9400 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 65 73 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 feature-branches']);.}..foreach.
a9420 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 0a 20 69 66 ($branches.as.$candidate).{...if
a9440 20 28 24 63 61 6e 64 69 64 61 74 65 20 3d 3d 3d 20 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 .($candidate.===.$branch.&&.preg
a9460 5f 6d 61 74 63 68 28 27 7b 5e 28 27 20 2e 20 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 _match('{^('...$nonFeatureBranch
a9480 65 73 20 2e 20 27 29 24 7d 27 2c 20 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 62 72 65 61 6b es...')$}',.$candidate)).{.break
a94a0 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 20 3d 3d 3d 20 24 62 72 61 6e 63 ;.}....if.($candidate.===.$branc
a94c0 68 20 7c 7c 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 27 20 2e 20 24 6e 6f 6e 46 65 61 h.||.!preg_match('{^('...$nonFea
a94e0 74 75 72 65 42 72 61 6e 63 68 65 73 20 2e 20 27 7c 6d 61 73 74 65 72 7c 74 72 75 6e 6b 7c 64 65 tureBranches...'|master|trunk|de
a9500 66 61 75 6c 74 7c 64 65 76 65 6c 6f 70 7c 5c 64 2b 5c 2e 2e 2b 29 24 7d 27 2c 20 24 63 61 6e 64 fault|develop|\d+\..+)$}',.$cand
a9520 69 64 61 74 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 idate,.$match)).{.continue;.}..$
a9540 63 6d 64 4c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 63 61 cmdLine.=.str_replace(array('%ca
a9560 6e 64 69 64 61 74 65 25 27 2c 20 27 25 62 72 61 6e 63 68 25 27 29 2c 20 61 72 72 61 79 28 24 63 ndidate%',.'%branch%'),.array($c
a9580 61 6e 64 69 64 61 74 65 2c 20 24 62 72 61 6e 63 68 29 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 29 andidate,.$branch),.$scmCmdline)
a95a0 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ;.if.(0.!==.$this->process->exec
a95c0 75 74 65 28 24 63 6d 64 4c 69 6e 65 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b ute($cmdLine,.$output,.$path)).{
a95e0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 .continue;.}..if.(strlen($output
a9600 29 20 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 ).<.$length).{.$length.=.strlen(
a9620 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 $output);.$version.=.$this->vers
a9640 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 63 61 6e 64 ionParser->normalizeBranch($cand
a9660 69 64 61 74 65 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 idate);.$prettyVersion.=.'dev-'.
a9680 2e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 ..$match[1];.}.}.}..return.array
a96a0 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 70 72 65 74 74 79 5f ('version'.=>.$version,.'pretty_
a96c0 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a version'.=>.$prettyVersion);.}..
a96e0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 46 6f 73 73 69 6c 56 65 72 73 private.function.guessFossilVers
a9700 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 ion(array.$packageConfig,.$path)
a9720 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 .{.$version.=.null;.$prettyVersi
a9740 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 on.=.null;....if.(0.===.$this->p
a9760 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 62 72 61 6e 63 68 20 6c rocess->execute('fossil.branch.l
a9780 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 ist',.$output,.$path)).{.$branch
a97a0 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 .=.trim($output);.$version.=.$th
a97c0 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e is->versionParser->normalizeBran
a97e0 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 ch($branch);.$prettyVersion.=.'d
a9800 65 76 2d 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 ev-'...$branch;.}....if.(0.===.$
a9820 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 74 this->process->execute('fossil.t
a9840 61 67 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 72 79 ag.list',.$output,.$path)).{.try
a9860 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 .{.$version.=.$this->versionPars
a9880 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 24 70 er->normalize(trim($output));.$p
a98a0 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 rettyVersion.=.trim($output);.}.
a98c0 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 72 65 74 catch.(\Exception.$e).{.}.}..ret
a98e0 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c urn.array('version'.=>.$version,
a9900 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e .'commit'.=>.'',.'pretty_version
a9920 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 '.=>.$prettyVersion);.}..private
a9940 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 53 76 6e 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 .function.guessSvnVersion(array.
a9960 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 53 76 6e 55 74 69 6c $packageConfig,.$path).{.SvnUtil
a9980 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 ::cleanEnv();....if.(0.===.$this
a99a0 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 69 6e 66 6f 20 2d 2d 78 ->process->execute('svn.info.--x
a99c0 6d 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 74 72 75 6e 6b 50 61 ml',.$output,.$path)).{.$trunkPa
a99e0 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b th.=.isset($packageConfig['trunk
a9a00 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 43 6f -path']).?.preg_quote($packageCo
a9a20 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 74 72 75 6e nfig['trunk-path'],.'#').:.'trun
a9a40 6b 27 3b 0a 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 k';.$branchesPath.=.isset($packa
a9a60 67 65 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 geConfig['branches-path']).?.pre
a9a80 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 g_quote($packageConfig['branches
a9aa0 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 24 74 61 67 -path'],.'#').:.'branches';.$tag
a9ac0 73 50 61 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 61 sPath.=.isset($packageConfig['ta
a9ae0 67 73 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 gs-path']).?.preg_quote($package
a9b00 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 74 61 67 Config['tags-path'],.'#').:.'tag
a9b20 73 27 3b 0a 0a 24 75 72 6c 50 61 74 74 65 72 6e 20 3d 20 27 23 3c 75 72 6c 3e 2e 2a 2f 28 27 20 s';..$urlPattern.=.'#<url>.*/('.
a9b40 2e 20 24 74 72 75 6e 6b 50 61 74 68 20 2e 20 27 7c 28 27 20 2e 20 24 62 72 61 6e 63 68 65 73 50 ..$trunkPath...'|('...$branchesP
a9b60 61 74 68 20 2e 20 27 7c 27 20 2e 20 24 74 61 67 73 50 61 74 68 20 2e 20 27 29 2f 28 2e 2a 29 29 ath...'|'...$tagsPath...')/(.*))
a9b80 3c 2f 75 72 6c 3e 23 27 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 75 72 6c 50 61 </url>#';..if.(preg_match($urlPa
a9ba0 74 74 65 72 6e 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 ttern,.$output,.$matches)).{.if.
a9bc0 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 28 24 62 72 61 6e 63 68 65 (isset($matches[2]).&&.($branche
a9be0 73 50 61 74 68 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c 7c 20 24 74 61 67 73 50 61 sPath.===.$matches[2].||.$tagsPa
a9c00 74 68 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 0a 20 24 76 65 72 73 69 6f th.===.$matches[2])).{...$versio
a9c20 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c n.=.$this->versionParser->normal
a9c40 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 3b 0a 24 70 72 65 74 74 79 56 izeBranch($matches[3]);.$prettyV
a9c60 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 0a ersion.=.'dev-'...$matches[3];..
a9c80 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 return.array('version'.=>.$versi
a9ca0 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 on,.'commit'.=>.'',.'pretty_vers
a9cc0 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 72 65 ion'.=>.$prettyVersion);.}..$pre
a9ce0 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a ttyVersion.=.trim($matches[1]);.
a9d00 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d $version.=.$this->versionParser-
a9d20 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 >normalize($prettyVersion);..ret
a9d40 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c urn.array('version'.=>.$version,
a9d60 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e .'commit'.=>.'',.'pretty_version
a9d80 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f '.=>.$prettyVersion);.}.}.}.}.<?
a9da0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
a9dc0 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 r\Package\Version;..use.Composer
a9de0 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a \Repository\PlatformRepository;.
a9e00 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 use.Composer\Semver\VersionParse
a9e20 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f r.as.SemverVersionParser;.use.Co
a9e40 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 63 6c 61 73 73 20 56 65 72 mposer\Semver\Semver;..class.Ver
a9e60 73 69 6f 6e 50 61 72 73 65 72 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e sionParser.extends.SemverVersion
a9e80 50 61 72 73 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 6f 6e 73 74 72 61 Parser.{.private.static.$constra
a9ea0 69 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ints.=.array();.....public.funct
a9ec0 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 ion.parseConstraints($constraint
a9ee0 73 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e s).{.if.(!isset(self::$constrain
a9f00 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 5d 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 63 6f 6e 73 ts[$constraints])).{.self::$cons
a9f20 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 5d 20 3d 20 70 61 72 65 6e 74 3a 3a traints[$constraints].=.parent::
a9f40 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a parseConstraints($constraints);.
a9f60 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 63 6f }..return.self::$constraints[$co
a9f80 6e 73 74 72 61 69 6e 74 73 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 nstraints];.}............public.
a9fa0 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 61 function.parseNameVersionPairs(a
a9fc0 72 72 61 79 20 24 70 61 69 72 73 29 0a 7b 0a 24 70 61 69 72 73 20 3d 20 61 72 72 61 79 5f 76 61 rray.$pairs).{.$pairs.=.array_va
a9fe0 6c 75 65 73 28 24 70 61 69 72 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b lues($pairs);.$result.=.array();
aa000 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 70 ..for.($i.=.0,.$count.=.count($p
aa020 61 69 72 73 29 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 24 70 61 69 airs);.$i.<.$count;.$i++).{.$pai
aa040 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 3d 3a 20 5d 2b 29 5b 3d 3a r.=.preg_replace('{^([^=:.]+)[=:
aa060 20 5d 28 2e 2a 29 24 7d 27 2c 20 27 24 31 20 24 32 27 2c 20 74 72 69 6d 28 24 70 61 69 72 73 5b .](.*)$}',.'$1.$2',.trim($pairs[
aa080 24 69 5d 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 $i]));.if.(false.===.strpos($pai
aa0a0 72 2c 20 27 20 27 29 20 26 26 20 69 73 73 65 74 28 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 29 r,.'.').&&.isset($pairs[$i.+.1])
aa0c0 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 72 73 5b 24 69 20 2b .&&.false.===.strpos($pairs[$i.+
aa0e0 20 31 5d 2c 20 27 2f 27 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 .1],.'/').&&.!preg_match(Platfor
aa100 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 mRepository::PLATFORM_PACKAGE_RE
aa120 47 45 58 2c 20 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 29 29 20 7b 0a 24 70 61 69 72 20 2e 3d GEX,.$pairs[$i.+.1])).{.$pair..=
aa140 20 27 20 27 2e 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 3b 0a 24 69 2b 2b 3b 0a 7d 0a 0a 69 66 .'.'.$pairs[$i.+.1];.$i++;.}..if
aa160 20 28 73 74 72 70 6f 73 28 24 70 61 69 72 2c 20 27 20 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 .(strpos($pair,.'.')).{.list($na
aa180 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 61 me,.$version).=.explode('.',.$pa
aa1a0 69 72 2c 20 32 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 ir,.2);.$result[].=.array('name'
aa1c0 20 3d 3e 20 24 6e 61 6d 65 2c 20 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e .=>.$name,.'version'.=>.$version
aa1e0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 61 72 72 61 79 28 27 6e );.}.else.{.$result[].=.array('n
aa200 61 6d 65 27 20 3d 3e 20 24 70 61 69 72 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 ame'.=>.$pair);.}.}..return.$res
aa220 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ult;.}.....public.static.functio
aa240 6e 20 69 73 55 70 67 72 61 64 65 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 2c 20 24 6e 6f n.isUpgrade($normalizedFrom,.$no
aa260 72 6d 61 6c 69 7a 65 64 54 6f 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 6f 72 6d 61 6c rmalizedTo).{.if.(substr($normal
aa280 69 7a 65 64 46 72 6f 6d 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 64 65 76 2d 27 20 7c 7c 20 73 75 izedFrom,.0,.4).===.'dev-'.||.su
aa2a0 62 73 74 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 6f 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 64 bstr($normalizedTo,.0,.4).===.'d
aa2c0 65 76 2d 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 73 6f 72 74 65 64 20 ev-').{.return.true;.}..$sorted.
aa2e0 3d 20 53 65 6d 76 65 72 3a 3a 73 6f 72 74 28 61 72 72 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 =.Semver::sort(array($normalized
aa300 54 6f 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 To,.$normalizedFrom));..return.$
aa320 73 6f 72 74 65 64 5b 30 5d 20 3d 3d 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 3b 0a 7d sorted[0].===.$normalizedFrom;.}
aa340 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
aa360 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d mposer\Package\Version;..use.Com
aa380 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 poser\DependencyResolver\Pool;.u
aa3a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b se.Composer\Package\BasePackage;
aa3c0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
aa3e0 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 erface;.use.Composer\Package\Loa
aa400 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 der\ArrayLoader;.use.Composer\Pa
aa420 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f ckage\Dumper\ArrayDumper;.use.Co
aa440 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 mposer\Semver\Constraint\Constra
aa460 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f int;........class.VersionSelecto
aa480 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 61 72 r.{.private.$pool;..private.$par
aa4a0 73 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ser;..public.function.__construc
aa4c0 74 28 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 t(Pool.$pool).{.$this->pool.=.$p
aa4e0 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ool;.}............public.functio
aa500 6e 20 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 n.findBestCandidate($packageName
aa520 2c 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 ,.$targetPackageVersion.=.null,.
aa540 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 $targetPhpVersion.=.null,.$prefe
aa560 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 29 0a 7b 0a 24 63 6f 6e rredStability.=.'stable').{.$con
aa580 73 74 72 61 69 6e 74 20 3d 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 straint.=.$targetPackageVersion.
aa5a0 3f 20 24 74 68 69 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 2d 3e 70 61 72 73 65 43 6f 6e 73 74 ?.$this->getParser()->parseConst
aa5c0 72 61 69 6e 74 73 28 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 29 20 3a 20 raints($targetPackageVersion).:.
aa5e0 6e 75 6c 6c 3b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d null;.$candidates.=.$this->pool-
aa600 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 >whatProvides(strtolower($packag
aa620 65 4e 61 6d 65 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 eName),.$constraint,.true);..if.
aa640 28 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 6f 6e 29 20 7b 0a 24 70 68 70 43 6f 6e 73 74 72 ($targetPhpVersion).{.$phpConstr
aa660 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 74 68 69 aint.=.new.Constraint('==',.$thi
aa680 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 74 61 72 67 65 s->getParser()->normalize($targe
aa6a0 74 50 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 tPhpVersion));.$candidates.=.arr
aa6c0 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 ay_filter($candidates,.function.
aa6e0 28 24 70 6b 67 29 20 75 73 65 20 28 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 72 ($pkg).use.($phpConstraint).{.$r
aa700 65 71 73 20 3d 20 24 70 6b 67 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 72 65 74 75 eqs.=.$pkg->getRequires();..retu
aa720 72 6e 20 21 69 73 73 65 74 28 24 72 65 71 73 5b 27 70 68 70 27 5d 29 20 7c 7c 20 24 72 65 71 73 rn.!isset($reqs['php']).||.$reqs
aa740 5b 27 70 68 70 27 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 ['php']->getConstraint()->matche
aa760 73 28 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 s($phpConstraint);.});.}..if.(!$
aa780 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a candidates).{.return.false;.}...
aa7a0 20 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b 0a .$package.=.reset($candidates);.
aa7c0 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 $minPriority.=.BasePackage::$sta
aa7e0 62 69 6c 69 74 69 65 73 5b 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 5d 3b 0a 66 bilities[$preferredStability];.f
aa800 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 oreach.($candidates.as.$candidat
aa820 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 3d 20 24 63 61 6e 64 69 e).{.$candidatePriority.=.$candi
aa840 64 61 74 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 3b 0a 24 63 date->getStabilityPriority();.$c
aa860 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 urrentPriority.=.$package->getSt
aa880 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e abilityPriority();......if.($min
aa8a0 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 Priority.<.$candidatePriority.&&
aa8c0 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 .$currentPriority.<.$candidatePr
aa8e0 69 6f 72 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 iority).{.continue;.}......if.($
aa900 6d 69 6e 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 minPriority.<.$candidatePriority
aa920 20 26 26 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 3c 20 24 63 75 72 72 65 6e .&&.$candidatePriority.<.$curren
aa940 74 50 72 69 6f 72 69 74 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 tPriority).{.$package.=.$candida
aa960 74 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 te;.continue;.}......if.($minPri
aa980 6f 72 69 74 79 20 3e 3d 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 20 24 ority.>=.$candidatePriority.&&.$
aa9a0 6d 69 6e 50 72 69 6f 72 69 74 79 20 3c 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 29 20 minPriority.<.$currentPriority).
aa9c0 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 63 6f 6e 74 69 6e 75 {.$package.=.$candidate;.continu
aa9e0 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 70 61 63 e;.}....if.(version_compare($pac
aaa00 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 63 61 6e 64 69 64 61 74 65 2d 3e kage->getVersion(),.$candidate->
aaa20 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d getVersion(),.'<')).{.$package.=
aaa40 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 .$candidate;.}.}..return.$packag
aaa60 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 e;.}.................public.func
aaa80 74 69 6f 6e 20 66 69 6e 64 52 65 63 6f 6d 6d 65 6e 64 65 64 52 65 71 75 69 72 65 56 65 72 73 69 tion.findRecommendedRequireVersi
aaaa0 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a on(PackageInterface.$package).{.
aaac0 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 $version.=.$package->getVersion(
aaae0 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 72 65 74 );.if.(!$package->isDev()).{.ret
aab00 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 76 65 72 urn.$this->transformVersion($ver
aab20 73 69 6f 6e 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e sion,.$package->getPrettyVersion
aab40 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 3b 0a 7d (),.$package->getStability());.}
aab60 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 24 74 68 69 ..$loader.=.new.ArrayLoader($thi
aab80 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 s->getParser());.$dumper.=.new.A
aaba0 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 24 65 78 74 72 61 20 3d 20 24 6c 6f 61 64 65 72 2d 3e rrayDumper();.$extra.=.$loader->
aabc0 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 getBranchAlias($dumper->dump($pa
aabe0 63 6b 61 67 65 29 29 3b 0a 69 66 20 28 24 65 78 74 72 61 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 ckage));.if.($extra).{.$extra.=.
aac00 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5c 64 2b 5c 2e 5c 64 2b 5c 2e 5c 64 2b 29 28 preg_replace('{^(\d+\.\d+\.\d+)(
aac20 5c 2e 39 39 39 39 39 39 39 29 2d 64 65 76 24 7d 27 2c 20 27 24 31 2e 30 27 2c 20 24 65 78 74 72 \.9999999)-dev$}',.'$1.0',.$extr
aac40 61 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 29 20 7b 0a 24 65 a,.-1,.$count);.if.($count).{.$e
aac60 78 74 72 61 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2e 39 39 39 39 39 39 39 27 2c 20 27 xtra.=.str_replace('.9999999',.'
aac80 2e 30 27 2c 20 24 65 78 74 72 61 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 .0',.$extra);..return.$this->tra
aaca0 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 65 78 74 72 61 2c 20 24 65 78 74 72 61 2c 20 27 64 nsformVersion($extra,.$extra,.'d
aacc0 65 76 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 ev');.}.}..return.$package->getP
aace0 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 rettyVersion();.}..private.funct
aad00 69 6f 6e 20 74 72 61 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 ion.transformVersion($version,.$
aad20 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 0a 20 0a prettyVersion,.$stability).{....
aad40 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 .$semanticVersionParts.=.explode
aad60 28 27 2e 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 73 ('.',.$version);....if.(count($s
aad80 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 29 20 3d 3d 20 34 20 26 26 20 70 72 65 emanticVersionParts).==.4.&&.pre
aada0 67 5f 6d 61 74 63 68 28 27 7b 5e 30 5c 44 3f 7d 27 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 g_match('{^0\D?}',.$semanticVers
aadc0 69 6f 6e 50 61 72 74 73 5b 33 5d 29 29 20 7b 0a 0a 20 69 66 20 28 24 73 65 6d 61 6e 74 69 63 56 ionParts[3])).{...if.($semanticV
aade0 65 72 73 69 6f 6e 50 61 72 74 73 5b 30 5d 20 3d 3d 3d 20 27 30 27 29 20 7b 0a 75 6e 73 65 74 28 ersionParts[0].===.'0').{.unset(
aae00 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 33 5d 29 3b 0a 7d 20 65 6c 73 $semanticVersionParts[3]);.}.els
aae20 65 20 7b 0a 75 6e 73 65 74 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b e.{.unset($semanticVersionParts[
aae40 32 5d 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 33 5d 29 3b 0a 7d 2],.$semanticVersionParts[3]);.}
aae60 0a 24 76 65 72 73 69 6f 6e 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 24 73 65 6d 61 6e 74 .$version.=.implode('.',.$semant
aae80 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e icVersionParts);.}.else.{.return
aaea0 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 73 74 61 62 69 .$prettyVersion;.}....if.($stabi
aaec0 6c 69 74 79 20 21 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 lity.!=.'stable').{.$version..=.
aaee0 27 40 27 2e 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 27 5e 27 20 '@'.$stability;.}....return.'^'.
aaf00 2e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ..$version;.}..private.function.
aaf20 67 65 74 50 61 72 73 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 72 73 65 72 20 getParser().{.if.($this->parser.
aaf40 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 72 20 3d 20 6e 65 77 20 ===.null).{.$this->parser.=.new.
aaf60 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 VersionParser();.}..return.$this
aaf80 2d 3e 70 61 72 73 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ->parser;.}.}.<?php............n
aafa0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c amespace.Composer\Plugin\Capabil
aafc0 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 61 70 61 62 69 6c 69 74 79 ity;........interface.Capability
aafe0 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .{.}.<?php............namespace.
ab000 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a Composer\Plugin\Capability;.....
ab020 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6d 6d 61 6e 64 50 72 6f 76 69 64 65 72 .......interface.CommandProvider
ab040 20 65 78 74 65 6e 64 73 20 43 61 70 61 62 69 6c 69 74 79 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .extends.Capability.{......publi
ab060 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 7d 0a 3c 3f 70 68 c.function.getCommands();.}.<?ph
ab080 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
ab0a0 50 6c 75 67 69 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 61 70 61 62 6c Plugin;.........interface.Capabl
ab0c0 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e e.{...................public.fun
ab0e0 63 74 69 6f 6e 20 67 65 74 43 61 70 61 62 69 6c 69 74 69 65 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 ction.getCapabilities();.}.<?php
ab100 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 ............namespace.Composer\P
ab120 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 lugin;..use.Composer\EventDispat
ab140 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e cher\Event;.use.Symfony\Componen
ab160 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
ab180 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
ab1a0 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 tput\OutputInterface;.......clas
ab1c0 73 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a s.CommandEvent.extends.Event.{..
ab1e0 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 ..private.$commandName;.....priv
ab200 61 74 65 20 24 69 6e 70 75 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b ate.$input;.....private.$output;
ab220 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ............public.function.__co
ab240 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 24 69 6e nstruct($name,.$commandName,.$in
ab260 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 put,.$output,.array.$args.=.arra
ab280 79 28 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 y(),.array.$flags.=.array()).{.p
ab2a0 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 61 72 67 73 2c arent::__construct($name,.$args,
ab2c0 20 24 66 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 .$flags);.$this->commandName.=.$
ab2e0 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 commandName;.$this->input.=.$inp
ab300 75 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a ut;.$this->output.=.$output;.}..
ab320 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a .....public.function.getInput().
ab340 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 {.return.$this->input;.}.......p
ab360 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 ublic.function.getOutput().{.ret
ab380 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 urn.$this->output;.}.......publi
ab3a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 29 0a 7b 0a 72 65 c.function.getCommandName().{.re
ab3c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 7d 0a 7d 0a 3c 3f 70 turn.$this->commandName;.}.}.<?p
ab3e0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
ab400 5c 50 6c 75 67 69 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 75 67 69 6e 45 76 65 6e 74 \Plugin;.......class.PluginEvent
ab420 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 49 4e 49 54 20 3d 20 27 69 6e 69 74 27 3b s.{.........const.INIT.=.'init';
ab440 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d 20 27 63 6f 6d 6d 61 ..........const.COMMAND.=.'comma
ab460 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 46 49 4c 45 5f 44 4f 57 nd';..........const.PRE_FILE_DOW
ab480 4e 4c 4f 41 44 20 3d 20 27 70 72 65 2d 66 69 6c 65 2d 64 6f 77 6e 6c 6f 61 64 27 3b 0a 0a 0a 0a NLOAD.=.'pre-file-download';....
ab4a0 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 43 4f 4d 4d 41 4e 44 5f 52 55 4e 20 3d 20 27 70 ......const.PRE_COMMAND_RUN.=.'p
ab4c0 72 65 2d 63 6f 6d 6d 61 6e 64 2d 72 75 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a re-command-run';.}.<?php........
ab4e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a ....namespace.Composer\Plugin;..
ab500 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f use.Composer\Composer;.use.Compo
ab520 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 ser\IO\IOInterface;.......interf
ab540 61 63 65 20 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 ace.PluginInterface.{......const
ab560 20 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 4f 4e 20 3d 20 27 31 2e 31 2e 30 27 3b 0a 0a .PLUGIN_API_VERSION.=.'1.1.0';..
ab580 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 74 69 76 61 74 65 28 43 ......public.function.activate(C
ab5a0 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 omposer.$composer,.IOInterface.$
ab5c0 69 6f 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 io);.}.<?php............namespac
ab5e0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e.Composer\Plugin;..use.Composer
ab600 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 \Composer;.use.Composer\EventDis
ab620 70 61 74 63 68 65 72 5c 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 patcher\EventSubscriberInterface
ab640 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 ;.use.Composer\IO\IOInterface;.u
ab660 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 se.Composer\Package\Package;.use
ab680 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f .Composer\Package\Version\Versio
ab6a0 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 nParser;.use.Composer\Repository
ab6c0 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \RepositoryInterface;.use.Compos
ab6e0 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d er\Package\AliasPackage;.use.Com
ab700 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
ab720 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 use.Composer\Package\Link;.use.C
ab740 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 omposer\Semver\Constraint\Constr
ab760 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 aint;.use.Composer\DependencyRes
ab780 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c olver\Pool;.use.Composer\Plugin\
ab7a0 43 61 70 61 62 69 6c 69 74 79 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c Capability\Capability;........cl
ab7c0 61 73 73 20 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 ass.PluginManager.{.protected.$c
ab7e0 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 omposer;.protected.$io;.protecte
ab800 64 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 d.$globalComposer;.protected.$ve
ab820 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 61 62 6c 65 50 rsionParser;.protected.$disableP
ab840 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6c 75 67 lugins.=.false;..protected.$plug
ab860 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 67 69 73 74 ins.=.array();.protected.$regist
ab880 65 72 65 64 50 6c 75 67 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 eredPlugins.=.array();..private.
ab8a0 73 74 61 74 69 63 20 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a static.$classCounter.=.0;.......
ab8c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 ...public.function.__construct(I
ab8e0 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 OInterface.$io,.Composer.$compos
ab900 65 72 2c 20 43 6f 6d 70 6f 73 65 72 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e er,.Composer.$globalComposer.=.n
ab920 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a ull,.$disablePlugins.=.false).{.
ab940 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 $this->io.=.$io;.$this->composer
ab960 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f .=.$composer;.$this->globalCompo
ab980 73 65 72 20 3d 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 ser.=.$globalComposer;.$this->ve
ab9a0 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 rsionParser.=.new.VersionParser(
ab9c0 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 64 69 73 61 );.$this->disablePlugins.=.$disa
ab9e0 62 6c 65 50 6c 75 67 69 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f blePlugins;.}.....public.functio
aba00 6e 20 6c 6f 61 64 49 6e 73 74 61 6c 6c 65 64 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 69 66 20 28 24 n.loadInstalledPlugins().{.if.($
aba20 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a this->disablePlugins).{.return;.
aba40 7d 0a 0a 24 72 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 }..$repo.=.$this->composer->getR
aba60 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f epositoryManager()->getLocalRepo
aba80 73 69 74 6f 72 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 sitory();.$globalRepo.=.$this->g
abaa0 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3f 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d lobalComposer.?.$this->globalCom
abac0 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 poser->getRepositoryManager()->g
abae0 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 etLocalRepository().:.null;.if.(
abb00 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 24 $repo).{.$this->loadRepository($
abb20 72 65 70 6f 29 3b 0a 7d 0a 69 66 20 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 20 7b 0a 24 74 68 69 repo);.}.if.($globalRepo).{.$thi
abb40 73 2d 3e 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a s->loadRepository($globalRepo);.
abb60 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 }.}.......public.function.getPlu
abb80 67 69 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 73 3b 0a gins().{.return.$this->plugins;.
abba0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 61 }.......public.function.getGloba
abbc0 6c 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 lComposer().{.return.$this->glob
abbe0 61 6c 43 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 alComposer;.}.............public
abc00 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 .function.registerPackage(Packag
abc20 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 66 61 69 6c 4f 6e 4d 69 73 73 eInterface.$package,.$failOnMiss
abc40 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d ingClasses.=.false).{.if.($this-
abc60 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 >disablePlugins).{.return;.}..if
abc80 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f .($package->getType().===.'compo
abca0 73 65 72 2d 70 6c 75 67 69 6e 27 29 20 7b 0a 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 ser-plugin').{.$requiresComposer
abcc0 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 .=.null;.foreach.($package->getR
abce0 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 20 0a 69 66 20 28 27 63 6f 6d 70 equires().as.$link).{..if.('comp
abd00 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 oser-plugin-api'.===.$link->getT
abd20 61 72 67 65 74 28 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 20 3d 20 24 arget()).{.$requiresComposer.=.$
abd40 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a link->getConstraint();.break;.}.
abd60 7d 0a 0a 69 66 20 28 21 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 68 72 }..if.(!$requiresComposer).{.thr
abd80 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 50 6c 75 67 69 6e ow.new.\RuntimeException("Plugin
abda0 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 20 69 73 20 6d 69 73 73 .".$package->getName().".is.miss
abdc0 69 6e 67 20 61 20 72 65 71 75 69 72 65 20 73 74 61 74 65 6d 65 6e 74 20 66 6f 72 20 61 20 76 65 ing.a.require.statement.for.a.ve
abde0 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 rsion.of.the.composer-plugin-api
abe00 20 70 61 63 6b 61 67 65 2e 22 29 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 .package.");.}..$currentPluginAp
abe20 69 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 iVersion.=.$this->getPluginApiVe
abe40 72 73 69 6f 6e 28 29 3b 0a 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 43 6f 6e 73 74 72 rsion();.$currentPluginApiConstr
abe60 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 74 68 69 aint.=.new.Constraint('==',.$thi
abe80 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 63 75 72 s->versionParser->normalize($cur
abea0 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 24 72 65 rentPluginApiVersion));..if.($re
abec0 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 quiresComposer->getPrettyString(
abee0 29 20 3d 3d 3d 20 27 31 2e 30 2e 30 27 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 ).===.'1.0.0'.&&.$this->getPlugi
abf00 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 27 31 2e 30 2e 30 27 29 20 7b 0a 24 74 68 nApiVersion().===.'1.0.0').{.$th
abf20 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 54 68 65 is->io->writeError('<warning>The
abf40 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 70 ."'...$package->getName()...'".p
abf60 6c 75 67 69 6e 20 72 65 71 75 69 72 65 73 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 lugin.requires.composer-plugin-a
abf80 70 69 20 31 2e 30 2e 30 2c 20 74 68 69 73 20 2a 57 49 4c 4c 2a 20 62 72 65 61 6b 20 69 6e 20 74 pi.1.0.0,.this.*WILL*.break.in.t
abfa0 68 65 20 66 75 74 75 72 65 20 61 6e 64 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 66 69 78 65 64 he.future.and.it.should.be.fixed
abfc0 20 41 53 41 50 20 28 72 65 71 75 69 72 65 20 5e 31 2e 30 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 .ASAP.(require.^1.0.for.example)
abfe0 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 72 65 71 75 69 .</warning>');.}.elseif.(!$requi
ac000 72 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 63 75 72 72 65 6e 74 50 6c 75 resComposer->matches($currentPlu
ac020 67 69 6e 41 70 69 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ginApiConstraint)).{.$this->io->
ac040 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 54 68 65 20 22 27 20 2e 20 24 70 writeError('<warning>The."'...$p
ac060 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 70 6c 75 67 69 6e 20 77 61 ackage->getName()...'".plugin.wa
ac080 73 20 73 6b 69 70 70 65 64 20 62 65 63 61 75 73 65 20 69 74 20 72 65 71 75 69 72 65 73 20 61 20 s.skipped.because.it.requires.a.
ac0a0 50 6c 75 67 69 6e 20 41 50 49 20 76 65 72 73 69 6f 6e 20 28 22 27 20 2e 20 24 72 65 71 75 69 72 Plugin.API.version.("'...$requir
ac0c0 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 2e 20 esComposer->getPrettyString()...
ac0e0 27 22 29 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 79 6f 75 72 20 43 6f 6d '").that.does.not.match.your.Com
ac100 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 28 22 27 20 2e 20 24 63 75 72 72 65 6e poser.installation.("'...$curren
ac120 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 20 2e 20 27 22 29 2e 20 59 6f 75 20 6d 61 79 tPluginApiVersion...'")..You.may
ac140 20 6e 65 65 64 20 74 6f 20 72 75 6e 20 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 77 69 74 .need.to.run.composer.update.wit
ac160 68 20 74 68 65 20 22 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 6f 70 74 69 6f 6e 2e 3c 2f 77 61 h.the."--no-plugins".option.</wa
ac180 72 6e 69 6e 67 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 24 6f 6c 64 49 6e 73 74 rning>');..return;.}.}..$oldInst
ac1a0 61 6c 6c 65 72 50 6c 75 67 69 6e 20 3d 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 allerPlugin.=.($package->getType
ac1c0 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 29 3b 0a 0a 69 ().===.'composer-installer');..i
ac1e0 66 20 28 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c f.(in_array($package->getName(),
ac200 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 6e 73 29 29 20 7b 0a 72 65 .$this->registeredPlugins)).{.re
ac220 74 75 72 6e 3b 0a 7d 0a 0a 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 turn;.}..$extra.=.$package->getE
ac240 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 xtra();.if.(empty($extra['class'
ac260 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 ])).{.throw.new.\UnexpectedValue
ac280 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e Exception('Error.while.installin
ac2a0 67 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c g.'.$package->getPrettyName().',
ac2c0 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 .composer-plugin.packages.should
ac2e0 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 .have.a.class.defined.in.their.e
ac300 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 63 6c 61 xtra.key.to.be.usable.');.}.$cla
ac320 73 73 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 sses.=.is_array($extra['class'])
ac340 20 3f 20 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 20 3a 20 61 72 72 61 79 28 24 65 78 74 72 .?.$extra['class'].:.array($extr
ac360 61 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 a['class']);..$localRepo.=.$this
ac380 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 ->composer->getRepositoryManager
ac3a0 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 67 6c 6f 62 61 ()->getLocalRepository();.$globa
ac3c0 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3f 20 lRepo.=.$this->globalComposer.?.
ac3e0 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 $this->globalComposer->getReposi
ac400 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 toryManager()->getLocalRepositor
ac420 79 28 29 20 3a 20 6e 75 6c 6c 3b 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 y().:.null;..$pool.=.new.Pool('d
ac440 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 ev');.$pool->addRepository($loca
ac460 6c 52 65 70 6f 29 3b 0a 69 66 20 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 20 7b 0a 24 70 6f 6f 6c lRepo);.if.($globalRepo).{.$pool
ac480 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a 7d 0a ->addRepository($globalRepo);.}.
ac4a0 0a 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b .$autoloadPackages.=.array($pack
ac4c0 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 61 75 age->getName().=>.$package);.$au
ac4e0 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 toloadPackages.=.$this->collectD
ac500 65 70 65 6e 64 65 6e 63 69 65 73 28 24 70 6f 6f 6c 2c 20 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b ependencies($pool,.$autoloadPack
ac520 61 67 65 73 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 ages,.$package);..$generator.=.$
ac540 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 this->composer->getAutoloadGener
ac560 61 74 6f 72 28 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f ator();.$autoloads.=.array();.fo
ac580 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 61 75 74 reach.($autoloadPackages.as.$aut
ac5a0 6f 6c 6f 61 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 oloadPackage).{.$downloadPath.=.
ac5c0 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 61 75 74 6f 6c 6f 61 64 50 $this->getInstallPath($autoloadP
ac5e0 61 63 6b 61 67 65 2c 20 24 67 6c 6f 62 61 6c 52 65 70 6f 20 26 26 20 24 67 6c 6f 62 61 6c 52 65 ackage,.$globalRepo.&&.$globalRe
ac600 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 29 po->hasPackage($autoloadPackage)
ac620 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 );.$autoloads[].=.array($autoloa
ac640 64 50 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 dPackage,.$downloadPath);.}..$ma
ac660 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 p.=.$generator->parseAutoloads($
ac680 61 75 74 6f 6c 6f 61 64 73 2c 20 6e 65 77 20 50 61 63 6b 61 67 65 28 27 64 75 6d 6d 79 27 2c 20 autoloads,.new.Package('dummy',.
ac6a0 27 31 2e 30 2e 30 2e 30 27 2c 20 27 31 2e 30 2e 30 27 29 29 3b 0a 24 63 6c 61 73 73 4c 6f 61 64 '1.0.0.0',.'1.0.0'));.$classLoad
ac6c0 65 72 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d er.=.$generator->createLoader($m
ac6e0 61 70 29 3b 0a 24 63 6c 61 73 73 4c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a ap);.$classLoader->register();..
ac700 66 6f 72 65 61 63 68 20 28 24 63 6c 61 73 73 65 73 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 69 foreach.($classes.as.$class).{.i
ac720 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 20 f.(class_exists($class,.false)).
ac740 7b 0a 24 63 6c 61 73 73 20 3d 20 74 72 69 6d 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 3b 0a 24 {.$class.=.trim($class,.'\\');.$
ac760 70 61 74 68 20 3d 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 path.=.$classLoader->findFile($c
ac780 6c 61 73 73 29 3b 0a 24 63 6f 64 65 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 lass);.$code.=.file_get_contents
ac7a0 28 24 70 61 74 68 29 3b 0a 24 73 65 70 61 72 61 74 6f 72 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 ($path);.$separatorPos.=.strrpos
ac7c0 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 3b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 63 6c ($class,.'\\');.$className.=.$cl
ac7e0 61 73 73 3b 0a 69 66 20 28 24 73 65 70 61 72 61 74 6f 72 50 6f 73 29 20 7b 0a 24 63 6c 61 73 73 ass;.if.($separatorPos).{.$class
ac800 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 73 2c 20 24 73 65 70 61 72 61 74 6f 72 Name.=.substr($class,.$separator
ac820 50 6f 73 20 2b 20 31 29 3b 0a 7d 0a 24 63 6f 64 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 Pos.+.1);.}.$code.=.preg_replace
ac840 28 27 7b 5e 28 28 3f 3a 66 69 6e 61 6c 5c 73 2b 29 3f 28 3f 3a 5c 73 2a 29 29 63 6c 61 73 73 5c ('{^((?:final\s+)?(?:\s*))class\
ac860 73 2b 28 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 6c 61 73 73 4e 61 6d 65 29 2e 27 29 7d 6d s+('.preg_quote($className).')}m
ac880 69 27 2c 20 27 24 31 63 6c 61 73 73 20 24 32 5f 63 6f 6d 70 6f 73 65 72 5f 74 6d 70 27 2e 73 65 i',.'$1class.$2_composer_tmp'.se
ac8a0 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 2c 20 24 63 6f 64 65 2c 20 31 29 3b 0a 24 63 lf::$classCounter,.$code,.1);.$c
ac8c0 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 46 49 4c 45 5f 5f 27 2c 20 76 61 ode.=.str_replace('__FILE__',.va
ac8e0 72 5f 65 78 70 6f 72 74 28 24 70 61 74 68 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 r_export($path,.true),.$code);.$
ac900 63 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 76 61 code.=.str_replace('__DIR__',.va
ac920 72 5f 65 78 70 6f 72 74 28 64 69 72 6e 61 6d 65 28 24 70 61 74 68 29 2c 20 74 72 75 65 29 2c 20 r_export(dirname($path),.true),.
ac940 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 43 $code);.$code.=.str_replace('__C
ac960 4c 41 53 53 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 LASS__',.var_export($class,.true
ac980 29 2c 20 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 ),.$code);.$code.=.preg_replace(
ac9a0 27 2f 5e 5c 73 2a 3c 5c 3f 28 70 68 70 29 3f 2f 69 27 2c 20 27 27 2c 20 24 63 6f 64 65 2c 20 31 '/^\s*<\?(php)?/i',.'',.$code,.1
ac9c0 29 3b 0a 65 76 61 6c 28 24 63 6f 64 65 29 3b 0a 24 63 6c 61 73 73 20 2e 3d 20 27 5f 63 6f 6d 70 );.eval($code);.$class..=.'_comp
ac9e0 6f 73 65 72 5f 74 6d 70 27 2e 73 65 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 3b 0a 73 oser_tmp'.self::$classCounter;.s
aca00 65 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 2b 2b 3b 0a 7d 0a 0a 69 66 20 28 24 6f 6c elf::$classCounter++;.}..if.($ol
aca20 64 49 6e 73 74 61 6c 6c 65 72 50 6c 75 67 69 6e 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d dInstallerPlugin).{.$installer.=
aca40 20 6e 65 77 20 24 63 6c 61 73 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f .new.$class($this->io,.$this->co
aca60 6d 70 6f 73 65 72 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 mposer);.$this->composer->getIns
aca80 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 tallationManager()->addInstaller
acaa0 28 24 69 6e 73 74 61 6c 6c 65 72 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6c 61 73 73 5f 65 78 ($installer);.}.elseif.(class_ex
acac0 69 73 74 73 28 24 63 6c 61 73 73 29 29 20 7b 0a 24 70 6c 75 67 69 6e 20 3d 20 6e 65 77 20 24 63 ists($class)).{.$plugin.=.new.$c
acae0 6c 61 73 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 6c 75 67 69 6e 28 24 70 6c 75 67 69 6e lass();.$this->addPlugin($plugin
acb00 29 3b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 6e 73 5b 5d 20 3d 20 );.$this->registeredPlugins[].=.
acb20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 $package->getName();.}.elseif.($
acb40 66 61 69 6c 4f 6e 4d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 failOnMissingClasses).{.throw.ne
acb60 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 w.\UnexpectedValueException('Plu
acb80 67 69 6e 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 63 6f 75 6c gin.'.$package->getName().'.coul
acba0 64 20 6e 6f 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 2c 20 63 6c 61 73 73 20 6e 6f 74 20 d.not.be.initialized,.class.not.
acbc0 66 6f 75 6e 64 3a 20 27 2e 24 63 6c 61 73 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 found:.'.$class);.}.}.}.......pr
acbe0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 otected.function.getPluginApiVer
acc00 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3a sion().{.return.PluginInterface:
acc20 3a 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a :PLUGIN_API_VERSION;.}..........
acc40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 6c 75 67 69 6e 28 50 6c 75 67 69 .public.function.addPlugin(Plugi
acc60 6e 49 6e 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d nInterface.$plugin).{.$this->io-
acc80 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 70 6c 75 67 69 6e 20 27 2e 67 65 >writeError('Loading.plugin.'.ge
acca0 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 t_class($plugin),.true,.IOInterf
accc0 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 73 5b 5d 20 3d 20 ace::DEBUG);.$this->plugins[].=.
acce0 24 70 6c 75 67 69 6e 3b 0a 24 70 6c 75 67 69 6e 2d 3e 61 63 74 69 76 61 74 65 28 24 74 68 69 73 $plugin;.$plugin->activate($this
acd00 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 70 6c ->composer,.$this->io);..if.($pl
acd20 75 67 69 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 ugin.instanceof.EventSubscriberI
acd40 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 nterface).{.$this->composer->get
acd60 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 61 64 64 53 75 62 73 63 72 69 62 65 72 EventDispatcher()->addSubscriber
acd80 28 24 70 6c 75 67 69 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ($plugin);.}.}.............priva
acda0 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 te.function.loadRepository(Repos
acdc0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 29 0a 7b 0a 66 6f 72 65 61 63 68 20 itoryInterface.$repo).{.foreach.
acde0 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 ($repo->getPackages().as.$packag
ace00 65 29 20 7b 20 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c e).{..if.($package.instanceof.Al
ace20 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 63 iasPackage).{.continue;.}.if.('c
ace40 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 omposer-plugin'.===.$package->ge
ace60 74 54 79 70 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 tType()).{.$this->registerPackag
ace80 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 27 63 6f 6d 70 6f 73 e($package);...}.elseif.('compos
acea0 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 er-installer'.===.$package->getT
acec0 79 70 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 ype()).{.$this->registerPackage(
acee0 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 $package);.}.}.}...........priva
acf00 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 te.function.collectDependencies(
acf20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 50 61 Pool.$pool,.array.$collected,.Pa
acf40 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 72 65 71 75 ckageInterface.$package).{.$requ
acf60 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 ires.=.array_merge(.$package->ge
acf80 74 52 65 71 75 69 72 65 73 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 tRequires(),.$package->getDevReq
acfa0 75 69 72 65 73 28 29 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 uires().);..foreach.($requires.a
acfc0 73 20 24 72 65 71 75 69 72 65 4c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 s.$requireLink).{.$requiredPacka
acfe0 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 ge.=.$this->lookupInstalledPacka
ad000 67 65 28 24 70 6f 6f 6c 2c 20 24 72 65 71 75 69 72 65 4c 69 6e 6b 29 3b 0a 69 66 20 28 24 72 65 ge($pool,.$requireLink);.if.($re
ad020 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 26 26 20 21 69 73 73 65 74 28 24 63 6f 6c 6c 65 63 74 quiredPackage.&&.!isset($collect
ad040 65 64 5b 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 ed[$requiredPackage->getName()])
ad060 29 20 7b 0a 24 63 6f 6c 6c 65 63 74 65 64 5b 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2d ).{.$collected[$requiredPackage-
ad080 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 3b 0a >getName()].=.$requiredPackage;.
ad0a0 24 63 6f 6c 6c 65 63 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 65 70 65 6e $collected.=.$this->collectDepen
ad0c0 64 65 6e 63 69 65 73 28 24 70 6f 6f 6c 2c 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 24 72 65 71 75 dencies($pool,.$collected,.$requ
ad0e0 69 72 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 6c 65 iredPackage);.}.}..return.$colle
ad100 63 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 cted;.}............private.funct
ad120 69 6f 6e 20 6c 6f 6f 6b 75 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 50 6f 6f 6c 20 ion.lookupInstalledPackage(Pool.
ad140 24 70 6f 6f 6c 2c 20 4c 69 6e 6b 20 24 6c 69 6e 6b 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d $pool,.Link.$link).{.$packages.=
ad160 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 .$pool->whatProvides($link->getT
ad180 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 arget(),.$link->getConstraint())
ad1a0 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 24 70 ;..return.!empty($packages).?.$p
ad1c0 61 63 6b 61 67 65 73 5b 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ackages[0].:.null;.}..........pr
ad1e0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 ivate.function.getInstallPath(Pa
ad200 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 67 6c 6f 62 61 6c ckageInterface.$package,.$global
ad220 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 67 6c 6f 62 61 6c 29 20 7b 0a 72 65 74 75 .=.false).{.if.(!$global).{.retu
ad240 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 rn.$this->composer->getInstallat
ad260 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 ionManager()->getInstallPath($pa
ad280 63 6b 61 67 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 ckage);.}..return.$this->globalC
ad2a0 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 omposer->getInstallationManager(
ad2c0 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a )->getInstallPath($package);.}..
ad2e0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 70 61 ......protected.function.getCapa
ad300 62 69 6c 69 74 79 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 50 6c bilityImplementationClassName(Pl
ad320 75 67 69 6e 49 6e 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 uginInterface.$plugin,.$capabili
ad340 74 79 29 0a 7b 0a 69 66 20 28 21 28 24 70 6c 75 67 69 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 ty).{.if.(!($plugin.instanceof.C
ad360 61 70 61 62 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 61 70 61 apable)).{.return.null;.}..$capa
ad380 62 69 6c 69 74 69 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 70 6c 75 67 69 6e 2d 3e 67 65 74 43 bilities.=.(array).$plugin->getC
ad3a0 61 70 61 62 69 6c 69 74 69 65 73 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 61 70 61 apabilities();..if.(!empty($capa
ad3c0 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 26 26 20 69 73 5f 73 74 72 bilities[$capability]).&&.is_str
ad3e0 69 6e 67 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 ing($capabilities[$capability]).
ad400 26 26 20 74 72 69 6d 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 &&.trim($capabilities[$capabilit
ad420 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 y])).{.return.trim($capabilities
ad440 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 3b 0a 7d 0a 0a 69 66 20 28 0a 61 72 72 61 79 5f 6b 65 [$capability]);.}..if.(.array_ke
ad460 79 5f 65 78 69 73 74 73 28 24 63 61 70 61 62 69 6c 69 74 79 2c 20 24 63 61 70 61 62 69 6c 69 74 y_exists($capability,.$capabilit
ad480 69 65 73 29 0a 26 26 20 28 65 6d 70 74 79 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 ies).&&.(empty($capabilities[$ca
ad4a0 70 61 62 69 6c 69 74 79 5d 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 70 61 62 69 pability]).||.!is_string($capabi
ad4c0 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 7c 7c 20 21 74 72 69 6d 28 24 63 lities[$capability]).||.!trim($c
ad4e0 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 29 0a 29 20 7b 0a 74 apabilities[$capability])).).{.t
ad500 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 hrow.new.\UnexpectedValueExcepti
ad520 6f 6e 28 27 50 6c 75 67 69 6e 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e on('Plugin.'.get_class($plugin).
ad540 27 20 70 72 6f 76 69 64 65 64 20 69 6e 76 61 6c 69 64 20 63 61 70 61 62 69 6c 69 74 79 20 63 6c '.provided.invalid.capability.cl
ad560 61 73 73 20 6e 61 6d 65 28 73 29 2c 20 67 6f 74 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 63 ass.name(s),.got.'.var_export($c
ad580 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 2c 20 31 29 29 3b 0a 7d apabilities[$capability],.1));.}
ad5a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 .}..........public.function.getP
ad5c0 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 79 28 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 20 luginCapability(PluginInterface.
ad5e0 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 61 $plugin,.$capabilityClassName,.a
ad600 72 72 61 79 20 24 63 74 6f 72 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 rray.$ctorArgs.=.array()).{.if.(
ad620 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 70 $capabilityClass.=.$this->getCap
ad640 61 62 69 6c 69 74 79 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 24 abilityImplementationClassName($
ad660 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 29 29 20 7b plugin,.$capabilityClassName)).{
ad680 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c .if.(!class_exists($capabilityCl
ad6a0 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 ass)).{.throw.new.\RuntimeExcept
ad6c0 69 6f 6e 28 22 43 61 6e 6e 6f 74 20 69 6e 73 74 61 6e 74 69 61 74 65 20 43 61 70 61 62 69 6c 69 ion("Cannot.instantiate.Capabili
ad6e0 74 79 2c 20 61 73 20 63 6c 61 73 73 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 66 72 ty,.as.class.$capabilityClass.fr
ad700 6f 6d 20 70 6c 75 67 69 6e 20 22 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e 22 om.plugin.".get_class($plugin)."
ad720 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 0a 24 63 74 6f 72 41 72 67 73 .does.not.exist.");.}..$ctorArgs
ad740 5b 27 70 6c 75 67 69 6e 27 5d 20 3d 20 24 70 6c 75 67 69 6e 3b 0a 24 63 61 70 61 62 69 6c 69 74 ['plugin'].=.$plugin;.$capabilit
ad760 79 4f 62 6a 20 3d 20 6e 65 77 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 28 24 63 74 6f yObj.=.new.$capabilityClass($cto
ad780 72 41 72 67 73 29 3b 0a 0a 0a 20 69 66 20 28 21 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 69 rArgs);....if.(!$capabilityObj.i
ad7a0 6e 73 74 61 6e 63 65 6f 66 20 43 61 70 61 62 69 6c 69 74 79 20 7c 7c 20 21 24 63 61 70 61 62 69 nstanceof.Capability.||.!$capabi
ad7c0 6c 69 74 79 4f 62 6a 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c lityObj.instanceof.$capabilityCl
ad7e0 61 73 73 4e 61 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 assName).{.throw.new.\RuntimeExc
ad800 65 70 74 69 6f 6e 28 0a 27 43 6c 61 73 73 20 27 20 2e 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c eption(.'Class.'...$capabilityCl
ad820 61 73 73 20 2e 20 27 20 6d 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 20 62 6f 74 68 20 43 6f 6d 70 ass...'.must.implement.both.Comp
ad840 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 61 70 61 62 69 6c 69 74 oser\Plugin\Capability\Capabilit
ad860 79 20 61 6e 64 20 27 2e 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 20 2e 20 y.and.'..$capabilityClassName...
ad880 27 2e 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 3b '.'.);.}..return.$capabilityObj;
ad8a0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .}.}.........public.function.get
ad8c0 50 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 69 65 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c PluginCapabilities($capabilityCl
ad8e0 61 73 73 4e 61 6d 65 2c 20 61 72 72 61 79 20 24 63 74 6f 72 41 72 67 73 20 3d 20 61 72 72 61 79 assName,.array.$ctorArgs.=.array
ad900 28 29 29 0a 7b 0a 24 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 ()).{.$capabilities.=.array();.f
ad920 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 73 28 29 20 61 73 20 24 oreach.($this->getPlugins().as.$
ad940 70 6c 75 67 69 6e 29 20 7b 0a 69 66 20 28 24 63 61 70 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 plugin).{.if.($capability.=.$thi
ad960 73 2d 3e 67 65 74 50 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 79 28 24 70 6c 75 67 69 6e 2c 20 s->getPluginCapability($plugin,.
ad980 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 24 63 74 6f 72 41 72 67 73 29 $capabilityClassName,.$ctorArgs)
ad9a0 29 20 7b 0a 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 5d 20 3d 20 24 63 61 70 61 62 69 6c 69 74 ).{.$capabilities[].=.$capabilit
ad9c0 79 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 69 65 73 3b 0a 7d 0a y;.}.}..return.$capabilities;.}.
ad9e0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
ada00 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e poser\Plugin;..use.Composer\Even
ada20 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 tDispatcher\Event;.use.Symfony\C
ada40 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
ada60 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e rface;.......class.PreCommandRun
ada80 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 Event.extends.Event.{....private
adaa0 20 24 69 6e 70 75 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a .$input;.....private.$command;..
adac0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
adae0 63 74 28 24 6e 61 6d 65 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c ct($name,.InputInterface.$input,
adb00 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 .$command).{.parent::__construct
adb20 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a ($name);.$this->input.=.$input;.
adb40 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a $this->command.=.$command;.}....
adb60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a ...public.function.getInput().{.
adb80 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 return.$this->input;.}.......pub
adba0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 lic.function.getCommand().{.retu
adbc0 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a rn.$this->command;.}.}.<?php....
adbe0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 ........namespace.Composer\Plugi
adc00 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 n;..use.Composer\EventDispatcher
adc20 5c 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 \Event;.use.Composer\Util\Remote
adc40 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 46 69 6c 65 44 Filesystem;.......class.PreFileD
adc60 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a ownloadEvent.extends.Event.{....
adc80 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 private.$rfs;.....private.$proce
adca0 73 73 65 64 55 72 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ssedUrl;.........public.function
adcc0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 .__construct($name,.RemoteFilesy
adce0 73 74 65 6d 20 24 72 66 73 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 0a 7b 0a 70 61 72 65 stem.$rfs,.$processedUrl).{.pare
add00 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 72 nt::__construct($name);.$this->r
add20 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 65 64 55 72 6c 20 3d fs.=.$rfs;.$this->processedUrl.=
add40 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$processedUrl;.}.......public.f
add60 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a unction.getRemoteFilesystem().{.
add80 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 return.$this->rfs;.}.......publi
adda0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 52 c.function.setRemoteFilesystem(R
addc0 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 emoteFilesystem.$rfs).{.$this->r
adde0 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 fs.=.$rfs;.}.......public.functi
ade00 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 65 64 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 on.getProcessedUrl().{.return.$t
ade20 68 69 73 2d 3e 70 72 6f 63 65 73 73 65 64 55 72 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a his->processedUrl;.}.}.<?php....
ade40 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 51 75 65 73 74 ........namespace.Composer\Quest
ade60 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ion;..use.Symfony\Component\Cons
ade80 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
adea0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
adec0 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a nsole\Question\Question;........
adee0 0a 63 6c 61 73 73 20 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f .class.StrictConfirmationQuestio
adf00 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 72 n.extends.Question.{.private.$tr
adf20 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 73 65 41 6e 73 ueAnswerRegex;.private.$falseAns
adf40 77 65 72 52 65 67 65 78 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 werRegex;..........public.functi
adf60 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 on.__construct($question,.$defau
adf80 6c 74 20 3d 20 74 72 75 65 2c 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f lt.=.true,.$trueAnswerRegex.=.'/
adfa0 5e 79 28 3f 3a 65 73 29 3f 24 2f 69 27 2c 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 ^y(?:es)?$/i',.$falseAnswerRegex
adfc0 20 3d 20 27 2f 5e 6e 6f 3f 24 2f 69 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 .=.'/^no?$/i').{.parent::__const
adfe0 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 24 64 65 66 61 75 6c 74 29 ruct($question,.(bool).$default)
ae000 3b 0a 0a 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 ;..$this->trueAnswerRegex.=.$tru
ae020 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 eAnswerRegex;.$this->falseAnswer
ae040 52 65 67 65 78 20 3d 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 Regex.=.$falseAnswerRegex;.$this
ae060 2d 3e 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c ->setNormalizer($this->getDefaul
ae080 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 tNormalizer());.$this->setValida
ae0a0 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 tor($this->getDefaultValidator()
ae0c0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 );.}.......private.function.getD
ae0e0 65 66 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 efaultNormalizer().{.$default.=.
ae100 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 74 72 75 65 52 65 67 65 78 20 $this->getDefault();.$trueRegex.
ae120 3d 20 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 66 61 6c 73 65 =.$this->trueAnswerRegex;.$false
ae140 52 65 67 65 78 20 3d 20 24 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b Regex.=.$this->falseAnswerRegex;
ae160 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 ..return.function.($answer).use.
ae180 28 24 64 65 66 61 75 6c 74 2c 20 24 74 72 75 65 52 65 67 65 78 2c 20 24 66 61 6c 73 65 52 65 67 ($default,.$trueRegex,.$falseReg
ae1a0 65 78 29 20 7b 0a 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 ex).{.if.(is_bool($answer)).{.re
ae1c0 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 61 6e 73 77 65 turn.$answer;.}.if.(empty($answe
ae1e0 72 29 20 26 26 20 21 65 6d 70 74 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e r).&&.!empty($default)).{.return
ae200 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 72 .$default;.}..if.(preg_match($tr
ae220 75 65 52 65 67 65 78 2c 20 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 ueRegex,.$answer)).{.return.true
ae240 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 66 61 6c 73 65 52 65 67 65 78 2c ;.}..if.(preg_match($falseRegex,
ae260 20 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 .$answer)).{.return.false;.}..re
ae280 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 turn.null;.};.}.......private.fu
ae2a0 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 72 nction.getDefaultValidator().{.r
ae2c0 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 7b 0a 69 66 20 28 21 eturn.function.($answer).{.if.(!
ae2e0 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e is_bool($answer)).{.throw.new.In
ae300 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 61 validArgumentException('Please.a
ae320 6e 73 77 65 72 20 79 65 73 2c 20 79 2c 20 6e 6f 2c 20 6f 72 20 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 nswer.yes,.y,.no,.or.n.');.}..re
ae340 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a turn.$answer;.};.}.}.<?php......
ae360 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
ae380 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 ory;..use.Composer\Package\Alias
ae3a0 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 Package;.use.Composer\Package\Pa
ae3c0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ckageInterface;.use.Composer\Pac
ae3e0 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 kage\CompletePackageInterface;.u
ae400 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
ae420 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 ionParser;.use.Composer\Semver\C
ae440 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onstraint\ConstraintInterface;.u
ae460 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f se.Composer\Semver\Constraint\Co
ae480 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 52 65 70 6f 73 nstraint;.......class.ArrayRepos
ae4a0 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a itory.extends.BaseRepository.{..
ae4c0 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e protected.$packages;..public.fun
ae4e0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 ction.__construct(array.$package
ae500 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 s.=.array()).{.foreach.($package
ae520 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 s.as.$package).{.$this->addPacka
ae540 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ge($package);.}.}.....public.fun
ae560 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 ction.findPackage($name,.$constr
ae580 61 69 6e 74 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 aint).{.$name.=.strtolower($name
ae5a0 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 );..if.(!$constraint.instanceof.
ae5c0 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 ConstraintInterface).{.$versionP
ae5e0 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f arser.=.new.VersionParser();.$co
ae600 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 nstraint.=.$versionParser->parse
ae620 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 Constraints($constraint);.}..for
ae640 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 each.($this->getPackages().as.$p
ae660 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 ackage).{.if.($name.===.$package
ae680 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 ->getName()).{.$pkgConstraint.=.
ae6a0 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 new.Constraint('==',.$package->g
ae6c0 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d etVersion());.if.($constraint->m
ae6e0 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e atches($pkgConstraint)).{.return
ae700 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d .$package;.}.}.}..return.null;.}
ae720 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 .....public.function.findPackage
ae740 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a s($name,.$constraint.=.null).{..
ae760 20 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 70 61 63 .$name.=.strtolower($name);.$pac
ae780 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 kages.=.array();..if.(null.!==.$
ae7a0 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 constraint.&&.!$constraint.insta
ae7c0 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 nceof.ConstraintInterface).{.$ve
ae7e0 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 rsionParser.=.new.VersionParser(
ae800 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d );.$constraint.=.$versionParser-
ae820 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a >parseConstraints($constraint);.
ae840 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 }..foreach.($this->getPackages()
ae860 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 .as.$package).{.if.($name.===.$p
ae880 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 ackage->getName()).{.$pkgConstra
ae8a0 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b int.=.new.Constraint('==',.$pack
ae8c0 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d age->getVersion());.if.(null.===
ae8e0 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 .$constraint.||.$constraint->mat
ae900 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 ches($pkgConstraint)).{.$package
ae920 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 s[].=.$package;.}.}.}..return.$p
ae940 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ackages;.}.....public.function.s
ae960 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d earch($query,.$mode.=.0,.$type.=
ae980 20 6e 75 6c 6c 29 0a 7b 0a 24 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 .null).{.$regex.=.'{(?:'.implode
ae9a0 28 27 7c 27 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 ('|',.preg_split('{\s+}',.$query
ae9c0 29 29 2e 27 29 7d 69 27 3b 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 )).')}i';..$matches.=.array();.f
ae9e0 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 oreach.($this->getPackages().as.
aea00 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 $package).{.$name.=.$package->ge
aea20 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d tName();.if.(isset($matches[$nam
aea40 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 e])).{.continue;.}.if.(preg_matc
aea60 68 28 24 72 65 67 65 78 2c 20 24 6e 61 6d 65 29 0a 7c 7c 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 73 h($regex,.$name).||.($mode.===.s
aea80 65 6c 66 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 20 26 26 20 24 70 61 63 6b 61 67 65 elf::SEARCH_FULLTEXT.&&.$package
aeaa0 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 .instanceof.CompletePackageInter
aeac0 66 61 63 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 69 6d 70 6c 6f face.&&.preg_match($regex,.implo
aeae0 64 65 28 27 20 27 2c 20 28 61 72 72 61 79 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 de('.',.(array).$package->getKey
aeb00 77 6f 72 64 73 28 29 29 20 2e 20 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 words())...'.'...$package->getDe
aeb20 73 63 72 69 70 74 69 6f 6e 28 29 29 29 0a 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 scription())).).{.if.(null.!==.$
aeb40 74 79 70 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 21 3d 3d 20 type.&&.$package->getType().!==.
aeb60 24 74 79 70 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 $type).{.continue;.}..$matches[$
aeb80 6e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 name].=.array(.'name'.=>.$packag
aeba0 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e e->getPrettyName(),.'description
aebc0 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 '.=>.$package.instanceof.Complet
aebe0 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ePackageInterface.?.$package->ge
aec00 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3a 20 6e 75 6c 6c 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 tDescription().:.null,.);.}.}..r
aec20 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 61 74 63 68 65 73 29 3b 0a 7d 0a eturn.array_values($matches);.}.
aec40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 ....public.function.hasPackage(P
aec60 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 ackageInterface.$package).{.$pac
aec80 6b 61 67 65 49 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 kageId.=.$package->getUniqueName
aeca0 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 ();..foreach.($this->getPackages
aecc0 28 29 20 61 73 20 24 72 65 70 6f 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 ().as.$repoPackage).{.if.($packa
aece0 67 65 49 64 20 3d 3d 3d 20 24 72 65 70 6f 50 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 geId.===.$repoPackage->getUnique
aed00 4e 61 6d 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 Name()).{.return.true;.}.}..retu
aed20 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rn.false;.}.......public.functio
aed40 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 n.addPackage(PackageInterface.$p
aed60 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 ackage).{.if.(null.===.$this->pa
aed80 63 6b 61 67 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d ckages).{.$this->initialize();.}
aeda0 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b .$package->setRepository($this);
aedc0 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a .$this->packages[].=.$package;..
aede0 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 if.($package.instanceof.AliasPac
aee00 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 kage).{.$aliasedPackage.=.$packa
aee20 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 ge->getAliasOf();.if.(null.===.$
aee40 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 aliasedPackage->getRepository())
aee60 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 61 73 65 64 50 61 63 .{.$this->addPackage($aliasedPac
aee80 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e kage);.}.}.}..protected.function
aeea0 20 63 72 65 61 74 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 .createAliasPackage(PackageInter
aeec0 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 2c 20 24 70 72 65 74 74 79 41 6c face.$package,.$alias,.$prettyAl
aeee0 69 61 73 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 ias).{.return.new.AliasPackage($
aef00 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 package.instanceof.AliasPackage.
aef20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3a 20 24 70 61 63 6b ?.$package->getAliasOf().:.$pack
aef40 61 67 65 2c 20 24 61 6c 69 61 73 2c 20 24 70 72 65 74 74 79 41 6c 69 61 73 29 3b 0a 7d 0a 0a 0a age,.$alias,.$prettyAlias);.}...
aef60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 ....public.function.removePackag
aef80 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 e(PackageInterface.$package).{.$
aefa0 70 61 63 6b 61 67 65 49 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e packageId.=.$package->getUniqueN
aefc0 61 6d 65 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 ame();..foreach.($this->getPacka
aefe0 67 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 72 65 70 6f 50 61 63 6b 61 67 65 29 20 7b ges().as.$key.=>.$repoPackage).{
af000 0a 69 66 20 28 24 70 61 63 6b 61 67 65 49 64 20 3d 3d 3d 20 24 72 65 70 6f 50 61 63 6b 61 67 65 .if.($packageId.===.$repoPackage
af020 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 ->getUniqueName()).{.array_splic
af040 65 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 0a 72 65 e($this->packages,.$key,.1);..re
af060 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 turn;.}.}.}.....public.function.
af080 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 getPackages().{.if.(null.===.$th
af0a0 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a is->packages).{.$this->initializ
af0c0 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a e();.}..return.$this->packages;.
af0e0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a }.......public.function.count().
af100 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 3b {.return.count($this->packages);
af120 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 .}.....protected.function.initia
af140 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 lize().{.$this->packages.=.array
af160 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ();.}.}.<?php............namespa
af180 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d ce.Composer\Repository;..use.Com
af1a0 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 poser\IO\IOInterface;.use.Compos
af1c0 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 er\Json\JsonFile;.use.Composer\P
af1e0 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 ackage\Loader\ArrayLoader;.use.C
af200 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 72 49 6e 74 omposer\Package\Loader\LoaderInt
af220 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 erface;.....class.ArtifactReposi
af240 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 tory.extends.ArrayRepository.imp
af260 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e lements.ConfigurableRepositoryIn
af280 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 terface.{..protected.$loader;..p
af2a0 72 6f 74 65 63 74 65 64 20 24 6c 6f 6f 6b 75 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 rotected.$lookup;.protected.$rep
af2c0 6f 43 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 oConfig;.private.$io;..public.fu
af2e0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f nction.__construct(array.$repoCo
af300 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 70 61 72 65 6e 74 3a nfig,.IOInterface.$io).{.parent:
af320 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c :__construct();.if.(!extension_l
af340 6f 61 64 65 64 28 27 7a 69 70 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 oaded('zip')).{.throw.new.\Runti
af360 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 61 72 74 69 66 61 63 74 20 72 65 70 6f 73 69 meException('The.artifact.reposi
af380 74 6f 72 79 20 72 65 71 75 69 72 65 73 20 50 48 50 5c 27 73 20 7a 69 70 20 65 78 74 65 6e 73 69 tory.requires.PHP\'s.zip.extensi
af3a0 6f 6e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 on');.}..$this->loader.=.new.Arr
af3c0 61 79 4c 6f 61 64 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 20 3d 20 24 72 65 70 ayLoader();.$this->lookup.=.$rep
af3e0 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b oConfig['url'];.$this->io.=.$io;
af400 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 .$this->repoConfig.=.$repoConfig
af420 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 ;.}..public.function.getRepoConf
af440 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b ig().{.return.$this->repoConfig;
af460 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a .}..protected.function.initializ
af480 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 e().{.parent::initialize();..$th
af4a0 69 73 2d 3e 73 63 61 6e 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 29 is->scanDirectory($this->lookup)
af4c0 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 6e 44 69 72 65 63 74 ;.}..private.function.scanDirect
af4e0 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 0a 24 ory($path).{.$io.=.$this->io;..$
af500 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 directory.=.new.\RecursiveDirect
af520 6f 72 79 49 74 65 72 61 74 6f 72 28 24 70 61 74 68 2c 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 oryIterator($path,.\RecursiveDir
af540 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 29 ectoryIterator::FOLLOW_SYMLINKS)
af560 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 ;.$iterator.=.new.\RecursiveIter
af580 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 24 72 65 67 65 78 atorIterator($directory);.$regex
af5a0 20 3d 20 6e 65 77 20 5c 52 65 67 65 78 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c .=.new.\RegexIterator($iterator,
af5c0 20 27 2f 5e 2e 2b 5c 2e 28 7a 69 70 7c 70 68 61 72 29 24 2f 69 27 29 3b 0a 66 6f 72 65 61 63 68 .'/^.+\.(zip|phar)$/i');.foreach
af5e0 20 28 24 72 65 67 65 78 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a 69 66 20 28 21 24 66 69 6c 65 .($regex.as.$file).{..if.(!$file
af600 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b ->isFile()).{.continue;.}..$pack
af620 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 age.=.$this->getComposerInformat
af640 69 6f 6e 28 24 66 69 6c 65 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f ion($file);.if.(!$package).{.$io
af660 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 46 69 6c 65 20 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 66 69 ->writeError("File.<comment>{$fi
af680 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 29 7d 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 64 6f 65 le->getBasename()}</comment>.doe
af6a0 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 68 6f 6c 64 20 61 20 70 61 63 6b 61 67 65 22 2c 20 74 72 sn't.seem.to.hold.a.package",.tr
af6c0 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 ue,.IOInterface::VERBOSE);.conti
af6e0 6e 75 65 3b 0a 7d 0a 0a 24 74 65 6d 70 6c 61 74 65 20 3d 20 27 46 6f 75 6e 64 20 70 61 63 6b 61 nue;.}..$template.=.'Found.packa
af700 67 65 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c ge.<info>%s</info>.(<comment>%s<
af720 2f 63 6f 6d 6d 65 6e 74 3e 29 20 69 6e 20 66 69 6c 65 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 /comment>).in.file.<info>%s</inf
af740 6f 3e 27 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 24 74 65 o>';.$io->writeError(sprintf($te
af760 6d 70 6c 61 74 65 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 mplate,.$package->getName(),.$pa
af780 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 66 69 6c 65 ckage->getPrettyVersion(),.$file
af7a0 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 ->getBasename()),.true,.IOInterf
af7c0 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 ace::VERBOSE);..$this->addPackag
af7e0 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 e($package);.}.}.........private
af800 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 61 74 65 46 69 6c 65 28 5c 5a 69 70 41 72 63 68 69 76 65 .function.locateFile(\ZipArchive
af820 20 24 7a 69 70 2c 20 24 66 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 69 6e 64 65 78 4f 66 53 68 6f 72 .$zip,.$filename).{.$indexOfShor
af840 74 65 73 74 4d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 testMatch.=.false;.$lengthOfShor
af860 74 65 73 74 4d 61 74 63 68 20 3d 20 2d 31 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 testMatch.=.-1;..for.($i.=.0;.$i
af880 20 3c 20 24 7a 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 3b 20 24 69 2b 2b 29 20 7b 0a 24 73 74 61 74 .<.$zip->numFiles;.$i++).{.$stat
af8a0 20 3d 20 24 7a 69 70 2d 3e 73 74 61 74 49 6e 64 65 78 28 24 69 29 3b 0a 69 66 20 28 73 74 72 63 .=.$zip->statIndex($i);.if.(strc
af8c0 6d 70 28 62 61 73 65 6e 61 6d 65 28 24 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 2c 20 24 66 69 6c mp(basename($stat['name']),.$fil
af8e0 65 6e 61 6d 65 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 20 3d ename).===.0).{.$directoryName.=
af900 20 64 69 72 6e 61 6d 65 28 24 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 66 20 28 24 64 69 .dirname($stat['name']);.if.($di
af920 72 65 63 74 6f 72 79 4e 61 6d 65 20 3d 3d 20 27 2e 27 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e rectoryName.==.'.').{.....return
af940 20 24 69 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 64 69 72 65 63 74 6f 72 79 4e 61 6d .$i;.}..if.(strpos($directoryNam
af960 65 2c 20 27 5c 5c 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 0a 73 74 72 70 6f 73 28 24 64 69 e,.'\\').!==.false.||.strpos($di
af980 72 65 63 74 6f 72 79 4e 61 6d 65 2c 20 27 2f 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a rectoryName,.'/').!==.false).{..
af9a0 20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 .continue;.}..$length.=.strlen($
af9c0 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 stat['name']);.if.($indexOfShort
af9e0 65 73 74 4d 61 74 63 68 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 6c 65 6e 67 74 68 20 3c 20 estMatch.===.false.||.$length.<.
afa00 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 29 20 7b 0a 0a 20 24 63 6f 6e $lengthOfShortestMatch).{...$con
afa20 74 65 6e 74 73 20 3d 20 24 7a 69 70 2d 3e 67 65 74 46 72 6f 6d 49 6e 64 65 78 28 24 69 29 3b 0a tents.=.$zip->getFromIndex($i);.
afa40 69 66 20 28 24 63 6f 6e 74 65 6e 74 73 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 if.($contents.!==.false).{.$inde
afa60 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 20 24 69 3b 0a 24 6c 65 6e 67 74 68 4f 66 xOfShortestMatch.=.$i;.$lengthOf
afa80 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 7d 0a 7d 0a 7d 0a 7d ShortestMatch.=.$length;.}.}.}.}
afaa0 0a 0a 72 65 74 75 72 6e 20 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 3b 0a ..return.$indexOfShortestMatch;.
afac0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 }..private.function.getComposerI
afae0 6e 66 6f 72 6d 61 74 69 6f 6e 28 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 0a 7b nformation(\SplFileInfo.$file).{
afb00 0a 24 7a 69 70 20 3d 20 6e 65 77 20 5c 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 69 66 20 28 24 .$zip.=.new.\ZipArchive();.if.($
afb20 7a 69 70 2d 3e 6f 70 65 6e 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 20 zip->open($file->getPathname()).
afb40 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 !==.true).{.return.false;.}..if.
afb60 28 30 20 3d 3d 20 24 7a 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c (0.==.$zip->numFiles).{.$zip->cl
afb80 6f 73 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 66 6f 75 6e 64 46 ose();..return.false;.}..$foundF
afba0 69 6c 65 49 6e 64 65 78 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 61 74 65 46 69 6c 65 28 24 7a 69 ileIndex.=.$this->locateFile($zi
afbc0 70 2c 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d p,.'composer.json');.if.(false.=
afbe0 3d 3d 20 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 ==.$foundFileIndex).{.$zip->clos
afc00 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 75 72 e();..return.false;.}..$configur
afc20 61 74 69 6f 6e 46 69 6c 65 4e 61 6d 65 20 3d 20 24 7a 69 70 2d 3e 67 65 74 4e 61 6d 65 49 6e 64 ationFileName.=.$zip->getNameInd
afc40 65 78 28 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 29 3b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 ex($foundFileIndex);.$zip->close
afc60 28 29 3b 0a 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 20 3d 20 22 7a 69 70 3a 2f 2f 7b 24 66 69 ();..$composerFile.=."zip://{$fi
afc80 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 7d 23 24 63 6f 6e 66 69 67 75 72 61 74 69 6f le->getPathname()}#$configuratio
afca0 6e 46 69 6c 65 4e 61 6d 65 22 3b 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e nFileName";.$json.=.file_get_con
afcc0 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 20 tents($composerFile);..$package.
afce0 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 63 6f =.JsonFile::parseJson($json,.$co
afd00 6d 70 6f 73 65 72 46 69 6c 65 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 73 74 27 5d 20 3d 20 mposerFile);.$package['dist'].=.
afd20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 0a 27 75 72 6c 27 20 3d 3e array(.'type'.=>.'zip',.'url'.=>
afd40 20 73 74 72 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 27 5c 5c .strtr($file->getPathname(),.'\\
afd60 27 2c 20 27 2f 27 29 2c 0a 27 73 68 61 73 75 6d 27 20 3d 3e 20 73 68 61 31 5f 66 69 6c 65 28 24 ',.'/'),.'shasum'.=>.sha1_file($
afd80 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 2c 0a 29 3b 0a 0a 74 72 79 20 7b 0a file->getRealPath()),.);..try.{.
afda0 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 $package.=.$this->loader->load($
afdc0 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 package);.}.catch.(\UnexpectedVa
afde0 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e lueException.$e).{.throw.new.\Un
afe00 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 6c expectedValueException('Failed.l
afe20 6f 61 64 69 6e 67 20 70 61 63 6b 61 67 65 20 69 6e 20 27 2e 24 66 69 6c 65 2e 27 3a 20 27 2e 24 oading.package.in.'.$file.':.'.$
afe40 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 0a 72 65 74 75 e->getMessage(),.0,.$e);.}..retu
afe60 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$package;.}.}.<?php..........
afe80 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b ..namespace.Composer\Repository;
afea0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 ..use.Composer\Package\RootPacka
afec0 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 geInterface;.use.Composer\Semver
afee0 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b \Constraint\ConstraintInterface;
aff00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c .use.Composer\Semver\Constraint\
aff20 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 Constraint;.use.Composer\Package
aff40 5c 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 \Link;.......abstract.class.Base
aff60 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 65 70 6f 73 69 74 6f 72 79 Repository.implements.Repository
aff80 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 Interface.{..............public.
affa0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6e 65 65 64 6c 65 2c 20 function.getDependents($needle,.
affc0 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 76 65 72 74 20 3d 20 66 61 $constraint.=.null,.$invert.=.fa
affe0 6c 73 65 2c 20 24 72 65 63 75 72 73 65 20 3d 20 74 72 75 65 2c 20 24 70 61 63 6b 61 67 65 73 46 lse,.$recurse.=.true,.$packagesF
b0000 6f 75 6e 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 5f ound.=.null).{.$needles.=.array_
b0020 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 28 61 72 72 61 79 29 20 24 6e 65 65 64 6c map('strtolower',.(array).$needl
b0040 65 29 3b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 6e e);.$results.=.array();....if.(n
b0060 75 6c 6c 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 29 20 7b 0a 24 70 61 63 6b 61 ull.===.$packagesFound).{.$packa
b0080 67 65 73 46 6f 75 6e 64 20 3d 20 24 6e 65 65 64 6c 65 73 3b 0a 7d 0a 0a 0a 20 24 72 6f 6f 74 50 gesFound.=.$needles;.}....$rootP
b00a0 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 ackage.=.null;.foreach.($this->g
b00c0 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 etPackages().as.$package).{.if.(
b00e0 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 $package.instanceof.RootPackageI
b0100 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b nterface).{.$rootPackage.=.$pack
b0120 61 67 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 age;.break;.}.}....foreach.($thi
b0140 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a s->getPackages().as.$package).{.
b0160 24 6c 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 $links.=.$package->getRequires()
b0180 3b 0a 0a 0a 20 0a 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 ;......$packagesInTree.=.$packag
b01a0 65 73 46 6f 75 6e 64 3b 0a 0a 0a 20 69 66 20 28 21 24 69 6e 76 65 72 74 29 20 7b 0a 24 6c 69 6e esFound;....if.(!$invert).{.$lin
b01c0 6b 73 20 2b 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 7d ks.+=.$package->getReplaces();.}
b01e0 0a 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 ....if.($package.instanceof.Root
b0200 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 2b 3d 20 24 70 PackageInterface).{.$links.+=.$p
b0220 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 0a 20 66 ackage->getDevRequires();.}....f
b0240 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 6f 72 65 61 oreach.($links.as.$link).{.forea
b0260 63 68 20 28 24 6e 65 65 64 6c 65 73 20 61 73 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 ch.($needles.as.$needle).{.if.($
b0280 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 29 20 7b link->getTarget().===.$needle).{
b02a0 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 28 24 6c .if.($constraint.===.null.||.($l
b02c0 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 63 ink->getConstraint()->matches($c
b02e0 6f 6e 73 74 72 61 69 6e 74 29 20 3d 3d 3d 20 21 24 69 6e 76 65 72 74 29 29 20 7b 0a 0a 20 69 66 onstraint).===.!$invert)).{...if
b0300 20 28 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 .(in_array($link->getSource(),.$
b0320 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 24 6c 69 6e packagesInTree)).{.$results[$lin
b0340 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 k->getSource()].=.array($package
b0360 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 70 61 ,.$link,.false);.continue;.}.$pa
b0380 63 6b 61 67 65 73 49 6e 54 72 65 65 5b 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 ckagesInTree[].=.$link->getSourc
b03a0 65 28 29 3b 0a 24 64 65 70 65 6e 64 65 6e 74 73 20 3d 20 24 72 65 63 75 72 73 65 20 3f 20 24 74 e();.$dependents.=.$recurse.?.$t
b03c0 68 69 73 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 his->getDependents($link->getSou
b03e0 72 63 65 28 29 2c 20 6e 75 6c 6c 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 24 70 61 63 6b 61 rce(),.null,.false,.true,.$packa
b0400 67 65 73 49 6e 54 72 65 65 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 75 6c 74 73 5b 24 gesInTree).:.array();.$results[$
b0420 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b link->getSource()].=.array($pack
b0440 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 64 65 70 65 6e 64 65 6e 74 73 29 3b 0a 7d 0a 7d 0a 7d 0a age,.$link,.$dependents);.}.}.}.
b0460 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 76 65 72 74 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 70 61 }....if.($invert.&&.in_array($pa
b0480 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6e 65 65 64 6c 65 73 29 29 20 7b 0a 66 ckage->getName(),.$needles)).{.f
b04a0 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 oreach.($package->getConflicts()
b04c0 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6e .as.$link).{.foreach.($this->fin
b04e0 64 50 61 63 6b 61 67 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 61 73 dPackages($link->getTarget()).as
b0500 20 24 70 6b 67 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 .$pkg).{.$version.=.new.Constrai
b0520 6e 74 28 27 3d 27 2c 20 24 70 6b 67 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 nt('=',.$pkg->getVersion());.if.
b0540 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 ($link->getConstraint()->matches
b0560 28 24 76 65 72 73 69 6f 6e 29 20 3d 3d 3d 20 24 69 6e 76 65 72 74 29 20 7b 0a 24 72 65 73 75 6c ($version).===.$invert).{.$resul
b0580 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 ts[].=.array($package,.$link,.fa
b05a0 6c 73 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 76 65 72 74 20 26 26 20 lse);.}.}.}.}....if.($invert.&&.
b05c0 24 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 $constraint.&&.in_array($package
b05e0 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6e 65 65 64 6c 65 73 29 20 26 26 20 24 63 6f 6e 73 74 ->getName(),.$needles).&&.$const
b0600 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d raint->matches(new.Constraint('=
b0620 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 29 20 7b 0a 66 ',.$package->getVersion()))).{.f
b0640 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 oreach.($package->getRequires().
b0660 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 as.$link).{.if.(preg_match(Platf
b0680 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f ormRepository::PLATFORM_PACKAGE_
b06a0 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 69 66 REGEX,.$link->getTarget())).{.if
b06c0 20 28 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 .($this->findPackage($link->getT
b06e0 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 arget(),.$link->getConstraint())
b0700 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6c 61 74 66 6f 72 6d 50 6b 67 20 3d 20 ).{.continue;.}..$platformPkg.=.
b0720 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 $this->findPackage($link->getTar
b0740 67 65 74 28 29 2c 20 27 2a 27 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 70 6c 61 get(),.'*');.$description.=.$pla
b0760 74 66 6f 72 6d 50 6b 67 20 3f 20 27 62 75 74 20 27 2e 24 70 6c 61 74 66 6f 72 6d 50 6b 67 2d 3e tformPkg.?.'but.'.$platformPkg->
b0780 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 20 69 73 20 69 6e 73 74 61 6c 6c 65 getPrettyVersion().'.is.installe
b07a0 64 27 20 3a 20 27 62 75 74 20 69 74 20 69 73 20 6d 69 73 73 69 6e 67 27 3b 0a 24 72 65 73 75 6c d'.:.'but.it.is.missing';.$resul
b07c0 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 6e 65 77 20 4c 69 6e 6b 28 ts[].=.array($package,.new.Link(
b07e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 $package->getName(),.$link->getT
b0800 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c 20 27 72 65 71 75 69 72 65 73 27 2c 20 24 6c 69 6e 6b arget(),.null,.'requires',.$link
b0820 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 2e 27 20 27 2e 24 64 65 73 ->getPrettyConstraint().'.'.$des
b0840 63 72 69 70 74 69 6f 6e 29 2c 20 66 61 6c 73 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a cription),.false);..continue;.}.
b0860 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 .foreach.($this->getPackages().a
b0880 73 20 24 70 6b 67 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 2d 3e 67 s.$pkg).{.if.(!in_array($link->g
b08a0 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 29 20 7b etTarget(),.$pkg->getNames())).{
b08c0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e .continue;.}..$version.=.new.Con
b08e0 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 6b 67 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 straint('=',.$pkg->getVersion())
b0900 3b 0a 69 66 20 28 21 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d ;.if.(!$link->getConstraint()->m
b0920 61 74 63 68 65 73 28 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 24 72 6f 6f atches($version)).{.....if.($roo
b0940 74 50 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 tPackage).{.foreach.(array_merge
b0960 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 ($rootPackage->getRequires(),.$r
b0980 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 ootPackage->getDevRequires()).as
b09a0 20 24 72 6f 6f 74 52 65 71 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 72 6f 6f 74 52 .$rootReq).{.if.(in_array($rootR
b09c0 65 71 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 eq->getTarget(),.$pkg->getNames(
b09e0 29 29 20 26 26 20 21 24 72 6f 6f 74 52 65 71 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 )).&&.!$rootReq->getConstraint()
b0a00 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 ->matches($link->getConstraint()
b0a20 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 )).{.$results[].=.array($package
b0a40 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 ,.$link,.false);.$results[].=.ar
b0a60 72 61 79 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 52 65 71 2c 20 66 61 6c 73 ray($rootPackage,.$rootReq,.fals
b0a80 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 20 33 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d e);.continue.3;.}.}.$results[].=
b0aa0 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a .array($package,.$link,.false);.
b0ac0 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2c $results[].=.array($rootPackage,
b0ae0 20 6e 65 77 20 4c 69 6e 6b 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 .new.Link($rootPackage->getName(
b0b00 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c 20 27 64 6f ),.$link->getTarget(),.null,.'do
b0b20 65 73 20 6e 6f 74 20 72 65 71 75 69 72 65 27 2c 20 27 62 75 74 20 27 20 2e 20 24 70 6b 67 2d 3e es.not.require',.'but.'...$pkg->
b0b40 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 69 73 20 69 6e 73 74 61 6c getPrettyVersion()...'.is.instal
b0b60 6c 65 64 27 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c led'),.false);.}.else.{...$resul
b0b80 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 ts[].=.array($package,.$link,.fa
b0ba0 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a lse);.}.}..continue.2;.}.}.}.}..
b0bc0 6b 73 6f 72 74 28 24 72 65 73 75 6c 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 ksort($results);..return.$result
b0be0 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 s;.}.}.<?php............namespac
b0c00 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 e.Composer\Repository;..use.Comp
b0c20 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b oser\Package\Loader\ArrayLoader;
b0c40 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
b0c60 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 erface;.use.Composer\Package\Ali
b0c80 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c asPackage;.use.Composer\Package\
b0ca0 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f Version\VersionParser;.use.Compo
b0cc0 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 ser\DependencyResolver\Pool;.use
b0ce0 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d .Composer\Json\JsonFile;.use.Com
b0d00 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 poser\Cache;.use.Composer\Config
b0d20 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d ;.use.Composer\Composer;.use.Com
b0d40 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 poser\Factory;.use.Composer\IO\I
b0d60 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 OInterface;.use.Composer\Util\Re
b0d80 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 moteFilesystem;.use.Composer\Plu
b0da0 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 gin\PluginEvents;.use.Composer\P
b0dc0 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 3b 0a 75 73 65 20 lugin\PreFileDownloadEvent;.use.
b0de0 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 Composer\EventDispatcher\EventDi
b0e00 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 spatcher;.use.Composer\Downloade
b0e20 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 r\TransportException;.use.Compos
b0e40 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 er\Semver\Constraint\ConstraintI
b0e60 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f nterface;.use.Composer\Semver\Co
b0e80 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 nstraint\Constraint;.....class.C
b0ea0 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 omposerRepository.extends.ArrayR
b0ec0 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c epository.implements.Configurabl
b0ee0 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 eRepositoryInterface.{.protected
b0f00 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b .$config;.protected.$repoConfig;
b0f20 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 .protected.$options;.protected.$
b0f40 75 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 61 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 url;.protected.$baseUrl;.protect
b0f60 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b 0a 70 72 6f 74 65 63 74 65 ed.$io;.protected.$rfs;.protecte
b0f80 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 69 66 79 55 72 6c 3b 0a d.$cache;.protected.$notifyUrl;.
b0fa0 70 72 6f 74 65 63 74 65 64 20 24 73 65 61 72 63 68 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 protected.$searchUrl;.protected.
b0fc0 24 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 $hasProviders.=.false;.protected
b0fe0 20 24 70 72 6f 76 69 64 65 72 73 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 7a 79 50 .$providersUrl;.protected.$lazyP
b1000 72 6f 76 69 64 65 72 73 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 rovidersUrl;.protected.$provider
b1020 4c 69 73 74 69 6e 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 20 3d 20 Listing;.protected.$providers.=.
b1040 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 42 79 55 array();.protected.$providersByU
b1060 69 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b id.=.array();.protected.$loader;
b1080 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 3b 0a 70 72 6f 74 65 63 74 .protected.$rootAliases;.protect
b10a0 65 64 20 24 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 ed.$allowSslDowngrade.=.false;.p
b10c0 72 6f 74 65 63 74 65 64 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 70 72 6f 74 65 rotected.$eventDispatcher;.prote
b10e0 63 74 65 64 20 24 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 cted.$sourceMirrors;.protected.$
b1100 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 64 65 67 72 61 64 65 64 4d 6f distMirrors;.private.$degradedMo
b1120 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 6f 6f 74 44 61 74 61 3b 0a 70 de.=.false;.private.$rootData;.p
b1140 72 69 76 61 74 65 20 24 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 3b 0a 70 72 69 76 rivate.$hasPartialPackages;.priv
b1160 61 74 65 20 24 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 3b 0a 0a 70 75 62 ate.$partialPackagesByName;..pub
b1180 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 lic.function.__construct(array.$
b11a0 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e repoConfig,.IOInterface.$io,.Con
b11c0 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 fig.$config,.EventDispatcher.$ev
b11e0 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 entDispatcher.=.null,.RemoteFile
b1200 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f system.$rfs.=.null).{.parent::__
b1220 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e construct();.if.(!preg_match('{^
b1240 5b 5c 77 2e 5d 2b 5c 3f 3f 3a 2f 2f 7d 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c [\w.]+\??://}',.$repoConfig['url
b1260 27 5d 29 29 20 7b 0a 0a 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 27 68 '])).{...$repoConfig['url'].=.'h
b1280 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 7d 0a 24 72 ttp://'.$repoConfig['url'];.}.$r
b12a0 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 72 74 72 69 6d 28 24 72 65 70 6f 43 6f epoConfig['url'].=.rtrim($repoCo
b12c0 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 27 68 74 74 70 73 3f 27 nfig['url'],.'/');..if.('https?'
b12e0 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 .===.substr($repoConfig['url'],.
b1300 30 2c 20 36 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 28 65 0,.6)).{.$repoConfig['url'].=.(e
b1320 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 xtension_loaded('openssl').?.'ht
b1340 74 70 73 27 20 3a 20 27 68 74 74 70 27 29 20 2e 20 73 75 62 73 74 72 28 24 72 65 70 6f 43 6f 6e tps'.:.'http')...substr($repoCon
b1360 66 69 67 5b 27 75 72 6c 27 5d 2c 20 36 29 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 fig['url'],.6);.}..$urlBits.=.pa
b1380 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 rse_url($repoConfig['url']);.if.
b13a0 28 24 75 72 6c 42 69 74 73 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 65 6d 70 74 79 28 24 75 72 ($urlBits.===.false.||.empty($ur
b13c0 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 lBits['scheme'])).{.throw.new.\U
b13e0 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 nexpectedValueException('Invalid
b1400 20 75 72 6c 20 67 69 76 65 6e 20 66 6f 72 20 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f .url.given.for.Composer.reposito
b1420 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 ry:.'.$repoConfig['url']);.}..if
b1440 20 28 21 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 .(!isset($repoConfig['options'])
b1460 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 61 72 72 ).{.$repoConfig['options'].=.arr
b1480 61 79 28 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 61 ay();.}.if.(isset($repoConfig['a
b14a0 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 5d 29 20 26 26 20 74 72 75 65 20 3d 3d llow_ssl_downgrade']).&&.true.==
b14c0 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 =.$repoConfig['allow_ssl_downgra
b14e0 64 65 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 de']).{.$this->allowSslDowngrade
b1500 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e .=.true;.}..$this->config.=.$con
b1520 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 fig;.$this->options.=.$repoConfi
b1540 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 3b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 6f g['options'];.$this->url.=.$repo
b1560 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 Config['url'];....if.(preg_match
b1580 28 27 7b 5e 28 3f 50 3c 70 72 6f 74 6f 3e 68 74 74 70 73 3f 29 3a 2f 2f 70 61 63 6b 61 67 69 73 ('{^(?P<proto>https?)://packagis
b15a0 74 5c 2e 6f 72 67 2f 3f 24 7d 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 t\.org/?$}i',.$this->url,.$match
b15c0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 6d 61 74 63 68 5b 27 70 72 6f 74 6f 27 )).{.$this->url.=.$match['proto'
b15e0 5d 2e 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 7d 0a 0a 24 74 ].'://repo.packagist.org';.}..$t
b1600 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 72 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 his->baseUrl.=.rtrim(preg_replac
b1620 65 28 27 7b 28 3f 3a 2f 5b 5e 2f 5c 5c 5c 5c 5d 2b 5c 2e 6a 73 6f 6e 29 3f 28 3f 3a 5b 3f 23 5d e('{(?:/[^/\\\\]+\.json)?(?:[?#]
b1640 2e 2a 29 3f 24 7d 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a .*)?$}',.'',.$this->url),.'/');.
b1660 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 $this->io.=.$io;.$this->cache.=.
b1680 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 new.Cache($io,.$config->get('cac
b16a0 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 he-repo-dir').'/'.preg_replace('
b16c0 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 {[^a-z0-9.]}i',.'-',.$this->url)
b16e0 2c 20 27 61 2d 7a 30 2d 39 2e 24 27 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e ,.'a-z0-9.$');.$this->loader.=.n
b1700 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 3b 0a 69 66 20 28 24 72 66 73 20 26 26 20 24 74 ew.ArrayLoader();.if.($rfs.&&.$t
b1720 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 20 7b 0a 24 72 66 73 20 3d 20 63 6c 6f 6e 65 20 24 72 66 his->options).{.$rfs.=.clone.$rf
b1740 73 3b 0a 24 72 66 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f s;.$rfs->setOptions($this->optio
b1760 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 61 63 74 ns);.}.$this->rfs.=.$rfs.?:.Fact
b1780 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 ory::createRemoteFilesystem($thi
b17a0 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6f 70 74 s->io,.$this->config,.$this->opt
b17c0 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 ions);.$this->eventDispatcher.=.
b17e0 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e $eventDispatcher;.$this->repoCon
b1800 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e fig.=.$repoConfig;.}..public.fun
b1820 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.getRepoConfig().{.return.$
b1840 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->repoConfig;.}..public.func
b1860 74 69 6f 6e 20 73 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 24 72 6f 6f 74 41 tion.setRootAliases(array.$rootA
b1880 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 24 liases).{.$this->rootAliases.=.$
b18a0 72 6f 6f 74 41 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rootAliases;.}.....public.functi
b18c0 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e on.findPackage($name,.$constrain
b18e0 74 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 t).{.if.(!$this->hasProviders())
b1900 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e .{.return.parent::findPackage($n
b1920 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 73 74 ame,.$constraint);.}..$name.=.st
b1940 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e rtolower($name);.if.(!$constrain
b1960 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 t.instanceof.ConstraintInterface
b1980 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e ).{.$versionParser.=.new.Version
b19a0 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e Parser();.$constraint.=.$version
b19c0 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 Parser->parseConstraints($constr
b19e0 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f aint);.}..foreach.($this->getPro
b1a00 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b viderNames().as.$providerName).{
b1a20 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b 0a .if.($name.===.$providerName).{.
b1a40 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 $packages.=.$this->whatProvides(
b1a60 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 3b new.Pool('dev'),.$providerName);
b1a80 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 .foreach.($packages.as.$package)
b1aa0 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 .{.if.($name.===.$package->getNa
b1ac0 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e me()).{.$pkgConstraint.=.new.Con
b1ae0 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 straint('==',.$package->getVersi
b1b00 6f 6e 28 29 29 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 on());.if.($constraint->matches(
b1b20 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 $pkgConstraint)).{.return.$packa
b1b40 67 65 3b 0a 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ge;.}.}.}.break;.}.}.}.....publi
b1b60 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 c.function.findPackages($name,.$
b1b80 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d constraint.=.null).{.if.(!$this-
b1ba0 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 >hasProviders()).{.return.parent
b1bc0 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e ::findPackages($name,.$constrain
b1be0 74 29 3b 0a 7d 0a 0a 20 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 t);.}...$name.=.strtolower($name
b1c00 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 );..if.(null.!==.$constraint.&&.
b1c20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 !$constraint.instanceof.Constrai
b1c40 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 ntInterface).{.$versionParser.=.
b1c60 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 new.VersionParser();.$constraint
b1c80 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 .=.$versionParser->parseConstrai
b1ca0 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d nts($constraint);.}..$packages.=
b1cc0 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 .array();..foreach.($this->getPr
b1ce0 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 oviderNames().as.$providerName).
b1d00 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b {.if.($name.===.$providerName).{
b1d20 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 64 .$candidates.=.$this->whatProvid
b1d40 65 73 28 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 6d es(new.Pool('dev'),.$providerNam
b1d60 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 70 61 63 e);.foreach.($candidates.as.$pac
b1d80 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e kage).{.if.($name.===.$package->
b1da0 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 getName()).{.$pkgConstraint.=.ne
b1dc0 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 w.Constraint('==',.$package->get
b1de0 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 Version());.if.(null.===.$constr
b1e00 61 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b aint.||.$constraint->matches($pk
b1e20 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 gConstraint)).{.$packages[].=.$p
b1e40 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ackage;.}.}.}.break;.}.}..return
b1e60 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .$packages;.}..public.function.g
b1e80 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 72 6f etPackages().{.if.($this->hasPro
b1ea0 76 69 64 65 72 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 viders()).{.throw.new.\LogicExce
b1ec0 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74 68 61 ption('Composer.repositories.tha
b1ee0 74 20 68 61 76 65 20 70 72 6f 76 69 64 65 72 73 20 63 61 6e 20 6e 6f 74 20 6c 6f 61 64 20 74 68 t.have.providers.can.not.load.th
b1f00 65 20 63 6f 6d 70 6c 65 74 65 20 6c 69 73 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2c 20 75 73 65 e.complete.list.of.packages,.use
b1f20 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 20 69 6e 73 74 65 61 64 2e 27 29 3b 0a 7d 0a .getProviderNames.instead.');.}.
b1f40 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d .return.parent::getPackages();.}
b1f60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 .....public.function.search($que
b1f80 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ry,.$mode.=.0,.$type.=.null).{.$
b1fa0 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 20 this->loadRootServerFile();..if.
b1fc0 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 26 26 20 24 6d 6f 64 65 20 3d 3d 3d 20 73 ($this->searchUrl.&&.$mode.===.s
b1fe0 65 6c 66 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 29 20 7b 0a 24 75 72 6c 20 3d 20 73 elf::SEARCH_FULLTEXT).{.$url.=.s
b2000 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 71 75 65 72 79 25 27 2c 20 27 25 74 79 tr_replace(array('%query%',.'%ty
b2020 70 65 25 27 29 2c 20 61 72 72 61 79 28 24 71 75 65 72 79 2c 20 24 74 79 70 65 29 2c 20 24 74 68 pe%'),.array($query,.$type),.$th
b2040 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 29 3b 0a 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 is->searchUrl);..$hostname.=.par
b2060 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 3f 3a 20 24 75 se_url($url,.PHP_URL_HOST).?:.$u
b2080 72 6c 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 rl;.$json.=.$this->rfs->getConte
b20a0 6e 74 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 73 65 nts($hostname,.$url,.false);.$se
b20c0 61 72 63 68 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e arch.=.JsonFile::parseJson($json
b20e0 2c 20 24 75 72 6c 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 65 61 72 63 68 5b 27 72 65 73 ,.$url);..if.(empty($search['res
b2100 75 6c 74 73 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 72 ults'])).{.return.array();.}..$r
b2120 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 72 esults.=.array();.foreach.($sear
b2140 63 68 5b 27 72 65 73 75 6c 74 73 27 5d 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 20 69 66 ch['results'].as.$result).{...if
b2160 20 28 65 6d 70 74 79 28 24 72 65 73 75 6c 74 5b 27 76 69 72 74 75 61 6c 27 5d 29 29 20 7b 0a 24 .(empty($result['virtual'])).{.$
b2180 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e results[].=.$result;.}.}..return
b21a0 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 .$results;.}..if.($this->hasProv
b21c0 69 64 65 72 73 28 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 iders()).{.$results.=.array();.$
b21e0 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 70 72 65 67 regex.=.'{(?:'.implode('|',.preg
b2200 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 29 29 2e 27 29 7d 69 27 3b 0a _split('{\s+}',.$query)).')}i';.
b2220 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 .foreach.($this->getProviderName
b2240 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 s().as.$name).{.if.(preg_match($
b2260 72 65 67 65 78 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 regex,.$name)).{.$results[].=.ar
b2280 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 ray('name'.=>.$name);.}.}..retur
b22a0 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 73 65 n.$results;.}..return.parent::se
b22c0 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 arch($query,.$mode);.}..public.f
b22e0 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 0a 7b 0a 24 74 68 unction.getProviderNames().{.$th
b2300 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 20 28 6e is->loadRootServerFile();..if.(n
b2320 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 ull.===.$this->providerListing).
b2340 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 74 {.$this->loadProviderListings($t
b2360 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a 69 his->loadRootServerFile());.}..i
b2380 66 20 28 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 0a 20 f.($this->lazyProvidersUrl).{...
b23a0 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 return.array();.}..if.($this->pr
b23c0 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 ovidersUrl).{.return.array_keys(
b23e0 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 $this->providerListing);.}..retu
b2400 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f rn.array();.}..protected.functio
b2420 6e 20 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f n.configurePackageTransportOptio
b2440 6e 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a ns(PackageInterface.$package).{.
b2460 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 foreach.($package->getDistUrls()
b2480 20 61 73 20 24 75 72 6c 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 24 74 68 .as.$url).{.if.(strpos($url,.$th
b24a0 69 73 2d 3e 62 61 73 65 55 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e is->baseUrl).===.0).{.$package->
b24c0 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f setTransportOptions($this->optio
b24e0 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ns);..return;.}.}.}..public.func
b2500 74 69 6f 6e 20 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 tion.hasProviders().{.$this->loa
b2520 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 dRootServerFile();..return.$this
b2540 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ->hasProviders;.}..public.functi
b2560 6f 6e 20 72 65 73 65 74 50 61 63 6b 61 67 65 49 64 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 on.resetPackageIds().{.foreach.(
b2580 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 20 61 73 20 24 70 61 63 6b 61 67 $this->providersByUid.as.$packag
b25a0 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 e).{.if.($package.instanceof.Ali
b25c0 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f asPackage).{.$package->getAliasO
b25e0 66 28 29 2d 3e 73 65 74 49 64 28 2d 31 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 f()->setId(-1);.}.$package->setI
b2600 64 28 2d 31 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f d(-1);.}.}........public.functio
b2620 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 24 6e 61 6d 65 n.whatProvides(Pool.$pool,.$name
b2640 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 ,.$bypassFilters.=.false).{.if.(
b2660 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 29 20 26 isset($this->providers[$name]).&
b2680 26 20 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 &.!$bypassFilters).{.return.$thi
b26a0 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 s->providers[$name];.}..if.($thi
b26c0 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 26 26 20 6e 75 6c 6c 20 3d 3d s->hasPartialPackages.&&.null.==
b26e0 3d 20 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 29 20 =.$this->partialPackagesByName).
b2700 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 74 69 61 6c 50 61 63 6b 61 67 {.$this->initializePartialPackag
b2720 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 es();.}..if.(!$this->hasPartialP
b2740 61 63 6b 61 67 65 73 20 7c 7c 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c ackages.||.!isset($this->partial
b2760 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 0a 20 69 66 20 28 PackagesByName[$name])).{...if.(
b2780 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 preg_match(PlatformRepository::P
b27a0 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d 65 29 20 7c 7c LATFORM_PACKAGE_REGEX,.$name).||
b27c0 20 27 5f 5f 72 6f 6f 74 5f 5f 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 7c 7c 20 27 63 6f 6d 70 6f 73 .'__root__'.===.$name.||.'compos
b27e0 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 er-plugin-api'.===.$name).{.retu
b2800 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 rn.array();.}..if.(null.===.$thi
b2820 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 s->providerListing).{.$this->loa
b2840 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f dProviderListings($this->loadRoo
b2860 74 53 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 tServerFile());.}..$useLastModif
b2880 69 65 64 43 68 65 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 7a iedCheck.=.false;.if.($this->laz
b28a0 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 yProvidersUrl.&&.!isset($this->p
b28c0 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 68 61 73 68 20 roviderListing[$name])).{.$hash.
b28e0 3d 20 6e 75 6c 6c 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 70 61 63 =.null;.$url.=.str_replace('%pac
b2900 6b 61 67 65 25 27 2c 20 24 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 kage%',.$name,.$this->lazyProvid
b2920 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 27 70 72 6f 76 69 64 65 72 2d 27 ersUrl);.$cacheKey.=.'provider-'
b2940 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f 27 2c 20 27 24 27 29 2e 27 2e 6a 73 6f 6e 27 3b .strtr($name,.'/',.'$').'.json';
b2960 0a 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 20 3d 20 74 72 75 65 3b 0a 7d .$useLastModifiedCheck.=.true;.}
b2980 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a .elseif.($this->providersUrl).{.
b29a0 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 ..if.(!isset($this->providerList
b29c0 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d ing[$name])).{.return.array();.}
b29e0 0a 0a 24 68 61 73 68 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 ..$hash.=.$this->providerListing
b2a00 5b 24 6e 61 6d 65 5d 5b 27 73 68 61 32 35 36 27 5d 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 [$name]['sha256'];.$url.=.str_re
b2a20 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 68 61 73 68 25 place(array('%package%',.'%hash%
b2a40 27 29 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 68 61 73 68 29 2c 20 24 74 68 69 73 2d 3e '),.array($name,.$hash),.$this->
b2a60 70 72 6f 76 69 64 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 27 70 72 6f 76 providersUrl);.$cacheKey.=.'prov
b2a80 69 64 65 72 2d 27 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f 27 2c 20 27 24 27 29 2e 27 2e ider-'.strtr($name,.'/',.'$').'.
b2aa0 6a 73 6f 6e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a json';.}.else.{.return.array();.
b2ac0 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 61 63 68 65 4b }..$packages.=.null;.if.($cacheK
b2ae0 65 79 29 20 7b 0a 69 66 20 28 21 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b ey).{.if.(!$useLastModifiedCheck
b2b00 20 26 26 20 24 68 61 73 68 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 32 35 .&&.$hash.&&.$this->cache->sha25
b2b20 36 28 24 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 68 61 73 68 29 20 7b 0a 24 70 61 63 6b 61 6($cacheKey).===.$hash).{.$packa
b2b40 67 65 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e ges.=.json_decode($this->cache->
b2b60 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 read($cacheKey),.true);.}.elseif
b2b80 20 28 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 29 20 7b 0a 69 66 20 28 24 .($useLastModifiedCheck).{.if.($
b2ba0 63 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 63 contents.=.$this->cache->read($c
b2bc0 61 63 68 65 4b 65 79 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 acheKey)).{.$contents.=.json_dec
b2be0 6f 64 65 28 24 63 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 ode($contents,.true);.if.(isset(
b2c00 24 63 6f 6e 74 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 29 29 20 7b 0a 24 $contents['last-modified'])).{.$
b2c20 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 49 66 4c 61 73 response.=.$this->fetchFileIfLas
b2c40 74 4d 6f 64 69 66 69 65 64 28 24 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 63 6f 6e 74 tModified($url,.$cacheKey,.$cont
b2c60 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 29 3b 0a 69 66 20 28 74 72 75 65 ents['last-modified']);.if.(true
b2c80 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 63 .===.$response).{.$packages.=.$c
b2ca0 6f 6e 74 65 6e 74 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a ontents;.}.elseif.($response).{.
b2cc0 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d $packages.=.$response;.}.}.}.}.}
b2ce0 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 74 72 79 20 7b 0a 24 70 61 63 6b 61 ..if.(!$packages).{.try.{.$packa
b2d00 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 75 72 6c 2c 20 24 63 61 ges.=.$this->fetchFile($url,.$ca
b2d20 63 68 65 4b 65 79 2c 20 24 68 61 73 68 2c 20 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 cheKey,.$hash,.$useLastModifiedC
b2d40 68 65 63 6b 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 heck);.}.catch.(TransportExcepti
b2d60 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 on.$e).{...if.($e->getStatusCode
b2d80 28 29 20 3d 3d 3d 20 34 30 34 20 26 26 20 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 ().===.404.&&.$this->lazyProvide
b2da0 72 73 55 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 27 70 61 63 6b rsUrl).{.$packages.=.array('pack
b2dc0 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f ages'.=>.array());.}.else.{.thro
b2de0 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 6c 50 61 63 6b w.$e;.}.}.}..$loadingPartialPack
b2e00 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 age.=.false;.}.else.{.$packages.
b2e20 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 27 76 65 72 =.array('packages'.=>.array('ver
b2e40 73 69 6f 6e 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 sions'.=>.$this->partialPackages
b2e60 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 3b 0a 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 6c ByName[$name]));.$loadingPartial
b2e80 50 61 63 6b 61 67 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 Package.=.true;.}..$this->provid
b2ea0 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ers[$name].=.array();.foreach.($
b2ec0 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 76 65 72 73 69 6f 6e packages['packages'].as.$version
b2ee0 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 s).{.foreach.($versions.as.$vers
b2f00 69 6f 6e 29 20 7b 0a 69 66 20 28 21 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 6c 50 61 63 6b 61 ion).{.if.(!$loadingPartialPacka
b2f20 67 65 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 ge.&&.$this->hasPartialPackages.
b2f40 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 &&.isset($this->partialPackagesB
b2f60 79 4e 61 6d 65 5b 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 5d 29 29 20 7b 0a 63 6f 6e 74 yName[$version['name']])).{.cont
b2f80 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 inue;.}....if.(isset($this->prov
b2fa0 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b 0a idersByUid[$version['uid']])).{.
b2fc0 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e ..if.(!isset($this->providers[$n
b2fe0 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b 0a 0a 20 69 66 20 28 ame][$version['uid']])).{...if.(
b3000 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 $this->providersByUid[$version['
b3020 75 69 64 27 5d 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 uid']].instanceof.AliasPackage).
b3040 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 {.$this->providers[$name][$versi
b3060 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 on['uid']].=.$this->providersByU
b3080 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 id[$version['uid']]->getAliasOf(
b30a0 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 );.$this->providers[$name][$vers
b30c0 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 61 6c 69 61 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 ion['uid'].'-alias'].=.$this->pr
b30e0 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a 7d ovidersByUid[$version['uid']];.}
b3100 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b .else.{.$this->providers[$name][
b3120 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 $version['uid']].=.$this->provid
b3140 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a 7d 0a 0a 20 69 ersByUid[$version['uid']];.}...i
b3160 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 f.(isset($this->providersByUid[$
b3180 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 29 29 20 7b 0a 24 74 68 69 version['uid'].'-root'])).{.$thi
b31a0 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 s->providers[$name][$version['ui
b31c0 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 d'].'-root'].=.$this->providersB
b31e0 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 3b 0a 7d yUid[$version['uid'].'-root'];.}
b3200 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 .}.}.else.{.if.(!$bypassFilters.
b3220 26 26 20 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 73 &&.!$pool->isPackageAcceptable(s
b3240 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 29 2c 20 56 65 72 trtolower($version['name']),.Ver
b3260 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 sionParser::parseStability($vers
b3280 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a ion['version']))).{.continue;.}.
b32a0 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 63 6b 61 ...$package.=.$this->createPacka
b32c0 67 65 28 24 76 65 72 73 69 6f 6e 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 ge($version,.'Composer\Package\C
b32e0 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 ompletePackage');.$package->setR
b3300 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 epository($this);..if.($package.
b3320 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 instanceof.AliasPackage).{.$alia
b3340 73 65 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 61 sed.=.$package->getAliasOf();.$a
b3360 6c 69 61 73 65 64 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 24 liased->setRepository($this);..$
b3380 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b this->providers[$name][$version[
b33a0 27 75 69 64 27 5d 5d 20 3d 20 24 61 6c 69 61 73 65 64 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 'uid']].=.$aliased;.$this->provi
b33c0 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 61 6c ders[$name][$version['uid'].'-al
b33e0 69 61 73 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 76 ias'].=.$package;....$this->prov
b3400 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 idersByUid[$version['uid']].=.$p
b3420 61 63 6b 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 ackage;.}.else.{.$this->provider
b3440 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 61 63 s[$name][$version['uid']].=.$pac
b3460 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 kage;.$this->providersByUid[$ver
b3480 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 20 75 6e sion['uid']].=.$package;.}....un
b34a0 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 set($rootAliasData);..if.(isset(
b34c0 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 $this->rootAliases[$package->get
b34e0 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 29 Name()][$package->getVersion()])
b3500 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 ).{.$rootAliasData.=.$this->root
b3520 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 Aliases[$package->getName()][$pa
b3540 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ckage->getVersion()];.}.elseif.(
b3560 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 $package.instanceof.AliasPackage
b3580 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 .&&.isset($this->rootAliases[$pa
b35a0 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 ckage->getName()][$package->getA
b35c0 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 29 29 20 7b 0a 24 72 6f 6f liasOf()->getVersion()])).{.$roo
b35e0 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b tAliasData.=.$this->rootAliases[
b3600 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 $package->getName()][$package->g
b3620 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 7d 0a 0a 69 etAliasOf()->getVersion()];.}..i
b3640 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 29 20 7b 0a 24 61 6c 69 f.(isset($rootAliasData)).{.$ali
b3660 61 73 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 as.=.$this->createAliasPackage($
b3680 70 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c 69 61 73 5f 6e package,.$rootAliasData['alias_n
b36a0 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c 69 ormalized'],.$rootAliasData['ali
b36c0 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 as']);.$alias->setRepository($th
b36e0 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 is);..$this->providers[$name][$v
b3700 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 61 73 3b ersion['uid'].'-root'].=.$alias;
b3720 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b .$this->providersByUid[$version[
b3740 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 7d 0a 7d 0a 7d 0a 'uid'].'-root'].=.$alias;.}.}.}.
b3760 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e }..$result.=.$this->providers[$n
b3780 61 6d 65 5d 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 7b ame];......if.($bypassFilters).{
b37a0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 .foreach.($this->providers[$name
b37c0 5d 20 61 73 20 24 75 69 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 75 6e 73 65 74 28 ].as.$uid.=>.$provider).{.unset(
b37e0 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 75 69 64 5d 29 3b 0a 7d 0a $this->providersByUid[$uid]);.}.
b3800 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 29 3b 0a unset($this->providers[$name]);.
b3820 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 }..return.$result;.}.....protect
b3840 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e ed.function.initialize().{.paren
b3860 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 24 74 t::initialize();..$repoData.=.$t
b3880 68 69 73 2d 3e 6c 6f 61 64 44 61 74 61 46 72 6f 6d 53 65 72 76 65 72 28 29 3b 0a 0a 66 6f 72 65 his->loadDataFromServer();..fore
b38a0 61 63 68 20 28 24 72 65 70 6f 44 61 74 61 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 ach.($repoData.as.$package).{.$t
b38c0 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 63 his->addPackage($this->createPac
b38e0 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 kage($package,.'Composer\Package
b3900 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 \CompletePackage'));.}.}.......p
b3920 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 ublic.function.addPackage(Packag
b3940 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 61 eInterface.$package).{.parent::a
b3960 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 ddPackage($package);.$this->conf
b3980 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 70 61 igurePackageTransportOptions($pa
b39a0 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f ckage);.}..protected.function.lo
b39c0 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d adRootServerFile().{.if.(null.!=
b39e0 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 =.$this->rootData).{.return.$thi
b3a00 73 2d 3e 72 6f 6f 74 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c s->rootData;.}..if.(!extension_l
b3a20 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d 20 oaded('openssl').&&.'https'.===.
b3a40 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 35 29 29 20 7b 0a 74 68 72 6f substr($this->url,.0,.5)).{.thro
b3a60 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 w.new.\RuntimeException('You.mus
b3a80 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 t.enable.the.openssl.extension.i
b3aa0 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 20 74 6f 20 6c 6f 61 64 20 69 6e 66 6f 72 6d 61 74 69 n.your.php.ini.to.load.informati
b3ac0 6f 6e 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 55 on.from.'.$this->url);.}..$jsonU
b3ae0 72 6c 50 61 72 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b rlParts.=.parse_url($this->url);
b3b00 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 73 6f 6e 55 72 6c 50 61 72 74 73 5b 27 70 61 74 68 27 ..if.(isset($jsonUrlParts['path'
b3b20 5d 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6a 73 6f 6e 55 72 6c 50 ]).&&.false.!==.strpos($jsonUrlP
b3b40 61 72 74 73 5b 27 70 61 74 68 27 5d 2c 20 27 2e 6a 73 6f 6e 27 29 29 20 7b 0a 24 6a 73 6f 6e 55 arts['path'],.'.json')).{.$jsonU
b3b60 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6a 73 6f 6e 55 rl.=.$this->url;.}.else.{.$jsonU
b3b80 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 20 2e 20 27 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f rl.=.$this->url...'/packages.jso
b3ba0 6e 27 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 n';.}..$data.=.$this->fetchFile(
b3bc0 24 6a 73 6f 6e 55 72 6c 2c 20 27 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 29 3b 0a 0a 69 66 20 $jsonUrl,.'packages.json');..if.
b3be0 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 2d 62 61 74 63 68 27 5d 29 29 20 (!empty($data['notify-batch'])).
b3c00 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f {.$this->notifyUrl.=.$this->cano
b3c20 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 2d 62 61 74 63 68 27 nicalizeUrl($data['notify-batch'
b3c40 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 69 ]);.}.elseif.(!empty($data['noti
b3c60 66 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 74 68 69 fy'])).{.$this->notifyUrl.=.$thi
b3c80 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 s->canonicalizeUrl($data['notify
b3ca0 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 73 65 61 72 63 68 ']);.}..if.(!empty($data['search
b3cc0 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 3d 20 24 74 68 69 73 2d '])).{.$this->searchUrl.=.$this-
b3ce0 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 73 65 61 72 63 68 27 5d >canonicalizeUrl($data['search']
b3d00 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6d 69 72 72 6f 72 73 27 );.}..if.(!empty($data['mirrors'
b3d20 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 5b 27 6d 69 72 72 6f 72 73 27 5d 20 ])).{.foreach.($data['mirrors'].
b3d40 61 73 20 24 6d 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 as.$mirror).{.if.(!empty($mirror
b3d60 5b 27 67 69 74 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 ['git-url'])).{.$this->sourceMir
b3d80 72 6f 72 73 5b 27 67 69 74 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 rors['git'][].=.array('url'.=>.$
b3da0 6d 69 72 72 6f 72 5b 27 67 69 74 2d 75 72 6c 27 5d 2c 20 27 70 72 65 66 65 72 72 65 64 27 20 3d mirror['git-url'],.'preferred'.=
b3dc0 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 29 3b >.!empty($mirror['preferred']));
b3de0 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 68 67 2d 75 72 6c 27 5d 29 .}.if.(!empty($mirror['hg-url'])
b3e00 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 27 68 67 27 5d 5b 5d ).{.$this->sourceMirrors['hg'][]
b3e20 20 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 6d 69 72 72 6f 72 5b 27 68 67 2d 75 72 .=.array('url'.=>.$mirror['hg-ur
b3e40 6c 27 5d 2c 20 27 70 72 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 72 l'],.'preferred'.=>.!empty($mirr
b3e60 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 or['preferred']));.}.if.(!empty(
b3e80 24 6d 69 72 72 6f 72 5b 27 64 69 73 74 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 $mirror['dist-url'])).{.$this->d
b3ea0 69 73 74 4d 69 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 75 72 6c 27 20 3d 3e 20 24 istMirrors[].=.array(.'url'.=>.$
b3ec0 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 64 this->canonicalizeUrl($mirror['d
b3ee0 69 73 74 2d 75 72 6c 27 5d 29 2c 0a 27 70 72 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 6d 70 74 ist-url']),.'preferred'.=>.!empt
b3f00 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 2c 0a 29 3b 0a 7d 0a 7d 0a y($mirror['preferred']),.);.}.}.
b3f20 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 6c }..if.(!empty($data['providers-l
b3f40 61 7a 79 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 azy-url'])).{.$this->lazyProvide
b3f60 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 rsUrl.=.$this->canonicalizeUrl($
b3f80 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 6c 61 7a 79 2d 75 72 6c 27 5d 29 3b 0a 24 74 68 data['providers-lazy-url']);.$th
b3fa0 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 65 3b 0a 0a 24 74 68 69 73 2d is->hasProviders.=.true;..$this-
b3fc0 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 3d 20 21 65 6d 70 74 79 28 24 64 61 >hasPartialPackages.=.!empty($da
b3fe0 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 64 61 74 ta['packages']).&&.is_array($dat
b4000 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 6c a['packages']);.}..if.($this->al
b4020 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 lowSslDowngrade).{.$this->url.=.
b4040 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f 27 2c 20 27 68 74 74 70 3a 2f 2f str_replace('https://',.'http://
b4060 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d ',.$this->url);.$this->baseUrl.=
b4080 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f 27 2c 20 27 68 74 74 70 3a 2f .str_replace('https://',.'http:/
b40a0 2f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 /',.$this->baseUrl);.}..if.(!emp
b40c0 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 ty($data['providers-url'])).{.$t
b40e0 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e his->providersUrl.=.$this->canon
b4100 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 27 icalizeUrl($data['providers-url'
b4120 5d 29 3b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 65 3b 0a ]);.$this->hasProviders.=.true;.
b4140 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 27 5d }..if.(!empty($data['providers']
b4160 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 69 6e 63 ).||.!empty($data['providers-inc
b4180 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 ludes'])).{.$this->hasProviders.
b41a0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 =.true;.}....if.(preg_match('{^h
b41c0 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 5c 2e 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 2f 3f 24 7d ttps?://repo\.packagist\.org/?$}
b41e0 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d i',.$this->url).&&.!empty($this-
b4200 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 >repoConfig['force-lazy-provider
b4220 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 72 65 s'])).{.$this->url.=.'https://re
b4240 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 po.packagist.org';.$this->baseUr
b4260 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 l.=.'https://repo.packagist.org'
b4280 3b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 ;.$this->lazyProvidersUrl.=.$thi
b42a0 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f s->canonicalizeUrl('https://repo
b42c0 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 2f 25 70 61 63 6b 61 67 65 25 2e 6a 73 6f 6e 27 .packagist.org/p/%package%.json'
b42e0 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 6e 75 6c 6c 3b 0a 7d );.$this->providersUrl.=.null;.}
b4300 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 .elseif.(!empty($this->repoConfi
b4320 67 5b 27 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 73 27 5d 29 29 20 7b 0a 24 74 g['force-lazy-providers'])).{.$t
b4340 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 his->lazyProvidersUrl.=.$this->c
b4360 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 2f 70 2f 25 70 61 63 6b 61 67 65 25 2e 6a 73 6f anonicalizeUrl('/p/%package%.jso
b4380 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 6e 75 6c 6c 3b n');.$this->providersUrl.=.null;
b43a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 20 3d 20 24 64 61 .}..return.$this->rootData.=.$da
b43c0 74 61 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6f 6e 69 ta;.}..protected.function.canoni
b43e0 63 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 75 calizeUrl($url).{.if.('/'.===.$u
b4400 72 6c 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 rl[0]).{.return.preg_replace('{(
b4420 68 74 74 70 73 3f 3a 2f 2f 5b 5e 2f 5d 2b 29 2e 2a 7d 69 27 2c 20 27 24 31 27 20 2e 20 24 75 72 https?://[^/]+).*}i',.'$1'...$ur
b4440 6c 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a l,.$this->url);.}..return.$url;.
b4460 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 44 61 74 61 46 72 }..protected.function.loadDataFr
b4480 6f 6d 53 65 72 76 65 72 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 omServer().{.$data.=.$this->load
b44a0 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d RootServerFile();..return.$this-
b44c0 3e 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 >loadIncludes($data);.}..protect
b44e0 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 ed.function.loadProviderListings
b4500 28 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 69 ($data).{.if.(isset($data['provi
b4520 64 65 72 73 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e ders'])).{.if.(!is_array($this->
b4540 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 providerListing)).{.$this->provi
b4560 64 65 72 4c 69 73 74 69 6e 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 derListing.=.array();.}.$this->p
b4580 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 roviderListing.=.array_merge($th
b45a0 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 2c 20 24 64 61 74 61 5b 27 70 72 6f 76 is->providerListing,.$data['prov
b45c0 69 64 65 72 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 iders']);.}..if.($this->provider
b45e0 73 55 72 6c 20 26 26 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e sUrl.&&.isset($data['provider-in
b4600 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 69 6e 63 6c 75 64 65 73 20 3d 20 24 64 61 74 61 5b 27 cludes'])).{.$includes.=.$data['
b4620 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 provider-includes'];.foreach.($i
b4640 6e 63 6c 75 64 65 73 20 61 73 20 24 69 6e 63 6c 75 64 65 20 3d 3e 20 24 6d 65 74 61 64 61 74 61 ncludes.as.$include.=>.$metadata
b4660 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 ).{.$url.=.$this->baseUrl...'/'.
b4680 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 68 61 73 68 25 27 2c 20 24 6d 65 74 61 64 61 74 ..str_replace('%hash%',.$metadat
b46a0 61 5b 27 73 68 61 32 35 36 27 5d 2c 20 24 69 6e 63 6c 75 64 65 29 3b 0a 24 63 61 63 68 65 4b 65 a['sha256'],.$include);.$cacheKe
b46c0 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 68 61 73 68 25 27 2c 27 y.=.str_replace(array('%hash%','
b46e0 24 27 29 2c 20 27 27 2c 20 24 69 6e 63 6c 75 64 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 $'),.'',.$include);.if.($this->c
b4700 61 63 68 65 2d 3e 73 68 61 32 35 36 28 24 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 6d 65 74 ache->sha256($cacheKey).===.$met
b4720 61 64 61 74 61 5b 27 73 68 61 32 35 36 27 5d 29 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 adata['sha256']).{.$includedData
b4740 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 .=.json_decode($this->cache->rea
b4760 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 d($cacheKey),.true);.}.else.{.$i
b4780 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 ncludedData.=.$this->fetchFile($
b47a0 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 32 35 url,.$cacheKey,.$metadata['sha25
b47c0 36 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 6']);.}..$this->loadProviderList
b47e0 69 6e 67 73 28 24 69 6e 63 6c 75 64 65 64 44 61 74 61 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 ings($includedData);.}.}.}..prot
b4800 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 64 61 74 ected.function.loadIncludes($dat
b4820 61 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 a).{.$packages.=.array();....if.
b4840 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 21 69 (!isset($data['packages']).&&.!i
b4860 73 73 65 74 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 sset($data['includes'])).{.forea
b4880 63 68 20 28 24 64 61 74 61 20 61 73 20 24 70 6b 67 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 ch.($data.as.$pkg).{.foreach.($p
b48a0 6b 67 5b 27 76 65 72 73 69 6f 6e 73 27 5d 20 61 73 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 24 kg['versions'].as.$metadata).{.$
b48c0 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 6d 65 74 61 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 72 65 74 packages[].=.$metadata;.}.}..ret
b48e0 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 urn.$packages;.}..if.(isset($dat
b4900 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 a['packages'])).{.foreach.($data
b4920 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 ['packages'].as.$package.=>.$ver
b4940 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 sions).{.foreach.($versions.as.$
b4960 76 65 72 73 69 6f 6e 20 3d 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 version.=>.$metadata).{.$package
b4980 73 5b 5d 20 3d 20 24 6d 65 74 61 64 61 74 61 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 s[].=.$metadata;.}.}.}..if.(isse
b49a0 74 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 t($data['includes'])).{.foreach.
b49c0 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 20 61 73 20 24 69 6e 63 6c 75 64 65 20 3d ($data['includes'].as.$include.=
b49e0 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d >.$metadata).{.if.($this->cache-
b4a00 3e 73 68 61 31 28 24 69 6e 63 6c 75 64 65 29 20 3d 3d 3d 20 24 6d 65 74 61 64 61 74 61 5b 27 73 >sha1($include).===.$metadata['s
b4a20 68 61 31 27 5d 29 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 ha1']).{.$includedData.=.json_de
b4a40 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 6e 63 6c 75 64 65 code($this->cache->read($include
b4a60 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 ),.true);.}.else.{.$includedData
b4a80 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 69 6e 63 6c 75 64 65 29 3b 0a 7d .=.$this->fetchFile($include);.}
b4aa0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 .$packages.=.array_merge($packag
b4ac0 65 73 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 69 6e 63 6c 75 64 65 es,.$this->loadIncludes($include
b4ae0 64 44 61 74 61 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a dData));.}.}..return.$packages;.
b4b00 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 61 63 6b }..protected.function.createPack
b4b20 61 67 65 28 61 72 72 61 79 20 24 64 61 74 61 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f age(array.$data,.$class.=.'Compo
b4b40 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b 0a ser\Package\CompletePackage').{.
b4b60 74 72 79 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 61 try.{.if.(!isset($data['notifica
b4b80 74 69 6f 6e 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 61 74 69 tion-url'])).{.$data['notificati
b4ba0 6f 6e 2d 75 72 6c 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 3b 0a 7d 0a 0a on-url'].=.$this->notifyUrl;.}..
b4bc0 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 $package.=.$this->loader->load($
b4be0 64 61 74 61 2c 20 24 63 6c 61 73 73 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e data,.$class);.if.(isset($this->
b4c00 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 sourceMirrors[$package->getSourc
b4c20 65 54 79 70 65 28 29 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 eType()])).{.$package->setSource
b4c40 4d 69 72 72 6f 72 73 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 24 70 61 Mirrors($this->sourceMirrors[$pa
b4c60 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 5d 29 3b 0a 7d 0a 24 70 61 63 ckage->getSourceType()]);.}.$pac
b4c80 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 74 68 69 73 2d 3e 64 69 73 74 kage->setDistMirrors($this->dist
b4ca0 4d 69 72 72 6f 72 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 Mirrors);.$this->configurePackag
b4cc0 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 72 65 eTransportOptions($package);..re
b4ce0 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 turn.$package;.}.catch.(\Excepti
b4d00 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 on.$e).{.throw.new.\RuntimeExcep
b4d20 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 70 61 63 6b 61 67 65 20 27 2e 28 tion('Could.not.load.package.'.(
b4d40 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 isset($data['name']).?.$data['na
b4d60 6d 65 27 5d 20 3a 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 29 2e 27 20 69 6e 20 me'].:.json_encode($data)).'.in.
b4d80 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 '.$this->url.':.['.get_class($e)
b4da0 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a .'].'.$e->getMessage(),.0,.$e);.
b4dc0 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 46 69 6c }.}..protected.function.fetchFil
b4de0 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 61 63 68 65 4b 65 79 20 3d 20 6e 75 6c 6c 2c 20 24 e($filename,.$cacheKey.=.null,.$
b4e00 73 68 61 32 35 36 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 6f 72 65 4c 61 73 74 4d 6f 64 69 66 69 65 sha256.=.null,.$storeLastModifie
b4e20 64 54 69 6d 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 dTime.=.false).{.if.(null.===.$c
b4e40 61 63 68 65 4b 65 79 29 20 7b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 24 66 69 6c 65 6e 61 6d 65 acheKey).{.$cacheKey.=.$filename
b4e60 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2e 27 2f 27 ;.$filename.=.$this->baseUrl.'/'
b4e80 2e 24 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 72 .$filename;.}....if.(($pos.=.str
b4ea0 70 6f 73 28 24 66 69 6c 65 6e 61 6d 65 2c 20 27 24 27 29 29 20 26 26 20 70 72 65 67 5f 6d 61 74 pos($filename,.'$')).&&.preg_mat
b4ec0 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 2e 2a 7d 69 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 ch('{^https?://.*}i',.$filename)
b4ee0 29 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 6e 61 6d 65 ).{.$filename.=.substr($filename
b4f00 2c 20 30 2c 20 24 70 6f 73 29 20 2e 20 27 25 32 34 27 20 2e 20 73 75 62 73 74 72 28 24 66 69 6c ,.0,.$pos)...'%24'...substr($fil
b4f20 65 6e 61 6d 65 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 7d 0a 0a 24 72 65 74 72 69 65 73 20 3d 20 ename,.$pos.+.1);.}..$retries.=.
b4f40 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 70 3;.while.($retries--).{.try.{.$p
b4f60 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c reFileDownloadEvent.=.new.PreFil
b4f80 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 eDownloadEvent(PluginEvents::PRE
b4fa0 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 66 69 6c _FILE_DOWNLOAD,.$this->rfs,.$fil
b4fc0 65 6e 61 6d 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 ename);.if.($this->eventDispatch
b4fe0 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 er).{.$this->eventDispatcher->di
b5000 73 70 61 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 spatch($preFileDownloadEvent->ge
b5020 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b tName(),.$preFileDownloadEvent);
b5040 0a 7d 0a 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 6e .}..$hostname.=.parse_url($filen
b5060 61 6d 65 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 3f 3a 20 24 66 69 6c 65 6e 61 6d 65 3b ame,.PHP_URL_HOST).?:.$filename;
b5080 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 .$rfs.=.$preFileDownloadEvent->g
b50a0 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 24 etRemoteFilesystem();..$json.=.$
b50c0 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 66 69 6c rfs->getContents($hostname,.$fil
b50e0 65 6e 61 6d 65 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 73 68 61 32 35 36 20 26 26 20 24 73 ename,.false);.if.($sha256.&&.$s
b5100 68 61 32 35 36 20 21 3d 3d 20 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 6a 73 6f 6e 29 29 ha256.!==.hash('sha256',.$json))
b5120 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 .{...if.($this->allowSslDowngrad
b5140 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 e).{.$this->url.=.str_replace('h
b5160 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 ttp://',.'https://',.$this->url)
b5180 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 ;.$this->baseUrl.=.str_replace('
b51a0 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 http://',.'https://',.$this->bas
b51c0 65 55 72 6c 29 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 eUrl);.$filename.=.str_replace('
b51e0 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 http://',.'https://',.$filename)
b5200 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 ;.}..if.($retries).{.usleep(1000
b5220 30 30 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 52 00);..continue;.}....throw.new.R
b5240 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 epositorySecurityException('The.
b5260 63 6f 6e 74 65 6e 74 73 20 6f 66 20 27 2e 24 66 69 6c 65 6e 61 6d 65 2e 27 20 64 6f 20 6e 6f 74 contents.of.'.$filename.'.do.not
b5280 20 6d 61 74 63 68 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 2e 20 54 68 69 73 20 63 6f 75 6c 64 .match.its.signature..This.could
b52a0 20 69 6e 64 69 63 61 74 65 20 61 20 6d 61 6e 2d 69 6e 2d 74 68 65 2d 6d 69 64 64 6c 65 20 61 74 .indicate.a.man-in-the-middle.at
b52c0 74 61 63 6b 20 6f 72 20 65 2e 67 2e 20 61 6e 74 69 76 69 72 75 73 20 73 6f 66 74 77 61 72 65 20 tack.or.e.g..antivirus.software.
b52e0 63 6f 72 72 75 70 74 69 6e 67 20 66 69 6c 65 73 2e 20 54 72 79 20 72 75 6e 6e 69 6e 67 20 63 6f corrupting.files..Try.running.co
b5300 6d 70 6f 73 65 72 20 61 67 61 69 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 74 68 69 73 20 69 66 20 mposer.again.and.report.this.if.
b5320 79 6f 75 20 74 68 69 6e 6b 20 69 74 20 69 73 20 61 20 6d 69 73 74 61 6b 65 2e 27 29 3b 0a 7d 0a you.think.it.is.a.mistake.');.}.
b5340 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 .$data.=.JsonFile::parseJson($js
b5360 6f 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d on,.$filename);.RemoteFilesystem
b5380 3a 3a 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 ::outputWarnings($this->io,.$thi
b53a0 73 2d 3e 75 72 6c 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 24 63 61 63 68 65 4b 65 79 29 20 s->url,.$data);..if.($cacheKey).
b53c0 7b 0a 69 66 20 28 24 73 74 6f 72 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 29 20 7b 0a {.if.($storeLastModifiedTime).{.
b53e0 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 69 6e 64 48 65 $lastModifiedDate.=.$rfs->findHe
b5400 61 64 65 72 56 61 6c 75 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 aderValue($rfs->getLastHeaders()
b5420 2c 20 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 73 74 4d 6f 64 ,.'last-modified');.if.($lastMod
b5440 69 66 69 65 64 44 61 74 65 29 20 7b 0a 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 ifiedDate).{.$data['last-modifie
b5460 64 27 5d 20 3d 20 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a 73 6f 6e 20 3d d'].=.$lastModifiedDate;.$json.=
b5480 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e .json_encode($data);.}.}.$this->
b54a0 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a cache->write($cacheKey,.$json);.
b54c0 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 }..break;.}.catch.(\Exception.$e
b54e0 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 ).{.if.($e.instanceof.TransportE
b5500 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 20 xception.&&.$e->getStatusCode().
b5520 3d 3d 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 ===.404).{.throw.$e;.}..if.($ret
b5540 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 ries).{.usleep(100000);.continue
b5560 3b 0a 7d 0a 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 70 6f 73 69 74 6f 72 ;.}..if.($e.instanceof.Repositor
b5580 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a ySecurityException).{.throw.$e;.
b55a0 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 4b 65 79 20 26 26 20 28 24 63 6f 6e 74 65 6e 74 73 20 3d }..if.($cacheKey.&&.($contents.=
b55c0 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 29 29 .$this->cache->read($cacheKey)))
b55e0 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 24 .{.if.(!$this->degradedMode).{.$
b5600 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 this->io->writeError('<warning>'
b5620 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b .$e->getMessage().'</warning>');
b5640 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 .$this->io->writeError('<warning
b5660 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 75 6c >'.$this->url.'.could.not.be.ful
b5680 6c 79 20 6c 6f 61 64 65 64 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 ly.loaded,.package.information.w
b56a0 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 63 61 63 68 65 20 61 as.loaded.from.the.local.cache.a
b56c0 6e 64 20 6d 61 79 20 62 65 20 6f 75 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 nd.may.be.out.of.date</warning>'
b56e0 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b );.}.$this->degradedMode.=.true;
b5700 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 63 6f .$data.=.JsonFile::parseJson($co
b5720 6e 74 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 65 74 52 6f 6f 74 28 29 2e ntents,.$this->cache->getRoot().
b5740 24 63 61 63 68 65 4b 65 79 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b $cacheKey);..break;.}..throw.$e;
b5760 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 .}.}..return.$data;.}..protected
b5780 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 46 69 6c 65 49 66 4c 61 73 74 4d 6f 64 69 66 69 65 .function.fetchFileIfLastModifie
b57a0 64 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 6c 61 73 74 4d 6f 64 d($filename,.$cacheKey,.$lastMod
b57c0 69 66 69 65 64 54 69 6d 65 29 0a 7b 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 ifiedTime).{.$retries.=.3;.while
b57e0 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 46 69 6c 65 44 6f .($retries--).{.try.{.$preFileDo
b5800 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 wnloadEvent.=.new.PreFileDownloa
b5820 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 4c 45 5f 44 4f dEvent(PluginEvents::PRE_FILE_DO
b5840 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a WNLOAD,.$this->rfs,.$filename);.
b5860 69 66 20 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 20 7b 0a 24 74 if.($this->eventDispatcher).{.$t
b5880 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 his->eventDispatcher->dispatch($
b58a0 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c preFileDownloadEvent->getName(),
b58c0 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a 0a 24 68 6f 73 .$preFileDownloadEvent);.}..$hos
b58e0 74 6e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 6e 61 6d 65 2c 20 50 48 50 tname.=.parse_url($filename,.PHP
b5900 5f 55 52 4c 5f 48 4f 53 54 29 20 3f 3a 20 24 66 69 6c 65 6e 61 6d 65 3b 0a 24 72 66 73 20 3d 20 _URL_HOST).?:.$filename;.$rfs.=.
b5920 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 $preFileDownloadEvent->getRemote
b5940 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 Filesystem();.$options.=.array('
b5960 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 http'.=>.array('header'.=>.array
b5980 28 27 49 66 2d 4d 6f 64 69 66 69 65 64 2d 53 69 6e 63 65 3a 20 27 2e 24 6c 61 73 74 4d 6f 64 69 ('If-Modified-Since:.'.$lastModi
b59a0 66 69 65 64 54 69 6d 65 29 29 29 3b 0a 24 6a 73 6f 6e 20 3d 20 24 72 66 73 2d 3e 67 65 74 43 6f fiedTime)));.$json.=.$rfs->getCo
b59c0 6e 74 65 6e 74 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 66 61 6c ntents($hostname,.$filename,.fal
b59e0 73 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 24 6a 73 6f 6e 20 3d 3d 3d 20 27 27 20 se,.$options);.if.($json.===.''.
b5a00 26 26 20 24 72 66 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 72 66 73 2d 3e 67 65 &&.$rfs->findStatusCode($rfs->ge
b5a20 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 29 20 3d 3d 3d 20 33 30 34 29 20 7b 0a 72 65 74 75 72 tLastHeaders()).===.304).{.retur
b5a40 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 n.true;.}..$data.=.JsonFile::par
b5a60 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 52 65 6d 6f 74 65 seJson($json,.$filename);.Remote
b5a80 46 69 6c 65 73 79 73 74 65 6d 3a 3a 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 24 74 68 69 73 Filesystem::outputWarnings($this
b5aa0 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 64 61 74 61 29 3b 0a 0a 24 6c 61 73 74 ->io,.$this->url,.$data);..$last
b5ac0 4d 6f 64 69 66 69 65 64 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 ModifiedDate.=.$rfs->findHeaderV
b5ae0 61 6c 75 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 2c 20 27 6c 61 alue($rfs->getLastHeaders(),.'la
b5b00 73 74 2d 6d 6f 64 69 66 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 st-modified');.if.($lastModified
b5b20 44 61 74 65 29 20 7b 0a 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 20 3d Date).{.$data['last-modified'].=
b5b40 20 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e .$lastModifiedDate;.$json.=.json
b5b60 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e _encode($data);.}.$this->cache->
b5b80 77 72 69 74 65 28 24 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e write($cacheKey,.$json);..return
b5ba0 20 24 64 61 74 61 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 .$data;.}.catch.(\Exception.$e).
b5bc0 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 {.if.($e.instanceof.TransportExc
b5be0 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 20 3d 3d eption.&&.$e->getStatusCode().==
b5c00 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 =.404).{.throw.$e;.}..if.($retri
b5c20 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a es).{.usleep(100000);.continue;.
b5c40 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 24 }..if.(!$this->degradedMode).{.$
b5c60 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 this->io->writeError('<warning>'
b5c80 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b .$e->getMessage().'</warning>');
b5ca0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 .$this->io->writeError('<warning
b5cc0 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 75 6c >'.$this->url.'.could.not.be.ful
b5ce0 6c 79 20 6c 6f 61 64 65 64 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 ly.loaded,.package.information.w
b5d00 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 63 61 63 68 65 20 61 as.loaded.from.the.local.cache.a
b5d20 6e 64 20 6d 61 79 20 62 65 20 6f 75 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 nd.may.be.out.of.date</warning>'
b5d40 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b );.}.$this->degradedMode.=.true;
b5d60 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ..return.true;.}.}.}.......priva
b5d80 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 74 69 61 6c 50 61 63 te.function.initializePartialPac
b5da0 6b 61 67 65 73 28 29 0a 7b 0a 24 72 6f 6f 74 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 kages().{.$rootData.=.$this->loa
b5dc0 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 dRootServerFile();..$this->parti
b5de0 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 alPackagesByName.=.array();.fore
b5e00 61 63 68 20 28 24 72 6f 6f 74 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 ach.($rootData['packages'].as.$p
b5e20 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 ackage.=>.$versions).{.$package.
b5e40 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 =.strtolower($package);.foreach.
b5e60 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d ($versions.as.$version).{.$this-
b5e80 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 5d >partialPackagesByName[$package]
b5ea0 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 76 65 72 73 69 [].=.$version;.if.(!empty($versi
b5ec0 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 on['provide']).&&.is_array($vers
b5ee0 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 ion['provide'])).{.foreach.($ver
b5f00 73 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 20 61 73 20 24 70 72 6f 76 69 64 65 64 20 3d 3e 20 sion['provide'].as.$provided.=>.
b5f20 24 70 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 $providedVersion).{.$this->parti
b5f40 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 72 6f alPackagesByName[strtolower($pro
b5f60 76 69 64 65 64 29 5d 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 69 66 20 28 21 65 vided)][].=.$version;.}.}.if.(!e
b5f80 6d 70 74 79 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 29 20 26 26 20 69 73 5f mpty($version['replace']).&&.is_
b5fa0 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 20 7b 0a 66 6f array($version['replace'])).{.fo
b5fc0 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 20 61 73 20 24 70 reach.($version['replace'].as.$p
b5fe0 72 6f 76 69 64 65 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 rovided.=>.$providedVersion).{.$
b6000 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 73 74 72 74 this->partialPackagesByName[strt
b6020 6f 6c 6f 77 65 72 28 24 70 72 6f 76 69 64 65 64 29 5d 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b olower($provided)][].=.$version;
b6040 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 20 3d 20 74 72 .}.}.}.}....$this->rootData.=.tr
b6060 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ue;.}.}.<?php............namespa
b6080 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d ce.Composer\Repository;..use.Com
b60a0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
b60c0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 ......class.CompositeRepository.
b60e0 65 78 74 65 6e 64 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 70 72 69 extends.BaseRepository.{.....pri
b6100 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 vate.$repositories;......public.
b6120 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f function.__construct(array.$repo
b6140 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 sitories).{.$this->repositories.
b6160 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 =.array();.foreach.($repositorie
b6180 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f s.as.$repo).{.$this->addReposito
b61a0 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ry($repo);.}.}.......public.func
b61c0 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getRepositories().{.return.
b61e0 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 $this->repositories;.}.....publi
b6200 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 c.function.hasPackage(PackageInt
b6220 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 erface.$package).{.foreach.($thi
b6240 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 s->repositories.as.$repository).
b6260 7b 0a 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 {..if.($repository->hasPackage($
b6280 70 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 package)).{.return.true;.}.}..re
b62a0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f turn.false;.}.....public.functio
b62c0 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 n.findPackage($name,.$constraint
b62e0 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 ).{.foreach.($this->repositories
b6300 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 .as.$repository).{..$package.=.$
b6320 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 repository->findPackage($name,.$
b6340 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 constraint);.if.(null.!==.$packa
b6360 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ge).{.return.$package;.}.}..retu
b6380 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 rn.null;.}.....public.function.f
b63a0 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d indPackages($name,.$constraint.=
b63c0 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f .null).{.$packages.=.array();.fo
b63e0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 reach.($this->repositories.as.$r
b6400 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 72 65 70 epository).{..$packages[].=.$rep
b6420 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f ository->findPackages($name,.$co
b6440 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 20 3f nstraint);.}..return.$packages.?
b6460 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 .call_user_func_array('array_mer
b6480 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a ge',.$packages).:.array();.}....
b64a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 .public.function.search($query,.
b64c0 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6d 61 74 63 $mode.=.0,.$type.=.null).{.$matc
b64e0 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 hes.=.array();.foreach.($this->r
b6500 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 epositories.as.$repository).{..$
b6520 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 73 65 61 72 63 68 28 matches[].=.$repository->search(
b6540 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e $query,.$mode,.$type);.}..return
b6560 20 24 6d 61 74 63 68 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 .$matches.?.call_user_func_array
b6580 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 6d 61 74 63 68 65 73 29 20 3a 20 61 72 72 61 ('array_merge',.$matches).:.arra
b65a0 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 y();.}.....public.function.getPa
b65c0 63 6b 61 67 65 73 28 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ckages().{.$packages.=.array();.
b65e0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 foreach.($this->repositories.as.
b6600 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 72 $repository).{..$packages[].=.$r
b6620 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 72 65 74 epository->getPackages();.}..ret
b6640 75 72 6e 20 24 70 61 63 6b 61 67 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 urn.$packages.?.call_user_func_a
b6660 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 20 3a rray('array_merge',.$packages).:
b6680 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .array();.}.....public.function.
b66a0 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 removePackage(PackageInterface.$
b66c0 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 package).{.foreach.($this->repos
b66e0 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 72 65 70 6f itories.as.$repository).{..$repo
b6700 73 69 74 6f 72 79 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b sitory->removePackage($package);
b6720 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 .}.}.....public.function.count()
b6740 0a 7b 0a 24 74 6f 74 61 6c 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 .{.$total.=.0;.foreach.($this->r
b6760 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 epositories.as.$repository).{..$
b6780 74 6f 74 61 6c 20 2b 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 63 6f 75 6e 74 28 29 3b 0a 7d total.+=.$repository->count();.}
b67a0 0a 0a 72 65 74 75 72 6e 20 24 74 6f 74 61 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..return.$total;.}......public.f
b67c0 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 unction.addRepository(Repository
b67e0 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 72 65 Interface.$repository).{.if.($re
b6800 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 66 6f 72 65 pository.instanceof.self).{.fore
b6820 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 ach.($repository->getRepositorie
b6840 73 28 29 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 70 6f 73 69 s().as.$repo).{.$this->addReposi
b6860 74 6f 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 tory($repo);.}.}.else.{.$this->r
b6880 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d epositories[].=.$repository;.}.}
b68a0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
b68c0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 mposer\Repository;.......interfa
b68e0 63 65 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 ce.ConfigurableRepositoryInterfa
b6900 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 ce.{.public.function.getRepoConf
b6920 69 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ig();.}.<?php............namespa
b6940 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d ce.Composer\Repository;..use.Com
b6960 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 poser\Json\JsonFile;.use.Compose
b6980 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 r\Package\Loader\ArrayLoader;.us
b69a0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 e.Composer\Package\Dumper\ArrayD
b69c0 75 6d 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 52 65 umper;........class.FilesystemRe
b69e0 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 65 pository.extends.WritableArrayRe
b6a00 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 0a 0a 0a 0a 0a pository.{.private.$file;.......
b6a20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4a 73 6f 6e public.function.__construct(Json
b6a40 46 69 6c 65 20 24 72 65 70 6f 73 69 74 6f 72 79 46 69 6c 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a File.$repositoryFile).{.parent::
b6a60 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 72 65 __construct();.$this->file.=.$re
b6a80 70 6f 73 69 74 6f 72 79 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 positoryFile;.}.....protected.fu
b6aa0 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e nction.initialize().{.parent::in
b6ac0 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 itialize();..if.(!$this->file->e
b6ae0 78 69 73 74 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 70 61 63 xists()).{.return;.}..try.{.$pac
b6b00 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 0a 20 kages.=.$this->file->read();....
b6b20 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 if.(isset($packages['packages'])
b6b40 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 ).{.$packages.=.$packages['packa
b6b60 67 65 73 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 ges'];.}..if.(!is_array($package
b6b80 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 s)).{.throw.new.\UnexpectedValue
b6ba0 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 70 61 63 6b 61 Exception('Could.not.parse.packa
b6bc0 67 65 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d ge.list.from.the.repository');.}
b6be0 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 .}.catch.(\Exception.$e).{.throw
b6c00 20 6e 65 77 20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 .new.InvalidRepositoryException(
b6c20 27 49 6e 76 61 6c 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 64 61 74 61 20 69 6e 20 27 2e 24 74 'Invalid.repository.data.in.'.$t
b6c40 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2e 27 2c 20 70 61 63 6b 61 67 65 73 his->file->getPath().',.packages
b6c60 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 .could.not.be.loaded:.['.get_cla
b6c80 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d ss($e).'].'.$e->getMessage());.}
b6ca0 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c ..$loader.=.new.ArrayLoader(null
b6cc0 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 ,.true);.foreach.($packages.as.$
b6ce0 70 61 63 6b 61 67 65 44 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 packageData).{.$package.=.$loade
b6d00 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 24 74 68 69 73 2d 3e 61 64 r->load($packageData);.$this->ad
b6d20 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 dPackage($package);.}.}..public.
b6d40 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 function.reload().{.$this->packa
b6d60 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b ges.=.null;.$this->initialize();
b6d80 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b .}.....public.function.write().{
b6da0 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 .$data.=.array();.$dumper.=.new.
b6dc0 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ArrayDumper();..foreach.($this->
b6de0 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 getCanonicalPackages().as.$packa
b6e00 67 65 29 20 7b 0a 24 64 61 74 61 5b 5d 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 ge).{.$data[].=.$dumper->dump($p
b6e20 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 64 61 74 61 2c 20 66 75 6e 63 74 69 6f ackage);.}..usort($data,.functio
b6e40 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 5b 27 6e n.($a,.$b).{.return.strcmp($a['n
b6e60 61 6d 65 27 5d 2c 20 24 62 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e ame'],.$b['name']);.});..$this->
b6e80 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a file->write($data);.}.}.<?php...
b6ea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
b6ec0 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 41 sitory;.........class.InstalledA
b6ee0 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 41 rrayRepository.extends.WritableA
b6f00 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c rrayRepository.implements.Instal
b6f20 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 ledRepositoryInterface.{.}.<?php
b6f40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ............namespace.Composer\R
b6f60 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 epository;.......class.Installed
b6f80 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 46 69 6c FilesystemRepository.extends.Fil
b6fa0 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 esystemRepository.implements.Ins
b6fc0 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f talledRepositoryInterface.{.}.<?
b6fe0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
b7000 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 r\Repository;.........interface.
b7020 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 InstalledRepositoryInterface.ext
b7040 65 6e 64 73 20 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ends.WritableRepositoryInterface
b7060 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .{.}.<?php............namespace.
b7080 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 Composer\Repository;.......class
b70a0 20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 .InvalidRepositoryException.exte
b70c0 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a nds.\Exception.{.}.<?php........
b70e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b7100 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c y;..use.Composer\Package\Loader\
b7120 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ArrayLoader;.use.Composer\Packag
b7140 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a e\Loader\ValidatingArrayLoader;.
b7160 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 20 65 78 ......class.PackageRepository.ex
b7180 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 tends.ArrayRepository.{.private.
b71a0 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f $config;.......public.function._
b71c0 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 70 61 72 65 _construct(array.$config).{.pare
b71e0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 nt::__construct();.$this->config
b7200 20 3d 20 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 0a 0a 20 69 66 20 28 21 69 .=.$config['package'];....if.(!i
b7220 73 5f 6e 75 6d 65 72 69 63 28 6b 65 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 29 29 20 7b s_numeric(key($this->config))).{
b7240 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f .$this->config.=.array($this->co
b7260 6e 66 69 67 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f nfig);.}.}.....protected.functio
b7280 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c n.initialize().{.parent::initial
b72a0 69 7a 65 28 29 3b 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6e 67 ize();..$loader.=.new.Validating
b72c0 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c ArrayLoader(new.ArrayLoader(null
b72e0 2c 20 74 72 75 65 29 2c 20 66 61 6c 73 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d ,.true),.false);.foreach.($this-
b7300 3e 63 6f 6e 66 69 67 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 74 72 79 20 7b 0a 24 70 61 >config.as.$package).{.try.{.$pa
b7320 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b ckage.=.$loader->load($package);
b7340 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 .}.catch.(\Exception.$e).{.throw
b7360 20 6e 65 77 20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 .new.InvalidRepositoryException(
b7380 27 41 20 72 65 70 6f 73 69 74 6f 72 79 20 6f 66 20 74 79 70 65 20 22 70 61 63 6b 61 67 65 22 20 'A.repository.of.type."package".
b73a0 63 6f 6e 74 61 69 6e 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 64 65 66 69 contains.an.invalid.package.defi
b73c0 6e 69 74 69 6f 6e 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 22 5c 6e 5c 6e nition:.'.$e->getMessage()."\n\n
b73e0 49 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 3a 5c 6e 22 2e 6a Invalid.package.definition:\n".j
b7400 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d son_encode($package));.}..$this-
b7420 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 >addPackage($package);.}.}.}.<?p
b7440 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
b7460 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 \Repository;..use.Composer\Confi
b7480 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a g;.use.Composer\IO\IOInterface;.
b74a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 use.Composer\Json\JsonFile;.use.
b74c0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 Composer\Package\Loader\ArrayLoa
b74e0 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f der;.use.Composer\Package\Versio
b7500 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 n\VersionGuesser;.use.Composer\P
b7520 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 ackage\Version\VersionParser;.us
b7540 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f e.Composer\Util\Platform;.use.Co
b7560 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a mposer\Util\ProcessExecutor;....
b7580 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
b75a0 0a 63 6c 61 73 73 20 50 61 74 68 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 .class.PathRepository.extends.Ar
b75c0 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 rayRepository.implements.Configu
b75e0 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 rableRepositoryInterface.{....pr
b7600 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 ivate.$loader;.....private.$vers
b7620 69 6f 6e 47 75 65 73 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 72 6c 3b 0a 0a 0a ionGuesser;.....private.$url;...
b7640 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 ..private.$repoConfig;.....priva
b7660 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e te.$process;.....private.$option
b7680 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e s;.........public.function.__con
b76a0 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 struct(array.$repoConfig,.IOInte
b76c0 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 rface.$io,.Config.$config).{.if.
b76e0 28 21 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 74 (!isset($repoConfig['url'])).{.t
b7700 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 hrow.new.\RuntimeException('You.
b7720 6d 75 73 74 20 73 70 65 63 69 66 79 20 74 68 65 20 60 75 72 6c 60 20 63 6f 6e 66 69 67 75 72 61 must.specify.the.`url`.configura
b7740 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 70 61 74 68 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a tion.for.the.path.repository');.
b7760 7d 0a 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 }..$this->loader.=.new.ArrayLoad
b7780 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 50 6c 61 er(null,.true);.$this->url.=.Pla
b77a0 74 66 6f 72 6d 3a 3a 65 78 70 61 6e 64 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 tform::expandPath($repoConfig['u
b77c0 72 6c 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 rl']);.$this->process.=.new.Proc
b77e0 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e essExecutor($io);.$this->version
b7800 47 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f Guesser.=.new.VersionGuesser($co
b7820 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 6e 65 77 20 56 65 72 73 69 6f nfig,.$this->process,.new.Versio
b7840 6e 50 61 72 73 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 nParser());.$this->repoConfig.=.
b7860 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 69 73 $repoConfig;.$this->options.=.is
b7880 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 72 set($repoConfig['options']).?.$r
b78a0 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a epoConfig['options'].:.array();.
b78c0 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 .parent::__construct();.}..publi
b78e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 c.function.getRepoConfig().{.ret
b7900 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 urn.$this->repoConfig;.}.......p
b7920 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b rotected.function.initialize().{
b7940 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 .parent::initialize();..foreach.
b7960 28 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 20 61 73 20 24 75 72 6c 29 ($this->getUrlMatches().as.$url)
b7980 20 7b 0a 24 70 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 20 2e 20 44 49 52 45 .{.$path.=.realpath($url)...DIRE
b79a0 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 CTORY_SEPARATOR;.$composerFilePa
b79c0 74 68 20 3d 20 24 70 61 74 68 2e 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 0a 69 66 20 th.=.$path.'composer.json';..if.
b79e0 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 (!file_exists($composerFilePath)
b7a00 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 ).{.continue;.}..$json.=.file_ge
b7a20 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 t_contents($composerFilePath);.$
b7a40 70 61 63 6b 61 67 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a package.=.JsonFile::parseJson($j
b7a60 73 6f 6e 2c 20 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 70 61 63 6b 61 67 son,.$composerFilePath);.$packag
b7a80 65 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 70 61 e['dist'].=.array(.'type'.=>.'pa
b7aa0 74 68 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 th',.'url'.=>.$url,.'reference'.
b7ac0 3d 3e 20 73 68 61 31 28 24 6a 73 6f 6e 20 2e 20 73 65 72 69 61 6c 69 7a 65 28 24 74 68 69 73 2d =>.sha1($json...serialize($this-
b7ae0 3e 6f 70 74 69 6f 6e 73 29 29 2c 0a 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 74 72 61 6e 73 70 6f >options)),.);.$package['transpo
b7b00 72 74 2d 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 0a rt-options'].=.$this->options;..
b7b20 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d ..if.(!isset($package['version']
b7b40 29 20 26 26 20 28 24 72 6f 6f 74 56 65 72 73 69 6f 6e 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d ).&&.($rootVersion.=.getenv('COM
b7b60 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 29 29 29 20 7b 0a 69 66 20 28 0a 30 20 POSER_ROOT_VERSION'))).{.if.(.0.
b7b80 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 ===.$this->process->execute('git
b7ba0 20 72 65 76 2d 70 61 72 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 31 2c 20 24 70 61 74 68 29 0a .rev-parse.HEAD',.$ref1,.$path).
b7bc0 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 &&.0.===.$this->process->execute
b7be0 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 32 29 0a 26 26 ('git.rev-parse.HEAD',.$ref2).&&
b7c00 20 24 72 65 66 31 20 3d 3d 3d 20 24 72 65 66 32 0a 29 20 7b 0a 24 70 61 63 6b 61 67 65 5b 27 76 .$ref1.===.$ref2.).{.$package['v
b7c20 65 72 73 69 6f 6e 27 5d 20 3d 20 24 72 6f 6f 74 56 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 69 66 ersion'].=.$rootVersion;.}.}..if
b7c40 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b .(!isset($package['version'])).{
b7c60 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 .$versionData.=.$this->versionGu
b7c80 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 70 esser->guessVersion($package,.$p
b7ca0 61 74 68 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 76 65 72 ath);.$package['version'].=.$ver
b7cc0 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 27 64 sionData['pretty_version'].?:.'d
b7ce0 65 76 2d 6d 61 73 74 65 72 27 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 69 66 20 ev-master';.}..$output.=.'';.if.
b7d00 28 69 73 5f 64 69 72 28 24 70 61 74 68 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 (is_dir($path...DIRECTORY_SEPARA
b7d20 54 4f 52 20 2e 20 27 2e 67 69 74 27 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 TOR...'.git').&&.0.===.$this->pr
b7d40 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 ocess->execute('git.log.-n1.--pr
b7d60 65 74 74 79 3d 25 48 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 70 61 etty=%H',.$output,.$path)).{.$pa
b7d80 63 6b 61 67 65 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 74 72 69 ckage['dist']['reference'].=.tri
b7da0 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e m($output);.}.$package.=.$this->
b7dc0 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 61 loader->load($package);.$this->a
b7de0 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ddPackage($package);.}.}.......p
b7e00 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 0a rivate.function.getUrlMatches().
b7e20 7b 0a 24 66 6c 61 67 73 20 3d 20 47 4c 4f 42 5f 4d 41 52 4b 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 {.$flags.=.GLOB_MARK.|.GLOB_ONLY
b7e40 44 49 52 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 29 DIR;..if.(defined('GLOB_BRACE'))
b7e60 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 47 4c 4f 42 5f 42 52 41 43 45 3b 0a 7d 20 65 6c 73 65 69 .{.$flags.|=.GLOB_BRACE;.}.elsei
b7e80 66 20 28 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7b 27 29 20 21 3d 3d 20 66 f.(strpos($this->url,.'{').!==.f
b7ea0 61 6c 73 65 20 7c 7c 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7d 27 29 20 alse.||.strpos($this->url,.'}').
b7ec0 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 !==.false).{.throw.new.\RuntimeE
b7ee0 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 xception('The.operating.system.d
b7f00 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 47 4c 4f 42 5f 42 52 41 43 45 20 77 68 69 63 68 oes.not.support.GLOB_BRACE.which
b7f20 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 74 68 65 20 75 72 6c 20 27 2e 20 24 74 68 69 .is.required.for.the.url.'..$thi
b7f40 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 s->url);.}....return.array_map(f
b7f60 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 unction.($val).{.return.rtrim(st
b7f80 72 5f 72 65 70 6c 61 63 65 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 27 r_replace(DIRECTORY_SEPARATOR,.'
b7fa0 2f 27 2c 20 24 76 61 6c 29 2c 20 27 2f 27 29 3b 0a 7d 2c 20 67 6c 6f 62 28 24 74 68 69 73 2d 3e /',.$val),.'/');.},.glob($this->
b7fc0 75 72 6c 2c 20 24 66 6c 61 67 73 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a url,.$flags));.}.}.<?php........
b7fe0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b8000 79 5c 50 65 61 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 y\Pear;..use.Composer\Util\Remot
b8020 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c eFilesystem;.........abstract.cl
b8040 61 73 73 20 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 ass.BaseChannelReader.{....const
b8060 20 43 48 41 4e 4e 45 4c 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e .CHANNEL_NS.=.'http://pear.php.n
b8080 65 74 2f 63 68 61 6e 6e 65 6c 2d 31 2e 30 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 43 41 54 45 47 et/channel-1.0';.const.ALL_CATEG
b80a0 4f 52 49 45 53 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f ORIES_NS.=.'http://pear.php.net/
b80c0 64 74 64 2f 72 65 73 74 2e 61 6c 6c 63 61 74 65 67 6f 72 69 65 73 27 3b 0a 63 6f 6e 73 74 20 43 dtd/rest.allcategories';.const.C
b80e0 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 ATEGORY_PACKAGES_INFO_NS.=.'http
b8100 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 63 61 74 65 67 6f 72 ://pear.php.net/dtd/rest.categor
b8120 79 70 61 63 6b 61 67 65 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 50 41 43 4b 41 47 45 ypackageinfo';.const.ALL_PACKAGE
b8140 53 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f S_NS.=.'http://pear.php.net/dtd/
b8160 72 65 73 74 2e 61 6c 6c 70 61 63 6b 61 67 65 73 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 52 45 4c rest.allpackages';.const.ALL_REL
b8180 45 41 53 45 53 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f EASES_NS.=.'http://pear.php.net/
b81a0 64 74 64 2f 72 65 73 74 2e 61 6c 6c 72 65 6c 65 61 73 65 73 27 3b 0a 63 6f 6e 73 74 20 50 41 43 dtd/rest.allreleases';.const.PAC
b81c0 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e KAGE_INFO_NS.=.'http://pear.php.
b81e0 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 70 61 63 6b 61 67 65 27 3b 0a 0a 0a 70 72 69 76 61 74 65 net/dtd/rest.package';...private
b8200 20 24 72 66 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e .$rfs;..protected.function.__con
b8220 73 74 72 75 63 74 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a struct(RemoteFilesystem.$rfs).{.
b8240 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 $this->rfs.=.$rfs;.}..........pr
b8260 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 otected.function.requestContent(
b8280 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 3d 20 72 74 72 69 6d 28 24 $origin,.$path).{.$url.=.rtrim($
b82a0 6f 72 69 67 69 6e 2c 20 27 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 24 70 61 74 68 origin,.'/')...'/'...ltrim($path
b82c0 2c 20 27 2f 27 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 ,.'/');.$content.=.$this->rfs->g
b82e0 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 etContents($origin,.$url,.false)
b8300 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e ;.if.(!$content).{.throw.new.\Un
b8320 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 45 41 52 expectedValueException('The.PEAR
b8340 20 63 68 61 6e 6e 65 6c 20 61 74 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 64 69 64 20 6e 6f 74 .channel.at.'...$url...'.did.not
b8360 20 72 65 73 70 6f 6e 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 .respond.');.}..return.str_repla
b8380 63 65 28 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 ce('http://pear.php.net/rest/',.
b83a0 27 68 74 74 70 73 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 24 63 'https://pear.php.net/rest/',.$c
b83c0 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ontent);.}..........protected.fu
b83e0 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 58 6d 6c 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 nction.requestXml($origin,.$path
b8400 29 0a 7b 0a 0a 20 24 78 6d 6c 20 3d 20 73 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 ).{...$xml.=.simplexml_load_stri
b8420 6e 67 28 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 6f 72 69 67 69 6e ng($this->requestContent($origin
b8440 2c 20 24 70 61 74 68 29 2c 20 22 53 69 6d 70 6c 65 58 4d 4c 45 6c 65 6d 65 6e 74 22 2c 20 4c 49 ,.$path),."SimpleXMLElement",.LI
b8460 42 58 4d 4c 5f 4e 4f 45 52 52 4f 52 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 78 BXML_NOERROR);..if.(false.===.$x
b8480 6d 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 ml).{.throw.new.\UnexpectedValue
b84a0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 50 45 41 52 20 63 68 61 6e Exception(sprintf('The.PEAR.chan
b84c0 6e 65 6c 20 61 74 20 27 20 2e 20 24 6f 72 69 67 69 6e 20 2e 20 27 20 69 73 20 62 72 6f 6b 65 6e nel.at.'...$origin...'.is.broken
b84e0 2e 20 28 49 6e 76 61 6c 69 64 20 58 4d 4c 20 61 74 20 66 69 6c 65 20 60 25 73 60 29 27 2c 20 24 ..(Invalid.XML.at.file.`%s`)',.$
b8500 70 61 74 68 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 78 6d 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 path));.}..return.$xml;.}.}.<?ph
b8520 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
b8540 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 Repository\Pear;.......class.Cha
b8560 6e 6e 65 6c 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 nnelInfo.{.private.$name;.privat
b8580 65 20 24 61 6c 69 61 73 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 0a 0a e.$alias;.private.$packages;....
b85a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
b85c0 6e 61 6d 65 2c 20 24 61 6c 69 61 73 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b name,.$alias,.array.$packages).{
b85e0 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 .$this->name.=.$name;.$this->ali
b8600 61 73 20 3d 20 24 61 6c 69 61 73 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 24 as.=.$alias;.$this->packages.=.$
b8620 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f packages;.}.......public.functio
b8640 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 n.getName().{.return.$this->name
b8660 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 ;.}.......public.function.getAli
b8680 61 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 3b 0a 7d 0a 0a 0a as().{.return.$this->alias;.}...
b86a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 ....public.function.getPackages(
b86c0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a ).{.return.$this->packages;.}.}.
b86e0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
b8700 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ser\Repository\Pear;..use.Compos
b8720 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a er\Util\RemoteFilesystem;.......
b8740 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 ..class.ChannelReader.extends.Ba
b8760 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 seChannelReader.{..private.$read
b8780 65 72 4d 61 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 erMap;..public.function.__constr
b87a0 75 63 74 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 70 61 72 uct(RemoteFilesystem.$rfs).{.par
b87c0 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 72 65 73 74 31 30 ent::__construct($rfs);..$rest10
b87e0 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 reader.=.new.ChannelRest10Reader
b8800 28 24 72 66 73 29 3b 0a 24 72 65 73 74 31 31 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e ($rfs);.$rest11reader.=.new.Chan
b8820 6e 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 nelRest11Reader($rfs);..$this->r
b8840 65 61 64 65 72 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 27 52 45 53 54 31 2e 33 27 20 3d 3e 20 24 eaderMap.=.array(.'REST1.3'.=>.$
b8860 72 65 73 74 31 31 72 65 61 64 65 72 2c 0a 27 52 45 53 54 31 2e 32 27 20 3d 3e 20 24 72 65 73 74 rest11reader,.'REST1.2'.=>.$rest
b8880 31 31 72 65 61 64 65 72 2c 0a 27 52 45 53 54 31 2e 31 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 11reader,.'REST1.1'.=>.$rest11re
b88a0 61 64 65 72 2c 0a 27 52 45 53 54 31 2e 30 27 20 3d 3e 20 24 72 65 73 74 31 30 72 65 61 64 65 72 ader,.'REST1.0'.=>.$rest10reader
b88c0 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 ,.);.}.........public.function.r
b88e0 65 61 64 28 24 75 72 6c 29 0a 7b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 ead($url).{.$xml.=.$this->reques
b8900 74 58 6d 6c 28 24 75 72 6c 2c 20 22 2f 63 68 61 6e 6e 65 6c 2e 78 6d 6c 22 29 3b 0a 0a 24 63 68 tXml($url,."/channel.xml");..$ch
b8920 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 61 6d 65 3b annelName.=.(string).$xml->name;
b8940 0a 24 63 68 61 6e 6e 65 6c 41 6c 69 61 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e .$channelAlias.=.(string).$xml->
b8960 73 75 67 67 65 73 74 65 64 61 6c 69 61 73 3b 0a 0a 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 suggestedalias;..$supportedVersi
b8980 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 ons.=.array_keys($this->readerMa
b89a0 70 29 3b 0a 24 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 p);.$selectedRestVersion.=.$this
b89c0 2d 3e 73 65 6c 65 63 74 52 65 73 74 56 65 72 73 69 6f 6e 28 24 78 6d 6c 2c 20 24 73 75 70 70 6f ->selectRestVersion($xml,.$suppo
b89e0 72 74 65 64 56 65 72 73 69 6f 6e 73 29 3b 0a 69 66 20 28 21 24 73 65 6c 65 63 74 65 64 52 65 73 rtedVersions);.if.(!$selectedRes
b8a00 74 56 65 72 73 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 tVersion).{.throw.new.\Unexpecte
b8a20 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 45 41 52 20 72 65 dValueException(sprintf('PEAR.re
b8a40 70 6f 73 69 74 6f 72 79 20 25 73 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20 61 6e pository.%s.does.not.supports.an
b8a60 79 20 6f 66 20 25 73 20 70 72 6f 74 6f 63 6f 6c 73 2e 27 2c 20 24 75 72 6c 2c 20 69 6d 70 6c 6f y.of.%s.protocols.',.$url,.implo
b8a80 64 65 28 27 2c 20 27 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 29 29 3b 0a de(',.',.$supportedVersions)));.
b8aa0 7d 0a 0a 24 72 65 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 5b 24 73 }..$reader.=.$this->readerMap[$s
b8ac0 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 5d 3b 0a electedRestVersion['version']];.
b8ae0 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 73 20 3d 20 24 72 65 61 64 65 72 2d 3e 72 $packageDefinitions.=.$reader->r
b8b00 65 61 64 28 24 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 5b 27 62 61 73 65 55 72 ead($selectedRestVersion['baseUr
b8b20 6c 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 43 68 61 6e 6e 65 6c 49 6e 66 6f 28 24 63 l']);..return.new.ChannelInfo($c
b8b40 68 61 6e 6e 65 6c 4e 61 6d 65 2c 20 24 63 68 61 6e 6e 65 6c 41 6c 69 61 73 2c 20 24 70 61 63 6b hannelName,.$channelAlias,.$pack
b8b60 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ageDefinitions);.}.........priva
b8b80 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 52 65 73 74 56 65 72 73 69 6f 6e 28 24 63 te.function.selectRestVersion($c
b8ba0 68 61 6e 6e 65 6c 58 6d 6c 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 0a 7b hannelXml,.$supportedVersions).{
b8bc0 0a 24 63 68 61 6e 6e 65 6c 58 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 .$channelXml->registerXPathNames
b8be0 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 48 41 4e 4e 45 4c 5f 4e 53 29 3b 0a 0a 66 pace('ns',.self::CHANNEL_NS);..f
b8c00 6f 72 65 61 63 68 20 28 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 20 61 73 20 24 76 oreach.($supportedVersions.as.$v
b8c20 65 72 73 69 6f 6e 29 20 7b 0a 24 78 70 61 74 68 54 65 73 74 20 3d 20 22 6e 73 3a 73 65 72 76 65 ersion).{.$xpathTest.=."ns:serve
b8c40 72 73 2f 6e 73 3a 2a 2f 6e 73 3a 72 65 73 74 2f 6e 73 3a 62 61 73 65 75 72 6c 5b 40 74 79 70 65 rs/ns:*/ns:rest/ns:baseurl[@type
b8c60 3d 27 7b 24 76 65 72 73 69 6f 6e 7d 27 5d 22 3b 0a 24 74 65 73 74 52 65 73 75 6c 74 20 3d 20 24 ='{$version}']";.$testResult.=.$
b8c80 63 68 61 6e 6e 65 6c 58 6d 6c 2d 3e 78 70 61 74 68 28 24 78 70 61 74 68 54 65 73 74 29 3b 0a 0a channelXml->xpath($xpathTest);..
b8ca0 66 6f 72 65 61 63 68 20 28 24 74 65 73 74 52 65 73 75 6c 74 20 61 73 20 24 72 65 73 75 6c 74 29 foreach.($testResult.as.$result)
b8cc0 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 3b .{...$result.=.(string).$result;
b8ce0 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3a 2f 2f 7d 69 27 2c 20 .if.(preg_match('{^https://}i',.
b8d00 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f $result)).{.return.array('versio
b8d20 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 24 72 65 n'.=>.$version,.'baseUrl'.=>.$re
b8d40 73 75 6c 74 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 65 73 74 52 65 73 sult);.}.}....if.(count($testRes
b8d60 75 6c 74 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f ult).>.0).{.return.array('versio
b8d80 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 28 73 74 n'.=>.$version,.'baseUrl'.=>.(st
b8da0 72 69 6e 67 29 20 24 74 65 73 74 52 65 73 75 6c 74 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ring).$testResult[0]);.}.}..retu
b8dc0 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 rn.null;.}.}.<?php............na
b8de0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 mespace.Composer\Repository\Pear
b8e00 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 ;..use.Composer\Downloader\Trans
b8e20 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 portException;.............class
b8e40 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 .ChannelRest10Reader.extends.Bas
b8e60 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 eChannelReader.{.private.$depend
b8e80 65 6e 63 79 52 65 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 encyReader;..public.function.__c
b8ea0 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 onstruct($rfs).{.parent::__const
b8ec0 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 ruct($rfs);..$this->dependencyRe
b8ee0 61 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 ader.=.new.PackageDependencyPars
b8f00 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 er();.}.........public.function.
b8f20 72 65 61 64 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 read($baseUrl).{.return.$this->r
b8f40 65 61 64 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a eadPackages($baseUrl);.}........
b8f60 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 73 28 24 .private.function.readPackages($
b8f80 62 61 73 65 55 72 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 baseUrl).{.$result.=.array();..$
b8fa0 78 6d 6c 50 61 74 68 20 3d 20 27 2f 70 2f 70 61 63 6b 61 67 65 73 2e 78 6d 6c 27 3b 0a 24 78 6d xmlPath.=.'/p/packages.xml';.$xm
b8fc0 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 l.=.$this->requestXml($baseUrl,.
b8fe0 24 78 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 $xmlPath);.$xml->registerXPathNa
b9000 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 50 41 43 4b 41 47 45 53 mespace('ns',.self::ALL_PACKAGES
b9020 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 _NS);.foreach.($xml->xpath('ns:p
b9040 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 ').as.$node).{.$packageName.=.(s
b9060 74 72 69 6e 67 29 20 24 6e 6f 64 65 3b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 tring).$node;.$packageInfo.=.$th
b9080 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 is->readPackage($baseUrl,.$packa
b90a0 67 65 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 geName);.$result[].=.$packageInf
b90c0 6f 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a o;.}..return.$result;.}.........
b90e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 28 24 62 .private.function.readPackage($b
b9100 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 78 6d 6c 50 61 74 68 aseUrl,.$packageName).{.$xmlPath
b9120 20 3d 20 27 2f 70 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 .=.'/p/'...strtolower($packageNa
b9140 6d 65 29 20 2e 20 27 2f 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d me)...'/info.xml';.$xml.=.$this-
b9160 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 61 74 68 29 3b >requestXml($baseUrl,.$xmlPath);
b9180 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e .$xml->registerXPathNamespace('n
b91a0 73 27 2c 20 73 65 6c 66 3a 3a 50 41 43 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 0a 24 63 68 s',.self::PACKAGE_INFO_NS);..$ch
b91c0 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 63 3b 0a 24 70 annelName.=.(string).$xml->c;.$p
b91e0 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 3b 0a 24 ackageName.=.(string).$xml->n;.$
b9200 6c 69 63 65 6e 73 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6c 3b 0a 24 73 68 6f license.=.(string).$xml->l;.$sho
b9220 72 74 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 rtDescription.=.(string).$xml->s
b9240 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e ;.$description.=.(string).$xml->
b9260 64 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 61 63 6b 61 67 65 49 6e 66 6f 28 0a 24 63 68 61 d;..return.new.PackageInfo(.$cha
b9280 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a 24 6c 69 63 65 6e 73 65 nnelName,.$packageName,.$license
b92a0 2c 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 64 65 73 63 72 69 70 74 69 6f ,.$shortDescription,.$descriptio
b92c0 6e 2c 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 73 28 24 62 n,.$this->readPackageReleases($b
b92e0 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a aseUrl,.$packageName).);.}......
b9300 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 .....private.function.readPackag
b9320 65 52 65 6c 65 61 73 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 eReleases($baseUrl,.$packageName
b9340 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 78 ).{.$result.=.array();..try.{.$x
b9360 6d 6c 50 61 74 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 mlPath.=.'/r/'...strtolower($pac
b9380 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 61 6c 6c 72 65 6c 65 61 73 65 73 2e 78 6d 6c 27 3b 0a kageName)...'/allreleases.xml';.
b93a0 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 $xml.=.$this->requestXml($baseUr
b93c0 6c 2c 20 24 78 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 l,.$xmlPath);.$xml->registerXPat
b93e0 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 52 45 4c 45 41 hNamespace('ns',.self::ALL_RELEA
b9400 53 45 53 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e SES_NS);.foreach.($xml->xpath('n
b9420 73 3a 72 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f s:r').as.$node).{.$releaseVersio
b9440 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 n.=.(string).$node->v;.$releaseS
b9460 74 61 62 69 6c 69 74 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 0a 74 tability.=.(string).$node->s;..t
b9480 72 79 20 7b 0a 24 72 65 73 75 6c 74 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 ry.{.$result[$releaseVersion].=.
b94a0 6e 65 77 20 52 65 6c 65 61 73 65 49 6e 66 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 new.ReleaseInfo(.$releaseStabili
b94c0 74 79 2c 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 70 ty,.$this->readPackageReleaseDep
b94e0 65 6e 64 65 6e 63 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 endencies($baseUrl,.$packageName
b9500 2c 20 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 29 0a 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 ,.$releaseVersion).);.}.catch.(T
b9520 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a ransportException.$exception).{.
b9540 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 20 34 30 34 if.($exception->getCode().!=.404
b9560 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 63 61 ).{.throw.$exception;.}.}.}.}.ca
b9580 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 tch.(TransportException.$excepti
b95a0 6f 6e 29 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 on).{.if.($exception->getCode().
b95c0 21 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a !=.404).{.throw.$exception;.}.}.
b95e0 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 .return.$result;.}...........pri
b9600 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 vate.function.readPackageRelease
b9620 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e Dependencies($baseUrl,.$packageN
b9640 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 ame,.$version).{.$dependencyRead
b9660 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 er.=.new.PackageDependencyParser
b9680 28 29 3b 0a 0a 24 64 65 70 74 68 50 61 74 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c ();..$depthPath.=.'/r/'...strtol
b96a0 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 64 65 70 73 2e 27 20 2e 20 ower($packageName)...'/deps.'...
b96c0 24 76 65 72 73 69 6f 6e 20 2e 20 27 2e 74 78 74 27 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 $version...'.txt';.$content.=.$t
b96e0 68 69 73 2d 3e 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 62 61 73 65 55 72 6c 2c 20 24 64 his->requestContent($baseUrl,.$d
b9700 65 70 74 68 50 61 74 68 29 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 6e epthPath);.$dependencyArray.=.un
b9720 73 65 72 69 61 6c 69 7a 65 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 serialize($content);..return.$de
b9740 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 pendencyReader->buildDependencyI
b9760 6e 66 6f 28 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 nfo($dependencyArray);.}.}.<?php
b9780 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ............namespace.Composer\R
b97a0 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 epository\Pear;...........class.
b97c0 43 68 61 6e 6e 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 ChannelRest11Reader.extends.Base
b97e0 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 ChannelReader.{.private.$depende
b9800 6e 63 79 52 65 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ncyReader;..public.function.__co
b9820 6e 73 74 72 75 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 nstruct($rfs).{.parent::__constr
b9840 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 uct($rfs);..$this->dependencyRea
b9860 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 der.=.new.PackageDependencyParse
b9880 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 r();.}.........public.function.r
b98a0 65 61 64 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 ead($baseUrl).{.return.$this->re
b98c0 61 64 43 68 61 6e 6e 65 6c 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a adChannelPackages($baseUrl);.}..
b98e0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 68 61 6e .......private.function.readChan
b9900 6e 65 6c 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 nelPackages($baseUrl).{.$result.
b9920 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 =.array();..$xml.=.$this->reques
b9940 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 22 2f 63 2f 63 61 74 65 67 6f 72 69 65 73 2e 78 6d tXml($baseUrl,."/c/categories.xm
b9960 6c 22 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 l");.$xml->registerXPathNamespac
b9980 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 53 5f 4e 53 29 e('ns',.self::ALL_CATEGORIES_NS)
b99a0 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 63 27 29 20 61 ;.foreach.($xml->xpath('ns:c').a
b99c0 73 20 24 6e 6f 64 65 29 20 7b 0a 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 20 3d 20 28 73 74 72 69 s.$node).{.$categoryName.=.(stri
b99e0 6e 67 29 20 24 6e 6f 64 65 3b 0a 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 20 3d 20 24 ng).$node;.$categoryPackages.=.$
b9a00 74 68 69 73 2d 3e 72 65 61 64 43 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 this->readCategoryPackages($base
b9a20 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 Url,.$categoryName);.$result.=.a
b9a40 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 63 61 74 65 67 6f 72 79 50 61 63 rray_merge($result,.$categoryPac
b9a60 6b 61 67 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a kages);.}..return.$result;.}....
b9a80 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 61 74 65 67 ......private.function.readCateg
b9aa0 6f 72 79 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 4e oryPackages($baseUrl,.$categoryN
b9ac0 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 61 74 65 ame).{.$result.=.array();..$cate
b9ae0 67 6f 72 79 50 61 74 68 20 3d 20 27 2f 63 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 63 61 74 65 goryPath.=.'/c/'.urlencode($cate
b9b00 67 6f 72 79 4e 61 6d 65 29 2e 27 2f 70 61 63 6b 61 67 65 73 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 goryName).'/packagesinfo.xml';.$
b9b20 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c xml.=.$this->requestXml($baseUrl
b9b40 2c 20 24 63 61 74 65 67 6f 72 79 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 ,.$categoryPath);.$xml->register
b9b60 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 41 54 45 47 XPathNamespace('ns',.self::CATEG
b9b80 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 ORY_PACKAGES_INFO_NS);.foreach.(
b9ba0 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 69 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b $xml->xpath('ns:pi').as.$node).{
b9bc0 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 50 61 63 6b .$packageInfo.=.$this->parsePack
b9be0 61 67 65 28 24 6e 6f 64 65 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 age($node);.$result[].=.$package
b9c00 49 6e 66 6f 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a Info;.}..return.$result;.}......
b9c20 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 50 61 63 6b 61 67 65 28 ..private.function.parsePackage(
b9c40 24 70 61 63 6b 61 67 65 49 6e 66 6f 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 72 65 $packageInfo).{.$packageInfo->re
b9c60 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a gisterXPathNamespace('ns',.self:
b9c80 3a 43 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 24 63 68 :CATEGORY_PACKAGES_INFO_NS);.$ch
b9ca0 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 annelName.=.(string).$packageInf
b9cc0 6f 2d 3e 70 2d 3e 63 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 o->p->c;.$packageName.=.(string)
b9ce0 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6e 3b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 .$packageInfo->p->n;.$license.=.
b9d00 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6c 3b 0a 24 73 68 (string).$packageInfo->p->l;.$sh
b9d20 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 ortDescription.=.(string).$packa
b9d40 67 65 49 6e 66 6f 2d 3e 70 2d 3e 73 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 geInfo->p->s;.$description.=.(st
b9d60 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 64 3b 0a 0a 24 64 65 70 65 ring).$packageInfo->p->d;..$depe
b9d80 6e 64 65 6e 63 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 ndencies.=.array();.foreach.($pa
b9da0 63 6b 61 67 65 49 6e 66 6f 2d 3e 78 70 61 74 68 28 27 6e 73 3a 64 65 70 73 27 29 20 61 73 20 24 ckageInfo->xpath('ns:deps').as.$
b9dc0 6e 6f 64 65 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 node).{.$dependencyVersion.=.(st
b9de0 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 ring).$node->v;.$dependencyArray
b9e00 20 3d 20 75 6e 73 65 72 69 61 6c 69 7a 65 28 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 64 .=.unserialize((string).$node->d
b9e20 29 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 64 65 70 );..$dependencyInfo.=.$this->dep
b9e40 65 6e 64 65 6e 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e endencyReader->buildDependencyIn
b9e60 66 6f 28 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 0a 24 64 65 70 65 6e 64 65 6e fo($dependencyArray);..$dependen
b9e80 63 69 65 73 5b 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 5d 20 3d 20 24 64 65 70 65 cies[$dependencyVersion].=.$depe
b9ea0 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a 24 72 65 6c 65 61 73 65 73 20 3d 20 61 72 72 61 79 ndencyInfo;.}..$releases.=.array
b9ec0 28 29 3b 0a 24 72 65 6c 65 61 73 65 73 49 6e 66 6f 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f ();.$releasesInfo.=.$packageInfo
b9ee0 2d 3e 78 70 61 74 68 28 27 6e 73 3a 61 2f 6e 73 3a 72 27 29 3b 0a 69 66 20 28 24 72 65 6c 65 61 ->xpath('ns:a/ns:r');.if.($relea
b9f00 73 65 73 49 6e 66 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 73 49 6e 66 sesInfo).{.foreach.($releasesInf
b9f20 6f 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 20 3d 20 o.as.$node).{.$releaseVersion.=.
b9f40 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 (string).$node->v;.$releaseStabi
b9f60 6c 69 74 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 24 72 65 6c 65 61 lity.=.(string).$node->s;.$relea
b9f80 73 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 52 65 6c 65 61 ses[$releaseVersion].=.new.Relea
b9fa0 73 65 49 6e 66 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 2c 0a 69 73 73 65 74 seInfo(.$releaseStability,.isset
b9fc0 28 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 29 ($dependencies[$releaseVersion])
b9fe0 20 3f 20 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e .?.$dependencies[$releaseVersion
ba000 5d 20 3a 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 61 72 72 61 79 28 29 2c 20 ].:.new.DependencyInfo(array(),.
ba020 61 72 72 61 79 28 29 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 61 63 6b array()).);.}.}..return.new.Pack
ba040 61 67 65 49 6e 66 6f 28 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 4e ageInfo(.$channelName,.$packageN
ba060 61 6d 65 2c 0a 24 6c 69 63 65 6e 73 65 2c 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e ame,.$license,.$shortDescription
ba080 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 72 65 6c 65 61 73 65 73 0a 29 3b 0a 7d 0a 7d ,.$description,.$releases.);.}.}
ba0a0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
ba0c0 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 oser\Repository\Pear;.......clas
ba0e0 73 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 70 72 69 76 61 74 65 s.DependencyConstraint.{.private
ba100 20 24 74 79 70 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 70 72 69 .$type;.private.$constraint;.pri
ba120 76 61 74 65 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b vate.$channelName;.private.$pack
ba140 61 67 65 4e 61 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ageName;........public.function.
ba160 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 79 70 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 __construct($type,.$constraint,.
ba180 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 74 $channelName,.$packageName).{.$t
ba1a0 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 his->type.=.$type;.$this->constr
ba1c0 61 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e aint.=.$constraint;.$this->chann
ba1e0 65 6c 4e 61 6d 65 20 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 elName.=.$channelName;.$this->pa
ba200 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 ckageName.=.$packageName;.}..pub
ba220 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 0a 7b 0a lic.function.getChannelName().{.
ba240 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 return.$this->channelName;.}..pu
ba260 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a blic.function.getConstraint().{.
ba280 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 70 75 62 return.$this->constraint;.}..pub
ba2a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 0a 7b 0a lic.function.getPackageName().{.
ba2c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 return.$this->packageName;.}..pu
ba2e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e blic.function.getType().{.return
ba300 20 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a .$this->type;.}.}.<?php.........
ba320 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
ba340 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 \Pear;.......class.DependencyInf
ba360 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 73 3b 0a 70 72 69 76 61 74 65 20 24 o.{.private.$requires;.private.$
ba380 6f 70 74 69 6f 6e 61 6c 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 optionals;......public.function.
ba3a0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 71 75 69 72 65 73 2c 20 24 6f 70 74 69 6f 6e 61 6c __construct($requires,.$optional
ba3c0 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 72 65 73 s).{.$this->requires.=.$requires
ba3e0 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 24 6f 70 74 69 6f 6e 61 6c 73 3b ;.$this->optionals.=.$optionals;
ba400 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 .}.....public.function.getRequir
ba420 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d es().{.return.$this->requires;.}
ba440 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 61 6c .....public.function.getOptional
ba460 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 3b 0a 7d s().{.return.$this->optionals;.}
ba480 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
ba4a0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c mposer\Repository\Pear;.......cl
ba4c0 61 73 73 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 0a 7b 0a 0a 0a ass.PackageDependencyParser.{...
ba4e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 65 6e 64 65 ....public.function.buildDepende
ba500 6e 63 79 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 ncyInfo($depArray).{.if.(!is_arr
ba520 61 79 28 24 64 65 70 41 72 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 70 65 ay($depArray)).{.return.new.Depe
ba540 6e 64 65 6e 63 79 49 6e 66 6f 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a ndencyInfo(array(),.array());.}.
ba560 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 41 72 72 61 79 29 29 20 7b if.(!$this->isHash($depArray)).{
ba580 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 74 68 69 73 .return.new.DependencyInfo($this
ba5a0 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 ->buildDependency10Info($depArra
ba5c0 79 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 y),.array());.}..return.$this->b
ba5e0 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 3b uildDependency20Info($depArray);
ba600 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e .}..............private.function
ba620 20 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 .buildDependency10Info($depArray
ba640 29 0a 7b 0a 73 74 61 74 69 63 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 20 3d ).{.static.$dep10toOperatorMap.=
ba660 20 61 72 72 61 79 28 27 68 61 73 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 65 71 27 20 3d 3e 20 27 3d .array('has'.=>.'==',.'eq'.=>.'=
ba680 3d 27 2c 20 27 67 65 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 67 74 27 20 3d 3e 20 27 3e 27 2c 20 27 =',.'ge'.=>.'>=',.'gt'.=>.'>',.'
ba6a0 6c 65 27 20 3d 3e 20 27 3c 3d 27 2c 20 27 6c 74 27 20 3d 3e 20 27 3c 27 2c 20 27 6e 6f 74 27 20 le'.=>.'<=',.'lt'.=>.'<',.'not'.
ba6c0 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 =>.'!=');..$result.=.array();..f
ba6e0 6f 72 65 61 63 68 20 28 24 64 65 70 41 72 72 61 79 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b oreach.($depArray.as.$depItem).{
ba700 0a 69 66 20 28 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 7c 7c 20 21 .if.(empty($depItem['rel']).||.!
ba720 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d array_key_exists($depItem['rel']
ba740 2c 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 29 20 7b 0a 0a 20 63 6f 6e 74 ,.$dep10toOperatorMap)).{...cont
ba760 69 6e 75 65 3b 0a 7d 0a 0a 24 64 65 70 54 79 70 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 inue;.}..$depType.=.!empty($depI
ba780 74 65 6d 5b 27 6f 70 74 69 6f 6e 61 6c 27 5d 29 20 26 26 20 27 79 65 73 27 20 3d 3d 20 24 64 65 tem['optional']).&&.'yes'.==.$de
ba7a0 70 49 74 65 6d 5b 27 6f 70 74 69 6f 6e 61 6c 27 5d 0a 3f 20 27 6f 70 74 69 6f 6e 61 6c 27 0a 3a pItem['optional'].?.'optional'.:
ba7c0 20 27 72 65 71 75 69 72 65 64 27 3b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 6e 6f 74 27 20 3d 3d .'required';.$depType.=.'not'.==
ba7e0 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 0a 3f 20 27 63 6f 6e 66 6c 69 63 74 73 27 0a 3a .$depItem['rel'].?.'conflicts'.:
ba800 20 24 64 65 70 54 79 70 65 3b 0a 0a 24 64 65 70 56 65 72 73 69 6f 6e 20 3d 20 21 65 6d 70 74 79 .$depType;..$depVersion.=.!empty
ba820 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 70 ($depItem['version']).?.$this->p
ba840 61 72 73 65 56 65 72 73 69 6f 6e 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 arseVersion($depItem['version'])
ba860 20 3a 20 27 2a 27 3b 0a 0a 0a 20 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 .:.'*';....$depVersionConstraint
ba880 20 3d 20 28 27 68 61 73 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 20 7c 7c 20 .=.('has'.==.$depItem['rel'].||.
ba8a0 27 6e 6f 74 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 26 26 20 27 2a 27 'not'.==.$depItem['rel']).&&.'*'
ba8c0 20 3d 3d 20 24 64 65 70 56 65 72 73 69 6f 6e 0a 3f 20 27 2a 27 0a 3a 20 24 64 65 70 31 30 74 6f .==.$depVersion.?.'*'.:.$dep10to
ba8e0 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 5d 20 2e 20 24 OperatorMap[$depItem['rel']]...$
ba900 64 65 70 56 65 72 73 69 6f 6e 3b 0a 0a 73 77 69 74 63 68 20 28 24 64 65 70 49 74 65 6d 5b 27 74 depVersion;..switch.($depItem['t
ba920 79 70 65 27 5d 29 20 7b 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c ype']).{.case.'php':.$depChannel
ba940 4e 61 6d 65 20 3d 20 27 70 68 70 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 Name.=.'php';.$depPackageName.=.
ba960 27 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 6b 67 27 3a 0a 24 64 65 70 43 68 61 6e 6e '';.break;.case.'pkg':.$depChann
ba980 65 6c 4e 61 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 elName.=.!empty($depItem['channe
ba9a0 6c 27 5d 29 20 3f 20 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 3a 20 27 70 65 l']).?.$depItem['channel'].:.'pe
ba9c0 61 72 2e 70 68 70 2e 6e 65 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 ar.php.net';.$depPackageName.=.$
ba9e0 64 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 depItem['name'];.break;.case.'ex
baa00 74 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 65 78 74 27 3b 0a 24 64 65 t':.$depChannelName.=.'ext';.$de
baa20 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b pPackageName.=.$depItem['name'];
baa40 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 73 61 70 69 27 3a 0a .break;.case.'os':.case.'sapi':.
baa60 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 $depChannelName.=.'';.$depPackag
baa80 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 64 65 70 eName.=.'';.break;.default:.$dep
baaa0 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d ChannelName.=.'';.$depPackageNam
baac0 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 27 27 20 21 3d 20 24 64 65 70 e.=.'';.break;.}..if.(''.!=.$dep
baae0 43 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 ChannelName).{.$result[].=.new.D
bab00 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 ependencyConstraint(.$depType,.$
bab20 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e 65 depVersionConstraint,.$depChanne
bab40 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 7d 0a 0a 72 lName,.$depPackageName.);.}.}..r
bab60 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 eturn.$result;.}........private.
bab80 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 function.buildDependency20Info($
baba0 64 65 70 41 72 72 61 79 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 depArray).{.$result.=.array();.$
babc0 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 66 61 75 6c 74 4f 70 74 optionals.=.array();.$defaultOpt
babe0 69 6f 6e 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 41 ionals.=.array();.foreach.($depA
bac00 72 72 61 79 20 61 73 20 24 64 65 70 54 79 70 65 20 3d 3e 20 24 64 65 70 54 79 70 65 47 72 6f 75 rray.as.$depType.=>.$depTypeGrou
bac20 70 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 p).{.if.(!is_array($depTypeGroup
bac40 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 72 65 71 75 69 72 65 64 27 20 )).{.continue;.}.if.('required'.
bac60 3d 3d 20 24 64 65 70 54 79 70 65 20 7c 7c 20 27 6f 70 74 69 6f 6e 61 6c 27 20 3d 3d 20 24 64 65 ==.$depType.||.'optional'.==.$de
bac80 70 54 79 70 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 pType).{.foreach.($depTypeGroup.
baca0 61 73 20 24 64 65 70 49 74 65 6d 54 79 70 65 20 3d 3e 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 73 as.$depItemType.=>.$depItem).{.s
bacc0 77 69 74 63 68 20 28 24 64 65 70 49 74 65 6d 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 70 68 70 witch.($depItemType).{.case.'php
bace0 27 3a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e ':.$result[].=.new.DependencyCon
bad00 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 32 straint(.$depType,.$this->parse2
bad20 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 24 64 65 70 49 74 65 6d 29 2c 0a 27 70 0VersionConstraint($depItem),.'p
bad40 68 70 27 2c 0a 27 27 0a 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 61 63 6b 61 67 65 27 hp',.''.);.break;.case.'package'
bad60 3a 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 :.$deps.=.$this->buildDepPackage
bad80 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 3b Constraints($depItem,.$depType);
bada0 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 .$result.=.array_merge($result,.
badc0 24 64 65 70 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 65 6e 73 69 6f 6e 27 3a $deps);.break;.case.'extension':
bade0 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f .$deps.=.$this->buildDepExtensio
bae00 6e 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 nConstraints($depItem,.$depType)
bae20 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c ;.$result.=.array_merge($result,
bae40 20 24 64 65 70 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 75 62 70 61 63 6b 61 67 65 .$deps);.break;.case.'subpackage
bae60 27 3a 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 ':.$deps.=.$this->buildDepPackag
bae80 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 27 72 65 70 6c 61 63 65 73 eConstraints($depItem,.'replaces
baea0 27 29 3b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 2b 3d 20 24 64 65 70 73 3b 0a ');.$defaultOptionals.+=.$deps;.
baec0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 70 65 61 72 69 6e 73 74 break;.case.'os':.case.'pearinst
baee0 61 6c 6c 65 72 27 3a 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d aller':.break;.default:.break;.}
baf00 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 67 72 6f 75 70 27 20 3d 3d 20 24 64 65 70 54 79 70 65 .}.}.elseif.('group'.==.$depType
baf20 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 54 79 70 65 47 72 ).{.if.($this->isHash($depTypeGr
baf40 6f 75 70 29 29 20 7b 0a 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 3d 20 61 72 72 61 79 28 24 64 oup)).{.$depTypeGroup.=.array($d
baf60 65 70 54 79 70 65 47 72 6f 75 70 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 epTypeGroup);.}..foreach.($depTy
baf80 70 65 47 72 6f 75 70 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 24 67 72 6f 75 70 4e 61 6d peGroup.as.$depItem).{.$groupNam
bafa0 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 61 74 74 72 69 62 73 27 5d 5b 27 6e 61 6d 65 27 5d 3b e.=.$depItem['attribs']['name'];
bafc0 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d .if.(!isset($optionals[$groupNam
bafe0 65 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 20 3d 20 e])).{.$optionals[$groupName].=.
bb000 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 70 49 74 65 6d 5b 27 array();.}..if.(isset($depItem['
bb020 73 75 62 70 61 63 6b 61 67 65 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f subpackage'])).{.$optionals[$gro
bb040 75 70 4e 61 6d 65 5d 20 2b 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 upName].+=.$this->buildDepPackag
bb060 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 73 75 62 70 61 63 6b 61 67 eConstraints($depItem['subpackag
bb080 65 27 5d 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 e'],.'replaces');.}.else.{.$resu
bb0a0 6c 74 20 2b 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 lt.+=.$this->buildDepPackageCons
bb0c0 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 20 27 6f 70 traints($depItem['package'],.'op
bb0e0 74 69 6f 6e 61 6c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 tional');.}.}.}.}..if.(count($de
bb100 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 29 20 3e 20 30 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c faultOptionals).>.0).{.$optional
bb120 73 5b 27 2a 27 5d 20 3d 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 0a 72 s['*'].=.$defaultOptionals;.}..r
bb140 65 74 75 72 6e 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 72 65 73 75 6c 74 eturn.new.DependencyInfo($result
bb160 2c 20 24 6f 70 74 69 6f 6e 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 ,.$optionals);.}.........private
bb180 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 74 .function.buildDepExtensionConst
bb1a0 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 0a 7b 0a 69 66 20 raints($depItem,.$depType).{.if.
bb1c0 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 7b 0a 24 64 65 70 ($this->isHash($depItem)).{.$dep
bb1e0 49 74 65 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 75 Item.=.array($depItem);.}..$resu
bb200 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 49 74 65 6d 20 lt.=.array();.foreach.($depItem.
bb220 61 73 20 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d as.$subDepItem).{.$depChannelNam
bb240 65 20 3d 20 27 65 78 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 e.=.'ext';.$depPackageName.=.$su
bb260 62 44 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e bDepItem['name'];.$depVersionCon
bb280 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 straint.=.$this->parse20VersionC
bb2a0 6f 6e 73 74 72 61 69 6e 74 28 24 73 75 62 44 65 70 49 74 65 6d 29 3b 0a 0a 24 72 65 73 75 6c 74 onstraint($subDepItem);..$result
bb2c0 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 [].=.new.DependencyConstraint(.$
bb2e0 64 65 70 54 79 70 65 2c 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a depType,.$depVersionConstraint,.
bb300 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 $depChannelName,.$depPackageName
bb320 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .);.}..return.$result;.}........
bb340 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 .private.function.buildDepPackag
bb360 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 eConstraints($depItem,.$depType)
bb380 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 .{.if.($this->isHash($depItem)).
bb3a0 7b 0a 24 64 65 70 49 74 65 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a {.$depItem.=.array($depItem);.}.
bb3c0 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 .$result.=.array();.foreach.($de
bb3e0 70 49 74 65 6d 20 61 73 20 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 69 66 20 28 21 61 72 72 pItem.as.$subDepItem).{.if.(!arr
bb400 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 63 68 61 6e 6e 65 6c 27 2c 20 24 73 75 62 44 65 70 ay_key_exists('channel',.$subDep
bb420 49 74 65 6d 29 29 20 7b 0a 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 Item)).{.$subDepItem['channel'].
bb440 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 75 72 69 27 5d 3b 0a 7d 0a 24 64 65 70 43 68 61 6e =.$subDepItem['uri'];.}.$depChan
bb460 6e 65 6c 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d nelName.=.$subDepItem['channel']
bb480 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b ;.$depPackageName.=.$subDepItem[
bb4a0 27 6e 61 6d 65 27 5d 3b 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 'name'];.$depVersionConstraint.=
bb4c0 20 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 .$this->parse20VersionConstraint
bb4e0 28 24 73 75 62 44 65 70 49 74 65 6d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 75 62 44 65 70 ($subDepItem);.if.(isset($subDep
bb500 49 74 65 6d 5b 27 63 6f 6e 66 6c 69 63 74 73 27 5d 29 29 20 7b 0a 24 64 65 70 54 79 70 65 20 3d Item['conflicts'])).{.$depType.=
bb520 20 27 63 6f 6e 66 6c 69 63 74 73 27 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 .'conflicts';.}..$result[].=.new
bb540 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c .DependencyConstraint(.$depType,
bb560 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e .$depVersionConstraint,.$depChan
bb580 6e 65 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 72 nelName,.$depPackageName.);.}..r
bb5a0 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 eturn.$result;.}........private.
bb5c0 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e function.parse20VersionConstrain
bb5e0 74 28 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 73 74 61 74 69 63 20 24 64 65 70 32 30 74 6f t(array.$data).{.static.$dep20to
bb600 4f 70 65 72 61 74 6f 72 4d 61 70 20 3d 20 61 72 72 61 79 28 27 68 61 73 27 20 3d 3e 20 27 3d 3d OperatorMap.=.array('has'.=>.'==
bb620 27 2c 20 27 6d 69 6e 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 6d 61 78 27 20 3d 3e 20 27 3c 3d 27 2c ',.'min'.=>.'>=',.'max'.=>.'<=',
bb640 20 27 65 78 63 6c 75 64 65 27 20 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 76 65 72 73 69 6f 6e 73 20 .'exclude'.=>.'!=');..$versions.
bb660 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 =.array();.$values.=.array_inter
bb680 73 65 63 74 5f 6b 65 79 28 24 64 61 74 61 2c 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 sect_key($data,.$dep20toOperator
bb6a0 4d 61 70 29 3b 0a 69 66 20 28 30 20 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b Map);.if.(0.==.count($values)).{
bb6c0 0a 72 65 74 75 72 6e 20 27 2a 27 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 .return.'*';.}.if.(isset($values
bb6e0 5b 27 6d 69 6e 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 ['min']).&&.isset($values['exclu
bb700 64 65 27 5d 29 20 26 26 20 24 64 61 74 61 5b 27 6d 69 6e 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 de']).&&.$data['min'].==.$data['
bb720 65 78 63 6c 75 64 65 27 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3e 27 20 2e exclude']).{.$versions[].=.'>'..
bb740 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 69 .$this->parseVersion($values['mi
bb760 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 6d n']);.}.elseif.(isset($values['m
bb780 61 78 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 64 65 27 ax']).&&.isset($values['exclude'
bb7a0 5d 29 20 26 26 20 24 64 61 74 61 5b 27 6d 61 78 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 65 78 63 ]).&&.$data['max'].==.$data['exc
bb7c0 6c 75 64 65 27 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3c 27 20 2e 20 24 74 lude']).{.$versions[].=.'<'...$t
bb7e0 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 61 78 27 5d his->parseVersion($values['max']
bb800 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 );.}.else.{.foreach.($values.as.
bb820 24 6f 70 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 27 65 78 63 6c 75 64 65 27 $op.=>.$version).{.if.('exclude'
bb840 20 3d 3d 20 24 6f 70 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 29 29 20 7b .==.$op.&&.is_array($version)).{
bb860 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 20 61 73 20 24 76 65 72 73 69 6f 6e 50 61 .foreach.($version.as.$versionPa
bb880 72 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 rt).{.$versions[].=.$dep20toOper
bb8a0 61 74 6f 72 4d 61 70 5b 24 6f 70 5d 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 atorMap[$op]...$this->parseVersi
bb8c0 6f 6e 28 24 76 65 72 73 69 6f 6e 50 61 72 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 on($versionPart);.}.}.else.{.$ve
bb8e0 72 73 69 6f 6e 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 rsions[].=.$dep20toOperatorMap[$
bb900 6f 70 5d 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 op]...$this->parseVersion($versi
bb920 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2c 20 on);.}.}.}..return.implode(',',.
bb940 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e $versions);.}........private.fun
bb960 63 74 69 6f 6e 20 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 ction.parseVersion($version).{.i
bb980 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 33 7d 29 28 5c 2e 5c f.(preg_match('{^v?(\d{1,3})(\.\
bb9a0 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 7d 69 27 2c 20 24 76 65 72 73 69 6f d+)?(\.\d+)?(\.\d+)?}i',.$versio
bb9c0 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 n,.$matches)).{.$version.=.$matc
bb9e0 68 65 73 5b 31 5d 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 hes[1]..(!empty($matches[2]).?.$
bba00 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 matches[2].:.'.0')..(!empty($mat
bba20 63 68 65 73 5b 33 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 0a 2e ches[3]).?.$matches[3].:.'.0')..
bba40 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b (!empty($matches[4]).?.$matches[
bba60 34 5d 20 3a 20 27 2e 30 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 4].:.'.0');..return.$version;.}.
bba80 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 .return.null;.}........private.f
bbaa0 75 6e 63 74 69 6f 6e 20 69 73 48 61 73 68 28 61 72 72 61 79 20 24 61 72 72 61 79 29 0a 7b 0a 72 unction.isHash(array.$array).{.r
bbac0 65 74 75 72 6e 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 24 61 72 72 61 eturn.!array_key_exists(1,.$arra
bbae0 79 29 20 26 26 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 61 72 72 61 y).&&.!array_key_exists(0,.$arra
bbb00 79 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 y);.}.}.<?php............namespa
bbb20 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a ce.Composer\Repository\Pear;....
bbb40 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 ...class.PackageInfo.{.private.$
bbb60 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 6d channelName;.private.$packageNam
bbb80 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 3b 0a 70 72 69 76 61 74 65 20 24 73 68 e;.private.$license;.private.$sh
bbba0 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 ortDescription;.private.$descrip
bbbc0 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 65 61 73 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a tion;.private.$releases;........
bbbe0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 ..public.function.__construct($c
bbc00 68 61 6e 6e 65 6c 4e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6c 69 63 65 6e hannelName,.$packageName,.$licen
bbc20 73 65 2c 20 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 70 74 se,.$shortDescription,.$descript
bbc40 69 6f 6e 2c 20 24 72 65 6c 65 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c ion,.$releases).{.$this->channel
bbc60 4e 61 6d 65 20 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b Name.=.$channelName;.$this->pack
bbc80 61 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6c ageName.=.$packageName;.$this->l
bbca0 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 6e 73 65 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 44 icense.=.$license;.$this->shortD
bbcc0 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a escription.=.$shortDescription;.
bbce0 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f $this->description.=.$descriptio
bbd00 6e 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 73 20 3d 20 24 72 65 6c 65 61 73 65 73 3b 0a n;.$this->releases.=.$releases;.
bbd20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c }.....public.function.getChannel
bbd40 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 Name().{.return.$this->channelNa
bbd60 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 me;.}.....public.function.getPac
bbd80 6b 61 67 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 kageName().{.return.$this->packa
bbda0 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 geName;.}.....public.function.ge
bbdc0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 tDescription().{.return.$this->d
bbde0 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f escription;.}.....public.functio
bbe00 6e 20 67 65 74 53 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e n.getShortDescription().{.return
bbe20 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a .$this->shortDescription;.}.....
bbe40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 public.function.getLicense().{.r
bbe60 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c eturn.$this->license;.}.....publ
bbe80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 ic.function.getReleases().{.retu
bbea0 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a rn.$this->releases;.}.}.<?php...
bbec0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
bbee0 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6c 65 61 73 65 sitory\Pear;.......class.Release
bbf00 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 Info.{.private.$stability;.priva
bbf20 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 te.$dependencyInfo;......public.
bbf40 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 74 61 62 69 6c 69 74 79 2c function.__construct($stability,
bbf60 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 .$dependencyInfo).{.$this->stabi
bbf80 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 lity.=.$stability;.$this->depend
bbfa0 65 6e 63 79 49 6e 66 6f 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a 0a encyInfo.=.$dependencyInfo;.}...
bbfc0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 ..public.function.getDependencyI
bbfe0 6e 66 6f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 nfo().{.return.$this->dependency
bc000 49 6e 66 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 Info;.}.....public.function.getS
bc020 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 tability().{.return.$this->stabi
bc040 6c 69 74 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 lity;.}.}.<?php............names
bc060 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 pace.Composer\Repository;..use.C
bc080 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
bc0a0 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d oser\Semver\VersionParser.as.Sem
bc0c0 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 verVersionParser;.use.Composer\P
bc0e0 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 ackage\Version\VersionParser;.us
bc100 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 5c 43 68 61 6e 6e e.Composer\Repository\Pear\Chann
bc120 65 6c 52 65 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 elReader;.use.Composer\Package\C
bc140 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ompletePackage;.use.Composer\Rep
bc160 6f 73 69 74 6f 72 79 5c 50 65 61 72 5c 43 68 61 6e 6e 65 6c 49 6e 66 6f 3b 0a 75 73 65 20 43 6f ository\Pear\ChannelInfo;.use.Co
bc180 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 mposer\EventDispatcher\EventDisp
bc1a0 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e atcher;.use.Composer\Package\Lin
bc1c0 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e k;.use.Composer\Semver\Constrain
bc1e0 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c t\Constraint;.use.Composer\Util\
bc200 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 RemoteFilesystem;.use.Composer\C
bc220 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a onfig;.use.Composer\Factory;....
bc240 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 .......class.PearRepository.exte
bc260 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 nds.ArrayRepository.implements.C
bc280 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b onfigurableRepositoryInterface.{
bc2a0 0a 70 72 69 76 61 74 65 20 24 75 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 .private.$url;.private.$io;.priv
bc2c0 61 74 65 20 24 72 66 73 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 ate.$rfs;.private.$versionParser
bc2e0 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 ;.private.$repoConfig;.....priva
bc300 74 65 20 24 76 65 6e 64 6f 72 41 6c 69 61 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f te.$vendorAlias;..public.functio
bc320 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c n.__construct(array.$repoConfig,
bc340 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 .IOInterface.$io,.Config.$config
bc360 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 ,.EventDispatcher.$dispatcher.=.
bc380 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 null,.RemoteFilesystem.$rfs.=.nu
bc3a0 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 ll).{.parent::__construct();.if.
bc3c0 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 27 2c 20 24 72 65 (!preg_match('{^https?://}',.$re
bc3e0 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b poConfig['url'])).{.$repoConfig[
bc400 27 75 72 6c 27 5d 20 3d 20 27 68 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 'url'].=.'http://'.$repoConfig['
bc420 75 72 6c 27 5d 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 url'];.}..$urlBits.=.parse_url($
bc440 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 repoConfig['url']);.if.(empty($u
bc460 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 75 72 6c 42 rlBits['scheme']).||.empty($urlB
bc480 69 74 73 5b 27 68 6f 73 74 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 its['host'])).{.throw.new.\Unexp
bc4a0 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 72 6c ectedValueException('Invalid.url
bc4c0 20 67 69 76 65 6e 20 66 6f 72 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 27 2e 24 72 .given.for.PEAR.repository:.'.$r
bc4e0 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c epoConfig['url']);.}..$this->url
bc500 20 3d 20 72 74 72 69 6d 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 2f 27 .=.rtrim($repoConfig['url'],.'/'
bc520 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d );.$this->io.=.$io;.$this->rfs.=
bc540 20 24 72 66 73 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 .$rfs.?:.Factory::createRemoteFi
bc560 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 lesystem($this->io,.$config);.$t
bc580 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 20 3d 20 69 73 73 65 74 28 24 72 65 70 6f 43 6f his->vendorAlias.=.isset($repoCo
bc5a0 6e 66 69 67 5b 27 76 65 6e 64 6f 72 2d 61 6c 69 61 73 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e nfig['vendor-alias']).?.$repoCon
bc5c0 66 69 67 5b 27 76 65 6e 64 6f 72 2d 61 6c 69 61 73 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 74 68 69 fig['vendor-alias'].:.null;.$thi
bc5e0 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 s->versionParser.=.new.VersionPa
bc600 72 73 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 rser();.$this->repoConfig.=.$rep
bc620 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 oConfig;.}..public.function.getR
bc640 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f epoConfig().{.return.$this->repo
bc660 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e Config;.}..protected.function.in
bc680 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 itialize().{.parent::initialize(
bc6a0 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6e 69 74 69 );..$this->io->writeError('Initi
bc6c0 61 6c 69 7a 69 6e 67 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d alizing.PEAR.repository.'.$this-
bc6e0 3e 75 72 6c 29 3b 0a 0a 24 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 61 >url);..$reader.=.new.ChannelRea
bc700 64 65 72 28 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a 74 72 79 20 7b 0a 24 63 68 61 6e 6e 65 6c 49 der($this->rfs);.try.{.$channelI
bc720 6e 66 6f 20 3d 20 24 72 65 61 64 65 72 2d 3e 72 65 61 64 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b nfo.=.$reader->read($this->url);
bc740 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 .}.catch.(\Exception.$e).{.$this
bc760 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 45 41 52 20 ->io->writeError('<warning>PEAR.
bc780 72 65 70 6f 73 69 74 6f 72 79 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 repository.from.'.$this->url.'.c
bc7a0 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 2e 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 ould.not.be.loaded..'.$e->getMes
bc7c0 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d sage().'</warning>');..return;.}
bc7e0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 .$packages.=.$this->buildCompose
bc800 72 50 61 63 6b 61 67 65 73 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 24 74 68 69 73 2d 3e 76 rPackages($channelInfo,.$this->v
bc820 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 ersionParser);.foreach.($package
bc840 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 s.as.$package).{.$this->addPacka
bc860 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ge($package);.}.}.........privat
bc880 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 73 e.function.buildComposerPackages
bc8a0 28 43 68 61 6e 6e 65 6c 49 6e 66 6f 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 53 65 6d 76 65 (ChannelInfo.$channelInfo,.Semve
bc8c0 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 0a 7b rVersionParser.$versionParser).{
bc8e0 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 .$result.=.array();.foreach.($ch
bc900 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 annelInfo->getPackages().as.$pac
bc920 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b kageDefinition).{.foreach.($pack
bc940 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 52 65 6c 65 61 73 65 73 28 29 20 61 73 20 ageDefinition->getReleases().as.
bc960 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 72 65 6c 65 61 73 65 49 6e 66 6f 29 20 7b 0a 74 72 79 20 $version.=>.$releaseInfo).{.try.
bc980 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 50 {.$normalizedVersion.=.$versionP
bc9a0 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 arser->normalize($version);.}.ca
bc9c0 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 tch.(\UnexpectedValueException.$
bc9e0 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 75 6c e).{.$this->io->writeError('Coul
bca00 64 20 6e 6f 74 20 6c 6f 61 64 20 27 2e 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d d.not.load.'.$packageDefinition-
bca20 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 2e 27 20 27 2e 24 76 65 72 73 69 6f 6e 2e 27 >getPackageName().'.'.$version.'
bca40 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e :.'.$e->getMessage(),.true,.IOIn
bca60 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a terface::VERBOSE);.continue;.}..
bca80 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 $composerPackageName.=.$this->bu
bcaa0 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 70 61 63 6b 61 67 65 44 ildComposerPackageName($packageD
bcac0 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 70 61 efinition->getChannelName(),.$pa
bcae0 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 ckageDefinition->getPackageName(
bcb00 29 29 3b 0a 0a 0a 20 0a 20 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 ));......$urlBits.=.parse_url($t
bcb20 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 73 63 68 65 6d 65 20 3d 20 28 69 73 73 65 74 28 24 75 72 6c his->url);.$scheme.=.(isset($url
bcb40 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d 20 24 Bits['scheme']).&&.'https'.===.$
bcb60 75 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c urlBits['scheme'].&&.extension_l
bcb80 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 oaded('openssl')).?.'https'.:.'h
bcba0 74 74 70 27 3b 0a 24 64 69 73 74 55 72 6c 20 3d 20 22 7b 24 73 63 68 65 6d 65 7d 3a 2f 2f 7b 24 ttp';.$distUrl.=."{$scheme}://{$
bcbc0 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d packageDefinition->getChannelNam
bcbe0 65 28 29 7d 2f 67 65 74 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 e()}/get/{$packageDefinition->ge
bcc00 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 7d 2d 7b 24 76 65 72 73 69 6f 6e 7d 2e 74 67 7a 22 3b tPackageName()}-{$version}.tgz";
bcc20 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 73 74 73 ..$requires.=.array();.$suggests
bcc40 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 .=.array();.$conflicts.=.array()
bcc60 3b 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 ;.$replaces.=.array();......if.(
bcc80 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 70 61 63 6b $channelInfo->getName().==.$pack
bcca0 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 ageDefinition->getChannelName())
bccc0 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 74 68 69 73 .{.$composerPackageAlias.=.$this
bcce0 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e ->buildComposerPackageName($chan
bcd00 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 2c 20 24 70 61 63 6b 61 67 65 44 65 66 nelInfo->getAlias(),.$packageDef
bcd20 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 61 6c 69 inition->getPackageName());.$ali
bcd40 61 73 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d asConstraint.=.new.Constraint('=
bcd60 3d 27 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 =',.$normalizedVersion);.$replac
bcd80 65 73 5b 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 es[].=.new.Link($composerPackage
bcda0 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c Name,.$composerPackageAlias,.$al
bcdc0 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 iasConstraint,.'replaces',.(stri
bcde0 6e 67 29 20 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ng).$aliasConstraint);.}....if.(
bce00 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 29 0a 26 26 20 28 24 !empty($this->vendorAlias).&&.($
bce20 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 20 21 3d 20 27 70 65 61 72 2d 27 2e 24 63 68 this->vendorAlias.!=.'pear-'.$ch
bce40 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 20 7c 7c 20 24 63 68 61 6e 6e 65 annelInfo->getAlias().||.$channe
bce60 6c 49 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 20 24 70 61 63 6b 61 67 65 44 65 66 69 lInfo->getName().!=.$packageDefi
bce80 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 0a 29 20 7b 0a 24 63 nition->getChannelName()).).{.$c
bcea0 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 22 7b 24 74 68 69 73 2d 3e 76 omposerPackageAlias.=."{$this->v
bcec0 65 6e 64 6f 72 41 6c 69 61 73 7d 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d endorAlias}/{$packageDefinition-
bcee0 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 7d 22 3b 0a 24 61 6c 69 61 73 43 6f 6e 73 74 >getPackageName()}";.$aliasConst
bcf00 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 6e 6f raint.=.new.Constraint('==',.$no
bcf20 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 3d 20 rmalizedVersion);.$replaces[].=.
bcf40 6e 65 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 new.Link($composerPackageName,.$
bcf60 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c 69 61 73 43 6f 6e 73 composerPackageAlias,.$aliasCons
bcf80 74 72 61 69 6e 74 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 6e 67 29 20 24 61 6c traint,.'replaces',.(string).$al
bcfa0 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c iasConstraint);.}..foreach.($rel
bcfc0 65 61 73 65 49 6e 66 6f 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 2d 3e 67 easeInfo->getDependencyInfo()->g
bcfe0 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 etRequires().as.$dependencyConst
bd000 72 61 69 6e 74 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 20 raint).{.$dependencyPackageName.
bd020 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d =.$this->buildComposerPackageNam
bd040 65 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 68 61 6e e($dependencyConstraint->getChan
bd060 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 nelName(),.$dependencyConstraint
bd080 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 ->getPackageName());.$constraint
bd0a0 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 .=.$versionParser->parseConstrai
bd0c0 6e 74 73 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f nts($dependencyConstraint->getCo
bd0e0 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 24 6c 69 6e 6b 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 63 nstraint());.$link.=.new.Link($c
bd100 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 50 omposerPackageName,.$dependencyP
bd120 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 64 65 70 65 6e 64 ackageName,.$constraint,.$depend
bd140 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 54 79 70 65 28 29 2c 20 24 64 65 70 65 encyConstraint->getType(),.$depe
bd160 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 ndencyConstraint->getConstraint(
bd180 29 29 3b 0a 73 77 69 74 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e ));.switch.($dependencyConstrain
bd1a0 74 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 63 61 73 65 20 27 72 65 71 75 69 72 65 64 27 3a t->getType()).{.case.'required':
bd1c0 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 .$requires[].=.$link;.break;.cas
bd1e0 65 20 27 63 6f 6e 66 6c 69 63 74 73 27 3a 0a 24 63 6f 6e 66 6c 69 63 74 73 5b 5d 20 3d 20 24 6c e.'conflicts':.$conflicts[].=.$l
bd200 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 72 65 70 6c 61 63 65 73 27 3a 0a 24 72 65 ink;.break;.case.'replaces':.$re
bd220 70 6c 61 63 65 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f places[].=.$link;.break;.}.}..fo
bd240 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 49 6e 66 6f 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e reach.($releaseInfo->getDependen
bd260 63 79 49 6e 66 6f 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 61 6c 73 28 29 20 61 73 20 24 67 72 6f cyInfo()->getOptionals().as.$gro
bd280 75 70 20 3d 3e 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a up.=>.$dependencyConstraints).{.
bd2a0 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 20 foreach.($dependencyConstraints.
bd2c0 61 73 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 64 65 70 as.$dependencyConstraint).{.$dep
bd2e0 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c endencyPackageName.=.$this->buil
bd300 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 64 65 70 65 6e 64 65 6e 63 79 dComposerPackageName($dependency
bd320 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 64 Constraint->getChannelName(),.$d
bd340 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e ependencyConstraint->getPackageN
bd360 61 6d 65 28 29 29 3b 0a 24 73 75 67 67 65 73 74 73 5b 24 67 72 6f 75 70 2e 27 2d 27 2e 24 64 65 ame());.$suggests[$group.'-'.$de
bd380 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 24 64 65 70 65 6e 64 65 6e pendencyPackageName].=.$dependen
bd3a0 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d cyConstraint->getConstraint();.}
bd3c0 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 .}..$package.=.new.CompletePacka
bd3e0 67 65 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6e 6f 72 6d 61 6c ge($composerPackageName,.$normal
bd400 69 7a 65 64 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 70 61 63 6b 61 67 65 izedVersion,.$version);.$package
bd420 2d 3e 73 65 74 54 79 70 65 28 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 3b 0a 24 70 61 63 6b ->setType('pear-library');.$pack
bd440 61 67 65 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 44 65 66 69 age->setDescription($packageDefi
bd460 6e 69 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 70 61 63 6b nition->getDescription());.$pack
bd480 61 67 65 2d 3e 73 65 74 4c 69 63 65 6e 73 65 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 44 65 age->setLicense(array($packageDe
bd4a0 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 29 3b 0a 24 70 61 63 6b 61 finition->getLicense()));.$packa
bd4c0 67 65 2d 3e 73 65 74 44 69 73 74 54 79 70 65 28 27 66 69 6c 65 27 29 3b 0a 24 70 61 63 6b 61 67 ge->setDistType('file');.$packag
bd4e0 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 64 69 73 74 55 72 6c 29 3b 0a 24 70 61 63 6b 61 67 e->setDistUrl($distUrl);.$packag
bd500 65 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 28 27 63 6c 61 73 73 6d 61 70 27 20 e->setAutoload(array('classmap'.
bd520 3d 3e 20 61 72 72 61 79 28 27 27 29 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 63 =>.array('')));.$package->setInc
bd540 6c 75 64 65 50 61 74 68 73 28 61 72 72 61 79 28 27 2f 27 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d ludePaths(array('/'));.$package-
bd560 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 72 65 71 75 69 72 65 73 29 3b 0a 24 70 61 63 6b 61 67 >setRequires($requires);.$packag
bd580 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 24 70 61 e->setConflicts($conflicts);.$pa
bd5a0 63 6b 61 67 65 2d 3e 73 65 74 53 75 67 67 65 73 74 73 28 24 73 75 67 67 65 73 74 73 29 3b 0a 24 ckage->setSuggests($suggests);.$
bd5c0 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 72 65 70 6c 61 63 65 73 29 3b package->setReplaces($replaces);
bd5e0 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 .$result[].=.$package;.}.}..retu
bd600 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 rn.$result;.}..private.function.
bd620 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e 6e 65 buildComposerPackageName($channe
bd640 6c 4e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 27 70 68 70 27 lName,.$packageName).{.if.('php'
bd660 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 70 68 70 .===.$channelName).{.return."php
bd680 22 3b 0a 7d 0a 69 66 20 28 27 65 78 74 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 29 ";.}.if.('ext'.===.$channelName)
bd6a0 20 7b 0a 72 65 74 75 72 6e 20 22 65 78 74 2d 7b 24 70 61 63 6b 61 67 65 4e 61 6d 65 7d 22 3b 0a .{.return."ext-{$packageName}";.
bd6c0 7d 0a 0a 72 65 74 75 72 6e 20 22 70 65 61 72 2d 7b 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 7d 2f 7b }..return."pear-{$channelName}/{
bd6e0 24 70 61 63 6b 61 67 65 4e 61 6d 65 7d 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a $packageName}";.}.}.<?php.......
bd700 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f .....namespace.Composer\Reposito
bd720 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 ry;..use.Composer\Package\Comple
bd740 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c tePackage;.use.Composer\Package\
bd760 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 PackageInterface;.use.Composer\P
bd780 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 ackage\Version\VersionParser;.us
bd7a0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 e.Composer\Plugin\PluginInterfac
bd7c0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 e;.use.Composer\Util\ProcessExec
bd7e0 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 utor;.use.Composer\Util\Silencer
bd800 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 ;.use.Composer\Util\Platform;.us
bd820 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 e.Composer\XdebugHandler\XdebugH
bd840 61 6e 64 6c 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 andler;.use.Symfony\Component\Pr
bd860 6f 63 65 73 73 5c 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 ocess\ExecutableFinder;.....clas
bd880 73 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 s.PlatformRepository.extends.Arr
bd8a0 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 63 6f 6e 73 74 20 50 4c 41 54 46 4f 52 4d 5f 50 41 ayRepository.{.const.PLATFORM_PA
bd8c0 43 4b 41 47 45 5f 52 45 47 45 58 20 3d 20 27 7b 5e 28 3f 3a 70 68 70 28 3f 3a 2d 36 34 62 69 74 CKAGE_REGEX.=.'{^(?:php(?:-64bit
bd8e0 7c 2d 69 70 76 36 7c 2d 7a 74 73 7c 2d 64 65 62 75 67 29 3f 7c 68 68 76 6d 7c 28 3f 3a 65 78 74 |-ipv6|-zts|-debug)?|hhvm|(?:ext
bd900 7c 6c 69 62 29 2d 5b 61 2d 7a 30 2d 39 5d 28 3f 3a 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b |lib)-[a-z0-9](?:[_.-]?[a-z0-9]+
bd920 29 2a 7c 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 29 24 7d 69 44 27 3b 0a 0a 70 )*|composer-plugin-api)$}iD';..p
bd940 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 rivate.$versionParser;.........p
bd960 72 69 76 61 74 65 20 24 6f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 rivate.$overrides.=.array();..pr
bd980 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ivate.$process;..public.function
bd9a0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 .__construct(array.$packages.=.a
bd9c0 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 6f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 rray(),.array.$overrides.=.array
bd9e0 28 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e (),.ProcessExecutor.$process.=.n
bda00 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 ull).{.$this->process.=.$process
bda20 20 3d 3d 3d 20 6e 75 6c 6c 20 3f 20 28 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 .===.null.?.(new.ProcessExecutor
bda40 28 29 29 20 3a 20 24 70 72 6f 63 65 73 73 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 76 65 72 72 69 ()).:.$process;.foreach.($overri
bda60 64 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 des.as.$name.=>.$version).{.$thi
bda80 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 s->overrides[strtolower($name)].
bdaa0 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 2c 20 27 76 65 72 73 69 6f =.array('name'.=>.$name,.'versio
bdac0 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e n'.=>.$version);.}.parent::__con
bdae0 73 74 72 75 63 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 struct($packages);.}..protected.
bdb00 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a function.initialize().{.parent::
bdb20 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 initialize();..$this->versionPar
bdb40 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 0a 0a 20 0a 20 ser.=.new.VersionParser();......
bdb60 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 20 61 73 20 24 6f 76 foreach.($this->overrides.as.$ov
bdb80 65 72 72 69 64 65 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 erride).{...if.(!preg_match(self
bdba0 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6f 76 65 72 72 ::PLATFORM_PACKAGE_REGEX,.$overr
bdbc0 69 64 65 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c ide['name'])).{.throw.new.\Inval
bdbe0 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 70 6c 61 idArgumentException('Invalid.pla
bdc00 74 66 6f 72 6d 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 6e 20 63 6f 6e 66 69 67 2e 70 6c 61 tform.package.name.in.config.pla
bdc20 74 66 6f 72 6d 3a 20 27 2e 24 6f 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 0a tform:.'.$override['name']);.}..
bdc40 24 74 68 69 73 2d 3e 61 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 24 6f 76 65 $this->addOverriddenPackage($ove
bdc60 72 72 69 64 65 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 50 6c 75 67 rride);.}..$prettyVersion.=.Plug
bdc80 69 6e 49 6e 74 65 72 66 61 63 65 3a 3a 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 4f 4e 3b inInterface::PLUGIN_API_VERSION;
bdca0 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 .$version.=.$this->versionParser
bdcc0 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 63 6f ->normalize($prettyVersion);.$co
bdce0 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 mposerPluginApi.=.new.CompletePa
bdd00 63 6b 61 67 65 28 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 2c 20 24 76 65 ckage('composer-plugin-api',.$ve
bdd20 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 63 6f 6d 70 6f 73 65 rsion,.$prettyVersion);.$compose
bdd40 72 50 6c 75 67 69 6e 41 70 69 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 rPluginApi->setDescription('The.
bdd60 43 6f 6d 70 6f 73 65 72 20 50 6c 75 67 69 6e 20 41 50 49 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 Composer.Plugin.API');.$this->ad
bdd80 64 50 61 63 6b 61 67 65 28 24 63 6f 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 29 3b 0a 0a 74 dPackage($composerPluginApi);..t
bdda0 72 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 50 48 50 5f 56 45 52 53 49 4f ry.{.$prettyVersion.=.PHP_VERSIO
bddc0 4e 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 N;.$version.=.$this->versionPars
bdde0 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d er->normalize($prettyVersion);.}
bde00 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f .catch.(\UnexpectedValueExceptio
bde20 6e 20 24 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 n.$e).{.$prettyVersion.=.preg_re
bde40 70 6c 61 63 65 28 27 23 5e 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 24 31 27 2c 20 50 place('#^([^~+-]+).*$#',.'$1',.P
bde60 48 50 5f 56 45 52 53 49 4f 4e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 HP_VERSION);.$version.=.$this->v
bde80 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 ersionParser->normalize($prettyV
bdea0 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 68 70 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 ersion);.}..$php.=.new.CompleteP
bdec0 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 ackage('php',.$version,.$prettyV
bdee0 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 ersion);.$php->setDescription('T
bdf00 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 he.PHP.interpreter');.$this->add
bdf20 50 61 63 6b 61 67 65 28 24 70 68 70 29 3b 0a 0a 69 66 20 28 50 48 50 5f 44 45 42 55 47 29 20 7b Package($php);..if.(PHP_DEBUG).{
bdf40 0a 24 70 68 70 64 65 62 75 67 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 .$phpdebug.=.new.CompletePackage
bdf60 28 27 70 68 70 2d 64 65 62 75 67 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 ('php-debug',.$version,.$prettyV
bdf80 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 64 65 62 75 67 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 ersion);.$phpdebug->setDescripti
bdfa0 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 64 65 on('The.PHP.interpreter,.with.de
bdfc0 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 bugging.symbols');.$this->addPac
bdfe0 6b 61 67 65 28 24 70 68 70 64 65 62 75 67 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 kage($phpdebug);.}..if.(defined(
be000 27 50 48 50 5f 5a 54 53 27 29 20 26 26 20 50 48 50 5f 5a 54 53 29 20 7b 0a 24 70 68 70 7a 74 73 'PHP_ZTS').&&.PHP_ZTS).{.$phpzts
be020 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d 7a 74 73 27 .=.new.CompletePackage('php-zts'
be040 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 ,.$version,.$prettyVersion);.$ph
be060 70 7a 74 73 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e pzts->setDescription('The.PHP.in
be080 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 5a 65 6e 64 20 54 68 72 65 61 64 20 53 61 66 65 terpreter,.with.Zend.Thread.Safe
be0a0 74 79 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 7a 74 73 29 ty');.$this->addPackage($phpzts)
be0c0 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 5f 53 49 5a 45 20 3d 3d 3d 20 38 29 20 7b 0a 24 ;.}..if.(PHP_INT_SIZE.===.8).{.$
be0e0 70 68 70 36 34 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 php64.=.new.CompletePackage('php
be100 2d 36 34 62 69 74 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f -64bit',.$version,.$prettyVersio
be120 6e 29 3b 0a 24 70 68 70 36 34 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 n);.$php64->setDescription('The.
be140 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 36 34 62 69 74 27 29 3b 0a 24 74 68 69 73 2d PHP.interpreter,.64bit');.$this-
be160 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 36 34 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 >addPackage($php64);.}......if.(
be180 64 65 66 69 6e 65 64 28 27 41 46 5f 49 4e 45 54 36 27 29 20 7c 7c 20 53 69 6c 65 6e 63 65 72 3a defined('AF_INET6').||.Silencer:
be1a0 3a 63 61 6c 6c 28 27 69 6e 65 74 5f 70 74 6f 6e 27 2c 20 27 3a 3a 27 29 20 21 3d 3d 20 66 61 6c :call('inet_pton',.'::').!==.fal
be1c0 73 65 29 20 7b 0a 24 70 68 70 49 70 76 36 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 se).{.$phpIpv6.=.new.CompletePac
be1e0 6b 61 67 65 28 27 70 68 70 2d 69 70 76 36 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 kage('php-ipv6',.$version,.$pret
be200 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 49 70 76 36 2d 3e 73 65 74 44 65 73 63 72 69 70 tyVersion);.$phpIpv6->setDescrip
be220 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 tion('The.PHP.interpreter,.with.
be240 49 50 76 36 20 73 75 70 70 6f 72 74 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 IPv6.support');.$this->addPackag
be260 65 28 24 70 68 70 49 70 76 36 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e e($phpIpv6);.}..$loadedExtension
be280 73 20 3d 20 67 65 74 5f 6c 6f 61 64 65 64 5f 65 78 74 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 0a 20 s.=.get_loaded_extensions();....
be2a0 66 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 61 73 20 24 6e foreach.($loadedExtensions.as.$n
be2c0 61 6d 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 ame).{.if.(in_array($name,.array
be2e0 28 27 73 74 61 6e 64 61 72 64 27 2c 20 27 43 6f 72 65 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 ('standard',.'Core'))).{.continu
be300 65 3b 0a 7d 0a 0a 24 72 65 66 6c 45 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e e;.}..$reflExt.=.new.\Reflection
be320 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e Extension($name);.$prettyVersion
be340 20 3d 20 24 72 65 66 6c 45 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 68 69 73 .=.$reflExt->getVersion();.$this
be360 2d 3e 61 64 64 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 70 72 65 74 74 79 56 65 72 ->addExtension($name,.$prettyVer
be380 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 78 64 65 62 75 sion);.}....if.(!in_array('xdebu
be3a0 67 27 2c 20 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 2c 20 74 72 75 65 29 20 26 26 20 g',.$loadedExtensions,.true).&&.
be3c0 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3a ($prettyVersion.=.XdebugHandler:
be3e0 3a 67 65 74 53 6b 69 70 70 65 64 56 65 72 73 69 6f 6e 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e :getSkippedVersion())).{.$this->
be400 61 64 64 45 78 74 65 6e 73 69 6f 6e 28 27 78 64 65 62 75 67 27 2c 20 24 70 72 65 74 74 79 56 65 addExtension('xdebug',.$prettyVe
be420 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 rsion);.}........foreach.($loade
be440 64 45 78 74 65 6e 73 69 6f 6e 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 70 72 65 74 74 79 56 dExtensions.as.$name).{.$prettyV
be460 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 54 ersion.=.null;.$description.=.'T
be480 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 50 48 50 20 6c 69 62 72 61 72 79 27 3b 0a 73 77 69 74 63 he.'.$name.'.PHP.library';.switc
be4a0 68 20 28 24 6e 61 6d 65 29 20 7b 0a 63 61 73 65 20 27 63 75 72 6c 27 3a 0a 24 63 75 72 6c 56 65 h.($name).{.case.'curl':.$curlVe
be4c0 72 73 69 6f 6e 20 3d 20 63 75 72 6c 5f 76 65 72 73 69 6f 6e 28 29 3b 0a 24 70 72 65 74 74 79 56 rsion.=.curl_version();.$prettyV
be4e0 65 72 73 69 6f 6e 20 3d 20 24 63 75 72 6c 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d ersion.=.$curlVersion['version']
be500 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 63 6f 6e 76 27 3a 0a 24 70 72 65 74 74 79 56 ;.break;..case.'iconv':.$prettyV
be520 65 72 73 69 6f 6e 20 3d 20 49 43 4f 4e 56 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a ersion.=.ICONV_VERSION;.break;..
be540 63 61 73 65 20 27 69 6e 74 6c 27 3a 0a 24 6e 61 6d 65 20 3d 20 27 49 43 55 27 3b 0a 69 66 20 28 case.'intl':.$name.=.'ICU';.if.(
be560 64 65 66 69 6e 65 64 28 27 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 defined('INTL_ICU_VERSION')).{.$
be580 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f 4e prettyVersion.=.INTL_ICU_VERSION
be5a0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 ;.}.else.{.$reflector.=.new.\Ref
be5c0 6c 65 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 69 6e 74 6c 27 29 3b 0a 0a 6f 62 5f 73 74 lectionExtension('intl');..ob_st
be5e0 61 72 74 28 29 3b 0a 24 72 65 66 6c 65 63 74 6f 72 2d 3e 69 6e 66 6f 28 29 3b 0a 24 6f 75 74 70 art();.$reflector->info();.$outp
be600 75 74 20 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 ut.=.ob_get_clean();..preg_match
be620 28 27 2f 5e 49 43 55 20 76 65 72 73 69 6f 6e 20 3d 3e 20 28 2e 2a 29 24 2f 6d 27 2c 20 24 6f 75 ('/^ICU.version.=>.(.*)$/m',.$ou
be640 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 tput,.$matches);.$prettyVersion.
be660 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 =.$matches[1];.}..break;..case.'
be680 69 6d 61 67 69 63 6b 27 3a 0a 24 69 6d 61 67 69 63 6b 20 3d 20 6e 65 77 20 5c 49 6d 61 67 69 63 imagick':.$imagick.=.new.\Imagic
be6a0 6b 28 29 3b 0a 24 69 6d 61 67 65 4d 61 67 69 63 6b 56 65 72 73 69 6f 6e 20 3d 20 24 69 6d 61 67 k();.$imageMagickVersion.=.$imag
be6c0 69 63 6b 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 20 0a 20 70 72 65 67 5f 6d 61 74 63 ick->getVersion();.....preg_matc
be6e0 68 28 27 2f 5e 49 6d 61 67 65 4d 61 67 69 63 6b 20 28 5b 5c 64 2e 5d 2b 29 28 3f 3a 2d 28 5c 64 h('/^ImageMagick.([\d.]+)(?:-(\d
be700 2b 29 29 3f 2f 27 2c 20 24 69 6d 61 67 65 4d 61 67 69 63 6b 56 65 72 73 69 6f 6e 5b 27 76 65 72 +))?/',.$imageMagickVersion['ver
be720 73 69 6f 6e 53 74 72 69 6e 67 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 69 66 20 28 69 73 73 sionString'],.$matches);.if.(iss
be740 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f et($matches[2])).{.$prettyVersio
be760 6e 20 3d 20 22 7b 24 6d 61 74 63 68 65 73 5b 31 5d 7d 2e 7b 24 6d 61 74 63 68 65 73 5b 32 5d 7d n.=."{$matches[1]}.{$matches[2]}
be780 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 ";.}.else.{.$prettyVersion.=.$ma
be7a0 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6c 69 62 78 6d 6c tches[1];.}.break;..case.'libxml
be7c0 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 42 58 4d 4c 5f 44 4f 54 54 45 ':.$prettyVersion.=.LIBXML_DOTTE
be7e0 44 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c D_VERSION;.break;..case.'openssl
be800 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ':.$prettyVersion.=.preg_replace
be820 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 5e 28 3f 3a 4f 70 65 6e 53 53 4c 7c 4c 69 62 72 65 53 53 4c _callback('{^(?:OpenSSL|LibreSSL
be840 29 3f 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 28 5b 61 2d 7a 5d 2a 29 2e 2a 7d 69 27 2c 20 66 75 6e )?\s*([0-9.]+)([a-z]*).*}i',.fun
be860 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 ction.($match).{.if.(empty($matc
be880 68 5b 32 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 h[2])).{.return.$match[1];.}....
be8a0 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7a 2a 5b 61 2d 7a 5d 24 7d 27 2c ..if.(!preg_match('{^z*[a-z]$}',
be8c0 20 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 6c .$match[2])).{...return.0;.}..$l
be8e0 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 24 70 61 74 63 68 56 65 en.=.strlen($match[2]);.$patchVe
be900 72 73 69 6f 6e 20 3d 20 28 24 6c 65 6e 20 2d 20 31 29 20 2a 20 32 36 3b 20 0a 20 24 70 61 74 63 rsion.=.($len.-.1).*.26;...$patc
be920 68 56 65 72 73 69 6f 6e 20 2b 3d 20 6f 72 64 28 24 6d 61 74 63 68 5b 32 5d 5b 24 6c 65 6e 20 2d hVersion.+=.ord($match[2][$len.-
be940 20 31 5d 29 20 2d 20 39 36 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 27 2e 27 .1]).-.96;..return.$match[1].'.'
be960 2e 24 70 61 74 63 68 56 65 72 73 69 6f 6e 3b 0a 7d 2c 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 .$patchVersion;.},.OPENSSL_VERSI
be980 4f 4e 5f 54 45 58 54 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 4f 50 45 4e 53 53 ON_TEXT);..$description.=.OPENSS
be9a0 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 63 L_VERSION_TEXT;.break;..case.'pc
be9c0 72 65 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 re':.$prettyVersion.=.preg_repla
be9e0 63 65 28 27 7b 5e 28 5c 53 2b 29 2e 2a 7d 27 2c 20 27 24 31 27 2c 20 50 43 52 45 5f 56 45 52 53 ce('{^(\S+).*}',.'$1',.PCRE_VERS
bea00 49 4f 4e 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 75 69 64 27 3a 0a 24 70 72 65 74 ION);.break;..case.'uuid':.$pret
bea20 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 68 70 76 65 72 73 69 6f 6e 28 27 75 75 69 64 27 29 3b 0a tyVersion.=.phpversion('uuid');.
bea40 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 73 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 break;..case.'xsl':.$prettyVersi
bea60 6f 6e 20 3d 20 4c 49 42 58 53 4c 54 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 on.=.LIBXSLT_DOTTED_VERSION;.bre
bea80 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 0a 74 ak;..default:...continue.2;.}..t
beaa0 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 ry.{.$version.=.$this->versionPa
beac0 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b rser->normalize($prettyVersion);
beae0 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 .}.catch.(\UnexpectedValueExcept
beb00 69 6f 6e 20 24 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 62 20 3d 20 6e 65 ion.$e).{.continue;.}..$lib.=.ne
beb20 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 6c 69 62 2d 27 2e 24 6e 61 6d 65 2c 20 w.CompletePackage('lib-'.$name,.
beb40 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 6c 69 62 2d $version,.$prettyVersion);.$lib-
beb60 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 24 >setDescription($description);.$
beb80 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 6c 69 62 29 3b 0a 7d 0a 0a 24 68 68 76 6d this->addPackage($lib);.}..$hhvm
beba0 56 65 72 73 69 6f 6e 20 3d 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 Version.=.defined('HHVM_VERSION'
bebc0 29 20 3f 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 68 68 ).?.HHVM_VERSION.:.null;.if.($hh
bebe0 76 6d 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 50 6c 61 74 66 6f 72 6d 3a vmVersion.===.null.&&.!Platform:
bec00 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 :isWindows()).{.$finder.=.new.Ex
bec20 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 24 68 68 76 6d 20 3d 20 24 66 69 6e 64 65 ecutableFinder();.$hhvm.=.$finde
bec40 72 2d 3e 66 69 6e 64 28 27 68 68 76 6d 27 29 3b 0a 69 66 20 28 24 68 68 76 6d 20 21 3d 3d 20 6e r->find('hhvm');.if.($hhvm.!==.n
bec60 75 6c 6c 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ull).{.$exitCode.=.$this->proces
bec80 73 2d 3e 65 78 65 63 75 74 65 28 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 s->execute(.ProcessExecutor::esc
beca0 61 70 65 28 24 68 68 76 6d 29 2e 0a 27 20 2d 2d 70 68 70 20 2d 64 20 68 68 76 6d 2e 6a 69 74 3d ape($hhvm)..'.--php.-d.hhvm.jit=
becc0 30 20 2d 72 20 22 65 63 68 6f 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 3b 22 20 32 3e 2f 64 65 76 0.-r."echo.HHVM_VERSION;".2>/dev
bece0 2f 6e 75 6c 6c 27 2c 0a 24 68 68 76 6d 56 65 72 73 69 6f 6e 0a 29 3b 0a 69 66 20 28 24 65 78 69 /null',.$hhvmVersion.);.if.($exi
bed00 74 43 6f 64 65 20 21 3d 3d 20 30 29 20 7b 0a 24 68 68 76 6d 56 65 72 73 69 6f 6e 20 3d 20 6e 75 tCode.!==.0).{.$hhvmVersion.=.nu
bed20 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 24 68 68 76 6d 56 65 72 73 69 6f 6e 29 20 7b 0a 74 72 ll;.}.}.}.if.($hhvmVersion).{.tr
bed40 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 68 68 76 6d 56 65 72 73 69 6f y.{.$prettyVersion.=.$hhvmVersio
bed60 6e 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 n;.$version.=.$this->versionPars
bed80 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d er->normalize($prettyVersion);.}
beda0 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f .catch.(\UnexpectedValueExceptio
bedc0 6e 20 24 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 n.$e).{.$prettyVersion.=.preg_re
bede0 70 6c 61 63 65 28 27 23 5e 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 24 31 27 2c 20 24 place('#^([^~+-]+).*$#',.'$1',.$
bee00 68 68 76 6d 56 65 72 73 69 6f 6e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e hhvmVersion);.$version.=.$this->
bee20 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 versionParser->normalize($pretty
bee40 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 68 68 76 6d 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 Version);.}..$hhvm.=.new.Complet
bee60 65 50 61 63 6b 61 67 65 28 27 68 68 76 6d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 ePackage('hhvm',.$version,.$pret
bee80 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 68 68 76 6d 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f tyVersion);.$hhvm->setDescriptio
beea0 6e 28 27 54 68 65 20 48 48 56 4d 20 52 75 6e 74 69 6d 65 20 28 36 34 62 69 74 29 27 29 3b 0a 24 n('The.HHVM.Runtime.(64bit)');.$
beec0 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 68 68 76 6d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a this->addPackage($hhvm);.}.}....
beee0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b .public.function.addPackage(Pack
bef00 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 0a 20 69 66 20 28 69 ageInterface.$package).{...if.(i
bef20 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e sset($this->overrides[$package->
bef40 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 6f 76 65 72 72 69 64 65 72 20 3d 20 24 74 68 69 getName()])).{.$overrider.=.$thi
bef60 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 s->findPackage($package->getName
bef80 28 29 2c 20 27 2a 27 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 (),.'*');.if.($package->getVersi
befa0 6f 6e 28 29 20 3d 3d 3d 20 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 on().===.$overrider->getVersion(
befc0 29 29 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 73 61 6d 65 20 61 73 20 61 63 74 75 )).{.$actualText.=.'same.as.actu
befe0 61 6c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 61 63 74 al';.}.else.{.$actualText.=.'act
bf000 75 61 6c 3a 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f ual:.'.$package->getPrettyVersio
bf020 6e 28 29 3b 0a 7d 0a 24 6f 76 65 72 72 69 64 65 72 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f n();.}.$overrider->setDescriptio
bf040 6e 28 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2e 27 n($overrider->getDescription().'
bf060 20 28 27 2e 24 61 63 74 75 61 6c 54 65 78 74 2e 27 29 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d .('.$actualText.')');..return;.}
bf080 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 27 ....if.(isset($this->overrides['
bf0a0 70 68 70 27 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d php']).&&.0.===.strpos($package-
bf0c0 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 70 68 70 2d 27 29 29 20 7b 0a 24 6f 76 65 72 72 69 64 65 >getName(),.'php-')).{.$override
bf0e0 72 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 r.=.$this->addOverriddenPackage(
bf100 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 27 70 68 70 27 5d 2c 20 24 70 61 63 6b 61 67 $this->overrides['php'],.$packag
bf120 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 e->getPrettyName());.if.($packag
bf140 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 6f 76 65 72 72 69 64 65 72 2d 3e e->getVersion().===.$overrider->
bf160 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 73 getVersion()).{.$actualText.=.'s
bf180 61 6d 65 20 61 73 20 61 63 74 75 61 6c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 63 74 75 61 6c ame.as.actual';.}.else.{.$actual
bf1a0 54 65 78 74 20 3d 20 27 61 63 74 75 61 6c 3a 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 Text.=.'actual:.'.$package->getP
bf1c0 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 24 6f 76 65 72 72 69 64 65 72 2d 3e 73 65 rettyVersion();.}.$overrider->se
bf1e0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 44 65 73 63 tDescription($overrider->getDesc
bf200 72 69 70 74 69 6f 6e 28 29 2e 27 20 28 27 2e 24 61 63 74 75 61 6c 54 65 78 74 2e 27 29 27 29 3b ription().'.('.$actualText.')');
bf220 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 ..return;.}..parent::addPackage(
bf240 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 $package);.}..private.function.a
bf260 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 6f 76 65 72 72 ddOverriddenPackage(array.$overr
bf280 69 64 65 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 ide,.$name.=.null).{.$version.=.
bf2a0 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 $this->versionParser->normalize(
bf2c0 24 6f 76 65 72 72 69 64 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 20 $override['version']);.$package.
bf2e0 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 20 3f 3a 20 24 =.new.CompletePackage($name.?:.$
bf300 6f 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6f 76 65 override['name'],.$version,.$ove
bf320 72 72 69 64 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 rride['version']);.$package->set
bf340 44 65 73 63 72 69 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 6f 76 65 72 72 69 64 64 65 6e 20 Description('Package.overridden.
bf360 76 69 61 20 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d via.config.platform');.$package-
bf380 3e 73 65 74 45 78 74 72 61 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d >setExtra(array('config.platform
bf3a0 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 '.=>.true));.parent::addPackage(
bf3c0 24 70 61 63 6b 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a $package);..return.$package;.}..
bf3e0 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 78 74 65 6e 73 ......private.function.addExtens
bf400 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 65 78 ion($name,.$prettyVersion).{.$ex
bf420 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 76 traDescription.=.null;..try.{.$v
bf440 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e ersion.=.$this->versionParser->n
bf460 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 ormalize($prettyVersion);.}.catc
bf480 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 h.(\UnexpectedValueException.$e)
bf4a0 20 7b 0a 24 65 78 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 20 28 61 63 74 75 61 6c .{.$extraDescription.=.'.(actual
bf4c0 20 76 65 72 73 69 6f 6e 3a 20 27 2e 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2e 27 29 27 3b 0a .version:.'.$prettyVersion.')';.
bf4e0 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5c 64 2b 5c 2e 5c 64 2b 5c 2e 5c 64 2b if.(preg_match('{^(\d+\.\d+\.\d+
bf500 28 3f 3a 5c 2e 5c 64 2b 29 3f 29 7d 27 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2c 20 24 (?:\.\d+)?)}',.$prettyVersion,.$
bf520 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 match)).{.$prettyVersion.=.$matc
bf540 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 h[1];.}.else.{.$prettyVersion.=.
bf560 27 30 27 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e '0';.}.$version.=.$this->version
bf580 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e Parser->normalize($prettyVersion
bf5a0 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c );.}..$packageName.=.$this->buil
bf5c0 64 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 24 65 78 74 20 3d 20 6e 65 77 20 dPackageName($name);.$ext.=.new.
bf5e0 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 CompletePackage($packageName,.$v
bf600 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 65 78 74 2d 3e 73 ersion,.$prettyVersion);.$ext->s
bf620 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 50 48 50 etDescription('The.'.$name.'.PHP
bf640 20 65 78 74 65 6e 73 69 6f 6e 27 2e 24 65 78 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a .extension'.$extraDescription);.
bf660 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 65 78 74 29 3b 0a 7d 0a 0a 70 72 69 76 $this->addPackage($ext);.}..priv
bf680 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 6e ate.function.buildPackageName($n
bf6a0 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 65 78 74 2d 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 ame).{.return.'ext-'...str_repla
bf6c0 63 65 28 27 20 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ce('.',.'-',.$name);.}.}.<?php..
bf6e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ..........namespace.Composer\Rep
bf700 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a ository;..use.Composer\Factory;.
bf720 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Composer\IO\IOInterface;.use
bf740 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 .Composer\Config;.use.Composer\E
bf760 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a ventDispatcher\EventDispatcher;.
bf780 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 use.Composer\Util\RemoteFilesyst
bf7a0 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a em;.use.Composer\Json\JsonFile;.
bf7c0 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a ....class.RepositoryFactory.{...
bf7e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 .....public.static.function.conf
bf800 69 67 46 72 6f 6d 53 74 72 69 6e 67 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f igFromString(IOInterface.$io,.Co
bf820 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f nfig.$config,.$repository,.$allo
bf840 77 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d wFilesystem.=.false).{.if.(0.===
bf860 20 73 74 72 70 6f 73 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 27 68 74 74 70 27 29 29 20 7b 0a .strpos($repository,.'http')).{.
bf880 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 63 $repoConfig.=.array('type'.=>.'c
bf8a0 6f 6d 70 6f 73 65 72 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b omposer',.'url'.=>.$repository);
bf8c0 0a 7d 20 65 6c 73 65 69 66 20 28 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 61 74 68 69 6e 66 6f 28 24 .}.elseif.("json".===.pathinfo($
bf8e0 72 65 70 6f 73 69 74 6f 72 79 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 29 repository,.PATHINFO_EXTENSION))
bf900 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 72 65 70 6f 73 69 74 .{.$json.=.new.JsonFile($reposit
bf920 6f 72 79 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 ory,.Factory::createRemoteFilesy
bf940 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 64 61 74 61 20 3d 20 24 6a 73 stem($io,.$config));.$data.=.$js
bf960 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 61 on->read();.if.(!empty($data['pa
bf980 63 6b 61 67 65 73 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 ckages']).||.!empty($data['inclu
bf9a0 64 65 73 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 des']).||.!empty($data['provider
bf9c0 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 -includes'])).{.$repoConfig.=.ar
bf9e0 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 75 72 6c 27 20 ray('type'.=>.'composer',.'url'.
bfa00 3d 3e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 73 74 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 72 =>.'file://'...strtr(realpath($r
bfa20 65 70 6f 73 69 74 6f 72 79 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 3b 0a 7d 20 65 6c 73 65 69 epository),.'\\',.'/'));.}.elsei
bfa40 66 20 28 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 f.($allowFilesystem).{.$repoConf
bfa60 69 67 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 66 69 6c 65 73 79 73 74 65 6d ig.=.array('type'.=>.'filesystem
bfa80 27 2c 20 27 6a 73 6f 6e 27 20 3d 3e 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 ',.'json'.=>.$json);.}.else.{.th
bfaa0 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
bfac0 6e 28 22 49 6e 76 61 6c 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 28 24 72 65 70 6f n("Invalid.repository.URL.($repo
bfae0 73 69 74 6f 72 79 29 20 67 69 76 65 6e 2e 20 54 68 69 73 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f sitory).given..This.file.does.no
bfb00 74 20 63 6f 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 t.contain.a.valid.composer.repos
bfb20 69 74 6f 72 79 2e 22 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d 3d 20 73 75 itory.");.}.}.elseif.('{'.===.su
bfb40 62 73 74 72 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 30 2c 20 31 29 29 20 7b 0a 0a 20 24 72 65 bstr($repository,.0,.1)).{...$re
bfb60 70 6f 43 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 poConfig.=.JsonFile::parseJson($
bfb80 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 repository);.}.else.{.throw.new.
bfba0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c \InvalidArgumentException("Inval
bfbc0 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 75 72 6c 20 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 id.repository.url.($repository).
bfbe0 67 69 76 65 6e 2e 20 48 61 73 20 74 6f 20 62 65 20 61 20 2e 6a 73 6f 6e 20 66 69 6c 65 2c 20 61 given..Has.to.be.a..json.file,.a
bfc00 6e 20 68 74 74 70 20 75 72 6c 20 6f 72 20 61 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 2e 22 29 3b 0a n.http.url.or.a.JSON.object.");.
bfc20 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a }..return.$repoConfig;.}........
bfc40 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 53 74 72 69 .public.static.function.fromStri
bfc60 6e 67 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 ng(IOInterface.$io,.Config.$conf
bfc80 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 ig,.$repository,.$allowFilesyste
bfca0 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 m.=.false).{.$repoConfig.=.stati
bfcc0 63 3a 3a 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 c::configFromString($io,.$config
bfce0 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 29 ,.$repository,.$allowFilesystem)
bfd00 3b 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f ;..return.static::createRepo($io
bfd20 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ,.$config,.$repoConfig);.}......
bfd40 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 ..public.static.function.createR
bfd60 65 70 6f 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e epo(IOInterface.$io,.Config.$con
bfd80 66 69 67 2c 20 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 24 72 6d 20 3d 20 fig,.array.$repoConfig).{.$rm.=.
bfda0 73 74 61 74 69 63 3a 3a 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 6e 75 static::manager($io,.$config,.nu
bfdc0 6c 6c 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 ll,.Factory::createRemoteFilesys
bfde0 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 73 74 61 tem($io,.$config));.$repos.=.sta
bfe00 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 73 28 24 72 6d 2c 20 61 72 72 61 79 28 24 72 65 70 tic::createRepos($rm,.array($rep
bfe20 6f 43 6f 6e 66 69 67 29 29 3b 0a 0a 72 65 74 75 72 6e 20 72 65 73 65 74 28 24 72 65 70 6f 73 29 oConfig));..return.reset($repos)
bfe40 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ;.}........public.static.functio
bfe60 6e 20 64 65 66 61 75 6c 74 52 65 70 6f 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d n.defaultRepos(IOInterface.$io.=
bfe80 20 6e 75 6c 6c 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 .null,.Config.$config.=.null,.Re
bfea0 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 positoryManager.$rm.=.null).{.if
bfec0 20 28 21 24 63 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a .(!$config).{.$config.=.Factory:
bfee0 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 7d 0a 69 66 20 28 24 69 6f 29 20 7b :createConfig($io);.}.if.($io).{
bff00 0a 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 .$io->loadConfiguration($config)
bff20 3b 0a 7d 0a 69 66 20 28 21 24 72 6d 29 20 7b 0a 69 66 20 28 21 24 69 6f 29 20 7b 0a 74 68 72 6f ;.}.if.(!$rm).{.if.(!$io).{.thro
bff40 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
bff60 27 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 65 69 74 68 65 72 20 61 'This.function.requires.either.a
bff80 6e 20 49 4f 49 6e 74 65 72 66 61 63 65 20 6f 72 20 61 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e n.IOInterface.or.a.RepositoryMan
bffa0 61 67 65 72 27 29 3b 0a 7d 0a 24 72 6d 20 3d 20 73 74 61 74 69 63 3a 3a 6d 61 6e 61 67 65 72 28 ager');.}.$rm.=.static::manager(
bffc0 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 $io,.$config,.null,.Factory::cre
bffe0 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 ateRemoteFilesystem($io,.$config
c0000 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f ));.}..return.static::createRepo
c0020 73 28 24 72 6d 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 s($rm,.$config->getRepositories(
c0040 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ));.}.........public.static.func
c0060 74 69 6f 6e 20 6d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f tion.manager(IOInterface.$io,.Co
c0080 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 nfig.$config,.EventDispatcher.$e
c00a0 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c ventDispatcher.=.null,.RemoteFil
c00c0 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 6d 20 3d 20 6e 65 77 esystem.$rfs.=.null).{.$rm.=.new
c00e0 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c .RepositoryManager($io,.$config,
c0100 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 72 66 73 29 3b 0a 24 72 6d 2d 3e 73 .$eventDispatcher,.$rfs);.$rm->s
c0120 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 43 etRepositoryClass('composer',.'C
c0140 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 omposer\Repository\ComposerRepos
c0160 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 itory');.$rm->setRepositoryClass
c0180 28 27 76 63 73 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 ('vcs',.'Composer\Repository\Vcs
c01a0 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 Repository');.$rm->setRepository
c01c0 43 6c 61 73 73 28 27 70 61 63 6b 61 67 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 Class('package',.'Composer\Repos
c01e0 69 74 6f 72 79 5c 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e itory\PackageRepository');.$rm->
c0200 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 65 61 72 27 2c 20 27 43 6f 6d 70 setRepositoryClass('pear',.'Comp
c0220 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 27 29 oser\Repository\PearRepository')
c0240 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 27 2c ;.$rm->setRepositoryClass('git',
c0260 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 .'Composer\Repository\VcsReposit
c0280 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 ory');.$rm->setRepositoryClass('
c02a0 67 69 74 2d 62 69 74 62 75 63 6b 65 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 git-bitbucket',.'Composer\Reposi
c02c0 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 tory\VcsRepository');.$rm->setRe
c02e0 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 68 75 62 27 2c 20 27 43 6f 6d 70 6f 73 65 positoryClass('github',.'Compose
c0300 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 r\Repository\VcsRepository');.$r
c0320 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 6c 61 62 27 2c 20 m->setRepositoryClass('gitlab',.
c0340 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 'Composer\Repository\VcsReposito
c0360 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 73 ry');.$rm->setRepositoryClass('s
c0380 76 6e 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 vn',.'Composer\Repository\VcsRep
c03a0 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 ository');.$rm->setRepositoryCla
c03c0 73 73 28 27 66 6f 73 73 69 6c 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ss('fossil',.'Composer\Repositor
c03e0 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 y\VcsRepository');.$rm->setRepos
c0400 69 74 6f 72 79 43 6c 61 73 73 28 27 70 65 72 66 6f 72 63 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 itoryClass('perforce',.'Composer
c0420 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d \Repository\VcsRepository');.$rm
c0440 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 68 67 27 2c 20 27 43 6f 6d 70 ->setRepositoryClass('hg',.'Comp
c0460 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b oser\Repository\VcsRepository');
c0480 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 68 67 2d 62 69 74 .$rm->setRepositoryClass('hg-bit
c04a0 62 75 63 6b 65 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 bucket',.'Composer\Repository\Vc
c04c0 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 sRepository');.$rm->setRepositor
c04e0 79 43 6c 61 73 73 28 27 61 72 74 69 66 61 63 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 yClass('artifact',.'Composer\Rep
c0500 6f 73 69 74 6f 72 79 5c 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 ository\ArtifactRepository');.$r
c0520 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 61 74 68 27 2c 20 27 43 m->setRepositoryClass('path',.'C
c0540 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 61 74 68 52 65 70 6f 73 69 74 6f 72 omposer\Repository\PathRepositor
c0560 79 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 y');..return.$rm;.}.....private.
c0580 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 6f 73 28 52 65 70 6f static.function.createRepos(Repo
c05a0 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 2c 20 61 72 72 61 79 20 24 72 65 70 6f 43 6f sitoryManager.$rm,.array.$repoCo
c05c0 6e 66 69 67 73 29 0a 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 nfigs).{.$repos.=.array();..fore
c05e0 61 63 68 20 28 24 72 65 70 6f 43 6f 6e 66 69 67 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 ach.($repoConfigs.as.$index.=>.$
c0600 72 65 70 6f 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 70 6f 29 29 20 7b 0a repo).{.if.(is_string($repo)).{.
c0620 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 throw.new.\UnexpectedValueExcept
c0640 69 6f 6e 28 27 22 72 65 70 6f 73 69 74 6f 72 69 65 73 22 20 73 68 6f 75 6c 64 20 62 65 20 61 6e ion('"repositories".should.be.an
c0660 20 61 72 72 61 79 20 6f 66 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 .array.of.repository.definitions
c0680 2c 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 77 61 73 20 67 ,.only.a.single.repository.was.g
c06a0 69 76 65 6e 27 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f 29 29 20 iven');.}.if.(!is_array($repo)).
c06c0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 {.throw.new.\UnexpectedValueExce
c06e0 70 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 69 6e 64 65 78 2e 27 22 20 28 ption('Repository."'.$index.'".(
c0700 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 65 70 6f 29 2e 27 29 20 73 68 6f 75 6c 64 20 62 '.json_encode($repo).').should.b
c0720 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 74 74 79 70 65 28 24 72 65 70 6f 29 2e 27 20 67 e.an.array,.'.gettype($repo).'.g
c0740 69 76 65 6e 27 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 70 6f 5b 27 74 79 70 65 iven');.}.if.(!isset($repo['type
c0760 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 '])).{.throw.new.\UnexpectedValu
c0780 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 69 6e 64 65 78 eException('Repository."'.$index
c07a0 2e 27 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 65 70 6f 29 2e 27 29 20 6d 75 73 .'".('.json_encode($repo).').mus
c07c0 74 20 68 61 76 65 20 61 20 74 79 70 65 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 24 6e 61 6d 65 t.have.a.type.defined');.}.$name
c07e0 20 3d 20 69 73 5f 69 6e 74 28 24 69 6e 64 65 78 29 20 26 26 20 69 73 73 65 74 28 24 72 65 70 6f .=.is_int($index).&&.isset($repo
c0800 5b 27 75 72 6c 27 5d 29 20 3f 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 68 74 74 70 73 ['url']).?.preg_replace('{^https
c0820 3f 3a 2f 2f 7d 69 27 2c 20 27 27 2c 20 24 72 65 70 6f 5b 27 75 72 6c 27 5d 29 20 3a 20 24 69 6e ?://}i',.'',.$repo['url']).:.$in
c0840 64 65 78 3b 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 29 dex;.while.(isset($repos[$name])
c0860 29 20 7b 0a 24 6e 61 6d 65 20 2e 3d 20 27 32 27 3b 0a 7d 0a 69 66 20 28 24 72 65 70 6f 5b 27 74 ).{.$name..=.'2';.}.if.($repo['t
c0880 79 70 65 27 5d 20 3d 3d 3d 20 27 66 69 6c 65 73 79 73 74 65 6d 27 29 20 7b 0a 24 72 65 70 6f 73 ype'].===.'filesystem').{.$repos
c08a0 5b 24 6e 61 6d 65 5d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f [$name].=.new.FilesystemReposito
c08c0 72 79 28 24 72 65 70 6f 5b 27 6a 73 6f 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 ry($repo['json']);.}.else.{.$rep
c08e0 6f 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 72 6d 2d 3e 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 os[$name].=.$rm->createRepositor
c0900 79 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 2c 20 24 72 65 70 6f 2c 20 24 69 6e 64 65 78 29 3b y($repo['type'],.$repo,.$index);
c0920 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a .}.}..return.$repos;.}.}.<?php..
c0940 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ..........namespace.Composer\Rep
c0960 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 ository;..use.Composer\Package\P
c0980 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 ackageInterface;.........interfa
c09a0 63 65 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 5c ce.RepositoryInterface.extends.\
c09c0 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 Countable.{.const.SEARCH_FULLTEX
c09e0 54 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 45 41 52 43 48 5f 4e 41 4d 45 20 3d 20 31 3b 0a 0a 0a T.=.0;.const.SEARCH_NAME.=.1;...
c0a00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 ......public.function.hasPackage
c0a20 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a (PackageInterface.$package);....
c0a40 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 ......public.function.findPackag
c0a60 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e($name,.$constraint);..........
c0a80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 public.function.findPackages($na
c0aa0 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 me,.$constraint.=.null);.......p
c0ac0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a ublic.function.getPackages();...
c0ae0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 .......public.function.search($q
c0b00 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a uery,.$mode.=.0);.}.<?php.......
c0b20 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f .....namespace.Composer\Reposito
c0b40 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 ry;..use.Composer\IO\IOInterface
c0b60 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f ;.use.Composer\Config;.use.Compo
c0b80 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 ser\EventDispatcher\EventDispatc
c0ba0 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 her;.use.Composer\Package\Packag
c0bc0 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 eInterface;.use.Composer\Util\Re
c0be0 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 moteFilesystem;.........class.Re
c0c00 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 61 6c positoryManager.{.private.$local
c0c20 52 65 70 6f 73 69 74 6f 72 79 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 Repository;.private.$repositorie
c0c40 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 s.=.array();.private.$repository
c0c60 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a Classes.=.array();.private.$io;.
c0c80 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 private.$config;.private.$eventD
c0ca0 69 73 70 61 74 63 68 65 72 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 0a 70 75 62 6c 69 63 ispatcher;.private.$rfs;..public
c0cc0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 .function.__construct(IOInterfac
c0ce0 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 e.$io,.Config.$config,.EventDisp
c0d00 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 atcher.$eventDispatcher.=.null,.
c0d20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a RemoteFilesystem.$rfs.=.null).{.
c0d40 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d $this->io.=.$io;.$this->config.=
c0d60 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 .$config;.$this->eventDispatcher
c0d80 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 .=.$eventDispatcher;.$this->rfs.
c0da0 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 =.$rfs;.}..........public.functi
c0dc0 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e on.findPackage($name,.$constrain
c0de0 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 t).{.foreach.($this->repositorie
c0e00 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 s.as.$repository).{..if.($packag
c0e20 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 e.=.$repository->findPackage($na
c0e40 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b me,.$constraint)).{.return.$pack
c0e60 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a age;.}.}..return.null;.}........
c0e80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 ..public.function.findPackages($
c0ea0 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d name,.$constraint).{.$packages.=
c0ec0 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 .array();..foreach.($this->getRe
c0ee0 70 6f 73 69 74 6f 72 69 65 73 28 29 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 positories().as.$repository).{.$
c0f00 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 73 packages.=.array_merge($packages
c0f20 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d ,.$repository->findPackages($nam
c0f40 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 e,.$constraint));.}..return.$pac
c0f60 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 kages;.}.......public.function.a
c0f80 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ddRepository(RepositoryInterface
c0fa0 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 .$repository).{.$this->repositor
c0fc0 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ies[].=.$repository;.}.........p
c0fe0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 52 65 70 6f 73 69 74 6f 72 79 ublic.function.prependRepository
c1000 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 (RepositoryInterface.$repository
c1020 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 ).{.array_unshift($this->reposit
c1040 6f 72 69 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ories,.$repository);.}..........
c1060 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 .public.function.createRepositor
c1080 79 28 24 74 79 70 65 2c 20 24 63 6f 6e 66 69 67 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a y($type,.$config,.$name.=.null).
c10a0 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c {.if.(!isset($this->repositoryCl
c10c0 61 73 73 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 asses[$type])).{.throw.new.\Inva
c10e0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 lidArgumentException('Repository
c1100 20 74 79 70 65 20 69 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 3a 20 27 2e 24 74 79 70 65 .type.is.not.registered:.'.$type
c1120 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 );.}..if.(isset($config['packagi
c1140 73 74 27 5d 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b st']).&&.false.===.$config['pack
c1160 61 67 69 73 74 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 agist']).{.$this->io->writeError
c1180 28 27 3c 77 61 72 6e 69 6e 67 3e 52 65 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 6e 61 6d 65 2e 27 ('<warning>Repository."'.$name.'
c11a0 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 29 2e 27 29 20 68 61 73 ".('.json_encode($config).').has
c11c0 20 61 20 70 61 63 6b 61 67 69 73 74 20 6b 65 79 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 .a.packagist.key.which.should.be
c11e0 20 69 6e 20 69 74 73 20 6f 77 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f .in.its.own.repository.definitio
c1200 6e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 n</warning>');.}..$class.=.$this
c1220 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 70 65 5d 3b 0a 0a 24 72 65 ->repositoryClasses[$type];..$re
c1240 66 6c 4d 65 74 68 6f 64 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 4d 65 74 68 6f 64 flMethod.=.new.\ReflectionMethod
c1260 28 24 63 6c 61 73 73 2c 20 27 5f 5f 63 6f 6e 73 74 72 75 63 74 27 29 3b 0a 24 70 61 72 61 6d 73 ($class,.'__construct');.$params
c1280 20 3d 20 24 72 65 66 6c 4d 65 74 68 6f 64 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b .=.$reflMethod->getParameters();
c12a0 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 72 61 6d 73 5b 34 5d 29 20 26 26 20 24 70 61 72 61 6d .if.(isset($params[4]).&&.$param
c12c0 73 5b 34 5d 2d 3e 67 65 74 43 6c 61 73 73 28 29 20 26 26 20 24 70 61 72 61 6d 73 5b 34 5d 2d 3e s[4]->getClass().&&.$params[4]->
c12e0 67 65 74 43 6c 61 73 73 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 27 43 6f 6d 70 6f getClass()->getName().===.'Compo
c1300 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 27 29 20 7b 0a 72 65 ser\Util\RemoteFilesystem').{.re
c1320 74 75 72 6e 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e turn.new.$class($config,.$this->
c1340 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 io,.$this->config,.$this->eventD
c1360 69 73 70 61 74 63 68 65 72 2c 20 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 ispatcher,.$this->rfs);.}..retur
c1380 6e 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c n.new.$class($config,.$this->io,
c13a0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 .$this->config,.$this->eventDisp
c13c0 61 74 63 68 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f atcher);.}........public.functio
c13e0 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 24 74 79 70 65 2c 20 24 63 6c 61 n.setRepositoryClass($type,.$cla
c1400 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 ss).{.$this->repositoryClasses[$
c1420 74 79 70 65 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 type].=.$class;.}.......public.f
c1440 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 unction.getRepositories().{.retu
c1460 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a rn.$this->repositories;.}.......
c1480 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f public.function.setLocalReposito
c14a0 72 79 28 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 ry(WritableRepositoryInterface.$
c14c0 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 repository).{.$this->localReposi
c14e0 74 6f 72 79 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tory.=.$repository;.}.......publ
c1500 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 ic.function.getLocalRepository()
c1520 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 .{.return.$this->localRepository
c1540 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
c1560 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 .Composer\Repository;.......clas
c1580 73 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 20 65 78 s.RepositorySecurityException.ex
c15a0 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a tends.\Exception.{.}.<?php......
c15c0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
c15e0 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 ory\Vcs;..use.Composer\Cache;.us
c1600 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 e.Composer\Downloader\TransportE
c1620 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e xception;.use.Composer\Json\Json
c1640 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 42 69 74 62 75 63 6b 65 File;.use.Composer\Util\Bitbucke
c1660 74 3b 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 69 74 62 75 63 6b 65 74 44 72 69 76 t;..abstract.class.BitbucketDriv
c1680 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 er.extends.VcsDriver.{..protecte
c16a0 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 77 6e 65 72 3b 0a 70 72 6f 74 d.$cache;.protected.$owner;.prot
c16c0 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 ected.$repository;.protected.$ha
c16e0 73 49 73 73 75 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 sIssues;.protected.$rootIdentifi
c1700 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 er;.protected.$tags;.protected.$
c1720 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d branches;.protected.$infoCache.=
c1740 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 55 72 6c .array();.protected.$branchesUrl
c1760 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 55 72 6c 20 3d 20 27 27 3b 0a .=.'';.protected.$tagsUrl.=.'';.
c1780 70 72 6f 74 65 63 74 65 64 20 24 68 6f 6d 65 55 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 protected.$homeUrl.=.'';.protect
c17a0 65 64 20 24 77 65 62 73 69 74 65 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6c 6f ed.$website.=.'';.protected.$clo
c17c0 6e 65 48 74 74 70 73 55 72 6c 20 3d 20 27 27 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 neHttpsUrl.=.'';.....protected.$
c17e0 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 76 63 73 54 fallbackDriver;..protected.$vcsT
c1800 79 70 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c ype;.....public.function.initial
c1820 69 7a 65 28 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 ize().{.preg_match('#^https?://b
c1840 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 5c itbucket\.org/([^/]+)/([^/]+?)(\
c1860 2e 67 69 74 7c 2f 3f 29 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 .git|/?)$#',.$this->url,.$match)
c1880 3b 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 68 69 ;.$this->owner.=.$match[1];.$thi
c18a0 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 74 68 69 73 s->repository.=.$match[2];.$this
c18c0 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 3b 0a 24 ->originUrl.=.'bitbucket.org';.$
c18e0 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 0a 24 74 68 69 73 2d 3e this->cache.=.new.Cache(.$this->
c1900 69 6f 2c 0a 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 63 io,.implode('/',.array(.$this->c
c1920 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2c 0a 24 74 onfig->get('cache-repo-dir'),.$t
c1940 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 his->originUrl,.$this->owner,.$t
c1960 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 29 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 his->repository,.)).);.}.....pub
c1980 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 lic.function.getUrl().{.if.($thi
c19a0 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 s->fallbackDriver).{.return.$thi
c19c0 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a s->fallbackDriver->getUrl();.}..
c19e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 3b 0a 7d 0a 0a return.$this->cloneHttpsUrl;.}..
c1a00 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f ......protected.function.getRepo
c1a20 44 61 74 61 28 29 0a 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 Data().{.$resource.=.sprintf(.'h
c1a40 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 ttps://api.bitbucket.org/2.0/rep
c1a60 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 ositories/%s/%s?%s',.$this->owne
c1a80 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 68 74 74 70 5f 62 75 69 6c 64 r,.$this->repository,.http_build
c1aa0 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 2d 70 72 6f 6a _query(.array('fields'.=>.'-proj
c1ac0 65 63 74 2c 2d 6f 77 6e 65 72 27 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 0a 24 72 ect,-owner'),.null,.'&'.).);..$r
c1ae0 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 epoData.=.JsonFile::parseJson($t
c1b00 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 his->getContentsWithOAuthCredent
c1b20 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 2c 20 74 72 75 65 29 2c 20 24 72 65 73 6f 75 72 63 65 ials($resource,.true),.$resource
c1b40 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a );.if.($this->fallbackDriver).{.
c1b60 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6c 6f 6e return.false;.}.$this->parseClon
c1b80 65 55 72 6c 73 28 24 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 63 6c 6f 6e 65 27 eUrls($repoData['links']['clone'
c1ba0 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 ]);..$this->hasIssues.=.!empty($
c1bc0 72 65 70 6f 44 61 74 61 5b 27 68 61 73 5f 69 73 73 75 65 73 27 5d 29 3b 0a 24 74 68 69 73 2d 3e repoData['has_issues']);.$this->
c1be0 62 72 61 6e 63 68 65 73 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d branchesUrl.=.$repoData['links']
c1c00 5b 27 62 72 61 6e 63 68 65 73 27 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 74 61 67 ['branches']['href'];.$this->tag
c1c20 73 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 74 61 67 73 27 sUrl.=.$repoData['links']['tags'
c1c40 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 68 6f 6d 65 55 72 6c 20 3d 20 24 72 65 70 ]['href'];.$this->homeUrl.=.$rep
c1c60 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 68 74 6d 6c 27 5d 5b 27 68 72 65 66 27 5d 3b 0a oData['links']['html']['href'];.
c1c80 24 74 68 69 73 2d 3e 77 65 62 73 69 74 65 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 77 65 62 73 $this->website.=.$repoData['webs
c1ca0 69 74 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 20 24 72 65 70 6f 44 61 74 ite'];.$this->vcsType.=.$repoDat
c1cc0 61 5b 27 73 63 6d 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 a['scm'];..return.true;.}.....pu
c1ce0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 blic.function.getComposerInforma
c1d00 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 tion($identifier).{.if.($this->f
c1d20 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 allbackDriver).{.return.$this->f
c1d40 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d allbackDriver->getComposerInform
c1d60 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 ation($identifier);.}..if.(!isse
c1d80 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 t($this->infoCache[$identifier])
c1da0 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e ).{.if.($this->shouldCache($iden
c1dc0 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e tifier).&&.$res.=.$this->cache->
c1de0 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 read($identifier)).{.return.$thi
c1e00 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e s->infoCache[$identifier].=.Json
c1e20 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f File::parseJson($res);.}..$compo
c1e40 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f ser.=.$this->getBaseComposerInfo
c1e60 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 rmation($identifier);..if.($comp
c1e80 6f 73 65 72 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 oser).{...if.(!isset($composer['
c1ea0 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d support']['source'])).{.$label.=
c1ec0 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 0a 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 74 68 69 .array_search(.$identifier,.$thi
c1ee0 73 2d 3e 67 65 74 54 61 67 73 28 29 0a 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 0a s->getTags().).?:.array_search(.
c1f00 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 $identifier,.$this->getBranches(
c1f20 29 0a 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b ).).?:.$identifier;..if.(array_k
c1f40 65 79 5f 65 78 69 73 74 73 28 24 6c 61 62 65 6c 2c 20 24 74 61 67 73 20 3d 20 24 74 68 69 73 2d ey_exists($label,.$tags.=.$this-
c1f60 3e 67 65 74 54 61 67 73 28 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 74 61 67 73 5b 24 6c 61 >getTags())).{.$hash.=.$tags[$la
c1f80 62 65 6c 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 bel];.}.elseif.(array_key_exists
c1fa0 28 24 6c 61 62 65 6c 2c 20 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 ($label,.$branches.=.$this->getB
c1fc0 72 61 6e 63 68 65 73 28 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 62 72 61 6e 63 68 65 73 5b ranches())).{.$hash.=.$branches[
c1fe0 24 6c 61 62 65 6c 5d 3b 0a 7d 0a 0a 69 66 20 28 21 20 69 73 73 65 74 28 24 68 61 73 68 29 29 20 $label];.}..if.(!.isset($hash)).
c2000 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d {.$composer['support']['source']
c2020 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 .=.sprintf(.'https://%s/%s/%s/sr
c2040 63 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e c',.$this->originUrl,.$this->own
c2060 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 7d 20 65 6c 73 65 20 er,.$this->repository.);.}.else.
c2080 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d {.$composer['support']['source']
c20a0 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 .=.sprintf(.'https://%s/%s/%s/sr
c20c0 63 2f 25 73 2f 3f 61 74 3d 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a c/%s/?at=%s',.$this->originUrl,.
c20e0 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c $this->owner,.$this->repository,
c2100 0a 24 68 61 73 68 2c 0a 24 6c 61 62 65 6c 0a 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 .$hash,.$label.);.}.}.if.(!isset
c2120 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 29 ($composer['support']['issues'])
c2140 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 .&&.$this->hasIssues).{.$compose
c2160 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e 74 66 r['support']['issues'].=.sprintf
c2180 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 0a 24 74 68 (.'https://%s/%s/%s/issues',.$th
c21a0 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 is->originUrl,.$this->owner,.$th
c21c0 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 is->repository.);.}.if.(!isset($
c21e0 63 6f 6d 70 6f 73 65 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 composer['homepage'])).{.$compos
c2200 65 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 20 3d 20 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 77 65 er['homepage'].=.empty($this->we
c2220 62 73 69 74 65 29 20 3f 20 24 74 68 69 73 2d 3e 68 6f 6d 65 55 72 6c 20 3a 20 24 74 68 69 73 2d bsite).?.$this->homeUrl.:.$this-
c2240 3e 77 65 62 73 69 74 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b >website;.}.}..$this->infoCache[
c2260 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 69 66 20 28 24 $identifier].=.$composer;..if.($
c2280 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 this->shouldCache($identifier)).
c22a0 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 {.$this->cache->write($identifie
c22c0 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 7d 0a r,.json_encode($composer));.}.}.
c22e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 .return.$this->infoCache[$identi
c2300 66 69 65 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 fier];.}.....public.function.get
c2320 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a FileContent($file,.$identifier).
c2340 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 {.if.($this->fallbackDriver).{.r
c2360 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 eturn.$this->fallbackDriver->get
c2380 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b FileContent($file,.$identifier);
c23a0 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 29 .}..if.(strpos($identifier,.'/')
c23c0 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d .!==.false).{.$branches.=.$this-
c23e0 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 >getBranches();.if.(isset($branc
c2400 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 hes[$identifier])).{.$identifier
c2420 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 7d 0a 0a .=.$branches[$identifier];.}.}..
c2440 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 $resource.=.sprintf(.'https://ap
c2460 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 i.bitbucket.org/2.0/repositories
c2480 2f 25 73 2f 25 73 2f 73 72 63 2f 25 73 2f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c /%s/%s/src/%s/%s',.$this->owner,
c24a0 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 2c .$this->repository,.$identifier,
c24c0 0a 24 66 69 6c 65 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 .$file.);..return.$this->getCont
c24e0 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 entsWithOAuthCredentials($resour
c2500 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 ce);.}.....public.function.getCh
c2520 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 angeDate($identifier).{.if.($thi
c2540 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 s->fallbackDriver).{.return.$thi
c2560 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 s->fallbackDriver->getChangeDate
c2580 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 ($identifier);.}..$resource.=.sp
c25a0 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 rintf(.'https://api.bitbucket.or
c25c0 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 2f 63 6f 6d 6d 69 74 2f g/2.0/repositories/%s/%s/commit/
c25e0 25 73 3f 66 69 65 6c 64 73 3d 64 61 74 65 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 %s?fields=date',.$this->owner,.$
c2600 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 0a 29 3b this->repository,.$identifier.);
c2620 0a 24 63 6f 6d 6d 69 74 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 .$commit.=.JsonFile::parseJson($
c2640 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e this->getContentsWithOAuthCreden
c2660 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 72 tials($resource),.$resource);..r
c2680 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 74 5b 27 64 61 74 eturn.new.\DateTime($commit['dat
c26a0 65 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 e']);.}.....public.function.getS
c26c0 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e ource($identifier).{.if.($this->
c26e0 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e fallbackDriver).{.return.$this->
c2700 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 fallbackDriver->getSource($ident
c2720 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d ifier);.}..return.array('type'.=
c2740 3e 20 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 >.$this->vcsType,.'url'.=>.$this
c2760 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e ->getUrl(),.'reference'.=>.$iden
c2780 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tifier);.}.....public.function.g
c27a0 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d etDist($identifier).{.if.($this-
c27c0 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d >fallbackDriver).{.return.$this-
c27e0 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 >fallbackDriver->getDist($identi
c2800 66 69 65 72 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 fier);.}..$url.=.sprintf(.'https
c2820 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 25 73 2f 25 73 2f 67 65 74 2f 25 73 2e 7a 69 ://bitbucket.org/%s/%s/get/%s.zi
c2840 70 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 p',.$this->owner,.$this->reposit
c2860 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 ory,.$identifier.);..return.arra
c2880 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c y('type'.=>.'zip',.'url'.=>.$url
c28a0 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 ,.'reference'.=>.$identifier,.'s
c28c0 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 hasum'.=>.'');.}.....public.func
c28e0 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c tion.getTags().{.if.($this->fall
c2900 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c backDriver).{.return.$this->fall
c2920 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 backDriver->getTags();.}..if.(nu
c2940 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 ll.===.$this->tags).{.$this->tag
c2960 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 s.=.array();.$resource.=.sprintf
c2980 28 0a 27 25 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 74 61 67 73 55 72 6c 2c 0a 68 74 74 70 5f (.'%s?%s',.$this->tagsUrl,.http_
c29a0 62 75 69 6c 64 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d 3e build_query(.array(.'pagelen'.=>
c29c0 20 31 30 30 2c 0a 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c 76 .100,.'fields'.=>.'values.name,v
c29e0 61 6c 75 65 73 2e 74 61 72 67 65 74 2e 68 61 73 68 2c 6e 65 78 74 27 2c 0a 27 73 6f 72 74 27 20 alues.target.hash,next',.'sort'.
c2a00 3d 3e 20 27 2d 74 61 72 67 65 74 2e 64 61 74 65 27 2c 0a 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a =>.'-target.date',.),.null,.'&'.
c2a20 29 0a 29 3b 0a 24 68 61 73 4e 65 78 74 20 3d 20 74 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 68 61 ).);.$hasNext.=.true;.while.($ha
c2a40 73 4e 65 78 74 29 20 7b 0a 24 74 61 67 73 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 sNext).{.$tagsData.=.JsonFile::p
c2a60 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f arseJson($this->getContentsWithO
c2a80 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 AuthCredentials($resource),.$res
c2aa0 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 5b 27 76 61 6c 75 ource);.foreach.($tagsData['valu
c2ac0 65 73 27 5d 20 61 73 20 24 64 61 74 61 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 64 61 es'].as.$data).{.$this->tags[$da
c2ae0 74 61 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 64 61 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 68 ta['name']].=.$data['target']['h
c2b00 61 73 68 27 5d 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 61 67 73 44 61 74 61 5b 27 6e 65 ash'];.}.if.(empty($tagsData['ne
c2b20 78 74 27 5d 29 29 20 7b 0a 24 68 61 73 4e 65 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 xt'])).{.$hasNext.=.false;.}.els
c2b40 65 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 61 67 73 44 61 74 61 5b 27 6e 65 78 74 27 e.{.$resource.=.$tagsData['next'
c2b60 5d 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 68 ];.}.}.if.($this->vcsType.===.'h
c2b80 67 27 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 74 61 67 73 5b 27 74 69 70 27 5d 29 3b g').{.unset($this->tags['tip']);
c2ba0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a .}.}..return.$this->tags;.}.....
c2bc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a public.function.getBranches().{.
c2be0 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 if.($this->fallbackDriver).{.ret
c2c00 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 42 72 urn.$this->fallbackDriver->getBr
c2c20 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d anches();.}..if.(null.===.$this-
c2c40 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 >branches).{.$this->branches.=.a
c2c60 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 rray();.$resource.=.sprintf(.'%s
c2c80 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 55 72 6c 2c 0a 68 74 74 70 5f 62 ?%s',.$this->branchesUrl,.http_b
c2ca0 75 69 6c 64 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d 3e 20 uild_query(.array(.'pagelen'.=>.
c2cc0 31 30 30 2c 0a 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c 76 61 100,.'fields'.=>.'values.name,va
c2ce0 6c 75 65 73 2e 74 61 72 67 65 74 2e 68 61 73 68 2c 76 61 6c 75 65 73 2e 68 65 61 64 73 2c 6e 65 lues.target.hash,values.heads,ne
c2d00 78 74 27 2c 0a 27 73 6f 72 74 27 20 3d 3e 20 27 2d 74 61 72 67 65 74 2e 64 61 74 65 27 2c 0a 29 xt',.'sort'.=>.'-target.date',.)
c2d20 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 24 68 61 73 4e 65 78 74 20 3d 20 74 72 75 65 ,.null,.'&'.).);.$hasNext.=.true
c2d40 3b 0a 77 68 69 6c 65 20 28 24 68 61 73 4e 65 78 74 29 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 61 ;.while.($hasNext).{.$branchData
c2d60 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 .=.JsonFile::parseJson($this->ge
c2d80 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 tContentsWithOAuthCredentials($r
c2da0 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 esource),.$resource);.foreach.($
c2dc0 62 72 61 6e 63 68 44 61 74 61 5b 27 76 61 6c 75 65 73 27 5d 20 61 73 20 24 64 61 74 61 29 20 7b branchData['values'].as.$data).{
c2de0 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 68 67 27 20 26 ...if.($this->vcsType.===.'hg'.&
c2e00 26 20 65 6d 70 74 79 28 24 64 61 74 61 5b 27 68 65 61 64 73 27 5d 29 29 20 7b 0a 63 6f 6e 74 69 &.empty($data['heads'])).{.conti
c2e20 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 64 61 74 61 5b 27 6e nue;.}..$this->branches[$data['n
c2e40 61 6d 65 27 5d 5d 20 3d 20 24 64 61 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 68 61 73 68 27 5d ame']].=.$data['target']['hash']
c2e60 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 27 ;.}.if.(empty($branchData['next'
c2e80 5d 29 29 20 7b 0a 24 68 61 73 4e 65 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b ])).{.$hasNext.=.false;.}.else.{
c2ea0 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 27 5d .$resource.=.$branchData['next']
c2ec0 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b ;.}.}.}..return.$this->branches;
c2ee0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 .}..........protected.function.g
c2f00 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 etContentsWithOAuthCredentials($
c2f20 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 0a url,.$fetchingRepoData.=.false).
c2f40 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e {.try.{.return.parent::getConten
c2f60 74 73 28 24 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 ts($url);.}.catch.(TransportExce
c2f80 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 ption.$e).{.$bitbucketUtil.=.new
c2fa0 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e .Bitbucket($this->io,.$this->con
c2fc0 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f fig,.$this->process,.$this->remo
c2fe0 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 69 66 20 28 34 30 33 20 3d 3d 3d 20 24 65 2d 3e teFilesystem);..if.(403.===.$e->
c3000 67 65 74 43 6f 64 65 28 29 20 7c 7c 20 28 34 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 getCode().||.(401.===.$e->getCod
c3020 65 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 e().&&.strpos($e->getMessage(),.
c3040 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 27 'Could.not.authenticate.against'
c3060 29 20 3d 3d 3d 20 30 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 ).===.0)).{.if.(!$this->io->hasA
c3080 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a uthentication($this->originUrl).
c30a0 26 26 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 &&.$bitbucketUtil->authorizeOAut
c30c0 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 70 h($this->originUrl).).{.return.p
c30e0 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 arent::getContents($url);.}..if.
c3100 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 (!$this->io->isInteractive().&&.
c3120 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 $fetchingRepoData).{.return.$thi
c3140 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 7d 0a 0a s->attemptCloneFallback();.}.}..
c3160 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f throw.$e;.}.}.......abstract.pro
c3180 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 tected.function.generateSshUrl()
c31a0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f ;..protected.function.attemptClo
c31c0 6e 65 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 75 neFallback().{.try.{.$this->setu
c31e0 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 pFallbackDriver($this->generateS
c3200 73 68 55 72 6c 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 shUrl());.}.catch.(\RuntimeExcep
c3220 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 tion.$e).{.$this->fallbackDriver
c3240 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 .=.null;..$this->io->writeError(
c3260 0a 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 20 2e .'<error>Failed.to.clone.the.'..
c3280 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 20 2e 20 27 20 72 65 70 .$this->generateSshUrl()...'.rep
c32a0 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 ository,.try.running.in.interact
c32c0 69 76 65 20 6d 6f 64 65 27 0a 2e 20 27 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e ive.mode'...'.so.that.you.can.en
c32e0 74 65 72 20 79 6f 75 72 20 42 69 74 62 75 63 6b 65 74 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 ter.your.Bitbucket.OAuth.consume
c3300 72 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 0a 29 3b 0a 74 68 72 6f 77 20 r.credentials</error>'.);.throw.
c3320 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 $e;.}.}......abstract.protected.
c3340 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 72 function.setupFallbackDriver($ur
c3360 6c 29 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 l);......protected.function.pars
c3380 65 43 6c 6f 6e 65 55 72 6c 73 28 61 72 72 61 79 20 24 63 6c 6f 6e 65 4c 69 6e 6b 73 29 0a 7b 0a eCloneUrls(array.$cloneLinks).{.
c33a0 66 6f 72 65 61 63 68 20 28 24 63 6c 6f 6e 65 4c 69 6e 6b 73 20 61 73 20 24 63 6c 6f 6e 65 4c 69 foreach.($cloneLinks.as.$cloneLi
c33c0 6e 6b 29 20 7b 0a 69 66 20 28 24 63 6c 6f 6e 65 4c 69 6e 6b 5b 27 6e 61 6d 65 27 5d 20 3d 3d 3d nk).{.if.($cloneLink['name'].===
c33e0 20 27 68 74 74 70 73 27 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 .'https').{.....$this->cloneHttp
c3400 73 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 68 74 74 70 73 3a 5c 2f 5c 2f sUrl.=.preg_replace('/https:\/\/
c3420 28 5b 5e 40 5d 2b 40 29 3f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 63 6c 6f 6e 65 4c ([^@]+@)?/',.'https://',.$cloneL
c3440 69 6e 6b 5b 27 68 72 65 66 27 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ink['href']);.}.}.}.....protecte
c3460 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 0a 7b d.function.getMainBranchData().{
c3480 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 .$resource.=.sprintf(.'https://a
c34a0 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 pi.bitbucket.org/2.0/repositorie
c34c0 73 2f 25 73 2f 25 73 3f 66 69 65 6c 64 73 3d 6d 61 69 6e 62 72 61 6e 63 68 27 2c 0a 24 74 68 69 s/%s/%s?fields=mainbranch',.$thi
c34e0 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 0a s->owner,.$this->repository.);..
c3500 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 $data.=.JsonFile::parseJson($thi
c3520 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 s->getContentsWithOAuthCredentia
c3540 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 69 ls($resource),.$resource);.if.(i
c3560 73 73 65 74 28 24 64 61 74 61 5b 27 6d 61 69 6e 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 72 65 74 sset($data['mainbranch'])).{.ret
c3580 75 72 6e 20 24 64 61 74 61 5b 27 6d 61 69 6e 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 72 65 74 75 urn.$data['mainbranch'];.}..retu
c35a0 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 rn.null;.}.}.<?php............na
c35c0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b mespace.Composer\Repository\Vcs;
c35e0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f ..use.Composer\Config;.use.Compo
c3600 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f ser\Util\ProcessExecutor;.use.Co
c3620 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 mposer\Util\Filesystem;.use.Comp
c3640 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 oser\IO\IOInterface;.....class.F
c3660 6f 73 73 69 6c 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a ossilDriver.extends.VcsDriver.{.
c3680 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e protected.$tags;.protected.$bran
c36a0 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b ches;.protected.$rootIdentifier;
c36c0 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 46 69 6c 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 .protected.$repoFile;.protected.
c36e0 24 63 68 65 63 6b 6f 75 74 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 $checkoutDir;.protected.$infoCac
c3700 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f he.=.array();.....public.functio
c3720 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 n.initialize().{...$this->checkF
c3740 6f 73 73 69 6c 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 ossil();....$this->config->prohi
c3760 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 bitUrlByConfig($this->url,.$this
c3780 2d 3e 69 6f 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f ->io);......if.(Filesystem::isLo
c37a0 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 20 26 26 20 69 73 5f 64 69 72 28 24 74 calPath($this->url).&&.is_dir($t
c37c0 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 20 his->url)).{.$this->checkoutDir.
c37e0 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 6f 63 61 6c 4e 61 6d =.$this->url;.}.else.{.$localNam
c3800 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5d 7d 69 27 2c e.=.preg_replace('{[^a-z0-9]}i',
c3820 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 .'-',.$this->url);.$this->repoFi
c3840 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 le.=.$this->config->get('cache-r
c3860 65 70 6f 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 6c 6f 63 61 6c 4e 61 6d 65 20 2e 20 27 epo-dir')...'/'...$localName...'
c3880 2e 66 6f 73 73 69 6c 27 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 20 3d 20 24 .fossil';.$this->checkoutDir.=.$
c38a0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 this->config->get('cache-vcs-dir
c38c0 27 29 20 2e 20 27 2f 27 20 2e 20 24 6c 6f 63 61 6c 4e 61 6d 65 20 2e 20 27 2f 27 3b 0a 0a 24 74 ')...'/'...$localName...'/';..$t
c38e0 68 69 73 2d 3e 75 70 64 61 74 65 4c 6f 63 61 6c 52 65 70 6f 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 his->updateLocalRepo();.}..$this
c3900 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 ->getTags();.$this->getBranches(
c3920 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 );.}.....protected.function.chec
c3940 6b 46 6f 73 73 69 6c 28 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f kFossil().{.if.(0.!==.$this->pro
c3960 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 76 65 72 73 69 6f 6e 27 2c 20 cess->execute('fossil.version',.
c3980 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 $ignoredOutput)).{.throw.new.\Ru
c39a0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 66 6f 73 73 69 6c 20 77 61 73 20 6e 6f 74 20 66 ntimeException("fossil.was.not.f
c39c0 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 ound,.check.that.it.is.installed
c39e0 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 5c 6e 5c 6e 22 20 2e 20 24 74 .and.in.your.PATH.env.\n\n"...$t
c3a00 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b his->process->getErrorOutput());
c3a20 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 .}.}.....protected.function.upda
c3a40 74 65 4c 6f 63 61 6c 52 65 70 6f 28 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 teLocalRepo().{.$fs.=.new.Filesy
c3a60 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 stem();.$fs->ensureDirectoryExis
c3a80 74 73 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 66 20 28 21 69 73 ts($this->checkoutDir);..if.(!is
c3aa0 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 _writable(dirname($this->checkou
c3ac0 74 44 69 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 tDir))).{.throw.new.\RuntimeExce
c3ae0 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 ption('Can.not.clone.'.$this->ur
c3b00 6c 2e 27 20 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f l.'.to.access.package.informatio
c3b20 6e 2e 20 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 2e 27 22 20 n..The."'.$this->checkoutDir.'".
c3b40 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 directory.is.not.writable.by.the
c3b60 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 66 69 .current.user.');.}....if.(is_fi
c3b80 6c 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 20 26 26 20 69 73 5f 64 69 72 28 24 74 le($this->repoFile).&&.is_dir($t
c3ba0 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 his->checkoutDir).&&.0.===.$this
c3bc0 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 69 6e 66 6f 27 ->process->execute('fossil.info'
c3be0 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 ,.$output,.$this->checkoutDir)).
c3c00 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 {.if.(0.!==.$this->process->exec
c3c20 75 74 65 28 27 66 6f 73 73 69 6c 20 70 75 6c 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 ute('fossil.pull',.$output,.$thi
c3c40 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 s->checkoutDir)).{.$this->io->wr
c3c60 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 iteError('<error>Failed.to.updat
c3c80 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d e.'.$this->url.',.package.inform
c3ca0 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 79 20 62 ation.from.this.repository.may.b
c3cc0 65 20 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 e.outdated.('.$this->process->ge
c3ce0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d tErrorOutput().')</error>');.}.}
c3d00 20 65 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 .else.{...$fs->removeDirectory($
c3d20 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 28 this->checkoutDir);.$fs->remove(
c3d40 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 3b 0a 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 $this->repoFile);..$fs->ensureDi
c3d60 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 rectoryExists($this->checkoutDir
c3d80 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 );..if.(0.!==.$this->process->ex
c3da0 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20 25 73 20 25 ecute(sprintf('fossil.clone.%s.%
c3dc0 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 s',.ProcessExecutor::escape($thi
c3de0 73 2d 3e 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 s->url),.ProcessExecutor::escape
c3e00 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a ($this->repoFile)),.$output)).{.
c3e20 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 $output.=.$this->process->getErr
c3e40 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 orOutput();..throw.new.\RuntimeE
c3e60 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 xception('Failed.to.clone.'.$thi
c3e80 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 72 65 70 6f 73 69 74 6f 72 79 20 27 20 2e 20 24 74 68 69 73 s->url.'.to.repository.'...$this
c3ea0 2d 3e 72 65 70 6f 46 69 6c 65 20 2e 20 22 5c 6e 5c 6e 22 20 2e 24 6f 75 74 70 75 74 29 3b 0a 7d ->repoFile..."\n\n"..$output);.}
c3ec0 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ..if.(0.!==.$this->process->exec
c3ee0 75 74 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 6f 70 65 6e 20 25 73 20 2d 2d 6e 65 ute(sprintf('fossil.open.%s.--ne
c3f00 73 74 65 64 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 sted',.ProcessExecutor::escape($
c3f20 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 this->repoFile)),.$output,.$this
c3f40 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 ->checkoutDir)).{.$output.=.$thi
c3f60 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 s->process->getErrorOutput();..t
c3f80 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c hrow.new.\RuntimeException('Fail
c3fa0 65 64 20 74 6f 20 6f 70 65 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 72 ed.to.open.repository.'.$this->r
c3fc0 65 70 6f 46 69 6c 65 2e 27 20 69 6e 20 27 20 2e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 epoFile.'.in.'...$this->checkout
c3fe0 44 69 72 20 2e 20 22 5c 6e 5c 6e 22 20 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a Dir..."\n\n"..$output);.}.}.}...
c4000 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 ..public.function.getRootIdentif
c4020 69 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 ier().{.if.(null.===.$this->root
c4040 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 Identifier).{.$this->rootIdentif
c4060 69 65 72 20 3d 20 27 74 72 75 6e 6b 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ier.=.'trunk';.}..return.$this->
c4080 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rootIdentifier;.}.....public.fun
c40a0 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 ction.getUrl().{.return.$this->u
c40c0 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 rl;.}.....public.function.getSou
c40e0 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 rce($identifier).{.return.array(
c4100 27 74 79 70 65 27 20 3d 3e 20 27 66 6f 73 73 69 6c 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 'type'.=>.'fossil',.'url'.=>.$th
c4120 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 is->getUrl(),.'reference'.=>.$id
c4140 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e entifier);.}.....public.function
c4160 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e .getDist($identifier).{.return.n
c4180 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 ull;.}.....public.function.getFi
c41a0 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a leContent($file,.$identifier).{.
c41c0 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 63 61 74 20 2d $command.=.sprintf('fossil.cat.-
c41e0 72 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 r.%s.%s',.ProcessExecutor::escap
c4200 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a e($identifier),.ProcessExecutor:
c4220 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d :escape($file));.$this->process-
c4240 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 >execute($command,.$content,.$th
c4260 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f is->checkoutDir);..if.(!trim($co
c4280 6e 74 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e ntent)).{.return.null;.}..return
c42a0 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$content;.}.....public.function
c42c0 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 .getChangeDate($identifier).{.$t
c42e0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 66 69 his->process->execute('fossil.fi
c4300 6e 66 6f 20 2d 62 20 2d 6e 20 31 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 6f 75 74 nfo.-b.-n.1.composer.json',.$out
c4320 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 6c 69 73 74 28 24 put,.$this->checkoutDir);.list($
c4340 63 6b 6f 75 74 2c 20 24 64 61 74 65 2c 20 24 6d 65 73 73 61 67 65 29 20 3d 20 65 78 70 6c 6f 64 ckout,.$date,.$message).=.explod
c4360 65 28 27 20 27 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 33 29 3b 0a 0a 72 65 74 75 72 e('.',.trim($output),.3);..retur
c4380 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 64 61 74 65 2c 20 6e 65 77 20 5c 44 61 74 65 n.new.\DateTime($date,.new.\Date
c43a0 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 TimeZone('UTC'));.}.....public.f
c43c0 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d unction.getTags().{.if.(null.===
c43e0 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b .$this->tags).{.$tags.=.array();
c4400 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 ..$this->process->execute('fossi
c4420 6c 20 74 61 67 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 l.tag.list',.$output,.$this->che
c4440 63 6b 6f 75 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 ckoutDir);.foreach.($this->proce
c4460 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 74 61 67 29 ss->splitLines($output).as.$tag)
c4480 20 7b 0a 24 74 61 67 73 5b 24 74 61 67 5d 20 3d 20 24 74 61 67 3b 0a 7d 0a 0a 24 74 68 69 73 2d .{.$tags[$tag].=.$tag;.}..$this-
c44a0 3e 74 61 67 73 20 3d 20 24 74 61 67 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e >tags.=.$tags;.}..return.$this->
c44c0 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 tags;.}.....public.function.getB
c44e0 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e ranches().{.if.(null.===.$this->
c4500 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b branches).{.$branches.=.array();
c4520 0a 24 62 6f 6f 6b 6d 61 72 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 .$bookmarks.=.array();..$this->p
c4540 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 62 72 61 6e 63 68 20 6c rocess->execute('fossil.branch.l
c4560 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 ist',.$output,.$this->checkoutDi
c4580 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c r);.foreach.($this->process->spl
c45a0 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 24 itLines($output).as.$branch).{.$
c45c0 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 2a branch.=.trim(preg_replace('/^\*
c45e0 2f 27 2c 20 27 27 2c 20 74 72 69 6d 28 24 62 72 61 6e 63 68 29 29 29 3b 0a 24 62 72 61 6e 63 68 /',.'',.trim($branch)));.$branch
c4600 65 73 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 24 74 68 69 73 2d es[$branch].=.$branch;.}..$this-
c4620 3e 62 72 61 6e 63 68 65 73 20 3d 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e >branches.=.$branches;.}..return
c4640 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 .$this->branches;.}.....public.s
c4660 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 tatic.function.supports(IOInterf
c4680 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 ace.$io,.Config.$config,.$url,.$
c46a0 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 deep.=.false).{.if.(preg_match('
c46c0 23 28 5e 28 3f 3a 68 74 74 70 73 3f 7c 73 73 68 29 3a 2f 2f 28 3f 3a 5b 5e 40 5d 40 29 3f 28 3f #(^(?:https?|ssh)://(?:[^@]@)?(?
c46e0 3a 63 68 69 73 65 6c 61 70 70 5c 2e 63 6f 6d 7c 66 6f 73 73 69 6c 5c 2e 29 29 23 69 27 2c 20 24 :chiselapp\.com|fossil\.))#i',.$
c4700 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 url)).{.return.true;.}..if.(preg
c4720 5f 6d 61 74 63 68 28 27 21 2f 66 6f 73 73 69 6c 2f 7c 5c 2e 66 6f 73 73 69 6c 21 27 2c 20 24 75 _match('!/fossil/|\.fossil!',.$u
c4740 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c rl)).{.return.true;.}....if.(Fil
c4760 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 esystem::isLocalPath($url)).{.$u
c4780 72 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 rl.=.Filesystem::getPlatformPath
c47a0 28 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 ($url);.if.(!is_dir($url)).{.ret
c47c0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f urn.false;.}..$process.=.new.Pro
c47e0 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 cessExecutor($io);...if.($proces
c4800 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 69 6e 66 6f 27 2c 20 24 6f 75 74 70 75 s->execute('fossil.info',.$outpu
c4820 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d t,.$url).===.0).{.return.true;.}
c4840 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .}..return.false;.}.}.<?php.....
c4860 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 .......namespace.Composer\Reposi
c4880 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a tory\Vcs;..use.Composer\Config;.
c48a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a use.Composer\IO\IOInterface;....
c48c0 0a 63 6c 61 73 73 20 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 .class.GitBitbucketDriver.extend
c48e0 73 20 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 s.BitbucketDriver.{....public.fu
c4900 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 nction.getRootIdentifier().{.if.
c4920 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e ($this->fallbackDriver).{.return
c4940 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 .$this->fallbackDriver->getRootI
c4960 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 dentifier();.}..if.(null.===.$th
c4980 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 69 66 20 28 21 20 24 74 68 69 is->rootIdentifier).{.if.(!.$thi
c49a0 73 2d 3e 67 65 74 52 65 70 6f 44 61 74 61 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 s->getRepoData()).{.return.$this
c49c0 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 ->fallbackDriver->getRootIdentif
c49e0 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 21 3d 3d ier();.}..if.($this->vcsType.!==
c4a00 20 27 67 69 74 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 .'git').{.throw.new.\RuntimeExce
c4a20 70 74 69 6f 6e 28 0a 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 ption(.$this->url.'.does.not.app
c4a40 65 61 72 20 74 6f 20 62 65 20 61 20 67 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 20 ear.to.be.a.git.repository,.use.
c4a60 27 2e 0a 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 2e 27 20 69 66 20 74 68 69 '..$this->cloneHttpsUrl.'.if.thi
c4a80 73 20 69 73 20 61 20 6d 65 72 63 75 72 69 61 6c 20 62 69 74 62 75 63 6b 65 74 20 72 65 70 6f 73 s.is.a.mercurial.bitbucket.repos
c4aa0 69 74 6f 72 79 27 0a 29 3b 0a 7d 0a 0a 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 20 3d 20 24 itory'.);.}..$mainBranchData.=.$
c4ac0 74 68 69 73 2d 3e 67 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 3b 0a 24 74 68 69 73 this->getMainBranchData();.$this
c4ae0 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 42 ->rootIdentifier.=.!empty($mainB
c4b00 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 6d 61 69 6e 42 72 61 6e 63 68 ranchData['name']).?.$mainBranch
c4b20 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 27 6d 61 73 74 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 Data['name'].:.'master';.}..retu
c4b40 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a rn.$this->rootIdentifier;.}.....
c4b60 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 public.static.function.supports(
c4b80 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c IOInterface.$io,.Config.$config,
c4ba0 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 .$url,.$deep.=.false).{.if.(!pre
c4bc0 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f g_match('#^https?://bitbucket\.o
c4be0 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 5c 2e 67 69 74 24 23 27 2c 20 24 75 72 6c 29 29 rg/([^/]+)/(.+?)\.git$#',.$url))
c4c00 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 .{.return.false;.}..if.(!extensi
c4c20 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 on_loaded('openssl')).{.$io->wri
c4c40 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 67 69 74 20 teError('Skipping.Bitbucket.git.
c4c60 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 driver.for.'.$url.'.because.the.
c4c80 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 OpenSSL.PHP.extension.is.missing
c4ca0 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b .',.true,.IOInterface::VERBOSE);
c4cc0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ..return.false;.}..return.true;.
c4ce0 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 }.....protected.function.setupFa
c4d00 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c llbackDriver($url).{.$this->fall
c4d20 62 61 63 6b 44 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 backDriver.=.new.GitDriver(.arra
c4d40 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 y('url'.=>.$url),.$this->io,.$th
c4d60 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 is->config,.$this->process,.$thi
c4d80 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 66 61 s->remoteFilesystem.);.$this->fa
c4da0 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a llbackDriver->initialize();.}...
c4dc0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 ..protected.function.generateSsh
c4de0 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f Url().{.return.'git@'...$this->o
c4e00 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 20 2e 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f riginUrl...':'...$this->owner.'/
c4e20 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 7d 0a '.$this->repository.'.git';.}.}.
c4e40 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
c4e60 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ser\Repository\Vcs;..use.Compose
c4e80 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 r\Util\ProcessExecutor;.use.Comp
c4ea0 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Util\Filesystem;.use.Compos
c4ec0 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 er\Util\Git.as.GitUtil;.use.Comp
c4ee0 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 oser\IO\IOInterface;.use.Compose
c4f00 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a r\Cache;.use.Composer\Config;...
c4f20 0a 0a 63 6c 61 73 73 20 47 69 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 ..class.GitDriver.extends.VcsDri
c4f40 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 ver.{.protected.$cache;.protecte
c4f60 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 d.$tags;.protected.$branches;.pr
c4f80 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 otected.$rootIdentifier;.protect
c4fa0 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 ed.$repoDir;.protected.$infoCach
c4fc0 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e e.=.array();.....public.function
c4fe0 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a .initialize().{.if.(Filesystem::
c5000 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 isLocalPath($this->url)).{.$this
c5020 2d 3e 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5c 5c 2f 5d 5c 2e 67 69 ->url.=.preg_replace('{[\\/]\.gi
c5040 74 2f 3f 24 7d 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e t/?$}',.'',.$this->url);.$this->
c5060 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 24 63 61 63 68 65 55 72 6c 20 repoDir.=.$this->url;.$cacheUrl.
c5080 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b =.realpath($this->url);.}.else.{
c50a0 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d .$this->repoDir.=.$this->config-
c50c0 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 70 72 >get('cache-vcs-dir')...'/'...pr
c50e0 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c eg_replace('{[^a-z0-9.]}i',.'-',
c5100 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 2f 27 3b 0a 0a 47 69 74 55 74 69 6c 3a 3a 63 6c .$this->url)...'/';..GitUtil::cl
c5120 65 61 6e 45 6e 76 28 29 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 eanEnv();..$fs.=.new.Filesystem(
c5140 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 );.$fs->ensureDirectoryExists(di
c5160 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 3b 0a 0a 69 66 20 28 21 69 73 rname($this->repoDir));..if.(!is
c5180 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 _writable(dirname($this->repoDir
c51a0 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ))).{.throw.new.\RuntimeExceptio
c51c0 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 n('Can.not.clone.'.$this->url.'.
c51e0 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 to.access.package.information..T
c5200 68 65 20 22 27 2e 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 2e 27 22 he."'.dirname($this->repoDir).'"
c5220 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 .directory.is.not.writable.by.th
c5240 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d e.current.user.');.}..if.(preg_m
c5260 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b 5e 40 5d 2b 40 5b 5e 3a 5d 2b 3a 5b 5e 30 2d 39 5d atch('{^ssh://[^@]+@[^:]+:[^0-9]
c5280 2b 7d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 +}',.$this->url)).{.throw.new.\I
c52a0 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 73 6f 75 nvalidArgumentException('The.sou
c52c0 72 63 65 20 55 52 4c 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 69 73 20 69 6e 76 61 6c 69 rce.URL.'.$this->url.'.is.invali
c52e0 64 2c 20 73 73 68 20 55 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 70 6f 72 74 20 6e d,.ssh.URLs.should.have.a.port.n
c5300 75 6d 62 65 72 20 61 66 74 65 72 20 22 3a 22 2e 27 2e 22 5c 6e 22 2e 27 55 73 65 20 73 73 68 3a umber.after.":".'."\n".'Use.ssh:
c5320 2f 2f 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 32 32 2f 70 61 74 68 20 6f 72 20 6a 75 73 //git@example.com:22/path.or.jus
c5340 74 20 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 70 61 74 68 20 69 66 20 79 6f 75 20 64 6f t.git@example.com:path.if.you.do
c5360 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 61 73 73 77 6f 72 64 20 .not.want.to.provide.a.password.
c5380 6f 72 20 63 75 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a 24 67 69 74 55 74 69 6c 20 3d or.custom.port.');.}..$gitUtil.=
c53a0 20 6e 65 77 20 47 69 74 55 74 69 6c 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 .new.GitUtil($this->io,.$this->c
c53c0 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 66 73 29 3b 0a 69 66 20 onfig,.$this->process,.$fs);.if.
c53e0 28 21 24 67 69 74 55 74 69 6c 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 24 74 68 69 73 2d 3e 75 72 (!$gitUtil->syncMirror($this->ur
c5400 6c 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d l,.$this->repoDir)).{.$this->io-
c5420 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 >writeError('<error>Failed.to.up
c5440 64 61 74 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 date.'.$this->url.',.package.inf
c5460 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 ormation.from.this.repository.ma
c5480 79 20 62 65 20 6f 75 74 64 61 74 65 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 63 61 63 y.be.outdated</error>');.}..$cac
c54a0 68 65 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 heUrl.=.$this->url;.}..$this->ge
c54c0 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 0a tTags();.$this->getBranches();..
c54e0 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e $this->cache.=.new.Cache($this->
c5500 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 io,.$this->config->get('cache-re
c5520 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d po-dir').'/'.preg_replace('{[^a-
c5540 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 63 61 63 68 65 55 72 6c 29 29 3b 0a 7d 0a 0a z0-9.]}i',.'-',.$cacheUrl));.}..
c5560 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 ...public.function.getRootIdenti
c5580 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f fier().{.if.(null.===.$this->roo
c55a0 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 tIdentifier).{.$this->rootIdenti
c55c0 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 fier.=.'master';....$this->proce
c55e0 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c ss->execute('git.branch.--no-col
c5600 6f 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 or',.$output,.$this->repoDir);.$
c5620 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 branches.=.$this->process->split
c5640 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 2a Lines($output);.if.(!in_array('*
c5660 20 6d 61 73 74 65 72 27 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 .master',.$branches)).{.foreach.
c5680 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 ($branches.as.$branch).{.if.($br
c56a0 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 2a 20 2b 28 5c 53 2b 29 7d anch.&&.preg_match('{^\*.+(\S+)}
c56c0 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f ',.$branch,.$match)).{.$this->ro
c56e0 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 6b 3b otIdentifier.=.$match[1];.break;
c5700 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e .}.}.}.}..return.$this->rootIden
c5720 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 tifier;.}.....public.function.ge
c5740 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a tUrl().{.return.$this->url;.}...
c5760 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 ..public.function.getSource($ide
c5780 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d ntifier).{.return.array('type'.=
c57a0 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 >.'git',.'url'.=>.$this->getUrl(
c57c0 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a ),.'reference'.=>.$identifier);.
c57e0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 }.....public.function.getDist($i
c5800 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a dentifier).{.return.null;.}.....
c5820 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 public.function.getFileContent($
c5840 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d file,.$identifier).{.$resource.=
c5860 20 73 70 72 69 6e 74 66 28 27 25 73 3a 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f .sprintf('%s:%s',.ProcessExecuto
c5880 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 r::escape($identifier),.ProcessE
c58a0 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e xecutor::escape($file));.$this->
c58c0 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 73 68 process->execute(sprintf('git.sh
c58e0 6f 77 20 25 73 27 2c 20 24 72 65 73 6f 75 72 63 65 29 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 ow.%s',.$resource),.$content,.$t
c5900 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 65 his->repoDir);..if.(!trim($conte
c5920 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 nt)).{.return.null;.}..return.$c
c5940 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ontent;.}.....public.function.ge
c5960 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 tChangeDate($identifier).{.$this
c5980 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 0a 27 67 69 74 ->process->execute(sprintf(.'git
c59a0 20 6c 6f 67 20 2d 31 20 2d 2d 66 6f 72 6d 61 74 3d 25 25 61 74 20 25 73 27 2c 0a 50 72 6f 63 65 .log.-1.--format=%%at.%s',.Proce
c59c0 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a ssExecutor::escape($identifier).
c59e0 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 72 65 ),.$output,.$this->repoDir);..re
c5a00 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 74 72 69 6d 28 24 6f 75 74 turn.new.\DateTime('@'.trim($out
c5a20 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b put),.new.\DateTimeZone('UTC'));
c5a40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 .}.....public.function.getTags()
c5a60 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 .{.if.(null.===.$this->tags).{.$
c5a80 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 this->tags.=.array();..$this->pr
c5aa0 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 68 6f 77 2d 72 65 66 20 2d 2d 74 ocess->execute('git.show-ref.--t
c5ac0 61 67 73 20 2d 2d 64 65 72 65 66 65 72 65 6e 63 65 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 ags.--dereference',.$output,.$th
c5ae0 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 75 74 70 75 74 20 3d is->repoDir);.foreach.($output.=
c5b00 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 .$this->process->splitLines($out
c5b20 70 75 74 29 20 61 73 20 24 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 67 20 26 26 20 70 72 65 67 put).as.$tag).{.if.($tag.&&.preg
c5b40 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 29 20 72 65 66 73 2f 74 61 _match('{^([a-f0-9]{40}).refs/ta
c5b60 67 73 2f 28 5c 53 2b 3f 29 28 5c 5e 5c 7b 5c 7d 29 3f 24 7d 27 2c 20 24 74 61 67 2c 20 24 6d 61 gs/(\S+?)(\^\{\})?$}',.$tag,.$ma
c5b80 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 6d 61 74 63 68 5b 32 5d 5d 20 3d tch)).{.$this->tags[$match[2]].=
c5ba0 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .$match[1];.}.}.}..return.$this-
c5bc0 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 >tags;.}.....public.function.get
c5be0 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d Branches().{.if.(null.===.$this-
c5c00 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 >branches).{.$branches.=.array()
c5c20 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 ;..$this->process->execute('git.
c5c40 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d 61 62 62 72 65 76 20 2d 76 branch.--no-color.--no-abbrev.-v
c5c60 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 ',.$output,.$this->repoDir);.for
c5c80 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 each.($this->process->splitLines
c5ca0 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 ($output).as.$branch).{.if.($bra
c5cc0 6e 63 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 2f 5d 2b 2f 48 45 nch.&&.!preg_match('{^.*[^/]+/HE
c5ce0 41 44 20 7d 27 2c 20 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 AD.}',.$branch)).{.if.(preg_matc
c5d00 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 3f 20 2a 28 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b h('{^(?:\*.)?.*(\S+).*([a-f0-9]+
c5d20 29 28 3f 3a 20 2e 2a 29 3f 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 )(?:..*)?$}',.$branch,.$match)).
c5d40 7b 0a 24 62 72 61 6e 63 68 65 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b {.$branches[$match[1]].=.$match[
c5d60 32 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 24 62 72 2];.}.}.}..$this->branches.=.$br
c5d80 61 6e 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 anches;.}..return.$this->branche
c5da0 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 s;.}.....public.static.function.
c5dc0 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 supports(IOInterface.$io,.Config
c5de0 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b .$config,.$url,.$deep.=.false).{
c5e00 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 67 69 74 3a 2f 2f 7c 5c 2e 67 69 74 .if.(preg_match('#(^git://|\.git
c5e20 2f 3f 24 7c 67 69 74 28 3f 3a 6f 6c 69 74 65 29 3f 40 7c 2f 2f 67 69 74 5c 2e 7c 2f 2f 67 69 74 /?$|git(?:olite)?@|//git\.|//git
c5e40 68 75 62 2e 63 6f 6d 2f 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 hub.com/)#i',.$url)).{.return.tr
c5e60 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c ue;.}....if.(Filesystem::isLocal
c5e80 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a Path($url)).{.$url.=.Filesystem:
c5ea0 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f :getPlatformPath($url);.if.(!is_
c5ec0 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 dir($url)).{.return.false;.}..$p
c5ee0 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f rocess.=.new.ProcessExecutor($io
c5f00 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 );...if.($process->execute('git.
c5f20 74 61 67 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 tag',.$output,.$url).===.0).{.re
c5f40 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 64 65 65 70 29 20 7b 0a 72 65 turn.true;.}.}..if.(!$deep).{.re
c5f60 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 turn.false;.}..$process.=.new.Pr
c5f80 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f ocessExecutor($io);..return.$pro
c5fa0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 73 2d 72 65 6d 6f 74 65 20 2d 2d 68 cess->execute('git.ls-remote.--h
c5fc0 65 61 64 73 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 eads.'...ProcessExecutor::escape
c5fe0 28 24 75 72 6c 29 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ($url),.$output).===.0;.}.}.<?ph
c6000 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
c6020 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f Repository\Vcs;..use.Composer\Co
c6040 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 nfig;.use.Composer\Downloader\Tr
c6060 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a ansportException;.use.Composer\J
c6080 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 son\JsonFile;.use.Composer\Cache
c60a0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 ;.use.Composer\IO\IOInterface;.u
c60c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 48 75 62 3b 0a 0a 0a 0a 0a 63 6c 61 se.Composer\Util\GitHub;.....cla
c60e0 73 73 20 47 69 74 48 75 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 ss.GitHubDriver.extends.VcsDrive
c6100 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 r.{.protected.$cache;.protected.
c6120 24 6f 77 6e 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 70 $owner;.protected.$repository;.p
c6140 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 rotected.$tags;.protected.$branc
c6160 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a hes;.protected.$rootIdentifier;.
c6180 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 61 74 61 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 protected.$repoData;.protected.$
c61a0 68 61 73 49 73 73 75 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 hasIssues;.protected.$infoCache.
c61c0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 73 50 72 69 76 61 74 65 20 =.array();.protected.$isPrivate.
c61e0 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 67 69 74 44 72 69 =.false;.......protected.$gitDri
c6200 76 65 72 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c ver;.....public.function.initial
c6220 69 7a 65 28 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 3a 28 3f 3a 68 74 74 70 ize().{.preg_match('#^(?:(?:http
c6240 73 3f 7c 67 69 74 29 3a 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 69 74 40 28 5b 5e 3a 5d 2b 29 3a 29 s?|git)://([^/]+)/|git@([^:]+):)
c6260 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 23 27 2c 20 24 74 ([^/]+)/(.+?)(?:\.git|/)?$#',.$t
c6280 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 his->url,.$match);.$this->owner.
c62a0 3d 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d =.$match[3];.$this->repository.=
c62c0 20 24 6d 61 74 63 68 5b 34 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 21 .$match[4];.$this->originUrl.=.!
c62e0 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 24 6d 61 74 63 68 5b 31 5d 20 3a 20 24 empty($match[1]).?.$match[1].:.$
c6300 6d 61 74 63 68 5b 32 5d 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d match[2];.if.($this->originUrl.=
c6320 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 72 ==.'www.github.com').{.$this->or
c6340 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 24 74 68 69 73 2d iginUrl.=.'github.com';.}.$this-
c6360 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 >cache.=.new.Cache($this->io,.$t
c6380 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 his->config->get('cache-repo-dir
c63a0 27 29 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 ').'/'.$this->originUrl.'/'.$thi
c63c0 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b s->owner.'/'.$this->repository);
c63e0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6e ..if.(isset($this->repoConfig['n
c6400 6f 2d 61 70 69 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6e o-api']).&&.$this->repoConfig['n
c6420 6f 2d 61 70 69 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 o-api']).{.$this->setupGitDriver
c6440 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d ($this->url);..return;.}..$this-
c6460 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 >fetchRootIdentifier();.}..publi
c6480 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 0a 7b 0a c.function.getRepositoryUrl().{.
c64a0 72 65 74 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 return.'https://'.$this->originU
c64c0 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 rl.'/'.$this->owner.'/'.$this->r
c64e0 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e epository;.}.....public.function
c6500 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 .getRootIdentifier().{.if.($this
c6520 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 ->gitDriver).{.return.$this->git
c6540 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a Driver->getRootIdentifier();.}..
c6560 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a return.$this->rootIdentifier;.}.
c6580 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 ....public.function.getUrl().{.i
c65a0 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 f.($this->gitDriver).{.return.$t
c65c0 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 his->gitDriver->getUrl();.}..ret
c65e0 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 urn.'https://'...$this->originUr
c6600 6c 20 2e 20 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e l...'/'.$this->owner.'/'.$this->
c6620 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 repository.'.git';.}.....protect
c6640 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 6c 28 29 0a 7b 0a 69 66 20 28 27 67 ed.function.getApiUrl().{.if.('g
c6660 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 ithub.com'.===.$this->originUrl)
c6680 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d .{.$apiUrl.=.'api.github.com';.}
c66a0 20 65 6c 73 65 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 .else.{.$apiUrl.=.$this->originU
c66c0 72 6c 20 2e 20 27 2f 61 70 69 2f 76 33 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 rl...'/api/v3';.}..return.'https
c66e0 3a 2f 2f 27 20 2e 20 24 61 70 69 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ://'...$apiUrl;.}.....public.fun
c6700 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 ction.getSource($identifier).{.i
c6720 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 f.($this->gitDriver).{.return.$t
c6740 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 his->gitDriver->getSource($ident
c6760 69 66 69 65 72 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 29 20 ifier);.}.if.($this->isPrivate).
c6780 7b 0a 0a 20 0a 20 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 {.....$url.=.$this->generateSshU
c67a0 72 6c 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 rl();.}.else.{.$url.=.$this->get
c67c0 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e Url();.}..return.array('type'.=>
c67e0 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 .'git',.'url'.=>.$url,.'referenc
c6800 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 e'.=>.$identifier);.}.....public
c6820 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b .function.getDist($identifier).{
c6840 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 .$url.=.$this->getApiUrl()...'/r
c6860 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 epos/'.$this->owner.'/'.$this->r
c6880 65 70 6f 73 69 74 6f 72 79 2e 27 2f 7a 69 70 62 61 6c 6c 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 epository.'/zipball/'.$identifie
c68a0 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 r;..return.array('type'.=>.'zip'
c68c0 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 ,.'url'.=>.$url,.'reference'.=>.
c68e0 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d 0a $identifier,.'shasum'.=>.'');.}.
c6900 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 ....public.function.getComposerI
c6920 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 nformation($identifier).{.if.($t
c6940 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e his->gitDriver).{.return.$this->
c6960 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f gitDriver->getComposerInformatio
c6980 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 n($identifier);.}..if.(!isset($t
c69a0 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a his->infoCache[$identifier])).{.
c69c0 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 if.($this->shouldCache($identifi
c69e0 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 er).&&.$res.=.$this->cache->read
c6a00 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 ($identifier)).{.return.$this->i
c6a20 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 nfoCache[$identifier].=.JsonFile
c6a40 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 ::parseJson($res);.}..$composer.
c6a60 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 =.$this->getBaseComposerInformat
c6a80 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 ion($identifier);..if.($composer
c6aa0 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 ).{...if.(!isset($composer['supp
c6ac0 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d 20 61 72 72 ort']['source'])).{.$label.=.arr
c6ae0 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 ay_search($identifier,.$this->ge
c6b00 74 54 61 67 73 28 29 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 tTags()).?:.array_search($identi
c6b20 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 29 20 3f 3a 20 24 fier,.$this->getBranches()).?:.$
c6b40 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d identifier;.$composer['support']
c6b60 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 74 74 70 73 3a 2f 2f 25 73 ['source'].=.sprintf('https://%s
c6b80 2f 25 73 2f 25 73 2f 74 72 65 65 2f 25 73 27 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 /%s/%s/tree/%s',.$this->originUr
c6ba0 6c 2c 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f l,.$this->owner,.$this->reposito
c6bc0 72 79 2c 20 24 6c 61 62 65 6c 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f ry,.$label);.}.if.(!isset($compo
c6be0 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 29 20 26 26 20 24 74 68 ser['support']['issues']).&&.$th
c6c00 69 73 2d 3e 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 is->hasIssues).{.$composer['supp
c6c20 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 74 74 70 73 ort']['issues'].=.sprintf('https
c6c40 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 ://%s/%s/%s/issues',.$this->orig
c6c60 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f inUrl,.$this->owner,.$this->repo
c6c80 73 69 74 6f 72 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 sitory);.}.}..if.($this->shouldC
c6ca0 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 ache($identifier)).{.$this->cach
c6cc0 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 e->write($identifier,.json_encod
c6ce0 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 e($composer));.}..$this->infoCac
c6d00 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a he[$identifier].=.$composer;.}..
c6d20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 return.$this->infoCache[$identif
c6d40 69 65 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 ier];.}.....public.function.getF
c6d60 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b ileContent($file,.$identifier).{
c6d80 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 .if.($this->gitDriver).{.return.
c6da0 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 $this->gitDriver->getFileContent
c6dc0 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 ($file,.$identifier);.}..$resour
c6de0 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f ce.=.$this->getApiUrl()...'/repo
c6e00 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f s/'.$this->owner.'/'.$this->repo
c6e20 73 69 74 6f 72 79 2e 27 2f 63 6f 6e 74 65 6e 74 73 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 3f sitory.'/contents/'...$file...'?
c6e40 72 65 66 3d 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 72 ref='.urlencode($identifier);.$r
c6e60 65 73 6f 75 72 63 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 esource.=.JsonFile::parseJson($t
c6e80 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 29 3b 0a 69 66 his->getContents($resource));.if
c6ea0 20 28 65 6d 70 74 79 28 24 72 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 20 7c 7c .(empty($resource['content']).||
c6ec0 20 24 72 65 73 6f 75 72 63 65 5b 27 65 6e 63 6f 64 69 6e 67 27 5d 20 21 3d 3d 20 27 62 61 73 65 .$resource['encoding'].!==.'base
c6ee0 36 34 27 20 7c 7c 20 21 28 24 63 6f 6e 74 65 6e 74 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 64'.||.!($content.=.base64_decod
c6f00 65 28 24 72 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 29 29 20 7b 0a 74 68 72 6f e($resource['content']))).{.thro
c6f20 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e w.new.\RuntimeException('Could.n
c6f40 6f 74 20 72 65 74 72 69 65 76 65 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 66 6f 72 20 27 2e ot.retrieve.'...$file...'.for.'.
c6f60 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 $identifier);.}..return.$content
c6f80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 ;.}.....public.function.getChang
c6fa0 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e eDate($identifier).{.if.($this->
c6fc0 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 gitDriver).{.return.$this->gitDr
c6fe0 69 76 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 iver->getChangeDate($identifier)
c7000 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 ;.}..$resource.=.$this->getApiUr
c7020 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 l()...'/repos/'.$this->owner.'/'
c7040 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 63 6f 6d 6d 69 74 73 2f 27 2e 75 .$this->repository.'/commits/'.u
c7060 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d rlencode($identifier);.$commit.=
c7080 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 .JsonFile::parseJson($this->getC
c70a0 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a ontents($resource),.$resource);.
c70c0 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 74 5b 27 63 .return.new.\DateTime($commit['c
c70e0 6f 6d 6d 69 74 27 5d 5b 27 63 6f 6d 6d 69 74 74 65 72 27 5d 5b 27 64 61 74 65 27 5d 29 3b 0a 7d ommit']['committer']['date']);.}
c7100 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b .....public.function.getTags().{
c7120 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 .if.($this->gitDriver).{.return.
c7140 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a 69 $this->gitDriver->getTags();.}.i
c7160 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 f.(null.===.$this->tags).{.$this
c7180 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 ->tags.=.array();.$resource.=.$t
c71a0 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 his->getApiUrl()...'/repos/'.$th
c71c0 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e is->owner.'/'.$this->repository.
c71e0 27 2f 74 61 67 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 64 6f 20 7b 0a 24 74 61 67 '/tags?per_page=100';..do.{.$tag
c7200 73 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 sData.=.JsonFile::parseJson($thi
c7220 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f s->getContents($resource),.$reso
c7240 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 20 61 73 20 24 74 61 urce);.foreach.($tagsData.as.$ta
c7260 67 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 74 61 67 5b 27 6e 61 6d 65 27 5d 5d 20 3d g).{.$this->tags[$tag['name']].=
c7280 20 24 74 61 67 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 0a 24 72 65 73 6f .$tag['commit']['sha'];.}..$reso
c72a0 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d 20 77 urce.=.$this->getNextPage();.}.w
c72c0 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 hile.($resource);.}..return.$thi
c72e0 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 s->tags;.}.....public.function.g
c7300 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 etBranches().{.if.($this->gitDri
c7320 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e ver).{.return.$this->gitDriver->
c7340 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 getBranches();.}.if.(null.===.$t
c7360 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 his->branches).{.$this->branches
c7380 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 .=.array();.$resource.=.$this->g
c73a0 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 etApiUrl()...'/repos/'.$this->ow
c73c0 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 67 69 74 2f ner.'/'.$this->repository.'/git/
c73e0 72 65 66 73 2f 68 65 61 64 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 24 62 72 61 6e refs/heads?per_page=100';..$bran
c7400 63 68 42 6c 61 63 6b 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 67 68 2d 70 61 67 65 73 27 29 3b chBlacklist.=.array('gh-pages');
c7420 0a 0a 64 6f 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 ..do.{.$branchData.=.JsonFile::p
c7440 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 arseJson($this->getContents($res
c7460 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 ource),.$resource);.foreach.($br
c7480 61 6e 63 68 44 61 74 61 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 anchData.as.$branch).{.$name.=.s
c74a0 75 62 73 74 72 28 24 62 72 61 6e 63 68 5b 27 72 65 66 27 5d 2c 20 31 31 29 3b 0a 69 66 20 28 21 ubstr($branch['ref'],.11);.if.(!
c74c0 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 62 72 61 6e 63 68 42 6c 61 63 6b 6c 69 73 74 in_array($name,.$branchBlacklist
c74e0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 62 )).{.$this->branches[$name].=.$b
c7500 72 61 6e 63 68 5b 27 6f 62 6a 65 63 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 ranch['object']['sha'];.}.}..$re
c7520 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d source.=.$this->getNextPage();.}
c7540 20 77 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 .while.($resource);.}..return.$t
c7560 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 his->branches;.}.....public.stat
c7580 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 ic.function.supports(IOInterface
c75a0 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 .$io,.Config.$config,.$url,.$dee
c75c0 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e p.=.false).{.if.(!preg_match('#^
c75e0 28 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 69 74 40 28 ((?:https?|git)://([^/]+)/|git@(
c7600 5b 5e 3a 5d 2b 29 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 [^:]+):)([^/]+)/(.+?)(?:\.git|/)
c7620 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 ?$#',.$url,.$matches)).{.return.
c7640 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 21 65 6d 70 74 79 28 24 6d false;.}..$originUrl.=.!empty($m
c7660 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 24 6d 61 74 63 atches[2]).?.$matches[2].:.$matc
c7680 68 65 73 5b 33 5d 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 70 72 65 67 5f 72 65 70 6c 61 hes[3];.if.(!in_array(preg_repla
c76a0 63 65 28 27 7b 5e 77 77 77 5c 2e 7d 69 27 2c 20 27 27 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 2c ce('{^www\.}i',.'',.$originUrl),
c76c0 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 29 .$config->get('github-domains'))
c76e0 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 ).{.return.false;.}..if.(!extens
c7700 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 ion_loaded('openssl')).{.$io->wr
c7720 69 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 47 69 74 48 75 62 20 64 72 69 76 65 72 iteError('Skipping.GitHub.driver
c7740 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 .for.'.$url.'.because.the.OpenSS
c7760 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 L.PHP.extension.is.missing.',.tr
c7780 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 ue,.IOInterface::VERBOSE);..retu
c77a0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a rn.false;.}..return.true;.}.....
c77c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 44 61 74 61 28 29 0a ..public.function.getRepoData().
c77e0 7b 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a {.$this->fetchRootIdentifier();.
c7800 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 3b 0a 7d 0a 0a 0a 0a 0a 0a .return.$this->repoData;.}......
c7820 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 .protected.function.generateSshU
c7840 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 rl().{.return.'git@'...$this->or
c7860 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 iginUrl...':'.$this->owner.'/'.$
c7880 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 this->repository.'.git';.}.....p
c78a0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 rotected.function.getContents($u
c78c0 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 7b rl,.$fetchingRepoData.=.false).{
c78e0 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 .try.{.return.parent::getContent
c7900 73 28 24 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 s($url);.}.catch.(TransportExcep
c7920 74 69 6f 6e 20 24 65 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 tion.$e).{.$gitHubUtil.=.new.Git
c7940 48 75 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 Hub($this->io,.$this->config,.$t
c7960 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 his->process,.$this->remoteFiles
c7980 79 73 74 65 6d 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 ystem);..switch.($e->getCode()).
c79a0 7b 0a 63 61 73 65 20 34 30 31 3a 0a 63 61 73 65 20 34 30 34 3a 0a 0a 20 69 66 20 28 21 24 66 65 {.case.401:.case.404:...if.(!$fe
c79c0 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 tchingRepoData).{.throw.$e;.}..i
c79e0 66 20 28 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 f.($gitHubUtil->authorizeOAuth($
c7a00 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e this->originUrl)).{.return.paren
c7a20 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 t::getContents($url);.}..if.(!$t
c7a40 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 his->io->isInteractive()).{.retu
c7a60 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 rn.$this->attemptCloneFallback()
c7a80 3b 0a 7d 0a 0a 24 73 63 6f 70 65 73 49 73 73 75 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 ;.}..$scopesIssued.=.array();.$s
c7aa0 63 6f 70 65 73 4e 65 65 64 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 68 65 61 64 copesNeeded.=.array();.if.($head
c7ac0 65 72 73 20 3d 20 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 20 7b 0a 69 66 20 28 24 73 ers.=.$e->getHeaders()).{.if.($s
c7ae0 63 6f 70 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d copes.=.$this->remoteFilesystem-
c7b00 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 58 2d 4f 41 >findHeaderValue($headers,.'X-OA
c7b20 75 74 68 2d 53 63 6f 70 65 73 27 29 29 20 7b 0a 24 73 63 6f 70 65 73 49 73 73 75 65 64 20 3d 20 uth-Scopes')).{.$scopesIssued.=.
c7b40 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 73 63 6f 70 65 73 29 3b 0a 7d 0a 69 66 20 28 24 73 63 explode('.',.$scopes);.}.if.($sc
c7b60 6f 70 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e opes.=.$this->remoteFilesystem->
c7b80 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 58 2d 41 63 63 findHeaderValue($headers,.'X-Acc
c7ba0 65 70 74 65 64 2d 4f 41 75 74 68 2d 53 63 6f 70 65 73 27 29 29 20 7b 0a 24 73 63 6f 70 65 73 4e epted-OAuth-Scopes')).{.$scopesN
c7bc0 65 65 64 65 64 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 73 63 6f 70 65 73 29 3b 0a 7d eeded.=.explode('.',.$scopes);.}
c7be0 0a 7d 0a 24 73 63 6f 70 65 73 46 61 69 6c 65 64 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 73 .}.$scopesFailed.=.array_diff($s
c7c00 63 6f 70 65 73 4e 65 65 64 65 64 2c 20 24 73 63 6f 70 65 73 49 73 73 75 65 64 29 3b 0a 0a 20 0a copesNeeded,.$scopesIssued);....
c7c20 20 69 66 20 28 21 24 68 65 61 64 65 72 73 20 7c 7c 20 21 63 6f 75 6e 74 28 24 73 63 6f 70 65 73 .if.(!$headers.||.!count($scopes
c7c40 4e 65 65 64 65 64 29 20 7c 7c 20 63 6f 75 6e 74 28 24 73 63 6f 70 65 73 46 61 69 6c 65 64 29 29 Needed).||.count($scopesFailed))
c7c60 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e .{.$gitHubUtil->authorizeOAuthIn
c7c80 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 59 teractively($this->originUrl,.'Y
c7ca0 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 61 72 65 20 72 65 71 75 69 our.GitHub.credentials.are.requi
c7cc0 72 65 64 20 74 6f 20 66 65 74 63 68 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 69 74 6f 72 79 20 red.to.fetch.private.repository.
c7ce0 6d 65 74 61 64 61 74 61 20 28 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f metadata.(<info>'.$this->url.'</
c7d00 69 6e 66 6f 3e 29 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 info>)');.}..return.parent::getC
c7d20 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 63 61 73 65 20 34 30 33 3a 0a 69 66 20 28 21 24 ontents($url);..case.403:.if.(!$
c7d40 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 this->io->hasAuthentication($thi
c7d60 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 s->originUrl).&&.$gitHubUtil->au
c7d80 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 thorizeOAuth($this->originUrl)).
c7da0 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 {.return.parent::getContents($ur
c7dc0 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 l);.}..if.(!$this->io->isInterac
c7de0 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 tive().&&.$fetchingRepoData).{.r
c7e00 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 eturn.$this->attemptCloneFallbac
c7e20 6b 28 29 3b 0a 7d 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 24 67 69 74 48 75 62 55 74 k();.}..$rateLimited.=.$gitHubUt
c7e40 69 6c 2d 3e 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 il->isRateLimited($e->getHeaders
c7e60 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 ());..if.(!$this->io->hasAuthent
c7e80 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 69 66 20 ication($this->originUrl)).{.if.
c7ea0 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a (!$this->io->isInteractive()).{.
c7ec0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 47 69 $this->io->writeError('<error>Gi
c7ee0 74 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 74 65 64 2e 20 46 61 69 6c 65 64 tHub.API.limit.exhausted..Failed
c7f00 20 74 6f 20 67 65 74 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 74 68 65 20 27 2e 24 74 68 69 73 .to.get.metadata.for.the.'.$this
c7f20 2d 3e 75 72 6c 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 ->url.'.repository,.try.running.
c7f40 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 in.interactive.mode.so.that.you.
c7f60 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c can.enter.your.GitHub.credential
c7f80 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 41 50 49 20 6c 69 6d 69 74 3c 2f 65 72 72 s.to.increase.the.API.limit</err
c7fa0 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 67 69 74 48 75 62 55 74 69 6c 2d or>');.throw.$e;.}..$gitHubUtil-
c7fc0 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 >authorizeOAuthInteractively($th
c7fe0 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 is->originUrl,.'API.limit.exhaus
c8000 74 65 64 2e 20 45 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 ted..Enter.your.GitHub.credentia
c8020 6c 73 20 74 6f 20 67 65 74 20 61 20 6c 61 72 67 65 72 20 41 50 49 20 6c 69 6d 69 74 20 28 3c 69 ls.to.get.a.larger.API.limit.(<i
c8040 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 0a 72 nfo>'.$this->url.'</info>)');..r
c8060 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b eturn.parent::getContents($url);
c8080 0a 7d 0a 0a 69 66 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 65 4c 69 6d .}..if.($rateLimited).{.$rateLim
c80a0 69 74 20 3d 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d 69 74 28 24 it.=.$gitHubUtil->getRateLimit($
c80c0 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 e->getHeaders());.$this->io->wri
c80e0 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c 65 72 72 6f 72 3e 47 69 74 48 75 62 20 teError(sprintf(.'<error>GitHub.
c8100 41 50 49 20 6c 69 6d 69 74 20 28 25 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 78 68 61 75 API.limit.(%d.calls/hr).is.exhau
c8120 73 74 65 64 2e 20 59 6f 75 20 61 72 65 20 61 6c 72 65 61 64 79 20 61 75 74 68 6f 72 69 7a 65 64 sted..You.are.already.authorized
c8140 20 73 6f 20 79 6f 75 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 25 73 20 62 65 .so.you.have.to.wait.until.%s.be
c8160 66 6f 72 65 20 64 6f 69 6e 67 20 6d 6f 72 65 20 72 65 71 75 65 73 74 73 3c 2f 65 72 72 6f 72 3e fore.doing.more.requests</error>
c8180 27 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 5d 2c 0a 24 72 61 74 65 4c 69 6d ',.$rateLimit['limit'],.$rateLim
c81a0 69 74 5b 27 72 65 73 65 74 27 5d 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 0a 64 65 it['reset'].));.}..throw.$e;..de
c81c0 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f fault:.throw.$e;.}.}.}.......pro
c81e0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 tected.function.fetchRootIdentif
c8200 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 29 20 7b 0a 72 ier().{.if.($this->repoData).{.r
c8220 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 44 61 74 61 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e eturn;.}..$repoDataUrl.=.$this->
c8240 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f getApiUrl()...'/repos/'.$this->o
c8260 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 24 74 68 wner.'/'.$this->repository;..$th
c8280 69 73 2d 3e 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 is->repoData.=.JsonFile::parseJs
c82a0 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 70 6f 44 61 74 61 55 on($this->getContents($repoDataU
c82c0 72 6c 2c 20 74 72 75 65 29 2c 20 24 72 65 70 6f 44 61 74 61 55 72 6c 29 3b 0a 69 66 20 28 6e 75 rl,.true),.$repoDataUrl);.if.(nu
c82e0 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 ll.===.$this->repoData.&&.null.!
c8300 3d 3d 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d ==.$this->gitDriver).{.return;.}
c8320 0a 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 ..$this->owner.=.$this->repoData
c8340 5b 27 6f 77 6e 65 72 27 5d 5b 27 6c 6f 67 69 6e 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 ['owner']['login'];.$this->repos
c8360 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6e 61 6d 65 27 5d 3b itory.=.$this->repoData['name'];
c8380 0a 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 21 65 6d 70 74 79 28 24 74 68 69 ..$this->isPrivate.=.!empty($thi
c83a0 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 70 72 69 76 61 74 65 27 5d 29 3b 0a 69 66 20 28 69 73 73 s->repoData['private']);.if.(iss
c83c0 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e et($this->repoData['default_bran
c83e0 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d ch'])).{.$this->rootIdentifier.=
c8400 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 .$this->repoData['default_branch
c8420 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 '];.}.elseif.(isset($this->repoD
c8440 61 74 61 5b 27 6d 61 73 74 65 72 5f 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e ata['master_branch'])).{.$this->
c8460 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 rootIdentifier.=.$this->repoData
c8480 5b 27 6d 61 73 74 65 72 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 ['master_branch'];.}.else.{.$thi
c84a0 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 3b 0a 7d 0a s->rootIdentifier.=.'master';.}.
c84c0 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d $this->hasIssues.=.!empty($this-
c84e0 3e 72 65 70 6f 44 61 74 61 5b 27 68 61 73 5f 69 73 73 75 65 73 27 5d 29 3b 0a 7d 0a 0a 70 72 6f >repoData['has_issues']);.}..pro
c8500 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c tected.function.attemptCloneFall
c8520 62 61 63 6b 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 74 72 75 65 back().{.$this->isPrivate.=.true
c8540 3b 0a 0a 74 72 79 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 ;..try.{.........$this->setupGit
c8560 44 72 69 76 65 72 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 29 3b Driver($this->generateSshUrl());
c8580 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ..return;.}.catch.(\RuntimeExcep
c85a0 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 75 tion.$e).{.$this->gitDriver.=.nu
c85c0 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 ll;..$this->io->writeError('<err
c85e0 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 74 68 69 73 2d 3e or>Failed.to.clone.the.'.$this->
c8600 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 generateSshUrl().'.repository,.t
c8620 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 73 ry.running.in.interactive.mode.s
c8640 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 o.that.you.can.enter.your.GitHub
c8660 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 .credentials</error>');.throw.$e
c8680 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 47 ;.}.}..protected.function.setupG
c86a0 69 74 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 itDriver($url).{.$this->gitDrive
c86c0 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d r.=.new.GitDriver(.array('url'.=
c86e0 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 >.$url),.$this->io,.$this->confi
c8700 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 g,.$this->process,.$this->remote
c8720 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e Filesystem.);.$this->gitDriver->
c8740 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 initialize();.}..protected.funct
c8760 69 6f 6e 20 67 65 74 4e 65 78 74 50 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 24 ion.getNextPage().{.$headers.=.$
c8780 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c 61 73 74 48 this->remoteFilesystem->getLastH
c87a0 65 61 64 65 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 eaders();.foreach.($headers.as.$
c87c0 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 6c 69 6e 6b header).{.if.(preg_match('{^link
c87e0 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 :\s*(.+?)\s*$}i',.$header,.$matc
c8800 68 29 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 6d 61 74 h)).{.$links.=.explode(',',.$mat
c8820 63 68 5b 31 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b ch[1]);.foreach.($links.as.$link
c8840 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e 3b 20 2a 72 ).{.if.(preg_match('{<(.+?)>;.*r
c8860 65 6c 3d 22 6e 65 78 74 22 7d 27 2c 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 el="next"}',.$link,.$match)).{.r
c8880 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 eturn.$match[1];.}.}.}.}.}.}.<?p
c88a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
c88c0 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 \Repository\Vcs;..use.Composer\C
c88e0 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 onfig;.use.Composer\Cache;.use.C
c8900 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
c8920 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 oser\Json\JsonFile;.use.Composer
c8940 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a \Downloader\TransportException;.
c8960 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 use.Composer\Util\RemoteFilesyst
c8980 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 4c 61 62 3b 0a 0a 0a em;.use.Composer\Util\GitLab;...
c89a0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 4c 61 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 .....class.GitLabDriver.extends.
c89c0 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 65 3b 0a 70 72 69 VcsDriver.{.private.$scheme;.pri
c89e0 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 vate.$namespace;.private.$reposi
c8a00 74 6f 72 79 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 6a 65 63 74 3b 0a 0a 0a 0a 0a tory;.....private.$project;.....
c8a20 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 69 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a private.$commits.=.array();.....
c8a40 70 72 69 76 61 74 65 20 24 74 61 67 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 72 61 6e private.$tags;.....private.$bran
c8a60 63 68 65 73 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 67 69 74 44 72 69 76 65 72 ches;.......protected.$gitDriver
c8a80 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 73 50 72 69 76 61 74 65 20 3d 20 74 72 75 ;.......private.$isPrivate.=.tru
c8aa0 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 72 74 4e 75 6d 62 65 72 3b 0a 0a 63 e;.....protected.$portNumber;..c
c8ac0 6f 6e 73 74 20 55 52 4c 5f 52 45 47 45 58 20 3d 20 27 23 5e 28 3f 3a 28 3f 50 3c 73 63 68 65 6d onst.URL_REGEX.=.'#^(?:(?P<schem
c8ae0 65 3e 68 74 74 70 73 3f 29 3a 2f 2f 28 3f 50 3c 64 6f 6d 61 69 6e 3e 2e 2b 3f 29 28 3f 3a 3a 28 e>https?)://(?P<domain>.+?)(?::(
c8b00 3f 50 3c 70 6f 72 74 3e 5b 30 2d 39 5d 2b 29 29 3f 2f 7c 67 69 74 40 28 3f 50 3c 64 6f 6d 61 69 ?P<port>[0-9]+))?/|git@(?P<domai
c8b20 6e 32 3e 5b 5e 3a 5d 2b 29 3a 29 28 3f 50 3c 70 61 72 74 73 3e 2e 2b 29 2f 28 3f 50 3c 72 65 70 n2>[^:]+):)(?P<parts>.+)/(?P<rep
c8b40 6f 3e 5b 5e 2f 5d 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 23 27 3b 0a 0a 0a 0a 0a 0a 0a o>[^/]+?)(?:\.git|/)?$#';.......
c8b60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b ..public.function.initialize().{
c8b80 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 55 52 4c 5f 52 45 47 45 58 .if.(!preg_match(self::URL_REGEX
c8ba0 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e ,.$this->url,.$match)).{.throw.n
c8bc0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 ew.\InvalidArgumentException('Th
c8be0 65 20 55 52 4c 20 70 72 6f 76 69 64 65 64 20 69 73 20 69 6e 76 61 6c 69 64 2e 20 49 74 20 6d 75 e.URL.provided.is.invalid..It.mu
c8c00 73 74 20 62 65 20 74 68 65 20 48 54 54 50 20 55 52 4c 20 6f 66 20 61 20 47 69 74 4c 61 62 20 70 st.be.the.HTTP.URL.of.a.GitLab.p
c8c20 72 6f 6a 65 63 74 2e 27 29 3b 0a 7d 0a 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 20 3d 20 21 roject.');.}..$guessedDomain.=.!
c8c40 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 29 20 3f 20 24 6d 61 74 63 68 empty($match['domain']).?.$match
c8c60 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 32 27 5d 3b 0a ['domain'].:.$match['domain2'];.
c8c80 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 $configuredDomains.=.$this->conf
c8ca0 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 3b 0a 24 75 72 6c 50 ig->get('gitlab-domains');.$urlP
c8cc0 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 6d 61 74 63 68 5b 27 70 61 72 74 arts.=.explode('/',.$match['part
c8ce0 73 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 6d s']);..$this->scheme.=.!empty($m
c8d00 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 29 0a 3f 20 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 atch['scheme']).?.$match['scheme
c8d20 27 5d 0a 3a 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 73 '].:.(isset($this->repoConfig['s
c8d40 65 63 75 72 65 2d 68 74 74 70 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 ecure-http']).&&.$this->repoConf
c8d60 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 68 ig['secure-http'].===.false.?.'h
c8d80 74 74 70 27 20 3a 20 27 68 74 74 70 73 27 29 0a 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 ttp'.:.'https').;.$this->originU
c8da0 72 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 24 63 6f 6e rl.=.$this->determineOrigin($con
c8dc0 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 figuredDomains,.$guessedDomain,.
c8de0 24 75 72 6c 50 61 72 74 73 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 $urlParts);..if.(!empty($match['
c8e00 70 6f 72 74 27 5d 29 20 26 26 20 74 72 75 65 20 3d 3d 3d 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 port']).&&.true.===.is_numeric($
c8e20 6d 61 74 63 68 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 6f 72 74 4e match['port'])).{...$this->portN
c8e40 75 6d 62 65 72 20 3d 20 28 69 6e 74 29 20 24 6d 61 74 63 68 5b 27 70 6f 72 74 27 5d 3b 0a 7d 0a umber.=.(int).$match['port'];.}.
c8e60 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c .$this->namespace.=.implode('/',
c8e80 20 24 75 72 6c 50 61 72 74 73 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d .$urlParts);.$this->repository.=
c8ea0 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 28 5c 2e 67 69 74 29 24 23 27 2c 20 27 27 2c 20 .preg_replace('#(\.git)$#',.'',.
c8ec0 24 6d 61 74 63 68 5b 27 72 65 70 6f 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d $match['repo']);..$this->cache.=
c8ee0 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e .new.Cache($this->io,.$this->con
c8f00 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 24 fig->get('cache-repo-dir').'/'.$
c8f20 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 this->originUrl.'/'.$this->names
c8f40 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 24 74 pace.'/'.$this->repository);..$t
c8f60 68 69 73 2d 3e 66 65 74 63 68 50 72 6f 6a 65 63 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 his->fetchProject();.}........pu
c8f80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 blic.function.setRemoteFilesyste
c8fa0 6d 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 m(RemoteFilesystem.$remoteFilesy
c8fc0 73 74 65 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 stem).{.$this->remoteFilesystem.
c8fe0 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 =.$remoteFilesystem;.}.....publi
c9000 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c c.function.getFileContent($file,
c9020 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 .$identifier).{.if.($this->gitDr
c9040 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d iver).{.return.$this->gitDriver-
c9060 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 >getFileContent($file,.$identifi
c9080 65 72 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 2d 66 er);.}....if.(!preg_match('{[a-f
c90a0 30 2d 39 5d 7b 34 30 7d 7d 69 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 62 72 0-9]{40}}i',.$identifier)).{.$br
c90c0 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 69 anches.=.$this->getBranches();.i
c90e0 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 f.(isset($branches[$identifier])
c9100 29 20 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 ).{.$identifier.=.$branches[$ide
c9120 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 ntifier];.}.}..$resource.=.$this
c9140 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 66 69 6c 65 73 ->getApiUrl().'/repository/files
c9160 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 66 69 6c 65 29 2e 27 2f /'.$this->urlEncodeAll($file).'/
c9180 72 61 77 3f 72 65 66 3d 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 74 72 79 20 7b 0a 24 63 raw?ref='.$identifier;..try.{.$c
c91a0 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 ontent.=.$this->getContents($res
c91c0 6f 75 72 63 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 ource);.}.catch.(TransportExcept
c91e0 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 3d 20 ion.$e).{.if.($e->getCode().!==.
c9200 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 404).{.throw.$e;.}..return.null;
c9220 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 .}..return.$content;.}.....publi
c9240 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 c.function.getChangeDate($identi
c9260 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a fier).{.if.($this->gitDriver).{.
c9280 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 6e return.$this->gitDriver->getChan
c92a0 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 geDate($identifier);.}..if.(isse
c92c0 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 t($this->commits[$identifier])).
c92e0 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 68 69 73 2d 3e 63 6f {.return.new.\DateTime($this->co
c9300 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 5b 27 63 6f 6d 6d 69 74 74 65 64 5f 64 61 mmits[$identifier]['committed_da
c9320 74 65 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 29 te']);.}..return.new.\DateTime()
c9340 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 ;.}.....public.function.getRepos
c9360 69 74 6f 72 79 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 50 72 69 itoryUrl().{.return.$this->isPri
c9380 76 61 74 65 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 73 73 68 5f 75 72 6c 5f 74 vate.?.$this->project['ssh_url_t
c93a0 6f 5f 72 65 70 6f 27 5d 20 3a 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 68 74 74 70 5f o_repo'].:.$this->project['http_
c93c0 75 72 6c 5f 74 6f 5f 72 65 70 6f 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 url_to_repo'];.}.....public.func
c93e0 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 tion.getUrl().{.if.($this->gitDr
c9400 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d iver).{.return.$this->gitDriver-
c9420 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 6a >getUrl();.}..return.$this->proj
c9440 65 63 74 5b 27 77 65 62 5f 75 72 6c 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ect['web_url'];.}.....public.fun
c9460 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 75 72 ction.getDist($identifier).{.$ur
c9480 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 l.=.$this->getApiUrl().'/reposit
c94a0 6f 72 79 2f 61 72 63 68 69 76 65 2e 7a 69 70 3f 73 68 61 3d 27 2e 24 69 64 65 6e 74 69 66 69 65 ory/archive.zip?sha='.$identifie
c94c0 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 r;..return.array('type'.=>.'zip'
c94e0 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 ,.'url'.=>.$url,.'reference'.=>.
c9500 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d 0a $identifier,.'shasum'.=>.'');.}.
c9520 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 ....public.function.getSource($i
c9540 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 dentifier).{.if.($this->gitDrive
c9560 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 r).{.return.$this->gitDriver->ge
c9580 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 tSource($identifier);.}..return.
c95a0 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 array('type'.=>.'git',.'url'.=>.
c95c0 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 2c 20 27 72 65 66 65 $this->getRepositoryUrl(),.'refe
c95e0 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 rence'.=>.$identifier);.}.....pu
c9600 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 blic.function.getRootIdentifier(
c9620 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 ).{.if.($this->gitDriver).{.retu
c9640 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e rn.$this->gitDriver->getRootIden
c9660 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 tifier();.}..return.$this->proje
c9680 63 74 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ct['default_branch'];.}.....publ
c96a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 ic.function.getBranches().{.if.(
c96c0 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 $this->gitDriver).{.return.$this
c96e0 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 69 ->gitDriver->getBranches();.}..i
c9700 66 20 28 21 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 f.(!$this->branches).{.$this->br
c9720 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 27 62 anches.=.$this->getReferences('b
c9740 72 61 6e 63 68 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e ranches');.}..return.$this->bran
c9760 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 ches;.}.....public.function.getT
c9780 61 67 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a ags().{.if.($this->gitDriver).{.
c97a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 return.$this->gitDriver->getTags
c97c0 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 ();.}..if.(!$this->tags).{.$this
c97e0 2d 3e 74 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 27 74 ->tags.=.$this->getReferences('t
c9800 61 67 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a ags');.}..return.$this->tags;.}.
c9820 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 6c 28 29 0a ....public.function.getApiUrl().
c9840 7b 0a 24 64 6f 6d 61 69 6e 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c {.$domainName.=.$this->originUrl
c9860 3b 0a 24 70 6f 72 74 4e 75 6d 62 65 72 20 3d 20 28 74 72 75 65 20 3d 3d 3d 20 69 73 5f 6e 75 6d ;.$portNumber.=.(true.===.is_num
c9880 65 72 69 63 28 24 74 68 69 73 2d 3e 70 6f 72 74 4e 75 6d 62 65 72 29 29 20 3f 20 73 70 72 69 6e eric($this->portNumber)).?.sprin
c98a0 74 66 28 27 3a 25 73 27 2c 20 24 74 68 69 73 2d 3e 70 6f 72 74 4e 75 6d 62 65 72 29 20 3a 20 27 tf(':%s',.$this->portNumber).:.'
c98c0 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 ';..return.$this->scheme.'://'.$
c98e0 64 6f 6d 61 69 6e 4e 61 6d 65 2e 24 70 6f 72 74 4e 75 6d 62 65 72 2e 27 2f 61 70 69 2f 76 34 2f domainName.$portNumber.'/api/v4/
c9900 70 72 6f 6a 65 63 74 73 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 projects/'.$this->urlEncodeAll($
c9920 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 29 2e 27 25 32 46 27 2e 24 74 68 69 73 2d 3e 75 72 this->namespace).'%2F'.$this->ur
c9940 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d lEncodeAll($this->repository);.}
c9960 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 72 6c 45 6e 63 6f ........private.function.urlEnco
c9980 64 65 41 6c 6c 28 24 73 74 72 69 6e 67 29 0a 7b 0a 24 65 6e 63 6f 64 65 64 20 3d 20 27 27 3b 0a deAll($string).{.$encoded.=.'';.
c99a0 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 24 73 74 72 69 6e 67 5b 24 69 5d 29 3b for.($i.=.0;.isset($string[$i]);
c99c0 20 24 69 2b 2b 29 20 7b 0a 24 63 68 61 72 61 63 74 65 72 20 3d 20 24 73 74 72 69 6e 67 5b 24 69 .$i++).{.$character.=.$string[$i
c99e0 5d 3b 0a 69 66 20 28 21 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 63 68 61 72 61 63 74 65 72 29 20 ];.if.(!ctype_alnum($character).
c9a00 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 63 68 61 72 61 63 74 65 72 2c 20 61 72 72 61 79 28 27 &&.!in_array($character,.array('
c9a20 2d 27 2c 20 27 5f 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 63 68 61 72 61 63 74 65 72 20 3d 20 -',.'_'),.true)).{.$character.=.
c9a40 27 25 27 20 2e 20 73 70 72 69 6e 74 66 28 27 25 30 32 58 27 2c 20 6f 72 64 28 24 63 68 61 72 61 '%'...sprintf('%02X',.ord($chara
c9a60 63 74 65 72 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 65 64 20 2e 3d 20 24 63 68 61 72 61 63 74 65 72 cter));.}.$encoded..=.$character
c9a80 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 63 6f 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 ;.}..return.$encoded;.}.......pr
c9aa0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 24 otected.function.getReferences($
c9ac0 74 79 70 65 29 0a 7b 0a 24 70 65 72 50 61 67 65 20 3d 20 31 30 30 3b 0a 24 72 65 73 6f 75 72 63 type).{.$perPage.=.100;.$resourc
c9ae0 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 e.=.$this->getApiUrl().'/reposit
c9b00 6f 72 79 2f 27 2e 24 74 79 70 65 2e 27 3f 70 65 72 5f 70 61 67 65 3d 27 2e 24 70 65 72 50 61 67 ory/'.$type.'?per_page='.$perPag
c9b20 65 3b 0a 0a 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 64 6f 20 7b 0a e;..$references.=.array();.do.{.
c9b40 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 $data.=.JsonFile::parseJson($thi
c9b60 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f s->getContents($resource),.$reso
c9b80 75 72 63 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 64 61 74 75 6d urce);..foreach.($data.as.$datum
c9ba0 29 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 73 5b 24 64 61 74 75 6d 5b 27 6e 61 6d 65 27 5d 5d 20 ).{.$references[$datum['name']].
c9bc0 3d 20 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 69 64 27 5d 3b 0a 0a 0a 20 0a 20 24 =.$datum['commit']['id'];......$
c9be0 74 68 69 73 2d 3e 63 6f 6d 6d 69 74 73 5b 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 this->commits[$datum['commit']['
c9c00 69 64 27 5d 5d 20 3d 20 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 0a 69 66 20 id']].=.$datum['commit'];.}..if.
c9c20 28 63 6f 75 6e 74 28 24 64 61 74 61 29 20 3e 3d 20 24 70 65 72 50 61 67 65 29 20 7b 0a 24 72 65 (count($data).>=.$perPage).{.$re
c9c40 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d source.=.$this->getNextPage();.}
c9c60 20 65 6c 73 65 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 77 .else.{.$resource.=.false;.}.}.w
c9c80 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 hile.($resource);..return.$refer
c9ca0 65 6e 63 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 ences;.}..protected.function.fet
c9cc0 63 68 50 72 6f 6a 65 63 74 28 29 0a 7b 0a 0a 20 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 chProject().{...$resource.=.$thi
c9ce0 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 20 3d s->getApiUrl();.$this->project.=
c9d00 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 .JsonFile::parseJson($this->getC
c9d20 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 2c 20 74 72 75 65 29 2c 20 24 72 65 73 6f 75 ontents($resource,.true),.$resou
c9d40 72 63 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 rce);.if.(isset($this->project['
c9d60 76 69 73 69 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 visibility'])).{.$this->isPrivat
c9d80 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 76 69 73 69 62 69 6c 69 74 79 27 5d e.=.$this->project['visibility']
c9da0 20 21 3d 3d 20 27 70 75 62 6c 69 63 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d .!==.'public';.}.else.{...$this-
c9dc0 3e 69 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 >isPrivate.=.false;.}.}..protect
c9de0 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b ed.function.attemptCloneFallback
c9e00 28 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 ().{.try.{.if.($this->isPrivate.
c9e20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 ===.false).{.$url.=.$this->gener
c9e40 61 74 65 50 75 62 6c 69 63 55 72 6c 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 atePublicUrl();.}.else.{.$url.=.
c9e60 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 3b 0a 7d 0a 0a 0a 20 0a 20 $this->generateSshUrl();.}......
c9e80 0a 20 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 6c 29 3b 0a 0a ..$this->setupGitDriver($url);..
c9ea0 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 return;.}.catch.(\RuntimeExcepti
c9ec0 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 75 6c 6c on.$e).{.$this->gitDriver.=.null
c9ee0 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 ;..$this->io->writeError('<error
c9f00 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 75 72 6c 2e 27 20 72 65 >Failed.to.clone.the.'.$url.'.re
c9f20 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 pository,.try.running.in.interac
c9f40 74 69 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 tive.mode.so.that.you.can.enter.
c9f60 79 6f 75 72 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f your.credentials</error>');.thro
c9f80 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 w.$e;.}.}.......protected.functi
c9fa0 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 on.generateSshUrl().{.return.'gi
c9fc0 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 2e 24 74 68 t@'...$this->originUrl...':'.$th
c9fe0 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 is->namespace.'/'.$this->reposit
ca000 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ory.'.git';.}..protected.functio
ca020 6e 20 67 65 6e 65 72 61 74 65 50 75 62 6c 69 63 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 n.generatePublicUrl().{.return.$
ca040 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 2e 20 27 3a 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 this->scheme...'://'...$this->or
ca060 69 67 69 6e 55 72 6c 20 2e 20 27 2f 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 2e 27 iginUrl...'/'.$this->namespace.'
ca080 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a /'.$this->repository.'.git';.}..
ca0a0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 47 69 74 44 72 69 76 65 protected.function.setupGitDrive
ca0c0 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 65 77 r($url).{.$this->gitDriver.=.new
ca0e0 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 .GitDriver(.array('url'.=>.$url)
ca100 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 ,.$this->io,.$this->config,.$thi
ca120 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 s->process,.$this->remoteFilesys
ca140 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c tem.);.$this->gitDriver->initial
ca160 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ize();.}.....protected.function.
ca180 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 getContents($url,.$fetchingRepoD
ca1a0 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 72 65 73 20 3d 20 70 61 72 65 ata.=.false).{.try.{.$res.=.pare
ca1c0 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 24 66 65 74 nt::getContents($url);..if.($fet
ca1e0 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 4a 73 6f 6e 46 69 6c chingRepoData).{.$json.=.JsonFil
ca200 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 2c 20 24 75 72 6c 29 3b 0a 0a 0a 20 69 66 20 e::parseJson($res,.$url);....if.
ca220 28 21 69 73 73 65 74 28 24 6a 73 6f 6e 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 29 (!isset($json['default_branch'])
ca240 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f 6e 5b 27 69 64 27 5d 29 29 20 7b 0a 24 ).{.if.(!empty($json['id'])).{.$
ca260 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f this->isPrivate.=.false;.}..thro
ca280 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 47 69 74 4c 61 62 w.new.TransportException('GitLab
ca2a0 20 41 50 49 20 73 65 65 6d 73 20 74 6f 20 6e 6f 74 20 62 65 20 61 75 74 68 65 6e 74 69 63 61 74 .API.seems.to.not.be.authenticat
ca2c0 65 64 20 61 73 20 69 74 20 64 69 64 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 64 65 66 61 75 6c ed.as.it.did.not.return.a.defaul
ca2e0 74 5f 62 72 61 6e 63 68 27 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 t_branch',.401);.}.}..return.$re
ca300 73 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 s;.}.catch.(TransportException.$
ca320 65 29 20 7b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c 61 62 28 24 74 e).{.$gitLabUtil.=.new.GitLab($t
ca340 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 his->io,.$this->config,.$this->p
ca360 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 rocess,.$this->remoteFilesystem)
ca380 3b 0a 0a 73 77 69 74 63 68 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 ;..switch.($e->getCode()).{.case
ca3a0 20 34 30 31 3a 0a 63 61 73 65 20 34 30 34 3a 0a 0a 20 69 66 20 28 21 24 66 65 74 63 68 69 6e 67 .401:.case.404:...if.(!$fetching
ca3c0 52 65 70 6f 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 67 69 RepoData).{.throw.$e;.}..if.($gi
ca3e0 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e tLabUtil->authorizeOAuth($this->
ca400 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 originUrl)).{.return.parent::get
ca420 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 Contents($url);.}..if.(!$this->i
ca440 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 o->isInteractive()).{.return.$th
ca460 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 24 74 is->attemptCloneFallback();.}.$t
ca480 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 46 61 his->io->writeError('<warning>Fa
ca4a0 69 6c 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 27 20 2e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 iled.to.download.'...$this->name
ca4c0 73 70 61 63 65 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 space...'/'...$this->repository.
ca4e0 2e 20 27 3a 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3c 2f 77 61 ..':'...$e->getMessage()...'</wa
ca500 72 6e 69 6e 67 3e 27 29 3b 0a 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 rning>');.$gitLabUtil->authorize
ca520 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 OAuthInteractively($this->scheme
ca540 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 59 6f 75 72 20 63 72 65 64 65 6e ,.$this->originUrl,.'Your.creden
ca560 74 69 61 6c 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 66 65 74 63 68 20 70 72 69 76 tials.are.required.to.fetch.priv
ca580 61 74 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 65 74 61 64 61 74 61 20 28 3c 69 6e 66 6f 3e 27 ate.repository.metadata.(<info>'
ca5a0 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 0a 72 65 74 75 72 6e .$this->url.'</info>)');..return
ca5c0 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 63 61 73 .parent::getContents($url);..cas
ca5e0 65 20 34 30 33 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e e.403:.if.(!$this->io->hasAuthen
ca600 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 24 67 tication($this->originUrl).&&.$g
ca620 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d itLabUtil->authorizeOAuth($this-
ca640 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 >originUrl)).{.return.parent::ge
ca660 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e tContents($url);.}..if.(!$this->
ca680 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 68 69 6e 67 io->isInteractive().&&.$fetching
ca6a0 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 RepoData).{.return.$this->attemp
ca6c0 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 0a tCloneFallback();.}..throw.$e;..
ca6e0 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a default:.throw.$e;.}.}.}........
ca700 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 public.static.function.supports(
ca720 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c IOInterface.$io,.Config.$config,
ca740 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 .$url,.$deep.=.false).{.if.(!pre
ca760 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 55 52 4c 5f 52 45 47 45 58 2c 20 24 75 72 6c 2c 20 24 g_match(self::URL_REGEX,.$url,.$
ca780 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 63 68 65 match)).{.return.false;.}..$sche
ca7a0 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 29 20 3f 20 me.=.!empty($match['scheme']).?.
ca7c0 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 67 75 65 73 73 65 $match['scheme'].:.null;.$guesse
ca7e0 64 44 6f 6d 61 69 6e 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 dDomain.=.!empty($match['domain'
ca800 5d 29 20 3f 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 63 68 5b 27 ]).?.$match['domain'].:.$match['
ca820 64 6f 6d 61 69 6e 32 27 5d 3b 0a 24 75 72 6c 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 domain2'];.$urlParts.=.explode('
ca840 2f 27 2c 20 24 6d 61 74 63 68 5b 27 70 61 72 74 73 27 5d 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 /',.$match['parts']);..if.(false
ca860 20 3d 3d 3d 20 73 65 6c 66 3a 3a 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 28 61 72 72 61 .===.self::determineOrigin((arra
ca880 79 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 y).$config->get('gitlab-domains'
ca8a0 29 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 24 75 72 6c 50 61 72 74 73 29 29 20 7b ),.$guessedDomain,.$urlParts)).{
ca8c0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 68 74 74 70 73 27 20 3d 3d .return.false;.}..if.('https'.==
ca8e0 3d 20 24 73 63 68 65 6d 65 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 =.$scheme.&&.!extension_loaded('
ca900 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 6b openssl')).{.$io->writeError('Sk
ca920 69 70 70 69 6e 67 20 47 69 74 4c 61 62 20 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e ipping.GitLab.driver.for.'.$url.
ca940 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 '.because.the.OpenSSL.PHP.extens
ca960 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 ion.is.missing.',.true,.IOInterf
ca980 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a ace::VERBOSE);..return.false;.}.
ca9a0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f .return.true;.}..private.functio
ca9c0 6e 20 67 65 74 4e 65 78 74 50 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 24 74 68 n.getNextPage().{.$headers.=.$th
ca9e0 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c 61 73 74 48 65 61 is->remoteFilesystem->getLastHea
caa00 64 65 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 ders();.foreach.($headers.as.$he
caa20 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 6c 69 6e 6b 3a 5c ader).{.if.(preg_match('{^link:\
caa40 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 s*(.+?)\s*$}i',.$header,.$match)
caa60 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 6d 61 74 63 68 ).{.$links.=.explode(',',.$match
caa80 5b 31 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 [1]);.foreach.($links.as.$link).
caaa0 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e 3b 20 2a 72 65 6c {.if.(preg_match('{<(.+?)>;.*rel
caac0 3d 22 6e 65 78 74 22 7d 27 2c 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 ="next"}',.$link,.$match)).{.ret
caae0 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a urn.$match[1];.}.}.}.}.}........
cab00 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e private.static.function.determin
cab20 65 4f 72 69 67 69 6e 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 eOrigin(array.$configuredDomains
cab40 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 61 72 72 61 79 20 26 24 75 72 6c 50 61 72 ,.$guessedDomain,.array.&$urlPar
cab60 74 73 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 64 44 6f 6d 61 69 ts).{.if.(in_array($guessedDomai
cab80 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e n,.$configuredDomains)).{.return
caba0 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 .$guessedDomain;.}..while.(null.
cabc0 21 3d 3d 20 28 24 70 61 72 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 50 61 72 !==.($part.=.array_shift($urlPar
cabe0 74 73 29 29 29 20 7b 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 20 2e 3d 20 27 2f 27 20 2e 20 ts))).{.$guessedDomain..=.'/'...
cac00 24 70 61 72 74 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 64 44 6f 6d $part;..if.(in_array($guessedDom
cac20 61 69 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 29 20 7b 0a 72 65 74 75 ain,.$configuredDomains)).{.retu
cac40 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 rn.$guessedDomain;.}.}..return.f
cac60 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 alse;.}.}.<?php............names
cac80 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 pace.Composer\Repository\Vcs;..u
caca0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
cacc0 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 42 69 74 \IO\IOInterface;.....class.HgBit
cace0 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 42 69 74 62 75 63 6b 65 74 44 72 bucketDriver.extends.BitbucketDr
cad00 69 76 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f iver.{....public.function.getRoo
cad20 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 tIdentifier().{.if.($this->fallb
cad40 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ackDriver).{.return.$this->fallb
cad60 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a ackDriver->getRootIdentifier();.
cad80 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 }..if.(null.===.$this->rootIdent
cada0 69 66 69 65 72 29 20 7b 0a 69 66 20 28 21 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 44 61 74 ifier).{.if.(!.$this->getRepoDat
cadc0 61 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 a()).{.return.$this->fallbackDri
cade0 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 ver->getRootIdentifier();.}..if.
cae00 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 21 3d 3d 20 27 68 67 27 29 20 7b 0a 74 68 72 6f ($this->vcsType.!==.'hg').{.thro
cae20 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 74 68 69 73 2d 3e w.new.\RuntimeException(.$this->
cae40 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 61 20 6d 65 url.'.does.not.appear.to.be.a.me
cae60 72 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 20 27 2e 0a 24 74 68 69 73 rcurial.repository,.use.'..$this
cae80 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 2e 27 20 69 66 20 74 68 69 73 20 69 73 20 61 20 67 ->cloneHttpsUrl.'.if.this.is.a.g
caea0 69 74 20 62 69 74 62 75 63 6b 65 74 20 72 65 70 6f 73 69 74 6f 72 79 27 0a 29 3b 0a 7d 0a 0a 24 it.bitbucket.repository'.);.}..$
caec0 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4d 61 69 6e 42 mainBranchData.=.$this->getMainB
caee0 72 61 6e 63 68 44 61 74 61 28 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 ranchData();.$this->rootIdentifi
caf00 65 72 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d er.=.!empty($mainBranchData['nam
caf20 65 27 5d 29 20 3f 20 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a e']).?.$mainBranchData['name'].:
caf40 20 27 64 65 66 61 75 6c 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f .'default';.}..return.$this->roo
caf60 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 tIdentifier;.}.....public.static
caf80 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 .function.supports(IOInterface.$
cafa0 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 io,.Config.$config,.$url,.$deep.
cafc0 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 =.false).{.if.(!preg_match('#^ht
cafe0 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b tps?://bitbucket\.org/([^/]+)/([
cb000 5e 2f 5d 2b 29 2f 3f 24 23 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 ^/]+)/?$#',.$url)).{.return.fals
cb020 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 e;.}..if.(!extension_loaded('ope
cb040 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 nssl')).{.$io->writeError('Skipp
cb060 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 68 67 20 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 ing.Bitbucket.hg.driver.for.'.$u
cb080 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 rl.'.because.the.OpenSSL.PHP.ext
cb0a0 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 ension.is.missing.',.true,.IOInt
cb0c0 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b erface::VERBOSE);..return.false;
cb0e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .}..return.true;.}.....protected
cb100 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 .function.setupFallbackDriver($u
cb120 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 20 3d 20 6e 65 rl).{.$this->fallbackDriver.=.ne
cb140 77 20 48 67 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 w.HgDriver(.array('url'.=>.$url)
cb160 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 ,.$this->io,.$this->config,.$thi
cb180 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 s->process,.$this->remoteFilesys
cb1a0 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 69 6e tem.);.$this->fallbackDriver->in
cb1c0 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 itialize();.}.....protected.func
cb1e0 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 tion.generateSshUrl().{.return.'
cb200 73 73 68 3a 2f 2f 68 67 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 ssh://hg@'...$this->originUrl...
cb220 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 '/'...$this->owner.'/'.$this->re
cb240 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e pository;.}.}.<?php............n
cb260 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 amespace.Composer\Repository\Vcs
cb280 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
cb2a0 6f 73 65 72 5c 55 74 69 6c 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 75 73 65 20 43 6f 6d oser\Util\Hg.as.HgUtils;.use.Com
cb2c0 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
cb2e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f Composer\Util\Filesystem;.use.Co
cb300 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 mposer\IO\IOInterface;.....class
cb320 20 48 67 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 .HgDriver.extends.VcsDriver.{.pr
cb340 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 otected.$tags;.protected.$branch
cb360 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 es;.protected.$rootIdentifier;.p
cb380 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e rotected.$repoDir;.protected.$in
cb3a0 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 foCache.=.array();.....public.fu
cb3c0 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 nction.initialize().{.if.(Filesy
cb3e0 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b stem::isLocalPath($this->url)).{
cb400 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 .$this->repoDir.=.$this->url;.}.
cb420 65 6c 73 65 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 else.{.$cacheDir.=.$this->config
cb440 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 3b 0a 24 74 68 69 73 2d 3e 72 ->get('cache-vcs-dir');.$this->r
cb460 65 70 6f 44 69 72 20 3d 20 24 63 61 63 68 65 44 69 72 20 2e 20 27 2f 27 20 2e 20 70 72 65 67 5f epoDir.=.$cacheDir...'/'...preg_
cb480 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 replace('{[^a-z0-9]}i',.'-',.$th
cb4a0 69 73 2d 3e 75 72 6c 29 20 2e 20 27 2f 27 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 is->url)...'/';..$fs.=.new.Files
cb4c0 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 ystem();.$fs->ensureDirectoryExi
cb4e0 73 74 73 28 24 63 61 63 68 65 44 69 72 29 3b 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c sts($cacheDir);..if.(!is_writabl
cb500 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 29 20 7b 0a 74 68 e(dirname($this->repoDir))).{.th
cb520 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e row.new.\RuntimeException('Can.n
cb540 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 63 63 65 73 ot.clone.'.$this->url.'.to.acces
cb560 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 27 2e 24 63 s.package.information..The."'.$c
cb580 61 63 68 65 44 69 72 2e 27 22 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 acheDir.'".directory.is.not.writ
cb5a0 61 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a able.by.the.current.user.');.}..
cb5c0 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f ..$this->config->prohibitUrlByCo
cb5e0 6e 66 69 67 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 24 68 nfig($this->url,.$this->io);..$h
cb600 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 gUtils.=.new.HgUtils($this->io,.
cb620 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a $this->config,.$this->process);.
cb640 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 20 26 26 ...if.(is_dir($this->repoDir).&&
cb660 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 .0.===.$this->process->execute('
cb680 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 hg.summary',.$output,.$this->rep
cb6a0 6f 44 69 72 29 29 20 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 oDir)).{.if.(0.!==.$this->proces
cb6c0 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 70 75 6c 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 s->execute('hg.pull',.$output,.$
cb6e0 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 this->repoDir)).{.$this->io->wri
cb700 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 teError('<error>Failed.to.update
cb720 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 .'.$this->url.',.package.informa
cb740 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 79 20 62 65 tion.from.this.repository.may.be
cb760 20 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 .outdated.('.$this->process->get
cb780 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 20 ErrorOutput().')</error>');.}.}.
cb7a0 65 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 else.{...$fs->removeDirectory($t
cb7c0 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 66 75 6e 63 74 his->repoDir);..$command.=.funct
cb7e0 69 6f 6e 20 28 24 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 ion.($url).{.return.sprintf('hg.
cb800 63 6c 6f 6e 65 20 2d 2d 6e 6f 75 70 64 61 74 65 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 clone.--noupdate.%s.%s',.Process
cb820 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 Executor::escape($url),.ProcessE
cb840 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 xecutor::escape($this->repoDir))
cb860 3b 0a 7d 3b 0a 0a 24 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d ;.};..$hgUtils->runCommand($comm
cb880 61 6e 64 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 and,.$this->url,.$this->repoDir)
cb8a0 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e ;.}.}..$this->getTags();.$this->
cb8c0 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 getBranches();.}.....public.func
cb8e0 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 6e tion.getRootIdentifier().{.if.(n
cb900 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b ull.===.$this->rootIdentifier).{
cb920 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 .$this->process->execute(sprintf
cb940 28 27 68 67 20 74 69 70 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 6e 6f 64 65 7d 22 27 29 2c 20 ('hg.tip.--template."{node}"'),.
cb960 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 6f 75 74 70 75 $output,.$this->repoDir);.$outpu
cb980 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 t.=.$this->process->splitLines($
cb9a0 6f 75 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d output);.$this->rootIdentifier.=
cb9c0 20 24 6f 75 74 70 75 74 5b 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f .$output[0];.}..return.$this->ro
cb9e0 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 otIdentifier;.}.....public.funct
cba00 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c ion.getUrl().{.return.$this->url
cba20 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 ;.}.....public.function.getSourc
cba40 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 e($identifier).{.return.array('t
cba60 79 70 65 27 20 3d 3e 20 27 68 67 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 ype'.=>.'hg',.'url'.=>.$this->ge
cba80 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 tUrl(),.'reference'.=>.$identifi
cbaa0 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 er);.}.....public.function.getDi
cbac0 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d st($identifier).{.return.null;.}
cbae0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 .....public.function.getFileCont
cbb00 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 72 65 73 6f 75 ent($file,.$identifier).{.$resou
cbb20 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 61 74 20 2d 72 20 25 73 20 25 73 27 2c rce.=.sprintf('hg.cat.-r.%s.%s',
cbb40 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 .ProcessExecutor::escape($identi
cbb60 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 fier),.ProcessExecutor::escape($
cbb80 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 file));.$this->process->execute(
cbba0 24 72 65 73 6f 75 72 63 65 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f $resource,.$content,.$this->repo
cbbc0 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 65 Dir);..if.(!trim($content)).{.re
cbbe0 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a turn;.}..return.$content;.}.....
cbc00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 public.function.getChangeDate($i
cbc20 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 dentifier).{.$this->process->exe
cbc40 63 75 74 65 28 0a 73 70 72 69 6e 74 66 28 0a 27 68 67 20 6c 6f 67 20 2d 2d 74 65 6d 70 6c 61 74 cute(.sprintf(.'hg.log.--templat
cbc60 65 20 22 7b 64 61 74 65 7c 72 66 63 33 33 33 39 64 61 74 65 7d 22 20 2d 72 20 25 73 27 2c 0a 50 e."{date|rfc3339date}".-r.%s',.P
cbc80 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 rocessExecutor::escape($identifi
cbca0 65 72 29 0a 29 2c 0a 24 6f 75 74 70 75 74 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 0a 29 er).),.$output,.$this->repoDir.)
cbcc0 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 74 72 69 6d 28 24 6f 75 ;..return.new.\DateTime(trim($ou
cbce0 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 tput),.new.\DateTimeZone('UTC'))
cbd00 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 ;.}.....public.function.getTags(
cbd20 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a ).{.if.(null.===.$this->tags).{.
cbd40 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 $tags.=.array();..$this->process
cbd60 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 74 61 67 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 ->execute('hg.tags',.$output,.$t
cbd80 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 his->repoDir);.foreach.($this->p
cbda0 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 rocess->splitLines($output).as.$
cbdc0 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 67 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 tag).{.if.($tag.&&.preg_match('(
cbde0 5e 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 74 61 67 2c 20 24 ^([^\s]+)\s+\d+:(.*)$)',.$tag,.$
cbe00 6d 61 74 63 68 29 29 20 7b 0a 24 74 61 67 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 match)).{.$tags[$match[1]].=.$ma
cbe20 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 74 61 67 73 5b 27 74 69 70 27 5d 29 3b tch[2];.}.}.unset($tags['tip']);
cbe40 0a 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 74 61 67 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e ..$this->tags.=.$tags;.}..return
cbe60 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .$this->tags;.}.....public.funct
cbe80 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d ion.getBranches().{.if.(null.===
cbea0 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 .$this->branches).{.$branches.=.
cbec0 61 72 72 61 79 28 29 3b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a array();.$bookmarks.=.array();..
cbee0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 72 61 6e $this->process->execute('hg.bran
cbf00 63 68 65 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b ches',.$output,.$this->repoDir);
cbf20 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c .foreach.($this->process->splitL
cbf40 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 ines($output).as.$branch).{.if.(
cbf60 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 5b 5e 5c 73 5d 2b $branch.&&.preg_match('(^([^\s]+
cbf80 29 5c 73 2b 5c 64 2b 3a 28 5b 61 2d 66 30 2d 39 5d 2b 29 29 27 2c 20 24 62 72 61 6e 63 68 2c 20 )\s+\d+:([a-f0-9]+))',.$branch,.
cbfa0 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 $match)).{.$branches[$match[1]].
cbfc0 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 =.$match[2];.}.}..$this->process
cbfe0 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 6f 6f 6b 6d 61 72 6b 73 27 2c 20 24 6f 75 74 70 75 ->execute('hg.bookmarks',.$outpu
cc000 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 t,.$this->repoDir);.foreach.($th
cc020 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 is->process->splitLines($output)
cc040 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 .as.$branch).{.if.($branch.&&.pr
cc060 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 3f 3a 5b 5c 73 2a 5d 2a 29 28 5b 5e 5c 73 5d 2b 29 5c 73 eg_match('(^(?:[\s*]*)([^\s]+)\s
cc080 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 +\d+:(.*)$)',.$branch,.$match)).
cc0a0 7b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 {.$bookmarks[$match[1]].=.$match
cc0c0 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 [2];.}.}....$this->branches.=.ar
cc0e0 72 61 79 5f 6d 65 72 67 65 28 24 62 6f 6f 6b 6d 61 72 6b 73 2c 20 24 62 72 61 6e 63 68 65 73 29 ray_merge($bookmarks,.$branches)
cc100 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a ;.}..return.$this->branches;.}..
cc120 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 ...public.static.function.suppor
cc140 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 ts(IOInterface.$io,.Config.$conf
cc160 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 ig,.$url,.$deep.=.false).{.if.(p
cc180 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 28 3f 3a 68 74 74 70 73 3f 7c 73 73 68 29 3a 2f 2f 28 reg_match('#(^(?:https?|ssh)://(
cc1a0 3f 3a 5b 5e 40 5d 2b 40 29 3f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 7c 68 74 74 70 73 3a 2f 2f ?:[^@]+@)?bitbucket.org|https://
cc1c0 28 3f 3a 2e 2a 3f 29 5c 2e 6b 69 6c 6e 68 67 2e 63 6f 6d 29 23 69 27 2c 20 24 75 72 6c 29 29 20 (?:.*?)\.kilnhg.com)#i',.$url)).
cc1e0 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 {.return.true;.}....if.(Filesyst
cc200 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 em::isLocalPath($url)).{.$url.=.
cc220 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 75 72 6c Filesystem::getPlatformPath($url
cc240 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 );.if.(!is_dir($url)).{.return.f
cc260 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 alse;.}..$process.=.new.ProcessE
cc280 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 xecutor($io);...if.($process->ex
cc2a0 65 63 75 74 65 28 27 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 72 ecute('hg.summary',.$output,.$ur
cc2c0 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 l).===.0).{.return.true;.}.}..if
cc2e0 20 28 21 24 64 65 65 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 .(!$deep).{.return.false;.}..$pr
cc300 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 ocessExecutor.=.new.ProcessExecu
cc320 74 6f 72 28 24 69 6f 29 3b 0a 24 65 78 69 74 20 3d 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 tor($io);.$exit.=.$processExecut
cc340 6f 72 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 69 64 65 6e 74 69 66 79 or->execute(sprintf('hg.identify
cc360 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 .%s',.ProcessExecutor::escape($u
cc380 72 6c 29 29 2c 20 24 69 67 6e 6f 72 65 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 20 3d rl)),.$ignored);..return.$exit.=
cc3a0 3d 3d 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ==.0;.}.}.<?php............names
cc3c0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 pace.Composer\Repository\Vcs;..u
cc3e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
cc400 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 \IO\IOInterface;.use.Composer\Ut
cc420 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 il\ProcessExecutor;.use.Composer
cc440 5c 55 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 \Util\Perforce;.....class.Perfor
cc460 63 65 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f ceDriver.extends.VcsDriver.{.pro
cc480 74 65 63 74 65 64 20 24 64 65 70 6f 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 tected.$depot;.protected.$branch
cc4a0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 70 75 62 6c ;..protected.$perforce;.....publ
cc4c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 ic.function.initialize().{.$this
cc4e0 2d 3e 64 65 70 6f 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 ->depot.=.$this->repoConfig['dep
cc500 6f 74 27 5d 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 ot'];.$this->branch.=.'';.if.(!e
cc520 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d mpty($this->repoConfig['branch']
cc540 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f )).{.$this->branch.=.$this->repo
cc560 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 Config['branch'];.}..$this->init
cc580 50 65 72 66 6f 72 63 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 24 74 68 Perforce($this->repoConfig);.$th
cc5a0 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e 28 29 3b 0a 24 74 68 69 73 2d 3e is->perforce->p4Login();.$this->
cc5c0 70 65 72 66 6f 72 63 65 2d 3e 63 68 65 63 6b 53 74 72 65 61 6d 28 29 3b 0a 0a 24 74 68 69 73 2d perforce->checkStream();..$this-
cc5e0 3e 70 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a >perforce->writeP4ClientSpec();.
cc600 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 $this->perforce->connectClient()
cc620 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ;..return.true;.}..private.funct
cc640 69 6f 6e 20 69 6e 69 74 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a ion.initPerforce($repoConfig).{.
cc660 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 72 if.(!empty($this->perforce)).{.r
cc680 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 eturn;.}..$repoDir.=.$this->conf
cc6a0 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e ig->get('cache-vcs-dir')...'/'..
cc6c0 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d .$this->depot;.$this->perforce.=
cc6e0 20 50 65 72 66 6f 72 63 65 3a 3a 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 .Perforce::create($repoConfig,.$
cc700 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 24 72 65 70 6f 44 69 72 2c 20 24 74 68 69 73 2d this->getUrl(),.$repoDir,.$this-
cc720 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c >process,.$this->io);.}.....publ
cc740 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 ic.function.getFileContent($file
cc760 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 ,.$identifier).{.return.$this->p
cc780 65 72 66 6f 72 63 65 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 erforce->getFileContent($file,.$
cc7a0 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 identifier);.}.....public.functi
cc7c0 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a on.getChangeDate($identifier).{.
cc7e0 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 return.null;.}.....public.functi
cc800 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 on.getRootIdentifier().{.return.
cc820 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $this->branch;.}.....public.func
cc840 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tion.getBranches().{.return.$thi
cc860 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a s->perforce->getBranches();.}...
cc880 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 72 65 ..public.function.getTags().{.re
cc8a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 54 61 67 73 28 29 3b turn.$this->perforce->getTags();
cc8c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 .}.....public.function.getDist($
cc8e0 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a identifier).{.return.null;.}....
cc900 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e .public.function.getSource($iden
cc920 74 69 66 69 65 72 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 tifier).{.$source.=.array(.'type
cc940 27 20 3d 3e 20 27 70 65 72 66 6f 72 63 65 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d '.=>.'perforce',.'url'.=>.$this-
cc960 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 >repoConfig['url'],.'reference'.
cc980 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 27 70 34 75 73 65 72 27 20 3d 3e 20 24 74 68 69 =>.$identifier,.'p4user'.=>.$thi
cc9a0 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 55 73 65 72 28 29 2c 0a 29 3b 0a 0a 72 65 74 75 s->perforce->getUser(),.);..retu
cc9c0 72 6e 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rn.$source;.}.....public.functio
cc9e0 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a n.getUrl().{.return.$this->url;.
cca00 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 }.....public.function.hasCompose
cca20 72 46 69 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 49 6e rFile($identifier).{.$composerIn
cca40 66 6f 20 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 fo.=.$this->perforce->getCompose
cca60 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 rInformation('//'...$this->depot
cca80 20 2e 20 27 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 ...'/'...$identifier);.$composer
ccaa0 49 6e 66 6f 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 InfoIdentifier.=.$identifier;..r
ccac0 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 73 65 72 49 6e 66 6f 29 3b 0a 7d 0a 0a eturn.!empty($composerInfo);.}..
ccae0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 ...public.function.getContents($
ccb00 75 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 url).{.return.false;.}.....publi
ccb20 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 c.static.function.supports(IOInt
ccb40 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c erface.$io,.Config.$config,.$url
ccb60 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 64 65 65 70 20 7c 7c 20 ,.$deep.=.false).{.if.($deep.||.
ccb80 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5c 62 28 70 65 72 66 6f 72 63 65 7c 70 34 29 5c 62 23 69 preg_match('#\b(perforce|p4)\b#i
ccba0 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 50 65 72 66 6f 72 63 65 3a 3a 63 68 65 ',.$url)).{.return.Perforce::che
ccbc0 63 6b 53 65 72 76 65 72 45 78 69 73 74 73 28 24 75 72 6c 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 ckServerExists($url,.new.Process
ccbe0 45 78 65 63 75 74 6f 72 28 24 69 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b Executor($io));.}..return.false;
ccc00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 .}.....public.function.cleanup()
ccc20 0a 7b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6c 65 61 6e 75 70 43 6c 69 65 6e .{.$this->perforce->cleanupClien
ccc40 74 53 70 65 63 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 6e 75 6c 6c 3b tSpec();.$this->perforce.=.null;
ccc60 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 6f 74 28 29 0a 7b .}..public.function.getDepot().{
ccc80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 .return.$this->depot;.}..public.
ccca0 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 function.getBranch().{.return.$t
cccc0 68 69 73 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a his->branch;.}.}.<?php..........
ccce0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c ..namespace.Composer\Repository\
ccd00 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f Vcs;..use.Composer\Cache;.use.Co
ccd20 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e mposer\Config;.use.Composer\Json
ccd40 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f \JsonFile;.use.Composer\Util\Pro
ccd60 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
ccd80 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 Filesystem;.use.Composer\Util\Sv
ccda0 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f n.as.SvnUtil;.use.Composer\IO\IO
ccdc0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 Interface;.use.Composer\Download
ccde0 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 er\TransportException;......clas
cce00 73 20 53 76 6e 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a s.SvnDriver.extends.VcsDriver.{.
cce20 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 ...protected.$cache;.protected.$
cce40 62 61 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 baseUrl;.protected.$tags;.protec
cce60 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 ted.$branches;.protected.$rootId
cce80 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d entifier;.protected.$infoCache.=
ccea0 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 75 6e 6b 50 61 74 68 20 .array();..protected.$trunkPath.
ccec0 3d 20 27 74 72 75 6e 6b 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 50 61 =.'trunk';.protected.$branchesPa
ccee0 74 68 20 3d 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 th.=.'branches';.protected.$tags
ccf00 50 61 74 68 20 3d 20 27 74 61 67 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 Path.=.'tags';.protected.$packag
ccf20 65 50 61 74 68 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 ePath.=.'';.protected.$cacheCred
ccf40 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 74 69 entials.=.true;.....private.$uti
ccf60 6c 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a l;.....public.function.initializ
ccf80 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 e().{.$this->url.=.$this->baseUr
ccfa0 6c 20 3d 20 72 74 72 69 6d 28 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 74 68 l.=.rtrim(self::normalizeUrl($th
ccfc0 69 73 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 is->url),.'/');..SvnUtil::cleanE
ccfe0 6e 76 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 nv();..if.(isset($this->repoConf
cd000 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 75 6e ig['trunk-path'])).{.$this->trun
cd020 6b 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b kPath.=.$this->repoConfig['trunk
cd040 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f -path'];.}.if.(isset($this->repo
cd060 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 Config['branches-path'])).{.$thi
cd080 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e s->branchesPath.=.$this->repoCon
cd0a0 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 fig['branches-path'];.}.if.(isse
cd0c0 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d t($this->repoConfig['tags-path']
cd0e0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 )).{.$this->tagsPath.=.$this->re
cd100 70 6f 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 72 poConfig['tags-path'];.}.if.(arr
cd120 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 ay_key_exists('svn-cache-credent
cd140 69 61 6c 73 27 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 ials',.$this->repoConfig)).{.$th
cd160 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 74 is->cacheCredentials.=.(bool).$t
cd180 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 his->repoConfig['svn-cache-crede
cd1a0 6e 74 69 61 6c 73 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 ntials'];.}.if.(isset($this->rep
cd1c0 6f 43 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 oConfig['package-path'])).{.$thi
cd1e0 73 2d 3e 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 74 68 69 s->packagePath.=.'/'...trim($thi
cd200 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 2c 20 27 s->repoConfig['package-path'],.'
cd220 2f 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 20 3d 20 73 74 /');.}..if.(false.!==.($pos.=.st
cd240 72 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 rrpos($this->url,.'/'...$this->t
cd260 72 75 6e 6b 50 61 74 68 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 runkPath))).{.$this->baseUrl.=.s
cd280 75 62 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 24 ubstr($this->url,.0,.$pos);.}..$
cd2a0 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 this->cache.=.new.Cache($this->i
cd2c0 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 o,.$this->config->get('cache-rep
cd2e0 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a o-dir').'/'.preg_replace('{[^a-z
cd300 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 29 3b 0-9.]}i',.'-',.$this->baseUrl));
cd320 0a 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 ..$this->getBranches();.$this->g
cd340 65 74 54 61 67 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 etTags();.}.....public.function.
cd360 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 getRootIdentifier().{.return.$th
cd380 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3f 3a 20 24 74 68 69 73 2d 3e 74 72 75 is->rootIdentifier.?:.$this->tru
cd3a0 6e 6b 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 nkPath;.}.....public.function.ge
cd3c0 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a tUrl().{.return.$this->url;.}...
cd3e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 ..public.function.getSource($ide
cd400 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d ntifier).{.return.array('type'.=
cd420 3e 20 27 73 76 6e 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c >.'svn',.'url'.=>.$this->baseUrl
cd440 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d ,.'reference'.=>.$identifier);.}
cd460 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 .....public.function.getDist($id
cd480 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 entifier).{.return.null;.}.....p
cd4a0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 rotected.function.shouldCache($i
cd4c0 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 dentifier).{.return.$this->cache
cd4e0 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 40 5c 64 2b 24 7d 27 2c 20 24 69 64 65 6e 74 .&&.preg_match('{@\d+$}',.$ident
cd500 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ifier);.}.....public.function.ge
cd520 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 tComposerInformation($identifier
cd540 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b ).{.if.(!isset($this->infoCache[
cd560 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 $identifier])).{.if.($this->shou
cd580 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 ldCache($identifier).&&.$res.=.$
cd5a0 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2e this->cache->read($identifier.'.
cd5c0 6a 73 6f 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 json')).{.return.$this->infoCach
cd5e0 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 e[$identifier].=.JsonFile::parse
cd600 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d Json($res);.}..try.{.$composer.=
cd620 20 24 74 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 .$this->getBaseComposerInformati
cd640 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 on($identifier);.}.catch.(Transp
cd660 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 ortException.$e).{.$message.=.$e
cd680 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 69 66 20 28 73 74 72 69 70 6f 73 28 24 6d 65 73 ->getMessage();.if.(stripos($mes
cd6a0 73 61 67 65 2c 20 27 70 61 74 68 20 6e 6f 74 20 66 6f 75 6e 64 27 29 20 3d 3d 3d 20 66 61 6c 73 sage,.'path.not.found').===.fals
cd6c0 65 20 26 26 20 73 74 72 69 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 73 76 6e 3a 20 77 61 72 e.&&.stripos($message,.'svn:.war
cd6e0 6e 69 6e 67 3a 20 57 31 36 30 30 31 33 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 74 68 72 ning:.W160013').===.false).{.thr
cd700 6f 77 20 24 65 3b 0a 7d 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 27 27 3b 0a 7d 0a 0a 69 66 ow.$e;.}...$composer.=.'';.}..if
cd720 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 .($this->shouldCache($identifier
cd740 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 )).{.$this->cache->write($identi
cd760 66 69 65 72 2e 27 2e 6a 73 6f 6e 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f fier.'.json',.json_encode($compo
cd780 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e ser));.}..$this->infoCache[$iden
cd7a0 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 tifier].=.$composer;.}..return.$
cd7c0 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a this->infoCache[$identifier];.}.
cd7e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 .....public.function.getFileCont
cd800 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 ent($file,.$identifier).{.$ident
cd820 69 66 69 65 72 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 ifier.=.'/'...trim($identifier,.
cd840 27 2f 27 29 20 2e 20 27 2f 27 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 '/')...'/';..preg_match('{^(.+?)
cd860 28 40 5c 64 2b 29 3f 2f 24 7d 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 (@\d+)?/$}',.$identifier,.$match
cd880 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 );.if.(!empty($match[2])).{.$pat
cd8a0 68 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b h.=.$match[1];.$rev.=.$match[2];
cd8c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 .}.else.{.$path.=.$identifier;.$
cd8e0 72 65 76 20 3d 20 27 27 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 rev.=.'';.}..try.{.$resource.=.$
cd900 70 61 74 68 2e 24 66 69 6c 65 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 path.$file;.$output.=.$this->exe
cd920 63 75 74 65 28 27 73 76 6e 20 63 61 74 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e cute('svn.cat',.$this->baseUrl..
cd940 20 24 72 65 73 6f 75 72 63 65 20 2e 20 24 72 65 76 29 3b 0a 69 66 20 28 21 74 72 69 6d 28 24 6f .$resource...$rev);.if.(!trim($o
cd960 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 20 63 61 74 63 68 utput)).{.return.null;.}.}.catch
cd980 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 .(\RuntimeException.$e).{.throw.
cd9a0 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 new.TransportException($e->getMe
cd9c0 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a ssage());.}..return.$output;.}..
cd9e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 ...public.function.getChangeDate
cda00 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 27 2f ($identifier).{.$identifier.=.'/
cda20 27 20 2e 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 29 20 2e 20 27 2f 27 '...trim($identifier,.'/')...'/'
cda40 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 5c 64 2b 29 3f 2f 24 7d ;..preg_match('{^(.+?)(@\d+)?/$}
cda60 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 21 65 6d ',.$identifier,.$match);.if.(!em
cda80 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 6d 61 74 63 68 pty($match[2])).{.$path.=.$match
cdaa0 5b 31 5d 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a [1];.$rev.=.$match[2];.}.else.{.
cdac0 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 72 65 76 20 3d 20 27 27 3b 0a $path.=.$identifier;.$rev.=.'';.
cdae0 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e }..$output.=.$this->execute('svn
cdb00 20 69 6e 66 6f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 24 70 61 74 68 20 2e .info',.$this->baseUrl...$path..
cdb20 20 24 72 65 76 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d .$rev);.foreach.($this->process-
cdb40 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 6c 69 6e 65 29 20 7b >splitLines($output).as.$line).{
cdb60 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 4c 61 73 74 .if.($line.&&.preg_match('{^Last
cdb80 20 43 68 61 6e 67 65 64 20 44 61 74 65 3a 20 28 5b 5e 28 5d 2b 29 7d 27 2c 20 24 6c 69 6e 65 2c .Changed.Date:.([^(]+)}',.$line,
cdba0 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 .$match)).{.return.new.\DateTime
cdbc0 28 24 6d 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 ($match[1],.new.\DateTimeZone('U
cdbe0 54 43 27 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 TC'));.}.}..return.null;.}.....p
cdc00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e ublic.function.getTags().{.if.(n
cdc20 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 ull.===.$this->tags).{.$this->ta
cdc40 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 61 67 73 50 61 gs.=.array();..if.($this->tagsPa
cdc60 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d th.!==.false).{.$output.=.$this-
cdc80 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 68 >execute('svn.ls.--verbose',.$th
cdca0 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 is->baseUrl...'/'...$this->tagsP
cdcc0 61 74 68 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 ath);.if.($output).{.foreach.($t
cdce0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 his->process->splitLines($output
cdd00 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 ).as.$line).{.$line.=.trim($line
cdd20 29 3b 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 );.if.($line.&&.preg_match('{^\s
cdd40 2a 28 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 *(\S+).*?(\S+)\s*$}',.$line,.$ma
cdd60 74 63 68 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 tch)).{.if.(isset($match[1]).&&.
cdd80 69 73 73 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d isset($match[2]).&&.$match[2].!=
cdda0 3d 20 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 72 74 72 69 6d 28 24 6d 61 74 =.'./').{.$this->tags[rtrim($mat
cddc0 63 68 5b 32 5d 2c 20 27 2f 27 29 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 ch[2],.'/')].=.$this->buildIdent
cdde0 69 66 69 65 72 28 0a 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 2e 20 27 ifier(.'/'...$this->tagsPath...'
cde00 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d /'...$match[2],.$match[1].);.}.}
cde20 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a .}.}.}.}..return.$this->tags;.}.
cde40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 ....public.function.getBranches(
cde60 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 ).{.if.(null.===.$this->branches
cde80 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ).{.$this->branches.=.array();..
cdea0 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 29 20 if.(false.===.$this->trunkPath).
cdec0 7b 0a 24 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 {.$trunkParent.=.$this->baseUrl.
cdee0 2e 20 27 2f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 ..'/';.}.else.{.$trunkParent.=.$
cdf00 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 this->baseUrl...'/'...$this->tru
cdf20 6e 6b 50 61 74 68 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 nkPath;.}..$output.=.$this->exec
cdf40 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 72 75 6e 6b 50 61 ute('svn.ls.--verbose',.$trunkPa
cdf60 72 65 6e 74 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 rent);.if.($output).{.foreach.($
cdf80 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 this->process->splitLines($outpu
cdfa0 74 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e t).as.$line).{.$line.=.trim($lin
cdfc0 65 29 3b 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c e);.if.($line.&&.preg_match('{^\
cdfe0 73 2a 28 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d s*(\S+).*?(\S+)\s*$}',.$line,.$m
ce000 61 74 63 68 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 atch)).{.if.(isset($match[1]).&&
ce020 20 69 73 73 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 3d .isset($match[2]).&&.$match[2].=
ce040 3d 3d 20 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 27 74 72 75 6e ==.'./').{.$this->branches['trun
ce060 6b 27 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 2f k'].=.$this->buildIdentifier(.'/
ce080 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a '...$this->trunkPath,.$match[1].
ce0a0 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 );.$this->rootIdentifier.=.$this
ce0c0 2d 3e 62 72 61 6e 63 68 65 73 5b 27 74 72 75 6e 6b 27 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a ->branches['trunk'];.break;.}.}.
ce0e0 7d 0a 7d 0a 75 6e 73 65 74 28 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e }.}.unset($output);..if.($this->
ce100 62 72 61 6e 63 68 65 73 50 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 branchesPath.!==.false).{.$outpu
ce120 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 t.=.$this->execute('svn.ls.--ver
ce140 62 6f 73 65 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 bose',.$this->baseUrl...'/'...$t
ce160 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 his->branchesPath);.if.($output)
ce180 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 .{.foreach.($this->process->spli
ce1a0 74 4c 69 6e 65 73 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 61 73 20 24 6c 69 6e 65 29 20 tLines(trim($output)).as.$line).
ce1c0 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 69 66 20 28 24 6c 69 6e 65 {.$line.=.trim($line);.if.($line
ce1e0 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 53 2b 29 2e 2a 3f 28 5c 53 .&&.preg_match('{^\s*(\S+).*?(\S
ce200 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 +)\s*$}',.$line,.$match)).{.if.(
ce220 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 74 63 68 isset($match[1]).&&.isset($match
ce240 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 2e 2f 27 29 20 7b 0a 24 74 [2]).&&.$match[2].!==.'./').{.$t
ce260 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 72 74 72 69 6d 28 24 6d 61 74 63 68 5b 32 5d 2c 20 27 his->branches[rtrim($match[2],.'
ce280 2f 27 29 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 /')].=.$this->buildIdentifier(.'
ce2a0 2f 27 20 2e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 20 2e 20 27 2f 27 20 2e /'...$this->branchesPath...'/'..
ce2c0 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d .$match[2],.$match[1].);.}.}.}.}
ce2e0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a .}.}..return.$this->branches;.}.
ce300 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f ....public.static.function.suppo
ce320 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e rts(IOInterface.$io,.Config.$con
ce340 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 72 6c fig,.$url,.$deep.=.false).{.$url
ce360 20 3d 20 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 3b 0a 69 66 20 .=.self::normalizeUrl($url);.if.
ce380 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 73 76 6e 3a 2f 2f 7c 5e 73 76 6e 5c 2b 73 73 68 (preg_match('#(^svn://|^svn\+ssh
ce3a0 3a 2f 2f 7c 73 76 6e 5c 2e 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 ://|svn\.)#i',.$url)).{.return.t
ce3c0 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 64 65 65 70 20 26 26 20 21 46 69 6c 65 73 79 73 rue;.}....if.(!$deep.&&.!Filesys
ce3e0 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e tem::isLocalPath($url)).{.return
ce400 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 .false;.}..$processExecutor.=.ne
ce420 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 24 65 78 69 74 20 3d w.ProcessExecutor($io);..$exit.=
ce440 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 0a 22 73 76 6e .$processExecutor->execute(."svn
ce460 20 69 6e 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 22 2e 50 72 6f 63 65 73 .info.--non-interactive.".Proces
ce480 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 0a 24 69 67 6e 6f 72 65 sExecutor::escape($url),.$ignore
ce4a0 64 4f 75 74 70 75 74 0a 29 3b 0a 0a 69 66 20 28 24 65 78 69 74 20 3d 3d 3d 20 30 29 20 7b 0a 0a dOutput.);..if.($exit.===.0).{..
ce4c0 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d .return.true;.}....if.(false.!==
ce4e0 20 73 74 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 67 65 74 45 72 .stripos($processExecutor->getEr
ce500 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 6c rorOutput(),.'authorization.fail
ce520 65 64 3a 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 ed:')).{.....return.true;.}....i
ce540 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 45 78 65 f.(false.!==.stripos($processExe
ce560 63 75 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 41 75 74 68 65 6e cutor->getErrorOutput(),.'Authen
ce580 74 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 tication.failed')).{.....return.
ce5a0 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a true;.}..return.false;.}........
ce5c0 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 .protected.static.function.norma
ce5e0 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 lizeUrl($url).{.$fs.=.new.Filesy
ce600 73 74 65 6d 28 29 3b 0a 69 66 20 28 24 66 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 stem();.if.($fs->isAbsolutePath(
ce620 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 73 74 72 74 $url)).{.return.'file://'...strt
ce640 72 28 24 75 72 6c 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 r($url,.'\\',.'/');.}..return.$u
ce660 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 rl;.}...........protected.functi
ce680 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 on.execute($command,.$url).{.if.
ce6a0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 29 20 7b 0a 24 74 68 69 73 2d 3e (null.===.$this->util).{.$this->
ce6c0 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 74 68 69 73 2d 3e 62 61 73 65 55 72 util.=.new.SvnUtil($this->baseUr
ce6e0 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 l,.$this->io,.$this->config,.$th
ce700 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 73 65 74 43 61 is->process);.$this->util->setCa
ce720 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 cheCredentials($this->cacheCrede
ce740 6e 74 69 61 6c 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ntials);.}..try.{.return.$this->
ce760 75 74 69 6c 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 3b 0a 7d util->execute($command,.$url);.}
ce780 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a .catch.(\RuntimeException.$e).{.
ce7a0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 62 69 6e 61 72 79 if.(null.===.$this->util->binary
ce7c0 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 Version()).{.throw.new.\RuntimeE
ce7e0 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 27 2e 24 74 68 69 73 xception('Failed.to.load.'.$this
ce800 2d 3e 75 72 6c 2e 27 2c 20 73 76 6e 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 ->url.',.svn.was.not.found,.chec
ce820 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f k.that.it.is.installed.and.in.yo
ce840 75 72 20 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e ur.PATH.env.'..."\n\n"...$this->
ce860 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 74 process->getErrorOutput());.}..t
ce880 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 52 65 70 hrow.new.\RuntimeException(.'Rep
ce8a0 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 ository.'.$this->url.'.could.not
ce8c0 20 62 65 20 70 72 6f 63 65 73 73 65 64 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 .be.processed,.'.$e->getMessage(
ce8e0 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ).);.}.}..........protected.func
ce900 74 69 6f 6e 20 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 24 62 61 73 65 44 69 72 2c 20 24 tion.buildIdentifier($baseDir,.$
ce920 72 65 76 69 73 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 62 61 73 65 44 69 revision).{.return.rtrim($baseDi
ce940 72 2c 20 27 2f 27 29 20 2e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 61 74 68 20 2e 20 27 r,.'/')...$this->packagePath...'
ce960 2f 40 27 20 2e 20 24 72 65 76 69 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a /@'...$revision;.}.}.<?php......
ce980 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
ce9a0 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 ory\Vcs;..use.Composer\Cache;.us
ce9c0 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 e.Composer\Downloader\TransportE
ce9e0 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 xception;.use.Composer\Config;.u
cea00 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 se.Composer\Factory;.use.Compose
cea20 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a r\IO\IOInterface;.use.Composer\J
cea40 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c son\JsonFile;.use.Composer\Util\
cea60 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ProcessExecutor;.use.Composer\Ut
cea80 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 il\RemoteFilesystem;.use.Compose
ceaa0 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 r\Util\Filesystem;.......abstrac
ceac0 74 20 63 6c 61 73 73 20 56 63 73 44 72 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 63 73 t.class.VcsDriver.implements.Vcs
ceae0 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 DriverInterface.{..protected.$ur
ceb00 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 0a 70 72 6f 74 65 l;..protected.$originUrl;..prote
ceb20 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f cted.$repoConfig;..protected.$io
ceb40 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 ;..protected.$config;..protected
ceb60 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f 74 65 46 69 6c .$process;..protected.$remoteFil
ceb80 65 73 79 73 74 65 6d 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d esystem;..protected.$infoCache.=
ceba0 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 0a 0a 0a .array();..protected.$cache;....
cebc0 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 .......final.public.function.__c
cebe0 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e onstruct(array.$repoConfig,.IOIn
cec00 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f terface.$io,.Config.$config,.Pro
cec20 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 cessExecutor.$process.=.null,.Re
cec40 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d moteFilesystem.$remoteFilesystem
cec60 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 .=.null).{.if.(Filesystem::isLoc
cec80 61 6c 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 24 72 alPath($repoConfig['url'])).{.$r
ceca0 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 epoConfig['url'].=.Filesystem::g
cecc0 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 etPlatformPath($repoConfig['url'
cece0 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b ]);.}..$this->url.=.$repoConfig[
ced00 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 72 65 70 6f 'url'];.$this->originUrl.=.$repo
ced20 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 Config['url'];.$this->repoConfig
ced40 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b .=.$repoConfig;.$this->io.=.$io;
ced60 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d .$this->config.=.$config;.$this-
ced80 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 >process.=.$process.?:.new.Proce
ceda0 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 ssExecutor($io);.$this->remoteFi
cedc0 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 lesystem.=.$remoteFilesystem.?:.
cede0 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 Factory::createRemoteFilesystem(
cee00 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 $this->io,.$config);.}........pr
cee20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 otected.function.shouldCache($id
cee40 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 20 entifier).{.return.$this->cache.
cee60 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 7d 69 27 2c &&.preg_match('{[a-f0-9]{40}}i',
cee80 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$identifier);.}.....public.func
ceea0 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 tion.getComposerInformation($ide
ceec0 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 ntifier).{.if.(!isset($this->inf
ceee0 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 oCache[$identifier])).{.if.($thi
cef00 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 s->shouldCache($identifier).&&.$
cef20 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 res.=.$this->cache->read($identi
cef40 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 fier)).{.return.$this->infoCache
cef60 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a [$identifier].=.JsonFile::parseJ
cef80 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d son($res);.}..$composer.=.$this-
cefa0 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 >getBaseComposerInformation($ide
cefc0 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 ntifier);..if.($this->shouldCach
cefe0 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e e($identifier)).{.$this->cache->
cf000 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 write($identifier,.json_encode($
cf020 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b composer));.}..$this->infoCache[
cf040 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 $identifier].=.$composer;.}..ret
cf060 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 urn.$this->infoCache[$identifier
cf080 5d 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 73 65 ];.}..protected.function.getBase
cf0a0 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 ComposerInformation($identifier)
cf0c0 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d .{.$composerFileContent.=.$this-
cf0e0 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c >getFileContent('composer.json',
cf100 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 46 69 .$identifier);..if.(!$composerFi
cf120 6c 65 43 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f leContent).{.return.null;.}..$co
cf140 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 63 6f mposer.=.JsonFile::parseJson($co
cf160 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e mposerFileContent,.$identifier..
cf180 20 27 3a 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 .':composer.json');..if.(empty($
cf1a0 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 29 20 26 26 20 24 63 68 61 6e 67 65 44 61 74 65 composer['time']).&&.$changeDate
cf1c0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 .=.$this->getChangeDate($identif
cf1e0 69 65 72 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 63 68 61 ier)).{.$composer['time'].=.$cha
cf200 6e 67 65 44 61 74 65 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 3b 0a 7d ngeDate->format(DATE_RFC3339);.}
cf220 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ..return.$composer;.}.....public
cf240 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 69 64 65 6e 74 .function.hasComposerFile($ident
cf260 69 66 69 65 72 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 ifier).{.try.{.return.(bool).$th
cf280 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e is->getComposerInformation($iden
cf2a0 74 69 66 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 tifier);.}.catch.(TransportExcep
cf2c0 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a tion.$e).{.}..return.false;.}...
cf2e0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 ......protected.function.getSche
cf300 6d 65 28 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 me().{.if.(extension_loaded('ope
cf320 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 27 3b 0a 7d 0a 0a 72 65 74 nssl')).{.return.'https';.}..ret
cf340 75 72 6e 20 27 68 74 74 70 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 urn.'http';.}.........protected.
cf360 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 0a 7b 0a 24 6f 70 function.getContents($url).{.$op
cf380 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b tions.=.isset($this->repoConfig[
cf3a0 27 6f 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 'options']).?.$this->repoConfig[
cf3c0 27 6f 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 'options'].:.array();..return.$t
cf3e0 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e his->remoteFilesystem->getConten
cf400 74 73 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 ts($this->originUrl,.$url,.false
cf420 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ,.$options);.}.....public.functi
cf440 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 on.cleanup().{.return;.}.}.<?php
cf460 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ............namespace.Composer\R
cf480 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e epository\Vcs;..use.Composer\Con
cf4a0 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 fig;.use.Composer\IO\IOInterface
cf4c0 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 ;.....interface.VcsDriverInterfa
cf4e0 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 ce.{....public.function.initiali
cf500 7a 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ze();........public.function.get
cf520 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 ComposerInformation($identifier)
cf540 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c ;.........public.function.getFil
cf560 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a eContent($file,.$identifier);...
cf580 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 .....public.function.getChangeDa
cf5a0 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 te($identifier);.......public.fu
cf5c0 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 0a 0a 0a 0a nction.getRootIdentifier();.....
cf5e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b ..public.function.getBranches();
cf600 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 .......public.function.getTags()
cf620 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 ;......public.function.getDist($
cf640 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f identifier);......public.functio
cf660 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a n.getSource($identifier);.......
cf680 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a public.function.getUrl();.......
cf6a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c ..public.function.hasComposerFil
cf6c0 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 e($identifier);.....public.funct
cf6e0 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ion.cleanup();...........public.
cf700 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 static.function.supports(IOInter
cf720 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 face.$io,.Config.$config,.$url,.
cf740 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a $deep.=.false);.}.<?php.........
cf760 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
cf780 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 ;..use.Composer\Downloader\Trans
cf7a0 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f portException;.use.Composer\Repo
cf7c0 73 69 74 6f 72 79 5c 56 63 73 5c 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 sitory\Vcs\VcsDriverInterface;.u
cf7e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
cf800 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c ionParser;.use.Composer\Package\
cf820 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 Loader\ArrayLoader;.use.Composer
cf840 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c \Package\Loader\ValidatingArrayL
cf860 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 oader;.use.Composer\Package\Load
cf880 65 72 5c 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 er\InvalidPackageException;.use.
cf8a0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 72 49 6e Composer\Package\Loader\LoaderIn
cf8c0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 terface;.use.Composer\EventDispa
cf8e0 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f tcher\EventDispatcher;.use.Compo
cf900 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ser\IO\IOInterface;.use.Composer
cf920 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 63 73 52 65 70 6f 73 69 74 6f 72 79 \Config;.....class.VcsRepository
cf940 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 .extends.ArrayRepository.impleme
cf960 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 nts.ConfigurableRepositoryInterf
cf980 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 ace.{.protected.$url;.protected.
cf9a0 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 6f 73 65 $packageName;.protected.$verbose
cf9c0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 ;.protected.$io;.protected.$conf
cf9e0 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 ig;.protected.$versionParser;.pr
cfa00 6f 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 otected.$type;.protected.$loader
cfa20 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 ;.protected.$repoConfig;.protect
cfa40 65 64 20 24 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 20 3d 20 66 61 6c 73 65 3b ed.$branchErrorOccurred.=.false;
cfa60 0a 70 72 69 76 61 74 65 20 24 64 72 69 76 65 72 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 72 69 .private.$drivers;..private.$dri
cfa80 76 65 72 3b 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 43 61 63 68 65 3b 0a 70 72 69 ver;..private.$versionCache;.pri
cfaa0 76 61 74 65 20 24 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b vate.$emptyReferences.=.array();
cfac0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 ..public.function.__construct(ar
cfae0 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f ray.$repoConfig,.IOInterface.$io
cfb00 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 ,.Config.$config,.EventDispatche
cfb20 72 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 64 72 69 r.$dispatcher.=.null,.array.$dri
cfb40 76 65 72 73 20 3d 20 6e 75 6c 6c 2c 20 56 65 72 73 69 6f 6e 43 61 63 68 65 49 6e 74 65 72 66 61 vers.=.null,.VersionCacheInterfa
cfb60 63 65 20 24 76 65 72 73 69 6f 6e 43 61 63 68 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e ce.$versionCache.=.null).{.paren
cfb80 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 t::__construct();.$this->drivers
cfba0 20 3d 20 24 64 72 69 76 65 72 73 20 3f 3a 20 61 72 72 61 79 28 0a 27 67 69 74 68 75 62 27 20 3d .=.$drivers.?:.array(.'github'.=
cfbc0 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 48 75 >.'Composer\Repository\Vcs\GitHu
cfbe0 62 44 72 69 76 65 72 27 2c 0a 27 67 69 74 6c 61 62 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c bDriver',.'gitlab'.=>.'Composer\
cfc00 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 4c 61 62 44 72 69 76 65 72 27 2c 0a 27 67 Repository\Vcs\GitLabDriver',.'g
cfc20 69 74 2d 62 69 74 62 75 63 6b 65 74 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 it-bitbucket'.=>.'Composer\Repos
cfc40 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 27 2c 0a 27 itory\Vcs\GitBitbucketDriver',.'
cfc60 67 69 74 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 git'.=>.'Composer\Repository\Vcs
cfc80 5c 47 69 74 44 72 69 76 65 72 27 2c 0a 27 68 67 2d 62 69 74 62 75 63 6b 65 74 27 20 3d 3e 20 27 \GitDriver',.'hg-bitbucket'.=>.'
cfca0 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 42 69 74 62 75 63 Composer\Repository\Vcs\HgBitbuc
cfcc0 6b 65 74 44 72 69 76 65 72 27 2c 0a 27 68 67 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 ketDriver',.'hg'.=>.'Composer\Re
cfce0 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 27 2c 0a 27 70 65 72 66 6f 72 63 pository\Vcs\HgDriver',.'perforc
cfd00 65 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 50 e'.=>.'Composer\Repository\Vcs\P
cfd20 65 72 66 6f 72 63 65 44 72 69 76 65 72 27 2c 0a 27 66 6f 73 73 69 6c 27 20 3d 3e 20 27 43 6f 6d erforceDriver',.'fossil'.=>.'Com
cfd40 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 46 6f 73 73 69 6c 44 72 69 76 65 poser\Repository\Vcs\FossilDrive
cfd60 72 27 2c 0a 0a 20 27 73 76 6e 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 r',...'svn'.=>.'Composer\Reposit
cfd80 6f 72 79 5c 56 63 73 5c 53 76 6e 44 72 69 76 65 72 27 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 ory\Vcs\SvnDriver',.);..$this->u
cfda0 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e rl.=.$repoConfig['url'];.$this->
cfdc0 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 72 io.=.$io;.$this->type.=.isset($r
cfde0 65 70 6f 43 6f 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 67 epoConfig['type']).?.$repoConfig
cfe00 5b 27 74 79 70 65 27 5d 20 3a 20 27 76 63 73 27 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 ['type'].:.'vcs';.$this->verbose
cfe20 20 3d 20 24 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a 24 74 68 69 73 2d 3e .=.$io->isVeryVerbose();.$this->
cfe40 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e config.=.$config;.$this->repoCon
cfe60 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f fig.=.$repoConfig;.$this->versio
cfe80 6e 43 61 63 68 65 20 3d 20 24 76 65 72 73 69 6f 6e 43 61 63 68 65 3b 0a 7d 0a 0a 70 75 62 6c 69 nCache.=.$versionCache;.}..publi
cfea0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 c.function.getRepoConfig().{.ret
cfec0 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 urn.$this->repoConfig;.}..public
cfee0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 61 64 65 72 28 4c 6f 61 64 65 72 49 6e 74 65 72 66 .function.setLoader(LoaderInterf
cff00 61 63 65 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 ace.$loader).{.$this->loader.=.$
cff20 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 72 loader;.}..public.function.getDr
cff40 69 76 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 29 20 7b 0a 72 65 iver().{.if.($this->driver).{.re
cff60 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 turn.$this->driver;.}..if.(isset
cff80 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 69 73 2d 3e 74 79 70 65 5d 29 29 20 7b ($this->drivers[$this->type])).{
cffa0 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 69 73 2d 3e .$class.=.$this->drivers[$this->
cffc0 74 79 70 65 5d 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 63 6c 61 73 type];.$this->driver.=.new.$clas
cffe0 73 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 s($this->repoConfig,.$this->io,.
d0000 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 2d 3e 69 $this->config);.$this->driver->i
d0020 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 nitialize();..return.$this->driv
d0040 65 72 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 61 er;.}..foreach.($this->drivers.a
d0060 73 20 24 64 72 69 76 65 72 29 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 3a 3a 73 75 70 70 6f 72 s.$driver).{.if.($driver::suppor
d0080 74 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 ts($this->io,.$this->config,.$th
d00a0 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 is->url)).{.$this->driver.=.new.
d00c0 24 64 72 69 76 65 72 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 $driver($this->repoConfig,.$this
d00e0 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 ->io,.$this->config);.$this->dri
d0100 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ver->initialize();..return.$this
d0120 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 ->driver;.}.}..foreach.($this->d
d0140 72 69 76 65 72 73 20 61 73 20 24 64 72 69 76 65 72 29 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 rivers.as.$driver).{.if.($driver
d0160 3a 3a 73 75 70 70 6f 72 74 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ::supports($this->io,.$this->con
d0180 66 69 67 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d fig,.$this->url,.true)).{.$this-
d01a0 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 68 69 73 2d 3e 72 65 70 >driver.=.new.$driver($this->rep
d01c0 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 oConfig,.$this->io,.$this->confi
d01e0 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b g);.$this->driver->initialize();
d0200 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 ..return.$this->driver;.}.}.}..p
d0220 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 64 49 6e 76 61 6c 69 64 42 72 61 6e 63 68 65 ublic.function.hadInvalidBranche
d0240 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 45 72 72 6f 72 4f s().{.return.$this->branchErrorO
d0260 63 63 75 72 72 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 ccurred;.}..public.function.getE
d0280 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d mptyReferences().{.return.$this-
d02a0 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 >emptyReferences;.}..protected.f
d02c0 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 unction.initialize().{.parent::i
d02e0 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 76 65 72 62 6f 73 65 20 3d 20 24 74 68 69 73 2d 3e nitialize();..$verbose.=.$this->
d0300 76 65 72 62 6f 73 65 3b 0a 0a 24 64 72 69 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 72 verbose;..$driver.=.$this->getDr
d0320 69 76 65 72 28 29 3b 0a 69 66 20 28 21 24 64 72 69 76 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 iver();.if.(!$driver).{.throw.ne
d0340 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 w.\InvalidArgumentException('No.
d0360 64 72 69 76 65 72 20 66 6f 75 6e 64 20 74 6f 20 68 61 6e 64 6c 65 20 56 43 53 20 72 65 70 6f 73 driver.found.to.handle.VCS.repos
d0380 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 itory.'.$this->url);.}..$this->v
d03a0 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 ersionParser.=.new.VersionParser
d03c0 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c ;.if.(!$this->loader).{.$this->l
d03e0 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 24 74 68 69 73 2d 3e 76 oader.=.new.ArrayLoader($this->v
d0400 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 64 72 69 ersionParser);.}..try.{.if.($dri
d0420 76 65 72 2d 3e 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 64 72 69 76 65 72 2d 3e 67 65 ver->hasComposerFile($driver->ge
d0440 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 29 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 tRootIdentifier())).{.$data.=.$d
d0460 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 64 river->getComposerInformation($d
d0480 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 29 3b 0a 24 74 68 river->getRootIdentifier());.$th
d04a0 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 is->packageName.=.!empty($data['
d04c0 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a name']).?.$data['name'].:.null;.
d04e0 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 }.}.catch.(\Exception.$e).{.if.(
d0500 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f $verbose).{.$this->io->writeErro
d0520 72 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 70 65 64 20 70 61 72 73 69 6e 67 20 27 2e 24 64 72 69 r('<error>Skipped.parsing.'.$dri
d0540 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 2e 27 2c 20 27 2e 24 65 ver->getRootIdentifier().',.'.$e
d0560 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 0a ->getMessage().'</error>');.}.}.
d0580 0a 66 6f 72 65 61 63 68 20 28 24 64 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 20 61 73 20 .foreach.($driver->getTags().as.
d05a0 24 74 61 67 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 6d 73 67 20 3d 20 27 52 $tag.=>.$identifier).{.$msg.=.'R
d05c0 65 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 eading.composer.json.of.<info>'.
d05e0 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e ..($this->packageName.?:.$this->
d0600 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 url)...'</info>.(<comment>'...$t
d0620 61 67 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 ag...'</comment>)';.if.($verbose
d0640 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 3b ).{.$this->io->writeError($msg);
d0660 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 .}.else.{.$this->io->overwriteEr
d0680 72 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 20 24 74 61 67 20 3d 20 73 74 ror($msg,.false);.}....$tag.=.st
d06a0 72 5f 72 65 70 6c 61 63 65 28 27 72 65 6c 65 61 73 65 2d 27 2c 20 27 27 2c 20 24 74 61 67 29 3b r_replace('release-',.'',.$tag);
d06c0 0a 0a 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 63 ..$cachedPackage.=.$this->getCac
d06e0 68 65 64 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 28 24 74 61 67 2c 20 24 69 64 65 6e 74 69 66 hedPackageVersion($tag,.$identif
d0700 69 65 72 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 ier,.$verbose);.if.($cachedPacka
d0720 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 ge).{.$this->addPackage($cachedP
d0740 61 63 6b 61 67 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 ackage);..continue;.}.elseif.($c
d0760 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d achedPackage.===.false).{.$this-
d0780 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 >emptyReferences[].=.$identifier
d07a0 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 73 65 64 54 61 67 20 ;..continue;.}..if.(!$parsedTag.
d07c0 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 61 67 28 24 74 61 67 29 29 20 7b 0a 69 66 =.$this->validateTag($tag)).{.if
d07e0 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 .($verbose).{.$this->io->writeEr
d0800 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 ror('<warning>Skipped.tag.'.$tag
d0820 2e 27 2c 20 69 6e 76 61 6c 69 64 20 74 61 67 20 6e 61 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 .',.invalid.tag.name</warning>')
d0840 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 64 61 74 ;.}.continue;.}..try.{.if.(!$dat
d0860 61 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 a.=.$driver->getComposerInformat
d0880 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 ion($identifier)).{.if.($verbose
d08a0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
d08c0 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 6e 6f 20 63 6f 6d ing>Skipped.tag.'.$tag.',.no.com
d08e0 70 6f 73 65 72 20 66 69 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d poser.file</warning>');.}.$this-
d0900 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 >emptyReferences[].=.$identifier
d0920 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 ;.continue;.}....if.(isset($data
d0940 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e ['version'])).{.$data['version_n
d0960 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 ormalized'].=.$this->versionPars
d0980 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b er->normalize($data['version']);
d09a0 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 .}.else.{...$data['version'].=.$
d09c0 74 61 67 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d tag;.$data['version_normalized']
d09e0 20 3d 20 24 70 61 72 73 65 64 54 61 67 3b 0a 7d 0a 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 .=.$parsedTag;.}....$data['versi
d0a00 6f 6e 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 2e 2d 5d 3f 64 65 76 24 7d on'].=.preg_replace('{[.-]?dev$}
d0a20 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 64 61 74 61 i',.'',.$data['version']);.$data
d0a40 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 70 72 65 67 5f 72 65 ['version_normalized'].=.preg_re
d0a60 70 6c 61 63 65 28 27 7b 28 5e 64 65 76 2d 7c 5b 2e 2d 5d 3f 64 65 76 24 29 7d 69 27 2c 20 27 27 place('{(^dev-|[.-]?dev$)}i',.''
d0a80 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a ,.$data['version_normalized']);.
d0aa0 0a 0a 20 69 66 20 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 ...if.($data['version_normalized
d0ac0 27 5d 20 21 3d 3d 20 24 70 61 72 73 65 64 54 61 67 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 '].!==.$parsedTag).{.if.($verbos
d0ae0 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 e).{.$this->io->writeError('<war
d0b00 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 74 61 67 20 28 ning>Skipped.tag.'.$tag.',.tag.(
d0b20 27 2e 24 70 61 72 73 65 64 54 61 67 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 76 '.$parsedTag.').does.not.match.v
d0b40 65 72 73 69 6f 6e 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 ersion.('.$data['version_normali
d0b60 7a 65 64 27 5d 2e 27 29 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3c 2f 77 61 72 6e 69 zed'].').in.composer.json</warni
d0b80 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 61 67 50 61 63 6b 61 67 ng>');.}.continue;.}..$tagPackag
d0ba0 65 4e 61 6d 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 eName.=.isset($data['name']).?.$
d0bc0 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d data['name'].:.$this->packageNam
d0be0 65 3b 0a 69 66 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d e;.if.($existingPackage.=.$this-
d0c00 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 74 61 67 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 >findPackage($tagPackageName,.$d
d0c20 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 69 66 ata['version_normalized'])).{.if
d0c40 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 .($verbose).{.$this->io->writeEr
d0c60 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 ror('<warning>Skipped.tag.'.$tag
d0c80 2e 27 2c 20 69 74 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e 20 61 6e 6f 74 68 65 72 .',.it.conflicts.with.an.another
d0ca0 20 74 61 67 20 28 27 2e 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 .tag.('.$existingPackage->getPre
d0cc0 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 61 73 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 20 ttyVersion().').as.both.resolve.
d0ce0 74 6f 20 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d to.'.$data['version_normalized']
d0d00 2e 27 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e .'.internally</warning>');.}.con
d0d20 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d tinue;.}..if.($verbose).{.$this-
d0d40 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6d 70 6f 72 74 69 6e 67 20 74 61 67 20 27 >io->writeError('Importing.tag.'
d0d60 2e 24 74 61 67 2e 27 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c .$tag.'.('.$data['version_normal
d0d80 69 7a 65 64 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 ized'].')');.}..$this->addPackag
d0da0 65 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 74 68 69 73 2d 3e 70 72 65 e($this->loader->load($this->pre
d0dc0 50 72 6f 63 65 73 73 28 24 64 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 Process($driver,.$data,.$identif
d0de0 69 65 72 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 ier)));.}.catch.(\Exception.$e).
d0e00 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 {.if.($e.instanceof.TransportExc
d0e20 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 eption.&&.$e->getCode().===.404)
d0e40 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 .{.$this->emptyReferences[].=.$i
d0e60 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 dentifier;.}.if.($verbose).{.$th
d0e80 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 is->io->writeError('<warning>Ski
d0ea0 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 27 2e 28 24 65 20 69 6e 73 74 61 6e 63 pped.tag.'.$tag.',.'.($e.instanc
d0ec0 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 3f 20 27 6e 6f 20 63 6f 6d eof.TransportException.?.'no.com
d0ee0 70 6f 73 65 72 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 27 20 3a 20 24 65 2d 3e 67 65 74 4d poser.file.was.found'.:.$e->getM
d0f00 65 73 73 61 67 65 28 29 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 essage()).'</warning>');.}.conti
d0f20 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 nue;.}.}..if.(!$verbose).{.$this
d0f40 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 66 61 6c 73 65 29 3b ->io->overwriteError('',.false);
d0f60 0a 7d 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e .}..$branches.=.$driver->getBran
d0f80 63 68 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 62 ches();.foreach.($branches.as.$b
d0fa0 72 61 6e 63 68 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 6d 73 67 20 3d 20 27 ranch.=>.$identifier).{.$msg.=.'
d0fc0 52 65 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 Reading.composer.json.of.<info>'
d0fe0 20 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d ...($this->packageName.?:.$this-
d1000 3e 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 >url)...'</info>.(<comment>'...$
d1020 62 72 61 6e 63 68 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 76 65 72 branch...'</comment>)';.if.($ver
d1040 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d bose).{.$this->io->writeError($m
d1060 73 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 sg);.}.else.{.$this->io->overwri
d1080 74 65 45 72 72 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 72 teError($msg,.false);.}..if.($br
d10a0 61 6e 63 68 20 3d 3d 3d 20 27 74 72 75 6e 6b 27 20 26 26 20 69 73 73 65 74 28 24 62 72 61 6e 63 anch.===.'trunk'.&&.isset($branc
d10c0 68 65 73 5b 27 6d 61 73 74 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 hes['master'])).{.if.($verbose).
d10e0 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e {.$this->io->writeError('<warnin
d1100 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 63 61 g>Skipped.branch.'.$branch.',.ca
d1120 6e 20 6e 6f 74 20 70 61 72 73 65 20 62 6f 74 68 20 6d 61 73 74 65 72 20 61 6e 64 20 74 72 75 6e n.not.parse.both.master.and.trun
d1140 6b 20 62 72 61 6e 63 68 65 73 20 61 73 20 74 68 65 79 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 20 k.branches.as.they.both.resolve.
d1160 74 6f 20 39 39 39 39 39 39 39 2d 64 65 76 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e 69 to.9999999-dev.internally</warni
d1180 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 73 ng>');.}.continue;.}..if.(!$pars
d11a0 65 64 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 42 72 61 6e 63 68 edBranch.=.$this->validateBranch
d11c0 28 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 ($branch)).{.if.($verbose).{.$th
d11e0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 is->io->writeError('<warning>Ski
d1200 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 69 6e 76 61 6c 69 64 pped.branch.'.$branch.',.invalid
d1220 20 6e 61 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d .name</warning>');.}.continue;.}
d1240 0a 0a 0a 20 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 73 65 ....if.('dev-'.===.substr($parse
d1260 64 42 72 61 6e 63 68 2c 20 30 2c 20 34 29 20 7c 7c 20 27 39 39 39 39 39 39 39 2d 64 65 76 27 20 dBranch,.0,.4).||.'9999999-dev'.
d1280 3d 3d 3d 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 ===.$parsedBranch).{.$version.=.
d12a0 27 64 65 76 2d 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 'dev-'...$branch;.}.else.{.$pref
d12c0 69 78 20 3d 20 73 75 62 73 74 72 28 24 62 72 61 6e 63 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 ix.=.substr($branch,.0,.1).===.'
d12e0 76 27 20 3f 20 27 76 27 20 3a 20 27 27 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 66 69 v'.?.'v'.:.'';.$version.=.$prefi
d1300 78 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 x...preg_replace('{(\.9{7})+}',.
d1320 27 2e 78 27 2c 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 3b 0a 7d 0a 0a 24 63 61 63 68 65 64 '.x',.$parsedBranch);.}..$cached
d1340 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 65 64 50 61 63 6b 61 67 Package.=.$this->getCachedPackag
d1360 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 eVersion($version,.$identifier,.
d1380 24 76 65 72 62 6f 73 65 29 3b 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b $verbose);.if.($cachedPackage).{
d13a0 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 .$this->addPackage($cachedPackag
d13c0 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 61 63 68 65 64 e);..continue;.}.elseif.($cached
d13e0 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 Package.===.false).{.$this->empt
d1400 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 63 6f yReferences[].=.$identifier;..co
d1420 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 64 61 74 61 20 3d 20 24 64 ntinue;.}..try.{.if.(!$data.=.$d
d1440 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 river->getComposerInformation($i
d1460 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 dentifier)).{.if.($verbose).{.$t
d1480 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b his->io->writeError('<warning>Sk
d14a0 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 6e 6f 20 63 6f 6d ipped.branch.'.$branch.',.no.com
d14c0 70 6f 73 65 72 20 66 69 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d poser.file</warning>');.}.$this-
d14e0 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 >emptyReferences[].=.$identifier
d1500 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 ;.continue;.}....$data['version'
d1520 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 ].=.$version;.$data['version_nor
d1540 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 3b 0a 0a 69 66 20 28 malized'].=.$parsedBranch;..if.(
d1560 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f $verbose).{.$this->io->writeErro
d1580 72 28 27 49 6d 70 6f 72 74 69 6e 67 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 20 r('Importing.branch.'.$branch.'.
d15a0 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 24 70 61 ('.$data['version'].')');.}..$pa
d15c0 63 6b 61 67 65 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 73 73 28 24 64 ckageData.=.$this->preProcess($d
d15e0 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 70 61 63 river,.$data,.$identifier);.$pac
d1600 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b kage.=.$this->loader->load($pack
d1620 61 67 65 44 61 74 61 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 69 6e 73 74 ageData);.if.($this->loader.inst
d1640 61 6e 63 65 6f 66 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 20 26 26 20 anceof.ValidatingArrayLoader.&&.
d1660 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 20 7b 0a $this->loader->getWarnings()).{.
d1680 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f throw.new.InvalidPackageExceptio
d16a0 6e 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 2c 20 24 74 n($this->loader->getErrors(),.$t
d16c0 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 2c 20 24 70 61 63 his->loader->getWarnings(),.$pac
d16e0 6b 61 67 65 44 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 kageData);.}.$this->addPackage($
d1700 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 package);.}.catch.(TransportExce
d1720 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d ption.$e).{.if.($e->getCode().==
d1740 3d 20 34 30 34 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b =.404).{.$this->emptyReferences[
d1760 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 ].=.$identifier;.}.if.($verbose)
d1780 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 .{.$this->io->writeError('<warni
d17a0 6e 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 6e ng>Skipped.branch.'.$branch.',.n
d17c0 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 3c 2f 77 61 72 6e 69 o.composer.file.was.found</warni
d17e0 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 ng>');.}.continue;.}.catch.(\Exc
d1800 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 eption.$e).{.if.(!$verbose).{.$t
d1820 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 24 74 68 69 73 his->io->writeError('');.}.$this
d1840 2d 3e 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 ->branchErrorOccurred.=.true;.$t
d1860 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 his->io->writeError('<error>Skip
d1880 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 ped.branch.'.$branch.',.'.$e->ge
d18a0 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 tMessage().'</error>');.$this->i
d18c0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d o->writeError('');.continue;.}.}
d18e0 0a 24 64 72 69 76 65 72 2d 3e 63 6c 65 61 6e 75 70 28 29 3b 0a 0a 69 66 20 28 21 24 76 65 72 62 .$driver->cleanup();..if.(!$verb
d1900 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 ose).{.$this->io->overwriteError
d1920 28 27 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 50 ('',.false);.}..if.(!$this->getP
d1940 61 63 6b 61 67 65 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 52 65 ackages()).{.throw.new.InvalidRe
d1960 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 76 61 6c 69 64 20 63 6f 6d 70 positoryException('No.valid.comp
d1980 6f 73 65 72 2e 6a 73 6f 6e 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 62 72 61 6e 63 oser.json.was.found.in.any.branc
d19a0 68 20 6f 72 20 74 61 67 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 63 6f 75 6c h.or.tag.of.'.$this->url.',.coul
d19c0 64 20 6e 6f 74 20 6c 6f 61 64 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 69 74 2e 27 29 3b d.not.load.a.package.from.it.');
d19e0 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 50 72 6f 63 .}.}..protected.function.preProc
d1a00 65 73 73 28 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 64 72 69 76 65 72 2c 20 ess(VcsDriverInterface.$driver,.
d1a20 61 72 72 61 79 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 0a 20 24 64 array.$data,.$identifier).{...$d
d1a40 61 74 61 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 ataPackageName.=.isset($data['na
d1a60 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 me']).?.$data['name'].:.null;.$d
d1a80 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 ata['name'].=.$this->packageName
d1aa0 20 3f 3a 20 24 64 61 74 61 50 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 0a 69 66 20 28 21 69 73 73 65 .?:.$dataPackageName;..if.(!isse
d1ac0 74 28 24 64 61 74 61 5b 27 64 69 73 74 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 t($data['dist'])).{.$data['dist'
d1ae0 5d 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 ].=.$driver->getDist($identifier
d1b00 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 29 );.}.if.(!isset($data['source'])
d1b20 29 20 7b 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 ).{.$data['source'].=.$driver->g
d1b40 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e etSource($identifier);.}..return
d1b60 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 .$data;.}..private.function.vali
d1b80 64 61 74 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 dateBranch($branch).{.try.{.retu
d1ba0 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 rn.$this->versionParser->normali
d1bc0 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 zeBranch($branch);.}.catch.(\Exc
d1be0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a eption.$e).{.}..return.false;.}.
d1c00 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 61 67 28 24 76 .private.function.validateTag($v
d1c20 65 72 73 69 6f 6e 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 ersion).{.try.{.return.$this->ve
d1c40 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 rsionParser->normalize($version)
d1c60 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 ;.}.catch.(\Exception.$e).{.}..r
d1c80 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e eturn.false;.}..private.function
d1ca0 20 67 65 74 43 61 63 68 65 64 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f .getCachedPackageVersion($versio
d1cc0 6e 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 76 65 72 62 6f 73 65 29 0a 7b 0a 69 66 20 28 n,.$identifier,.$verbose).{.if.(
d1ce0 21 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 61 63 68 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a !$this->versionCache).{.return;.
d1d00 7d 0a 0a 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 }..$cachedPackage.=.$this->versi
d1d20 6f 6e 43 61 63 68 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 50 61 63 6b 61 67 65 28 24 76 65 72 73 onCache->getVersionPackage($vers
d1d40 69 6f 6e 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 ion,.$identifier);.if.($cachedPa
d1d60 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 ckage.===.false).{.if.($verbose)
d1d80 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 .{.$this->io->writeError('<warni
d1da0 6e 67 3e 53 6b 69 70 70 65 64 20 27 2e 24 76 65 72 73 69 6f 6e 2e 27 2c 20 6e 6f 20 63 6f 6d 70 ng>Skipped.'.$version.',.no.comp
d1dc0 6f 73 65 72 20 66 69 6c 65 20 28 63 61 63 68 65 64 20 66 72 6f 6d 20 72 65 66 20 27 2e 24 69 64 oser.file.(cached.from.ref.'.$id
d1de0 65 6e 74 69 66 69 65 72 2e 27 29 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 72 65 74 75 entifier.')</warning>');.}..retu
d1e00 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 rn.false;.}..if.($cachedPackage)
d1e20 20 7b 0a 24 6d 73 67 20 3d 20 27 46 6f 75 6e 64 20 63 61 63 68 65 64 20 63 6f 6d 70 6f 73 65 72 .{.$msg.=.'Found.cached.composer
d1e40 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 .json.of.<info>'...($this->packa
d1e60 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e geName.?:.$this->url)...'</info>
d1e80 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 76 65 72 73 69 6f 6e 20 2e 20 27 3c 2f 63 6f 6d .(<comment>'...$version...'</com
d1ea0 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e ment>)';.if.($verbose).{.$this->
d1ec0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 io->writeError($msg);.}.else.{.$
d1ee0 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 2c 20 66 this->io->overwriteError($msg,.f
d1f00 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 20 3d alse);.}..if.($existingPackage.=
d1f20 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 61 63 6b 61 .$this->findPackage($cachedPacka
d1f40 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 5b 27 76 65 72 73 ge['name'],.$cachedPackage['vers
d1f60 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 ion_normalized'])).{.if.($verbos
d1f80 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 e).{.$this->io->writeError('<war
d1fa0 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 63 61 63 68 65 64 20 76 65 72 73 69 6f 6e 20 27 2e 24 76 ning>Skipped.cached.version.'.$v
d1fc0 65 72 73 69 6f 6e 2e 27 2c 20 69 74 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e 20 61 ersion.',.it.conflicts.with.an.a
d1fe0 6e 6f 74 68 65 72 20 74 61 67 20 28 27 2e 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 2d 3e nother.tag.('.$existingPackage->
d2000 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 61 73 20 62 6f 74 68 20 72 65 getPrettyVersion().').as.both.re
d2020 73 6f 6c 76 65 20 74 6f 20 27 2e 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 5b 27 76 65 72 73 69 solve.to.'.$cachedPackage['versi
d2040 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 on_normalized'].'.internally</wa
d2060 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c rning>');.}.$cachedPackage.=.nul
d2080 6c 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 l;.}.}..if.($cachedPackage).{.re
d20a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 63 61 63 68 65 64 turn.$this->loader->load($cached
d20c0 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f Package);.}..return.null;.}.}.<?
d20e0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
d2100 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 65 72 73 69 6f 6e r\Repository;..interface.Version
d2120 43 61 63 68 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e CacheInterface.{......public.fun
d2140 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 50 61 63 6b 61 67 65 28 24 76 65 72 73 69 6f 6e ction.getVersionPackage($version
d2160 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ,.$identifier);.}.<?php.........
d2180 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
d21a0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 ;..use.Composer\Package\AliasPac
d21c0 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 kage;.......class.WritableArrayR
d21e0 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 epository.extends.ArrayRepositor
d2200 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 y.implements.WritableRepositoryI
d2220 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 nterface.{....public.function.wr
d2240 69 74 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 ite().{.}.....public.function.re
d2260 6c 6f 61 64 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 load().{.}.....public.function.g
d2280 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 24 70 61 63 6b 61 67 65 etCanonicalPackages().{.$package
d22a0 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 20 24 70 61 s.=.$this->getPackages();....$pa
d22c0 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 ckagesByName.=.array();.foreach.
d22e0 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 ($packages.as.$package).{.if.(!i
d2300 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 sset($packagesByName[$package->g
d2320 65 74 4e 61 6d 65 28 29 5d 29 20 7c 7c 20 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 etName()]).||.$packagesByName[$p
d2340 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c ackage->getName()].instanceof.Al
d2360 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 iasPackage).{.$packagesByName[$p
d2380 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d ackage->getName()].=.$package;.}
d23a0 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 .}..$canonicalPackages.=.array()
d23c0 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 61 73 ;....foreach.($packagesByName.as
d23e0 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 77 68 69 6c 65 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 .$package).{.while.($package.ins
d2400 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 tanceof.AliasPackage).{.$package
d2420 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 24 63 .=.$package->getAliasOf();.}..$c
d2440 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d anonicalPackages[].=.$package;.}
d2460 0a 0a 72 65 74 75 72 6e 20 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d ..return.$canonicalPackages;.}.}
d2480 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
d24a0 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 oser\Repository;..use.Composer\P
d24c0 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 ackage\PackageInterface;.......i
d24e0 6e 74 65 72 66 61 63 65 20 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 nterface.WritableRepositoryInter
d2500 66 61 63 65 20 65 78 74 65 6e 64 73 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 face.extends.RepositoryInterface
d2520 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 3b 0a 0a .{....public.function.write();..
d2540 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 .....public.function.addPackage(
d2560 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a PackageInterface.$package);.....
d2580 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 ..public.function.removePackage(
d25a0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a PackageInterface.$package);.....
d25c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 ..public.function.getCanonicalPa
d25e0 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 ckages();.....public.function.re
d2600 6c 6f 61 64 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 load();.}.<?php............names
d2620 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 pace.Composer\Script;.......clas
d2640 73 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 7d s.CommandEvent.extends.Event.{.}
d2660 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
d2680 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f oser\Script;..use.Composer\Compo
d26a0 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 ser;.use.Composer\IO\IOInterface
d26c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 ;.use.Composer\EventDispatcher\E
d26e0 76 65 6e 74 20 61 73 20 42 61 73 65 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 vent.as.BaseEvent;........class.
d2700 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 Event.extends.BaseEvent.{....pri
d2720 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b vate.$composer;.....private.$io;
d2740 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .....private.$devMode;..........
d2760 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e ..public.function.__construct($n
d2780 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 ame,.Composer.$composer,.IOInter
d27a0 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 2c 20 61 72 72 61 face.$io,.$devMode.=.false,.arra
d27c0 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 y.$args.=.array(),.array.$flags.
d27e0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 =.array()).{.parent::__construct
d2800 28 24 6e 61 6d 65 2c 20 24 61 72 67 73 2c 20 24 66 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 63 ($name,.$args,.$flags);.$this->c
d2820 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d omposer.=.$composer;.$this->io.=
d2840 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 24 64 65 76 4d 6f 64 65 3b .$io;.$this->devMode.=.$devMode;
d2860 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 .}.......public.function.getComp
d2880 6f 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b oser().{.return.$this->composer;
d28a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 .}.......public.function.getIO()
d28c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 .{.return.$this->io;.}.......pub
d28e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 4d 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 lic.function.isDevMode().{.retur
d2900 6e 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a n.$this->devMode;.}.}.<?php.....
d2920 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 .......namespace.Composer\Script
d2940 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 ;..use.Composer\Installer\Packag
d2960 65 45 76 65 6e 74 20 61 73 20 42 61 73 65 50 61 63 6b 61 67 65 45 76 65 6e 74 3b 0a 0a 0a 0a 0a eEvent.as.BasePackageEvent;.....
d2980 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 ..class.PackageEvent.extends.Bas
d29a0 65 50 61 63 6b 61 67 65 45 76 65 6e 74 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ePackageEvent.{.}.<?php.........
d29c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 0a ...namespace.Composer\Script;...
d29e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 74 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a .....class.ScriptEvents.{.......
d2a00 0a 63 6f 6e 73 74 20 50 52 45 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 20 3d 20 27 70 72 65 2d 69 6e .const.PRE_INSTALL_CMD.=.'pre-in
d2a20 73 74 61 6c 6c 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 49 stall-cmd';.........const.POST_I
d2a40 4e 53 54 41 4c 4c 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 27 3b NSTALL_CMD.=.'post-install-cmd';
d2a60 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 20 3d 20 .........const.PRE_UPDATE_CMD.=.
d2a80 27 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 'pre-update-cmd';.........const.
d2aa0 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 POST_UPDATE_CMD.=.'post-update-c
d2ac0 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 53 54 41 54 55 53 5f 43 4d md';.........const.PRE_STATUS_CM
d2ae0 44 20 3d 20 27 70 72 65 2d 73 74 61 74 75 73 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f D.=.'pre-status-cmd';.........co
d2b00 6e 73 74 20 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 73 74 61 74 nst.POST_STATUS_CMD.=.'post-stat
d2b20 75 73 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 41 55 54 4f 4c us-cmd';.........const.PRE_AUTOL
d2b40 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 72 65 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 27 3b 0a OAD_DUMP.=.'pre-autoload-dump';.
d2b60 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 ........const.POST_AUTOLOAD_DUMP
d2b80 20 3d 20 27 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a .=.'post-autoload-dump';........
d2ba0 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c .const.POST_ROOT_PACKAGE_INSTALL
d2bc0 20 3d 20 27 70 6f 73 74 2d 72 6f 6f 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a .=.'post-root-package-install';.
d2be0 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 .........const.POST_CREATE_PROJE
d2c00 43 54 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d CT_CMD.=.'post-create-project-cm
d2c20 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d d';.........const.PRE_ARCHIVE_CM
d2c40 44 20 3d 20 27 70 72 65 2d 61 72 63 68 69 76 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 D.=.'pre-archive-cmd';.........c
d2c60 6f 6e 73 74 20 50 4f 53 54 5f 41 52 43 48 49 56 45 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 61 72 onst.POST_ARCHIVE_CMD.=.'post-ar
d2c80 63 68 69 76 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 chive-cmd';............const.PRE
d2ca0 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d _PACKAGE_INSTALL.=.'pre-package-
d2cc0 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 install';..........const.POST_PA
d2ce0 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e CKAGE_INSTALL.=.'post-package-in
d2d00 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 stall';..........const.PRE_PACKA
d2d20 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 GE_UPDATE.=.'pre-package-update'
d2d40 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 50 ;..........const.POST_PACKAGE_UP
d2d60 44 41 54 45 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a DATE.=.'post-package-update';...
d2d80 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 .......const.PRE_PACKAGE_UNINSTA
d2da0 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a LL.=.'pre-package-uninstall';...
d2dc0 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 .......const.POST_PACKAGE_UNINST
d2de0 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a ALL.=.'post-package-uninstall';.
d2e00 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
d2e20 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4b 65 79 73 poser\SelfUpdate;.....class.Keys
d2e40 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 67 65 72 .{.public.static.function.finger
d2e60 70 72 69 6e 74 28 24 70 61 74 68 29 0a 7b 0a 24 68 61 73 68 20 3d 20 73 74 72 74 6f 75 70 70 65 print($path).{.$hash.=.strtouppe
d2e80 72 28 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b r(hash('sha256',.preg_replace('{
d2ea0 5c 73 7d 27 2c 20 27 27 2c 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 \s}',.'',.file_get_contents($pat
d2ec0 68 29 29 29 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 h))));..return.implode('.',.arra
d2ee0 79 28 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 30 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 y(.substr($hash,.0,.8),.substr($
d2f00 68 61 73 68 2c 20 38 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 31 36 2c 20 38 hash,.8,.8),.substr($hash,.16,.8
d2f20 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 32 34 2c 20 38 29 2c 0a 27 27 2c 20 0a 20 73 ),.substr($hash,.24,.8),.'',...s
d2f40 75 62 73 74 72 28 24 68 61 73 68 2c 20 33 32 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 ubstr($hash,.32,.8),.substr($has
d2f60 68 2c 20 34 30 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 34 38 2c 20 38 29 2c h,.40,.8),.substr($hash,.48,.8),
d2f80 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 35 36 2c 20 38 29 2c 0a 29 29 3b 0a 7d 0a 7d 0a 3c .substr($hash,.56,.8),.));.}.}.<
d2fa0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
d2fc0 65 72 5c 53 65 6c 66 55 70 64 61 74 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 er\SelfUpdate;..use.Composer\Uti
d2fe0 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 l\RemoteFilesystem;.use.Composer
d3000 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 \Config;.use.Composer\Json\JsonF
d3020 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 73 0a 7b 0a 70 72 69 76 61 74 ile;.....class.Versions.{.privat
d3040 65 20 24 72 66 73 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 e.$rfs;.private.$config;.private
d3060 20 24 63 68 61 6e 6e 65 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f .$channel;..public.function.__co
d3080 6e 73 74 72 75 63 74 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 52 65 6d 6f 74 65 46 69 nstruct(Config.$config,.RemoteFi
d30a0 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 lesystem.$rfs).{.$this->rfs.=.$r
d30c0 66 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a fs;.$this->config.=.$config;.}..
d30e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 28 29 0a 7b 0a 69 public.function.getChannel().{.i
d3100 66 20 28 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 f.($this->channel).{.return.$thi
d3120 73 2d 3e 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 0a 24 63 68 61 6e 6e 65 6c 46 69 6c 65 20 3d 20 24 74 s->channel;.}..$channelFile.=.$t
d3140 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 75 70 64 61 74 his->config->get('home').'/updat
d3160 65 2d 63 68 61 6e 6e 65 6c 27 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 68 61 e-channel';.if.(file_exists($cha
d3180 6e 6e 65 6c 46 69 6c 65 29 29 20 7b 0a 24 63 68 61 6e 6e 65 6c 20 3d 20 74 72 69 6d 28 66 69 6c nnelFile)).{.$channel.=.trim(fil
d31a0 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 68 61 6e 6e 65 6c 46 69 6c 65 29 29 3b 0a 69 e_get_contents($channelFile));.i
d31c0 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 68 61 6e 6e 65 6c 2c 20 61 72 72 61 79 28 27 73 74 61 f.(in_array($channel,.array('sta
d31e0 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e 61 70 73 68 6f 74 27 29 2c 20 74 72 ble',.'preview',.'snapshot'),.tr
d3200 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 24 ue)).{.return.$this->channel.=.$
d3220 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e channel;.}.}..return.$this->chan
d3240 6e 65 6c 20 3d 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 nel.=.'stable';.}..public.functi
d3260 6f 6e 20 73 65 74 43 68 61 6e 6e 65 6c 28 24 63 68 61 6e 6e 65 6c 29 0a 7b 0a 69 66 20 28 21 69 on.setChannel($channel).{.if.(!i
d3280 6e 5f 61 72 72 61 79 28 24 63 68 61 6e 6e 65 6c 2c 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 n_array($channel,.array('stable'
d32a0 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e 61 70 73 68 6f 74 27 29 2c 20 74 72 75 65 29 29 ,.'preview',.'snapshot'),.true))
d32c0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 .{.throw.new.\InvalidArgumentExc
d32e0 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 68 61 6e 6e 65 6c 20 27 2e 24 63 68 61 6e 6e eption('Invalid.channel.'.$chann
d3300 65 6c 2e 27 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 3a 20 73 74 61 62 6c 65 2c 20 70 72 el.',.must.be.one.of:.stable,.pr
d3320 65 76 69 65 77 2c 20 73 6e 61 70 73 68 6f 74 27 29 3b 0a 7d 0a 0a 24 63 68 61 6e 6e 65 6c 46 69 eview,.snapshot');.}..$channelFi
d3340 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e le.=.$this->config->get('home').
d3360 27 2f 75 70 64 61 74 65 2d 63 68 61 6e 6e 65 6c 27 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 '/update-channel';.$this->channe
d3380 6c 20 3d 20 24 63 68 61 6e 6e 65 6c 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 l.=.$channel;.file_put_contents(
d33a0 24 63 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 24 63 68 61 6e 6e 65 6c 2e 50 48 50 5f 45 4f 4c 29 3b $channelFile,.$channel.PHP_EOL);
d33c0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 74 65 73 74 28 29 0a .}..public.function.getLatest().
d33e0 7b 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 {.$protocol.=.extension_loaded('
d3400 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 76 openssl').?.'https'.:.'http';.$v
d3420 65 72 73 69 6f 6e 73 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 ersions.=.JsonFile::parseJson($t
d3440 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 65 74 63 6f 6d 70 6f 73 his->rfs->getContents('getcompos
d3460 65 72 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 67 65 74 63 6f 6d 70 er.org',.$protocol...'://getcomp
d3480 6f 73 65 72 2e 6f 72 67 2f 76 65 72 73 69 6f 6e 73 27 2c 20 66 61 6c 73 65 29 29 3b 0a 0a 66 6f oser.org/versions',.false));..fo
d34a0 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 5b 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 6e reach.($versions[$this->getChann
d34c0 65 6c 28 29 5d 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 24 76 65 72 73 69 6f el()].as.$version).{.if.($versio
d34e0 6e 5b 27 6d 69 6e 2d 70 68 70 27 5d 20 3c 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 29 20 n['min-php'].<=.PHP_VERSION_ID).
d3500 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 {.return.$version;.}.}..throw.ne
d3520 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 72 65 20 69 73 20 6e 6f 20 76 w.\LogicException('There.is.no.v
d3540 65 72 73 69 6f 6e 20 6f 66 20 43 6f 6d 70 6f 73 65 72 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 ersion.of.Composer.available.for
d3560 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e .your.PHP.version.('.PHP_VERSION
d3580 2e 27 29 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 .')');.}.}.<?php............name
d35a0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 space.Composer\Util;..use.Compos
d35c0 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 er\Config;.use.Composer\IO\IOInt
d35e0 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 75 74 68 48 65 6c 70 65 72 0a 7b 0a 70 erface;.....class.AuthHelper.{.p
d3600 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b rotected.$io;.protected.$config;
d3620 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f ..public.function.__construct(IO
d3640 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b Interface.$io,.Config.$config).{
d3660 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 .$this->io.=.$io;.$this->config.
d3680 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 =.$config;.}..public.function.st
d36a0 6f 72 65 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 73 74 6f 72 65 41 75 74 68 29 0a oreAuth($originUrl,.$storeAuth).
d36c0 7b 0a 24 73 74 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 {.$store.=.false;.$configSource.
d36e0 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f =.$this->config->getAuthConfigSo
d3700 75 72 63 65 28 29 3b 0a 69 66 20 28 24 73 74 6f 72 65 41 75 74 68 20 3d 3d 3d 20 74 72 75 65 29 urce();.if.($storeAuth.===.true)
d3720 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 20 65 6c 73 .{.$store.=.$configSource;.}.els
d3740 65 69 66 20 28 24 73 74 6f 72 65 41 75 74 68 20 3d 3d 3d 20 27 70 72 6f 6d 70 74 27 29 20 7b 0a eif.($storeAuth.===.'prompt').{.
d3760 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 $answer.=.$this->io->askAndValid
d3780 61 74 65 28 0a 27 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 74 6f 72 65 20 63 72 65 64 65 ate(.'Do.you.want.to.store.crede
d37a0 6e 74 69 61 6c 73 20 66 6f 72 20 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 20 69 6e 20 27 2e 24 ntials.for.'.$originUrl.'.in.'.$
d37c0 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 3f 20 5b 59 6e 5d configSource->getName().'.?.[Yn]
d37e0 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 24 69 6e 70 75 74 20 3d .',.function.($value).{.$input.=
d3800 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 74 72 69 6d 28 24 76 61 6c 75 65 29 2c .strtolower(substr(trim($value),
d3820 20 30 2c 20 31 29 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 69 6e 70 75 74 2c 20 61 72 .0,.1));.if.(in_array($input,.ar
d3840 72 61 79 28 27 79 27 2c 27 6e 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a ray('y','n'))).{.return.$input;.
d3860 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 }.throw.new.\RuntimeException('P
d3880 6c 65 61 73 65 20 61 6e 73 77 65 72 20 28 79 29 65 73 20 6f 72 20 28 6e 29 6f 27 29 3b 0a 7d 2c lease.answer.(y)es.or.(n)o');.},
d38a0 0a 6e 75 6c 6c 2c 0a 27 79 27 0a 29 3b 0a 0a 69 66 20 28 24 61 6e 73 77 65 72 20 3d 3d 3d 20 27 .null,.'y'.);..if.($answer.===.'
d38c0 79 27 29 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a y').{.$store.=.$configSource;.}.
d38e0 7d 0a 69 66 20 28 24 73 74 6f 72 65 29 20 7b 0a 24 73 74 6f 72 65 2d 3e 61 64 64 43 6f 6e 66 69 }.if.($store).{.$store->addConfi
d3900 67 53 65 74 74 69 6e 67 28 0a 27 68 74 74 70 2d 62 61 73 69 63 2e 27 2e 24 6f 72 69 67 69 6e 55 gSetting(.'http-basic.'.$originU
d3920 72 6c 2c 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e rl,.$this->io->getAuthentication
d3940 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ($originUrl).);.}.}.}.<?php.....
d3960 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a .......namespace.Composer\Util;.
d3980 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f .use.Composer\Factory;.use.Compo
d39a0 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ser\IO\IOInterface;.use.Composer
d39c0 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 \Config;.use.Composer\Downloader
d39e0 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 \TransportException;.....class.B
d3a00 69 74 62 75 63 6b 65 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 itbucket.{.private.$io;.private.
d3a20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 $config;.private.$process;.priva
d3a40 74 65 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 74 te.$remoteFilesystem;.private.$t
d3a60 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 3b 0a 0a oken.=.array();.private.$time;..
d3a80 63 6f 6e 73 74 20 4f 41 55 54 48 32 5f 41 43 43 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 20 3d 20 const.OAUTH2_ACCESS_TOKEN_URL.=.
d3aa0 27 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 73 69 74 65 2f 6f 61 75 74 'https://bitbucket.org/site/oaut
d3ac0 68 32 2f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c h2/access_token';...........publ
d3ae0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 ic.function.__construct(IOInterf
d3b00 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 ace.$io,.Config.$config,.Process
d3b20 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 Executor.$process.=.null,.Remote
d3b40 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e Filesystem.$remoteFilesystem.=.n
d3b60 75 6c 6c 2c 20 24 74 69 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d ull,.$time.=.null).{.$this->io.=
d3b80 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 .$io;.$this->config.=.$config;.$
d3ba0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 this->process.=.$process.?:.new.
d3bc0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d ProcessExecutor($io);.$this->rem
d3be0 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 oteFilesystem.=.$remoteFilesyste
d3c00 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 m.?:.Factory::createRemoteFilesy
d3c20 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d stem($this->io,.$config);.$this-
d3c40 3e 74 69 6d 65 20 3d 20 24 74 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 >time.=.$time;.}.....public.func
d3c60 74 69 6f 6e 20 67 65 74 54 6f 6b 65 6e 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 tion.getToken().{.if.(!isset($th
d3c80 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 72 65 is->token['access_token'])).{.re
d3ca0 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b turn.'';.}..return.$this->token[
d3cc0 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 'access_token'];.}........public
d3ce0 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e .function.authorizeOAuth($origin
d3d00 55 72 6c 29 0a 7b 0a 69 66 20 28 24 6f 72 69 67 69 6e 55 72 6c 20 21 3d 3d 20 27 62 69 74 62 75 Url).{.if.($originUrl.!==.'bitbu
d3d20 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 cket.org').{.return.false;.}....
d3d40 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.===.$this->process->execut
d3d60 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 62 69 74 62 75 63 6b 65 74 2e 61 63 63 65 73 73 74 6f e('git.config.bitbucket.accessto
d3d80 6b 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 ken',.$output)).{.$this->io->set
d3da0 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 78 2d 74 6f Authentication($originUrl,.'x-to
d3dc0 6b 65 6e 2d 61 75 74 68 27 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 0a 72 65 74 75 ken-auth',.trim($output));..retu
d3de0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a rn.true;.}..return.false;.}.....
d3e00 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 41 63 63 65 73 73 54 .private.function.requestAccessT
d3e20 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d oken($originUrl).{.try.{.$json.=
d3e40 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e .$this->remoteFilesystem->getCon
d3e60 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 73 65 6c 66 3a 3a 4f 41 55 54 48 32 5f 41 tents($originUrl,.self::OAUTH2_A
d3e80 43 43 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 0a 27 CCESS_TOKEN_URL,.false,.array(.'
d3ea0 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 68 retry-auth-failure'.=>.false,.'h
d3ec0 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 ttp'.=>.array(.'method'.=>.'POST
d3ee0 27 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 27 67 72 61 6e 74 5f 74 79 70 65 3d 63 6c 69 65 ',.'content'.=>.'grant_type=clie
d3f00 6e 74 5f 63 72 65 64 65 6e 74 69 61 6c 73 27 2c 0a 29 2c 0a 29 29 3b 0a 0a 24 74 68 69 73 2d 3e nt_credentials',.),.));..$this->
d3f20 74 6f 6b 65 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 token.=.json_decode($json,.true)
d3f40 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 ;.}.catch.(TransportException.$e
d3f60 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 30 29 20 7b ).{.if.($e->getCode().===.400).{
d3f80 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 .$this->io->writeError('<error>I
d3fa0 6e 76 61 6c 69 64 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 76 69 64 65 64 2e 3c nvalid.OAuth.consumer.provided.<
d3fc0 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 /error>');.$this->io->writeError
d3fe0 28 27 54 68 69 73 20 63 61 6e 20 68 61 76 65 20 74 77 6f 20 72 65 61 73 6f 6e 73 3a 27 29 3b 0a ('This.can.have.two.reasons:');.
d4000 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 31 2e 20 59 6f 75 20 61 72 $this->io->writeError('1..You.ar
d4020 65 20 61 75 74 68 65 6e 74 69 63 61 74 69 6e 67 20 77 69 74 68 20 61 20 62 69 74 62 75 63 6b 65 e.authenticating.with.a.bitbucke
d4040 74 20 75 73 65 72 6e 61 6d 65 2f 70 61 73 73 77 6f 72 64 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 27 t.username/password.combination'
d4060 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 32 2e 20 59 6f 75 );.$this->io->writeError('2..You
d4080 20 61 72 65 20 75 73 69 6e 67 20 61 6e 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 2c 20 62 75 .are.using.an.OAuth.consumer,.bu
d40a0 74 20 64 69 64 6e 5c 27 74 20 63 6f 6e 66 69 67 75 72 65 20 61 20 28 64 75 6d 6d 79 29 20 63 61 t.didn\'t.configure.a.(dummy).ca
d40c0 6c 6c 62 61 63 6b 20 75 72 6c 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 20 65 llback.url');..return.false;.}.e
d40e0 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 lseif.(in_array($e->getCode(),.a
d4100 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 rray(403,.401))).{.$this->io->wr
d4120 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 4f 41 75 74 68 20 63 iteError('<error>Invalid.OAuth.c
d4140 6f 6e 73 75 6d 65 72 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 onsumer.provided.</error>');.$th
d4160 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f is->io->writeError('You.can.also
d4180 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 .add.it.manually.later.by.using.
d41a0 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 "composer.config.--global.--auth
d41c0 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c .bitbucket-oauth.bitbucket.org.<
d41e0 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 consumer-key>.<consumer-secret>"
d4200 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a ');..return.false;.}..throw.$e;.
d4220 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c }..return.true;.}...........publ
d4240 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 ic.function.authorizeOAuthIntera
d4260 63 74 69 76 65 6c 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e ctively($originUrl,.$message.=.n
d4280 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f ull).{.if.($message).{.$this->io
d42a0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 75 72 6c 20 ->writeError($message);.}..$url.
d42c0 3d 20 27 68 74 74 70 73 3a 2f 2f 63 6f 6e 66 6c 75 65 6e 63 65 2e 61 74 6c 61 73 73 69 61 6e 2e =.'https://confluence.atlassian.
d42e0 63 6f 6d 2f 62 69 74 62 75 63 6b 65 74 2f 6f 61 75 74 68 2d 6f 6e 2d 62 69 74 62 75 63 6b 65 74 com/bitbucket/oauth-on-bitbucket
d4300 2d 63 6c 6f 75 64 2d 32 33 38 30 32 37 34 33 31 2e 68 74 6d 6c 27 3b 0a 24 74 68 69 73 2d 3e 69 -cloud-238027431.html';.$this->i
d4320 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 46 6f 6c 6c 6f 77 20 74 68 o->writeError(sprintf('Follow.th
d4340 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e 20 25 73 27 2c 20 24 75 72 6c 29 29 3b 0a 24 e.instructions.on.%s',.$url));.$
d4360 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 74 6f this->io->writeError(sprintf('to
d4380 20 63 72 65 61 74 65 20 61 20 63 6f 6e 73 75 6d 65 72 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 73 .create.a.consumer..It.will.be.s
d43a0 74 6f 72 65 64 20 69 6e 20 22 25 73 22 20 66 6f 72 20 66 75 74 75 72 65 20 75 73 65 20 62 79 20 tored.in."%s".for.future.use.by.
d43c0 43 6f 6d 70 6f 73 65 72 2e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 Composer.',.$this->config->getAu
d43e0 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 24 thConfigSource()->getName()));.$
d4400 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 45 6e 73 75 72 65 20 79 6f 75 this->io->writeError('Ensure.you
d4420 20 65 6e 74 65 72 20 61 20 22 43 61 6c 6c 62 61 63 6b 20 55 52 4c 22 20 28 68 74 74 70 3a 2f 2f .enter.a."Callback.URL".(http://
d4440 65 78 61 6d 70 6c 65 2e 63 6f 6d 20 69 73 20 66 69 6e 65 29 20 6f 72 20 69 74 20 77 69 6c 6c 20 example.com.is.fine).or.it.will.
d4460 6e 6f 74 20 62 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 41 63 63 not.be.possible.to.create.an.Acc
d4480 65 73 73 20 54 6f 6b 65 6e 20 28 74 68 69 73 20 63 61 6c 6c 62 61 63 6b 20 75 72 6c 20 77 69 6c ess.Token.(this.callback.url.wil
d44a0 6c 20 6e 6f 74 20 62 65 20 75 73 65 64 20 62 79 20 63 6f 6d 70 6f 73 65 72 29 27 29 3b 0a 0a 24 l.not.be.used.by.composer)');..$
d44c0 63 6f 6e 73 75 6d 65 72 4b 65 79 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 consumerKey.=.trim($this->io->as
d44e0 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 43 6f 6e 73 75 6d 65 72 20 4b 65 79 20 28 68 69 kAndHideAnswer('Consumer.Key.(hi
d4500 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6e 73 75 6d 65 72 4b 65 79 29 20 dden):.'));..if.(!$consumerKey).
d4520 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e {.$this->io->writeError('<warnin
d4540 67 3e 4e 6f 20 63 6f 6e 73 75 6d 65 72 20 6b 65 79 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 69 6e g>No.consumer.key.given,.abortin
d4560 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 g.</warning>');.$this->io->write
d4580 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 Error('You.can.also.add.it.manua
d45a0 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e lly.later.by.using."composer.con
d45c0 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 fig.--global.--auth.bitbucket-oa
d45e0 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e uth.bitbucket.org.<consumer-key>
d4600 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 .<consumer-secret>"');..return.f
d4620 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 20 3d 20 74 72 69 6d 28 alse;.}..$consumerSecret.=.trim(
d4640 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 43 6f 6e $this->io->askAndHideAnswer('Con
d4660 73 75 6d 65 72 20 53 65 63 72 65 74 20 28 68 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 sumer.Secret.(hidden):.'));..if.
d4680 28 21 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e (!$consumerSecret).{.$this->io->
d46a0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 63 6f 6e 73 75 6d 65 72 writeError('<warning>No.consumer
d46c0 20 73 65 63 72 65 74 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e .secret.given,.aborting.</warnin
d46e0 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 g>');.$this->io->writeError('You
d4700 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 .can.also.add.it.manually.later.
d4720 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 by.using."composer.config.--glob
d4740 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 75 63 al.--auth.bitbucket-oauth.bitbuc
d4760 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d 65 72 ket.org.<consumer-key>.<consumer
d4780 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 -secret>"');..return.false;.}..$
d47a0 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 this->io->setAuthentication($ori
d47c0 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 ginUrl,.$consumerKey,.$consumerS
d47e0 65 63 72 65 74 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 41 63 63 65 ecret);..if.(!$this->requestAcce
d4800 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 ssToken($originUrl)).{.return.fa
d4820 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 74 6f 72 65 49 6e 41 75 74 68 43 6f 6e 66 lse;.}....$this->storeInAuthConf
d4840 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f ig($originUrl,.$consumerKey,.$co
d4860 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d nsumerSecret);....$this->config-
d4880 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f >getAuthConfigSource()->removeCo
d48a0 6e 66 69 67 53 65 74 74 69 6e 67 28 27 68 74 74 70 2d 62 61 73 69 63 2e 27 20 2e 20 24 6f 72 69 nfigSetting('http-basic.'...$ori
d48c0 67 69 6e 55 72 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ginUrl);..$this->io->writeError(
d48e0 27 3c 69 6e 66 6f 3e 43 6f 6e 73 75 6d 65 72 20 73 74 6f 72 65 64 20 73 75 63 63 65 73 73 66 75 '<info>Consumer.stored.successfu
d4900 6c 6c 79 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a lly.</info>');..return.true;.}..
d4920 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 54 ........public.function.requestT
d4940 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 oken($originUrl,.$consumerKey,.$
d4960 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 0a 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 consumerSecret).{.if.(!empty($th
d4980 69 73 2d 3e 74 6f 6b 65 6e 29 20 7c 7c 20 24 74 68 69 73 2d 3e 67 65 74 54 6f 6b 65 6e 46 72 6f is->token).||.$this->getTokenFro
d49a0 6d 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 mConfig($originUrl)).{.return.$t
d49c0 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 24 his->token['access_token'];.}..$
d49e0 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 this->io->setAuthentication($ori
d4a00 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 ginUrl,.$consumerKey,.$consumerS
d4a20 65 63 72 65 74 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 41 63 63 65 73 ecret);.if.(!$this->requestAcces
d4a40 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b sToken($originUrl)).{.return.'';
d4a60 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 49 6e 41 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 .}..$this->storeInAuthConfig($or
d4a80 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 iginUrl,.$consumerKey,.$consumer
d4aa0 53 65 63 72 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 Secret);..return.$this->token['a
d4ac0 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ccess_token'];.}........private.
d4ae0 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 49 6e 41 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 function.storeInAuthConfig($orig
d4b00 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 inUrl,.$consumerKey,.$consumerSe
d4b20 63 72 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 43 6f 6e 66 69 67 cret).{.$this->config->getConfig
d4b40 53 6f 75 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 62 Source()->removeConfigSetting('b
d4b60 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 0a 24 itbucket-oauth.'.$originUrl);..$
d4b80 74 69 6d 65 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 69 6d 65 20 3f 20 74 69 time.=.null.===.$this->time.?.ti
d4ba0 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 74 69 6d 65 3b 0a 24 63 6f 6e 73 75 6d 65 72 20 3d 20 me().:.$this->time;.$consumer.=.
d4bc0 61 72 72 61 79 28 0a 22 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 22 20 3d 3e 20 24 63 6f 6e 73 75 6d array(."consumer-key".=>.$consum
d4be0 65 72 4b 65 79 2c 0a 22 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 22 20 3d 3e 20 24 63 6f 6e erKey,."consumer-secret".=>.$con
d4c00 73 75 6d 65 72 53 65 63 72 65 74 2c 0a 22 61 63 63 65 73 73 2d 74 6f 6b 65 6e 22 20 3d 3e 20 24 sumerSecret,."access-token".=>.$
d4c20 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 2c 0a 22 61 63 this->token['access_token'],."ac
d4c40 63 65 73 73 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e 22 20 3d 3e 20 24 74 69 6d 65 20 cess-token-expiration".=>.$time.
d4c60 2b 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 65 78 70 69 72 65 73 5f 69 6e 27 5d 2c 0a 29 3b +.$this->token['expires_in'],.);
d4c80 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f ..$this->config->getAuthConfigSo
d4ca0 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 62 69 74 62 75 63 urce()->addConfigSetting('bitbuc
d4cc0 6b 65 74 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 ket-oauth.'.$originUrl,.$consume
d4ce0 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 r);.}......private.function.getT
d4d00 6f 6b 65 6e 46 72 6f 6d 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 24 61 75 okenFromConfig($originUrl).{.$au
d4d20 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 62 thConfig.=.$this->config->get('b
d4d40 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 3b 0a 0a 69 66 20 28 0a 21 69 73 73 65 74 28 24 itbucket-oauth');..if.(.!isset($
d4d60 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 authConfig[$originUrl]['access-t
d4d80 6f 6b 65 6e 27 5d 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f oken']).||.!isset($authConfig[$o
d4da0 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 riginUrl]['access-token-expirati
d4dc0 6f 6e 27 5d 29 0a 7c 7c 20 74 69 6d 65 28 29 20 3e 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f on']).||.time().>.$authConfig[$o
d4de0 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 riginUrl]['access-token-expirati
d4e00 6f 6e 27 5d 0a 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d on'].).{.return.false;.}..$this-
d4e20 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 0a 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 20 3d >token.=.array(.'access_token'.=
d4e40 3e 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 >.$authConfig[$originUrl]['acces
d4e60 73 2d 74 6f 6b 65 6e 27 5d 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a s-token'],.);..return.true;.}.}.
d4e80 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
d4ea0 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 4d 69 ser\Util;.......class.ComposerMi
d4ec0 72 72 6f 72 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 rror.{.public.static.function.pr
d4ee0 6f 63 65 73 73 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d ocessUrl($mirrorUrl,.$packageNam
d4f00 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 65 72 65 6e 63 65 2c 20 24 74 79 70 65 29 0a e,.$version,.$reference,.$type).
d4f20 7b 0a 69 66 20 28 24 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 20 3d {.if.($reference).{.$reference.=
d4f40 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 2a 7c 25 72 65 66 65 72 .preg_match('{^([a-f0-9]*|%refer
d4f60 65 6e 63 65 25 29 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 20 3f 20 24 72 65 66 65 72 65 ence%)$}',.$reference).?.$refere
d4f80 6e 63 65 20 3a 20 6d 64 35 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 24 76 65 72 73 69 6f nce.:.md5($reference);.}.$versio
d4fa0 6e 20 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 2f 27 29 20 3d 3d 3d 20 66 61 n.=.strpos($version,.'/').===.fa
d4fc0 6c 73 65 20 3f 20 24 76 65 72 73 69 6f 6e 20 3a 20 6d 64 35 28 24 76 65 72 73 69 6f 6e 29 3b 0a lse.?.$version.:.md5($version);.
d4fe0 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 27 25 70 61 63 .return.str_replace(.array('%pac
d5000 6b 61 67 65 25 27 2c 20 27 25 76 65 72 73 69 6f 6e 25 27 2c 20 27 25 72 65 66 65 72 65 6e 63 65 kage%',.'%version%',.'%reference
d5020 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 0a 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d %',.'%type%'),.array($packageNam
d5040 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 65 72 65 6e 63 65 2c 20 24 74 79 70 65 29 2c e,.$version,.$reference,.$type),
d5060 0a 24 6d 69 72 72 6f 72 55 72 6c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .$mirrorUrl.);.}..public.static.
d5080 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 function.processGitUrl($mirrorUr
d50a0 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 0a 7b 0a l,.$packageName,.$url,.$type).{.
d50c0 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 3a 28 3f 3a 68 74 74 70 73 3f 7c 67 if.(preg_match('#^(?:(?:https?|g
d50e0 69 74 29 3a 2f 2f 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 7c 67 69 74 40 67 69 74 68 75 62 5c 2e 63 it)://github\.com/|git@github\.c
d5100 6f 6d 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 24 23 27 2c 20 om:)([^/]+)/(.+?)(?:\.git)?$#',.
d5120 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 75 72 6c 20 3d 20 27 67 68 2d 27 2e 24 6d $url,.$match)).{.$url.=.'gh-'.$m
d5140 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 atch[1].'/'.$match[2];.}.elseif.
d5160 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 (preg_match('#^https://bitbucket
d5180 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 2f 3f 24 \.org/([^/]+)/(.+?)(?:\.git)?/?$
d51a0 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 75 72 6c 20 3d 20 27 62 62 2d #',.$url,.$match)).{.$url.=.'bb-
d51c0 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 '.$match[1].'/'.$match[2];.}.els
d51e0 65 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 e.{.$url.=.preg_replace('{[^a-z0
d5200 2d 39 5f 2e 2d 5d 7d 69 27 2c 20 27 2d 27 2c 20 74 72 69 6d 28 24 75 72 6c 2c 20 27 2f 27 29 29 -9_.-]}i',.'-',.trim($url,.'/'))
d5220 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 27 ;.}..return.str_replace(.array('
d5240 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 6e 6f 72 6d 61 6c 69 7a 65 64 55 72 6c 25 27 2c 20 27 %package%',.'%normalizedUrl%',.'
d5260 25 74 79 70 65 25 27 29 2c 0a 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 %type%'),.array($packageName,.$u
d5280 72 6c 2c 20 24 74 79 70 65 29 2c 0a 24 6d 69 72 72 6f 72 55 72 6c 0a 29 3b 0a 7d 0a 0a 70 75 62 rl,.$type),.$mirrorUrl.);.}..pub
d52a0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 48 67 55 72 6c lic.static.function.processHgUrl
d52c0 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c ($mirrorUrl,.$packageName,.$url,
d52e0 20 24 74 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 72 6f 63 65 73 73 47 69 .$type).{.return.self::processGi
d5300 74 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 tUrl($mirrorUrl,.$packageName,.$
d5320 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a url,.$type);.}.}.<?php..........
d5340 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 ..namespace.Composer\Util;..use.
d5360 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 Composer\Package\Loader\ArrayLoa
d5380 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 der;.use.Composer\Package\Loader
d53a0 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 \ValidatingArrayLoader;.use.Comp
d53c0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 49 6e 76 61 6c 69 64 50 61 63 6b 61 oser\Package\Loader\InvalidPacka
d53e0 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a geException;.use.Composer\Json\J
d5400 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 sonValidationException;.use.Comp
d5420 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 oser\IO\IOInterface;.use.Compose
d5440 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 r\Json\JsonFile;.use.Composer\Sp
d5460 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f dx\SpdxLicenses;........class.Co
d5480 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 nfigValidator.{.private.$io;..pu
d54a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 blic.function.__construct(IOInte
d54c0 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a rface.$io).{.$this->io.=.$io;.}.
d54e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 .........public.function.validat
d5500 65 28 24 66 69 6c 65 2c 20 24 61 72 72 61 79 4c 6f 61 64 65 72 56 61 6c 69 64 61 74 69 6f 6e 46 e($file,.$arrayLoaderValidationF
d5520 6c 61 67 73 20 3d 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 43 48 lags.=.ValidatingArrayLoader::CH
d5540 45 43 4b 5f 41 4c 4c 29 0a 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 ECK_ALL).{.$errors.=.array();.$p
d5560 75 62 6c 69 73 68 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 61 72 6e 69 6e 67 ublishErrors.=.array();.$warning
d5580 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 6c 61 78 56 61 6c 69 64 20 3d 20 66 61 6c 73 s.=.array();....$laxValid.=.fals
d55a0 65 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 66 e;.try.{.$json.=.new.JsonFile($f
d55c0 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 24 6d 61 6e 69 66 65 73 74 ile,.null,.$this->io);.$manifest
d55e0 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 0a 24 6a 73 6f 6e 2d 3e 76 61 6c 69 64 61 .=.$json->read();..$json->valida
d5600 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 3b 0a teSchema(JsonFile::LAX_SCHEMA);.
d5620 24 6c 61 78 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 24 6a 73 6f 6e 2d 3e 76 61 6c 69 64 61 74 $laxValid.=.true;.$json->validat
d5640 65 53 63 68 65 6d 61 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 4a 73 6f 6e 56 61 6c 69 64 61 74 69 eSchema();.}.catch.(JsonValidati
d5660 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 65 2d 3e 67 onException.$e).{.foreach.($e->g
d5680 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 6c etErrors().as.$message).{.if.($l
d56a0 61 78 56 61 6c 69 64 29 20 7b 0a 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 5b 5d 20 3d 20 24 6d axValid).{.$publishErrors[].=.$m
d56c0 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 essage;.}.else.{.$errors[].=.$me
d56e0 73 73 61 67 65 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 ssage;.}.}.}.catch.(\Exception.$
d5700 65 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 e).{.$errors[].=.$e->getMessage(
d5720 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 );..return.array($errors,.$publi
d5740 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 65 shErrors,.$warnings);.}....if.(e
d5760 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 77 mpty($manifest['license'])).{.$w
d5780 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 4e 6f 20 6c 69 63 65 6e 73 65 20 73 70 65 63 69 66 69 65 arnings[].=.'No.license.specifie
d57a0 64 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 64 6f 20 73 6f 2e 20 46 d,.it.is.recommended.to.do.so..F
d57c0 6f 72 20 63 6c 6f 73 65 64 2d 73 6f 75 72 63 65 20 73 6f 66 74 77 61 72 65 20 79 6f 75 20 6d 61 or.closed-source.software.you.ma
d57e0 79 20 75 73 65 20 22 70 72 6f 70 72 69 65 74 61 72 79 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 27 y.use."proprietary".as.license.'
d5800 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 ;.}.else.{.$licenses.=.(array).$
d5820 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 manifest['license'];....foreach.
d5840 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 ($licenses.as.$key.=>.$license).
d5860 7b 0a 69 66 20 28 27 70 72 6f 70 72 69 65 74 61 72 79 27 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 {.if.('proprietary'.===.$license
d5880 29 20 7b 0a 75 6e 73 65 74 28 24 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a ).{.unset($licenses[$key]);.}.}.
d58a0 0a 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 .$licenseValidator.=.new.SpdxLic
d58c0 65 6e 73 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 enses();.foreach.($licenses.as.$
d58e0 6c 69 63 65 6e 73 65 29 20 7b 0a 24 73 70 64 78 4c 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 6e license).{.$spdxLicense.=.$licen
d5900 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 4c 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 seValidator->getLicenseByIdentif
d5920 69 65 72 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 20 28 24 73 70 64 78 4c 69 63 65 6e 73 65 20 ier($license);.if.($spdxLicense.
d5940 26 26 20 24 73 70 64 78 4c 69 63 65 6e 73 65 5b 33 5d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d &&.$spdxLicense[3]).{.if.(preg_m
d5960 61 74 63 68 28 27 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d 5b 31 32 33 5d 28 5c 2e 5b 30 31 5d 29 3f 5c atch('{^[AL]?GPL-[123](\.[01])?\
d5980 2b 24 7d 69 27 2c 20 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 +$}i',.$license)).{.$warnings[].
d59a0 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 69 73 20 61 20 64 65 =.sprintf(.'License."%s".is.a.de
d59c0 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 precated.SPDX.license.identifier
d59e0 2c 20 75 73 65 20 22 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2b 27 2c 20 27 27 2c 20 24 6c ,.use."'.str_replace('+',.'',.$l
d5a00 69 63 65 6e 73 65 29 2e 27 2d 6f 72 2d 6c 61 74 65 72 22 20 69 6e 73 74 65 61 64 27 2c 0a 24 6c icense).'-or-later".instead',.$l
d5a20 69 63 65 6e 73 65 0a 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 icense.);.}.elseif.(preg_match('
d5a40 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d 5b 31 32 33 5d 28 5c 2e 5b 30 31 5d 29 3f 24 7d 69 27 2c 20 24 {^[AL]?GPL-[123](\.[01])?$}i',.$
d5a60 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 license)).{.$warnings[].=.sprint
d5a80 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 f(.'License."%s".is.a.deprecated
d5aa0 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 75 73 65 20 22 27 .SPDX.license.identifier,.use."'
d5ac0 2e 24 6c 69 63 65 6e 73 65 2e 27 2d 6f 6e 6c 79 22 20 6f 72 20 22 27 2e 24 6c 69 63 65 6e 73 65 .$license.'-only".or."'.$license
d5ae0 2e 27 2d 6f 72 2d 6c 61 74 65 72 22 20 69 6e 73 74 65 61 64 27 2c 0a 24 6c 69 63 65 6e 73 65 0a .'-or-later".instead',.$license.
d5b00 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 );.}.else.{.$warnings[].=.sprint
d5b20 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 f(.'License."%s".is.a.deprecated
d5b40 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 73 65 65 20 68 74 .SPDX.license.identifier,.see.ht
d5b60 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 27 2c 0a 24 6c 69 63 65 tps://spdx.org/licenses/',.$lice
d5b80 6e 73 65 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 nse.);.}.}.}.}..if.(isset($manif
d5ba0 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d est['version'])).{.$warnings[].=
d5bc0 20 27 54 68 65 20 76 65 72 73 69 6f 6e 20 66 69 65 6c 64 20 69 73 20 70 72 65 73 65 6e 74 2c 20 .'The.version.field.is.present,.
d5be0 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 6c 65 61 76 65 20 69 74 20 6f 75 it.is.recommended.to.leave.it.ou
d5c00 74 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 70 75 62 6c 69 73 68 65 64 20 6f 6e t.if.the.package.is.published.on
d5c20 20 50 61 63 6b 61 67 69 73 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 6e .Packagist.';.}..if.(!empty($man
d5c40 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b ifest['name']).&&.preg_match('{[
d5c60 41 2d 5a 5d 7d 27 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 73 A-Z]}',.$manifest['name'])).{.$s
d5c80 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 28 uggestName.=.preg_replace('{(?:(
d5ca0 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d [a-z])([A-Z])|([A-Z])([A-Z][a-z]
d5cc0 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c 20 24 6d 61 6e 69 66 65 73 74 ))}',.'\\1\\3-\\2\\4',.$manifest
d5ce0 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c ['name']);.$suggestName.=.strtol
d5d00 6f 77 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 29 3b 0a 0a 24 70 75 62 6c 69 73 68 45 72 72 ower($suggestName);..$publishErr
d5d20 6f 72 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4e 61 6d 65 20 22 25 73 22 20 64 6f 65 73 ors[].=.sprintf(.'Name."%s".does
d5d40 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 62 65 73 74 20 70 72 61 63 74 69 63 65 20 28 65 2e .not.match.the.best.practice.(e.
d5d60 67 2e 20 6c 6f 77 65 72 2d 63 61 73 65 64 2f 77 69 74 68 2d 64 61 73 68 65 73 29 2e 20 57 65 20 g..lower-cased/with-dashes)..We.
d5d80 73 75 67 67 65 73 74 20 75 73 69 6e 67 20 22 25 73 22 20 69 6e 73 74 65 61 64 2e 20 41 73 20 73 suggest.using."%s".instead..As.s
d5da0 75 63 68 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 62 6c 65 20 74 6f 20 73 75 62 6d uch.you.will.not.be.able.to.subm
d5dc0 69 74 20 69 74 20 74 6f 20 50 61 63 6b 61 67 69 73 74 2e 27 2c 0a 24 6d 61 6e 69 66 65 73 74 5b it.it.to.Packagist.',.$manifest[
d5de0 27 6e 61 6d 65 27 5d 2c 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 69 66 20 28 'name'],.$suggestName.);.}..if.(
d5e00 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 74 79 70 65 27 5d 29 20 26 26 20 24 6d 61 !empty($manifest['type']).&&.$ma
d5e20 6e 69 66 65 73 74 5b 27 74 79 70 65 27 5d 20 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 nifest['type'].==.'composer-inst
d5e40 61 6c 6c 65 72 27 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 22 54 68 65 20 70 61 63 aller').{.$warnings[].=."The.pac
d5e60 6b 61 67 65 20 74 79 70 65 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 20 69 kage.type.'composer-installer'.i
d5e80 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 50 6c 65 61 73 65 20 64 69 73 74 72 69 62 75 74 65 20 s.deprecated..Please.distribute.
d5ea0 79 6f 75 72 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 70 6c 75 67 69 6e your.custom.installers.as.plugin
d5ec0 73 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e 2e 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f s.from.now.on..See.https://getco
d5ee0 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 70 6c 75 67 69 6e 73 2e mposer.org/doc/articles/plugins.
d5f00 6d 64 20 66 6f 72 20 70 6c 75 67 69 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 3b 0a 7d md.for.plugin.documentation.";.}
d5f20 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 ....if.(isset($manifest['require
d5f40 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d ']).&&.isset($manifest['require-
d5f60 64 65 76 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 20 3d 20 61 72 dev'])).{.$requireOverrides.=.ar
d5f80 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 ray_intersect_key($manifest['req
d5fa0 75 69 72 65 27 5d 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d uire'],.$manifest['require-dev']
d5fc0 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 );..if.(!empty($requireOverrides
d5fe0 29 29 20 7b 0a 24 70 6c 75 72 61 6c 20 3d 20 28 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 4f 76 )).{.$plural.=.(count($requireOv
d6000 65 72 72 69 64 65 73 29 20 3e 20 31 29 20 3f 20 27 61 72 65 27 20 3a 20 27 69 73 27 3b 0a 24 77 errides).>.1).?.'are'.:.'is';.$w
d6020 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f arnings[].=.implode(',.',.array_
d6040 6b 65 79 73 28 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 29 29 2e 20 22 20 7b 24 70 6c keys($requireOverrides))..".{$pl
d6060 75 72 61 6c 7d 20 72 65 71 75 69 72 65 64 20 62 6f 74 68 20 69 6e 20 72 65 71 75 69 72 65 20 61 ural}.required.both.in.require.a
d6080 6e 64 20 72 65 71 75 69 72 65 2d 64 65 76 2c 20 74 68 69 73 20 63 61 6e 20 6c 65 61 64 20 74 6f nd.require-dev,.this.can.lead.to
d60a0 20 75 6e 65 78 70 65 63 74 65 64 20 62 65 68 61 76 69 6f 72 22 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 .unexpected.behavior";.}.}....$r
d60c0 65 71 75 69 72 65 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 equire.=.isset($manifest['requir
d60e0 65 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 20 3a 20 61 72 e']).?.$manifest['require'].:.ar
d6100 72 61 79 28 29 3b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 ray();.$requireDev.=.isset($mani
d6120 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 fest['require-dev']).?.$manifest
d6140 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 70 61 63 6b ['require-dev'].:.array();.$pack
d6160 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 2c 20 24 72 65 ages.=.array_merge($require,.$re
d6180 71 75 69 72 65 44 65 76 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 quireDev);.foreach.($packages.as
d61a0 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 .$package.=>.$version).{.if.(pre
d61c0 67 5f 6d 61 74 63 68 28 27 2f 23 2f 27 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 3d 3d 20 31 29 20 g_match('/#/',.$version).===.1).
d61e0 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 70 61 {.$warnings[].=.sprintf(.'The.pa
d6200 63 6b 61 67 65 20 22 25 73 22 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 63 6f 6d 6d ckage."%s".is.pointing.to.a.comm
d6220 69 74 2d 72 65 66 2c 20 74 68 69 73 20 69 73 20 62 61 64 20 70 72 61 63 74 69 63 65 20 61 6e 64 it-ref,.this.is.bad.practice.and
d6240 20 63 61 6e 20 63 61 75 73 65 20 75 6e 66 6f 72 65 73 65 65 6e 20 69 73 73 75 65 73 2e 27 2c 0a .can.cause.unforeseen.issues.',.
d6260 24 70 61 63 6b 61 67 65 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 73 63 72 69 70 74 73 44 65 73 63 72 $package.);.}.}....$scriptsDescr
d6280 69 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 iptions.=.isset($manifest['scrip
d62a0 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 ts-descriptions']).?.$manifest['
d62c0 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 scripts-descriptions'].:.array()
d62e0 3b 0a 24 73 63 72 69 70 74 73 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 ;.$scripts.=.isset($manifest['sc
d6300 72 69 70 74 73 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 27 5d 20 ripts']).?.$manifest['scripts'].
d6320 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 72 69 70 74 73 44 65 73 63 :.array();.foreach.($scriptsDesc
d6340 72 69 70 74 69 6f 6e 73 20 61 73 20 24 73 63 72 69 70 74 4e 61 6d 65 20 3d 3e 20 24 73 63 72 69 riptions.as.$scriptName.=>.$scri
d6360 70 74 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f ptDescription).{.if.(!array_key_
d6380 65 78 69 73 74 73 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 73 63 72 69 70 74 73 29 29 20 7b exists($scriptName,.$scripts)).{
d63a0 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 44 65 73 63 72 69 70 .$warnings[].=.sprintf(.'Descrip
d63c0 74 69 6f 6e 20 66 6f 72 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 73 63 72 69 70 74 20 22 25 73 tion.for.non-existent.script."%s
d63e0 22 20 66 6f 75 6e 64 20 69 6e 20 22 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 ".found.in."scripts-descriptions
d6400 22 27 2c 0a 24 73 63 72 69 70 74 4e 61 6d 65 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 "',.$scriptName.);.}.}....if.(is
d6420 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 30 set($manifest['autoload']['psr-0
d6440 27 5d 5b 27 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 22 44 65 66 69 6e 69 '][''])).{.$warnings[].=."Defini
d6460 6e 67 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 30 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 ng.autoload.psr-0.with.an.empty.
d6480 6e 61 6d 65 73 70 61 63 65 20 70 72 65 66 69 78 20 69 73 20 61 20 62 61 64 20 69 64 65 61 20 66 namespace.prefix.is.a.bad.idea.f
d64a0 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 22 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 or.performance";.}.if.(isset($ma
d64c0 6e 69 66 65 73 74 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 34 27 5d 5b 27 27 5d 29 nifest['autoload']['psr-4'][''])
d64e0 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 22 44 65 66 69 6e 69 6e 67 20 61 75 74 6f ).{.$warnings[].=."Defining.auto
d6500 6c 6f 61 64 2e 70 73 72 2d 34 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 6e 61 6d 65 73 70 61 load.psr-4.with.an.empty.namespa
d6520 63 65 20 70 72 65 66 69 78 20 69 73 20 61 20 62 61 64 20 69 64 65 61 20 66 6f 72 20 70 65 72 66 ce.prefix.is.a.bad.idea.for.perf
d6540 6f 72 6d 61 6e 63 65 22 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 ormance";.}..try.{.$loader.=.new
d6560 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 .ValidatingArrayLoader(new.Array
d6580 4c 6f 61 64 65 72 28 29 2c 20 74 72 75 65 2c 20 6e 75 6c 6c 2c 20 24 61 72 72 61 79 4c 6f 61 64 Loader(),.true,.null,.$arrayLoad
d65a0 65 72 56 61 6c 69 64 61 74 69 6f 6e 46 6c 61 67 73 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 erValidationFlags);.if.(!isset($
d65c0 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 6d 61 6e 69 66 65 73 manifest['version'])).{.$manifes
d65e0 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 27 3b 0a 7d 0a 69 66 20 28 21 69 t['version'].=.'1.0.0';.}.if.(!i
d6600 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 6d 61 6e 69 sset($manifest['name'])).{.$mani
d6620 66 65 73 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 64 75 6d 6d 79 2f 64 75 6d 6d 79 27 3b 0a 7d 0a fest['name'].=.'dummy/dummy';.}.
d6640 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6d 61 6e 69 66 65 73 74 29 3b 0a 7d 20 63 61 74 63 $loader->load($manifest);.}.catc
d6660 68 20 28 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b h.(InvalidPackageException.$e).{
d6680 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 .$errors.=.array_merge($errors,.
d66a0 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 24 77 61 72 6e 69 6e 67 73 20 3d $e->getErrors());.}..$warnings.=
d66c0 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 61 72 6e 69 6e 67 73 2c 20 24 6c 6f 61 64 65 72 2d .array_merge($warnings,.$loader-
d66e0 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 >getWarnings());..return.array($
d6700 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 errors,.$publishErrors,.$warning
d6720 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 s);.}.}.<?php............namespa
d6740 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ce.Composer\Util;..use.Composer\
d6760 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f IO\IOInterface;.......class.Erro
d6780 72 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 6f 3b 0a 0a rHandler.{.private.static.$io;..
d67a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ...........public.static.functio
d67c0 6e 20 68 61 6e 64 6c 65 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 n.handle($level,.$message,.$file
d67e0 2c 20 24 6c 69 6e 65 29 0a 7b 0a 0a 20 69 66 20 28 21 28 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 ,.$line).{...if.(!(error_reporti
d6800 6e 67 28 29 20 26 20 24 6c 65 76 65 6c 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 ng().&.$level)).{.return;.}..if.
d6820 28 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 73 63 72 65 (filter_var(ini_get('xdebug.scre
d6840 61 6d 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 am'),.FILTER_VALIDATE_BOOLEAN)).
d6860 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 57 61 72 6e 69 6e 67 3a 20 59 6f 75 20 {.$message..=."\n\nWarning:.You.
d6880 68 61 76 65 20 78 64 65 62 75 67 2e 73 63 72 65 61 6d 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 have.xdebug.scream.enabled,.the.
d68a0 77 61 72 6e 69 6e 67 20 61 62 6f 76 65 20 6d 61 79 20 62 65 22 2e 0a 22 5c 6e 61 20 6c 65 67 69 warning.above.may.be".."\na.legi
d68c0 74 69 6d 61 74 65 6c 79 20 73 75 70 70 72 65 73 73 65 64 20 65 72 72 6f 72 20 74 68 61 74 20 79 timately.suppressed.error.that.y
d68e0 6f 75 20 77 65 72 65 20 6e 6f 74 20 73 75 70 70 6f 73 65 64 20 74 6f 20 73 65 65 2e 22 3b 0a 7d ou.were.not.supposed.to.see.";.}
d6900 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 21 3d 3d 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 26 26 ..if.($level.!==.E_DEPRECATED.&&
d6920 20 24 6c 65 76 65 6c 20 21 3d 3d 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 20 7b .$level.!==.E_USER_DEPRECATED).{
d6940 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 .throw.new.\ErrorException($mess
d6960 61 67 65 2c 20 30 2c 20 24 6c 65 76 65 6c 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d age,.0,.$level,.$file,.$line);.}
d6980 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 24 69 6f 29 20 7b 0a 73 65 6c 66 3a 3a 24 69 6f 2d 3e 77 72 ..if.(self::$io).{.self::$io->wr
d69a0 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 65 70 72 65 63 61 74 69 6f 6e 20 4e iteError('<warning>Deprecation.N
d69c0 6f 74 69 63 65 3a 20 27 2e 24 6d 65 73 73 61 67 65 2e 27 20 69 6e 20 27 2e 24 66 69 6c 65 2e 27 otice:.'.$message.'.in.'.$file.'
d69e0 3a 27 2e 24 6c 69 6e 65 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 69 66 20 28 73 65 6c 66 :'.$line.'</warning>');.if.(self
d6a00 3a 3a 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 69 6f 2d ::$io->isVerbose()).{.self::$io-
d6a20 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 74 61 63 6b 20 74 72 61 63 >writeError('<warning>Stack.trac
d6a40 65 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 73 65 6c 66 3a 3a 24 69 6f 2d 3e 77 72 69 74 65 e:</warning>');.self::$io->write
d6a60 45 72 72 6f 72 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e Error(array_filter(array_map(fun
d6a80 63 74 69 6f 6e 20 28 24 61 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 61 5b 27 6c 69 6e 65 27 ction.($a).{.if.(isset($a['line'
d6aa0 5d 2c 20 24 61 5b 27 66 69 6c 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 77 61 72 6e 69 ],.$a['file'])).{.return.'<warni
d6ac0 6e 67 3e 20 27 2e 24 61 5b 27 66 69 6c 65 27 5d 2e 27 3a 27 2e 24 61 5b 27 6c 69 6e 65 27 5d 2e ng>.'.$a['file'].':'.$a['line'].
d6ae0 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 2c '</warning>';.}..return.null;.},
d6b00 20 61 72 72 61 79 5f 73 6c 69 63 65 28 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 29 2c 20 .array_slice(debug_backtrace(),.
d6b20 32 29 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 2))));.}.}.}.......public.static
d6b40 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 .function.register(IOInterface.$
d6b60 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 io.=.null).{.set_error_handler(a
d6b80 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 68 61 6e 64 6c 65 27 29 29 3b 0a 65 72 72 6f rray(__CLASS__,.'handle'));.erro
d6ba0 72 5f 72 65 70 6f 72 74 69 6e 67 28 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 29 3b 0a 73 r_reporting(E_ALL.|.E_STRICT);.s
d6bc0 65 6c 66 3a 3a 24 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a elf::$io.=.$io;.}.}.<?php.......
d6be0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 .....namespace.Composer\Util;..u
d6c00 73 65 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3b 0a 75 se.RecursiveDirectoryIterator;.u
d6c20 73 65 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 se.RecursiveIteratorIterator;.us
d6c40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 e.Symfony\Component\Filesystem\E
d6c60 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e xception\IOException;.use.Symfon
d6c80 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a y\Component\Finder\Finder;......
d6ca0 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 class.Filesystem.{.private.$proc
d6cc0 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f essExecutor;..public.function.__
d6ce0 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 65 78 65 63 75 construct(ProcessExecutor.$execu
d6d00 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 tor.=.null).{.$this->processExec
d6d20 75 74 6f 72 20 3d 20 24 65 78 65 63 75 74 6f 72 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 utor.=.$executor.?:.new.ProcessE
d6d40 78 65 63 75 74 6f 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 xecutor();.}..public.function.re
d6d60 6d 6f 76 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 move($file).{.if.(is_dir($file))
d6d80 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 .{.return.$this->removeDirectory
d6da0 28 24 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c ($file);.}..if.(file_exists($fil
d6dc0 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 e)).{.return.$this->unlink($file
d6de0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 );.}..return.false;.}........pub
d6e00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 72 45 6d 70 74 79 28 24 64 69 72 29 0a 7b 0a lic.function.isDirEmpty($dir).{.
d6e20 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e $finder.=.Finder::create().->ign
d6e40 6f 72 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 oreVCS(false).->ignoreDotFiles(f
d6e60 61 6c 73 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 72 65 alse).->depth(0).->in($dir);..re
d6e80 74 75 72 6e 20 63 6f 75 6e 74 28 24 66 69 6e 64 65 72 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 75 turn.count($finder).===.0;.}..pu
d6ea0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 70 74 79 44 69 72 65 63 74 6f 72 79 28 24 64 69 blic.function.emptyDirectory($di
d6ec0 72 2c 20 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 20 3d 20 74 72 75 65 r,.$ensureDirectoryExists.=.true
d6ee0 29 0a 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 29 20 26 26 20 69 73 5f ).{.if.(file_exists($dir).&&.is_
d6f00 6c 69 6e 6b 28 24 64 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 64 69 72 link($dir)).{.$this->unlink($dir
d6f20 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 );.}..if.($ensureDirectoryExists
d6f40 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 ).{.$this->ensureDirectoryExists
d6f60 28 24 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 ($dir);.}..if.(is_dir($dir)).{.$
d6f80 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f finder.=.Finder::create().->igno
d6fa0 72 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 reVCS(false).->ignoreDotFiles(fa
d6fc0 6c 73 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 66 6f 72 lse).->depth(0).->in($dir);..for
d6fe0 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 74 68 69 73 2d each.($finder.as.$path).{.$this-
d7000 3e 72 65 6d 6f 76 65 28 28 73 74 72 69 6e 67 29 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a >remove((string).$path);.}.}.}..
d7020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 ..........public.function.remove
d7040 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 74 68 69 Directory($directory).{.if.($thi
d7060 73 2d 3e 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f s->isSymlinkedDirectory($directo
d7080 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 53 79 6d 6c 69 ry)).{.return.$this->unlinkSymli
d70a0 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 nkedDirectory($directory);.}..if
d70c0 20 28 24 74 68 69 73 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 64 69 72 65 63 74 6f 72 79 29 29 .($this->isJunction($directory))
d70e0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 .{.return.$this->removeJunction(
d7100 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 64 69 72 $directory);.}..if.(is_link($dir
d7120 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 24 64 69 72 65 63 74 ectory)).{.return.unlink($direct
d7140 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 ory);.}..if.(!file_exists($direc
d7160 74 6f 72 79 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a tory).||.!is_dir($directory)).{.
d7180 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 return.true;.}..if.(preg_match('
d71a0 7b 5e 28 3f 3a 5b 61 2d 7a 5d 3a 29 3f 5b 2f 5c 5c 5c 5c 5d 2b 24 7d 69 27 2c 20 24 64 69 72 65 {^(?:[a-z]:)?[/\\\\]+$}i',.$dire
d71c0 63 74 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 ctory)).{.throw.new.\RuntimeExce
d71e0 70 74 69 6f 6e 28 27 41 62 6f 72 74 69 6e 67 20 61 6e 20 61 74 74 65 6d 70 74 65 64 20 64 65 6c ption('Aborting.an.attempted.del
d7200 65 74 69 6f 6e 20 6f 66 20 27 2e 24 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 74 68 69 73 20 77 61 etion.of.'.$directory.',.this.wa
d7220 73 20 70 72 6f 62 61 62 6c 79 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 2c 20 69 66 20 69 74 20 69 s.probably.not.intended,.if.it.i
d7240 73 20 61 20 72 65 61 6c 20 75 73 65 20 63 61 73 65 20 70 6c 65 61 73 65 20 72 65 70 6f 72 74 20 s.a.real.use.case.please.report.
d7260 69 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 it.');.}..if.(!function_exists('
d7280 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d proc_open')).{.return.$this->rem
d72a0 6f 76 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a oveDirectoryPhp($directory);.}..
d72c0 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 63 6d if.(Platform::isWindows()).{.$cm
d72e0 64 20 3d 20 73 70 72 69 6e 74 66 28 27 72 6d 64 69 72 20 2f 53 20 2f 51 20 25 73 27 2c 20 50 72 d.=.sprintf('rmdir./S./Q.%s',.Pr
d7300 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 72 65 61 6c 70 61 74 68 28 24 ocessExecutor::escape(realpath($
d7320 64 69 72 65 63 74 6f 72 79 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6d 64 20 3d 20 73 70 directory)));.}.else.{.$cmd.=.sp
d7340 72 69 6e 74 66 28 27 72 6d 20 2d 72 66 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 rintf('rm.-rf.%s',.ProcessExecut
d7360 6f 72 3a 3a 65 73 63 61 70 65 28 24 64 69 72 65 63 74 6f 72 79 29 29 3b 0a 7d 0a 0a 24 72 65 73 or::escape($directory));.}..$res
d7380 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 65 63 75 ult.=.$this->getProcess()->execu
d73a0 74 65 28 24 63 6d 64 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b 0a 0a 0a 20 63 6c 65 61 te($cmd,.$output).===.0;....clea
d73c0 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 20 26 26 20 21 66 rstatcache();..if.($result.&&.!f
d73e0 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e ile_exists($directory)).{.return
d7400 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 .true;.}..return.$this->removeDi
d7420 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a rectoryPhp($directory);.}.......
d7440 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 69 72 65 63 .....public.function.removeDirec
d7460 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 74 72 79 20 7b 0a 24 69 74 20 toryPhp($directory).{.try.{.$it.
d7480 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 =.new.RecursiveDirectoryIterator
d74a0 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 ($directory,.RecursiveDirectoryI
d74c0 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 terator::SKIP_DOTS);.}.catch.(\U
d74e0 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 nexpectedValueException.$e).{...
d7500 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 ..clearstatcache();.usleep(10000
d7520 30 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 0);.if.(!is_dir($directory)).{.r
d7540 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 eturn.true;.}.$it.=.new.Recursiv
d7560 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 eDirectoryIterator($directory,.R
d7580 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f ecursiveDirectoryIterator::SKIP_
d75a0 44 4f 54 53 29 3b 0a 7d 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 DOTS);.}.$ri.=.new.RecursiveIter
d75c0 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 atorIterator($it,.RecursiveItera
d75e0 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 66 6f 72 65 torIterator::CHILD_FIRST);..fore
d7600 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e ach.($ri.as.$file).{.if.($file->
d7620 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 66 69 6c 65 2d 3e 67 isDir()).{.$this->rmdir($file->g
d7640 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 75 etPathname());.}.else.{.$this->u
d7660 6e 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 0a 7d nlink($file->getPathname());.}.}
d7680 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 ..return.$this->rmdir($directory
d76a0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 44 69 72 65 );.}..public.function.ensureDire
d76c0 63 74 6f 72 79 45 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 21 69 ctoryExists($directory).{.if.(!i
d76e0 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 s_dir($directory)).{.if.(file_ex
d7700 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 ists($directory)).{.throw.new.\R
d7720 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 79 2e 27 20 65 78 untimeException(.$directory.'.ex
d7740 69 73 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b ists.and.is.not.a.directory.'.);
d7760 0a 7d 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 30 37 37 37 2c .}.if.(!@mkdir($directory,.0777,
d7780 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 .true)).{.throw.new.\RuntimeExce
d77a0 70 74 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 79 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 ption(.$directory.'.does.not.exi
d77c0 73 74 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 0a 29 3b st.and.could.not.be.created.'.);
d77e0 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 .}.}.}.........public.function.u
d7800 6e 6c 69 6e 6b 28 24 70 61 74 68 29 0a 7b 0a 24 75 6e 6c 69 6e 6b 65 64 20 3d 20 40 24 74 68 69 nlink($path).{.$unlinked.=.@$thi
d7820 73 2d 3e 75 6e 6c 69 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 3b 0a s->unlinkImplementation($path);.
d7840 69 66 20 28 21 24 75 6e 6c 69 6e 6b 65 64 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d if.(!$unlinked).{...if.(Platform
d7860 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 3b ::isWindows()).{.usleep(350000);
d7880 0a 24 75 6e 6c 69 6e 6b 65 64 20 3d 20 40 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 49 6d 70 6c 65 .$unlinked.=.@$this->unlinkImple
d78a0 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 6e 6c 69 6e mentation($path);.}..if.(!$unlin
d78c0 6b 65 64 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 ked).{.$error.=.error_get_last()
d78e0 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 27 ;.$message.=.'Could.not.delete.'
d7900 2e 24 70 61 74 68 2e 27 3a 20 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d .$path.':.'...@$error['message']
d7920 3b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 ;.if.(Platform::isWindows()).{.$
d7940 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 20 64 75 65 20 74 6f message..=."\nThis.can.be.due.to
d7960 20 61 6e 20 61 6e 74 69 76 69 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 65 61 .an.antivirus.or.the.Windows.Sea
d7980 72 63 68 20 49 6e 64 65 78 65 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 69 6c 65 20 77 68 69 rch.Indexer.locking.the.file.whi
d79a0 6c 65 20 74 68 65 79 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a 0a 74 68 72 6f 77 20 le.they.are.analyzed";.}..throw.
d79c0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b new.\RuntimeException($message);
d79e0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .}.}..return.true;.}.........pub
d7a00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 6d 64 69 72 28 24 70 61 74 68 29 0a 7b 0a 24 64 65 6c lic.function.rmdir($path).{.$del
d7a20 65 74 65 64 20 3d 20 40 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 64 65 6c 65 eted.=.@rmdir($path);.if.(!$dele
d7a40 74 65 64 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 ted).{...if.(Platform::isWindows
d7a60 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 3b 0a 24 64 65 6c 65 74 65 64 20 3d ()).{.usleep(350000);.$deleted.=
d7a80 20 40 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 64 65 6c 65 74 65 64 .@rmdir($path);.}..if.(!$deleted
d7aa0 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 24 ).{.$error.=.error_get_last();.$
d7ac0 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 27 2e 24 70 message.=.'Could.not.delete.'.$p
d7ae0 61 74 68 2e 27 3a 20 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 69 ath.':.'...@$error['message'];.i
d7b00 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 6d 65 73 f.(Platform::isWindows()).{.$mes
d7b20 73 61 67 65 20 2e 3d 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 20 64 75 65 20 74 6f 20 61 6e sage..=."\nThis.can.be.due.to.an
d7b40 20 61 6e 74 69 76 69 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 65 61 72 63 68 .antivirus.or.the.Windows.Search
d7b60 20 49 6e 64 65 78 65 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 69 6c 65 20 77 68 69 6c 65 20 .Indexer.locking.the.file.while.
d7b80 74 68 65 79 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 they.are.analyzed";.}..throw.new
d7ba0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a .\RuntimeException($message);.}.
d7bc0 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c }..return.true;.}...........publ
d7be0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 ic.function.copyThenRemove($sour
d7c00 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 73 6f 75 72 ce,.$target).{.$this->copy($sour
d7c20 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 73 6f 75 72 63 ce,.$target);.if.(!is_dir($sourc
d7c40 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 73 6f 75 72 63 65 29 3b 0a 0a 72 e)).{.$this->unlink($source);..r
d7c60 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 eturn;.}..$this->removeDirectory
d7c80 50 68 70 28 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Php($source);.}.........public.f
d7ca0 75 6e 63 74 69 6f 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b unction.copy($source,.$target).{
d7cc0 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 73 6f 75 72 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 .if.(!is_dir($source)).{.return.
d7ce0 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 24 69 74 20 3d copy($source,.$target);.}..$it.=
d7d00 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 .new.RecursiveDirectoryIterator(
d7d20 24 73 6f 75 72 63 65 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 $source,.RecursiveDirectoryItera
d7d40 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 tor::SKIP_DOTS);.$ri.=.new.Recur
d7d60 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 siveIteratorIterator($it,.Recurs
d7d80 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 iveIteratorIterator::SELF_FIRST)
d7da0 3b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 ;.$this->ensureDirectoryExists($
d7dc0 74 61 72 67 65 74 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 target);..$result.=.true;.foreac
d7de0 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 61 72 67 65 74 50 61 74 68 20 3d h.($ri.as.$file).{.$targetPath.=
d7e00 20 24 74 61 72 67 65 74 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e .$target...DIRECTORY_SEPARATOR..
d7e20 20 24 72 69 2d 3e 67 65 74 53 75 62 50 61 74 68 4e 61 6d 65 28 29 3b 0a 69 66 20 28 24 66 69 6c .$ri->getSubPathName();.if.($fil
d7e40 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 e->isDir()).{.$this->ensureDirec
d7e60 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 toryExists($targetPath);.}.else.
d7e80 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 20 26 26 20 63 6f 70 79 28 24 66 69 6c {.$result.=.$result.&&.copy($fil
d7ea0 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 61 72 67 65 74 50 61 74 68 29 3b 0a e->getPathname(),.$targetPath);.
d7ec0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 }.}..return.$result;.}..public.f
d7ee0 75 6e 63 74 69 6f 6e 20 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 unction.rename($source,.$target)
d7f00 0a 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 40 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c .{.if.(true.===.@rename($source,
d7f20 20 24 74 61 72 67 65 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e .$target)).{.return;.}..if.(!fun
d7f40 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 ction_exists('proc_open')).{.ret
d7f60 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 63 urn.$this->copyThenRemove($sourc
d7f80 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 e,.$target);.}..if.(Platform::is
d7fa0 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 Windows()).{...$command.=.sprint
d7fc0 66 28 27 78 63 6f 70 79 20 25 73 20 25 73 20 2f 45 20 2f 49 20 2f 51 20 2f 59 27 2c 20 50 72 6f f('xcopy.%s.%s./E./I./Q./Y',.Pro
d7fe0 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 29 2c 20 50 cessExecutor::escape($source),.P
d8000 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 29 29 rocessExecutor::escape($target))
d8020 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 ;.$result.=.$this->processExecut
d8040 6f 72 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 3b 0a or->execute($command,.$output);.
d8060 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 ...clearstatcache();..if.(0.===.
d8080 24 72 65 73 75 6c 74 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 $result).{.$this->remove($source
d80a0 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 24 63 6f 6d 6d );..return;.}.}.else.{.....$comm
d80c0 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 6d 76 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 and.=.sprintf('mv.%s.%s',.Proces
d80e0 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 29 2c 20 50 72 6f 63 sExecutor::escape($source),.Proc
d8100 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 29 29 3b 0a 24 essExecutor::escape($target));.$
d8120 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d result.=.$this->processExecutor-
d8140 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 0a 20 >execute($command,.$output);....
d8160 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 clearstatcache();..if.(0.===.$re
d8180 73 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 sult).{.return;.}.}..return.$thi
d81a0 73 2d 3e 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 s->copyThenRemove($source,.$targ
d81c0 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e et);.}...........public.function
d81e0 20 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 64 .findShortestPath($from,.$to,.$d
d8200 69 72 65 63 74 6f 72 69 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 irectories.=.false).{.if.(!$this
d8220 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 72 6f 6d 29 20 7c 7c 20 21 24 74 68 69 ->isAbsolutePath($from).||.!$thi
d8240 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 74 6f 29 29 20 7b 0a 74 68 72 6f 77 20 s->isAbsolutePath($to)).{.throw.
d8260 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 new.\InvalidArgumentException(sp
d8280 72 69 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 61 6e 64 20 24 74 6f 20 28 25 73 29 20 6d rintf('$from.(%s).and.$to.(%s).m
d82a0 75 73 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 2e 27 2c 20 24 66 72 6f 6d 2c 20 ust.be.absolute.paths.',.$from,.
d82c0 24 74 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d $to));.}..$from.=.lcfirst($this-
d82e0 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 6f 6d 29 29 3b 0a 24 74 6f 20 3d 20 6c 63 >normalizePath($from));.$to.=.lc
d8300 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 74 6f 29 29 first($this->normalizePath($to))
d8320 3b 0a 0a 69 66 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 72 ;..if.($directories).{.$from.=.r
d8340 74 72 69 6d 28 24 66 72 6f 6d 2c 20 27 2f 27 29 20 2e 20 27 2f 64 75 6d 6d 79 5f 66 69 6c 65 27 trim($from,.'/')...'/dummy_file'
d8360 3b 0a 7d 0a 0a 69 66 20 28 64 69 72 6e 61 6d 65 28 24 66 72 6f 6d 29 20 3d 3d 3d 20 64 69 72 6e ;.}..if.(dirname($from).===.dirn
d8380 61 6d 65 28 24 74 6f 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 2e 2f 27 2e 62 61 73 65 6e 61 6d 65 ame($to)).{.return.'./'.basename
d83a0 28 24 74 6f 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 24 74 6f 3b 0a 77 68 69 ($to);.}..$commonPath.=.$to;.whi
d83c0 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 le.(strpos($from.'/',.$commonPat
d83e0 68 2e 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 h.'/').!==.0.&&.'/'.!==.$commonP
d8400 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 5d 3a 2f 3f 24 7d ath.&&.!preg_match('{^[a-z]:/?$}
d8420 69 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 i',.$commonPath)).{.$commonPath.
d8440 3d 20 73 74 72 74 72 28 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 2c 20 27 5c =.strtr(dirname($commonPath),.'\
d8460 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 \',.'/');.}..if.(0.!==.strpos($f
d8480 72 6f 6d 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 2f 27 20 3d 3d 3d 20 24 63 6f rom,.$commonPath).||.'/'.===.$co
d84a0 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 6f 3b 0a 7d 0a 0a 24 63 6f 6d 6d mmonPath).{.return.$to;.}..$comm
d84c0 6f 6e 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 2c 20 27 2f 27 29 onPath.=.rtrim($commonPath,.'/')
d84e0 20 2e 20 27 2f 27 3b 0a 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 20 3d 20 73 75 62 73 74 ...'/';.$sourcePathDepth.=.subst
d8500 72 5f 63 6f 75 6e 74 28 73 75 62 73 74 72 28 24 66 72 6f 6d 2c 20 73 74 72 6c 65 6e 28 24 63 6f r_count(substr($from,.strlen($co
d8520 6d 6d 6f 6e 50 61 74 68 29 29 2c 20 27 2f 27 29 3b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 mmonPath)),.'/');.$commonPathCod
d8540 65 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2e 2e 2f 27 2c 20 24 73 6f 75 72 63 65 50 61 74 e.=.str_repeat('../',.$sourcePat
d8560 68 44 65 70 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 hDepth);..return.($commonPathCod
d8580 65 20 2e 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 e...substr($to,.strlen($commonPa
d85a0 74 68 29 29 29 20 3f 3a 20 27 2e 2f 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c th))).?:.'./';.}............publ
d85c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 ic.function.findShortestPathCode
d85e0 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3d 20 66 61 6c 73 ($from,.$to,.$directories.=.fals
d8600 65 2c 20 24 73 74 61 74 69 63 43 6f 64 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 e,.$staticCode.=.false).{.if.(!$
d8620 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 72 6f 6d 29 20 7c 7c 20 21 this->isAbsolutePath($from).||.!
d8640 24 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 74 6f 29 29 20 7b 0a 74 68 $this->isAbsolutePath($to)).{.th
d8660 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
d8680 6e 28 73 70 72 69 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 61 6e 64 20 24 74 6f 20 28 25 n(sprintf('$from.(%s).and.$to.(%
d86a0 73 29 20 6d 75 73 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 2e 27 2c 20 24 66 72 s).must.be.absolute.paths.',.$fr
d86c0 6f 6d 2c 20 24 74 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 6c 63 66 69 72 73 74 28 24 74 om,.$to));.}..$from.=.lcfirst($t
d86e0 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 6f 6d 29 29 3b 0a 24 74 6f 20 his->normalizePath($from));.$to.
d8700 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 =.lcfirst($this->normalizePath($
d8720 74 6f 29 29 3b 0a 0a 69 66 20 28 24 66 72 6f 6d 20 3d 3d 3d 20 24 74 6f 29 20 7b 0a 72 65 74 75 to));..if.($from.===.$to).{.retu
d8740 72 6e 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3f 20 27 5f 5f 44 49 52 5f 5f 27 20 3a 20 27 5f rn.$directories.?.'__DIR__'.:.'_
d8760 5f 46 49 4c 45 5f 5f 27 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 24 74 6f 3b 0a _FILE__';.}..$commonPath.=.$to;.
d8780 77 68 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f 27 2c 20 24 63 6f 6d 6d 6f 6e while.(strpos($from.'/',.$common
d87a0 50 61 74 68 2e 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d 3d 20 24 63 6f 6d 6d Path.'/').!==.0.&&.'/'.!==.$comm
d87c0 6f 6e 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 5d 3a 2f onPath.&&.!preg_match('{^[a-z]:/
d87e0 3f 24 7d 69 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 26 26 20 27 2e 27 20 21 3d 3d 20 24 ?$}i',.$commonPath).&&.'.'.!==.$
d8800 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 73 74 72 74 commonPath).{.$commonPath.=.strt
d8820 72 28 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 2c 20 27 5c 5c 27 2c 20 27 2f r(dirname($commonPath),.'\\',.'/
d8840 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 2c 20 24 ');.}..if.(0.!==.strpos($from,.$
d8860 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 2f 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 commonPath).||.'/'.===.$commonPa
d8880 74 68 20 7c 7c 20 27 2e 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 72 65 74 th.||.'.'.===.$commonPath).{.ret
d88a0 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 6f 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 63 urn.var_export($to,.true);.}..$c
d88c0 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 2c 20 27 ommonPath.=.rtrim($commonPath,.'
d88e0 2f 27 29 20 2e 20 27 2f 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 74 6f 2c 20 24 66 72 6f 6d /')...'/';.if.(strpos($to,.$from
d8900 2e 27 2f 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 27 5f 5f 44 49 52 5f 5f 20 2e .'/').===.0).{.return.'__DIR__..
d8920 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e .'.var_export(substr($to,.strlen
d8940 28 24 66 72 6f 6d 29 29 2c 20 74 72 75 65 29 3b 0a 7d 0a 24 73 6f 75 72 63 65 50 61 74 68 44 65 ($from)),.true);.}.$sourcePathDe
d8960 70 74 68 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 73 75 62 73 74 72 28 24 66 72 6f 6d 2c pth.=.substr_count(substr($from,
d8980 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 2c 20 27 2f 27 29 20 2b 20 24 64 .strlen($commonPath)),.'/').+.$d
d89a0 69 72 65 63 74 6f 72 69 65 73 3b 0a 69 66 20 28 24 73 74 61 74 69 63 43 6f 64 65 29 20 7b 0a 24 irectories;.if.($staticCode).{.$
d89c0 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 22 5f 5f 44 49 52 5f 5f 20 2e 20 27 22 2e 73 commonPathCode.=."__DIR__...'".s
d89e0 74 72 5f 72 65 70 65 61 74 28 27 2f 2e 2e 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 tr_repeat('/..',.$sourcePathDept
d8a00 68 29 2e 22 27 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 h)."'";.}.else.{.$commonPathCode
d8a20 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 64 69 72 6e 61 6d 65 28 27 2c 20 24 73 6f 75 72 63 .=.str_repeat('dirname(',.$sourc
d8a40 65 50 61 74 68 44 65 70 74 68 29 2e 27 5f 5f 44 49 52 5f 5f 27 2e 73 74 72 5f 72 65 70 65 61 74 ePathDepth).'__DIR__'.str_repeat
d8a60 28 27 29 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 3b 0a 7d 0a 24 72 65 6c 54 (')',.$sourcePathDepth);.}.$relT
d8a80 61 72 67 65 74 20 3d 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d arget.=.substr($to,.strlen($comm
d8aa0 6f 6e 50 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 onPath));..return.$commonPathCod
d8ac0 65 20 2e 20 28 73 74 72 6c 65 6e 28 24 72 65 6c 54 61 72 67 65 74 29 20 3f 20 27 2e 27 20 2e 20 e...(strlen($relTarget).?.'.'...
d8ae0 76 61 72 5f 65 78 70 6f 72 74 28 27 2f 27 20 2e 20 24 72 65 6c 54 61 72 67 65 74 2c 20 74 72 75 var_export('/'...$relTarget,.tru
d8b00 65 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e).:.'');.}........public.functi
d8b20 6f 6e 20 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 on.isAbsolutePath($path).{.retur
d8b40 6e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 20 7c 7c n.substr($path,.0,.1).===.'/'.||
d8b60 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 2c 20 31 29 20 3d 3d 3d 20 27 3a 27 3b 0a 7d 0a .substr($path,.1,.1).===.':';.}.
d8b80 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 24 70 .........public.function.size($p
d8ba0 61 74 68 29 0a 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 29 29 20 ath).{.if.(!file_exists($path)).
d8bc0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 24 {.throw.new.\RuntimeException("$
d8be0 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 69 66 20 28 69 73 path.does.not.exist.");.}.if.(is
d8c00 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 72 _dir($path)).{.return.$this->dir
d8c20 65 63 74 6f 72 79 53 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 69 6c ectorySize($path);.}..return.fil
d8c40 65 73 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 esize($path);.}.........public.f
d8c60 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 unction.normalizePath($path).{.$
d8c80 70 61 72 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 74 72 28 24 parts.=.array();.$path.=.strtr($
d8ca0 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 70 72 65 66 69 78 20 3d 20 27 27 3b 0a path,.'\\',.'/');.$prefix.=.'';.
d8cc0 24 61 62 73 6f 6c 75 74 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d $absolute.=.false;....if.(preg_m
d8ce0 61 74 63 68 28 27 7b 5e 28 20 5b 30 2d 39 61 2d 7a 5d 7b 32 2c 7d 2b 3a 20 28 3f 3a 20 2f 2f 20 atch('{^(.[0-9a-z]{2,}+:.(?:.//.
d8d00 28 3f 3a 20 5b 61 2d 7a 5d 3a 20 29 3f 20 29 3f 20 7c 20 5b 61 2d 7a 5d 3a 20 29 7d 69 78 27 2c (?:.[a-z]:.)?.)?.|.[a-z]:.)}ix',
d8d20 20 24 70 61 74 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 24 6d 61 .$path,.$match)).{.$prefix.=.$ma
d8d40 74 63 68 5b 31 5d 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 73 74 tch[1];.$path.=.substr($path,.st
d8d60 72 6c 65 6e 28 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 70 rlen($prefix));.}..if.(substr($p
d8d80 61 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b 0a 24 61 62 73 6f 6c 75 74 65 20 ath,.0,.1).===.'/').{.$absolute.
d8da0 3d 20 74 72 75 65 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 29 =.true;.$path.=.substr($path,.1)
d8dc0 3b 0a 7d 0a 0a 24 75 70 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f ;.}..$up.=.false;.foreach.(explo
d8de0 64 65 28 27 2f 27 2c 20 24 70 61 74 68 29 20 61 73 20 24 63 68 75 6e 6b 29 20 7b 0a 69 66 20 28 de('/',.$path).as.$chunk).{.if.(
d8e00 27 2e 2e 27 20 3d 3d 3d 20 24 63 68 75 6e 6b 20 26 26 20 28 24 61 62 73 6f 6c 75 74 65 20 7c 7c '..'.===.$chunk.&&.($absolute.||
d8e20 20 24 75 70 29 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 24 75 70 20 .$up)).{.array_pop($parts);.$up.
d8e40 3d 20 21 28 65 6d 70 74 79 28 24 70 61 72 74 73 29 20 7c 7c 20 27 2e 2e 27 20 3d 3d 3d 20 65 6e =.!(empty($parts).||.'..'.===.en
d8e60 64 28 24 70 61 72 74 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 63 d($parts));.}.elseif.('.'.!==.$c
d8e80 68 75 6e 6b 20 26 26 20 27 27 20 21 3d 3d 20 24 63 68 75 6e 6b 29 20 7b 0a 24 70 61 72 74 73 5b hunk.&&.''.!==.$chunk).{.$parts[
d8ea0 5d 20 3d 20 24 63 68 75 6e 6b 3b 0a 24 75 70 20 3d 20 27 2e 2e 27 20 21 3d 3d 20 24 63 68 75 6e ].=.$chunk;.$up.=.'..'.!==.$chun
d8ec0 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 66 69 78 2e 28 24 61 62 73 6f 6c 75 74 k;.}.}..return.$prefix.($absolut
d8ee0 65 20 3f 20 27 2f 27 20 3a 20 27 27 29 2e 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 72 74 e.?.'/'.:.'').implode('/',.$part
d8f00 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 s);.}........public.static.funct
d8f20 69 6f 6e 20 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.isLocalPath($path).{.return.
d8f40 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 66 69 6c 65 3a 2f 2f 28 3f 21 (bool).preg_match('{^(file://(?!
d8f60 2f 2f 29 7c 2f 28 3f 21 2f 29 7c 2f 3f 5b 61 2d 7a 5d 3a 5b 5c 5c 5c 5c 2f 5d 7c 5c 2e 5c 2e 5b //)|/(?!/)|/?[a-z]:[\\\\/]|\.\.[
d8f80 5c 5c 5c 5c 2f 5d 7c 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 5b 5c 5c 5c 5c 2f 5d 29 7d 69 27 2c 20 \\\\/]|[a-z0-9_.-]+[\\\\/])}i',.
d8fa0 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f $path);.}..public.static.functio
d8fc0 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 n.getPlatformPath($path).{.if.(P
d8fe0 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 latform::isWindows()).{.$path.=.
d9000 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 3f 3a 66 69 6c 65 3a 2f 2f 2f 28 5b 61 2d 7a preg_replace('{^(?:file:///([a-z
d9020 5d 29 3a 3f 2f 29 7d 69 27 2c 20 27 66 69 6c 65 3a 2f 2f 24 31 3a 2f 27 2c 20 24 70 61 74 68 29 ]):?/)}i',.'file://$1:/',.$path)
d9040 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 66 69 6c 65 ;.}..return.preg_replace('{^file
d9060 3a 2f 2f 7d 69 27 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 ://}i',.'',.$path);.}..protected
d9080 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 53 69 7a 65 28 24 64 69 72 65 63 74 6f .function.directorySize($directo
d90a0 72 79 29 0a 7b 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f ry).{.$it.=.new.RecursiveDirecto
d90c0 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 ryIterator($directory,.Recursive
d90e0 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 24 DirectoryIterator::SKIP_DOTS);.$
d9100 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 ri.=.new.RecursiveIteratorIterat
d9120 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f or($it,.RecursiveIteratorIterato
d9140 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 24 73 69 7a 65 20 3d 20 30 3b 0a 66 6f 72 r::CHILD_FIRST);..$size.=.0;.for
d9160 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d each.($ri.as.$file).{.if.($file-
d9180 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 24 73 69 7a 65 20 2b 3d 20 24 66 69 6c 65 2d 3e 67 65 74 >isFile()).{.$size.+=.$file->get
d91a0 53 69 7a 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 69 7a 65 3b 0a 7d 0a 0a 70 72 Size();.}.}..return.$size;.}..pr
d91c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a otected.function.getProcess().{.
d91e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 7d return.$this->processExecutor;.}
d9200 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 69 ...........private.function.unli
d9220 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 6c nkImplementation($path).{.if.(Pl
d9240 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 69 73 5f 64 69 72 28 24 70 atform::isWindows().&&.is_dir($p
d9260 61 74 68 29 20 26 26 20 69 73 5f 6c 69 6e 6b 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e ath).&&.is_link($path)).{.return
d9280 20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 .rmdir($path);.}..return.unlink(
d92a0 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $path);.}.........public.functio
d92c0 6e 20 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b 28 24 74 61 72 67 65 74 2c 20 24 6c 69 6e 6b n.relativeSymlink($target,.$link
d92e0 29 0a 7b 0a 24 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 24 72 65 6c 61 74 69 76 65 50 ).{.$cwd.=.getcwd();..$relativeP
d9300 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c ath.=.$this->findShortestPath($l
d9320 69 6e 6b 2c 20 24 74 61 72 67 65 74 29 3b 0a 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 24 6c 69 ink,.$target);.chdir(dirname($li
d9340 6e 6b 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 40 73 79 6d 6c 69 6e 6b 28 24 72 65 6c 61 74 69 nk));.$result.=.@symlink($relati
d9360 76 65 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 0a 63 68 64 69 72 28 24 63 77 64 29 3b 0a 0a 72 vePath,.$link);..chdir($cwd);..r
d9380 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 eturn.$result;.}.........public.
d93a0 66 75 6e 63 74 69 6f 6e 20 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 function.isSymlinkedDirectory($d
d93c0 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f irectory).{.if.(!is_dir($directo
d93e0 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 ry)).{.return.false;.}..$resolve
d9400 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 d.=.$this->resolveSymlinkedDirec
d9420 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 72 65 74 75 72 6e torySymlink($directory);..return
d9440 20 69 73 5f 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 .is_link($resolved);.}.......pri
d9460 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 69 6e 6b 53 79 6d 6c 69 6e 6b 65 64 44 69 72 vate.function.unlinkSymlinkedDir
d9480 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 64 20 3d ectory($directory).{.$resolved.=
d94a0 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 .$this->resolveSymlinkedDirector
d94c0 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 ySymlink($directory);..return.$t
d94e0 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a his->unlink($resolved);.}.......
d9500 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e ..private.function.resolveSymlin
d9520 6b 65 64 44 69 72 65 63 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 70 61 74 68 6e 61 6d 65 29 0a 7b kedDirectorySymlink($pathname).{
d9540 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 .if.(!is_dir($pathname)).{.retur
d9560 6e 20 24 70 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 64 20 3d 20 72 74 72 69 n.$pathname;.}..$resolved.=.rtri
d9580 6d 28 24 70 61 74 68 6e 61 6d 65 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 21 73 74 72 6c 65 6e 28 m($pathname,.'/');..if.(!strlen(
d95a0 24 72 65 73 6f 6c 76 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 6e 61 6d 65 3b 0a $resolved)).{.return.$pathname;.
d95c0 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 6f 6c 76 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 }..return.$resolved;.}........pu
d95e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 75 6e 63 74 69 6f 6e 28 24 74 61 72 67 65 74 2c 20 blic.function.junction($target,.
d9600 24 6a 75 6e 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 $junction).{.if.(!Platform::isWi
d9620 6e 64 6f 77 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 ndows()).{.throw.new.\LogicExcep
d9640 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 75 6e 63 74 69 6f 6e 20 25 73 20 69 73 20 6e 6f 74 tion(sprintf('Function.%s.is.not
d9660 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 6e 6f 6e 2d 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f .available.on.non-Windows.platfo
d9680 72 6d 27 2c 20 5f 5f 43 4c 41 53 53 5f 5f 29 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 64 69 72 28 rm',.__CLASS__));.}.if.(!is_dir(
d96a0 24 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f $target)).{.throw.new.IOExceptio
d96c0 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 20 22 25 n(sprintf('Cannot.junction.to."%
d96e0 73 22 20 61 73 20 69 74 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 24 s".as.it.is.not.a.directory.',.$
d9700 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 24 63 target),.0,.null,.$target);.}.$c
d9720 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 6d 6b 6c 69 6e 6b 20 2f 4a 20 25 73 20 25 73 27 2c md.=.sprintf(.'mklink./J.%s.%s',
d9740 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 73 74 72 5f 72 65 70 .ProcessExecutor::escape(str_rep
d9760 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 lace('/',.DIRECTORY_SEPARATOR,.$
d9780 6a 75 6e 63 74 69 6f 6e 29 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 junction)),.ProcessExecutor::esc
d97a0 61 70 65 28 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 29 29 0a 29 3b 0a 69 66 20 28 24 74 ape(realpath($target)).);.if.($t
d97c0 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 2c his->getProcess()->execute($cmd,
d97e0 20 24 6f 75 74 70 75 74 29 20 21 3d 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 .$output).!==.0).{.throw.new.IOE
d9800 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 xception(sprintf('Failed.to.crea
d9820 74 65 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 20 22 25 73 22 20 61 74 20 22 25 73 22 2e 27 2c 20 24 te.junction.to."%s".at."%s".',.$
d9840 74 61 72 67 65 74 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 target,.$junction),.0,.null,.$ta
d9860 72 67 65 74 29 3b 0a 7d 0a 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a rget);.}.clearstatcache(true,.$j
d9880 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a unction);.}.....................
d98a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e .public.function.isJunction($jun
d98c0 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 ction).{.if.(!Platform::isWindow
d98e0 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 64 s()).{.return.false;.}.if.(!is_d
d9900 69 72 28 24 6a 75 6e 63 74 69 6f 6e 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 6a 75 6e 63 74 69 ir($junction).||.is_link($juncti
d9920 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 63 6c 65 61 72 73 on)).{.return.false;.}....clears
d9940 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 24 73 74 61 74 tatcache(true,.$junction);.$stat
d9960 20 3d 20 6c 73 74 61 74 28 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 0a 0a 20 72 65 74 75 72 6e 20 24 .=.lstat($junction);....return.$
d9980 73 74 61 74 20 3f 20 30 78 34 30 30 30 20 21 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 27 5d stat.?.0x4000.!==.($stat['mode']
d99a0 20 26 20 30 78 46 30 30 30 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .&.0xF000).:.false;.}........pub
d99c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e lic.function.removeJunction($jun
d99e0 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 ction).{.if.(!Platform::isWindow
d9a00 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 6a 75 6e 63 74 69 6f 6e s()).{.return.false;.}.$junction
d9a20 20 3d 20 72 74 72 69 6d 28 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 43 54 .=.rtrim(str_replace('/',.DIRECT
d9a40 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 44 49 52 45 43 ORY_SEPARATOR,.$junction),.DIREC
d9a60 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 4a TORY_SEPARATOR);.if.(!$this->isJ
d9a80 75 6e 63 74 69 6f 6e 28 24 6a 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 unction($junction)).{.throw.new.
d9aa0 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 20 69 73 20 6e 6f 74 20 61 IOException(sprintf('%s.is.not.a
d9ac0 20 6a 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 75 73 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 6d .junction.and.thus.cannot.be.rem
d9ae0 6f 76 65 64 20 61 73 20 6f 6e 65 27 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 oved.as.one',.$junction));.}..re
d9b00 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a turn.$this->rmdir($junction);.}.
d9b20 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
d9b40 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 poser\Util;..use.Composer\Config
d9b60 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a ;.use.Composer\IO\IOInterface;..
d9b80 0a 0a 0a 63 6c 61 73 73 20 47 69 74 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 ...class.Git.{.private.static.$v
d9ba0 65 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 ersion;...protected.$io;..protec
d9bc0 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 ted.$config;..protected.$process
d9be0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 ;..protected.$filesystem;..publi
d9c00 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 c.function.__construct(IOInterfa
d9c20 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 ce.$io,.Config.$config,.ProcessE
d9c40 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 xecutor.$process,.Filesystem.$fs
d9c60 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 ).{.$this->io.=.$io;.$this->conf
d9c80 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 ig.=.$config;.$this->process.=.$
d9ca0 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 73 process;.$this->filesystem.=.$fs
d9cc0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 ;.}..public.function.runCommand(
d9ce0 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 24 69 $commandCallable,.$url,.$cwd,.$i
d9d00 6e 69 74 69 61 6c 43 6c 6f 6e 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e nitialClone.=.false).{...$this->
d9d20 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c config->prohibitUrlByConfig($url
d9d40 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 ,.$this->io);..if.($initialClone
d9d60 29 20 7b 0a 24 6f 72 69 67 43 77 64 20 3d 20 24 63 77 64 3b 0a 24 63 77 64 20 3d 20 6e 75 6c 6c ).{.$origCwd.=.$cwd;.$cwd.=.null
d9d80 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b 5e 40 ;.}..if.(preg_match('{^ssh://[^@
d9da0 5d 2b 40 5b 5e 3a 5d 2b 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 75 72 6c 29 29 20 7b 0a 74 68 72 ]+@[^:]+:[^0-9]+}',.$url)).{.thr
d9dc0 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
d9de0 28 27 54 68 65 20 73 6f 75 72 63 65 20 55 52 4c 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 69 73 ('The.source.URL.'...$url...'.is
d9e00 20 69 6e 76 61 6c 69 64 2c 20 73 73 68 20 55 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 .invalid,.ssh.URLs.should.have.a
d9e20 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 61 66 74 65 72 20 22 3a 22 2e 27 20 2e 20 22 5c 6e 22 20 .port.number.after.":".'..."\n".
d9e40 2e 20 27 55 73 65 20 73 73 68 3a 2f 2f 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 32 32 2f ..'Use.ssh://git@example.com:22/
d9e60 70 61 74 68 20 6f 72 20 6a 75 73 74 20 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 70 61 74 path.or.just.git@example.com:pat
d9e80 68 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 h.if.you.do.not.want.to.provide.
d9ea0 61 20 70 61 73 73 77 6f 72 64 20 6f 72 20 63 75 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a a.password.or.custom.port.');.}.
d9ec0 0a 69 66 20 28 21 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e .if.(!$initialClone).{...$this->
d9ee0 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d 76 27 process->execute('git.remote.-v'
d9f00 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 77 64 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 ,.$output,.$cwd);.if.(preg_match
d9f20 28 27 7b 5e 28 3f 3a 63 6f 6d 70 6f 73 65 72 7c 6f 72 69 67 69 6e 29 5c 73 2b 68 74 74 70 73 3f ('{^(?:composer|origin)\s+https?
d9f40 3a 2f 2f 28 2e 2b 29 3a 28 2e 2b 29 40 28 5b 5e 2f 5d 2b 29 7d 69 6d 27 2c 20 24 6f 75 74 70 75 ://(.+):(.+)@([^/]+)}im',.$outpu
d9f60 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 t,.$match)).{.$this->io->setAuth
d9f80 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 33 5d 2c 20 72 61 77 75 72 6c 64 65 63 6f entication($match[3],.rawurldeco
d9fa0 64 65 28 24 6d 61 74 63 68 5b 31 5d 29 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 de($match[1]),.rawurldecode($mat
d9fc0 63 68 5b 32 5d 29 29 3b 0a 7d 0a 7d 0a 0a 24 70 72 6f 74 6f 63 6f 6c 73 20 3d 20 24 74 68 69 73 ch[2]));.}.}..$protocols.=.$this
d9fe0 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 ->config->get('github-protocols'
da000 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 72 6f 74 6f 63 6f 6c 73 29 29 20 7b 0a );.if.(!is_array($protocols)).{.
da020 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6e throw.new.\RuntimeException('Con
da040 66 69 67 20 76 61 6c 75 65 20 22 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 22 20 6d 75 73 fig.value."github-protocols".mus
da060 74 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 67 6f 74 20 27 20 2e 20 67 65 74 74 79 70 65 28 24 t.be.an.array,.got.'...gettype($
da080 70 72 6f 74 6f 63 6f 6c 73 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 protocols));.}...if.(preg_match(
da0a0 27 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 67 65 '{^(?:https?|git)://'...self::ge
da0c0 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 tGitHubDomainsRegex($this->confi
da0e0 67 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a g)...'/(.*)}',.$url,.$match)).{.
da100 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 $messages.=.array();.foreach.($p
da120 72 6f 74 6f 63 6f 6c 73 20 61 73 20 24 70 72 6f 74 6f 63 6f 6c 29 20 7b 0a 69 66 20 28 27 73 73 rotocols.as.$protocol).{.if.('ss
da140 68 27 20 3d 3d 3d 20 24 70 72 6f 74 6f 63 6f 6c 29 20 7b 0a 24 70 72 6f 74 6f 55 72 6c 20 3d 20 h'.===.$protocol).{.$protoUrl.=.
da160 22 67 69 74 40 22 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 22 3a 22 20 2e 20 24 6d 61 74 63 "git@"...$match[1]...":"...$matc
da180 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 74 6f 55 72 6c 20 3d 20 24 70 72 6f 74 h[2];.}.else.{.$protoUrl.=.$prot
da1a0 6f 63 6f 6c 20 2e 20 22 3a 2f 2f 22 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 22 2f 22 20 2e ocol..."://"...$match[1]..."/"..
da1c0 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e .$match[2];.}..if.(0.===.$this->
da1e0 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 process->execute(call_user_func(
da200 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 70 72 6f 74 6f 55 72 6c 29 2c 20 24 69 $commandCallable,.$protoUrl),.$i
da220 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d gnoredOutput,.$cwd)).{.return;.}
da240 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 2d 20 27 20 2e 20 24 70 72 6f 74 6f 55 72 6c 20 .$messages[].=.'-.'...$protoUrl.
da260 2e 20 22 5c 6e 22 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 23 6d 27 2c 20 27 20 .."\n"...preg_replace('#^#m',.'.
da280 20 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 .',.$this->process->getErrorOutp
da2a0 75 74 28 29 29 3b 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 ut());.if.($initialClone).{.$thi
da2c0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 s->filesystem->removeDirectory($
da2e0 6f 72 69 67 43 77 64 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 origCwd);.}.}....$this->throwExc
da300 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c eption('Failed.to.clone.'...$url
da320 20 2e 20 27 20 76 69 61 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 6f 74 ...'.via.'...implode(',.',.$prot
da340 6f 63 6f 6c 73 29 20 2e 20 27 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 61 62 6f 72 74 69 6e 67 2e 27 ocols)...'.protocols,.aborting.'
da360 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 ..."\n\n"...implode("\n",.$messa
da380 67 65 73 29 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 20 24 62 79 70 61 73 73 53 73 68 46 6f 72 47 ges),.$url);.}....$bypassSshForG
da3a0 69 74 48 75 62 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 67 69 74 40 27 20 2e 20 73 65 itHub.=.preg_match('{^git@'...se
da3c0 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d lf::getGitHubDomainsRegex($this-
da3e0 3e 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d 69 27 2c 20 24 75 72 >config)...':(.+?)\.git$}i',.$ur
da400 6c 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 27 73 73 68 27 2c 20 24 70 72 6f 74 6f 63 6f 6c l).&&.!in_array('ssh',.$protocol
da420 73 2c 20 74 72 75 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f s,.true);..$command.=.call_user_
da440 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 29 3b 0a 0a 24 func($commandCallable,.$url);..$
da460 61 75 74 68 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 62 79 70 61 73 73 53 73 68 46 6f 72 47 69 auth.=.null;.if.($bypassSshForGi
da480 74 48 75 62 20 7c 7c 20 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 tHub.||.0.!==.$this->process->ex
da4a0 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 ecute($command,.$ignoredOutput,.
da4c0 24 63 77 64 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 67 69 74 $cwd)).{...if.(preg_match('{^git
da4e0 40 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 @'...self::getGitHubDomainsRegex
da500 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d ($this->config)...':(.+?)\.git$}
da520 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d i',.$url,.$match)).{.if.(!$this-
da540 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d >io->hasAuthentication($match[1]
da560 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 )).{.$gitHubUtil.=.new.GitHub($t
da580 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 his->io,.$this->config,.$this->p
da5a0 72 6f 63 65 73 73 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6c 6f 6e 69 6e 67 20 66 61 69 rocess);.$message.=.'Cloning.fai
da5c0 6c 65 64 20 75 73 69 6e 67 20 61 6e 20 73 73 68 20 6b 65 79 20 66 6f 72 20 61 75 74 68 65 6e 74 led.using.an.ssh.key.for.authent
da5e0 69 63 61 74 69 6f 6e 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 ication,.enter.your.GitHub.crede
da600 6e 74 69 61 6c 73 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b ntials.to.access.private.repos';
da620 0a 0a 69 66 20 28 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 ..if.(!$gitHubUtil->authorizeOAu
da640 74 68 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e th($match[1]).&&.$this->io->isIn
da660 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 teractive()).{.$gitHubUtil->auth
da680 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 74 63 68 5b 31 orizeOAuthInteractively($match[1
da6a0 5d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f ],.$message);.}.}..if.($this->io
da6c0 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 ->hasAuthentication($match[1])).
da6e0 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 {.$auth.=.$this->io->getAuthenti
da700 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 61 75 74 68 55 72 6c 20 3d 20 27 68 cation($match[1]);.$authUrl.=.'h
da720 74 74 70 73 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 ttps://'...rawurlencode($auth['u
da740 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 sername'])...':'...rawurlencode(
da760 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 $auth['password'])...'@'...$matc
da780 68 5b 31 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b h[1]...'/'...$match[2]...'.git';
da7a0 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d .$command.=.call_user_func($comm
da7c0 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d andCallable,.$authUrl);.if.(0.==
da7e0 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 =.$this->process->execute($comma
da800 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 nd,.$ignoredOutput,.$cwd)).{.ret
da820 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b urn;.}.}.}.elseif.(preg_match('{
da840 5e 68 74 74 70 73 3a 2f 2f 28 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 29 2f 28 2e 2a 29 28 5c ^https://(bitbucket\.org)/(.*)(\
da860 2e 67 69 74 29 3f 24 7d 55 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 24 .git)?$}U',.$url,.$match)).{...$
da880 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 bitbucketUtil.=.new.Bitbucket($t
da8a0 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 his->io,.$this->config,.$this->p
da8c0 72 6f 63 65 73 73 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 rocess);..if.(!$this->io->hasAut
da8e0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 6d 65 73 73 61 hentication($match[1])).{.$messa
da900 67 65 20 3d 20 27 45 6e 74 65 72 20 79 6f 75 72 20 42 69 74 62 75 63 6b 65 74 20 63 72 65 64 65 ge.=.'Enter.your.Bitbucket.crede
da920 6e 74 69 61 6c 73 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b ntials.to.access.private.repos';
da940 0a 0a 69 66 20 28 21 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 ..if.(!$bitbucketUtil->authorize
da960 4f 41 75 74 68 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 OAuth($match[1]).&&.$this->io->i
da980 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c sInteractive()).{.$bitbucketUtil
da9a0 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d ->authorizeOAuthInteractively($m
da9c0 61 74 63 68 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e atch[1],.$message);.$accessToken
da9e0 20 3d 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 67 65 74 54 6f 6b 65 6e 28 29 3b 0a 24 .=.$bitbucketUtil->getToken();.$
daa00 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 this->io->setAuthentication($mat
daa20 63 68 5b 31 5d 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f ch[1],.'x-token-auth',.$accessTo
daa40 6b 65 6e 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 61 75 74 68 20 3d 20 24 74 68 69 73 ken);.}.}.else.{...$auth.=.$this
daa60 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 ->io->getAuthentication($match[1
daa80 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d 3d ]);....if.($auth['username'].!==
daaa0 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 29 20 7b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 .'x-token-auth').{.$accessToken.
daac0 3d 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 =.$bitbucketUtil->requestToken($
daae0 6d 61 74 63 68 5b 31 5d 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 match[1],.$auth['username'],.$au
dab00 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 69 66 20 28 21 20 65 6d 70 74 79 28 24 61 63 th['password']);.if.(!.empty($ac
dab20 63 65 73 73 54 6f 6b 65 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 cessToken)).{.$this->io->setAuth
dab40 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 entication($match[1],.'x-token-a
dab60 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 uth',.$accessToken);.}.}.}..if.(
dab80 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 $this->io->hasAuthentication($ma
daba0 74 63 68 5b 31 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 tch[1])).{.$auth.=.$this->io->ge
dabc0 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 61 75 74 tAuthentication($match[1]);.$aut
dabe0 68 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 hUrl.=.'https://'...rawurlencode
dac00 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 ($auth['username'])...':'...rawu
dac20 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 rlencode($auth['password'])...'@
dac40 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 '...$match[1]...'/'...$match[2].
dac60 2e 20 27 2e 67 69 74 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f ..'.git';..$command.=.call_user_
dac80 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 func($commandCallable,.$authUrl)
daca0 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ;.if.(0.===.$this->process->exec
dacc0 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 ute($command,.$ignoredOutput,.$c
dace0 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 73 73 68 wd)).{.return;.}.}.else.{...$ssh
dad00 55 72 6c 20 3d 20 27 67 69 74 40 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 3a 27 20 2e 20 24 6d 61 Url.=.'git@bitbucket.org:'...$ma
dad20 74 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 tch[2]...'.git';.$this->io->writ
dad40 65 45 72 72 6f 72 28 27 20 20 20 20 4e 6f 20 62 69 74 62 75 63 6b 65 74 20 61 75 74 68 65 6e 74 eError('....No.bitbucket.authent
dad60 69 63 61 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 64 2e 20 46 61 6c 6c 69 6e 67 20 62 61 63 6b ication.configured..Falling.back
dad80 20 74 6f 20 73 73 68 2e 27 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 .to.ssh.');.$command.=.call_user
dada0 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 73 73 68 55 72 6c 29 _func($commandCallable,.$sshUrl)
dadc0 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ;.if.(0.===.$this->process->exec
dade0 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 ute($command,.$ignoredOutput,.$c
dae00 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 wd)).{.return;.}.}.}.elseif.(pre
dae20 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 29 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a g_match('{^(https?)://'...self::
dae40 67 65 74 47 69 74 4c 61 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e getGitLabDomainsRegex($this->con
dae60 66 69 67 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 fig)...'/(.*)}',.$url,.$match)).
dae80 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 {.if.(!$this->io->hasAuthenticat
daea0 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 ion($match[2])).{.$gitLabUtil.=.
daec0 6e 65 77 20 47 69 74 4c 61 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e new.GitLab($this->io,.$this->con
daee0 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d fig,.$this->process);.$message.=
daf00 20 27 43 6c 6f 6e 69 6e 67 20 66 61 69 6c 65 64 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 .'Cloning.failed,.enter.your.Git
daf20 4c 61 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 Lab.credentials.to.access.privat
daf40 65 20 72 65 70 6f 73 27 3b 0a 0a 69 66 20 28 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 e.repos';..if.(!$gitLabUtil->aut
daf60 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 74 68 69 73 2d horizeOAuth($match[2]).&&.$this-
daf80 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 67 69 74 4c 61 62 55 >io->isInteractive()).{.$gitLabU
dafa0 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 til->authorizeOAuthInteractively
dafc0 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 6d 61 74 63 68 5b 32 5d 2c 20 24 6d 65 73 73 61 67 65 29 ($match[1],.$match[2],.$message)
dafe0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 ;.}.}..if.($this->io->hasAuthent
db000 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 ication($match[2])).{.$auth.=.$t
db020 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 his->io->getAuthentication($matc
db040 68 5b 32 5d 29 3b 0a 69 66 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 h[2]);.if($auth['password'].===.
db060 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 20 7c 7c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 'private-token'.||.$auth['passwo
db080 72 64 27 5d 20 3d 3d 3d 20 27 6f 61 75 74 68 32 27 29 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 rd'].===.'oauth2').{.$authUrl.=.
db0a0 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 $match[1]...'://'...rawurlencode
db0c0 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 ($auth['password'])...':'...rawu
db0e0 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 40 rlencode($auth['username'])...'@
db100 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 3b '...$match[2]...'/'...$match[3];
db120 20 0a 20 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 6d 61 74 63 68 5b 31 5d ...}.else.{.$authUrl.=.$match[1]
db140 20 2e 20 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 ...'://'...rawurlencode($auth['u
db160 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 sername'])...':'...rawurlencode(
db180 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 $auth['password'])...'@'...$matc
db1a0 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 7d 0a 24 63 6f 6d 6d 61 h[2]...'/'...$match[3];.}.$comma
db1c0 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c nd.=.call_user_func($commandCall
db1e0 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 able,.$authUrl);.if.(0.===.$this
db200 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 ->process->execute($command,.$ig
db220 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a noredOutput,.$cwd)).{.return;.}.
db240 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 75 74 68 65 6e 74 69 63 61 74 }.}.elseif.($this->isAuthenticat
db260 69 6f 6e 46 61 69 6c 75 72 65 28 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 69 66 ionFailure($url,.$match)).{...if
db280 20 28 73 74 72 70 6f 73 28 24 6d 61 74 63 68 5b 32 5d 2c 20 27 40 27 29 29 20 7b 0a 6c 69 73 74 .(strpos($match[2],.'@')).{.list
db2a0 28 24 61 75 74 68 50 61 72 74 73 2c 20 24 6d 61 74 63 68 5b 32 5d 29 20 3d 20 65 78 70 6c 6f 64 ($authParts,.$match[2]).=.explod
db2c0 65 28 27 40 27 2c 20 24 6d 61 74 63 68 5b 32 5d 2c 20 32 29 3b 0a 7d 0a 0a 24 73 74 6f 72 65 41 e('@',.$match[2],.2);.}..$storeA
db2e0 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 uth.=.false;.if.($this->io->hasA
db300 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 61 75 74 uthentication($match[2])).{.$aut
db320 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e h.=.$this->io->getAuthentication
db340 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f ($match[2]);.}.elseif.($this->io
db360 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 55 73 65 ->isInteractive()).{.$defaultUse
db380 72 6e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 50 61 72 rname.=.null;.if.(isset($authPar
db3a0 74 73 29 20 26 26 20 24 61 75 74 68 50 61 72 74 73 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 ts).&&.$authParts).{.if.(false.!
db3c0 3d 3d 20 73 74 72 70 6f 73 28 24 61 75 74 68 50 61 72 74 73 2c 20 27 3a 27 29 29 20 7b 0a 6c 69 ==.strpos($authParts,.':')).{.li
db3e0 73 74 28 24 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 2c 20 29 20 3d 20 65 78 70 6c 6f 64 65 st($defaultUsername,.).=.explode
db400 28 27 3a 27 2c 20 24 61 75 74 68 50 61 72 74 73 2c 20 32 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 (':',.$authParts,.2);.}.else.{.$
db420 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 20 3d 20 24 61 75 74 68 50 61 72 74 73 3b 0a 7d 0a defaultUsername.=.$authParts;.}.
db440 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 41 75 }..$this->io->writeError('....Au
db460 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 28 3c 69 6e 66 6f 3e 27 20 2e thentication.required.(<info>'..
db480 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 2e .parse_url($url,.PHP_URL_HOST)..
db4a0 20 27 3c 2f 69 6e 66 6f 3e 29 3a 27 29 3b 0a 24 61 75 74 68 20 3d 20 61 72 72 61 79 28 0a 27 75 .'</info>):');.$auth.=.array(.'u
db4c0 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 sername'.=>.$this->io->ask('....
db4e0 20 20 55 73 65 72 6e 61 6d 65 3a 20 27 2c 20 24 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 29 ..Username:.',.$defaultUsername)
db500 2c 0a 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e ,.'password'.=>.$this->io->askAn
db520 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 20 20 20 50 61 73 73 77 6f 72 64 3a 20 27 29 2c dHideAnswer('......Password:.'),
db540 0a 29 3b 0a 24 73 74 6f 72 65 41 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e .);.$storeAuth.=.$this->config->
db560 67 65 74 28 27 73 74 6f 72 65 2d 61 75 74 68 73 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 75 74 68 get('store-auths');.}..if.($auth
db580 29 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 72 61 77 75 72 ).{.$authUrl.=.$match[1]...rawur
db5a0 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 lencode($auth['username'])...':'
db5c0 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 ...rawurlencode($auth['password'
db5e0 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 24 6d 61 74 63 68 5b 33 5d ])...'@'...$match[2]...$match[3]
db600 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f ;..$command.=.call_user_func($co
db620 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 mmandCallable,.$authUrl);.if.(0.
db640 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d ===.$this->process->execute($com
db660 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 24 mand,.$ignoredOutput,.$cwd)).{.$
db680 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 this->io->setAuthentication($mat
db6a0 63 68 5b 32 5d 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 5b ch[2],.$auth['username'],.$auth[
db6c0 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 'password']);.$authHelper.=.new.
db6e0 41 75 74 68 48 65 6c 70 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e AuthHelper($this->io,.$this->con
db700 66 69 67 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 72 2d 3e 73 74 6f 72 65 41 75 74 68 28 24 6d 61 fig);.$authHelper->storeAuth($ma
db720 74 63 68 5b 32 5d 2c 20 24 73 74 6f 72 65 41 75 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a tch[2],.$storeAuth);..return;.}.
db740 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 73 2d }.}..if.($initialClone).{.$this-
db760 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 6f 72 >filesystem->removeDirectory($or
db780 69 67 43 77 64 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 igCwd);.}.$this->throwException(
db7a0 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 'Failed.to.execute.'...$command.
db7c0 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 .."\n\n"...$this->process->getEr
db7e0 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 75 72 6c 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 rorOutput(),.$url);.}.}..public.
db800 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 29 0a function.syncMirror($url,.$dir).
db820 7b 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 {...if.(is_dir($dir).&&.0.===.$t
db840 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d 70 his->process->execute('git.rev-p
db860 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 29 20 arse.--git-dir',.$output,.$dir).
db880 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 27 2e 27 29 20 7b 0a 74 72 79 20 &&.trim($output).===.'.').{.try.
db8a0 7b 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 {.$commandCallable.=.function.($
db8c0 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 url).{.return.sprintf('git.remot
db8e0 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 20 26 26 20 67 69 74 20 72 65 6d 6f 74 e.set-url.origin.%s.&&.git.remot
db900 65 20 75 70 64 61 74 65 20 2d 2d 70 72 75 6e 65 20 6f 72 69 67 69 6e 27 2c 20 50 72 6f 63 65 73 e.update.--prune.origin',.Proces
db920 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 29 3b 0a 7d 3b 0a 24 74 68 sExecutor::escape($url));.};.$th
db940 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c is->runCommand($commandCallable,
db960 20 24 75 72 6c 2c 20 24 64 69 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f .$url,.$dir);.}.catch.(\Exceptio
db980 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 n.$e).{.return.false;.}..return.
db9a0 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 true;.}....$this->filesystem->re
db9c0 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 moveDirectory($dir);..$commandCa
db9e0 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 64 llable.=.function.($url).use.($d
dba00 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 6c 6f 6e 65 20 ir).{.return.sprintf('git.clone.
dba20 2d 2d 6d 69 72 72 6f 72 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 --mirror.%s.%s',.ProcessExecutor
dba40 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a ::escape($url),.ProcessExecutor:
dba60 3a 65 73 63 61 70 65 28 24 64 69 72 29 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f :escape($dir));.};..$this->runCo
dba80 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 64 mmand($commandCallable,.$url,.$d
dbaa0 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c ir,.true);..return.true;.}..publ
dbac0 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 65 66 4f 72 53 79 6e 63 4d 69 72 72 6f 72 ic.function.fetchRefOrSyncMirror
dbae0 28 24 75 72 6c 2c 20 24 64 69 72 2c 20 24 72 65 66 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 ($url,.$dir,.$ref).{.if.(is_dir(
dbb00 24 64 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 $dir).&&.0.===.$this->process->e
dbb20 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 xecute('git.rev-parse.--git-dir'
dbb40 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 29 20 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 ,.$output,.$dir).&&.trim($output
dbb60 29 20 3d 3d 3d 20 27 2e 27 29 20 7b 0a 24 65 73 63 61 70 65 64 52 65 66 20 3d 20 50 72 6f 63 65 ).===.'.').{.$escapedRef.=.Proce
dbb80 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 66 2e 27 5e 7b 63 6f 6d 6d 69 ssExecutor::escape($ref.'^{commi
dbba0 74 7d 27 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 t}');.$exitCode.=.$this->process
dbbc0 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 ->execute(sprintf('git.rev-parse
dbbe0 20 2d 2d 71 75 69 65 74 20 2d 2d 76 65 72 69 66 79 20 25 73 27 2c 20 24 65 73 63 61 70 65 64 52 .--quiet.--verify.%s',.$escapedR
dbc00 65 66 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f ef),.$output,.$dir);.if.($exitCo
dbc20 64 65 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 74 de.===.0).{.return.true;.}.}..$t
dbc40 68 69 73 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 29 3b 0a 0a 72 65 his->syncMirror($url,.$dir);..re
dbc60 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 turn.false;.}..private.function.
dbc80 69 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 46 61 69 6c 75 72 65 28 24 75 72 6c 2c 20 26 24 isAuthenticationFailure($url,.&$
dbca0 6d 61 74 63 68 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 match).{.if.(!preg_match('{^(htt
dbcc0 70 73 3f 3a 2f 2f 29 28 5b 5e 2f 5d 2b 29 28 2e 2a 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d ps?://)([^/]+)(.*)$}i',.$url,.$m
dbce0 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 61 75 74 68 46 atch)).{.return.false;.}..$authF
dbd00 61 69 6c 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a 27 66 61 74 61 6c 3a 20 41 75 74 68 65 6e 74 ailures.=.array(.'fatal:.Authent
dbd20 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 2c 0a 27 72 65 6d 6f 74 65 20 65 72 72 6f 72 3a 20 ication.failed',.'remote.error:.
dbd40 49 6e 76 61 6c 69 64 20 75 73 65 72 6e 61 6d 65 20 6f 72 20 70 61 73 73 77 6f 72 64 2e 27 2c 0a Invalid.username.or.password.',.
dbd60 27 65 72 72 6f 72 3a 20 34 30 31 20 55 6e 61 75 74 68 6f 72 69 7a 65 64 27 2c 0a 27 66 61 74 61 'error:.401.Unauthorized',.'fata
dbd80 6c 3a 20 75 6e 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 27 2c 0a 27 66 61 74 61 6c 3a 20 63 6f l:.unable.to.access',.'fatal:.co
dbda0 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 55 73 65 72 6e 61 6d 65 27 2c 0a 29 3b 0a 0a 24 65 72 72 uld.not.read.Username',.);..$err
dbdc0 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 orOutput.=.$this->process->getEr
dbde0 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 68 46 61 69 6c 75 rorOutput();.foreach.($authFailu
dbe00 72 65 73 20 61 73 20 24 61 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 69 66 20 28 73 74 72 70 6f res.as.$authFailure).{.if.(strpo
dbe20 73 28 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 24 61 75 74 68 46 61 69 6c 75 72 65 29 20 21 3d s($errorOutput,.$authFailure).!=
dbe40 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 =.false).{.return.true;.}.}..ret
dbe60 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 urn.false;.}..public.static.func
dbe80 74 69 6f 6e 20 63 6c 65 61 6e 45 6e 76 28 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f tion.cleanEnv().{.if.(PHP_VERSIO
dbea0 4e 5f 49 44 20 3c 20 35 30 34 30 30 20 26 26 20 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f N_ID.<.50400.&&.ini_get('safe_mo
dbec0 64 65 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 69 6e 69 5f 67 65 74 de').&&.false.===.strpos(ini_get
dbee0 28 27 73 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 27 29 2c 20 ('safe_mode_allowed_env_vars'),.
dbf00 27 47 49 54 5f 41 53 4b 50 41 53 53 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 'GIT_ASKPASS')).{.throw.new.\Run
dbf20 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 73 61 66 65 5f 6d 6f 64 65 20 69 73 20 65 6e 61 62 timeException('safe_mode.is.enab
dbf40 6c 65 64 20 61 6e 64 20 73 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 led.and.safe_mode_allowed_env_va
dbf60 72 73 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 47 49 54 5f 41 53 4b 50 41 53 53 2c rs.does.not.contain.GIT_ASKPASS,
dbf80 20 63 61 6e 20 6e 6f 74 20 73 65 74 20 65 6e 76 20 76 61 72 2e 20 59 6f 75 20 63 61 6e 20 64 69 .can.not.set.env.var..You.can.di
dbfa0 73 61 62 6c 65 20 73 61 66 65 5f 6d 6f 64 65 20 77 69 74 68 20 22 2d 64 73 61 66 65 5f 6d 6f 64 sable.safe_mode.with."-dsafe_mod
dbfc0 65 3d 30 22 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 27 29 3b 0a 7d 0a e=0".when.running.composer');.}.
dbfe0 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 27 29 20 21 3d 3d ...if.(getenv('GIT_ASKPASS').!==
dc000 20 27 65 63 68 6f 27 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 3d 65 .'echo').{.putenv('GIT_ASKPASS=e
dc020 63 68 6f 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 54 5f 41 53 4b 50 41 cho');.unset($_SERVER['GIT_ASKPA
dc040 53 53 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 SS']);.}....if.(getenv('GIT_DIR'
dc060 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 29 3b 0a 75 6e 73 65 74 28 24 5f )).{.putenv('GIT_DIR');.unset($_
dc080 53 45 52 56 45 52 5b 27 47 49 54 5f 44 49 52 27 5d 29 3b 0a 7d 0a 69 66 20 28 67 65 74 65 6e 76 SERVER['GIT_DIR']);.}.if.(getenv
dc0a0 28 27 47 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 ('GIT_WORK_TREE')).{.putenv('GIT
dc0c0 5f 57 4f 52 4b 5f 54 52 45 45 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 _WORK_TREE');.unset($_SERVER['GI
dc0e0 54 5f 57 4f 52 4b 5f 54 52 45 45 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 T_WORK_TREE']);.}....if.(getenv(
dc100 27 4c 41 4e 47 55 41 47 45 27 29 20 21 3d 3d 20 27 43 27 29 20 7b 0a 70 75 74 65 6e 76 28 27 4c 'LANGUAGE').!==.'C').{.putenv('L
dc120 41 4e 47 55 41 47 45 3d 43 27 29 3b 0a 7d 0a 0a 0a 20 70 75 74 65 6e 76 28 22 44 59 4c 44 5f 4c ANGUAGE=C');.}....putenv("DYLD_L
dc140 49 42 52 41 52 59 5f 50 41 54 48 22 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 44 IBRARY_PATH");.unset($_SERVER['D
dc160 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 27 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 YLD_LIBRARY_PATH']);.}..public.s
dc180 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 tatic.function.getGitHubDomainsR
dc1a0 65 67 65 78 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 27 28 egex(Config.$config).{.return.'(
dc1c0 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 '...implode('|',.array_map('preg
dc1e0 5f 71 75 6f 74 65 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f _quote',.$config->get('github-do
dc200 6d 61 69 6e 73 27 29 29 29 20 2e 20 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 mains')))...')';.}..public.stati
dc220 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 4c 61 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 c.function.getGitLabDomainsRegex
dc240 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 27 28 27 20 2e 20 (Config.$config).{.return.'('...
dc260 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f implode('|',.array_map('preg_quo
dc280 74 65 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e te',.$config->get('gitlab-domain
dc2a0 73 27 29 29 29 20 2e 20 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 s')))...')';.}..public.static.fu
dc2c0 6e 63 74 69 6f 6e 20 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 72 nction.sanitizeUrl($message).{.r
dc2e0 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f eturn.preg_replace_callback('{:/
dc300 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 40 5d 2b 3f 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 2e /(?P<user>[^@]+?):(?P<password>.
dc320 2b 3f 29 40 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 +?)@}',.function.($m).{.if.(preg
dc340 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 31 _match('{^[a-f0-9]{12,}$}',.$m[1
dc360 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 ])).{.return.'://***:***@';.}..r
dc380 65 74 75 72 6e 20 27 3a 2f 2f 27 20 2e 20 24 6d 5b 31 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b 0a 7d eturn.'://'...$m[1]...':***@';.}
dc3a0 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ,.$message);.}..private.function
dc3c0 20 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 75 72 6c 29 0a .throwException($message,.$url).
dc3e0 7b 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d {...clearstatcache();..if.(0.!==
dc400 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d 2d .$this->process->execute('git.--
dc420 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 version',.$ignoredOutput)).{.thr
dc440 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 ow.new.\RuntimeException(self::s
dc460 61 6e 69 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 anitizeUrl('Failed.to.clone.'...
dc480 24 75 72 6c 20 2e 20 27 2c 20 67 69 74 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 $url...',.git.was.not.found,.che
dc4a0 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 ck.that.it.is.installed.and.in.y
dc4c0 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d our.PATH.env.'..."\n\n"...$this-
dc4e0 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a >process->getErrorOutput()));.}.
dc500 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c .throw.new.\RuntimeException(sel
dc520 66 3a 3a 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 0a 0a f::sanitizeUrl($message));.}....
dc540 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a ...public.function.getVersion().
dc560 7b 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 {.if.(isset(self::$version)).{.r
dc580 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 69 66 20 28 30 20 21 3d eturn.self::$version;.}.if.(0.!=
dc5a0 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d =.$this->process->execute('git.-
dc5c0 2d 76 65 72 73 69 6f 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d -version',.$output)).{.return;.}
dc5e0 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 67 69 74 20 76 65 72 73 69 6f 6e 20 28 .if.(preg_match('/^git.version.(
dc600 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 2b 29 2f 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 \d+(?:\.\d+)+)/m',.$output,.$mat
dc620 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 20 3d ches)).{.return.self::$version.=
dc640 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a .$matches[1];.}.}.}.<?php.......
dc660 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 .....namespace.Composer\Util;..u
dc680 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 se.Composer\Factory;.use.Compose
dc6a0 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 r\IO\IOInterface;.use.Composer\C
dc6c0 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 onfig;.use.Composer\Downloader\T
dc6e0 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 ransportException;.....class.Git
dc700 48 75 62 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 Hub.{.protected.$io;.protected.$
dc720 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 config;.protected.$process;.prot
dc740 65 63 74 65 64 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a ected.$remoteFilesystem;........
dc760 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f ..public.function.__construct(IO
dc780 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 Interface.$io,.Config.$config,.P
dc7a0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 rocessExecutor.$process.=.null,.
dc7c0 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 RemoteFilesystem.$remoteFilesyst
dc7e0 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 em.=.null).{.$this->io.=.$io;.$t
dc800 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 his->config.=.$config;.$this->pr
dc820 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 ocess.=.$process.?:.new.ProcessE
dc840 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 xecutor($io);.$this->remoteFiles
dc860 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 ystem.=.$remoteFilesystem.?:.Fac
dc880 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 tory::createRemoteFilesystem($th
dc8a0 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 is->io,.$config);.}........publi
dc8c0 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 c.function.authorizeOAuth($origi
dc8e0 6e 55 72 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c nUrl).{.if.(!in_array($originUrl
dc900 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d ,.$this->config->get('github-dom
dc920 61 69 6e 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 ains'))).{.return.false;.}....if
dc940 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 .(0.===.$this->process->execute(
dc960 27 67 69 74 20 63 6f 6e 66 69 67 20 67 69 74 68 75 62 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 'git.config.github.accesstoken',
dc980 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 .$output)).{.$this->io->setAuthe
dc9a0 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 74 72 69 6d 28 24 6f 75 74 70 ntication($originUrl,.trim($outp
dc9c0 75 74 29 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 ut),.'x-oauth-basic');..return.t
dc9e0 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a rue;.}..return.false;.}.........
dca00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 ..public.function.authorizeOAuth
dca20 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 Interactively($originUrl,.$messa
dca40 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 ge.=.null).{.if.($message).{.$th
dca60 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a is->io->writeError($message);.}.
dca80 0a 24 6e 6f 74 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e .$note.=.'Composer';.if.($this->
dcaa0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e config->get('github-expose-hostn
dcac0 61 6d 65 27 29 20 3d 3d 3d 20 74 72 75 65 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 ame').===.true.&&.0.===.$this->p
dcae0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 6f 73 74 6e 61 6d 65 27 2c 20 24 6f 75 74 rocess->execute('hostname',.$out
dcb00 70 75 74 29 29 20 7b 0a 24 6e 6f 74 65 20 2e 3d 20 27 20 6f 6e 20 27 20 2e 20 74 72 69 6d 28 24 put)).{.$note..=.'.on.'...trim($
dcb20 6f 75 74 70 75 74 29 3b 0a 7d 0a 24 6e 6f 74 65 20 2e 3d 20 27 20 27 20 2e 20 64 61 74 65 28 27 output);.}.$note..=.'.'...date('
dcb40 59 2d 6d 2d 64 20 48 69 27 29 3b 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 Y-m-d.Hi');..$url.=.'https://'.$
dcb60 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 73 65 74 74 69 6e 67 73 2f 74 6f 6b 65 6e 73 2f 6e 65 77 3f originUrl.'/settings/tokens/new?
dcb80 73 63 6f 70 65 73 3d 72 65 70 6f 26 64 65 73 63 72 69 70 74 69 6f 6e 3d 27 20 2e 20 73 74 72 5f scopes=repo&description='...str_
dcba0 72 65 70 6c 61 63 65 28 27 25 32 30 27 2c 20 27 2b 27 2c 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 replace('%20',.'+',.rawurlencode
dcbc0 28 24 6e 6f 74 65 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ($note));.$this->io->writeError(
dcbe0 73 70 72 69 6e 74 66 28 27 48 65 61 64 20 74 6f 20 25 73 27 2c 20 24 75 72 6c 29 29 3b 0a 24 74 sprintf('Head.to.%s',.$url));.$t
dcc00 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 74 6f 20 his->io->writeError(sprintf('to.
dcc20 72 65 74 72 69 65 76 65 20 61 20 74 6f 6b 65 6e 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 73 74 6f retrieve.a.token..It.will.be.sto
dcc40 72 65 64 20 69 6e 20 22 25 73 22 20 66 6f 72 20 66 75 74 75 72 65 20 75 73 65 20 62 79 20 43 6f red.in."%s".for.future.use.by.Co
dcc60 6d 70 6f 73 65 72 2e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 mposer.',.$this->config->getAuth
dcc80 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 24 74 ConfigSource()->getName()));..$t
dcca0 6f 6b 65 6e 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 oken.=.trim($this->io->askAndHid
dccc0 65 41 6e 73 77 65 72 28 27 54 6f 6b 65 6e 20 28 68 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 eAnswer('Token.(hidden):.'));..i
dcce0 66 20 28 21 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 f.(!$token).{.$this->io->writeEr
dcd00 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 74 6f 6b 65 6e 20 67 69 76 65 6e 2c 20 61 62 ror('<warning>No.token.given,.ab
dcd20 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e orting.</warning>');.$this->io->
dcd40 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 writeError('You.can.also.add.it.
dcd60 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 manually.later.by.using."compose
dcd80 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 69 74 68 75 62 2d r.config.--global.--auth.github-
dcda0 6f 61 75 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 72 65 oauth.github.com.<token>"');..re
dcdc0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 turn.false;.}..$this->io->setAut
dcde0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 2c 20 hentication($originUrl,.$token,.
dce00 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 0a 74 72 79 20 7b 0a 24 61 70 69 55 72 6c 'x-oauth-basic');..try.{.$apiUrl
dce20 20 3d 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 29 .=.('github.com'.===.$originUrl)
dce40 20 3f 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 27 20 3a 20 24 6f 72 69 67 69 6e 55 72 .?.'api.github.com/'.:.$originUr
dce60 6c 20 2e 20 27 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 l...'/api/v3/';..$this->remoteFi
dce80 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c lesystem->getContents($originUrl
dcea0 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2e 20 24 61 70 69 55 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 ,.'https://'..$apiUrl,.false,.ar
dcec0 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c ray(.'retry-auth-failure'.=>.fal
dcee0 73 65 2c 0a 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 se,.));.}.catch.(TransportExcept
dcf00 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f ion.$e).{.if.(in_array($e->getCo
dcf20 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 24 74 68 69 73 2d de(),.array(403,.401))).{.$this-
dcf40 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 >io->writeError('<error>Invalid.
dcf60 74 6f 6b 65 6e 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 token.provided.</error>');.$this
dcf80 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 ->io->writeError('You.can.also.a
dcfa0 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 dd.it.manually.later.by.using."c
dcfc0 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 omposer.config.--global.--auth.g
dcfe0 69 74 68 75 62 2d 6f 61 75 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 20 3c 74 6f 6b 65 6e 3e 22 27 ithub-oauth.github.com.<token>"'
dd000 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d );..return.false;.}..throw.$e;.}
dd020 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 ....$this->config->getConfigSour
dd040 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 68 75 ce()->removeConfigSetting('githu
dd060 62 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 63 6f b-oauth.'.$originUrl);.$this->co
dd080 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 nfig->getAuthConfigSource()->add
dd0a0 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 6f ConfigSetting('github-oauth.'.$o
dd0c0 72 69 67 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 riginUrl,.$token);..$this->io->w
dd0e0 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 54 6f 6b 65 6e 20 73 74 6f 72 65 64 20 73 75 riteError('<info>Token.stored.su
dd100 63 63 65 73 73 66 75 6c 6c 79 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 ccessfully.</info>');..return.tr
dd120 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ue;.}.........public.function.ge
dd140 74 52 61 74 65 4c 69 6d 69 74 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 72 61 tRateLimit(array.$headers).{.$ra
dd160 74 65 4c 69 6d 69 74 20 3d 20 61 72 72 61 79 28 0a 27 6c 69 6d 69 74 27 20 3d 3e 20 27 3f 27 2c teLimit.=.array(.'limit'.=>.'?',
dd180 0a 27 72 65 73 65 74 27 20 3d 3e 20 27 3f 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 68 .'reset'.=>.'?',.);..foreach.($h
dd1a0 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 24 68 65 61 64 65 72 20 3d 20 74 eaders.as.$header).{.$header.=.t
dd1c0 72 69 6d 28 24 68 65 61 64 65 72 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 rim($header);.if.(false.===.strp
dd1e0 6f 73 28 24 68 65 61 64 65 72 2c 20 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 27 29 29 20 7b 0a 63 os($header,.'X-RateLimit-')).{.c
dd200 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 6c 69 73 74 28 24 74 79 70 65 2c 20 24 76 61 6c 75 65 29 20 3d ontinue;.}.list($type,.$value).=
dd220 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 68 65 61 64 65 72 2c 20 32 29 3b 0a 73 77 69 74 63 .explode(':',.$header,.2);.switc
dd240 68 20 28 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 4c 69 h.($type).{.case.'X-RateLimit-Li
dd260 6d 69 74 27 3a 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 5d 20 3d 20 28 69 6e 74 mit':.$rateLimit['limit'].=.(int
dd280 29 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 58 2d 52 ).trim($value);.break;.case.'X-R
dd2a0 61 74 65 4c 69 6d 69 74 2d 52 65 73 65 74 27 3a 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 ateLimit-Reset':.$rateLimit['res
dd2c0 65 74 27 5d 20 3d 20 64 61 74 65 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 2c 20 28 69 6e 74 29 et'].=.date('Y-m-d.H:i:s',.(int)
dd2e0 20 74 72 69 6d 28 24 76 61 6c 75 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 .trim($value));.break;.}.}..retu
dd300 72 6e 20 24 72 61 74 65 4c 69 6d 69 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rn.$rateLimit;.}.........public.
dd320 66 75 6e 63 74 69 6f 6e 20 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 61 72 72 61 79 20 24 68 65 function.isRateLimited(array.$he
dd340 61 64 65 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 aders).{.foreach.($headers.as.$h
dd360 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 58 2d 52 61 74 eader).{.if.(preg_match('{^X-Rat
dd380 65 4c 69 6d 69 74 2d 52 65 6d 61 69 6e 69 6e 67 3a 20 2a 30 24 7d 69 27 2c 20 74 72 69 6d 28 24 eLimit-Remaining:.*0$}i',.trim($
dd3a0 68 65 61 64 65 72 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 header))).{.return.true;.}.}..re
dd3c0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.false;.}.}.<?php...........
dd3e0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 .namespace.Composer\Util;..use.C
dd400 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
dd420 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 oser\Config;.use.Composer\Factor
dd440 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 y;.use.Composer\Downloader\Trans
dd460 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e portException;.use.Composer\Json
dd480 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 4c 61 62 0a 7b 0a 70 72 \JsonFile;.....class.GitLab.{.pr
dd4a0 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a otected.$io;.protected.$config;.
dd4c0 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 protected.$process;.protected.$r
dd4e0 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 emoteFilesystem;..........public
dd500 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 .function.__construct(IOInterfac
dd520 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 e.$io,.Config.$config,.ProcessEx
dd540 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 ecutor.$process.=.null,.RemoteFi
dd560 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c lesystem.$remoteFilesystem.=.nul
dd580 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e l).{.$this->io.=.$io;.$this->con
dd5a0 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 fig.=.$config;.$this->process.=.
dd5c0 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 $process.?:.new.ProcessExecutor(
dd5e0 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 $io);.$this->remoteFilesystem.=.
dd600 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 $remoteFilesystem.?:.Factory::cr
dd620 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 eateRemoteFilesystem($this->io,.
dd640 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $config);.}.........public.funct
dd660 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b ion.authorizeOAuth($originUrl).{
dd680 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 .if.(!in_array($originUrl,.$this
dd6a0 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c ->config->get('gitlab-domains'),
dd6c0 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 .true)).{.return.false;.}....if.
dd6e0 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 (0.===.$this->process->execute('
dd700 67 69 74 20 63 6f 6e 66 69 67 20 67 69 74 6c 61 62 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 git.config.gitlab.accesstoken',.
dd720 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e $output)).{.$this->io->setAuthen
dd740 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 tication($originUrl,.trim($outpu
dd760 74 29 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a t),.'oauth2');..return.true;.}..
dd780 0a 20 24 61 75 74 68 54 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 ..$authTokens.=.$this->config->g
dd7a0 65 74 28 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 et('gitlab-token');..if.(isset($
dd7c0 61 75 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 29 29 20 7b 0a 24 74 68 69 73 authTokens[$originUrl])).{.$this
dd7e0 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 ->io->setAuthentication($originU
dd800 72 6c 2c 20 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 2c 20 27 70 72 rl,.$authTokens[$originUrl],.'pr
dd820 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a ivate-token');..return.true;.}..
dd840 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 return.false;.}..............pub
dd860 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 lic.function.authorizeOAuthInter
dd880 61 63 74 69 76 65 6c 79 28 24 73 63 68 65 6d 65 2c 20 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d actively($scheme,.$originUrl,.$m
dd8a0 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 7b essage.=.null).{.if.($message).{
dd8c0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 .$this->io->writeError($message)
dd8e0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e ;.}..$this->io->writeError(sprin
dd900 74 66 28 27 41 20 74 6f 6b 65 6e 20 77 69 6c 6c 20 62 65 20 63 72 65 61 74 65 64 20 61 6e 64 20 tf('A.token.will.be.created.and.
dd920 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 2c 20 79 6f 75 72 20 70 61 73 73 77 6f 72 64 20 77 69 stored.in."%s",.your.password.wi
dd940 6c 6c 20 6e 65 76 65 72 20 62 65 20 73 74 6f 72 65 64 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 ll.never.be.stored',.$this->conf
dd960 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 65 74 4e 61 ig->getAuthConfigSource()->getNa
dd980 6d 65 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 me()));.$this->io->writeError('T
dd9a0 6f 20 72 65 76 6f 6b 65 20 61 63 63 65 73 73 20 74 6f 20 74 68 69 73 20 74 6f 6b 65 6e 20 79 6f o.revoke.access.to.this.token.yo
dd9c0 75 20 63 61 6e 20 76 69 73 69 74 20 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 70 72 6f 66 69 u.can.visit.'.$originUrl.'/profi
dd9e0 6c 65 2f 61 70 70 6c 69 63 61 74 69 6f 6e 73 27 29 3b 0a 0a 24 61 74 74 65 6d 70 74 43 6f 75 6e le/applications');..$attemptCoun
dda00 74 65 72 20 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 24 61 74 74 65 6d 70 74 43 6f 75 6e 74 65 72 ter.=.0;..while.($attemptCounter
dda20 2b 2b 20 3c 20 35 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 ++.<.5).{.try.{.$response.=.$thi
dda40 73 2d 3e 63 72 65 61 74 65 54 6f 6b 65 6e 28 24 73 63 68 65 6d 65 2c 20 24 6f 72 69 67 69 6e 55 s->createToken($scheme,.$originU
dda60 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e rl);.}.catch.(TransportException
dda80 20 24 65 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 .$e).{.....if.(in_array($e->getC
ddaa0 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 69 66 20 28 34 ode(),.array(403,.401))).{.if.(4
ddac0 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 01.===.$e->getCode()).{.$this->i
ddae0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 42 61 64 20 63 72 65 64 65 6e 74 69 61 6c 73 2e 27 o->writeError('Bad.credentials.'
ddb00 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f );.}.else.{.$this->io->writeErro
ddb20 72 28 27 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 6c 6f 67 69 6e 20 61 74 74 65 6d r('Maximum.number.of.login.attem
ddb40 70 74 73 20 65 78 63 65 65 64 65 64 2e 20 50 6c 65 61 73 65 20 74 72 79 20 61 67 61 69 6e 20 6c pts.exceeded..Please.try.again.l
ddb60 61 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ater.');.}..$this->io->writeErro
ddb80 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 20 r('You.can.also.manually.create.
ddba0 61 20 70 65 72 73 6f 6e 61 6c 20 74 6f 6b 65 6e 20 61 74 20 27 2e 24 73 63 68 65 6d 65 2e 27 3a a.personal.token.at.'.$scheme.':
ddbc0 2f 2f 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 70 72 6f 66 69 6c 65 2f 70 65 72 73 6f 6e 61 //'.$originUrl.'/profile/persona
ddbe0 6c 5f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 73 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 l_access_tokens');.$this->io->wr
ddc00 69 74 65 45 72 72 6f 72 28 27 41 64 64 20 69 74 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 iteError('Add.it.using."composer
ddc20 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 69 74 6c 61 62 2d 74 .config.--global.--auth.gitlab-t
ddc40 6f 6b 65 6e 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a oken.'.$originUrl.'.<token>"');.
ddc60 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 .continue;.}..throw.$e;.}..$this
ddc80 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 ->io->setAuthentication($originU
ddca0 72 6c 2c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 2c 20 27 rl,.$response['access_token'],.'
ddcc0 6f 61 75 74 68 32 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 oauth2');....$this->config->getA
ddce0 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 uthConfigSource()->addConfigSett
ddd00 69 6e 67 28 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 20 ing('gitlab-oauth.'.$originUrl,.
ddd20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 29 3b 0a 0a 72 65 74 $response['access_token']);..ret
ddd40 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 urn.true;.}..throw.new.\RuntimeE
ddd60 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 47 69 74 4c 61 62 20 63 72 65 64 65 6e 74 xception('Invalid.GitLab.credent
ddd80 69 61 6c 73 20 35 20 74 69 6d 65 73 20 69 6e 20 61 20 72 6f 77 2c 20 61 62 6f 72 74 69 6e 67 2e ials.5.times.in.a.row,.aborting.
ddda0 27 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 54 6f ');.}..private.function.createTo
dddc0 6b 65 6e 28 24 73 63 68 65 6d 65 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 24 75 73 65 72 ken($scheme,.$originUrl).{.$user
ddde0 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 55 73 65 72 6e 61 6d 65 3a name.=.$this->io->ask('Username:
dde00 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 .');.$password.=.$this->io->askA
dde20 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 50 61 73 73 77 6f 72 64 3a 20 27 29 3b 0a 0a 24 68 65 ndHideAnswer('Password:.');..$he
dde40 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 aders.=.array('Content-Type:.app
dde60 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 lication/x-www-form-urlencoded')
dde80 3b 0a 0a 24 61 70 69 55 72 6c 20 3d 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 24 64 61 74 61 20 3d ;..$apiUrl.=.$originUrl;.$data.=
ddea0 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 61 72 72 61 79 28 0a 27 75 73 65 72 6e 61 .http_build_query(array(.'userna
ddec0 6d 65 27 20 3d 3e 20 24 75 73 65 72 6e 61 6d 65 2c 0a 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 me'.=>.$username,.'password'.=>.
ddee0 24 70 61 73 73 77 6f 72 64 2c 0a 27 67 72 61 6e 74 5f 74 79 70 65 27 20 3d 3e 20 27 70 61 73 73 $password,.'grant_type'.=>.'pass
ddf00 77 6f 72 64 27 2c 0a 29 2c 20 6e 75 6c 6c 2c 20 27 26 27 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d word',.),.null,.'&');.$options.=
ddf20 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 .array(.'retry-auth-failure'.=>.
ddf40 66 61 6c 73 65 2c 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 false,.'http'.=>.array(.'method'
ddf60 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 24 68 65 61 64 65 72 73 .=>.'POST',.'header'.=>.$headers
ddf80 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 24 64 61 74 61 2c 0a 29 2c 0a 29 3b 0a 0a 24 6a 73 ,.'content'.=>.$data,.),.);..$js
ddfa0 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 on.=.$this->remoteFilesystem->ge
ddfc0 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 73 63 68 65 6d 65 2e 27 3a tContents($originUrl,.$scheme.':
ddfe0 2f 2f 27 2e 24 61 70 69 55 72 6c 2e 27 2f 6f 61 75 74 68 2f 74 6f 6b 65 6e 27 2c 20 66 61 6c 73 //'.$apiUrl.'/oauth/token',.fals
de000 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 e,.$options);..$this->io->writeE
de020 72 72 6f 72 28 27 54 6f 6b 65 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 72 65 61 74 65 64 rror('Token.successfully.created
de040 27 29 3b 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 ');..return.JsonFile::parseJson(
de060 24 6a 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d $json);.}.}.<?php............nam
de080 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f espace.Composer\Util;..use.Compo
de0a0 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e ser\Config;.use.Composer\IO\IOIn
de0c0 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 0a 7b 0a 0a 0a 0a 70 72 69 76 61 terface;.....class.Hg.{....priva
de0e0 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a te.$io;.....private.$config;....
de100 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .private.$process;..public.funct
de120 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c ion.__construct(IOInterface.$io,
de140 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 .Config.$config,.ProcessExecutor
de160 20 24 70 72 6f 63 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 .$process).{.$this->io.=.$io;.$t
de180 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 his->config.=.$config;.$this->pr
de1a0 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ocess.=.$process;.}..public.func
de1c0 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 tion.runCommand($commandCallable
de1e0 2c 20 24 75 72 6c 2c 20 24 63 77 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 ,.$url,.$cwd).{.$this->config->p
de200 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e rohibitUrlByConfig($url,.$this->
de220 69 6f 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e io);....$command.=.call_user_fun
de240 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 29 3b 0a 0a 69 66 20 28 c($commandCallable,.$url);..if.(
de260 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 0.===.$this->process->execute($c
de280 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b ommand,.$ignoredOutput,.$cwd)).{
de2a0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e .return;.}....if.(preg_match('{^
de2c0 28 68 74 74 70 73 3f 29 3a 2f 2f 28 28 2e 2b 29 28 3f 3a 5c 3a 28 2e 2b 29 29 3f 40 29 3f 28 5b (https?)://((.+)(?:\:(.+))?@)?([
de2e0 5e 2f 5d 2b 29 28 2f 2e 2a 29 3f 7d 6d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 20 26 ^/]+)(/.*)?}mi',.$url,.$match).&
de300 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 &.$this->io->hasAuthentication($
de320 6d 61 74 63 68 5b 35 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e match[5])).{.$auth.=.$this->io->
de340 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 35 5d 29 3b 0a 24 61 getAuthentication($match[5]);.$a
de360 75 74 68 65 6e 74 69 63 61 74 65 64 55 72 6c 20 3d 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 3a uthenticatedUrl.=.$match[1]...':
de380 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 //'...rawurlencode($auth['userna
de3a0 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 me'])...':'...rawurlencode($auth
de3c0 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 35 5d 20 ['password'])...'@'...$match[5].
de3e0 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 36 5d 29 20 3f 20 24 6d 61 74 63 68 5b 36 5d ..(!empty($match[6]).?.$match[6]
de400 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f .:.null);..$command.=.call_user_
de420 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 65 6e 74 69 func($commandCallable,.$authenti
de440 63 61 74 65 64 55 72 6c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f catedUrl);..if.(0.===.$this->pro
de460 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 cess->execute($command,.$ignored
de480 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 65 72 72 Output,.$cwd)).{.return;.}..$err
de4a0 6f 72 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 or.=.$this->process->getErrorOut
de4c0 70 75 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 54 68 65 20 67 69 put();.}.else.{.$error.=.'The.gi
de4e0 76 65 6e 20 55 52 4c 20 28 27 20 2e 20 24 75 72 6c 20 2e 20 27 29 20 64 6f 65 73 20 6e 6f 74 20 ven.URL.('...$url...').does.not.
de500 6d 61 74 63 68 20 74 68 65 20 72 65 71 75 69 72 65 64 20 66 6f 72 6d 61 74 20 28 68 74 74 70 28 match.the.required.format.(http(
de520 73 29 3a 2f 2f 28 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 6f 72 64 40 29 65 78 61 6d 70 6c 65 s)://(username:password@)example
de540 2e 63 6f 6d 2f 70 61 74 68 2d 74 6f 2d 72 65 70 6f 73 69 74 6f 72 79 29 27 3b 0a 7d 0a 0a 24 74 .com/path-to-repository)';.}..$t
de560 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 63 his->throwException('Failed.to.c
de580 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 2c 20 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 lone.'...$url...',.'..."\n\n"...
de5a0 24 65 72 72 6f 72 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 $error,.$url);.}..public.static.
de5c0 66 75 6e 63 74 69 6f 6e 20 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 0a 7b function.sanitizeUrl($message).{
de5e0 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b .return.preg_replace_callback('{
de600 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 40 5d 2b 3f 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 ://(?P<user>[^@]+?):(?P<password
de620 3e 2e 2b 3f 29 40 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 >.+?)@}',.function.($m).{.if.(pr
de640 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d eg_match('{^[a-f0-9]{12,}$}',.$m
de660 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a [1])).{.return.'://***:***@';.}.
de680 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 27 20 2e 20 24 6d 5b 31 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b .return.'://'...$m[1]...':***@';
de6a0 0a 7d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 .},.$message);.}..private.functi
de6c0 6f 6e 20 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 75 72 6c on.throwException($message,.$url
de6e0 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 ).{.if.(0.!==.$this->process->ex
de700 65 63 75 74 65 28 27 68 67 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 ecute('hg.--version',.$ignoredOu
de720 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 tput)).{.throw.new.\RuntimeExcep
de740 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 tion(self::sanitizeUrl('Failed.t
de760 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 2c 20 68 67 20 77 61 73 20 6e 6f 74 o.clone.'...$url...',.hg.was.not
de780 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c .found,.check.that.it.is.install
de7a0 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c ed.and.in.your.PATH.env.'..."\n\
de7c0 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 n"...$this->process->getErrorOut
de7e0 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 put()));.}..throw.new.\RuntimeEx
de800 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 ception(self::sanitizeUrl($messa
de820 67 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ge));.}.}.<?php............names
de840 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 pace.Composer\Util;..use.Compose
de860 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a r\XdebugHandler\XdebugHandler;..
de880 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 69 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a .......class.IniHelper.{........
de8a0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 28 29 .public.static.function.getAll()
de8c0 0a 7b 0a 72 65 74 75 72 6e 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3a 3a 67 65 74 41 6c 6c 49 .{.return.XdebugHandler::getAllI
de8e0 6e 69 46 69 6c 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 niFiles();.}.......public.static
de900 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 28 29 0a 7b 0a 24 70 61 74 68 73 20 .function.getMessage().{.$paths.
de920 3d 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 28 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 =.self::getAll();..if.(empty($pa
de940 74 68 73 5b 30 5d 29 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 74 68 73 29 3b 0a ths[0])).{.array_shift($paths);.
de960 7d 0a 0a 24 69 6e 69 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 74 68 73 29 3b 0a 0a }..$ini.=.array_shift($paths);..
de980 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 41 20 70 68 70 if.(empty($ini)).{.return.'A.php
de9a0 2e 69 6e 69 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 20 59 6f 75 20 77 69 .ini.file.does.not.exist..You.wi
de9c0 6c 6c 20 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 6f 6e 65 2e 27 3b 0a 7d 0a 0a 69 66 20 28 ll.have.to.create.one.';.}..if.(
de9e0 21 65 6d 70 74 79 28 24 70 61 74 68 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 59 6f 75 72 20 63 !empty($paths)).{.return.'Your.c
dea00 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 20 75 73 69 6e 67 20 6d 75 6c 74 69 70 6c ommand-line.PHP.is.using.multipl
dea20 65 20 69 6e 69 20 66 69 6c 65 73 2e 20 52 75 6e 20 60 70 68 70 20 2d 2d 69 6e 69 60 20 74 6f 20 e.ini.files..Run.`php.--ini`.to.
dea40 73 68 6f 77 20 74 68 65 6d 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 54 68 65 20 70 68 70 2e show.them.';.}..return.'The.php.
dea60 69 6e 69 20 75 73 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 ini.used.by.your.command-line.PH
dea80 50 20 69 73 3a 20 27 2e 24 69 6e 69 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a P.is:.'.$ini;.}.}.<?php.........
deaa0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a ...namespace.Composer\Util;.....
deac0 63 6c 61 73 73 20 4e 6f 50 72 6f 78 79 50 61 74 74 65 72 6e 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 class.NoProxyPattern.{....protec
deae0 74 65 64 20 24 72 75 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ted.$rules.=.array();.....public
deb00 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 6e 29 0a .function.__construct($pattern).
deb20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 22 2f 5b 5c {.$this->rules.=.preg_split("/[\
deb40 73 2c 5d 2b 2f 22 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 s,]+/",.$pattern);.}.........pub
deb60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 75 72 6c 29 0a 7b 0a 24 68 6f 73 74 20 lic.function.test($url).{.$host.
deb80 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b =.parse_url($url,.PHP_URL_HOST);
deba0 0a 24 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c .$port.=.parse_url($url,.PHP_URL
debc0 5f 50 4f 52 54 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 70 6f 72 74 29 29 20 7b 0a 73 77 69 _PORT);..if.(empty($port)).{.swi
debe0 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 tch.(parse_url($url,.PHP_URL_SCH
dec00 45 4d 45 29 29 20 7b 0a 63 61 73 65 20 27 68 74 74 70 27 3a 0a 24 70 6f 72 74 20 3d 20 38 30 3b EME)).{.case.'http':.$port.=.80;
dec20 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 27 3a 0a 24 70 6f 72 74 20 3d 20 34 34 .break;.case.'https':.$port.=.44
dec40 33 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 3;.break;.}.}..foreach.($this->r
dec60 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 20 3d 3d 20 27 2a ules.as.$rule).{.if.($rule.==.'*
dec80 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 20 3d 20 66 61 ').{.return.true;.}..$match.=.fa
deca0 6c 73 65 3b 0a 0a 6c 69 73 74 28 24 72 75 6c 65 48 6f 73 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 lse;..list($ruleHost).=.explode(
decc0 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 6c 69 73 74 28 24 62 61 73 65 29 20 3d 20 65 78 70 6c 6f ':',.$rule);.list($base).=.explo
dece0 64 65 28 27 2f 27 2c 20 24 72 75 6c 65 48 6f 73 74 29 3b 0a 0a 69 66 20 28 66 69 6c 74 65 72 5f de('/',.$ruleHost);..if.(filter_
ded00 76 61 72 28 24 62 61 73 65 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 var($base,.FILTER_VALIDATE_IP,.F
ded20 49 4c 54 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 20 7b 0a 0a 0a 69 66 20 28 21 69 73 73 65 74 ILTER_FLAG_IPV4)).{...if.(!isset
ded40 28 24 69 70 29 29 20 7b 0a 24 69 70 20 3d 20 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 24 68 6f ($ip)).{.$ip.=.gethostbyname($ho
ded60 73 74 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 72 75 6c 65 48 6f 73 74 2c 20 27 2f st);.}..if.(strpos($ruleHost,.'/
ded80 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 24 69 70 20 3d 3d 3d ').===.false).{.$match.=.$ip.===
deda0 20 24 72 75 6c 65 48 6f 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 69 66 20 28 24 69 70 .$ruleHost;.}.else.{.....if.($ip
dedc0 20 3d 3d 3d 20 24 68 6f 73 74 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 .===.$host).{.$match.=.false;.}.
dede0 65 6c 73 65 20 7b 0a 0a 20 24 6d 61 74 63 68 20 3d 20 73 65 6c 66 3a 3a 69 6e 43 49 44 52 42 6c else.{...$match.=.self::inCIDRBl
dee00 6f 63 6b 28 24 72 75 6c 65 48 6f 73 74 2c 20 24 69 70 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 ock($ruleHost,.$ip);.}.}.}.else.
dee20 7b 0a 0a 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 27 2e 27 20 2e 20 74 72 69 6d 28 24 68 6f 73 74 {...$haystack.=.'.'...trim($host
dee40 2c 20 27 2e 27 29 20 2e 20 27 2e 27 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 27 2e 27 2e 20 74 72 69 ,.'.')...'.';.$needle.=.'.'..tri
dee60 6d 28 24 72 75 6c 65 48 6f 73 74 2c 20 27 2e 27 29 20 2e 27 2e 27 3b 0a 24 6d 61 74 63 68 20 3d m($ruleHost,.'.')..'.';.$match.=
dee80 20 73 74 72 69 70 6f 73 28 73 74 72 72 65 76 28 24 68 61 79 73 74 61 63 6b 29 2c 20 73 74 72 72 .stripos(strrev($haystack),.strr
deea0 65 76 28 24 6e 65 65 64 6c 65 29 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 ev($needle)).===.0;.}....if.($ma
deec0 74 63 68 20 26 26 20 73 74 72 70 6f 73 28 24 72 75 6c 65 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 tch.&&.strpos($rule,.':').!==.fa
deee0 6c 73 65 29 20 7b 0a 6c 69 73 74 28 2c 20 24 72 75 6c 65 50 6f 72 74 29 20 3d 20 65 78 70 6c 6f lse).{.list(,.$rulePort).=.explo
def00 64 65 28 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 75 6c 65 de(':',.$rule);.if.(!empty($rule
def20 50 6f 72 74 29 20 26 26 20 24 70 6f 72 74 20 21 3d 20 24 72 75 6c 65 50 6f 72 74 29 20 7b 0a 24 Port).&&.$port.!=.$rulePort).{.$
def40 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 29 20 match.=.false;.}.}..if.($match).
def60 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 {.return.true;.}.}..return.false
def80 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 ;.}............private.static.fu
defa0 6e 63 74 69 6f 6e 20 69 6e 43 49 44 52 42 6c 6f 63 6b 28 24 63 69 64 72 2c 20 24 69 70 29 0a 7b nction.inCIDRBlock($cidr,.$ip).{
defc0 0a 0a 20 6c 69 73 74 28 24 62 61 73 65 2c 20 24 62 69 74 73 29 20 3d 20 65 78 70 6c 6f 64 65 28 ...list($base,.$bits).=.explode(
defe0 27 2f 27 2c 20 24 63 69 64 72 29 3b 0a 0a 0a 20 6c 69 73 74 28 24 61 2c 20 24 62 2c 20 24 63 2c '/',.$cidr);....list($a,.$b,.$c,
df000 20 24 64 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 62 61 73 65 29 3b 0a 0a 0a 20 24 .$d).=.explode('.',.$base);....$
df020 69 20 3d 20 28 24 61 20 3c 3c 20 32 34 29 20 2b 20 28 24 62 20 3c 3c 20 31 36 29 20 2b 20 28 24 i.=.($a.<<.24).+.($b.<<.16).+.($
df040 63 20 3c 3c 20 38 29 20 2b 20 24 64 3b 0a 24 6d 61 73 6b 20 3d 20 24 62 69 74 73 20 3d 3d 20 30 c.<<.8).+.$d;.$mask.=.$bits.==.0
df060 20 3f 20 30 20 3a 20 28 7e 30 20 3c 3c 20 28 33 32 20 2d 20 24 62 69 74 73 29 29 3b 0a 0a 0a 20 .?.0.:.(~0.<<.(32.-.$bits));....
df080 24 6c 6f 77 20 3d 20 24 69 20 26 20 24 6d 61 73 6b 3b 0a 0a 0a 20 24 68 69 67 68 20 3d 20 24 69 $low.=.$i.&.$mask;....$high.=.$i
df0a0 20 7c 20 28 7e 24 6d 61 73 6b 20 26 20 30 78 46 46 46 46 46 46 46 46 29 3b 0a 0a 0a 20 6c 69 73 .|.(~$mask.&.0xFFFFFFFF);....lis
df0c0 74 28 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c t($a,.$b,.$c,.$d).=.explode('.',
df0e0 20 24 69 70 29 3b 0a 0a 0a 20 24 63 68 65 63 6b 20 3d 20 28 24 61 20 3c 3c 20 32 34 29 20 2b 20 .$ip);....$check.=.($a.<<.24).+.
df100 28 24 62 20 3c 3c 20 31 36 29 20 2b 20 28 24 63 20 3c 3c 20 38 29 20 2b 20 24 64 3b 0a 0a 0a 20 ($b.<<.16).+.($c.<<.8).+.$d;....
df120 0a 20 72 65 74 75 72 6e 20 24 63 68 65 63 6b 20 3e 3d 20 24 6c 6f 77 20 26 26 20 24 63 68 65 63 ..return.$check.>=.$low.&&.$chec
df140 6b 20 3c 3d 20 24 68 69 67 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a k.<=.$high;.}.}.<?php...........
df160 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 .namespace.Composer\Util;..use.C
df180 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 omposer\IO\IOInterface;.use.Symf
df1a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a ony\Component\Process\Process;..
df1c0 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 ...class.Perforce.{.protected.$p
df1e0 61 74 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 44 65 70 6f 74 3b 0a 70 72 6f 74 65 63 74 ath;.protected.$p4Depot;.protect
df200 65 64 20 24 70 34 43 6c 69 65 6e 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 55 73 65 72 3b ed.$p4Client;.protected.$p4User;
df220 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 50 61 73 73 77 6f 72 64 3b 0a 70 72 6f 74 65 63 74 65 .protected.$p4Password;.protecte
df240 64 20 24 70 34 50 6f 72 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 53 74 72 65 61 6d 3b 0a d.$p4Port;.protected.$p4Stream;.
df260 70 72 6f 74 65 63 74 65 64 20 24 70 34 43 6c 69 65 6e 74 53 70 65 63 3b 0a 70 72 6f 74 65 63 74 protected.$p4ClientSpec;.protect
df280 65 64 20 24 70 34 44 65 70 6f 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 42 72 ed.$p4DepotType;.protected.$p4Br
df2a0 61 6e 63 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 65 63 anch;.protected.$process;.protec
df2c0 74 65 64 20 24 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 3b 0a 70 ted.$uniquePerforceClientName;.p
df2e0 72 6f 74 65 63 74 65 64 20 24 77 69 6e 64 6f 77 73 46 6c 61 67 3b 0a 70 72 6f 74 65 63 74 65 64 rotected.$windowsFlag;.protected
df300 20 24 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b .$commandResult;..protected.$io;
df320 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 ..protected.$filesystem;..public
df340 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 70 6f 43 6f 6e 66 69 .function.__construct($repoConfi
df360 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 g,.$port,.$path,.ProcessExecutor
df380 20 24 70 72 6f 63 65 73 73 2c 20 24 69 73 57 69 6e 64 6f 77 73 2c 20 49 4f 49 6e 74 65 72 66 61 .$process,.$isWindows,.IOInterfa
df3a0 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 20 3d 20 24 ce.$io).{.$this->windowsFlag.=.$
df3c0 69 73 57 69 6e 64 6f 77 73 3b 0a 24 74 68 69 73 2d 3e 70 34 50 6f 72 74 20 3d 20 24 70 6f 72 74 isWindows;.$this->p4Port.=.$port
df3e0 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a ;.$this->initializePath($path);.
df400 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 $this->process.=.$process;.$this
df420 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 ->initialize($repoConfig);.$this
df440 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e ->io.=.$io;.}..public.static.fun
df460 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 70 6f 72 74 2c ction.create($repoConfig,.$port,
df480 20 24 70 61 74 68 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 .$path,.ProcessExecutor.$process
df4a0 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 ,.IOInterface.$io).{.return.new.
df4c0 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 Perforce($repoConfig,.$port,.$pa
df4e0 74 68 2c 20 24 70 72 6f 63 65 73 73 2c 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 th,.$process,.Platform::isWindow
df500 73 28 29 2c 20 24 69 6f 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 s(),.$io);.}..public.static.func
df520 74 69 6f 6e 20 63 68 65 63 6b 53 65 72 76 65 72 45 78 69 73 74 73 28 24 75 72 6c 2c 20 50 72 6f tion.checkServerExists($url,.Pro
df540 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 29 0a 7b cessExecutor.$processExecutor).{
df560 0a 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 24 .$output.=.null;..return.0.===.$
df580 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 27 70 34 20 2d 70 20 processExecutor->execute('p4.-p.
df5a0 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c '...ProcessExecutor::escape($url
df5c0 29 20 2e 20 27 20 69 6e 66 6f 20 2d 73 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 70 75 62 )...'.info.-s',.$output);.}..pub
df5e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 24 72 65 70 6f 43 6f 6e lic.function.initialize($repoCon
df600 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 fig).{.$this->uniquePerforceClie
df620 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 71 75 65 50 65 ntName.=.$this->generateUniquePe
df640 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 43 6f rforceClientName();.if.(!$repoCo
df660 6e 66 69 67 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 nfig).{.return;.}.if.(isset($rep
df680 6f 43 6f 6e 66 69 67 5b 27 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f oConfig['unique_perforce_client_
df6a0 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 name'])).{.$this->uniquePerforce
df6c0 43 6c 69 65 6e 74 4e 61 6d 65 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 6e 69 71 75 65 ClientName.=.$repoConfig['unique
df6e0 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 _perforce_client_name'];.}..if.(
df700 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 6f 74 27 5d 29 29 20 7b 0a 24 isset($repoConfig['depot'])).{.$
df720 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 this->p4Depot.=.$repoConfig['dep
df740 6f 74 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 ot'];.}.if.(isset($repoConfig['b
df760 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 20 3d 20 24 72 ranch'])).{.$this->p4Branch.=.$r
df780 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 epoConfig['branch'];.}.if.(isset
df7a0 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 75 73 65 72 27 5d 29 29 20 7b 0a 24 74 68 69 73 ($repoConfig['p4user'])).{.$this
df7c0 2d 3e 70 34 55 73 65 72 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 75 73 65 72 27 5d ->p4User.=.$repoConfig['p4user']
df7e0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 74 68 69 73 ;.}.else.{.$this->p4User.=.$this
df800 2d 3e 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 27 50 34 55 53 45 52 27 29 3b 0a 7d 0a 69 66 20 ->getP4variable('P4USER');.}.if.
df820 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 70 61 73 73 77 6f 72 64 27 5d (isset($repoConfig['p4password']
df840 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 20 3d 20 24 72 65 70 6f 43 6f )).{.$this->p4Password.=.$repoCo
df860 6e 66 69 67 5b 27 70 34 70 61 73 73 77 6f 72 64 27 5d 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 nfig['p4password'];.}.}..public.
df880 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 44 65 70 6f 74 41 6e 64 42 72 61 6e 63 function.initializeDepotAndBranc
df8a0 68 28 24 64 65 70 6f 74 2c 20 24 62 72 61 6e 63 68 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 h($depot,.$branch).{.if.(isset($
df8c0 64 65 70 6f 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 3d 20 24 64 65 70 6f depot)).{.$this->p4Depot.=.$depo
df8e0 74 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 68 29 29 20 7b 0a 24 74 68 69 73 t;.}.if.(isset($branch)).{.$this
df900 2d 3e 70 34 42 72 61 6e 63 68 20 3d 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 ->p4Branch.=.$branch;.}.}..publi
df920 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 71 75 65 50 65 72 66 6f 72 63 c.function.generateUniquePerforc
df940 65 43 6c 69 65 6e 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 67 65 74 68 6f 73 74 6e 61 eClientName().{.return.gethostna
df960 6d 65 28 29 20 2e 20 22 5f 22 20 2e 20 74 69 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 me()..."_"...time();.}..public.f
df980 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 43 6c 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 24 63 unction.cleanupClientSpec().{.$c
df9a0 6c 69 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 3b 0a 24 74 61 73 lient.=.$this->getClient();.$tas
df9c0 6b 20 3d 20 27 63 6c 69 65 6e 74 20 2d 64 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 k.=.'client.-d.'...ProcessExecut
df9e0 6f 72 3a 3a 65 73 63 61 70 65 28 24 63 6c 69 65 6e 74 29 3b 0a 24 75 73 65 50 34 43 6c 69 65 6e or::escape($client);.$useP4Clien
dfa00 74 20 3d 20 66 61 6c 73 65 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e t.=.false;.$command.=.$this->gen
dfa20 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 24 74 61 73 6b 2c 20 24 75 73 65 50 34 43 6c 69 65 erateP4Command($task,.$useP4Clie
dfa40 6e 74 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d nt);.$this->executeCommand($comm
dfa60 61 6e 64 29 3b 0a 24 63 6c 69 65 6e 74 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 and);.$clientSpec.=.$this->getP4
dfa80 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 20 3d 20 24 74 68 69 ClientSpec();.$fileSystem.=.$thi
dfaa0 73 2d 3e 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 2d s->getFilesystem();.$fileSystem-
dfac0 3e 72 65 6d 6f 76 65 28 24 63 6c 69 65 6e 74 53 70 65 63 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 >remove($clientSpec);.}..protect
dfae0 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d ed.function.executeCommand($comm
dfb00 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 20 3d 20 27 27 and).{.$this->commandResult.=.''
dfb20 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 ;..return.$this->process->execut
dfb40 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 e($command,.$this->commandResult
dfb60 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 69 65 6e 74 28 );.}..public.function.getClient(
dfb80 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 29 29 ).{.if.(!isset($this->p4Client))
dfba0 20 7b 0a 24 63 6c 65 61 6e 53 74 72 65 61 6d 4e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 .{.$cleanStreamName.=.str_replac
dfbc0 65 28 61 72 72 61 79 28 27 2f 2f 27 2c 20 27 2f 27 2c 20 27 40 27 29 2c 20 61 72 72 61 79 28 27 e(array('//',.'/',.'@'),.array('
dfbe0 27 2c 20 27 5f 27 2c 20 27 27 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 ',.'_',.''),.$this->getStream())
dfc00 3b 0a 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 20 3d 20 27 63 6f 6d 70 6f 73 65 72 5f 70 65 ;.$this->p4Client.=.'composer_pe
dfc20 72 66 6f 72 63 65 5f 27 20 2e 20 24 74 68 69 73 2d 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 rforce_'...$this->uniquePerforce
dfc40 43 6c 69 65 6e 74 4e 61 6d 65 20 2e 20 27 5f 27 20 2e 20 24 63 6c 65 61 6e 53 74 72 65 61 6d 4e ClientName...'_'...$cleanStreamN
dfc60 61 6d 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 3b 0a ame;.}..return.$this->p4Client;.
dfc80 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 0a }..protected.function.getPath().
dfca0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 {.return.$this->path;.}..public.
dfcc0 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b function.initializePath($path).{
dfce0 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 24 66 73 20 3d 20 24 74 68 69 .$this->path.=.$path;.$fs.=.$thi
dfd00 73 2d 3e 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 s->getFilesystem();.$fs->ensureD
dfd20 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 irectoryExists($path);.}..protec
dfd40 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ted.function.getPort().{.return.
dfd60 24 74 68 69 73 2d 3e 70 34 50 6f 72 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $this->p4Port;.}..public.functio
dfd80 6e 20 73 65 74 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 34 n.setStream($stream).{.$this->p4
dfda0 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 72 70 Stream.=.$stream;.$index.=.strrp
dfdc0 6f 73 28 24 73 74 72 65 61 6d 2c 20 27 2f 27 29 3b 0a 0a 20 69 66 20 28 24 69 6e 64 65 78 20 3e os($stream,.'/');...if.($index.>
dfde0 20 32 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 20 3d 20 27 73 74 72 65 .2).{.$this->p4DepotType.=.'stre
dfe00 61 6d 27 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 74 72 65 am';.}.}..public.function.isStre
dfe20 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 63 6d 70 28 24 74 68 69 73 2d 3e 70 34 44 am().{.return.(strcmp($this->p4D
dfe40 65 70 6f 74 54 79 70 65 2c 20 27 73 74 72 65 61 6d 27 29 20 3d 3d 3d 20 30 29 3b 0a 7d 0a 0a 70 epotType,.'stream').===.0);.}..p
dfe60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 7b 0a 69 66 20 ublic.function.getStream().{.if.
dfe80 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 29 29 20 7b 0a 69 66 20 28 (!isset($this->p4Stream)).{.if.(
dfea0 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 53 74 $this->isStream()).{.$this->p4St
dfec0 72 65 61 6d 20 3d 20 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 2e 20 27 ream.=.'//'...$this->p4Depot...'
dfee0 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 /'...$this->p4Branch;.}.else.{.$
dff00 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 20 3d 20 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 this->p4Stream.=.'//'...$this->p
dff20 34 44 65 70 6f 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 53 74 72 4Depot;.}.}..return.$this->p4Str
dff40 65 61 6d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 eam;.}..public.function.getStrea
dff60 6d 57 69 74 68 6f 75 74 4c 61 62 65 6c 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 69 6e 64 65 78 20 mWithoutLabel($stream).{.$index.
dff80 3d 20 73 74 72 70 6f 73 28 24 73 74 72 65 61 6d 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 =.strpos($stream,.'@');.if.($ind
dffa0 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 74 72 65 61 6d 3b 0a ex.===.false).{.return.$stream;.
dffc0 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 73 74 72 65 61 6d 2c 20 30 2c 20 24 69 6e }..return.substr($stream,.0,.$in
dffe0 64 65 78 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 34 43 6c dex);.}..public.function.getP4Cl
e0000 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 20 ientSpec().{.return.$this->path.
e0020 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 27 2e 70 ..'/'...$this->getClient()...'.p
e0040 34 2e 73 70 65 63 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 4.spec';.}..public.function.getU
e0060 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 0a ser().{.return.$this->p4User;.}.
e0080 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 72 28 24 75 73 65 72 29 0a .public.function.setUser($user).
e00a0 7b 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 75 73 65 72 3b 0a 7d 0a 0a 70 75 62 6c {.$this->p4User.=.$user;.}..publ
e00c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 65 72 79 50 34 55 73 65 72 28 29 0a 7b 0a 24 74 68 69 ic.function.queryP4User().{.$thi
e00e0 73 2d 3e 67 65 74 55 73 65 72 28 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e s->getUser();.if.(strlen($this->
e0100 70 34 55 73 65 72 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e p4User).>.0).{.return;.}.$this->
e0120 70 34 55 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 27 50 p4User.=.$this->getP4variable('P
e0140 34 55 53 45 52 27 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 70 34 55 73 65 4USER');.if.(strlen($this->p4Use
e0160 72 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 r).>.0).{.return;.}.$this->p4Use
e0180 72 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 45 6e 74 65 72 20 50 34 20 55 73 65 r.=.$this->io->ask('Enter.P4.Use
e01a0 72 3a 27 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a r:');.if.($this->windowsFlag).{.
e01c0 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 20 73 65 74 20 50 34 55 53 45 52 3d 27 20 2e 20 24 74 $command.=.'p4.set.P4USER='...$t
e01e0 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d his->p4User;.}.else.{.$command.=
e0200 20 27 65 78 70 6f 72 74 20 50 34 55 53 45 52 3d 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 55 73 65 .'export.P4USER='...$this->p4Use
e0220 72 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d r;.}.$this->executeCommand($comm
e0240 61 6e 64 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 and);.}..protected.function.getP
e0260 34 76 61 72 69 61 62 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 69 4variable($name).{.if.($this->wi
e0280 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 20 73 65 74 27 ndowsFlag).{.$command.=.'p4.set'
e02a0 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 ;.$this->executeCommand($command
e02c0 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 );.$result.=.trim($this->command
e02e0 52 65 73 75 6c 74 29 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 Result);.$resArray.=.explode(PHP
e0300 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 72 72 _EOL,.$result);.foreach.($resArr
e0320 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 ay.as.$line).{.$fields.=.explode
e0340 28 27 3d 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 74 72 63 6d 70 28 24 6e 61 6d 65 2c 20 ('=',.$line);.if.(strcmp($name,.
e0360 24 66 69 65 6c 64 73 5b 30 5d 29 20 3d 3d 20 30 29 20 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 $fields[0]).==.0).{.$index.=.str
e0380 70 6f 73 28 24 66 69 65 6c 64 73 5b 31 5d 2c 20 27 20 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 pos($fields[1],.'.');.if.($index
e03a0 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 66 69 65 6c 64 73 5b 31 .===.false).{.$value.=.$fields[1
e03c0 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 65 ];.}.else.{.$value.=.substr($fie
e03e0 6c 64 73 5b 31 5d 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 74 lds[1],.0,.$index);.}.$value.=.t
e0400 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d rim($value);..return.$value;.}.}
e0420 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 63 ..return.null;.}..$command.=.'ec
e0440 68 6f 20 24 27 20 2e 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d ho.$'...$name;.$this->executeCom
e0460 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 mand($command);.$result.=.trim($
e0480 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 this->commandResult);..return.$r
e04a0 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 65 72 79 50 esult;.}..public.function.queryP
e04c0 34 50 61 73 73 77 6f 72 64 28 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 4Password().{.if.(isset($this->p
e04e0 34 50 61 73 73 77 6f 72 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 50 61 4Password)).{.return.$this->p4Pa
e0500 73 73 77 6f 72 64 3b 0a 7d 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ssword;.}.$password.=.$this->get
e0520 50 34 76 61 72 69 61 62 6c 65 28 27 50 34 50 41 53 53 57 44 27 29 3b 0a 69 66 20 28 73 74 72 6c P4variable('P4PASSWD');.if.(strl
e0540 65 6e 28 24 70 61 73 73 77 6f 72 64 29 20 3c 3d 20 30 29 20 7b 0a 24 70 61 73 73 77 6f 72 64 20 en($password).<=.0).{.$password.
e0560 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 45 =.$this->io->askAndHideAnswer('E
e0580 6e 74 65 72 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 50 65 72 66 6f 72 63 65 20 75 73 65 72 20 nter.password.for.Perforce.user.
e05a0 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 3a 20 27 29 3b 0a 7d 0a '...$this->getUser()...':.');.}.
e05c0 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 20 3d 20 24 70 61 73 73 77 6f 72 64 3b 0a 0a $this->p4Password.=.$password;..
e05e0 72 65 74 75 72 6e 20 24 70 61 73 73 77 6f 72 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 return.$password;.}..public.func
e0600 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c tion.generateP4Command($command,
e0620 20 24 75 73 65 43 6c 69 65 6e 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 70 34 43 6f 6d 6d 61 6e 64 .$useClient.=.true).{.$p4Command
e0640 20 3d 20 27 70 34 20 27 3b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 2e 3d 20 27 2d 75 20 27 20 2e 20 .=.'p4.';.$p4Command..=.'-u.'...
e0660 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 20 27 3b 0a 69 66 20 28 24 75 73 65 $this->getUser()...'.';.if.($use
e0680 43 6c 69 65 6e 74 29 20 7b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 2e 3d 20 27 2d 63 20 27 20 2e 20 Client).{.$p4Command..=.'-c.'...
e06a0 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 27 20 27 3b 0a 7d 0a 24 70 34 43 $this->getClient()...'.';.}.$p4C
e06c0 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 43 6f 6d 6d 61 6e 64 20 2e 20 27 2d 70 20 27 20 2e 20 24 74 ommand.=.$p4Command...'-p.'...$t
e06e0 68 69 73 2d 3e 67 65 74 50 6f 72 74 28 29 20 2e 20 27 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 3b his->getPort()...'.'...$command;
e0700 0a 0a 72 65 74 75 72 6e 20 24 70 34 43 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ..return.$p4Command;.}..public.f
e0720 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 67 67 65 64 49 6e 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 unction.isLoggedIn().{.$command.
e0740 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 6c 6f 67 69 =.$this->generateP4Command('logi
e0760 6e 20 2d 73 27 2c 20 66 61 6c 73 65 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 n.-s',.false);.$exitCode.=.$this
e0780 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 69 66 20 28 ->executeCommand($command);.if.(
e07a0 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 $exitCode).{.$errorOutput.=.$thi
e07c0 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 24 69 s->process->getErrorOutput();.$i
e07e0 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 24 74 68 69 ndex.=.strpos($errorOutput,.$thi
e0800 73 2d 3e 67 65 74 55 73 65 72 28 29 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 s->getUser());.if.($index.===.fa
e0820 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4f 75 74 lse).{.$index.=.strpos($errorOut
e0840 70 75 74 2c 20 27 70 34 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 put,.'p4');.if.($index.===.false
e0860 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 ).{.return.false;.}.throw.new.\E
e0880 78 63 65 70 74 69 6f 6e 28 27 70 34 20 63 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e 64 20 69 xception('p4.command.not.found.i
e08a0 6e 20 70 61 74 68 3a 20 27 20 2e 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 3b 0a 7d 0a 74 68 72 n.path:.'...$errorOutput);.}.thr
e08c0 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 73 65 72 20 ow.new.\Exception('Invalid.user.
e08e0 6e 61 6d 65 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 29 3b 0a 7d 0a 0a name:.'...$this->getUser());.}..
e0900 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 return.true;.}..public.function.
e0920 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 0a 7b 0a 24 70 34 43 72 65 61 74 65 43 6c 69 65 6e connectClient().{.$p4CreateClien
e0940 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d tCommand.=.$this->generateP4Comm
e0960 61 6e 64 28 0a 27 63 6c 69 65 6e 74 20 2d 69 20 3c 20 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 and(.'client.-i.<.'...str_replac
e0980 65 28 22 20 22 2c 20 22 5c 5c 20 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 e(".",."\\.",.$this->getP4Client
e09a0 53 70 65 63 28 29 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 Spec()).);.$this->executeCommand
e09c0 28 24 70 34 43 72 65 61 74 65 43 6c 69 65 6e 74 43 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 70 75 62 ($p4CreateClientCommand);.}..pub
e09e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 43 6f 64 65 42 61 73 65 28 24 73 6f 75 72 63 lic.function.syncCodeBase($sourc
e0a00 65 52 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 70 72 65 76 44 69 72 20 3d 20 67 65 74 63 77 64 28 eReference).{.$prevDir.=.getcwd(
e0a20 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 24 70 34 53 79 6e 63 43 6f );.chdir($this->path);.$p4SyncCo
e0a40 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 mmand.=.$this->generateP4Command
e0a60 28 27 73 79 6e 63 20 2d 66 20 27 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 6f 75 72 ('sync.-f.');.if.(null.!==.$sour
e0a80 63 65 52 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 20 2e 3d ceReference).{.$p4SyncCommand..=
e0aa0 20 27 40 27 20 2e 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 24 74 68 69 73 .'@'...$sourceReference;.}.$this
e0ac0 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 29 ->executeCommand($p4SyncCommand)
e0ae0 3b 0a 63 68 64 69 72 28 24 70 72 65 76 44 69 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ;.chdir($prevDir);.}..public.fun
e0b00 63 74 69 6f 6e 20 77 72 69 74 65 43 6c 69 65 6e 74 53 70 65 63 54 6f 46 69 6c 65 28 24 73 70 65 ction.writeClientSpecToFile($spe
e0b20 63 29 0a 7b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 43 6c 69 65 6e 74 3a 20 27 20 2e 20 c).{.fwrite($spec,.'Client:.'...
e0b40 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 $this->getClient()...PHP_EOL...P
e0b60 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 55 70 64 61 74 65 3a 20 HP_EOL);.fwrite($spec,.'Update:.
e0b80 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 48 3a 69 3a 73 27 29 20 2e 20 50 48 50 5f 45 4f '...date('Y/m/d.H:i:s')...PHP_EO
e0ba0 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 41 63 63 L...PHP_EOL);.fwrite($spec,.'Acc
e0bc0 65 73 73 3a 20 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 48 3a 69 3a 73 27 29 20 2e 20 50 ess:.'...date('Y/m/d.H:i:s')...P
e0be0 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 4f 77 6e 65 72 3a 20 20 HP_EOL);.fwrite($spec,.'Owner:..
e0c00 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 50 48 50 5f 45 4f 4c 20 2e '...$this->getUser()...PHP_EOL..
e0c20 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 44 65 73 63 72 69 .PHP_EOL);.fwrite($spec,.'Descri
e0c40 70 74 69 6f 6e 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 ption:'...PHP_EOL);.fwrite($spec
e0c60 2c 20 27 20 20 43 72 65 61 74 65 64 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 ,.'..Created.by.'...$this->getUs
e0c80 65 72 28 29 20 2e 20 27 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 2e 27 20 2e 20 50 48 50 5f 45 er()...'.from.composer.'...PHP_E
e0ca0 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 52 6f OL...PHP_EOL);.fwrite($spec,.'Ro
e0cc0 6f 74 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 28 29 20 2e 20 50 48 50 5f 45 ot:.'...$this->getPath()...PHP_E
e0ce0 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 4f 70 OL...PHP_EOL);.fwrite($spec,.'Op
e0d00 74 69 6f 6e 73 3a 20 20 6e 6f 61 6c 6c 77 72 69 74 65 20 6e 6f 63 6c 6f 62 62 65 72 20 6e 6f 63 tions:..noallwrite.noclobber.noc
e0d20 6f 6d 70 72 65 73 73 20 75 6e 6c 6f 63 6b 65 64 20 6d 6f 64 74 69 6d 65 20 72 6d 64 69 72 27 20 ompress.unlocked.modtime.rmdir'.
e0d40 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 ..PHP_EOL...PHP_EOL);.fwrite($sp
e0d60 65 63 2c 20 27 53 75 62 6d 69 74 4f 70 74 69 6f 6e 73 3a 20 20 72 65 76 65 72 74 75 6e 63 68 61 ec,.'SubmitOptions:..revertuncha
e0d80 6e 67 65 64 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 nged'...PHP_EOL...PHP_EOL);.fwri
e0da0 74 65 28 24 73 70 65 63 2c 20 27 4c 69 6e 65 45 6e 64 3a 20 20 6c 6f 63 61 6c 27 20 2e 20 50 48 te($spec,.'LineEnd:..local'...PH
e0dc0 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 P_EOL...PHP_EOL);.if.($this->isS
e0de0 74 72 65 61 6d 28 29 29 20 7b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 53 74 72 65 61 6d tream()).{.fwrite($spec,.'Stream
e0e00 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 20 20 :'...PHP_EOL);.fwrite($spec,.'..
e0e20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 57 69 74 68 6f 75 74 4c 61 62 65 6c '...$this->getStreamWithoutLabel
e0e40 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 29 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 7d 20 ($this->p4Stream)...PHP_EOL);.}.
e0e60 65 6c 73 65 20 7b 0a 66 77 72 69 74 65 28 0a 24 73 70 65 63 2c 0a 27 56 69 65 77 3a 20 20 27 20 else.{.fwrite(.$spec,.'View:..'.
e0e80 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 2f 2e 2e 2e 20 20 2f 2f ..$this->getStream()...'/.....//
e0ea0 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 27 2f 2e 2e 2e 20 27 '...$this->getClient()...'/....'
e0ec0 20 2e 20 50 48 50 5f 45 4f 4c 0a 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ...PHP_EOL.);.}.}..public.functi
e0ee0 6f 6e 20 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 24 63 6c 69 65 6e 74 on.writeP4ClientSpec().{.$client
e0f00 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b Spec.=.$this->getP4ClientSpec();
e0f20 0a 24 73 70 65 63 20 3d 20 66 6f 70 65 6e 28 24 63 6c 69 65 6e 74 53 70 65 63 2c 20 27 77 27 29 .$spec.=.fopen($clientSpec,.'w')
e0f40 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 43 6c 69 65 6e 74 53 70 65 63 54 6f ;.try.{.$this->writeClientSpecTo
e0f60 46 69 6c 65 28 24 73 70 65 63 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e File($spec);.}.catch.(\Exception
e0f80 20 24 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a .$e).{.fclose($spec);.throw.$e;.
e0fa0 7d 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 }.fclose($spec);.}..protected.fu
e0fc0 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 70 69 70 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 nction.read($pipe,.$name).{.if.(
e0fe0 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 6c 69 6e 65 20 3d feof($pipe)).{.return;.}.$line.=
e1000 20 66 67 65 74 73 28 24 70 69 70 65 29 3b 0a 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 21 3d 3d 20 .fgets($pipe);.while.($line.!==.
e1020 66 61 6c 73 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 70 69 70 65 29 3b 0a 7d false).{.$line.=.fgets($pipe);.}
e1040 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 69 6e ..return;.}..public.function.win
e1060 64 6f 77 73 4c 6f 67 69 6e 28 24 70 61 73 73 77 6f 72 64 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 dowsLogin($password).{.$command.
e1080 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c 6f 67 =.$this->generateP4Command('.log
e10a0 69 6e 20 2d 61 27 29 3b 0a 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 in.-a');....if.(method_exists('S
e10c0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 ymfony\Component\Process\Process
e10e0 27 2c 20 27 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a 24 70 ',.'fromShellCommandline')).{.$p
e1100 72 6f 63 65 73 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 rocess.=.Process::fromShellComma
e1120 6e 64 6c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 70 61 ndline($command,.null,.null,.$pa
e1140 73 73 77 6f 72 64 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 ssword);.}.else.{.$process.=.new
e1160 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 .Process($command,.null,.null,.$
e1180 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 72 password);.}..return.$process->r
e11a0 75 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 34 4c 6f 67 69 6e un();.}..public.function.p4Login
e11c0 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 71 75 65 72 79 50 34 55 73 65 72 28 29 3b 0a 69 66 20 28 21 ().{.$this->queryP4User();.if.(!
e11e0 24 74 68 69 73 2d 3e 69 73 4c 6f 67 67 65 64 49 6e 28 29 29 20 7b 0a 24 70 61 73 73 77 6f 72 64 $this->isLoggedIn()).{.$password
e1200 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 50 34 50 61 73 73 77 6f 72 64 28 29 3b 0a 69 66 20 .=.$this->queryP4Password();.if.
e1220 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 74 68 69 73 2d 3e 77 69 ($this->windowsFlag).{.$this->wi
e1240 6e 64 6f 77 73 4c 6f 67 69 6e 28 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ndowsLogin($password);.}.else.{.
e1260 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 63 68 6f 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 $command.=.'echo.'...ProcessExec
e1280 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 73 73 77 6f 72 64 29 20 2e 20 27 20 7c 20 27 20 utor::escape($password)...'.|.'.
e12a0 2e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c 6f 67 ..$this->generateP4Command('.log
e12c0 69 6e 20 2d 61 27 2c 20 66 61 6c 73 65 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 in.-a',.false);.$exitCode.=.$thi
e12e0 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 s->executeCommand($command);.$re
e1300 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 sult.=.trim($this->commandResult
e1320 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 );.if.($exitCode).{.throw.new.\E
e1340 78 63 65 70 74 69 6f 6e 28 22 45 72 72 6f 72 20 6c 6f 67 67 69 6e 67 20 69 6e 3a 22 20 2e 20 24 xception("Error.logging.in:"...$
e1360 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 this->process->getErrorOutput())
e1380 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f ;.}.}.}.}..public.function.getCo
e13a0 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b mposerInformation($identifier).{
e13c0 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 .$composerFileContent.=.$this->g
e13e0 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 etFileContent('composer.json',.$
e1400 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 identifier);..if.(!$composerFile
e1420 43 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6a 73 6f Content).{.return;.}..return.jso
e1440 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c 20 74 n_decode($composerFileContent,.t
e1460 72 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 rue);.}..public.function.getFile
e1480 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 70 Content($file,.$identifier).{.$p
e14a0 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c 65 2c 20 ath.=.$this->getFilePath($file,.
e14c0 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d $identifier);..$command.=.$this-
e14e0 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 70 72 69 6e 74 20 27 20 2e 20 50 >generateP4Command('.print.'...P
e1500 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 29 3b 0a rocessExecutor::escape($path));.
e1520 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b $this->executeCommand($command);
e1540 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b .$result.=.$this->commandResult;
e1560 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e ..if.(!trim($result)).{.return.n
e1580 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 ull;.}..return.$result;.}..publi
e15a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c 65 2c 20 24 69 c.function.getFilePath($file,.$i
e15c0 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 69 64 dentifier).{.$index.=.strpos($id
e15e0 65 6e 74 69 66 69 65 72 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 entifier,.'@');.if.($index.===.f
e1600 61 6c 73 65 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 2e 20 27 2f 27 alse).{.$path.=.$identifier..'/'
e1620 20 2e 20 24 66 69 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 70 61 74 ...$file;..return.$path;.}..$pat
e1640 68 20 3d 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 30 2c 20 24 69 6e 64 65 h.=.substr($identifier,.0,.$inde
e1660 78 29 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 x)...'/'...$file...substr($ident
e1680 69 66 69 65 72 2c 20 24 69 6e 64 65 78 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 ifier,.$index);.$command.=.$this
e16a0 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 66 69 6c 65 73 20 27 20 2e 20 ->generateP4Command('.files.'...
e16c0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 2c 20 ProcessExecutor::escape($path),.
e16e0 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 false);.$this->executeCommand($c
e1700 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e ommand);.$result.=.$this->comman
e1720 64 52 65 73 75 6c 74 3b 0a 24 69 6e 64 65 78 32 20 3d 20 73 74 72 70 6f 73 28 24 72 65 73 75 6c dResult;.$index2.=.strpos($resul
e1740 74 2c 20 27 6e 6f 20 73 75 63 68 20 66 69 6c 65 28 73 29 2e 27 29 3b 0a 69 66 20 28 24 69 6e 64 t,.'no.such.file(s).');.if.($ind
e1760 65 78 32 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 33 20 3d 20 73 74 72 70 6f ex2.===.false).{.$index3.=.strpo
e1780 73 28 24 72 65 73 75 6c 74 2c 20 27 63 68 61 6e 67 65 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 s($result,.'change');.if.($index
e17a0 33 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 70 68 72 61 73 65 20 3d 20 74 72 69 6d 28 73 75 3.!==.false).{.$phrase.=.trim(su
e17c0 62 73 74 72 28 24 72 65 73 75 6c 74 2c 20 24 69 6e 64 65 78 33 29 29 3b 0a 24 66 69 65 6c 64 73 bstr($result,.$index3));.$fields
e17e0 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 68 72 61 73 65 29 3b 0a 0a 72 65 74 75 72 .=.explode('.',.$phrase);..retur
e1800 6e 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 30 2c 20 24 69 6e 64 65 78 29 n.substr($identifier,.0,.$index)
e1820 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 40 27 20 2e 20 24 66 69 65 6c 64 73 5b 31 ...'/'...$file...'@'...$fields[1
e1840 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ];.}.}..return.null;.}..public.f
e1860 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 24 70 6f 73 73 69 62 6c unction.getBranches().{.$possibl
e1880 65 42 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d eBranches.=.array();.if.(!$this-
e18a0 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 >isStream()).{.$possibleBranches
e18c0 5b 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 74 [$this->p4Branch].=.$this->getSt
e18e0 72 65 61 6d 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 ream();.}.else.{.$command.=.$thi
e1900 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 73 74 72 65 61 6d 73 20 27 2e s->generateP4Command('streams.'.
e1920 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 27 2f 2f 27 20 2e 20 24 ProcessExecutor::escape('//'...$
e1940 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 2e 20 27 2f 2e 2e 2e 27 29 29 3b 0a 24 74 68 69 73 2d this->p4Depot...'/...'));.$this-
e1960 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 >executeCommand($command);.$resu
e1980 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 lt.=.$this->commandResult;.$resA
e19a0 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 rray.=.explode(PHP_EOL,.$result)
e19c0 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b ;.foreach.($resArray.as.$line).{
e19e0 0a 24 72 65 73 42 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b .$resBits.=.explode('.',.$line);
e1a00 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 42 69 74 73 29 20 3e 20 34 29 20 7b 0a 24 62 72 61 .if.(count($resBits).>.4).{.$bra
e1a20 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 2d 39 nch.=.preg_replace('/[^A-Za-z0-9
e1a40 20 5d 2f 27 2c 20 27 27 2c 20 24 72 65 73 42 69 74 73 5b 34 5d 29 3b 0a 24 70 6f 73 73 69 62 6c .]/',.'',.$resBits[4]);.$possibl
e1a60 65 42 72 61 6e 63 68 65 73 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 72 65 73 42 69 74 73 5b 31 5d eBranches[$branch].=.$resBits[1]
e1a80 3b 0a 7d 0a 7d 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 ;.}.}.}.$command.=.$this->genera
e1aa0 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 63 68 61 6e 67 65 73 20 27 2e 20 50 72 6f 63 65 73 73 45 teP4Command('changes.'..ProcessE
e1ac0 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d xecutor::escape($this->getStream
e1ae0 28 29 20 2e 20 27 2f 2e 2e 2e 27 29 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 ()...'/...'),.false);.$this->exe
e1b00 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d cuteCommand($command);.$result.=
e1b20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 .$this->commandResult;.$resArray
e1b40 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 24 6c .=.explode(PHP_EOL,.$result);.$l
e1b60 61 73 74 43 6f 6d 6d 69 74 20 3d 20 24 72 65 73 41 72 72 61 79 5b 30 5d 3b 0a 24 6c 61 73 74 43 astCommit.=.$resArray[0];.$lastC
e1b80 6f 6d 6d 69 74 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 61 73 74 43 6f 6d ommitArr.=.explode('.',.$lastCom
e1ba0 6d 69 74 29 3b 0a 24 6c 61 73 74 43 6f 6d 6d 69 74 4e 75 6d 20 3d 20 24 6c 61 73 74 43 6f 6d 6d mit);.$lastCommitNum.=.$lastComm
e1bc0 69 74 41 72 72 5b 31 5d 3b 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 27 6d 61 itArr[1];..$branches.=.array('ma
e1be0 73 74 65 72 27 20 3d 3e 20 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 74 68 69 73 ster'.=>.$possibleBranches[$this
e1c00 2d 3e 70 34 42 72 61 6e 63 68 5d 20 2e 20 27 40 27 2e 20 24 6c 61 73 74 43 6f 6d 6d 69 74 4e 75 ->p4Branch]...'@'..$lastCommitNu
e1c20 6d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 m);..return.$branches;.}..public
e1c40 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d .function.getTags().{.$command.=
e1c60 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 6c 61 62 65 6c .$this->generateP4Command('label
e1c80 73 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d s');.$this->executeCommand($comm
e1ca0 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 and);.$result.=.$this->commandRe
e1cc0 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f sult;.$resArray.=.explode(PHP_EO
e1ce0 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f L,.$result);.$tags.=.array();.fo
e1d00 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 reach.($resArray.as.$line).{.if.
e1d20 28 73 74 72 70 6f 73 28 24 6c 69 6e 65 2c 20 27 4c 61 62 65 6c 27 29 20 21 3d 3d 20 66 61 6c 73 (strpos($line,.'Label').!==.fals
e1d40 65 29 20 7b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e e).{.$fields.=.explode('.',.$lin
e1d60 65 29 3b 0a 24 74 61 67 73 5b 24 66 69 65 6c 64 73 5b 31 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 67 e);.$tags[$fields[1]].=.$this->g
e1d80 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 40 27 20 2e 20 24 66 69 65 6c 64 73 5b 31 5d 3b 0a 7d etStream()...'@'...$fields[1];.}
e1da0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .}..return.$tags;.}..public.func
e1dc0 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 65 61 6d 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 tion.checkStream().{.$command.=.
e1de0 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 64 65 70 6f 74 73 $this->generateP4Command('depots
e1e00 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 ',.false);.$this->executeCommand
e1e20 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d ($command);.$result.=.$this->com
e1e40 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 mandResult;.$resArray.=.explode(
e1e60 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 PHP_EOL,.$result);.foreach.($res
e1e80 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 6c 69 Array.as.$line).{.if.(strpos($li
e1ea0 6e 65 2c 20 27 44 65 70 6f 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 66 69 65 6c 64 ne,.'Depot').!==.false).{.$field
e1ec0 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 74 72 s.=.explode('.',.$line);.if.(str
e1ee0 63 6d 70 28 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 2c 20 24 66 69 65 6c 64 73 5b 31 5d 29 20 cmp($this->p4Depot,.$fields[1]).
e1f00 3d 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 20 3d 20 24 66 ===.0).{.$this->p4DepotType.=.$f
e1f20 69 65 6c 64 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 ields[3];..return.$this->isStrea
e1f40 6d 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a m();.}.}.}..return.false;.}.....
e1f60 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 4c 69 73 .protected.function.getChangeLis
e1f80 74 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 t($reference).{.$index.=.strpos(
e1fa0 24 72 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d $reference,.'@');.if.($index.===
e1fc0 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 6c 61 62 65 6c 20 .false).{.return.null;.}.$label.
e1fe0 3d 20 73 75 62 73 74 72 28 24 72 65 66 65 72 65 6e 63 65 2c 20 24 69 6e 64 65 78 29 3b 0a 24 63 =.substr($reference,.$index);.$c
e2000 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e ommand.=.$this->generateP4Comman
e2020 64 28 27 20 63 68 61 6e 67 65 73 20 2d 6d 31 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 d('.changes.-m1.'...ProcessExecu
e2040 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 6c 61 62 65 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 tor::escape($label));.$this->exe
e2060 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 63 68 61 6e 67 65 73 20 cuteCommand($command);.$changes.
e2080 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 69 66 20 28 73 74 72 70 =.$this->commandResult;.if.(strp
e20a0 6f 73 28 24 63 68 61 6e 67 65 73 2c 20 27 43 68 61 6e 67 65 27 29 20 21 3d 3d 20 30 29 20 7b 0a os($changes,.'Change').!==.0).{.
e20c0 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 return.null;.}.$fields.=.explode
e20e0 28 27 20 27 2c 20 24 63 68 61 6e 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 69 65 6c 64 73 ('.',.$changes);..return.$fields
e2100 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 [1];.}.......public.function.get
e2120 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 CommitLogs($fromReference,.$toRe
e2140 66 65 72 65 6e 63 65 29 0a 7b 0a 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 20 3d 20 24 74 68 ference).{.$fromChangeList.=.$th
e2160 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 is->getChangeList($fromReference
e2180 29 3b 0a 69 66 20 28 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d 3d 20 6e 75 6c 6c 29 );.if.($fromChangeList.===.null)
e21a0 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 74 6f 43 68 61 6e 67 65 4c 69 73 74 20 .{.return.null;.}.$toChangeList.
e21c0 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 74 6f 52 65 66 65 72 65 =.$this->getChangeList($toRefere
e21e0 6e 63 65 29 3b 0a 69 66 20 28 24 74 6f 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d 3d 20 6e 75 6c 6c nce);.if.($toChangeList.===.null
e2200 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 ).{.return.null;.}.$index.=.strp
e2220 6f 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 24 6d 61 69 6e 20 3d os($fromReference,.'@');.$main.=
e2240 20 73 75 62 73 74 72 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 30 2c 20 24 69 6e 64 65 .substr($fromReference,.0,.$inde
e2260 78 29 20 2e 20 27 2f 2e 2e 2e 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 x)...'/...';.$command.=.$this->g
e2280 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 66 69 6c 65 6c 6f 67 20 27 20 2e 20 50 72 enerateP4Command('filelog.'...Pr
e22a0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 6d 61 69 6e 20 2e 20 27 40 ocessExecutor::escape($main...'@
e22c0 27 20 2e 20 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 2e 20 27 2c 27 20 2e 20 24 74 6f 43 68 '...$fromChangeList..','...$toCh
e22e0 61 6e 67 65 4c 69 73 74 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e angeList));.$this->executeComman
e2300 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d d($command);..return.$this->comm
e2320 61 6e 64 52 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 andResult;.}..public.function.ge
e2340 74 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d tFilesystem().{.if.(empty($this-
e2360 3e 66 69 6c 65 73 79 73 74 65 6d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 >filesystem)).{.$this->filesyste
e2380 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 m.=.new.Filesystem($this->proces
e23a0 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 3b s);.}..return.$this->filesystem;
e23c0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 73 79 73 74 65 .}..public.function.setFilesyste
e23e0 6d 28 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 m(Filesystem.$fs).{.$this->files
e2400 79 73 74 65 6d 20 3d 20 24 66 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ystem.=.$fs;.}.}.<?php..........
e2420 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a ..namespace.Composer\Util;......
e2440 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 6d 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 .class.Platform.{.......public.s
e2460 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 50 61 74 68 28 24 70 61 74 68 29 tatic.function.expandPath($path)
e2480 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 7e 5b 5c 5c 2f 5d 23 27 2c 20 24 .{.if.(preg_match('#^~[\\/]#',.$
e24a0 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 path)).{.return.self::getUserDir
e24c0 65 63 74 6f 72 79 28 29 20 2e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 29 3b 0a 7d 0a 0a ectory()...substr($path,.1);.}..
e24e0 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 23 5e return.preg_replace_callback('#^
e2500 28 5c 24 7c 28 3f 50 3c 70 65 72 63 65 6e 74 3e 25 29 29 28 3f 50 3c 76 61 72 3e 5c 77 2b 2b 29 (\$|(?P<percent>%))(?P<var>\w++)
e2520 28 3f 28 70 65 72 63 65 6e 74 29 25 29 28 3f 50 3c 70 61 74 68 3e 2e 2a 29 23 27 2c 20 66 75 6e (?(percent)%)(?P<path>.*)#',.fun
e2540 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 ction.($matches).{...if.(Platfor
e2560 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 6d 61 74 63 68 65 73 5b 27 76 61 72 27 m::isWindows().&&.$matches['var'
e2580 5d 20 3d 3d 20 27 48 4f 4d 45 27 29 20 7b 0a 72 65 74 75 72 6e 20 28 67 65 74 65 6e 76 28 27 48 ].==.'HOME').{.return.(getenv('H
e25a0 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 29 20 OME').?:.getenv('USERPROFILE')).
e25c0 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 61 74 68 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 67 65 ..$matches['path'];.}..return.ge
e25e0 74 65 6e 76 28 24 6d 61 74 63 68 65 73 5b 27 76 61 72 27 5d 29 20 2e 20 24 6d 61 74 63 68 65 73 tenv($matches['var'])...$matches
e2600 5b 27 70 61 74 68 27 5d 3b 0a 7d 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c ['path'];.},.$path);.}......publ
e2620 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 44 69 72 65 63 74 ic.static.function.getUserDirect
e2640 6f 72 79 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 68 6f 6d 65 20 3d 20 67 ory().{.if.(false.!==.($home.=.g
e2660 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a etenv('HOME'))).{.return.$home;.
e2680 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c 73 }..if.(self::isWindows().&&.fals
e26a0 65 20 21 3d 3d 20 28 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 e.!==.($home.=.getenv('USERPROFI
e26c0 4c 45 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 69 66 20 28 66 75 LE'))).{.return.$home;.}..if.(fu
e26e0 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 75 69 64 27 29 20 26 26 nction_exists('posix_getuid').&&
e2700 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 .function_exists('posix_getpwuid
e2720 27 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 28 70 6f 73 ')).{.$info.=.posix_getpwuid(pos
e2740 69 78 5f 67 65 74 75 69 64 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 5b 27 64 69 72 ix_getuid());..return.$info['dir
e2760 27 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 '];.}..throw.new.\RuntimeExcepti
e2780 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 75 73 65 72 20 64 69 72 on('Could.not.determine.user.dir
e27a0 65 63 74 6f 72 79 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ectory');.}.....public.static.fu
e27c0 6e 63 74 69 6f 6e 20 69 73 57 69 6e 64 6f 77 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 64 65 66 69 nction.isWindows().{.return.defi
e27e0 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 ned('PHP_WINDOWS_VERSION_BUILD')
e2800 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}......public.static.function.
e2820 73 74 72 6c 65 6e 28 24 73 74 72 29 0a 7b 0a 73 74 61 74 69 63 20 24 75 73 65 4d 62 53 74 72 69 strlen($str).{.static.$useMbStri
e2840 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 73 65 4d 62 53 74 ng.=.null;.if.(null.===.$useMbSt
e2860 72 69 6e 67 29 20 7b 0a 24 75 73 65 4d 62 53 74 72 69 6e 67 20 3d 20 66 75 6e 63 74 69 6f 6e 5f ring).{.$useMbString.=.function_
e2880 65 78 69 73 74 73 28 27 6d 62 5f 73 74 72 6c 65 6e 27 29 20 26 26 20 69 6e 69 5f 67 65 74 28 27 exists('mb_strlen').&&.ini_get('
e28a0 6d 62 73 74 72 69 6e 67 2e 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 27 29 3b 0a 7d 0a 0a 69 66 20 mbstring.func_overload');.}..if.
e28c0 28 24 75 73 65 4d 62 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 6c 65 ($useMbString).{.return.mb_strle
e28e0 6e 28 24 73 74 72 2c 20 27 38 62 69 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 n($str,.'8bit');.}..return.strle
e2900 6e 28 24 73 74 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 n($str);.}.}.<?php............na
e2920 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 mespace.Composer\Util;..use.Comp
e2940 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 oser\IO\IOInterface;.use.Symfony
e2960 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 75 73 65 20 \Component\Process\Process;.use.
e2980 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 Symfony\Component\Process\Proces
e29a0 73 55 74 69 6c 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f sUtils;.....class.ProcessExecuto
e29c0 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 74 69 6d 65 6f 75 74 20 3d 20 r.{.protected.static.$timeout.=.
e29e0 33 30 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 70 74 75 72 65 4f 75 74 70 75 74 3b 0a 300;..protected.$captureOutput;.
e2a00 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 protected.$errorOutput;.protecte
e2a20 64 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 d.$io;..public.function.__constr
e2a40 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 uct(IOInterface.$io.=.null).{.$t
e2a60 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 his->io.=.$io;.}...........publi
e2a80 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 26 24 6f c.function.execute($command,.&$o
e2aa0 75 74 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 utput.=.null,.$cwd.=.null).{.if.
e2ac0 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 ($this->io.&&.$this->io->isDebug
e2ae0 28 29 29 20 7b 0a 24 73 61 66 65 43 6f 6d 6d 61 6e 64 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ()).{.$safeCommand.=.preg_replac
e2b00 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 3a 2f 5c 73 5d e_callback('{://(?P<user>[^:/\s]
e2b20 2b 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 5b 5e 40 5c 73 2f 5d 2b 29 40 7d 69 27 2c 20 66 +):(?P<password>[^@\s/]+)@}i',.f
e2b40 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b unction.($m).{.if.(preg_match('{
e2b60 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 27 75 73 65 72 27 5d 29 29 20 ^[a-f0-9]{12,}$}',.$m['user'])).
e2b80 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 72 {.return.'://***:***@';.}..retur
e2ba0 6e 20 27 3a 2f 2f 27 2e 24 6d 5b 27 75 73 65 72 27 5d 2e 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 n.'://'.$m['user'].':***@';.},.$
e2bc0 63 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 command);.$this->io->writeError(
e2be0 27 45 78 65 63 75 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 28 27 2e 28 24 63 77 64 20 3f 3a 20 27 'Executing.command.('.($cwd.?:.'
e2c00 43 57 44 27 29 2e 27 29 3a 20 27 2e 24 73 61 66 65 43 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 0a 20 CWD').'):.'.$safeCommand);.}....
e2c20 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 77 64 20 26 26 20 50 6c 61 74 66 6f 72 6d 3a ..if.(null.===.$cwd.&&.Platform:
e2c40 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 :isWindows().&&.false.!==.strpos
e2c60 28 24 63 6f 6d 6d 61 6e 64 2c 20 27 67 69 74 27 29 20 26 26 20 67 65 74 63 77 64 28 29 29 20 7b ($command,.'git').&&.getcwd()).{
e2c80 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 3b 0a 7d 0a 0a 24 .$cwd.=.realpath(getcwd());.}..$
e2ca0 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 20 3d 20 66 75 6e 63 5f 6e 75 6d 5f 61 this->captureOutput.=.func_num_a
e2cc0 72 67 73 28 29 20 3e 20 31 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 rgs().>.1;.$this->errorOutput.=.
e2ce0 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 79 6d 66 null;....if.(method_exists('Symf
e2d00 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 27 2c 20 ony\Component\Process\Process',.
e2d20 27 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a 24 70 72 6f 63 'fromShellCommandline')).{.$proc
e2d40 65 73 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c ess.=.Process::fromShellCommandl
e2d60 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 ine($command,.$cwd,.null,.null,.
e2d80 73 74 61 74 69 63 3a 3a 67 65 74 54 69 6d 65 6f 75 74 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a static::getTimeout());.}.else.{.
e2da0 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 6e 64 2c $process.=.new.Process($command,
e2dc0 20 24 63 77 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 67 65 74 54 69 .$cwd,.null,.null,.static::getTi
e2de0 6d 65 6f 75 74 28 29 29 3b 0a 7d 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 69 73 5f 63 61 6c 6c meout());.}..$callback.=.is_call
e2e00 61 62 6c 65 28 24 6f 75 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 61 72 72 61 79 28 able($output).?.$output.:.array(
e2e20 24 74 68 69 73 2c 20 27 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 27 29 3b 0a 24 70 72 6f 63 65 73 $this,.'outputHandler');.$proces
e2e40 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 s->run($callback);..if.($this->c
e2e60 61 70 74 75 72 65 4f 75 74 70 75 74 20 26 26 20 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 6f 75 aptureOutput.&&.!is_callable($ou
e2e80 74 70 75 74 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 tput)).{.$output.=.$process->get
e2ea0 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 Output();.}..$this->errorOutput.
e2ec0 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 72 =.$process->getErrorOutput();..r
e2ee0 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d eturn.$process->getExitCode();.}
e2f00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 ..public.function.splitLines($ou
e2f20 74 70 75 74 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b tput).{.$output.=.trim($output);
e2f40 0a 0a 72 65 74 75 72 6e 20 28 28 73 74 72 69 6e 67 29 20 24 6f 75 74 70 75 74 20 3d 3d 3d 20 27 ..return.((string).$output.===.'
e2f60 27 29 20 3f 20 61 72 72 61 79 28 29 20 3a 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 72 3f 5c ').?.array().:.preg_split('{\r?\
e2f80 6e 7d 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 n}',.$output);.}.......public.fu
e2fa0 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e nction.getErrorOutput().{.return
e2fc0 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 .$this->errorOutput;.}..public.f
e2fe0 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 28 24 74 79 70 65 2c 20 24 62 75 unction.outputHandler($type,.$bu
e3000 66 66 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 ffer).{.if.($this->captureOutput
e3020 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 ).{.return;.}..if.(null.===.$thi
e3040 73 2d 3e 69 6f 29 20 7b 0a 65 63 68 6f 20 24 62 75 66 66 65 72 3b 0a 0a 72 65 74 75 72 6e 3b 0a s->io).{.echo.$buffer;..return;.
e3060 7d 0a 0a 69 66 20 28 50 72 6f 63 65 73 73 3a 3a 45 52 52 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b }..if.(Process::ERR.===.$type).{
e3080 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 72 2c 20 .$this->io->writeError($buffer,.
e30a0 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 false);.}.else.{.$this->io->writ
e30c0 65 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 e($buffer,.false);.}.}..public.s
e30e0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 tatic.function.getTimeout().{.re
e3100 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 turn.static::$timeout;.}..public
e3120 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d .static.function.setTimeout($tim
e3140 65 6f 75 74 29 0a 7b 0a 73 74 61 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 eout).{.static::$timeout.=.$time
e3160 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e out;.}.........public.static.fun
e3180 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 72 65 74 75 72 6e ction.escape($argument).{.return
e31a0 20 73 65 6c 66 3a 3a 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 .self::escapeArgument($argument)
e31c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 ;.}.........private.static.funct
e31e0 69 6f 6e 20 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a ion.escapeArgument($argument).{.
e3200 0a 20 0a 20 0a 20 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 ........if.('\\'.===.DIRECTORY_S
e3220 45 50 41 52 41 54 4f 52 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 EPARATOR).{.if.(''.===.$argument
e3240 29 20 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 6d ).{.return.escapeshellarg($argum
e3260 65 6e 74 29 3b 0a 7d 0a 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b 0a ent);.}..$escapedArgument.=.'';.
e3280 24 71 75 6f 74 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 $quote.=.false;.foreach.(preg_sp
e32a0 6c 69 74 28 27 2f 28 22 29 2f 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 52 45 47 lit('/(")/',.$argument,.-1,.PREG
e32c0 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f 44 45 4c _SPLIT_NO_EMPTY.|.PREG_SPLIT_DEL
e32e0 49 4d 5f 43 41 50 54 55 52 45 29 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 22 27 20 IM_CAPTURE).as.$part).{.if.('"'.
e3300 3d 3d 3d 20 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d ===.$part).{.$escapedArgument..=
e3320 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 72 6f 75 .'\\"';.}.elseif.(self::isSurrou
e3340 6e 64 65 64 42 79 28 24 70 61 72 74 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 70 65 64 ndedBy($part,.'%')).{...$escaped
e3360 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 Argument..=.'^%"'.substr($part,.
e3380 31 2c 20 2d 31 29 2e 27 22 5e 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 27 5c 5c 1,.-1).'"^%';.}.else.{...if.('\\
e33a0 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 61 72 74 '.===.substr($part,.-1)).{.$part
e33c0 20 2e 3d 20 27 5c 5c 27 3b 0a 7d 0a 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 61 ..=.'\\';.}.$quote.=.true;.$esca
e33e0 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 28 24 71 pedArgument..=.$part;.}.}.if.($q
e3400 75 6f 74 65 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 27 2e 24 uote).{.$escapedArgument.=.'"'.$
e3420 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 escapedArgument.'"';.}..return.$
e3440 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 escapedArgument;.}..return."'".s
e3460 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 75 6d 65 tr_replace("'",."'\\''",.$argume
e3480 6e 74 29 2e 22 27 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 nt)."'";.}..private.static.funct
e34a0 69 6f 6e 20 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 72 29 0a ion.isSurroundedBy($arg,.$char).
e34c0 7b 0a 72 65 74 75 72 6e 20 32 20 3c 20 73 74 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 24 63 68 {.return.2.<.strlen($arg).&&.$ch
e34e0 61 72 20 3d 3d 3d 20 24 61 72 67 5b 30 5d 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 ar.===.$arg[0].&&.$char.===.$arg
e3500 5b 73 74 72 6c 65 6e 28 24 61 72 67 29 20 2d 20 31 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a [strlen($arg).-.1];.}.}.<?php...
e3520 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c .........namespace.Composer\Util
e3540 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
e3560 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 oser\Composer;.use.Composer\Semv
e3580 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f er\Constraint\Constraint;.use.Co
e35a0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 mposer\Package\Version\VersionPa
e35c0 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 rser;.use.Composer\IO\IOInterfac
e35e0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 e;.use.Composer\Downloader\Trans
e3600 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 42 75 portException;.use.Composer\CaBu
e3620 6e 64 6c 65 5c 43 61 42 75 6e 64 6c 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 ndle\CaBundle;.use.Psr\Log\Logge
e3640 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6d 6f 74 65 46 69 rInterface;.......class.RemoteFi
e3660 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 lesystem.{.private.$io;.private.
e3680 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 65 3b 0a 70 72 69 76 61 74 $config;.private.$scheme;.privat
e36a0 65 20 24 62 79 74 65 73 4d 61 78 3b 0a 70 72 69 76 61 74 65 20 24 6f 72 69 67 69 6e 55 72 6c 3b e.$bytesMax;.private.$originUrl;
e36c0 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 55 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 .private.$fileUrl;.private.$file
e36e0 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 74 72 79 3b 0a 70 72 69 76 61 74 65 20 24 70 Name;.private.$retry;.private.$p
e3700 72 6f 67 72 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 50 72 6f 67 72 65 73 73 3b 0a rogress;.private.$lastProgress;.
e3720 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 private.$options.=.array();.priv
e3740 61 74 65 20 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 ate.$peerCertificateMap.=.array(
e3760 29 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a );.private.$disableTls.=.false;.
e3780 70 72 69 76 61 74 65 20 24 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 3b 0a 70 72 69 76 61 private.$retryAuthFailure;.priva
e37a0 74 65 20 24 6c 61 73 74 48 65 61 64 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 6f 72 65 41 te.$lastHeaders;.private.$storeA
e37c0 75 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 66 61 6c uth;.private.$degradedMode.=.fal
e37e0 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 69 72 65 63 74 73 3b 0a 70 72 69 76 61 74 65 20 se;.private.$redirects;.private.
e3800 24 6d 61 78 52 65 64 69 72 65 63 74 73 20 3d 20 32 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 $maxRedirects.=.20;..........pub
e3820 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 lic.function.__construct(IOInter
e3840 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c face.$io,.Config.$config.=.null,
e3860 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 64 69 73 61 .array.$options.=.array(),.$disa
e3880 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 bleTls.=.false).{.$this->io.=.$i
e38a0 6f 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 o;......if.($disableTls.===.fals
e38c0 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 e).{.$this->options.=.$this->get
e38e0 54 6c 73 44 65 66 61 75 6c 74 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a TlsDefaults($options);.}.else.{.
e3900 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 $this->disableTls.=.true;.}....$
e3920 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 this->options.=.array_replace_re
e3940 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 cursive($this->options,.$options
e3960 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a );.$this->config.=.$config;.}...
e3980 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 28 24 ..........public.function.copy($
e39a0 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 originUrl,.$fileUrl,.$fileName,.
e39c0 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 $progress.=.true,.$options.=.arr
e39e0 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6f 72 69 67 69 ay()).{.return.$this->get($origi
e3a00 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 24 66 69 6c 65 4e nUrl,.$fileUrl,.$options,.$fileN
e3a20 61 6d 65 2c 20 24 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ame,.$progress);.}............pu
e3a40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 blic.function.getContents($origi
e3a60 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 nUrl,.$fileUrl,.$progress.=.true
e3a80 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ,.$options.=.array()).{.return.$
e3aa0 74 68 69 73 2d 3e 67 65 74 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 this->get($originUrl,.$fileUrl,.
e3ac0 24 6f 70 74 69 6f 6e 73 2c 20 6e 75 6c 6c 2c 20 24 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 0a $options,.null,.$progress);.}...
e3ae0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 ....public.function.getOptions()
e3b00 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a .{.return.$this->options;.}.....
e3b20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 ..public.function.setOptions(arr
e3b40 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 ay.$options).{.$this->options.=.
e3b60 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f array_replace_recursive($this->o
e3b80 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ptions,.$options);.}.......publi
e3ba0 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 6c 73 44 69 73 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 c.function.isTlsDisabled().{.ret
e3bc0 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 74 72 75 65 3b 0a urn.$this->disableTls.===.true;.
e3be0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 73 74 48 }.......public.function.getLastH
e3c00 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 61 73 74 48 65 61 eaders().{.return.$this->lastHea
e3c20 64 65 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 ders;.}.......public.function.fi
e3c40 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c 20 24 6e ndHeaderValue(array.$headers,.$n
e3c60 61 6d 65 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 ame).{.$value.=.null;.foreach.($
e3c80 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d headers.as.$header).{.if.(preg_m
e3ca0 61 74 63 68 28 27 7b 5e 27 2e 24 6e 61 6d 65 2e 27 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 atch('{^'.$name.':\s*(.+?)\s*$}i
e3cc0 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 ',.$header,.$match)).{.$value.=.
e3ce0 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 $match[1];.}.elseif.(preg_match(
e3d00 27 7b 5e 48 54 54 50 2f 7d 69 27 2c 20 24 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 24 76 61 '{^HTTP/}i',.$header)).{.....$va
e3d20 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a lue.=.null;.}.}..return.$value;.
e3d40 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 74 61 74 75 }......public.function.findStatu
e3d60 73 43 6f 64 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 76 61 6c 75 65 20 3d sCode(array.$headers).{.$value.=
e3d80 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 .null;.foreach.($headers.as.$hea
e3da0 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 5c 53 der).{.if.(preg_match('{^HTTP/\S
e3dc0 2b 20 28 5c 64 2b 29 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a +.(\d+)}i',.$header,.$match)).{.
e3de0 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a ....$value.=.(int).$match[1];.}.
e3e00 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 }..return.$value;.}......public.
e3e20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 74 61 74 75 73 4d 65 73 73 61 67 65 28 61 72 72 61 79 function.findStatusMessage(array
e3e40 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 .$headers).{.$value.=.null;.fore
e3e60 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 ach.($headers.as.$header).{.if.(
e3e80 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 5c 53 2b 20 5c 64 2b 7d 69 27 2c 20 24 preg_match('{^HTTP/\S+.\d+}i',.$
e3ea0 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 24 68 65 61 64 65 72 3b header)).{.....$value.=.$header;
e3ec0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .}.}..return.$value;.}..........
e3ee0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6f 72 ......protected.function.get($or
e3f00 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 iginUrl,.$fileUrl,.$additionalOp
e3f20 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 66 69 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c tions.=.array(),.$fileName.=.nul
e3f40 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 73 74 72 70 6f l,.$progress.=.true).{.if.(strpo
e3f60 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 3d 3d 3d s($originUrl,.'.github.com').===
e3f80 20 28 73 74 72 6c 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 20 2d 20 31 31 29 29 20 7b 0a 24 6f .(strlen($originUrl).-.11)).{.$o
e3fa0 72 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 0a 0a 20 0a 20 riginUrl.=.'github.com';.}......
e3fc0 69 66 20 28 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 0a 26 26 20 69 73 5f 61 72 72 61 79 28 24 if.(.$this->config.&&.is_array($
e3fe0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e this->config->get('gitlab-domain
e4000 73 27 29 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 72 69 67 69 6e s')).&&.false.===.strpos($origin
e4020 55 72 6c 2c 20 27 2f 27 29 0a 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 Url,.'/').&&.!in_array($originUr
e4040 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f l,.$this->config->get('gitlab-do
e4060 6d 61 69 6e 73 27 29 29 0a 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e mains')).).{.foreach.($this->con
e4080 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 20 61 73 20 24 67 fig->get('gitlab-domains').as.$g
e40a0 69 74 6c 61 62 44 6f 6d 61 69 6e 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 itlabDomain).{.if.(0.===.strpos(
e40c0 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 6f $gitlabDomain,.$originUrl)).{.$o
e40e0 72 69 67 69 6e 55 72 6c 20 3d 20 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 3b 0a 62 72 65 61 6b 3b riginUrl.=.$gitlabDomain;.break;
e4100 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 29 3b 0a 7d 0a 0a 24 74 .}.}.unset($gitlabDomain);.}..$t
e4120 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 55 72 6c his->scheme.=.parse_url($fileUrl
e4140 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 24 74 68 69 73 2d 3e 62 79 74 65 73 4d ,.PHP_URL_SCHEME);.$this->bytesM
e4160 61 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 6f 72 69 67 ax.=.0;.$this->originUrl.=.$orig
e4180 69 6e 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 3d 20 24 66 69 6c 65 55 72 6c inUrl;.$this->fileUrl.=.$fileUrl
e41a0 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 20 3d 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 24 ;.$this->fileName.=.$fileName;.$
e41c0 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 65 73 73 3b 0a 24 74 68 69 this->progress.=.$progress;.$thi
e41e0 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 72 s->lastProgress.=.null;.$this->r
e4200 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 6c etryAuthFailure.=.true;.$this->l
e4220 61 73 74 48 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 64 astHeaders.=.array();.$this->red
e4240 69 72 65 63 74 73 20 3d 20 31 3b 20 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 irects.=.1;.....if.(preg_match('
e4260 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 5b 5e 3a 2f 5d 2b 29 3a 28 5b 5e 40 2f 5d 2b 29 40 28 5b 5e {^https?://([^:/]+):([^@/]+)@([^
e4280 2f 5d 2b 29 7d 69 27 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 /]+)}i',.$fileUrl,.$match)).{.$t
e42a0 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 his->io->setAuthentication($orig
e42c0 69 6e 55 72 6c 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 31 5d 29 2c 20 inUrl,.rawurldecode($match[1]),.
e42e0 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 32 5d 29 29 3b 0a 7d 0a 0a 24 74 65 rawurldecode($match[2]));.}..$te
e4300 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 20 3d 20 24 61 64 64 69 74 69 6f 6e 61 mpAdditionalOptions.=.$additiona
e4320 6c 4f 70 74 69 6f 6e 73 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f lOptions;.if.(isset($tempAdditio
e4340 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 5d nalOptions['retry-auth-failure']
e4360 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 20 3d 20 28 )).{.$this->retryAuthFailure.=.(
e4380 62 6f 6f 6c 29 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 bool).$tempAdditionalOptions['re
e43a0 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 5d 3b 0a 0a 75 6e 73 65 74 28 24 74 65 6d 70 try-auth-failure'];..unset($temp
e43c0 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 AdditionalOptions['retry-auth-fa
e43e0 69 6c 75 72 65 27 5d 29 3b 0a 7d 0a 0a 24 69 73 52 65 64 69 72 65 63 74 20 3d 20 66 61 6c 73 65 ilure']);.}..$isRedirect.=.false
e4400 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f ;.if.(isset($tempAdditionalOptio
e4420 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 64 69 72 ns['redirects'])).{.$this->redir
e4440 65 63 74 73 20 3d 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 ects.=.$tempAdditionalOptions['r
e4460 65 64 69 72 65 63 74 73 27 5d 3b 0a 24 69 73 52 65 64 69 72 65 63 74 20 3d 20 74 72 75 65 3b 0a edirects'];.$isRedirect.=.true;.
e4480 0a 75 6e 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 .unset($tempAdditionalOptions['r
e44a0 65 64 69 72 65 63 74 73 27 5d 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 edirects']);.}..$options.=.$this
e44c0 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 46 6f 72 55 72 6c 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 ->getOptionsForUrl($originUrl,.$
e44e0 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 75 6e 73 65 74 28 24 74 tempAdditionalOptions);.unset($t
e4500 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 0a 24 6f 72 69 67 46 69 6c empAdditionalOptions);..$origFil
e4520 65 55 72 6c 20 3d 20 24 66 69 6c 65 55 72 6c 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 eUrl.=.$fileUrl;..if.(isset($opt
e4540 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 0a 20 69 66 20 28 70 ions['github-token'])).{...if.(p
e4560 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 5b 61 2d 7a 30 2d 39 2d 5d reg_match('{^https?://([a-z0-9-]
e4580 2b 5c 2e 29 2a 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 7d 27 2c 20 24 66 69 6c 65 55 72 6c 29 29 20 +\.)*github\.com/}',.$fileUrl)).
e45a0 7b 0a 24 66 69 6c 65 55 72 6c 20 2e 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 {.$fileUrl..=.(false.===.strpos(
e45c0 24 66 69 6c 65 55 72 6c 2c 20 27 3f 27 29 20 3f 20 27 3f 27 20 3a 20 27 26 27 29 20 2e 20 27 61 $fileUrl,.'?').?.'?'.:.'&')...'a
e45e0 63 63 65 73 73 5f 74 6f 6b 65 6e 3d 27 2e 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 ccess_token='.$options['github-t
e4600 6f 6b 65 6e 27 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 oken'];.}.unset($options['github
e4620 2d 74 6f 6b 65 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 -token']);.}..if.(isset($options
e4640 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 24 66 69 6c 65 55 72 6c 20 2e 3d ['gitlab-token'])).{.$fileUrl..=
e4660 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 3f 27 .(false.===.strpos($fileUrl,.'?'
e4680 29 20 3f 20 27 3f 27 20 3a 20 27 26 27 29 20 2e 20 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 3d 27 ).?.'?'.:.'&')...'access_token='
e46a0 2e 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 3b 0a 75 6e 73 65 74 .$options['gitlab-token'];.unset
e46c0 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 29 3b 0a 7d 0a 0a 69 ($options['gitlab-token']);.}..i
e46e0 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 29 29 20 7b 0a 24 6f f.(isset($options['http'])).{.$o
e4700 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 69 67 6e 6f 72 65 5f 65 72 72 6f 72 73 27 5d 20 ptions['http']['ignore_errors'].
e4720 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f =.true;.}..if.($this->degradedMo
e4740 64 65 20 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 30 2c 20 32 36 29 20 3d 3d de.&&.substr($fileUrl,.0,.26).==
e4760 3d 20 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 27 29 20 =.'http://repo.packagist.org/').
e4780 7b 0a 0a 20 24 66 69 6c 65 55 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2e 20 67 65 74 68 6f {...$fileUrl.=.'http://'...getho
e47a0 73 74 62 79 6e 61 6d 65 28 27 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 29 20 2e stbyname('repo.packagist.org')..
e47c0 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 32 30 29 3b 0a 24 64 65 67 72 61 64 65 64 .substr($fileUrl,.20);.$degraded
e47e0 50 61 63 6b 61 67 69 73 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 63 74 78 20 3d 20 53 74 72 65 Packagist.=.true;.}..$ctx.=.Stre
e4800 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 66 69 amContextFactory::getContext($fi
e4820 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 6e 6f 74 69 66 69 63 61 leUrl,.$options,.array('notifica
e4840 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 61 6c 6c 62 61 63 6b 47 tion'.=>.array($this,.'callbackG
e4860 65 74 27 29 29 29 3b 0a 0a 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 20 3d et')));..$actualContextOptions.=
e4880 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 6f 70 74 69 6f 6e 73 28 24 63 74 78 .stream_context_get_options($ctx
e48a0 29 3b 0a 24 75 73 69 6e 67 50 72 6f 78 79 20 3d 20 21 65 6d 70 74 79 28 24 61 63 74 75 61 6c 43 );.$usingProxy.=.!empty($actualC
e48c0 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 29 20 ontextOptions['http']['proxy']).
e48e0 3f 20 27 20 75 73 69 6e 67 20 70 72 6f 78 79 20 27 20 2e 20 24 61 63 74 75 61 6c 43 6f 6e 74 65 ?.'.using.proxy.'...$actualConte
e4900 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 20 3a 20 27 27 3b xtOptions['http']['proxy'].:.'';
e4920 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 28 73 75 62 73 74 72 28 24 .$this->io->writeError((substr($
e4940 6f 72 69 67 46 69 6c 65 55 72 6c 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 68 74 74 70 27 20 3f 20 origFileUrl,.0,.4).===.'http'.?.
e4960 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 27 20 3a 20 27 52 65 61 64 69 6e 67 20 27 29 20 2e 20 24 'Downloading.'.:.'Reading.')...$
e4980 6f 72 69 67 46 69 6c 65 55 72 6c 20 2e 20 24 75 73 69 6e 67 50 72 6f 78 79 2c 20 74 72 75 65 2c origFileUrl...$usingProxy,.true,
e49a0 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 75 6e 73 65 74 28 24 6f 72 69 .IOInterface::DEBUG);.unset($ori
e49c0 67 46 69 6c 65 55 72 6c 2c 20 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 29 gFileUrl,.$actualContextOptions)
e49e0 3b 0a 0a 0a 20 69 66 20 28 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 3a 2f 2f ;....if.((!preg_match('{^http://
e4a00 28 72 65 70 6f 5c 2e 29 3f 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 2f 70 2f 7d 27 2c 20 24 66 (repo\.)?packagist\.org/p/}',.$f
e4a20 69 6c 65 55 72 6c 29 20 7c 7c 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 ileUrl).||.(false.===.strpos($fi
e4a40 6c 65 55 72 6c 2c 20 27 24 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 leUrl,.'$').&&.false.===.strpos(
e4a60 24 66 69 6c 65 55 72 6c 2c 20 27 25 32 34 27 29 29 29 20 26 26 20 65 6d 70 74 79 28 24 64 65 67 $fileUrl,.'%24'))).&&.empty($deg
e4a80 72 61 64 65 64 50 61 63 6b 61 67 69 73 74 29 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 radedPackagist).&&.$this->config
e4aa0 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 ).{.$this->config->prohibitUrlBy
e4ac0 43 6f 6e 66 69 67 28 24 66 69 6c 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a Config($fileUrl,.$this->io);.}..
e4ae0 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 69 73 52 65 64 69 72 if.($this->progress.&&.!$isRedir
e4b00 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f ect).{.$this->io->writeError("Do
e4b20 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 63 6f 6e 6e 65 63 74 69 6e 67 2e 2e wnloading.(<comment>connecting..
e4b40 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 .</comment>)",.false);.}..$error
e4b60 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 24 65 72 72 6f 72 43 6f 64 65 20 3d 20 30 3b 0a 24 72 Message.=.'';.$errorCode.=.0;.$r
e4b80 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 esult.=.false;.set_error_handler
e4ba0 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 64 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 (function.($code,.$msg).use.(&$e
e4bc0 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 rrorMessage).{.if.($errorMessage
e4be0 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a 24 65 72 ).{.$errorMessage..=."\n";.}.$er
e4c00 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 66 69 rorMessage..=.preg_replace('{^fi
e4c20 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 2e 2a 3f 5c 29 3a 20 7d 27 2c 20 27 27 2c 20 le_get_contents\(.*?\):.}',.'',.
e4c40 24 6d 73 67 29 3b 0a 7d 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 $msg);.});.try.{.$result.=.$this
e4c60 2d 3e 67 65 74 52 65 6d 6f 74 65 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 ->getRemoteContents($originUrl,.
e4c80 24 66 69 6c 65 55 72 6c 2c 20 24 63 74 78 2c 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 $fileUrl,.$ctx,.$http_response_h
e4ca0 65 61 64 65 72 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e eader);..if.(!empty($http_respon
e4cc0 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 se_header[0])).{.$statusCode.=.$
e4ce0 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f this->findStatusCode($http_respo
e4d00 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 nse_header);.if.($statusCode.>=.
e4d20 34 30 30 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 400.&&.$this->findHeaderValue($h
e4d40 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 ttp_response_header,.'content-ty
e4d60 70 65 27 29 20 3d 3d 3d 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 20 7b 0a 73 pe').===.'application/json').{.s
e4d80 65 6c 66 3a 3a 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 elf::outputWarnings($this->io,.$
e4da0 6f 72 69 67 69 6e 55 72 6c 2c 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 2c 20 originUrl,.json_decode($result,.
e4dc0 74 72 75 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 73 74 61 74 75 73 43 true));.}..if.(in_array($statusC
e4de0 6f 64 65 2c 20 61 72 72 61 79 28 34 30 31 2c 20 34 30 33 29 29 20 26 26 20 24 74 68 69 73 2d 3e ode,.array(401,.403)).&&.$this->
e4e00 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 retryAuthFailure).{.$this->promp
e4e20 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 24 73 74 61 74 75 73 43 6f 64 65 2c 20 24 74 68 69 73 tAuthAndRetry($statusCode,.$this
e4e40 2d 3e 66 69 6e 64 53 74 61 74 75 73 4d 65 73 73 61 67 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e ->findStatusMessage($http_respon
e4e60 73 65 5f 68 65 61 64 65 72 29 2c 20 6e 75 6c 6c 2c 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 se_header),.null,.$http_response
e4e80 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 3d 20 _header);.}.}..$contentLength.=.
e4ea0 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 !empty($http_response_header[0])
e4ec0 20 3f 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f .?.$this->findHeaderValue($http_
e4ee0 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 response_header,.'content-length
e4f00 27 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 26 26 ').:.null;.if.($contentLength.&&
e4f20 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c 74 29 20 3c 20 24 63 6f .Platform::strlen($result).<.$co
e4f40 6e 74 65 6e 74 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 ntentLength).{...$e.=.new.Transp
e4f60 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 20 6d 69 73 ortException('Content-Length.mis
e4f80 6d 61 74 63 68 2c 20 72 65 63 65 69 76 65 64 20 27 2e 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c match,.received.'.Platform::strl
e4fa0 65 6e 28 24 72 65 73 75 6c 74 29 2e 27 20 62 79 74 65 73 20 6f 75 74 20 6f 66 20 74 68 65 20 65 en($result).'.bytes.out.of.the.e
e4fc0 78 70 65 63 74 65 64 20 27 2e 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 24 65 2d 3e 73 xpected.'.$contentLength);.$e->s
e4fe0 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 etHeaders($http_response_header)
e5000 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 74 68 69 73 2d 3e 66 69 6e 64 53 ;.$e->setStatusCode($this->findS
e5020 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 tatusCode($http_response_header)
e5040 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 24 74 68 );.$e->setResponse($result);.$th
e5060 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 is->io->writeError('Content-Leng
e5080 74 68 20 6d 69 73 6d 61 74 63 68 2c 20 72 65 63 65 69 76 65 64 20 27 2e 50 6c 61 74 66 6f 72 6d th.mismatch,.received.'.Platform
e50a0 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c 74 29 2e 27 20 6f 75 74 20 6f 66 20 27 2e 24 63 6f ::strlen($result).'.out.of.'.$co
e50c0 6e 74 65 6e 74 4c 65 6e 67 74 68 2e 27 20 62 79 74 65 73 3a 20 28 27 20 2e 20 62 61 73 65 36 34 ntentLength.'.bytes:.('...base64
e50e0 5f 65 6e 63 6f 64 65 28 24 72 65 73 75 6c 74 29 2e 27 29 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e _encode($result).')',.true,.IOIn
e5100 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 terface::DEBUG);..throw.$e;.}..i
e5120 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 21 65 6d f.(PHP_VERSION_ID.<.50600.&&.!em
e5140 70 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 72 pty($options['ssl']['peer_finger
e5160 70 72 69 6e 74 27 5d 29 29 20 7b 0a 0a 20 24 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f 63 print'])).{...$params.=.stream_c
e5180 6f 6e 74 65 78 74 5f 67 65 74 5f 70 61 72 61 6d 73 28 24 63 74 78 29 3b 0a 24 65 78 70 65 63 74 ontext_get_params($ctx);.$expect
e51a0 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 73 73 edPeerFingerprint.=.$options['ss
e51c0 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 72 70 72 69 6e 74 27 5d 3b 0a 24 70 65 65 72 46 69 l']['peer_fingerprint'];.$peerFi
e51e0 6e 67 65 72 70 72 69 6e 74 20 3d 20 54 6c 73 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 66 ngerprint.=.TlsHelper::getCertif
e5200 69 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e icateFingerprint($params['option
e5220 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 29 3b s']['ssl']['peer_certificate']);
e5240 0a 0a 0a 20 69 66 20 28 24 65 78 70 65 63 74 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 ....if.($expectedPeerFingerprint
e5260 20 21 3d 3d 20 24 70 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e .!==.$peerFingerprint).{.throw.n
e5280 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 50 65 65 72 20 66 69 6e 67 ew.TransportException('Peer.fing
e52a0 65 72 70 72 69 6e 74 20 64 69 64 20 6e 6f 74 20 6d 61 74 63 68 27 29 3b 0a 7d 0a 7d 0a 7d 20 63 erprint.did.not.match');.}.}.}.c
e52c0 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e atch.(\Exception.$e).{.if.($e.in
e52e0 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 21 stanceof.TransportException.&&.!
e5300 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 empty($http_response_header[0]))
e5320 20 7b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 .{.$e->setHeaders($http_response
e5340 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 74 68 69 _header);.$e->setStatusCode($thi
e5360 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 s->findStatusCode($http_response
e5380 5f 68 65 61 64 65 72 29 29 3b 0a 7d 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 _header));.}.if.($e.instanceof.T
e53a0 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 72 65 73 75 6c 74 20 21 3d 3d ransportException.&&.$result.!==
e53c0 20 66 61 6c 73 65 29 20 7b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c .false).{.$e->setResponse($resul
e53e0 74 29 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 72 t);.}.$result.=.false;.}.if.($er
e5400 72 6f 72 4d 65 73 73 61 67 65 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 rorMessage.&&.!filter_var(ini_ge
e5420 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c t('allow_url_fopen'),.FILTER_VAL
e5440 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 IDATE_BOOLEAN)).{.$errorMessage.
e5460 3d 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c =.'allow_url_fopen.must.be.enabl
e5480 65 64 20 69 6e 20 70 68 70 2e 69 6e 69 20 28 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2e 27 ed.in.php.ini.('.$errorMessage.'
e54a0 29 27 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 )';.}.restore_error_handler();.i
e54c0 66 20 28 69 73 73 65 74 28 24 65 29 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b f.(isset($e).&&.!$this->retry).{
e54e0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 66 61 6c .if.(!$this->degradedMode.&&.fal
e5500 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 se.!==.strpos($e->getMessage(),.
e5520 27 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d 65 64 20 6f 75 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 'Operation.timed.out')).{.$this-
e5540 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d >degradedMode.=.true;.$this->io-
e5560 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 >writeError('');.$this->io->writ
e5580 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 3c 65 72 72 6f 72 3e 27 2e 24 65 2d 3e 67 65 74 4d eError(array(.'<error>'.$e->getM
e55a0 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 essage().'</error>',.'<error>Ret
e55c0 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 rying.with.degraded.mode,.check.
e55e0 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 https://getcomposer.org/doc/arti
e5600 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 cles/troubleshooting.md#degraded
e5620 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 -mode.for.more.info</error>',.))
e5640 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 ;..return.$this->get($this->orig
e5660 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e inUrl,.$this->fileUrl,.$addition
e5680 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 alOptions,.$this->fileName,.$thi
e56a0 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 73 s->progress);.}..throw.$e;.}..$s
e56c0 74 61 74 75 73 43 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d tatusCode.=.null;.$contentType.=
e56e0 20 6e 75 6c 6c 3b 0a 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 .null;.$locationHeader.=.null;.i
e5700 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b f.(!empty($http_response_header[
e5720 30 5d 29 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 0])).{.$statusCode.=.$this->find
e5740 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 StatusCode($http_response_header
e5760 29 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 );.$contentType.=.$this->findHea
e5780 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 derValue($http_response_header,.
e57a0 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 3b 0a 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 'content-type');.$locationHeader
e57c0 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f .=.$this->findHeaderValue($http_
e57e0 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 6c 6f 63 61 74 69 6f 6e 27 29 3b 0a 7d 0a response_header,.'location');.}.
e5800 0a 0a 20 69 66 20 28 24 6f 72 69 67 69 6e 55 72 6c 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 ...if.($originUrl.===.'bitbucket
e5820 2e 6f 72 67 27 0a 26 26 20 21 24 74 68 69 73 2d 3e 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b .org'.&&.!$this->isPublicBitBuck
e5840 65 74 44 6f 77 6e 6c 6f 61 64 28 24 66 69 6c 65 55 72 6c 29 0a 26 26 20 73 75 62 73 74 72 28 24 etDownload($fileUrl).&&.substr($
e5860 66 69 6c 65 55 72 6c 2c 20 2d 34 29 20 3d 3d 3d 20 27 2e 7a 69 70 27 0a 26 26 20 28 21 24 6c 6f fileUrl,.-4).===.'.zip'.&&.(!$lo
e5880 63 61 74 69 6f 6e 48 65 61 64 65 72 20 7c 7c 20 73 75 62 73 74 72 28 24 6c 6f 63 61 74 69 6f 6e cationHeader.||.substr($location
e58a0 48 65 61 64 65 72 2c 20 2d 34 29 20 21 3d 3d 20 27 2e 7a 69 70 27 29 0a 26 26 20 24 63 6f 6e 74 Header,.-4).!==.'.zip').&&.$cont
e58c0 65 6e 74 54 79 70 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 74 65 78 74 2f 68 74 entType.&&.preg_match('{^text/ht
e58e0 6d 6c 5c 62 7d 69 27 2c 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 29 0a 29 20 7b 0a 24 72 65 73 75 ml\b}i',.$contentType).).{.$resu
e5900 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 lt.=.false;.if.($this->retryAuth
e5920 46 61 69 6c 75 72 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 Failure).{.$this->promptAuthAndR
e5940 65 74 72 79 28 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 etry(401);.}.}....if.($statusCod
e5960 65 20 3d 3d 3d 20 34 30 34 0a 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e e.===.404.&&.$this->config.&&.in
e5980 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 _array($originUrl,.$this->config
e59a0 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 0a 26 ->get('gitlab-domains'),.true).&
e59c0 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 61 72 &.false.!==.strpos($fileUrl,.'ar
e59e0 63 68 69 76 65 2e 7a 69 70 27 29 0a 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b chive.zip').).{.$result.=.false;
e5a00 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a .if.($this->retryAuthFailure).{.
e5a20 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 34 30 31 29 3b 0a $this->promptAuthAndRetry(401);.
e5a40 7d 0a 7d 0a 0a 0a 20 24 68 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 63 74 20 3d 20 66 61 }.}....$hasFollowedRedirect.=.fa
e5a60 6c 73 65 3b 0a 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 33 30 30 20 26 26 20 24 lse;.if.($statusCode.>=.300.&&.$
e5a80 73 74 61 74 75 73 43 6f 64 65 20 3c 3d 20 33 39 39 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 statusCode.<=.399.&&.$statusCode
e5aa0 20 21 3d 3d 20 33 30 34 20 26 26 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 20 3c 20 24 .!==.304.&&.$this->redirects.<.$
e5ac0 74 68 69 73 2d 3e 6d 61 78 52 65 64 69 72 65 63 74 73 29 20 7b 0a 24 68 61 73 46 6f 6c 6c 6f 77 this->maxRedirects).{.$hasFollow
e5ae0 65 64 52 65 64 69 72 65 63 74 20 3d 20 74 72 75 65 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 edRedirect.=.true;.$result.=.$th
e5b00 69 73 2d 3e 68 61 6e 64 6c 65 52 65 64 69 72 65 63 74 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 is->handleRedirect($http_respons
e5b20 65 5f 68 65 61 64 65 72 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 72 e_header,.$additionalOptions,.$r
e5b40 65 73 75 6c 74 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 26 26 20 esult);.}....if.($statusCode.&&.
e5b60 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 34 30 30 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 $statusCode.>=.400.&&.$statusCod
e5b80 65 20 3c 3d 20 35 39 39 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b e.<=.599).{.if.(!$this->retry).{
e5ba0 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 74 68 69 73 2d 3e .if.($this->progress.&&.!$this->
e5bc0 72 65 74 72 79 20 26 26 20 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e retry.&&.!$isRedirect).{.$this->
e5be0 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 io->overwriteError("Downloading.
e5c00 28 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 29 22 2c 20 66 61 6c 73 65 29 (<error>failed</error>)",.false)
e5c20 3b 0a 7d 0a 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e ;.}..$e.=.new.TransportException
e5c40 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 20 ('The."'.$this->fileUrl.'".file.
e5c60 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 28 27 2e 24 68 74 74 70 could.not.be.downloaded.('.$http
e5c80 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 2e 27 29 27 2c 20 24 73 74 61 74 75 73 _response_header[0].')',.$status
e5ca0 43 6f 64 65 29 3b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 Code);.$e->setHeaders($http_resp
e5cc0 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 onse_header);.$e->setResponse($r
e5ce0 65 73 75 6c 74 29 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 esult);.$e->setStatusCode($statu
e5d00 73 43 6f 64 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 sCode);.throw.$e;.}.$result.=.fa
e5d20 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 lse;.}..if.($this->progress.&&.!
e5d40 24 74 68 69 73 2d 3e 72 65 74 72 79 20 26 26 20 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a $this->retry.&&.!$isRedirect).{.
e5d60 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c $this->io->overwriteError("Downl
e5d80 6f 61 64 69 6e 67 20 28 22 2e 28 24 72 65 73 75 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 oading.(".($result.===.false.?.'
e5da0 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 27 20 3a 20 27 3c 63 6f 6d 6d 65 <error>failed</error>'.:.'<comme
e5dc0 6e 74 3e 31 30 30 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 2e 22 29 22 2c 20 66 61 6c 73 65 29 3b nt>100%</comment>').")",.false);
e5de0 0a 7d 0a 0a 0a 20 69 66 20 28 24 72 65 73 75 6c 74 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c .}....if.($result.&&.extension_l
e5e00 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 20 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c oaded('zlib').&&.substr($fileUrl
e5e20 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 68 74 74 70 27 20 26 26 20 21 24 68 61 73 46 6f 6c 6c 6f ,.0,.4).===.'http'.&&.!$hasFollo
e5e40 77 65 64 52 65 64 69 72 65 63 74 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 wedRedirect).{.$contentEncoding.
e5e60 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 =.$this->findHeaderValue($http_r
e5e80 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 65 6e 63 6f 64 69 6e esponse_header,.'content-encodin
e5ea0 67 27 29 3b 0a 24 64 65 63 6f 64 65 20 3d 20 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 g');.$decode.=.$contentEncoding.
e5ec0 26 26 20 27 67 7a 69 70 27 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 74 65 6e &&.'gzip'.===.strtolower($conten
e5ee0 74 45 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 24 64 65 63 6f 64 65 29 20 7b 0a 74 72 79 20 tEncoding);..if.($decode).{.try.
e5f00 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 29 20 7b {.if.(PHP_VERSION_ID.>=.50400).{
e5f20 0a 24 72 65 73 75 6c 74 20 3d 20 7a 6c 69 62 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 29 3b .$result.=.zlib_decode($result);
e5f40 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 .}.else.{...$result.=.file_get_c
e5f60 6f 6e 74 65 6e 74 73 28 27 63 6f 6d 70 72 65 73 73 2e 7a 6c 69 62 3a 2f 2f 64 61 74 61 3a 61 70 ontents('compress.zlib://data:ap
e5f80 70 6c 69 63 61 74 69 6f 6e 2f 6f 63 74 65 74 2d 73 74 72 65 61 6d 3b 62 61 73 65 36 34 2c 27 2e plication/octet-stream;base64,'.
e5fa0 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 69 66 20 28 base64_encode($result));.}..if.(
e5fc0 21 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 !$result).{.throw.new.TransportE
e5fe0 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 64 65 63 6f 64 65 20 7a 6c 69 62 20 xception('Failed.to.decode.zlib.
e6000 73 74 72 65 61 6d 27 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 stream');.}.}.catch.(\Exception.
e6020 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b $e).{.if.($this->degradedMode).{
e6040 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 .throw.$e;.}..$this->degradedMod
e6060 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 e.=.true;.$this->io->writeError(
e6080 61 72 72 61 79 28 0a 27 27 2c 0a 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 64 65 63 array(.'',.'<error>Failed.to.dec
e60a0 6f 64 65 20 72 65 73 70 6f 6e 73 65 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 ode.response:.'.$e->getMessage()
e60c0 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 .'</error>',.'<error>Retrying.wi
e60e0 74 68 20 64 65 67 72 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f th.degraded.mode,.check.https://
e6100 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f getcomposer.org/doc/articles/tro
e6120 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f ubleshooting.md#degraded-mode.fo
e6140 72 20 6d 6f 72 65 20 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 r.more.info</error>',.));..retur
e6160 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 n.$this->get($this->originUrl,.$
e6180 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e this->fileUrl,.$additionalOption
e61a0 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 s,.$this->fileName,.$this->progr
e61c0 65 73 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 72 65 ess);.}.}.}....if.(false.!==.$re
e61e0 73 75 6c 74 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 66 69 6c 65 4e 61 6d 65 20 26 26 20 21 24 sult.&&.null.!==.$fileName.&&.!$
e6200 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 72 65 73 75 6c 74 isRedirect).{.if.(''.===.$result
e6220 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e ).{.throw.new.TransportException
e6240 28 27 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 61 70 70 65 61 72 73 20 62 ('"'.$this->fileUrl.'".appears.b
e6260 72 6f 6b 65 6e 2c 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 6d 70 74 79 20 32 30 30 roken,.and.returned.an.empty.200
e6280 20 72 65 73 70 6f 6e 73 65 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 .response');.}..$errorMessage.=.
e62a0 27 27 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 '';.set_error_handler(function.(
e62c0 24 63 6f 64 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 $code,.$msg).use.(&$errorMessage
e62e0 29 20 7b 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d ).{.if.($errorMessage).{.$errorM
e6300 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 essage..=."\n";.}.$errorMessage.
e6320 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 .=.preg_replace('{^file_put_cont
e6340 65 6e 74 73 5c 28 2e 2a 3f 5c 29 3a 20 7d 27 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 7d 29 3b 0a ents\(.*?\):.}',.'',.$msg);.});.
e6360 24 72 65 73 75 6c 74 20 3d 20 28 62 6f 6f 6c 29 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e $result.=.(bool).file_put_conten
e6380 74 73 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 72 65 73 75 6c 74 29 3b 0a 72 65 73 74 6f 72 65 5f ts($fileName,.$result);.restore_
e63a0 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 error_handler();.if.(false.===.$
e63c0 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 result).{.throw.new.TransportExc
e63e0 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 eption('The."'.$this->fileUrl.'"
e6400 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 27 2e .file.could.not.be.written.to.'.
e6420 24 66 69 6c 65 4e 61 6d 65 2e 27 3a 20 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d $fileName.':.'.$errorMessage);.}
e6440 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 66 .}....if.(false.===.$result.&&.f
e6460 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 27 alse.!==.strpos($errorMessage,.'
e6480 50 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 27 29 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f Peer.certificate').&&.PHP_VERSIO
e64a0 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 N_ID.<.50600).{.................
e64c0 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 43 61 42 75 6e 64 6c 65 3a 3a 69 73 ................if.(CaBundle::is
e64e0 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 24 63 65 72 74 44 65 74 61 69 OpensslParseSafe()).{.$certDetai
e6500 6c 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 ls.=.$this->getCertificateCnAndF
e6520 70 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 p($this->fileUrl,.$options);..if
e6540 20 28 24 63 65 72 74 44 65 74 61 69 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 .($certDetails).{.$this->peerCer
e6560 74 69 66 69 63 61 74 65 4d 61 70 5b 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 tificateMap[$this->getUrlAuthori
e6580 74 79 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 5d 20 3d 20 24 63 65 72 74 44 65 74 61 69 ty($this->fileUrl)].=.$certDetai
e65a0 6c 73 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 20 65 6c ls;..$this->retry.=.true;.}.}.el
e65c0 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a se.{.$this->io->writeError('');.
e65e0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 $this->io->writeError(sprintf(.'
e6600 3c 65 72 72 6f 72 3e 59 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 25 73 2c 20 <error>Your.version.of.PHP,.%s,.
e6620 69 73 20 61 66 66 65 63 74 65 64 20 62 79 20 43 56 45 2d 32 30 31 33 2d 36 34 32 30 20 61 6e 64 is.affected.by.CVE-2013-6420.and
e6640 20 63 61 6e 6e 6f 74 20 73 61 66 65 6c 79 20 70 65 72 66 6f 72 6d 20 63 65 72 74 69 66 69 63 61 .cannot.safely.perform.certifica
e6660 74 65 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 77 65 20 73 74 72 6f 6e 67 6c 79 20 73 75 67 67 65 te.validation,.we.strongly.sugge
e6680 73 74 20 79 6f 75 20 75 70 67 72 61 64 65 2e 3c 2f 65 72 72 6f 72 3e 27 2c 0a 50 48 50 5f 56 45 st.you.upgrade.</error>',.PHP_VE
e66a0 52 53 49 4f 4e 0a 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 29 RSION.));.}.}..if.($this->retry)
e66c0 20 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 72 65 73 75 6c .{.$this->retry.=.false;..$resul
e66e0 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c t.=.$this->get($this->originUrl,
e6700 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 .$this->fileUrl,.$additionalOpti
e6720 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f ons,.$this->fileName,.$this->pro
e6740 67 72 65 73 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 26 26 gress);..if.($this->storeAuth.&&
e6760 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 7b 0a 24 61 75 74 68 48 65 6c 70 65 72 20 3d 20 .$this->config).{.$authHelper.=.
e6780 6e 65 77 20 41 75 74 68 48 65 6c 70 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d new.AuthHelper($this->io,.$this-
e67a0 3e 63 6f 6e 66 69 67 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 72 2d 3e 73 74 6f 72 65 41 75 74 68 >config);.$authHelper->storeAuth
e67c0 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 ($this->originUrl,.$this->storeA
e67e0 75 74 68 29 3b 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a uth);.$this->storeAuth.=.false;.
e6800 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 }..return.$result;.}..if.(false.
e6820 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 ===.$result).{.$e.=.new.Transpor
e6840 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 tException('The."'.$this->fileUr
e6860 6c 2e 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 l.'".file.could.not.be.downloade
e6880 64 3a 20 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 65 72 72 6f 72 43 6f 64 65 29 3b d:.'.$errorMessage,.$errorCode);
e68a0 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 .if.(!empty($http_response_heade
e68c0 72 5b 30 5d 29 29 20 7b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 r[0])).{.$e->setHeaders($http_re
e68e0 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 sponse_header);.}..if.(!$this->d
e6900 65 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 egradedMode.&&.false.!==.strpos(
e6920 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d $e->getMessage(),.'Operation.tim
e6940 65 64 20 6f 75 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 ed.out')).{.$this->degradedMode.
e6960 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 =.true;.$this->io->writeError(''
e6980 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a );.$this->io->writeError(array(.
e69a0 27 3c 65 72 72 6f 72 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 '<error>'.$e->getMessage().'</er
e69c0 72 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 ror>',.'<error>Retrying.with.deg
e69e0 72 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d raded.mode,.check.https://getcom
e6a00 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 poser.org/doc/articles/troublesh
e6a20 6f 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 ooting.md#degraded-mode.for.more
e6a40 20 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 .info</error>',.));..return.$thi
e6a60 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e s->get($this->originUrl,.$this->
e6a80 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 fileUrl,.$additionalOptions,.$th
e6aa0 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a is->fileName,.$this->progress);.
e6ac0 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 }..throw.$e;.}..if.(!empty($http
e6ae0 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c _response_header[0])).{.$this->l
e6b00 61 73 74 48 65 61 64 65 72 73 20 3d 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 astHeaders.=.$http_response_head
e6b20 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a er;.}..return.$result;.}........
e6b40 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6d 6f 74 65 43 ...protected.function.getRemoteC
e6b60 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 63 ontents($originUrl,.$fileUrl,.$c
e6b80 6f 6e 74 65 78 74 2c 20 61 72 72 61 79 20 26 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 ontext,.array.&$responseHeaders.
e6ba0 3d 20 6e 75 6c 6c 29 0a 7b 0a 74 72 79 20 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 72 65 73 75 =.null).{.try.{.$e.=.null;.$resu
e6bc0 6c 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 55 72 6c 2c lt.=.file_get_contents($fileUrl,
e6be0 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 .false,.$context);.}.catch.(\Thr
e6c00 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e owable.$e).{.}.catch.(\Exception
e6c20 20 24 65 29 20 7b 0a 7d 0a 0a 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 3d 20 69 73 73 .$e).{.}..$responseHeaders.=.iss
e6c40 65 74 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 20 3f 20 24 68 74 74 et($http_response_header).?.$htt
e6c60 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 p_response_header.:.array();..if
e6c80 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 .(null.!==.$e).{.throw.$e;.}..re
e6ca0 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 turn.$result;.}.............prot
e6cc0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 47 65 74 28 24 6e 6f 74 69 ected.function.callbackGet($noti
e6ce0 66 69 63 61 74 69 6f 6e 43 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 6d 65 73 73 61 67 ficationCode,.$severity,.$messag
e6d00 65 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 2c 20 24 62 79 74 65 73 54 72 61 6e 73 66 65 72 72 e,.$messageCode,.$bytesTransferr
e6d20 65 64 2c 20 24 62 79 74 65 73 4d 61 78 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6e 6f 74 69 66 69 ed,.$bytesMax).{.switch.($notifi
e6d40 63 61 74 69 6f 6e 43 6f 64 65 29 20 7b 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 cationCode).{.case.STREAM_NOTIFY
e6d60 5f 46 41 49 4c 55 52 45 3a 0a 69 66 20 28 34 30 30 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 43 6f _FAILURE:.if.(400.===.$messageCo
e6d80 64 65 29 20 7b 0a 0a 20 0a 20 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 de).{.....throw.new.TransportExc
e6da0 65 70 74 69 6f 6e 28 22 54 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 eption("The.'"...$this->fileUrl.
e6dc0 2e 20 22 27 20 55 52 4c 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 .."'.URL.could.not.be.accessed:.
e6de0 22 20 2e 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 3b 0a 7d 0a 62 "...$message,.$messageCode);.}.b
e6e00 72 65 61 6b 3b 0a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 46 49 4c 45 5f 53 reak;..case.STREAM_NOTIFY_FILE_S
e6e20 49 5a 45 5f 49 53 3a 0a 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3d 20 24 62 79 74 65 73 IZE_IS:.$this->bytesMax.=.$bytes
e6e40 4d 61 78 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f Max;.break;..case.STREAM_NOTIFY_
e6e60 50 52 4f 47 52 45 53 53 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3e 20 PROGRESS:.if.($this->bytesMax.>.
e6e80 30 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 20 7b 0a 24 70 72 6f 67 72 65 73 0.&&.$this->progress).{.$progres
e6ea0 73 69 6f 6e 20 3d 20 6d 69 6e 28 31 30 30 2c 20 72 6f 75 6e 64 28 24 62 79 74 65 73 54 72 61 6e sion.=.min(100,.round($bytesTran
e6ec0 73 66 65 72 72 65 64 20 2f 20 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 2a 20 31 30 30 29 sferred./.$this->bytesMax.*.100)
e6ee0 29 3b 0a 0a 69 66 20 28 28 30 20 3d 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 25 20 35 29 );..if.((0.===.$progression.%.5)
e6f00 20 26 26 20 31 30 30 20 21 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 26 26 20 24 70 72 6f .&&.100.!==.$progression.&&.$pro
e6f20 67 72 65 73 73 69 6f 6e 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 gression.!==.$this->lastProgress
e6f40 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 ).{.$this->lastProgress.=.$progr
e6f60 65 73 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f ession;.$this->io->overwriteErro
e6f80 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 24 70 72 6f 67 72 65 r("Downloading.(<comment>$progre
e6fa0 73 73 69 6f 6e 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a ssion%</comment>)",.false);.}.}.
e6fc0 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 6f break;..default:.break;.}.}..pro
e6fe0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 tected.function.promptAuthAndRet
e7000 72 79 28 24 68 74 74 70 53 74 61 74 75 73 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 ry($httpStatus,.$reason.=.null,.
e7020 24 77 61 72 6e 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 $warning.=.null,.$headers.=.arra
e7040 79 28 29 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 y()).{.if.($this->config.&&.in_a
e7060 72 72 61 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f rray($this->originUrl,.$this->co
e7080 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 nfig->get('github-domains'),.tru
e70a0 65 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 e)).{.$gitHubUtil.=.new.GitHub($
e70c0 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 29 3b 0a this->io,.$this->config,.null);.
e70e0 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 3b 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d $message.=."\n";..$rateLimited.=
e7100 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 24 68 65 61 .$gitHubUtil->isRateLimited($hea
e7120 64 65 72 73 29 3b 0a 69 66 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 65 ders);.if.($rateLimited).{.$rate
e7140 4c 69 6d 69 74 20 3d 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d 69 Limit.=.$gitHubUtil->getRateLimi
e7160 74 28 24 68 65 61 64 65 72 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 t($headers);.if.($this->io->hasA
e7180 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 uthentication($this->originUrl))
e71a0 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 52 65 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 .{.$message.=.'Review.your.confi
e71c0 67 75 72 65 64 20 47 69 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 gured.GitHub.OAuth.token.or.ente
e71e0 72 20 61 20 6e 65 77 20 6f 6e 65 20 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 r.a.new.one.to.go.over.the.API.r
e7200 61 74 65 20 6c 69 6d 69 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d ate.limit.';.}.else.{.$message.=
e7220 20 27 43 72 65 61 74 65 20 61 20 47 69 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f .'Create.a.GitHub.OAuth.token.to
e7240 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 2e 27 3b 0a 7d .go.over.the.API.rate.limit.';.}
e7260 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 47 69 74 48 75 62 20 41 50 ..$message.=.sprintf(.'GitHub.AP
e7280 49 20 6c 69 6d 69 74 20 28 25 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 78 68 61 75 73 74 I.limit.(%d.calls/hr).is.exhaust
e72a0 65 64 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c ed,.could.not.fetch.'.$this->fil
e72c0 65 55 72 6c 2e 27 2e 20 27 2e 24 6d 65 73 73 61 67 65 2e 27 20 59 6f 75 20 63 61 6e 20 61 6c 73 eUrl.'..'.$message.'.You.can.als
e72e0 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 25 73 20 66 6f 72 20 74 68 65 20 72 61 74 65 20 6c 69 6d o.wait.until.%s.for.the.rate.lim
e7300 69 74 20 74 6f 20 72 65 73 65 74 2e 27 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 it.to.reset.',.$rateLimit['limit
e7320 27 5d 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 0a 29 2e 22 5c 6e 22 3b 0a '],.$rateLimit['reset'].)."\n";.
e7340 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 }.else.{.$message..=.'Could.not.
e7360 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 2c 20 70 6c 65 61 73 65 fetch.'.$this->fileUrl.',.please
e7380 20 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 .';.if.($this->io->hasAuthentica
e73a0 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 6d 65 73 73 61 tion($this->originUrl)).{.$messa
e73c0 67 65 20 2e 3d 20 27 72 65 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 67 75 72 65 64 20 47 69 ge..=.'review.your.configured.Gi
e73e0 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 72 20 61 20 6e 65 77 20 tHub.OAuth.token.or.enter.a.new.
e7400 6f 6e 65 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 7d 20 one.to.access.private.repos';.}.
e7420 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 63 72 65 61 74 65 20 61 20 47 69 74 else.{.$message..=.'create.a.Git
e7440 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 Hub.OAuth.token.to.access.privat
e7460 65 20 72 65 70 6f 73 27 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 48 75 62 55 74 69 6c 2d e.repos';.}.}..if.(!$gitHubUtil-
e7480 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c >authorizeOAuth($this->originUrl
e74a0 29 0a 26 26 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 ).&&.(!$this->io->isInteractive(
e74c0 29 20 7c 7c 20 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 ).||.!$gitHubUtil->authorizeOAut
e74e0 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c hInteractively($this->originUrl,
e7500 20 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 .$message)).).{.throw.new.Transp
e7520 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 ortException('Could.not.authenti
e7540 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c cate.against.'.$this->originUrl,
e7560 20 34 30 31 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .401);.}.}.elseif.($this->config
e7580 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 .&&.in_array($this->originUrl,.$
e75a0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e this->config->get('gitlab-domain
e75c0 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 2e 27 43 s'),.true)).{.$message.=."\n".'C
e75e0 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e ould.not.fetch.'.$this->fileUrl.
e7600 27 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 ',.enter.your.'...$this->originU
e7620 72 6c 20 2e 20 27 20 63 72 65 64 65 6e 74 69 61 6c 73 20 27 20 2e 28 24 68 74 74 70 53 74 61 74 rl...'.credentials.'..($httpStat
e7640 75 73 20 3d 3d 3d 20 34 30 31 20 3f 20 27 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 us.===.401.?.'to.access.private.
e7660 72 65 70 6f 73 27 20 3a 20 27 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 repos'.:.'to.go.over.the.API.rat
e7680 65 20 6c 69 6d 69 74 27 29 3b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 e.limit');.$gitLabUtil.=.new.Git
e76a0 4c 61 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 Lab($this->io,.$this->config,.nu
e76c0 6c 6c 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 ll);..if.($this->io->hasAuthenti
e76e0 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 28 24 61 75 cation($this->originUrl).&&.($au
e7700 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f th.=.$this->io->getAuthenticatio
e7720 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 26 26 20 24 61 75 74 68 5b 27 70 n($this->originUrl)).&&.$auth['p
e7740 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 20 7b assword'].===.'private-token').{
e7760 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 49 .throw.new.TransportException("I
e7780 6e 76 61 6c 69 64 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 22 20 2e 20 24 74 68 69 nvalid.credentials.for.'"...$thi
e77a0 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 2c 20 61 62 6f 72 74 69 6e 67 2e 22 2c 20 24 68 74 s->fileUrl..."',.aborting.",.$ht
e77c0 74 70 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e tpStatus);.}..if.(!$gitLabUtil->
e77e0 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 authorizeOAuth($this->originUrl)
e7800 0a 26 26 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 .&&.(!$this->io->isInteractive()
e7820 20 7c 7c 20 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 .||.!$gitLabUtil->authorizeOAuth
e7840 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2c 20 24 74 68 Interactively($this->scheme,.$th
e7860 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 is->originUrl,.$message)).).{.th
e7880 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c row.new.TransportException('Coul
e78a0 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 2e 24 74 68 d.not.authenticate.against.'.$th
e78c0 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 is->originUrl,.401);.}.}.elseif.
e78e0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 ($this->config.&&.$this->originU
e7900 72 6c 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 24 61 73 6b 46 6f rl.===.'bitbucket.org').{.$askFo
e7920 72 4f 41 75 74 68 54 6f 6b 65 6e 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 rOAuthToken.=.true;.if.($this->i
e7940 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 o->hasAuthentication($this->orig
e7960 69 6e 55 72 6c 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 inUrl)).{.$auth.=.$this->io->get
e7980 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 Authentication($this->originUrl)
e79a0 3b 0a 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d 3d 20 27 78 2d 74 ;.if.($auth['username'].!==.'x-t
e79c0 6f 6b 65 6e 2d 61 75 74 68 27 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e oken-auth').{.$bitbucketUtil.=.n
e79e0 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 ew.Bitbucket($this->io,.$this->c
e7a00 6f 6e 66 69 67 29 3b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 20 24 62 69 74 62 75 63 6b 65 onfig);.$accessToken.=.$bitbucke
e7a20 74 55 74 69 6c 2d 3e 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 tUtil->requestToken($this->origi
e7a40 6e 55 72 6c 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 5b 27 nUrl,.$auth['username'],.$auth['
e7a60 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 63 63 65 73 73 54 password']);.if.(!empty($accessT
e7a80 6f 6b 65 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 oken)).{.$this->io->setAuthentic
e7aa0 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 78 2d 74 6f 6b 65 6e ation($this->originUrl,.'x-token
e7ac0 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 24 61 73 6b 46 6f 72 4f 41 -auth',.$accessToken);.$askForOA
e7ae0 75 74 68 54 6f 6b 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 uthToken.=.false;.}.}.else.{.thr
e7b00 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 ow.new.TransportException('Could
e7b20 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 20 2e 20 24 74 .not.authenticate.against.'...$t
e7b40 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 his->originUrl,.401);.}.}..if.($
e7b60 61 73 6b 46 6f 72 4f 41 75 74 68 54 6f 6b 65 6e 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 askForOAuthToken).{.$message.=."
e7b80 5c 6e 22 2e 27 43 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 20 2e 20 24 74 68 69 73 2d 3e \n".'Could.not.fetch.'...$this->
e7ba0 66 69 6c 65 55 72 6c 20 2e 20 27 2c 20 70 6c 65 61 73 65 20 63 72 65 61 74 65 20 61 20 62 69 74 fileUrl...',.please.create.a.bit
e7bc0 62 75 63 6b 65 74 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 27 20 2e 20 28 28 24 68 74 74 bucket.OAuth.token.to.'...(($htt
e7be0 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 31 20 7c 7c 20 24 68 74 74 70 53 74 61 74 75 73 20 3d pStatus.===.401.||.$httpStatus.=
e7c00 3d 3d 20 34 30 33 29 20 3f 20 27 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 ==.403).?.'access.private.repos'
e7c20 20 3a 20 27 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 27 29 .:.'go.over.the.API.rate.limit')
e7c40 3b 0a 24 62 69 74 42 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 ;.$bitBucketUtil.=.new.Bitbucket
e7c60 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 69 66 20 28 ($this->io,.$this->config);.if.(
e7c80 21 20 24 62 69 74 42 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 !.$bitBucketUtil->authorizeOAuth
e7ca0 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 28 21 20 24 74 68 69 73 2d 3e ($this->originUrl).&&.(!.$this->
e7cc0 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 62 69 74 42 75 63 6b io->isInteractive().||.!$bitBuck
e7ce0 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 etUtil->authorizeOAuthInteractiv
e7d00 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 29 29 ely($this->originUrl,.$message))
e7d20 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f .).{.throw.new.TransportExceptio
e7d40 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 n('Could.not.authenticate.agains
e7d60 74 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a t.'...$this->originUrl,.401);.}.
e7d80 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d }.}.else.{...if.($httpStatus.===
e7da0 20 34 30 34 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d .404).{.return;.}....if.(!$this-
e7dc0 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 24 68 74 74 >io->isInteractive()).{.if.($htt
e7de0 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 54 pStatus.===.401).{.$message.=."T
e7e00 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 he.'"...$this->fileUrl..."'.URL.
e7e20 72 65 71 75 69 72 65 64 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 5c 6e 59 6f 75 20 6d 75 required.authentication.\nYou.mu
e7e40 73 74 20 62 65 20 75 73 69 6e 67 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 6f 6e 73 st.be.using.the.interactive.cons
e7e60 6f 6c 65 20 74 6f 20 61 75 74 68 65 6e 74 69 63 61 74 65 22 3b 0a 7d 0a 69 66 20 28 24 68 74 74 ole.to.authenticate";.}.if.($htt
e7e80 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 33 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 54 pStatus.===.403).{.$message.=."T
e7ea0 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 he.'"...$this->fileUrl..."'.URL.
e7ec0 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 22 20 2e 20 24 72 65 61 73 could.not.be.accessed:."...$reas
e7ee0 6f 6e 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 on;.}..throw.new.TransportExcept
e7f00 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 20 ion($message,.$httpStatus);.}...
e7f20 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e if.($this->io->hasAuthentication
e7f40 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ($this->originUrl)).{.throw.new.
e7f60 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 63 72 65 64 TransportException("Invalid.cred
e7f80 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 entials.for.'"...$this->fileUrl.
e7fa0 2e 20 22 27 2c 20 61 62 6f 72 74 69 6e 67 2e 22 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 3b 0a .."',.aborting.",.$httpStatus);.
e7fc0 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 41 75 }..$this->io->writeError('....Au
e7fe0 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 28 3c 69 6e 66 6f 3e 27 2e 70 thentication.required.(<info>'.p
e8000 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c arse_url($this->fileUrl,.PHP_URL
e8020 5f 48 4f 53 54 29 2e 27 3c 2f 69 6e 66 6f 3e 29 3a 27 29 3b 0a 24 75 73 65 72 6e 61 6d 65 20 3d _HOST).'</info>):');.$username.=
e8040 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 20 20 55 73 65 72 6e 61 6d 65 3a .$this->io->ask('......Username:
e8060 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 .');.$password.=.$this->io->askA
e8080 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 20 20 20 50 61 73 73 77 6f 72 64 3a 20 27 29 ndHideAnswer('......Password:.')
e80a0 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 ;.$this->io->setAuthentication($
e80c0 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 this->originUrl,.$username,.$pas
e80e0 73 77 6f 72 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 3d 20 24 74 68 69 73 sword);.$this->storeAuth.=.$this
e8100 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 73 74 6f 72 65 2d 61 75 74 68 73 27 29 3b 0a 7d 0a ->config->get('store-auths');.}.
e8120 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 74 68 72 6f 77 20 6e 65 77 20 .$this->retry.=.true;.throw.new.
e8140 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 52 45 54 52 59 27 29 3b 0a 7d 0a 0a TransportException('RETRY');.}..
e8160 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 46 6f 72 protected.function.getOptionsFor
e8180 55 72 6c 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f Url($originUrl,.$additionalOptio
e81a0 6e 73 29 0a 7b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 ns).{.$tlsOptions.=.array();....
e81c0 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 65 20 if.($this->disableTls.===.false.
e81e0 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 21 73 74 &&.PHP_VERSION_ID.<.50600.&&.!st
e8200 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 29 20 7b ream_is_local($this->fileUrl)).{
e8220 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 .$host.=.parse_url($this->fileUr
e8240 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 l,.PHP_URL_HOST);..if.(PHP_VERSI
e8260 4f 4e 5f 49 44 20 3c 20 35 30 33 30 34 29 20 7b 0a 0a 20 0a 20 0a 20 0a 0a 69 66 20 28 24 68 6f ON_ID.<.50304).{.........if.($ho
e8280 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d st.===.'github.com'.||.$host.===
e82a0 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 24 68 6f 73 74 20 3d 20 27 2a 2e .'api.github.com').{.$host.=.'*.
e82c0 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 7d 0a 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 github.com';.}.}..$tlsOptions['s
e82e0 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 24 68 6f 73 74 3b 0a 24 74 6c 73 4f 70 sl']['CN_match'].=.$host;.$tlsOp
e8300 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 73 65 72 76 65 72 5f 6e 61 6d 65 27 5d 20 tions['ssl']['SNI_server_name'].
e8320 3d 20 24 68 6f 73 74 3b 0a 0a 24 75 72 6c 41 75 74 68 6f 72 69 74 79 20 3d 20 24 74 68 69 73 2d =.$host;..$urlAuthority.=.$this-
e8340 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 79 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 >getUrlAuthority($this->fileUrl)
e8360 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 74 69 66 69 63 ;..if.(isset($this->peerCertific
e8380 61 74 65 4d 61 70 5b 24 75 72 6c 41 75 74 68 6f 72 69 74 79 5d 29 29 20 7b 0a 0a 20 24 63 65 72 ateMap[$urlAuthority])).{...$cer
e83a0 74 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 4d 61 70 tMap.=.$this->peerCertificateMap
e83c0 5b 24 75 72 6c 41 75 74 68 6f 72 69 74 79 5d 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 [$urlAuthority];..$this->io->wri
e83e0 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 teError('',.true,.IOInterface::D
e8400 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 EBUG);.$this->io->writeError(spr
e8420 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 61 73 20 intf(.'Using.<info>%s</info>.as.
e8440 43 4e 20 66 6f 72 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 20 65 6e 61 62 6c 65 64 20 68 6f CN.for.subjectAltName.enabled.ho
e8460 73 74 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 63 65 72 74 4d 61 70 5b 27 63 st.<info>%s</info>',.$certMap['c
e8480 6e 27 5d 2c 0a 24 75 72 6c 41 75 74 68 6f 72 69 74 79 0a 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e n'],.$urlAuthority.),.true,.IOIn
e84a0 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 terface::DEBUG);..$tlsOptions['s
e84c0 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 24 63 65 72 74 4d 61 70 5b 27 63 6e 27 sl']['CN_match'].=.$certMap['cn'
e84e0 5d 3b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 ];.$tlsOptions['ssl']['peer_fing
e8500 65 72 70 72 69 6e 74 27 5d 20 3d 20 24 63 65 72 74 4d 61 70 5b 27 66 70 27 5d 3b 0a 7d 20 65 6c erprint'].=.$certMap['fp'];.}.el
e8520 73 65 69 66 20 28 21 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 seif.(!CaBundle::isOpensslParseS
e8540 61 66 65 28 29 20 26 26 20 24 68 6f 73 74 20 3d 3d 3d 20 27 72 65 70 6f 2e 70 61 63 6b 61 67 69 afe().&&.$host.===.'repo.packagi
e8560 73 74 2e 6f 72 67 27 29 20 7b 0a 0a 20 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b st.org').{...$tlsOptions['ssl'][
e8580 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 7d 'CN_match'].=.'packagist.org';.}
e85a0 0a 7d 0a 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 65 78 74 .}..$headers.=.array();..if.(ext
e85c0 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 68 65 61 64 65 72 ension_loaded('zlib')).{.$header
e85e0 73 5b 5d 20 3d 20 27 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 27 3b 0a 7d s[].=.'Accept-Encoding:.gzip';.}
e8600 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 ..$options.=.array_replace_recur
e8620 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 74 6c 73 4f 70 74 69 6f 6e 73 sive($this->options,.$tlsOptions
e8640 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 21 24 74 68 69 ,.$additionalOptions);.if.(!$thi
e8660 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 0a 20 0a 20 24 6f 70 74 69 6f 6e 73 5b s->degradedMode).{.....$options[
e8680 27 68 74 74 70 27 5d 5b 27 70 72 6f 74 6f 63 6f 6c 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 31 2e 'http']['protocol_version'].=.1.
e86a0 31 3b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f 1;.$headers[].=.'Connection:.clo
e86c0 73 65 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e se';.}..if.($this->io->hasAuthen
e86e0 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 tication($originUrl)).{.$auth.=.
e8700 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 $this->io->getAuthentication($or
e8720 69 67 69 6e 55 72 6c 29 3b 0a 69 66 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 iginUrl);.if.('github.com'.===.$
e8740 6f 72 69 67 69 6e 55 72 6c 20 26 26 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 20 3d 3d 3d originUrl.&&.'x-oauth-basic'.===
e8760 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 .$auth['password']).{.$options['
e8780 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 20 3d 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 github-token'].=.$auth['username
e87a0 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 '];.}.elseif.($this->config.&&.i
e87c0 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 n_array($originUrl,.$this->confi
e87e0 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 g->get('gitlab-domains'),.true))
e8800 20 7b 0a 69 66 20 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 6f 61 .{.if.($auth['password'].===.'oa
e8820 75 74 68 32 27 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 uth2').{.$headers[].=.'Authoriza
e8840 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 2e 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d tion:.Bearer.'.$auth['username']
e8860 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d ;.}.elseif.($auth['password'].==
e8880 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 =.'private-token').{.$headers[].
e88a0 3d 20 27 50 52 49 56 41 54 45 2d 54 4f 4b 45 4e 3a 20 27 2e 24 61 75 74 68 5b 27 75 73 65 72 6e =.'PRIVATE-TOKEN:.'.$auth['usern
e88c0 61 6d 65 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 ame'];.}.}.elseif.('bitbucket.or
e88e0 67 27 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 0a 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 g'.===.$originUrl.&&.$this->file
e8900 55 72 6c 20 21 3d 3d 20 42 69 74 62 75 63 6b 65 74 3a 3a 4f 41 55 54 48 32 5f 41 43 43 45 53 53 Url.!==.Bitbucket::OAUTH2_ACCESS
e8920 5f 54 4f 4b 45 4e 5f 55 52 4c 20 26 26 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 20 3d 3d 3d _TOKEN_URL.&&.'x-token-auth'.===
e8940 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 0a 29 20 7b 0a 69 66 20 28 21 24 74 68 69 .$auth['username'].).{.if.(!$thi
e8960 73 2d 3e 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 64 28 24 74 68 s->isPublicBitBucketDownload($th
e8980 69 73 2d 3e 66 69 6c 65 55 72 6c 29 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 is->fileUrl)).{.$headers[].=.'Au
e89a0 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 20 2e 20 24 61 75 74 68 5b 27 70 thorization:.Bearer.'...$auth['p
e89c0 61 73 73 77 6f 72 64 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 68 53 74 72 20 3d assword'];.}.}.else.{.$authStr.=
e89e0 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d .base64_encode($auth['username']
e8a00 20 2e 20 27 3a 27 20 2e 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 68 65 ...':'...$auth['password']);.$he
e8a20 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 aders[].=.'Authorization:.Basic.
e8a40 27 2e 24 61 75 74 68 53 74 72 3b 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 '.$authStr;.}.}..$options['http'
e8a60 5d 5b 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 5d 20 3d 20 30 3b 0a 0a 69 66 20 28 69 ]['follow_location'].=.0;..if.(i
e8a80 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 sset($options['http']['header'])
e8aa0 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 .&&.!is_array($options['http']['
e8ac0 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 header'])).{.$options['http']['h
e8ae0 65 61 64 65 72 27 5d 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 74 72 69 6d 28 24 eader'].=.explode("\r\n",.trim($
e8b00 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 2c 20 22 5c 72 5c 6e options['http']['header'],."\r\n
e8b20 22 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 "));.}.foreach.($headers.as.$hea
e8b40 64 65 72 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 der).{.$options['http']['header'
e8b60 5d 5b 5d 20 3d 20 24 68 65 61 64 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 70 74 69 6f 6e ][].=.$header;.}..return.$option
e8b80 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 52 65 64 s;.}..private.function.handleRed
e8ba0 69 72 65 63 74 28 61 72 72 61 79 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 irect(array.$http_response_heade
e8bc0 72 2c 20 61 72 72 61 79 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 72 65 r,.array.$additionalOptions,.$re
e8be0 73 75 6c 74 29 0a 7b 0a 69 66 20 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 20 3d 20 24 74 sult).{.if.($locationHeader.=.$t
e8c00 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f his->findHeaderValue($http_respo
e8c20 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 6c 6f 63 61 74 69 6f 6e 27 29 29 20 7b 0a 69 66 20 28 70 nse_header,.'location')).{.if.(p
e8c40 61 72 73 65 5f 75 72 6c 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 50 48 50 5f 55 52 arse_url($locationHeader,.PHP_UR
e8c60 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 24 6c 6f 63 L_SCHEME)).{...$targetUrl.=.$loc
e8c80 61 74 69 6f 6e 48 65 61 64 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 61 72 73 65 5f 75 72 6c ationHeader;.}.elseif.(parse_url
e8ca0 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 29 ($locationHeader,.PHP_URL_HOST))
e8cc0 20 7b 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2e .{...$targetUrl.=.$this->scheme.
e8ce0 27 3a 27 2e 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 ':'.$locationHeader;.}.elseif.('
e8d00 2f 27 20 3d 3d 3d 20 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 5b 30 5d 29 20 7b 0a 0a 20 24 /'.===.$locationHeader[0]).{...$
e8d20 75 72 6c 48 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 urlHost.=.parse_url($this->fileU
e8d40 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 0a 20 24 74 61 72 67 65 74 55 72 6c rl,.PHP_URL_HOST);....$targetUrl
e8d60 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 2e 2b 28 3f 3a 2f 2f 7c 40 29 27 2e .=.preg_replace('{^(.+(?://|@)'.
e8d80 70 72 65 67 5f 71 75 6f 74 65 28 24 75 72 6c 48 6f 73 74 29 2e 27 28 3f 3a 3a 5c 64 2b 29 3f 29 preg_quote($urlHost).'(?::\d+)?)
e8da0 28 3f 3a 5b 2f 5c 3f 5d 2e 2a 29 3f 24 7d 27 2c 20 27 5c 31 27 2e 24 6c 6f 63 61 74 69 6f 6e 48 (?:[/\?].*)?$}',.'\1'.$locationH
e8dc0 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b eader,.$this->fileUrl);.}.else.{
e8de0 0a 0a 20 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 .....$targetUrl.=.preg_replace('
e8e00 7b 5e 28 2e 2b 2f 29 5b 5e 2f 3f 5d 2a 28 3f 3a 5c 3f 2e 2a 29 3f 24 7d 27 2c 20 27 5c 31 27 2e {^(.+/)[^/?]*(?:\?.*)?$}',.'\1'.
e8e20 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 $locationHeader,.$this->fileUrl)
e8e40 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 61 72 67 65 74 55 72 6c 29 29 20 7b ;.}.}..if.(!empty($targetUrl)).{
e8e60 0a 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 2b 2b 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d .$this->redirects++;..$this->io-
e8e80 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 >writeError('',.true,.IOInterfac
e8ea0 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 e::DEBUG);.$this->io->writeError
e8ec0 28 73 70 72 69 6e 74 66 28 27 46 6f 6c 6c 6f 77 69 6e 67 20 72 65 64 69 72 65 63 74 20 28 25 75 (sprintf('Following.redirect.(%u
e8ee0 29 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 2c 20 24 74 61 72 67 65 74 ).%s',.$this->redirects,.$target
e8f00 55 72 6c 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b Url),.true,.IOInterface::DEBUG);
e8f20 0a 0a 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 ..$additionalOptions['redirects'
e8f40 5d 20 3d 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 ].=.$this->redirects;..return.$t
e8f60 68 69 73 2d 3e 67 65 74 28 70 61 72 73 65 5f 75 72 6c 28 24 74 61 72 67 65 74 55 72 6c 2c 20 50 his->get(parse_url($targetUrl,.P
e8f80 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2c 20 24 74 61 72 67 65 74 55 72 6c 2c 20 24 61 64 64 69 74 HP_URL_HOST),.$targetUrl,.$addit
e8fa0 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 ionalOptions,.$this->fileName,.$
e8fc0 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e this->progress);.}..if.(!$this->
e8fe0 72 65 74 72 79 29 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 retry).{.$e.=.new.TransportExcep
e9000 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 tion('The."'.$this->fileUrl.'".f
e9020 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 67 6f 74 ile.could.not.be.downloaded,.got
e9040 20 72 65 64 69 72 65 63 74 20 77 69 74 68 6f 75 74 20 4c 6f 63 61 74 69 6f 6e 20 28 27 2e 24 68 .redirect.without.Location.('.$h
e9060 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 2e 27 29 27 29 3b 0a 24 65 2d ttp_response_header[0].')');.$e-
e9080 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 >setHeaders($http_response_heade
e90a0 72 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 0a 74 r);.$e->setResponse($result);..t
e90c0 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a hrow.$e;.}..return.false;.}.....
e90e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6c 73 44 65 66 61 75 6c 74 ..private.function.getTlsDefault
e9100 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 63 69 70 68 65 72 73 20 3d 20 69 s(array.$options).{.$ciphers.=.i
e9120 6d 70 6c 6f 64 65 28 27 3a 27 2c 20 61 72 72 61 79 28 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 mplode(':',.array(.'ECDHE-RSA-AE
e9140 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 S128-GCM-SHA256',.'ECDHE-ECDSA-A
e9160 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 ES128-GCM-SHA256',.'ECDHE-RSA-AE
e9180 53 32 35 36 2d 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 S256-GCM-SHA384',.'ECDHE-ECDSA-A
e91a0 45 53 32 35 36 2d 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 ES256-GCM-SHA384',.'DHE-RSA-AES1
e91c0 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 45 53 31 32 38 2d 28-GCM-SHA256',.'DHE-DSS-AES128-
e91e0 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 6b 45 44 48 2b 41 45 53 47 43 4d 27 2c 0a 27 45 43 44 GCM-SHA256',.'kEDH+AESGCM',.'ECD
e9200 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 45 43 HE-RSA-AES128-SHA256',.'ECDHE-EC
e9220 44 53 41 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 DSA-AES128-SHA256',.'ECDHE-RSA-A
e9240 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 31 32 38 2d ES128-SHA',.'ECDHE-ECDSA-AES128-
e9260 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 33 38 34 27 2c SHA',.'ECDHE-RSA-AES256-SHA384',
e9280 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 32 35 36 2d 53 48 41 33 38 34 27 2c 0a 27 45 .'ECDHE-ECDSA-AES256-SHA384',.'E
e92a0 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 CDHE-RSA-AES256-SHA',.'ECDHE-ECD
e92c0 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d SA-AES256-SHA',.'DHE-RSA-AES128-
e92e0 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 SHA256',.'DHE-RSA-AES128-SHA',.'
e9300 44 48 45 2d 44 53 53 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 52 53 41 DHE-DSS-AES128-SHA256',.'DHE-RSA
e9320 2d 41 45 53 32 35 36 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 45 53 32 35 36 -AES256-SHA256',.'DHE-DSS-AES256
e9340 2d 53 48 41 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 41 45 -SHA',.'DHE-RSA-AES256-SHA',.'AE
e9360 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 32 35 36 2d 47 43 4d 2d 53 48 S128-GCM-SHA256',.'AES256-GCM-SH
e9380 41 33 38 34 27 2c 0a 27 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 32 35 36 2d A384',.'AES128-SHA256',.'AES256-
e93a0 53 48 41 32 35 36 27 2c 0a 27 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 41 45 53 32 35 36 2d 53 SHA256',.'AES128-SHA',.'AES256-S
e93c0 48 41 27 2c 0a 27 41 45 53 27 2c 0a 27 43 41 4d 45 4c 4c 49 41 27 2c 0a 27 44 45 53 2d 43 42 43 HA',.'AES',.'CAMELLIA',.'DES-CBC
e93e0 33 2d 53 48 41 27 2c 0a 27 21 61 4e 55 4c 4c 27 2c 0a 27 21 65 4e 55 4c 4c 27 2c 0a 27 21 45 58 3-SHA',.'!aNULL',.'!eNULL',.'!EX
e9400 50 4f 52 54 27 2c 0a 27 21 44 45 53 27 2c 0a 27 21 52 43 34 27 2c 0a 27 21 4d 44 35 27 2c 0a 27 PORT',.'!DES',.'!RC4',.'!MD5',.'
e9420 21 50 53 4b 27 2c 0a 27 21 61 45 43 44 48 27 2c 0a 27 21 45 44 48 2d 44 53 53 2d 44 45 53 2d 43 !PSK',.'!aECDH',.'!EDH-DSS-DES-C
e9440 42 43 33 2d 53 48 41 27 2c 0a 27 21 45 44 48 2d 52 53 41 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 BC3-SHA',.'!EDH-RSA-DES-CBC3-SHA
e9460 27 2c 0a 27 21 4b 52 42 35 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 29 29 3b 0a 0a 0a 0a ',.'!KRB5-DES-CBC3-SHA',.));....
e9480 0a 0a 0a 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 73 6c 27 20 3d 3e 20 ....$defaults.=.array(.'ssl'.=>.
e94a0 61 72 72 61 79 28 0a 27 63 69 70 68 65 72 73 27 20 3d 3e 20 24 63 69 70 68 65 72 73 2c 0a 27 76 array(.'ciphers'.=>.$ciphers,.'v
e94c0 65 72 69 66 79 5f 70 65 65 72 27 20 3d 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 66 79 5f 64 65 70 erify_peer'.=>.true,.'verify_dep
e94e0 74 68 27 20 3d 3e 20 37 2c 0a 27 53 4e 49 5f 65 6e 61 62 6c 65 64 27 20 3d 3e 20 74 72 75 65 2c th'.=>.7,.'SNI_enabled'.=>.true,
e9500 0a 27 63 61 70 74 75 72 65 5f 70 65 65 72 5f 63 65 72 74 27 20 3d 3e 20 74 72 75 65 2c 0a 29 2c .'capture_peer_cert'.=>.true,.),
e9520 0a 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 29 29 .);..if.(isset($options['ssl']))
e9540 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 20 3d 20 61 72 72 61 79 5f 72 65 70 6c .{.$defaults['ssl'].=.array_repl
e9560 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 2c 20 ace_recursive($defaults['ssl'],.
e9580 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 29 3b 0a 7d 0a 0a 24 63 61 42 75 6e 64 6c 65 4c 6f $options['ssl']);.}..$caBundleLo
e95a0 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 69 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 4c 6f 67 67 gger.=.$this->io.instanceof.Logg
e95c0 65 72 49 6e 74 65 72 66 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 69 6f 20 3a 20 6e 75 6c 6c 3b 0a erInterface.?.$this->io.:.null;.
e95e0 0a 0a 0a 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d .....if.(!isset($defaults['ssl']
e9600 5b 27 63 61 66 69 6c 65 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b ['cafile']).&&.!isset($defaults[
e9620 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 43 'ssl']['capath'])).{.$result.=.C
e9640 61 42 75 6e 64 6c 65 3a 3a 67 65 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 75 6e 64 6c 65 50 61 aBundle::getSystemCaRootBundlePa
e9660 74 68 28 24 63 61 42 75 6e 64 6c 65 4c 6f 67 67 65 72 29 3b 0a 0a 69 66 20 28 69 73 5f 64 69 72 th($caBundleLogger);..if.(is_dir
e9680 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 ($result)).{.$defaults['ssl']['c
e96a0 61 70 61 74 68 27 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 apath'].=.$result;.}.else.{.$def
e96c0 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 24 72 65 73 75 6c 74 aults['ssl']['cafile'].=.$result
e96e0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 ;.}.}..if.(isset($defaults['ssl'
e9700 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 26 26 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 64 ]['cafile']).&&.(!is_readable($d
e9720 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 7c 7c 20 21 43 61 efaults['ssl']['cafile']).||.!Ca
e9740 42 75 6e 64 6c 65 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 64 65 66 61 75 6c 74 73 Bundle::validateCaFile($defaults
e9760 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 2c 20 24 63 61 42 75 6e 64 6c 65 4c 6f 67 67 ['ssl']['cafile'],.$caBundleLogg
e9780 65 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 er))).{.throw.new.TransportExcep
e97a0 74 69 6f 6e 28 27 54 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 63 61 66 69 6c 65 20 77 61 73 20 tion('The.configured.cafile.was.
e97c0 6e 6f 74 20 76 61 6c 69 64 20 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 2e 27 not.valid.or.could.not.be.read.'
e97e0 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d );.}..if.(isset($defaults['ssl']
e9800 5b 27 63 61 70 61 74 68 27 5d 29 20 26 26 20 28 21 69 73 5f 64 69 72 28 24 64 65 66 61 75 6c 74 ['capath']).&&.(!is_dir($default
e9820 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 20 7c 7c 20 21 69 73 5f 72 65 61 64 61 s['ssl']['capath']).||.!is_reada
e9840 62 6c 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 29 ble($defaults['ssl']['capath']))
e9860 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e ).{.throw.new.TransportException
e9880 28 27 54 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 63 61 70 61 74 68 20 77 61 73 20 6e 6f 74 20 ('The.configured.capath.was.not.
e98a0 76 61 6c 69 64 20 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 2e 27 29 3b 0a 7d valid.or.could.not.be.read.');.}
e98c0 0a 0a 0a 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 31 33 .....if.(PHP_VERSION_ID.>=.50413
e98e0 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 64 69 73 61 62 6c 65 5f 63 6f ).{.$defaults['ssl']['disable_co
e9900 6d 70 72 65 73 73 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 mpression'].=.true;.}..return.$d
e9920 65 66 61 75 6c 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f efaults;.}.......private.functio
e9940 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 70 28 24 75 72 6c 2c 20 24 6f n.getCertificateCnAndFp($url,.$o
e9960 70 74 69 6f 6e 73 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 ptions).{.if.(PHP_VERSION_ID.>=.
e9980 35 30 36 30 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 50600).{.throw.new.\BadMethodCal
e99a0 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 6d 75 73 74 20 6e 6f 74 lException(sprintf(.'%s.must.not
e99c0 20 62 65 20 75 73 65 64 20 6f 6e 20 50 48 50 20 3e 3d 20 35 2e 36 27 2c 0a 5f 5f 4d 45 54 48 4f .be.used.on.PHP.>=.5.6',.__METHO
e99e0 44 5f 5f 0a 29 29 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 D__.));.}..$context.=.StreamCont
e9a00 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 24 6f 70 extFactory::getContext($url,.$op
e9a20 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 tions,.array('options'.=>.array(
e9a40 0a 27 73 73 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 63 61 70 74 75 72 65 5f 70 65 65 72 5f 63 .'ssl'.=>.array(.'capture_peer_c
e9a60 65 72 74 27 20 3d 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 66 79 5f 70 65 65 72 27 20 3d 3e 20 66 ert'.=>.true,.'verify_peer'.=>.f
e9a80 61 6c 73 65 2c 20 0a 20 29 2c 20 29 2c 0a 29 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 66 61 6c 73 65 alse,...),.),.));......if.(false
e9aa0 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 20 3d 20 40 66 6f 70 65 6e 28 24 75 72 6c 2c 20 27 72 62 27 .===.$handle.=.@fopen($url,.'rb'
e9ac0 2c 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a ,.false,.$context)).{.return;.}.
e9ae0 0a 0a 20 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 24 68 61 6e 64 6c 65 20 3d 20 6e 75 ...fclose($handle);.$handle.=.nu
e9b00 6c 6c 3b 0a 0a 24 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 ll;..$params.=.stream_context_ge
e9b20 74 5f 70 61 72 61 6d 73 28 24 63 6f 6e 74 65 78 74 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 t_params($context);..if.(!empty(
e9b40 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f $params['options']['ssl']['peer_
e9b60 63 65 72 74 69 66 69 63 61 74 65 27 5d 29 29 20 7b 0a 24 70 65 65 72 43 65 72 74 69 66 69 63 61 certificate'])).{.$peerCertifica
e9b80 74 65 20 3d 20 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 te.=.$params['options']['ssl']['
e9ba0 70 65 65 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 3b 0a 0a 69 66 20 28 54 6c 73 48 65 6c 70 peer_certificate'];..if.(TlsHelp
e9bc0 65 72 3a 3a 63 68 65 63 6b 43 65 72 74 69 66 69 63 61 74 65 48 6f 73 74 28 24 70 65 65 72 43 65 er::checkCertificateHost($peerCe
e9be0 72 74 69 66 69 63 61 74 65 2c 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 rtificate,.parse_url($url,.PHP_U
e9c00 52 4c 5f 48 4f 53 54 29 2c 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e RL_HOST),.$commonName)).{.return
e9c20 20 61 72 72 61 79 28 0a 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 2c 0a 27 66 70 .array(.'cn'.=>.$commonName,.'fp
e9c40 27 20 3d 3e 20 54 6c 73 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 46 69 '.=>.TlsHelper::getCertificateFi
e9c60 6e 67 65 72 70 72 69 6e 74 28 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 29 2c 0a 29 3b 0a ngerprint($peerCertificate),.);.
e9c80 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 41 75 }.}.}..private.function.getUrlAu
e9ca0 74 68 6f 72 69 74 79 28 24 75 72 6c 29 0a 7b 0a 24 64 65 66 61 75 6c 74 50 6f 72 74 73 20 3d 20 thority($url).{.$defaultPorts.=.
e9cc0 61 72 72 61 79 28 0a 27 66 74 70 27 20 3d 3e 20 32 31 2c 0a 27 68 74 74 70 27 20 3d 3e 20 38 30 array(.'ftp'.=>.21,.'http'.=>.80
e9ce0 2c 0a 27 68 74 74 70 73 27 20 3d 3e 20 34 34 33 2c 0a 27 73 73 68 32 2e 73 66 74 70 27 20 3d 3e ,.'https'.=>.443,.'ssh2.sftp'.=>
e9d00 20 32 32 2c 0a 27 73 73 68 32 2e 73 63 70 27 20 3d 3e 20 32 32 2c 0a 29 3b 0a 0a 24 73 63 68 65 .22,.'ssh2.scp'.=>.22,.);..$sche
e9d20 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 me.=.parse_url($url,.PHP_URL_SCH
e9d40 45 4d 45 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 50 6f 72 74 73 5b EME);..if.(!isset($defaultPorts[
e9d60 24 73 63 68 65 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 $scheme])).{.throw.new.\InvalidA
e9d80 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 rgumentException(sprintf(.'Could
e9da0 20 6e 6f 74 20 67 65 74 20 64 65 66 61 75 6c 74 20 70 6f 72 74 20 66 6f 72 20 75 6e 6b 6e 6f 77 .not.get.default.port.for.unknow
e9dc0 6e 20 73 63 68 65 6d 65 3a 20 25 73 27 2c 0a 24 73 63 68 65 6d 65 0a 29 29 3b 0a 7d 0a 0a 24 64 n.scheme:.%s',.$scheme.));.}..$d
e9de0 65 66 61 75 6c 74 50 6f 72 74 20 3d 20 24 64 65 66 61 75 6c 74 50 6f 72 74 73 5b 24 73 63 68 65 efaultPort.=.$defaultPorts[$sche
e9e00 6d 65 5d 3b 0a 24 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 me];.$port.=.parse_url($url,.PHP
e9e20 5f 55 52 4c 5f 50 4f 52 54 29 20 3f 3a 20 24 64 65 66 61 75 6c 74 50 6f 72 74 3b 0a 0a 72 65 74 _URL_PORT).?:.$defaultPort;..ret
e9e40 75 72 6e 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 urn.parse_url($url,.PHP_URL_HOST
e9e60 29 2e 27 3a 27 2e 24 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 ).':'.$port;.}.........private.f
e9e80 75 6e 63 74 69 6f 6e 20 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 unction.isPublicBitBucketDownloa
e9ea0 64 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 29 0a 7b 0a 24 64 6f 6d 61 69 6e d($urlToBitBucketFile).{.$domain
e9ec0 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 .=.parse_url($urlToBitBucketFile
e9ee0 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 64 6f 6d ,.PHP_URL_HOST);.if.(strpos($dom
e9f00 61 69 6e 2c 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 ain,.'bitbucket.org').===.false)
e9f20 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 70 .{.....return.true;.}..$path.=.p
e9f40 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 2c 20 50 48 arse_url($urlToBitBucketFile,.PH
e9f60 50 5f 55 52 4c 5f 50 41 54 48 29 3b 0a 0a 0a 20 0a 20 24 70 61 74 68 50 61 72 74 73 20 3d 20 65 P_URL_PATH);......$pathParts.=.e
e9f80 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e xplode('/',.$path);..return.coun
e9fa0 74 28 24 70 61 74 68 50 61 72 74 73 29 20 3e 3d 20 34 20 26 26 20 24 70 61 74 68 50 61 72 74 73 t($pathParts).>=.4.&&.$pathParts
e9fc0 5b 33 5d 20 3d 3d 20 27 64 6f 77 6e 6c 6f 61 64 73 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 [3].==.'downloads';.}..public.st
e9fe0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 49 4f 49 atic.function.outputWarnings(IOI
ea000 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 61 74 61 29 0a 7b 0a 66 6f 72 nterface.$io,.$url,.$data).{.for
ea020 65 61 63 68 20 28 61 72 72 61 79 28 27 77 61 72 6e 69 6e 67 27 2c 20 27 69 6e 66 6f 27 29 20 61 each.(array('warning',.'info').a
ea040 73 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 64 61 74 61 5b 24 74 79 70 65 s.$type).{.if.(empty($data[$type
ea060 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 ])).{.continue;.}..if.(!empty($d
ea080 61 74 61 5b 24 74 79 70 65 20 2e 20 27 2d 76 65 72 73 69 6f 6e 73 27 5d 29 29 20 7b 0a 24 76 65 ata[$type...'-versions'])).{.$ve
ea0a0 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 rsionParser.=.new.VersionParser(
ea0c0 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d );.$constraint.=.$versionParser-
ea0e0 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 61 74 61 5b 24 74 79 70 65 20 2e 20 >parseConstraints($data[$type...
ea100 27 2d 76 65 72 73 69 6f 6e 73 27 5d 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 65 77 20 43 '-versions']);.$composer.=.new.C
ea120 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e onstraint('==',.$versionParser->
ea140 6e 6f 72 6d 61 6c 69 7a 65 28 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 normalize(Composer::getVersion()
ea160 29 29 3b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 63 ));.if.(!$constraint->matches($c
ea180 6f 6d 70 6f 73 65 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e omposer)).{.continue;.}.}..$io->
ea1a0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 27 2e 24 74 79 70 65 2e 27 3e 27 2e 75 63 66 69 72 73 74 writeError('<'.$type.'>'.ucfirst
ea1c0 28 24 74 79 70 65 29 2e 27 20 66 72 6f 6d 20 27 2e 24 75 72 6c 2e 27 3a 20 27 2e 24 64 61 74 61 ($type).'.from.'.$url.':.'.$data
ea1e0 5b 24 74 79 70 65 5d 2e 27 3c 2f 27 2e 24 74 79 70 65 2e 27 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 3c [$type].'</'.$type.'>');.}.}.}.<
ea200 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
ea220 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 69 6c 65 6e 63 65 72 0a 7b 0a er\Util;.......class.Silencer.{.
ea240 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 20 3d 20 61 72 72 61 79 ...private.static.$stack.=.array
ea260 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ();........public.static.functio
ea280 6e 20 73 75 70 70 72 65 73 73 28 24 6d 61 73 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 n.suppress($mask.=.null).{.if.(!
ea2a0 69 73 73 65 74 28 24 6d 61 73 6b 29 29 20 7b 0a 24 6d 61 73 6b 20 3d 20 45 5f 57 41 52 4e 49 4e isset($mask)).{.$mask.=.E_WARNIN
ea2c0 47 20 7c 20 45 5f 4e 4f 54 49 43 45 20 7c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 7c 20 G.|.E_NOTICE.|.E_USER_WARNING.|.
ea2e0 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 7c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 E_USER_NOTICE.|.E_DEPRECATED.|.E
ea300 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 53 54 52 49 43 54 3b 0a 7d 0a 24 _USER_DEPRECATED.|.E_STRICT;.}.$
ea320 6f 6c 64 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 3b 0a 73 65 6c 66 3a 3a 24 old.=.error_reporting();.self::$
ea340 73 74 61 63 6b 5b 5d 20 3d 20 24 6f 6c 64 3b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 stack[].=.$old;.error_reporting(
ea360 24 6f 6c 64 20 26 20 7e 24 6d 61 73 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a $old.&.~$mask);..return.$old;.}.
ea380 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f ....public.static.function.resto
ea3a0 72 65 28 29 0a 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 29 29 re().{.if.(!empty(self::$stack))
ea3c0 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 61 72 72 61 79 5f 70 6f 70 28 73 65 6c .{.error_reporting(array_pop(sel
ea3e0 66 3a 3a 24 73 74 61 63 6b 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 f::$stack));.}.}...........publi
ea400 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 28 24 63 61 6c 6c 61 62 6c 65 c.static.function.call($callable
ea420 20 29 0a 7b 0a 74 72 79 20 7b 0a 73 65 6c 66 3a 3a 73 75 70 70 72 65 73 73 28 29 3b 0a 24 72 65 .).{.try.{.self::suppress();.$re
ea440 73 75 6c 74 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 63 61 6c sult.=.call_user_func_array($cal
ea460 6c 61 62 6c 65 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 lable,.array_slice(func_get_args
ea480 28 29 2c 20 31 29 29 3b 0a 73 65 6c 66 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 0a 72 65 74 75 72 (),.1));.self::restore();..retur
ea4a0 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 n.$result;.}.catch.(\Exception.$
ea4c0 65 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 74 68 72 6f 77 20 24 65 e).{...self::restore();.throw.$e
ea4e0 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ;.}.}.}.<?php............namespa
ea500 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ce.Composer\Util;..use.Composer\
ea520 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f Spdx\SpdxLicenses;..trigger_erro
ea540 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 53 70 64 r('The.'...__NAMESPACE__...'\Spd
ea560 78 4c 69 63 65 6e 73 65 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 xLicense.class.is.deprecated,.us
ea580 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 20 69 6e 73 e.Composer\Spdx\SpdxLicenses.ins
ea5a0 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a tead.',.E_USER_DEPRECATED);.....
ea5c0 63 6c 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 65 20 65 78 74 65 6e 64 73 20 53 70 64 78 4c 69 class.SpdxLicense.extends.SpdxLi
ea5e0 63 65 6e 73 65 73 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 censes.{.}.<?php............name
ea600 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 space.Composer\Util;..use.Compos
ea620 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 er\Composer;........final.class.
ea640 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a StreamContextFactory.{..........
ea660 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 public.static.function.getContex
ea680 74 28 24 75 72 6c 2c 20 61 72 72 61 79 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 20 3d 20 t($url,.array.$defaultOptions.=.
ea6a0 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 20 3d 20 array(),.array.$defaultParams.=.
ea6c0 61 72 72 61 79 28 29 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 array()).{.$options.=.array('htt
ea6e0 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 0a 20 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 p'.=>.array(...'follow_location'
ea700 20 3d 3e 20 31 2c 0a 27 6d 61 78 5f 72 65 64 69 72 65 63 74 73 27 20 3d 3e 20 32 30 2c 0a 29 29 .=>.1,.'max_redirects'.=>.20,.))
ea720 3b 0a 0a 0a 20 69 66 20 28 28 50 48 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 20 7c 7c 20 ;....if.((PHP_SAPI.===.'cli'.||.
ea740 50 48 50 5f 53 41 50 49 20 3d 3d 3d 20 27 70 68 70 64 62 67 27 29 20 26 26 20 28 21 65 6d 70 74 PHP_SAPI.===.'phpdbg').&&.(!empt
ea760 79 28 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d y($_SERVER['HTTP_PROXY']).||.!em
ea780 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 29 29 20 7b 0a pty($_SERVER['http_proxy']))).{.
ea7a0 24 70 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 $proxy.=.parse_url(!empty($_SERV
ea7c0 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 68 74 ER['http_proxy']).?.$_SERVER['ht
ea7e0 74 70 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f 50 52 4f 58 tp_proxy'].:.$_SERVER['HTTP_PROX
ea800 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 Y']);.}....if.(!empty($_SERVER['
ea820 43 47 49 5f 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 29 20 7b 0a 24 70 72 6f 78 79 20 3d 20 70 61 CGI_HTTP_PROXY'])).{.$proxy.=.pa
ea840 72 73 65 5f 75 72 6c 28 24 5f 53 45 52 56 45 52 5b 27 43 47 49 5f 48 54 54 50 5f 50 52 4f 58 59 rse_url($_SERVER['CGI_HTTP_PROXY
ea860 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 ']);.}....if.(preg_match('{^http
ea880 73 3a 2f 2f 7d 69 27 2c 20 24 75 72 6c 29 20 26 26 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 s://}i',.$url).&&.(!empty($_SERV
ea8a0 45 52 5b 27 48 54 54 50 53 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 5f 53 ER['HTTPS_PROXY']).||.!empty($_S
ea8c0 45 52 56 45 52 5b 27 68 74 74 70 73 5f 70 72 6f 78 79 27 5d 29 29 29 20 7b 0a 24 70 72 6f 78 79 ERVER['https_proxy']))).{.$proxy
ea8e0 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 .=.parse_url(!empty($_SERVER['ht
ea900 74 70 73 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 73 5f 70 tps_proxy']).?.$_SERVER['https_p
ea920 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 53 5f 50 52 4f 58 59 27 5d roxy'].:.$_SERVER['HTTPS_PROXY']
ea940 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 4e 4f 5f );.}....if.(!empty($_SERVER['NO_
ea960 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f PROXY']).||.!empty($_SERVER['no_
ea980 70 72 6f 78 79 27 5d 29 20 26 26 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f proxy']).&&.parse_url($url,.PHP_
ea9a0 55 52 4c 5f 48 4f 53 54 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 6e 65 77 20 4e 6f 50 72 URL_HOST)).{.$pattern.=.new.NoPr
ea9c0 6f 78 79 50 61 74 74 65 72 6e 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f 70 oxyPattern(!empty($_SERVER['no_p
ea9e0 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f 70 72 6f 78 79 27 5d 20 3a roxy']).?.$_SERVER['no_proxy'].:
eaa00 20 24 5f 53 45 52 56 45 52 5b 27 4e 4f 5f 50 52 4f 58 59 27 5d 29 3b 0a 69 66 20 28 24 70 61 74 .$_SERVER['NO_PROXY']);.if.($pat
eaa20 74 65 72 6e 2d 3e 74 65 73 74 28 24 75 72 6c 29 29 20 7b 0a 75 6e 73 65 74 28 24 70 72 6f 78 79 tern->test($url)).{.unset($proxy
eaa40 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 72 6f 78 79 29 29 20 7b 0a 24 70 );.}.}..if.(!empty($proxy)).{.$p
eaa60 72 6f 78 79 55 52 4c 20 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 73 63 68 65 6d 65 27 5d roxyURL.=.isset($proxy['scheme']
eaa80 29 20 3f 20 24 70 72 6f 78 79 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 20 3a 20 27 ).?.$proxy['scheme']...'://'.:.'
eaaa0 27 3b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 68 6f ';.$proxyURL..=.isset($proxy['ho
eaac0 73 74 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 68 6f 73 74 27 5d 20 3a 20 27 27 3b 0a 0a 69 66 st']).?.$proxy['host'].:.'';..if
eaae0 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 24 70 72 6f 78 .(isset($proxy['port'])).{.$prox
eab00 79 55 52 4c 20 2e 3d 20 22 3a 22 20 2e 20 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d 3b 0a 7d 20 yURL..=.":"...$proxy['port'];.}.
eab20 65 6c 73 65 69 66 20 28 27 68 74 74 70 3a 2f 2f 27 20 3d 3d 20 73 75 62 73 74 72 28 24 70 72 6f elseif.('http://'.==.substr($pro
eab40 78 79 55 52 4c 2c 20 30 2c 20 37 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 38 xyURL,.0,.7)).{.$proxyURL..=.":8
eab60 30 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 70 73 3a 2f 2f 27 20 3d 3d 20 73 75 62 73 0";.}.elseif.('https://'.==.subs
eab80 74 72 28 24 70 72 6f 78 79 55 52 4c 2c 20 30 2c 20 38 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c tr($proxyURL,.0,.8)).{.$proxyURL
eaba0 20 2e 3d 20 22 3a 34 34 33 22 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 78 79 55 52 4c 20 3d 20 73 74 72 ..=.":443";.}....$proxyURL.=.str
eabc0 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 _replace(array('http://',.'https
eabe0 3a 2f 2f 27 29 2c 20 61 72 72 61 79 28 27 74 63 70 3a 2f 2f 27 2c 20 27 73 73 6c 3a 2f 2f 27 29 ://'),.array('tcp://',.'ssl://')
eac00 2c 20 24 70 72 6f 78 79 55 52 4c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ,.$proxyURL);..if.(0.===.strpos(
eac20 24 70 72 6f 78 79 55 52 4c 2c 20 27 73 73 6c 3a 27 29 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e $proxyURL,.'ssl:').&&.!extension
eac40 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 _loaded('openssl')).{.throw.new.
eac60 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 61 62 \RuntimeException('You.must.enab
eac80 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 75 73 65 20 le.the.openssl.extension.to.use.
eaca0 61 20 70 72 6f 78 79 20 6f 76 65 72 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e a.proxy.over.https');.}..$option
eacc0 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 20 3d 20 24 70 72 6f 78 79 55 52 4c 3b 0a s['http']['proxy'].=.$proxyURL;.
eace0 0a 0a 20 73 77 69 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 ...switch.(parse_url($url,.PHP_U
ead00 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 63 61 73 65 20 27 68 74 74 70 27 3a 20 0a 20 24 72 65 RL_SCHEME)).{.case.'http':...$re
ead20 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 5f 50 52 4f 58 59 qFullUriEnv.=.getenv('HTTP_PROXY
ead40 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 46 75 6c 6c _REQUEST_FULLURI');.if.($reqFull
ead60 55 72 69 45 6e 76 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c 55 72 69 45 UriEnv.===.false.||.$reqFullUriE
ead80 6e 76 20 3d 3d 3d 20 27 27 20 7c 7c 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 46 75 6c nv.===.''.||.(strtolower($reqFul
eada0 6c 55 72 69 45 6e 76 29 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 lUriEnv).!==.'false'.&&.(bool).$
eadc0 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 reqFullUriEnv)).{.$options['http
eade0 27 5d 5b 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a ']['request_fulluri'].=.true;.}.
eae00 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 27 3a 20 0a 20 24 72 65 71 46 75 6c 6c 55 break;.case.'https':...$reqFullU
eae20 72 69 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 51 55 riEnv.=.getenv('HTTPS_PROXY_REQU
eae40 45 53 54 5f 46 55 4c 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 46 75 6c 6c 55 72 69 45 6e EST_FULLURI');.if.($reqFullUriEn
eae60 76 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d v.===.false.||.$reqFullUriEnv.==
eae80 3d 20 27 27 20 7c 7c 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 46 75 6c 6c 55 72 69 45 =.''.||.(strtolower($reqFullUriE
eaea0 6e 76 29 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 72 65 71 46 75 nv).!==.'false'.&&.(bool).$reqFu
eaec0 6c 6c 55 72 69 45 6e 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 72 llUriEnv)).{.$options['http']['r
eaee0 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b equest_fulluri'].=.true;.}.break
eaf00 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 68 74 74 70 73 27 20 3d 3d 3d 20 70 61 72 73 65 5f 75 72 6c ;.}....if.('https'.===.parse_url
eaf20 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 24 6f 70 74 69 6f ($url,.PHP_URL_SCHEME)).{.$optio
eaf40 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 65 6e 61 62 6c 65 64 27 5d 20 3d 20 74 72 75 65 3b ns['ssl']['SNI_enabled'].=.true;
eaf60 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 24 .if.(PHP_VERSION_ID.<.50600).{.$
eaf80 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 73 65 72 76 65 72 5f 6e 61 6d 65 27 options['ssl']['SNI_server_name'
eafa0 5d 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 ].=.parse_url($url,.PHP_URL_HOST
eafc0 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 75 73 65 72 );.}.}....if.(isset($proxy['user
eafe0 27 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f '])).{.$auth.=.rawurldecode($pro
eb000 78 79 5b 27 75 73 65 72 27 5d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 70 xy['user']);.if.(isset($proxy['p
eb020 61 73 73 27 5d 29 29 20 7b 0a 24 61 75 74 68 20 2e 3d 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 64 ass'])).{.$auth..=.':'...rawurld
eb040 65 63 6f 64 65 28 24 70 72 6f 78 79 5b 27 70 61 73 73 27 5d 29 3b 0a 7d 0a 24 61 75 74 68 20 3d ecode($proxy['pass']);.}.$auth.=
eb060 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 29 3b 0a 0a 0a 20 69 66 20 28 69 73 .base64_encode($auth);....if.(is
eb080 73 65 74 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 set($defaultOptions['http']['hea
eb0a0 64 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 66 61 75 6c 74 der'])).{.if.(is_string($default
eb0c0 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 64 Options['http']['header'])).{.$d
eb0e0 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 efaultOptions['http']['header'].
eb100 3d 20 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b =.array($defaultOptions['http'][
eb120 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 'header']);.}.$defaultOptions['h
eb140 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 22 50 72 6f 78 79 2d 41 75 74 68 6f ttp']['header'][].=."Proxy-Autho
eb160 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 7b 24 61 75 74 68 7d 22 3b 0a 7d 20 65 6c 73 65 rization:.Basic.{$auth}";.}.else
eb180 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 .{.$options['http']['header'].=.
eb1a0 61 72 72 61 79 28 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 array("Proxy-Authorization:.Basi
eb1c0 63 20 7b 24 61 75 74 68 7d 22 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 c.{$auth}");.}.}.}..$options.=.a
eb1e0 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 6f 70 74 69 6f 6e 73 2c rray_replace_recursive($options,
eb200 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f .$defaultOptions);..if.(isset($o
eb220 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 6f 70 ptions['http']['header'])).{.$op
eb240 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 73 65 6c 66 3a 3a tions['http']['header'].=.self::
eb260 66 69 78 48 74 74 70 48 65 61 64 65 72 46 69 65 6c 64 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 fixHttpHeaderField($options['htt
eb280 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 p']['header']);.}..if.(defined('
eb2a0 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 HHVM_VERSION')).{.$phpVersion.=.
eb2c0 27 48 48 56 4d 20 27 20 2e 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 20 7b 'HHVM.'...HHVM_VERSION;.}.else.{
eb2e0 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 27 50 48 50 20 27 20 2e 20 50 48 50 5f 4d 41 4a 4f .$phpVersion.=.'PHP.'...PHP_MAJO
eb300 52 5f 56 45 52 53 49 4f 4e 20 2e 20 27 2e 27 20 2e 20 50 48 50 5f 4d 49 4e 4f 52 5f 56 45 52 53 R_VERSION...'.'...PHP_MINOR_VERS
eb320 49 4f 4e 20 2e 20 27 2e 27 20 2e 20 50 48 50 5f 52 45 4c 45 41 53 45 5f 56 45 52 53 49 4f 4e 3b ION...'.'...PHP_RELEASE_VERSION;
eb340 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b .}..if.(!isset($options['http'][
eb360 27 68 65 61 64 65 72 27 5d 29 20 7c 7c 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 'header']).||.false.===.stripos(
eb380 69 6d 70 6c 6f 64 65 28 27 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 implode('',.$options['http']['he
eb3a0 61 64 65 72 27 5d 29 2c 20 27 75 73 65 72 2d 61 67 65 6e 74 27 29 29 20 7b 0a 24 6f 70 74 69 6f ader']),.'user-agent')).{.$optio
eb3c0 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 73 70 72 69 6e 74 66 ns['http']['header'][].=.sprintf
eb3e0 28 0a 27 55 73 65 72 2d 41 67 65 6e 74 3a 20 43 6f 6d 70 6f 73 65 72 2f 25 73 20 28 25 73 3b 20 (.'User-Agent:.Composer/%s.(%s;.
eb400 25 73 3b 20 25 73 25 73 29 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e %s;.%s%s)',.Composer::getVersion
eb420 28 29 2c 0a 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 (),.function_exists('php_uname')
eb440 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 66 .?.php_uname('s').:.'Unknown',.f
eb460 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 unction_exists('php_uname').?.ph
eb480 70 5f 75 6e 61 6d 65 28 27 72 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 24 70 68 70 56 65 p_uname('r').:.'Unknown',.$phpVe
eb4a0 72 73 69 6f 6e 2c 0a 67 65 74 65 6e 76 28 27 43 49 27 29 20 3f 20 27 3b 20 43 49 27 20 3a 20 27 rsion,.getenv('CI').?.';.CI'.:.'
eb4c0 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 '.);.}..return.stream_context_cr
eb4e0 65 61 74 65 28 24 6f 70 74 69 6f 6e 73 2c 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 29 3b 0a eate($options,.$defaultParams);.
eb500 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 }............private.static.func
eb520 74 69 6f 6e 20 66 69 78 48 74 74 70 48 65 61 64 65 72 46 69 65 6c 64 28 24 68 65 61 64 65 72 29 tion.fixHttpHeaderField($header)
eb540 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 68 65 61 64 65 72 29 29 20 7b 0a 24 68 65 .{.if.(!is_array($header)).{.$he
eb560 61 64 65 72 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 24 68 65 61 64 65 72 29 3b ader.=.explode("\r\n",.$header);
eb580 0a 7d 0a 75 61 73 6f 72 74 28 24 68 65 61 64 65 72 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c .}.uasort($header,.function.($el
eb5a0 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 69 70 6f 73 28 24 65 6c 2c 20 27 63 6f 6e 74 65 6e 74 ).{.return.stripos($el,.'content
eb5c0 2d 74 79 70 65 27 29 20 3d 3d 3d 20 30 20 3f 20 31 20 3a 20 2d 31 3b 0a 7d 29 3b 0a 0a 72 65 74 -type').===.0.?.1.:.-1;.});..ret
eb5e0 75 72 6e 20 24 68 65 61 64 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$header;.}.}.<?php..........
eb600 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 ..namespace.Composer\Util;..use.
eb620 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f Composer\Config;.use.Composer\IO
eb640 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 0a 7b 0a 63 \IOInterface;......class.Svn.{.c
eb660 6f 6e 73 74 20 4d 41 58 5f 51 54 59 5f 41 55 54 48 5f 54 52 49 45 53 20 3d 20 35 3b 0a 0a 0a 0a onst.MAX_QTY_AUTH_TRIES.=.5;....
eb680 0a 70 72 6f 74 65 63 74 65 64 20 24 63 72 65 64 65 6e 74 69 61 6c 73 3b 0a 0a 0a 0a 0a 70 72 6f .protected.$credentials;.....pro
eb6a0 74 65 63 74 65 64 20 24 68 61 73 41 75 74 68 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 tected.$hasAuth;.....protected.$
eb6c0 69 6f 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 0a 0a 0a 0a 70 72 6f 74 io;.....protected.$url;.....prot
eb6e0 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a ected.$cacheCredentials.=.true;.
eb700 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 ....protected.$process;.....prot
eb720 65 63 74 65 64 20 24 71 74 79 41 75 74 68 54 72 69 65 73 20 3d 20 30 3b 0a 0a 0a 0a 0a 70 72 6f ected.$qtyAuthTries.=.0;.....pro
eb740 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 tected.$config;.....private.stat
eb760 69 63 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ic.$version;........public.funct
eb780 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 ion.__construct($url,.IOInterfac
eb7a0 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 e.$io,.Config.$config,.ProcessEx
eb7c0 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d ecutor.$process.=.null).{.$this-
eb7e0 3e 75 72 6c 20 3d 20 24 75 72 6c 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 >url.=.$url;.$this->io.=.$io;.$t
eb800 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 his->config.=.$config;.$this->pr
eb820 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 ocess.=.$process.?:.new.ProcessE
eb840 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 xecutor($io);.}..public.static.f
eb860 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 45 6e 76 28 29 0a 7b 0a 0a 20 70 75 74 65 6e 76 28 22 44 unction.cleanEnv().{...putenv("D
eb880 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 22 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 YLD_LIBRARY_PATH");.unset($_SERV
eb8a0 45 52 5b 27 44 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a ER['DYLD_LIBRARY_PATH']);.}.....
eb8c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 ..........public.function.execut
eb8e0 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 e($command,.$url,.$cwd.=.null,.$
eb900 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b path.=.null,.$verbose.=.false).{
eb920 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 ...$this->config->prohibitUrlByC
eb940 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 72 65 74 75 72 6e 20 onfig($url,.$this->io);..return.
eb960 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 63 6f 6d $this->executeWithAuthRetry($com
eb980 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 mand,.$cwd,.$url,.$path,.$verbos
eb9a0 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e);.}..............public.functi
eb9c0 6f 6e 20 65 78 65 63 75 74 65 4c 6f 63 61 6c 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 70 61 74 68 2c on.executeLocal($command,.$path,
eb9e0 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a .$cwd.=.null,.$verbose.=.false).
eba00 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 {...return.$this->executeWithAut
eba20 68 52 65 74 72 79 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 27 27 2c 20 24 70 61 74 68 hRetry($command,.$cwd,.'',.$path
eba40 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ,.$verbose);.}..private.function
eba60 20 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 73 76 6e 43 6f 6d 6d 61 6e .executeWithAuthRetry($svnComman
eba80 64 2c 20 24 63 77 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 0a d,.$cwd,.$url,.$path,.$verbose).
ebaa0 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 {...$command.=.$this->getCommand
ebac0 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 6f 75 ($svnCommand,.$url,.$path);..$ou
ebae0 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 68 tput.=.null;.$io.=.$this->io;.$h
ebb00 61 6e 64 6c 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 andler.=.function.($type,.$buffe
ebb20 72 29 20 75 73 65 20 28 26 24 6f 75 74 70 75 74 2c 20 24 69 6f 2c 20 24 76 65 72 62 6f 73 65 29 r).use.(&$output,.$io,.$verbose)
ebb40 20 7b 0a 69 66 20 28 24 74 79 70 65 20 21 3d 3d 20 27 6f 75 74 27 29 20 7b 0a 72 65 74 75 72 6e .{.if.($type.!==.'out').{.return
ebb60 3b 0a 7d 0a 69 66 20 28 27 52 65 64 69 72 65 63 74 69 6e 67 20 74 6f 20 55 52 4c 20 27 20 3d 3d ;.}.if.('Redirecting.to.URL.'.==
ebb80 3d 20 73 75 62 73 74 72 28 24 62 75 66 66 65 72 2c 20 30 2c 20 31 39 29 29 20 7b 0a 72 65 74 75 =.substr($buffer,.0,.19)).{.retu
ebba0 72 6e 3b 0a 7d 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 62 75 66 66 65 72 3b 0a 69 66 20 28 24 76 rn;.}.$output..=.$buffer;.if.($v
ebbc0 65 72 62 6f 73 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 erbose).{.$io->writeError($buffe
ebbe0 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 3b 0a 24 73 74 61 74 75 73 20 3d 20 24 74 68 69 73 2d r,.false);.}.};.$status.=.$this-
ebc00 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 68 61 6e >process->execute($command,.$han
ebc20 64 6c 65 72 2c 20 24 63 77 64 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 73 74 61 74 75 73 29 20 dler,.$cwd);.if.(0.===.$status).
ebc40 7b 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4f 75 74 70 75 {.return.$output;.}..$errorOutpu
ebc60 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 t.=.$this->process->getErrorOutp
ebc80 75 74 28 29 3b 0a 24 66 75 6c 6c 4f 75 74 70 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 ut();.$fullOutput.=.implode("\n"
ebca0 2c 20 61 72 72 61 79 28 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 29 3b ,.array($output,.$errorOutput));
ebcc0 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f ....if.(false.===.stripos($fullO
ebce0 75 74 70 75 74 2c 20 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 74 utput,.'Could.not.authenticate.t
ebd00 6f 20 73 65 72 76 65 72 3a 27 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 o.server:').&&.false.===.stripos
ebd20 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 ($fullOutput,.'authorization.fai
ebd40 6c 65 64 27 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c led').&&.false.===.stripos($full
ebd60 4f 75 74 70 75 74 2c 20 27 73 76 6e 3a 20 45 31 37 30 30 30 31 3a 27 29 0a 26 26 20 66 61 6c 73 Output,.'svn:.E170001:').&&.fals
ebd80 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 73 76 6e 3a e.===.stripos($fullOutput,.'svn:
ebda0 20 45 32 31 35 30 30 34 3a 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d .E215004:')).{.throw.new.\Runtim
ebdc0 65 45 78 63 65 70 74 69 6f 6e 28 24 66 75 6c 6c 4f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 eException($fullOutput);.}..if.(
ebde0 21 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 41 75 !$this->hasAuth()).{.$this->doAu
ebe00 74 68 44 61 6e 63 65 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 71 74 79 41 75 thDance();.}....if.($this->qtyAu
ebe20 74 68 54 72 69 65 73 2b 2b 20 3c 20 73 65 6c 66 3a 3a 4d 41 58 5f 51 54 59 5f 41 55 54 48 5f 54 thTries++.<.self::MAX_QTY_AUTH_T
ebe40 52 49 45 53 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 RIES).{...return.$this->executeW
ebe60 69 74 68 41 75 74 68 52 65 74 72 79 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 ithAuthRetry($svnCommand,.$cwd,.
ebe80 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 $url,.$path,.$verbose);.}..throw
ebea0 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 77 72 6f 6e 67 20 63 .new.\RuntimeException(.'wrong.c
ebec0 72 65 64 65 6e 74 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 28 27 2e 24 66 75 6c 6c 4f 75 74 70 redentials.provided.('.$fullOutp
ebee0 75 74 2e 27 29 27 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ut.')'.);.}.....public.function.
ebf00 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 63 61 63 68 65 43 72 65 64 65 6e setCacheCredentials($cacheCreden
ebf20 74 69 61 6c 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 tials).{.$this->cacheCredentials
ebf40 20 3d 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 .=.$cacheCredentials;.}........p
ebf60 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 41 75 74 68 44 61 6e 63 65 28 29 0a rotected.function.doAuthDance().
ebf80 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 {...if.(!$this->io->isInteractiv
ebfa0 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 e()).{.throw.new.\RuntimeExcepti
ebfc0 6f 6e 28 0a 27 63 61 6e 20 6e 6f 74 20 61 73 6b 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 on(.'can.not.ask.for.authenticat
ebfe0 69 6f 6e 20 69 6e 20 6e 6f 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 27 0a 29 3b 0a ion.in.non.interactive.mode'.);.
ec000 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 54 68 65 20 53 75 }..$this->io->writeError("The.Su
ec020 62 76 65 72 73 69 6f 6e 20 73 65 72 76 65 72 20 28 7b 24 74 68 69 73 2d 3e 75 72 6c 7d 29 20 72 bversion.server.({$this->url}).r
ec040 65 71 75 65 73 74 65 64 20 63 72 65 64 65 6e 74 69 61 6c 73 3a 22 29 3b 0a 0a 24 74 68 69 73 2d equested.credentials:");..$this-
ec060 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 >hasAuth.=.true;.$this->credenti
ec080 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b als['username'].=.$this->io->ask
ec0a0 28 22 55 73 65 72 6e 61 6d 65 3a 20 22 29 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 ("Username:.");.$this->credentia
ec0c0 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 ls['password'].=.$this->io->askA
ec0e0 6e 64 48 69 64 65 41 6e 73 77 65 72 28 22 50 61 73 73 77 6f 72 64 3a 20 22 29 3b 0a 0a 24 74 68 ndHideAnswer("Password:.");..$th
ec100 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 69 6f is->cacheCredentials.=.$this->io
ec120 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 22 53 68 6f 75 6c 64 20 53 75 62 76 65 72 ->askConfirmation("Should.Subver
ec140 73 69 6f 6e 20 63 61 63 68 65 20 74 68 65 73 65 20 63 72 65 64 65 6e 74 69 61 6c 73 3f 20 28 79 sion.cache.these.credentials?.(y
ec160 65 73 2f 6e 6f 29 20 22 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a es/no).",.true);..return.$this;.
ec180 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 }...........protected.function.g
ec1a0 65 74 43 6f 6d 6d 61 6e 64 28 24 63 6d 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 etCommand($cmd,.$url,.$path.=.nu
ec1c0 6c 6c 29 0a 7b 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 20 25 73 25 73 20 25 ll).{.$cmd.=.sprintf(.'%s.%s%s.%
ec1e0 73 27 2c 0a 24 63 6d 64 2c 0a 27 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 27 2c 0a s',.$cmd,.'--non-interactive.',.
ec200 24 74 68 69 73 2d 3e 67 65 74 43 72 65 64 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 2c 0a 50 72 $this->getCredentialString(),.Pr
ec220 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 0a 29 3b 0a 0a ocessExecutor::escape($url).);..
ec240 69 66 20 28 24 70 61 74 68 29 20 7b 0a 24 63 6d 64 20 2e 3d 20 27 20 27 20 2e 20 50 72 6f 63 65 if.($path).{.$cmd..=.'.'...Proce
ec260 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 ssExecutor::escape($path);.}..re
ec280 74 75 72 6e 20 24 63 6d 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 turn.$cmd;.}.........protected.f
ec2a0 75 6e 63 74 69 6f 6e 20 67 65 74 43 72 65 64 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 0a 7b 0a unction.getCredentialString().{.
ec2c0 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 if.(!$this->hasAuth()).{.return.
ec2e0 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 0a 27 20 25 73 2d 2d 75 73 65 '';.}..return.sprintf(.'.%s--use
ec300 72 6e 61 6d 65 20 25 73 20 2d 2d 70 61 73 73 77 6f 72 64 20 25 73 20 27 2c 0a 24 74 68 69 73 2d rname.%s.--password.%s.',.$this-
ec320 3e 67 65 74 41 75 74 68 43 61 63 68 65 28 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 >getAuthCache(),.ProcessExecutor
ec340 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 6e 61 6d 65 28 29 29 2c 0a ::escape($this->getUsername()),.
ec360 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 ProcessExecutor::escape($this->g
ec380 65 74 50 61 73 73 77 6f 72 64 28 29 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 etPassword()).);.}........protec
ec3a0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 73 73 77 6f 72 64 28 29 0a 7b 0a 69 66 20 ted.function.getPassword().{.if.
ec3c0 28 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a ($this->credentials.===.null).{.
ec3e0 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 73 76 throw.new.\LogicException("No.sv
ec400 6e 20 61 75 74 68 20 64 65 74 65 63 74 65 64 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 n.auth.detected.");.}..return.is
ec420 73 65 74 28 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 set($this->credentials['password
ec440 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f ']).?.$this->credentials['passwo
ec460 72 64 27 5d 20 3a 20 27 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 rd'].:.'';.}........protected.fu
ec480 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 6e 61 6d 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 nction.getUsername().{.if.($this
ec4a0 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 74 68 72 6f 77 20 ->credentials.===.null).{.throw.
ec4c0 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 73 76 6e 20 61 75 74 68 new.\LogicException("No.svn.auth
ec4e0 20 64 65 74 65 63 74 65 64 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 .detected.");.}..return.$this->c
ec500 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a redentials['username'];.}.......
ec520 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 28 29 0a 7b 0a 69 protected.function.hasAuth().{.i
ec540 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 29 20 7b 0a 72 65 f.(null.!==.$this->hasAuth).{.re
ec560 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 turn.$this->hasAuth;.}..if.(fals
ec580 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 43 6f 6e 66 69 e.===.$this->createAuthFromConfi
ec5a0 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 55 72 6c 28 g()).{.$this->createAuthFromUrl(
ec5c0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 3b 0a 7d 0a 0a );.}..return.$this->hasAuth;.}..
ec5e0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 43 .....protected.function.getAuthC
ec600 61 63 68 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 ache().{.return.$this->cacheCred
ec620 65 6e 74 69 61 6c 73 20 3f 20 27 27 20 3a 20 27 2d 2d 6e 6f 2d 61 75 74 68 2d 63 61 63 68 65 20 entials.?.''.:.'--no-auth-cache.
ec640 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 ';.}.......private.function.crea
ec660 74 65 41 75 74 68 46 72 6f 6d 43 6f 6e 66 69 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d teAuthFromConfig().{.if.(!$this-
ec680 3e 63 6f 6e 66 69 67 2d 3e 68 61 73 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 29 20 7b 0a 72 65 >config->has('http-basic')).{.re
ec6a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a turn.$this->hasAuth.=.false;.}..
ec6c0 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 $authConfig.=.$this->config->get
ec6e0 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 3b 0a 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 ('http-basic');..$host.=.parse_u
ec700 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 rl($this->url,.PHP_URL_HOST);.if
ec720 20 28 69 73 73 65 74 28 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 68 6f 73 74 5d 29 29 20 7b 0a 24 .(isset($authConfig[$host])).{.$
ec740 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 this->credentials['username'].=.
ec760 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 68 6f 73 74 5d 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a $authConfig[$host]['username'];.
ec780 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d $this->credentials['password'].=
ec7a0 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 68 6f 73 74 5d 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b .$authConfig[$host]['password'];
ec7c0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a ..return.$this->hasAuth.=.true;.
ec7e0 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 }..return.$this->hasAuth.=.false
ec800 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 ;.}.......private.function.creat
ec820 65 41 75 74 68 46 72 6f 6d 55 72 6c 28 29 0a 7b 0a 24 75 72 69 20 3d 20 70 61 72 73 65 5f 75 72 eAuthFromUrl().{.$uri.=.parse_ur
ec840 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 72 69 5b 27 75 l($this->url);.if.(empty($uri['u
ec860 73 65 72 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 ser'])).{.return.$this->hasAuth.
ec880 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 =.false;.}..$this->credentials['
ec8a0 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 75 72 69 5b 27 75 73 65 72 27 5d 3b 0a 69 66 20 28 21 username'].=.$uri['user'];.if.(!
ec8c0 65 6d 70 74 79 28 24 75 72 69 5b 27 70 61 73 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 empty($uri['pass'])).{.$this->cr
ec8e0 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 75 72 69 5b 27 70 61 edentials['password'].=.$uri['pa
ec900 73 73 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d ss'];.}..return.$this->hasAuth.=
ec920 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 .true;.}.......public.function.b
ec940 69 6e 61 72 79 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 76 65 72 inaryVersion().{.if.(!self::$ver
ec960 73 69 6f 6e 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 sion).{.if.(0.===.$this->process
ec980 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 6f 75 74 70 ->execute('svn.--version',.$outp
ec9a0 75 74 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 5c 64 2b 28 3f 3a 5c ut)).{.if.(preg_match('{(\d+(?:\
ec9c0 2e 5c 64 2b 29 2b 29 7d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 73 .\d+)+)}',.$output,.$match)).{.s
ec9e0 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d elf::$version.=.$match[1];.}.}.}
eca00 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 ..return.self::$version;.}.}.<?p
eca20 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
eca40 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 5c 43 61 \Util;..use.Composer\CaBundle\Ca
eca60 42 75 6e 64 6c 65 3b 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 54 6c 73 48 65 6c 70 65 Bundle;.....final.class.TlsHelpe
eca80 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 r.{.private.static.$useOpensslPa
ecaa0 72 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e rse;...........public.static.fun
ecac0 63 74 69 6f 6e 20 63 68 65 63 6b 43 65 72 74 69 66 69 63 61 74 65 48 6f 73 74 28 24 63 65 72 74 ction.checkCertificateHost($cert
ecae0 69 66 69 63 61 74 65 2c 20 24 68 6f 73 74 6e 61 6d 65 2c 20 26 24 63 6e 20 3d 20 6e 75 6c 6c 29 ificate,.$hostname,.&$cn.=.null)
ecb00 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 .{.$names.=.self::getCertificate
ecb20 4e 61 6d 65 73 28 24 63 65 72 74 69 66 69 63 61 74 65 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 Names($certificate);..if.(empty(
ecb40 24 6e 61 6d 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d $names)).{.return.false;.}..$com
ecb60 62 69 6e 65 64 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 5b binedNames.=.array_merge($names[
ecb80 27 73 61 6e 27 5d 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 73 5b 27 63 6e 27 5d 29 29 3b 0a 24 68 'san'],.array($names['cn']));.$h
ecba0 6f 73 74 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 68 6f 73 74 6e 61 6d 65 29 3b ostname.=.strtolower($hostname);
ecbc0 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 62 69 6e 65 64 4e 61 6d 65 73 20 61 73 20 24 63 65 ..foreach.($combinedNames.as.$ce
ecbe0 72 74 4e 61 6d 65 29 20 7b 0a 24 6d 61 74 63 68 65 72 20 3d 20 73 65 6c 66 3a 3a 63 65 72 74 4e rtName).{.$matcher.=.self::certN
ecc00 61 6d 65 4d 61 74 63 68 65 72 28 24 63 65 72 74 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 24 6d 61 74 ameMatcher($certName);..if.($mat
ecc20 63 68 65 72 20 26 26 20 24 6d 61 74 63 68 65 72 28 24 68 6f 73 74 6e 61 6d 65 29 29 20 7b 0a 24 cher.&&.$matcher($hostname)).{.$
ecc40 63 6e 20 3d 20 24 6e 61 6d 65 73 5b 27 63 6e 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b cn.=.$names['cn'];..return.true;
ecc60 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 .}.}..return.false;.}.........pu
ecc80 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 blic.static.function.getCertific
ecca0 61 74 65 4e 61 6d 65 73 28 24 63 65 72 74 69 66 69 63 61 74 65 29 0a 7b 0a 69 66 20 28 69 73 5f ateNames($certificate).{.if.(is_
eccc0 61 72 72 61 79 28 24 63 65 72 74 69 66 69 63 61 74 65 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 24 array($certificate)).{.$info.=.$
ecce0 63 65 72 74 69 66 69 63 61 74 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 43 61 42 75 6e 64 6c 65 3a certificate;.}.elseif.(CaBundle:
ecd00 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 24 69 6e 66 6f 20 3d :isOpensslParseSafe()).{.$info.=
ecd20 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 61 72 73 65 28 24 63 65 72 74 69 66 69 63 61 74 65 .openssl_x509_parse($certificate
ecd40 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 66 6f 5b 27 73 ,.false);.}..if.(!isset($info['s
ecd60 75 62 6a 65 63 74 27 5d 5b 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 ubject']['commonName'])).{.retur
ecd80 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f n.null;.}..$commonName.=.strtolo
ecda0 77 65 72 28 24 69 6e 66 6f 5b 27 73 75 62 6a 65 63 74 27 5d 5b 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 wer($info['subject']['commonName
ecdc0 27 5d 29 3b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b ']);.$subjectAltNames.=.array();
ecde0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 66 6f 5b 27 65 78 74 65 6e 73 69 6f 6e 73 27 5d 5b ..if.(isset($info['extensions'][
ece00 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 5d 29 29 20 7b 0a 24 73 75 62 6a 65 63 74 41 6c 'subjectAltName'])).{.$subjectAl
ece20 74 4e 61 6d 65 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 2c 5c 73 2a 7d 27 2c tNames.=.preg_split('{\s*,\s*}',
ece40 20 24 69 6e 66 6f 5b 27 65 78 74 65 6e 73 69 6f 6e 73 27 5d 5b 27 73 75 62 6a 65 63 74 41 6c 74 .$info['extensions']['subjectAlt
ece60 4e 61 6d 65 27 5d 29 3b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 Name']);.$subjectAltNames.=.arra
ece80 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 y_filter(array_map(function.($na
ecea0 6d 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 44 me).{.if.(0.===.strpos($name,.'D
ecec0 4e 53 3a 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 6f 6c 6f 77 65 72 28 6c 74 72 69 6d NS:')).{.return.strtolower(ltrim
ecee0 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 34 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e (substr($name,.4)));.}..return.n
ecf00 75 6c 6c 3b 0a 7d 2c 20 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 29 29 3b 0a 24 73 75 62 ull;.},.$subjectAltNames));.$sub
ecf20 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 73 75 62 jectAltNames.=.array_values($sub
ecf40 6a 65 63 74 41 6c 74 4e 61 6d 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a jectAltNames);.}..return.array(.
ecf60 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 2c 0a 27 73 61 6e 27 20 3d 3e 20 24 73 'cn'.=>.$commonName,.'san'.=>.$s
ecf80 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ubjectAltNames,.);.}............
ecfa0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .............................pub
ecfc0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 lic.static.function.getCertifica
ecfe0 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 24 63 65 72 74 69 66 69 63 61 74 65 29 0a 7b 0a 24 70 teFingerprint($certificate).{.$p
ed000 75 62 6b 65 79 64 65 74 61 69 6c 73 20 3d 20 6f 70 65 6e 73 73 6c 5f 70 6b 65 79 5f 67 65 74 5f ubkeydetails.=.openssl_pkey_get_
ed020 64 65 74 61 69 6c 73 28 6f 70 65 6e 73 73 6c 5f 67 65 74 5f 70 75 62 6c 69 63 6b 65 79 28 24 63 details(openssl_get_publickey($c
ed040 65 72 74 69 66 69 63 61 74 65 29 29 3b 0a 24 70 75 62 6b 65 79 70 65 6d 20 3d 20 24 70 75 62 6b ertificate));.$pubkeypem.=.$pubk
ed060 65 79 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 3b 0a 0a 20 24 73 74 61 72 74 20 3d 20 27 2d 2d eydetails['key'];...$start.=.'--
ed080 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 65 6e 64 20 ---BEGIN.PUBLIC.KEY-----';.$end.
ed0a0 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 70 =.'-----END.PUBLIC.KEY-----';.$p
ed0c0 65 6d 74 72 69 6d 20 3d 20 73 75 62 73 74 72 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 73 74 72 70 emtrim.=.substr($pubkeypem,.strp
ed0e0 6f 73 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 24 73 74 61 72 74 29 20 2b 20 73 74 72 6c 65 6e 28 os($pubkeypem,.$start).+.strlen(
ed100 24 73 74 61 72 74 29 2c 20 28 73 74 72 6c 65 6e 28 24 70 75 62 6b 65 79 70 65 6d 29 20 2d 20 73 $start),.(strlen($pubkeypem).-.s
ed120 74 72 70 6f 73 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 24 65 6e 64 29 29 20 2a 20 28 2d 31 29 29 trpos($pubkeypem,.$end)).*.(-1))
ed140 3b 0a 24 64 65 72 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 70 65 6d 74 72 69 6d 29 ;.$der.=.base64_decode($pemtrim)
ed160 3b 0a 0a 72 65 74 75 72 6e 20 73 68 61 31 28 24 64 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ;..return.sha1($der);.}.........
ed180 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 70 65 6e 73 73 .public.static.function.isOpenss
ed1a0 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 43 61 42 75 6e 64 6c 65 3a 3a lParseSafe().{.return.CaBundle::
ed1c0 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a isOpensslParseSafe();.}.........
ed1e0 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 65 72 74 4e 61 6d 65 private.static.function.certName
ed200 4d 61 74 63 68 65 72 28 24 63 65 72 74 4e 61 6d 65 29 0a 7b 0a 24 77 69 6c 64 63 61 72 64 73 20 Matcher($certName).{.$wildcards.
ed220 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 65 72 74 4e 61 6d 65 2c 20 27 2a 27 29 3b 0a =.substr_count($certName,.'*');.
ed240 0a 69 66 20 28 30 20 3d 3d 3d 20 24 77 69 6c 64 63 61 72 64 73 29 20 7b 0a 0a 20 72 65 74 75 72 .if.(0.===.$wildcards).{...retur
ed260 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 6f 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 63 65 72 n.function.($hostname).use.($cer
ed280 74 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 73 74 6e 61 6d 65 20 3d 3d 3d 20 24 63 tName).{.return.$hostname.===.$c
ed2a0 65 72 74 4e 61 6d 65 3b 0a 7d 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 24 77 69 6c 64 63 61 ertName;.};.}..if.(1.===.$wildca
ed2c0 72 64 73 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 rds).{.$components.=.explode('.'
ed2e0 2c 20 24 63 65 72 74 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 33 20 3e 20 63 6f 75 6e 74 28 24 63 6f ,.$certName);..if.(3.>.count($co
ed300 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 mponents)).{...return;.}..$first
ed320 43 6f 6d 70 6f 6e 65 6e 74 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 3b 0a 0a 0a 20 69 Component.=.$components[0];....i
ed340 66 20 28 27 2a 27 20 21 3d 3d 20 24 66 69 72 73 74 43 6f 6d 70 6f 6e 65 6e 74 5b 73 74 72 6c 65 f.('*'.!==.$firstComponent[strle
ed360 6e 28 24 66 69 72 73 74 43 6f 6d 70 6f 6e 65 6e 74 29 20 2d 20 31 5d 29 20 7b 0a 72 65 74 75 72 n($firstComponent).-.1]).{.retur
ed380 6e 3b 0a 7d 0a 0a 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 70 72 65 67 5f 71 75 6f 74 n;.}..$wildcardRegex.=.preg_quot
ed3a0 65 28 24 63 65 72 74 4e 61 6d 65 29 3b 0a 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 73 e($certName);.$wildcardRegex.=.s
ed3c0 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 5b 61 2d 7a 30 2d 39 2d 5d 2b 27 2c 20 tr_replace('\\*',.'[a-z0-9-]+',.
ed3e0 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 29 3b 0a 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 $wildcardRegex);.$wildcardRegex.
ed400 3d 20 22 7b 5e 7b 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 7d 24 7d 22 3b 0a 0a 72 65 74 75 72 =."{^{$wildcardRegex}$}";..retur
ed420 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 6f 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 77 69 6c n.function.($hostname).use.($wil
ed440 64 63 61 72 64 52 65 67 65 78 29 20 7b 0a 72 65 74 75 72 6e 20 31 20 3d 3d 3d 20 70 72 65 67 5f dcardRegex).{.return.1.===.preg_
ed460 6d 61 74 63 68 28 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 2c 20 24 68 6f 73 74 6e 61 6d 65 29 match($wildcardRegex,.$hostname)
ed480 3b 0a 7d 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ;.};.}.}.}.<?php............name
ed4a0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 space.Composer\Util;..use.Compos
ed4c0 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 6c 0a 7b 0a 70 75 62 6c 69 er\Config;.....class.Url.{.publi
ed4e0 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 44 69 73 74 52 65 66 65 c.static.function.updateDistRefe
ed500 72 65 6e 63 65 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 72 65 66 rence(Config.$config,.$url,.$ref
ed520 29 0a 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f ).{.$host.=.parse_url($url,.PHP_
ed540 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 61 70 69 2e 67 URL_HOST);..if.($host.===.'api.g
ed560 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e ithub.com'.||.$host.===.'github.
ed580 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f com'.||.$host.===.'www.github.co
ed5a0 6d 27 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f m').{.if.(preg_match('{^https?:/
ed5c0 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 /(?:www\.)?github\.com/([^/]+)/(
ed5e0 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 72 29 62 61 6c 6c 2f 28 2e 2b 29 24 7d 69 27 2c 20 24 [^/]+)/(zip|tar)ball/(.+)$}i',.$
ed600 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a url,.$match)).{...$url.=.'https:
ed620 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 //api.github.com/repos/'...$matc
ed640 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d h[1]...'/'..$match[2]...'/'...$m
ed660 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 20 65 6c 73 65 atch[3]...'ball/'...$ref;.}.else
ed680 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 if.(preg_match('{^https?://(?:ww
ed6a0 77 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 w\.)?github\.com/([^/]+)/([^/]+)
ed6c0 2f 61 72 63 68 69 76 65 2f 2e 2b 5c 2e 28 7a 69 70 7c 74 61 72 29 28 3f 3a 5c 2e 67 7a 29 3f 24 /archive/.+\.(zip|tar)(?:\.gz)?$
ed6e0 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 }i',.$url,.$match)).{...$url.=.'
ed700 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e https://api.github.com/repos/'..
ed720 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f .$match[1]...'/'..$match[2]...'/
ed740 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a '...$match[3]...'ball/'...$ref;.
ed760 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f }.elseif.(preg_match('{^https?:/
ed780 2f 61 70 69 5c 2e 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 72 65 70 6f 73 2f 28 5b 5e 2f 5d 2b 29 2f /api\.github\.com/repos/([^/]+)/
ed7a0 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 72 29 62 61 6c 6c 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 ([^/]+)/(zip|tar)ball(?:/.+)?$}i
ed7c0 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 ',.$url,.$match)).{...$url.=.'ht
ed7e0 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 tps://api.github.com/repos/'...$
ed800 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 match[1]...'/'..$match[2]...'/'.
ed820 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 0a ..$match[3]...'ball/'...$ref;.}.
ed840 7d 20 65 6c 73 65 69 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f }.elseif.($host.===.'bitbucket.o
ed860 72 67 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d 20 27 77 77 77 2e 62 69 74 62 75 63 6b 65 74 2e rg'.||.$host.===.'www.bitbucket.
ed880 6f 72 67 27 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f org').{.if.(preg_match('{^https?
ed8a0 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f ://(?:www\.)?bitbucket\.org/([^/
ed8c0 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 67 65 74 2f 28 2e 2b 29 5c 2e 28 7a 69 70 7c 74 61 72 5c 2e ]+)/([^/]+)/get/(.+)\.(zip|tar\.
ed8e0 67 7a 7c 74 61 72 5c 2e 62 7a 32 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 gz|tar\.bz2)$}i',.$url,.$match))
ed900 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f .{...$url.=.'https://bitbucket.o
ed920 72 67 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 rg/'...$match[1]...'/'..$match[2
ed940 5d 20 2e 20 27 2f 67 65 74 2f 27 20 2e 20 24 72 65 66 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 ]...'/get/'...$ref...'.'...$matc
ed960 68 5b 34 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 h[4];.}.}.elseif.($host.===.'git
ed980 6c 61 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 6c 61 lab.com'.||.$host.===.'www.gitla
ed9a0 62 2e 63 6f 6d 27 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 b.com').{.if.(preg_match('{^http
ed9c0 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 6c 61 62 5c 2e 63 6f 6d 2f 61 70 69 2f 76 s?://(?:www\.)?gitlab\.com/api/v
ed9e0 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 2f 28 5b 5e 2f 5d 2b 29 2f 72 65 70 6f 73 69 74 6f 72 79 [34]/projects/([^/]+)/repository
eda00 2f 61 72 63 68 69 76 65 5c 2e 28 7a 69 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 7c /archive\.(zip|tar\.gz|tar\.bz2|
eda20 74 61 72 29 5c 3f 73 68 61 3d 2e 2b 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 tar)\?sha=.+$}i',.$url,.$match))
eda40 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 63 6f 6d 2f .{...$url.=.'https://gitlab.com/
eda60 61 70 69 2f 76 34 2f 70 72 6f 6a 65 63 74 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 api/v4/projects/'...$match[1]...
eda80 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 72 63 68 69 76 65 2e 27 20 2e 20 24 6d 61 74 63 68 5b '/repository/archive.'...$match[
edaa0 32 5d 20 2e 20 27 3f 73 68 61 3d 27 20 2e 20 24 72 65 66 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 2]...'?sha='...$ref;.}.}.elseif.
edac0 28 69 6e 5f 61 72 72 61 79 28 24 68 6f 73 74 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 (in_array($host,.$config->get('g
edae0 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d ithub-domains'),.true)).{.$url.=
edb00 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 2f 72 65 70 6f 73 2f 5b 5e 2f 5d 2b 2f 5b 5e .preg_replace('{(/repos/[^/]+/[^
edb20 2f 5d 2b 2f 28 7a 69 70 7c 74 61 72 29 62 61 6c 6c 29 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 27 2c 20 /]+/(zip|tar)ball)(?:/.+)?$}i',.
edb40 27 24 31 2f 27 2e 24 72 65 66 2c 20 24 75 72 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f '$1/'.$ref,.$url);.}.elseif.(in_
edb60 61 72 72 61 79 28 24 68 6f 73 74 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 array($host,.$config->get('gitla
edb80 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 b-domains'),.true)).{.$url.=.pre
edba0 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 2f 61 70 69 2f 76 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 g_replace('{(/api/v[34]/projects
edbc0 2f 5b 5e 2f 5d 2b 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 72 63 68 69 76 65 5c 2e 28 3f 3a 7a 69 /[^/]+/repository/archive\.(?:zi
edbe0 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 7c 74 61 72 29 5c 3f 73 68 61 3d 29 2e 2b p|tar\.gz|tar\.bz2|tar)\?sha=).+
edc00 24 7d 69 27 2c 20 27 24 7b 31 7d 27 2e 24 72 65 66 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 $}i',.'${1}'.$ref,.$url);.}..ret
edc20 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e urn.$url;.}.}.<?php............n
edc40 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c amespace.Composer;..use.Symfony\
edc60 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
edc80 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 nterface;..trigger_error('The.'.
edca0 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 ..__NAMESPACE__...'\XdebugHandle
edcc0 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f r.class.is.deprecated,.use.Compo
edce0 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 20 ser\XdebugHandler\XdebugHandler.
edd00 69 6e 73 74 65 61 64 2c 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a instead,',.E_USER_DEPRECATED);..
edd20 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 20 65 78 74 65 6e 64 73 20 58 ...class.XdebugHandler.extends.X
edd40 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 0a 7b 0a 63 6f 6e debugHandler\XdebugHandler.{.con
edd60 73 74 20 45 4e 56 5f 41 4c 4c 4f 57 20 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 41 4c 4c 4f 57 5f 58 st.ENV_ALLOW.=.'COMPOSER_ALLOW_X
edd80 44 45 42 55 47 27 3b 0a 63 6f 6e 73 74 20 45 4e 56 5f 56 45 52 53 49 4f 4e 20 3d 20 27 43 4f 4d DEBUG';.const.ENV_VERSION.=.'COM
edda0 50 4f 53 45 52 5f 58 44 45 42 55 47 5f 56 45 52 53 49 4f 4e 27 3b 0a 0a 70 75 62 6c 69 63 20 66 POSER_XDEBUG_VERSION';..public.f
eddc0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 unction.__construct(OutputInterf
edde0 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 ace.$output).{.parent::__constru
ede00 63 74 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 2d 2d 61 6e 73 69 27 29 3b 0a 7d 0a 7d 0a 3c 3f ct('composer',.'--ansi');.}.}.<?
ede20 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 49 php............function.includeI
ede40 66 45 78 69 73 74 73 28 24 66 69 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 fExists($file).{.return.file_exi
ede60 73 74 73 28 24 66 69 6c 65 29 20 3f 20 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 20 3a 20 66 61 6c sts($file).?.include.$file.:.fal
ede80 73 65 3b 0a 7d 0a 0a 69 66 20 28 28 21 24 6c 6f 61 64 65 72 20 3d 20 69 6e 63 6c 75 64 65 49 66 se;.}..if.((!$loader.=.includeIf
edea0 45 78 69 73 74 73 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c Exists(__DIR__.'/../vendor/autol
edec0 6f 61 64 2e 70 68 70 27 29 29 20 26 26 20 28 21 24 6c 6f 61 64 65 72 20 3d 20 69 6e 63 6c 75 64 oad.php')).&&.(!$loader.=.includ
edee0 65 49 66 45 78 69 73 74 73 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 61 75 74 eIfExists(__DIR__.'/../../../aut
edf00 6f 6c 6f 61 64 2e 70 68 70 27 29 29 29 20 7b 0a 65 63 68 6f 20 27 59 6f 75 20 6d 75 73 74 20 73 oload.php'))).{.echo.'You.must.s
edf20 65 74 20 75 70 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 75 et.up.the.project.dependencies.u
edf40 73 69 6e 67 20 60 63 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 60 27 2e 50 48 50 5f 45 4f 4c sing.`composer.install`'.PHP_EOL
edf60 2e 0a 27 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 ..'See.https://getcomposer.org/d
edf80 6f 77 6e 6c 6f 61 64 2f 20 66 6f 72 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e 20 69 6e 73 ownload/.for.instructions.on.ins
edfa0 74 61 6c 6c 69 6e 67 20 43 6f 6d 70 6f 73 65 72 27 2e 50 48 50 5f 45 4f 4c 3b 0a 65 78 69 74 28 talling.Composer'.PHP_EOL;.exit(
edfc0 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 3c 3f 70 68 70 0a 0a 2f 2a 1);.}..return.$loader;.<?php../*
edfe0 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 ..*.This.file.is.part.of.Compose
ee000 72 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 r...*..*.(c).Nils.Adermann.<nade
ee020 72 6d 61 6e 40 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 rman@naderman.de>..*.....Jordi.B
ee040 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a oggiano.<j.boggiano@seld.be>..*.
ee060 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 .*.For.the.full.copyright.and.li
ee080 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 cense.information,.please.view.t
ee0a0 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 he.LICENSE..*.file.that.was.dist
ee0c0 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 ributed.with.this.source.code...
ee0e0 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b */..namespace.Composer\Autoload;
ee100 0a 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 4c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 ../**..*.ClassLoader.implements.
ee120 61 20 50 53 52 2d 30 2c 20 50 53 52 2d 34 20 61 6e 64 20 63 6c 61 73 73 6d 61 70 20 63 6c 61 73 a.PSR-0,.PSR-4.and.classmap.clas
ee140 73 20 6c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 s.loader...*..*.....$loader.=.ne
ee160 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 w.\Composer\Autoload\ClassLoader
ee180 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 72 65 67 69 73 74 65 72 20 63 6c 61 73 73 65 ();..*..*.....//.register.classe
ee1a0 73 20 77 69 74 68 20 6e 61 6d 65 73 70 61 63 65 73 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 s.with.namespaces..*.....$loader
ee1c0 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 27 2c 20 5f 5f 44 49 52 ->add('Symfony\Component',.__DIR
ee1e0 5f 5f 2e 27 2f 63 6f 6d 70 6f 6e 65 6e 74 27 29 3b 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 __.'/component');..*.....$loader
ee200 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 27 2c 20 20 20 20 20 20 20 20 20 20 20 5f 5f 44 49 52 ->add('Symfony',...........__DIR
ee220 5f 5f 2e 27 2f 66 72 61 6d 65 77 6f 72 6b 27 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 61 __.'/framework');..*..*.....//.a
ee240 63 74 69 76 61 74 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 0a 20 2a 20 20 20 20 20 24 6c ctivate.the.autoloader..*.....$l
ee260 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 oader->register();..*..*.....//.
ee280 74 6f 20 65 6e 61 62 6c 65 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 to.enable.searching.the.include.
ee2a0 70 61 74 68 20 28 65 67 2e 20 66 6f 72 20 50 45 41 52 20 70 61 63 6b 61 67 65 73 29 0a 20 2a 20 path.(eg..for.PEAR.packages)..*.
ee2c0 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 74 ....$loader->setUseIncludePath(t
ee2e0 72 75 65 29 3b 0a 20 2a 0a 20 2a 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 rue);..*..*.In.this.example,.if.
ee300 79 6f 75 20 74 72 79 20 74 6f 20 75 73 65 20 61 20 63 6c 61 73 73 20 69 6e 20 74 68 65 20 53 79 you.try.to.use.a.class.in.the.Sy
ee320 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 0a 20 2a 20 6e 61 6d 65 73 70 61 63 65 20 6f 72 20 mfony\Component..*.namespace.or.
ee340 6f 6e 65 20 6f 66 20 69 74 73 20 63 68 69 6c 64 72 65 6e 20 28 53 79 6d 66 6f 6e 79 5c 43 6f 6d one.of.its.children.(Symfony\Com
ee360 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 29 2c 0a 20 2a ponent\Console.for.instance),..*
ee380 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 66 69 72 73 74 20 6c 6f 6f 6b 20 .the.autoloader.will.first.look.
ee3a0 66 6f 72 20 74 68 65 20 63 6c 61 73 73 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e for.the.class.under.the.componen
ee3c0 74 2f 0a 20 2a 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 74 68 65 t/..*.directory,.and.it.will.the
ee3e0 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 74 68 65 20 66 72 61 6d 65 77 6f 72 6b 2f 20 64 69 72 n.fallback.to.the.framework/.dir
ee400 65 63 74 6f 72 79 20 69 66 20 6e 6f 74 0a 20 2a 20 66 6f 75 6e 64 20 62 65 66 6f 72 65 20 67 69 ectory.if.not..*.found.before.gi
ee420 76 69 6e 67 20 75 70 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 6c 6f 6f ving.up...*..*.This.class.is.loo
ee440 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 55 6e 69 76 65 72 sely.based.on.the.Symfony.Univer
ee460 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 salClassLoader...*..*.@author.Fa
ee480 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 bien.Potencier.<fabien@symfony.c
ee4a0 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a om>..*.@author.Jordi.Boggiano.<j
ee4c0 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 .boggiano@seld.be>..*.@see....ht
ee4e0 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 30 2f 0a tp://www.php-fig.org/psr/psr-0/.
ee500 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 .*.@see....http://www.php-fig.or
ee520 67 2f 70 73 72 2f 70 73 72 2d 34 2f 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 g/psr/psr-4/..*/.class.ClassLoad
ee540 65 72 0a 7b 0a 20 20 20 20 2f 2f 20 50 53 52 2d 34 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 er.{.....//.PSR-4.....private.$p
ee560 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 refixLengthsPsr4.=.array();.....
ee580 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 private.$prefixDirsPsr4.=.array(
ee5a0 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 );.....private.$fallbackDirsPsr4
ee5c0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2f 20 50 53 52 2d 30 0a 20 20 20 20 70 72 .=.array();......//.PSR-0.....pr
ee5e0 69 76 61 74 65 20 24 70 72 65 66 69 78 65 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ivate.$prefixesPsr0.=.array();..
ee600 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 ...private.$fallbackDirsPsr0.=.a
ee620 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 75 73 65 49 6e 63 6c 75 64 65 rray();......private.$useInclude
ee640 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 Path.=.false;.....private.$class
ee660 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 Map.=.array();.....private.$clas
ee680 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 sMapAuthoritative.=.false;.....p
ee6a0 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 rivate.$missingClasses.=.array()
ee6c0 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 20 20 20 20 ;.....private.$apcuPrefix;......
ee6e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 20 20 public.function.getPrefixes()...
ee700 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 72 ..{.........if.(!empty($this->pr
ee720 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 efixesPsr0)).{.............retur
ee740 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 n.call_user_func_array('array_me
ee760 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 3b 0a 20 20 20 20 rge',.$this->prefixesPsr0);.....
ee780 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 20 ....}..........return.array();..
ee7a0 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 ...}......public.function.getPre
ee7c0 66 69 78 65 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e fixesPsr4().....{.........return
ee7e0 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d 0a 0a 20 .$this->prefixDirsPsr4;.....}...
ee800 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 ...public.function.getFallbackDi
ee820 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d rs().....{.........return.$this-
ee840 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 >fallbackDirsPsr0;.....}......pu
ee860 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 blic.function.getFallbackDirsPsr
ee880 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 4().....{.........return.$this->
ee8a0 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 fallbackDirsPsr4;.....}......pub
ee8c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4d 61 70 28 29 0a 20 20 20 20 7b lic.function.getClassMap().....{
ee8e0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 3b .........return.$this->classMap;
ee900 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 .....}....../**......*.@param.ar
ee920 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 43 6c 61 73 73 20 74 6f 20 66 69 6c 65 6e 61 6d 65 20 ray.$classMap.Class.to.filename.
ee940 6d 61 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 map......*/.....public.function.
ee960 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 20 20 20 addClassMap(array.$classMap)....
ee980 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 29 20 .{.........if.($this->classMap).
ee9a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 {.............$this->classMap.=.
ee9c0 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 6c array_merge($this->classMap,.$cl
ee9e0 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 assMap);.........}.else.{.......
eea00 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 24 63 6c 61 73 73 4d 61 ......$this->classMap.=.$classMa
eea20 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 p;.........}.....}....../**.....
eea40 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 30 20 64 69 72 65 .*.Registers.a.set.of.PSR-0.dire
eea60 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 69 78 2c 20 65 69 74 68 ctories.for.a.given.prefix,.eith
eea80 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e 64 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e er......*.appending.or.prependin
eeaa0 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 g.to.the.ones.previously.set.for
eeac0 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 .this.prefix.......*......*.@par
eeae0 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 am.string.......$prefix..The.pre
eeb00 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 fix......*.@param.array|string.$
eeb20 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 2d 30 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 69 paths...The.PSR-0.root.directori
eeb40 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 es......*.@param.bool.........$p
eeb60 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 64 69 repend.Whether.to.prepend.the.di
eeb80 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e rectories......*/.....public.fun
eeba0 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 ction.add($prefix,.$paths,.$prep
eebc0 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 end.=.false).....{.........if.(!
eebe0 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 $prefix).{.............if.($prep
eec00 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 end).{.................$this->fa
eec20 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 llbackDirsPsr0.=.array_merge(...
eec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 ..................(array).$paths
eec60 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c ,.....................$this->fal
eec80 6c 62 61 63 6b 44 69 72 73 50 73 72 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b lbackDirsPsr0.................);
eeca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
eecc0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 ......$this->fallbackDirsPsr0.=.
eece0 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 array_merge(....................
eed00 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 2c 0a 20 20 20 20 20 20 .$this->fallbackDirsPsr0,.......
eed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 ..............(array).$paths....
eed40 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 .............);.............}...
eed60 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ...........return;.........}....
eed80 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 70 72 65 66 69 78 5b 30 5d 3b 0a 20 20 20 20 20 ......$first.=.$prefix[0];......
eeda0 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 ...if.(!isset($this->prefixesPsr
eedc0 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 0[$first][$prefix])).{..........
eede0 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 ...$this->prefixesPsr0[$first][$
eee00 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 0a 20 20 20 20 20 prefix].=.(array).$paths;.......
eee20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .......return;.........}........
eee40 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 .if.($prepend).{.............$th
eee60 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 is->prefixesPsr0[$first][$prefix
eee80 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ].=.array_merge(................
eeea0 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(array).$paths,................
eeec0 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 .$this->prefixesPsr0[$first][$pr
eeee0 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 efix].............);.........}.e
eef00 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 lse.{.............$this->prefixe
eef20 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d sPsr0[$first][$prefix].=.array_m
eef40 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 erge(.................$this->pre
eef60 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 fixesPsr0[$first][$prefix],.....
eef80 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 ............(array).$paths......
eefa0 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f .......);.........}.....}....../
eefc0 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 **......*.Registers.a.set.of.PSR
eefe0 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 -4.directories.for.a.given.names
ef000 70 61 63 65 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e 64 69 6e 67 20 6f 72 pace,.either......*.appending.or
ef020 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 72 65 76 69 6f 75 73 .prepending.to.the.ones.previous
ef040 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 ly.set.for.this.namespace.......
ef060 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 *......*.@param.string.......$pr
ef080 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 efix..The.prefix/namespace,.with
ef0a0 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 .trailing.'\\'......*.@param.arr
ef0c0 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 ay|string.$paths...The.PSR-4.bas
ef0e0 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c e.directories......*.@param.bool
ef100 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 .........$prepend.Whether.to.pre
ef120 70 65 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 pend.the.directories......*.....
ef140 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .*.@throws.\InvalidArgumentExcep
ef160 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tion......*/.....public.function
ef180 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 .addPsr4($prefix,.$paths,.$prepe
ef1a0 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 nd.=.false).....{.........if.(!$
ef1c0 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 prefix).{.............//.Registe
ef1e0 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 74 68 65 20 72 6f 6f 74 20 6e 61 6d 65 73 r.directories.for.the.root.names
ef200 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 pace..............if.($prepend).
ef220 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 {.................$this->fallbac
ef240 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 kDirsPsr4.=.array_merge(........
ef260 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 .............(array).$paths,....
ef280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b .................$this->fallback
ef2a0 44 69 72 73 50 73 72 34 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 DirsPsr4.................);.....
ef2c0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
ef2e0 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 .$this->fallbackDirsPsr4.=.array
ef300 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 _merge(.....................$thi
ef320 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 s->fallbackDirsPsr4,............
ef340 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 .........(array).$paths.........
ef360 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ........);.............}........
ef380 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 .}.elseif.(!isset($this->prefixD
ef3a0 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 irsPsr4[$prefix])).{............
ef3c0 20 2f 2f 20 52 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 6e .//.Register.directories.for.a.n
ef3e0 65 77 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 ew.namespace..............$lengt
ef400 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 h.=.strlen($prefix);............
ef420 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 .if.('\\'.!==.$prefix[$length.-.
ef440 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 1]).{.................throw.new.
ef460 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e \InvalidArgumentException("A.non
ef480 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 74 20 65 6e 64 20 77 69 74 -empty.PSR-4.prefix.must.end.wit
ef4a0 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 h.a.namespace.separator.");.....
ef4c0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 ........}.............$this->pre
ef4e0 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 fixLengthsPsr4[$prefix[0]][$pref
ef500 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ix].=.$length;.............$this
ef520 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 ->prefixDirsPsr4[$prefix].=.(arr
ef540 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 70 ay).$paths;.........}.elseif.($p
ef560 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 72 65 70 65 6e 64 repend).{.............//.Prepend
ef580 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 .directories.for.an.already.regi
ef5a0 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 stered.namespace..............$t
ef5c0 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 his->prefixDirsPsr4[$prefix].=.a
ef5e0 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 rray_merge(.................(arr
ef600 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ay).$paths,.................$thi
ef620 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 s->prefixDirsPsr4[$prefix]......
ef640 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 .......);.........}.else.{......
ef660 20 20 20 20 20 20 20 2f 2f 20 41 70 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 .......//.Append.directories.for
ef680 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 .an.already.registered.namespace
ef6a0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 ..............$this->prefixDirsP
ef6c0 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 sr4[$prefix].=.array_merge(.....
ef6e0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 ............$this->prefixDirsPsr
ef700 34 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 4[$prefix],.................(arr
ef720 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 ay).$paths.............);.......
ef740 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 ..}.....}....../**......*.Regist
ef760 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 30 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 ers.a.set.of.PSR-0.directories.f
ef780 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 69 78 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 or.a.given.prefix,......*.replac
ef7a0 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f ing.any.others.previously.set.fo
ef7c0 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 r.this.prefix.......*......*.@pa
ef7e0 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 ram.string.......$prefix.The.pre
ef800 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 fix......*.@param.array|string.$
ef820 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d 30 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 paths..The.PSR-0.base.directorie
ef840 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 s......*/.....public.function.se
ef860 74 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 t($prefix,.$paths).....{........
ef880 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 .if.(!$prefix).{.............$th
ef8a0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 28 61 72 72 61 79 29 20 24 is->fallbackDirsPsr0.=.(array).$
ef8c0 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 paths;.........}.else.{.........
ef8e0 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 70 72 65 66 69 78 5b ....$this->prefixesPsr0[$prefix[
ef900 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 0]][$prefix].=.(array).$paths;..
ef920 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 .......}.....}....../**......*.R
ef940 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 egisters.a.set.of.PSR-4.director
ef960 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 20 20 20 ies.for.a.given.namespace,......
ef980 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 70 72 65 76 69 6f 75 73 6c *.replacing.any.others.previousl
ef9a0 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 2a y.set.for.this.namespace.......*
ef9c0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 ......*.@param.string.......$pre
ef9e0 66 69 78 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 20 74 fix.The.prefix/namespace,.with.t
efa00 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 railing.'\\'......*.@param.array
efa20 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 65 20 64 |string.$paths..The.PSR-4.base.d
efa40 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 irectories......*......*.@throws
efa60 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 .\InvalidArgumentException......
efa80 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 73 72 34 28 24 */.....public.function.setPsr4($
efaa0 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 prefix,.$paths).....{.........if
efac0 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .(!$prefix).{.............$this-
efae0 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 >fallbackDirsPsr4.=.(array).$pat
efb00 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 hs;.........}.else.{............
efb20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 .$length.=.strlen($prefix);.....
efb40 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 ........if.('\\'.!==.$prefix[$le
efb60 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 ngth.-.1]).{.................thr
efb80 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
efba0 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 74 20 ("A.non-empty.PSR-4.prefix.must.
efbc0 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2e 22 end.with.a.namespace.separator."
efbe0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 );.............}.............$th
efc00 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 70 72 65 66 69 78 5b 30 5d is->prefixLengthsPsr4[$prefix[0]
efc20 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 ][$prefix].=.$length;...........
efc40 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d ..$this->prefixDirsPsr4[$prefix]
efc60 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .=.(array).$paths;.........}....
efc80 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f 6e 20 73 65 61 72 .}....../**......*.Turns.on.sear
efca0 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 66 6f 72 20 63 6c 61 73 73 ching.the.include.path.for.class
efcc0 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f .files.......*......*.@param.boo
efce0 6c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 l.$useIncludePath......*/.....pu
efd00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 blic.function.setUseIncludePath(
efd20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 $useIncludePath).....{.........$
efd40 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 24 75 73 65 49 6e 63 6c 75 this->useIncludePath.=.$useInclu
efd60 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 61 dePath;.....}....../**......*.Ca
efd80 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 65 63 6b 20 69 66 20 74 68 65 20 61 75 74 6f 6c 6f n.be.used.to.check.if.the.autolo
efda0 61 64 65 72 20 75 73 65 73 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 74 6f 20 63 68 ader.uses.the.include.path.to.ch
efdc0 65 63 6b 0a 20 20 20 20 20 2a 20 66 6f 72 20 63 6c 61 73 73 65 73 2e 0a 20 20 20 20 20 2a 0a 20 eck......*.for.classes.......*..
efde0 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ....*.@return.bool......*/.....p
efe00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 ublic.function.getUseIncludePath
efe20 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 ().....{.........return.$this->u
efe40 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 seIncludePath;.....}....../**...
efe60 20 20 20 2a 20 54 75 72 6e 73 20 6f 66 66 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 70 72 65 ...*.Turns.off.searching.the.pre
efe80 66 69 78 20 61 6e 64 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 fix.and.fallback.directories.for
efea0 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 68 61 76 65 20 6e 6f 74 20 62 65 .classes......*.that.have.not.be
efec0 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 en.registered.with.the.class.map
efee0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 63 6c 61 .......*......*.@param.bool.$cla
eff00 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ssMapAuthoritative......*/.....p
eff20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 ublic.function.setClassMapAuthor
eff40 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a itative($classMapAuthoritative).
eff60 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 ....{.........$this->classMapAut
eff80 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 horitative.=.$classMapAuthoritat
effa0 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 68 6f 75 6c ive;.....}....../**......*.Shoul
effc0 64 20 63 6c 61 73 73 20 6c 6f 6f 6b 75 70 20 66 61 69 6c 20 69 66 20 6e 6f 74 20 66 6f 75 6e 64 d.class.lookup.fail.if.not.found
effe0 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6c 61 73 73 20 6d 61 70 3f 0a 20 20 20 20 20 .in.the.current.class.map?......
f0000 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 *......*.@return.bool......*/...
f0020 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6c 61 73 73 4d 61 70 41 75 74 68 ..public.function.isClassMapAuth
f0040 6f 72 69 74 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e oritative().....{.........return
f0060 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 .$this->classMapAuthoritative;..
f0080 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 50 43 75 20 70 72 65 66 69 78 ...}....../**......*.APCu.prefix
f00a0 20 74 6f 20 75 73 65 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 .to.use.to.cache.found/not-found
f00c0 20 63 6c 61 73 73 65 73 2c 20 69 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 65 6e .classes,.if.the.extension.is.en
f00e0 61 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 abled.......*......*.@param.stri
f0100 6e 67 7c 6e 75 6c 6c 20 24 61 70 63 75 50 72 65 66 69 78 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ng|null.$apcuPrefix......*/.....
f0120 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 50 72 65 66 69 78 28 24 61 public.function.setApcuPrefix($a
f0140 70 63 75 50 72 65 66 69 78 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e pcuPrefix).....{.........$this->
f0160 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 61 70 apcuPrefix.=.function_exists('ap
f0180 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 cu_fetch').&&.filter_var(ini_get
f01a0 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 ('apc.enabled'),.FILTER_VALIDATE
f01c0 5f 42 4f 4f 4c 45 41 4e 29 20 3f 20 24 61 70 63 75 50 72 65 66 69 78 20 3a 20 6e 75 6c 6c 3b 0a _BOOLEAN).?.$apcuPrefix.:.null;.
f01e0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 41 50 43 75 20 70 ....}....../**......*.The.APCu.p
f0200 72 65 66 69 78 20 69 6e 20 75 73 65 2c 20 6f 72 20 6e 75 6c 6c 20 69 66 20 41 50 43 75 20 63 61 refix.in.use,.or.null.if.APCu.ca
f0220 63 68 69 6e 67 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ching.is.not.enabled.......*....
f0240 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 0a 20 20 20 20 20 2a 2f 0a ..*.@return.string|null......*/.
f0260 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 63 75 50 72 65 66 69 ....public.function.getApcuPrefi
f0280 78 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e x().....{.........return.$this->
f02a0 61 70 63 75 50 72 65 66 69 78 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 apcuPrefix;.....}....../**......
f02c0 2a 20 52 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 *.Registers.this.instance.as.an.
f02e0 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d autoloader.......*......*.@param
f0300 20 62 6f 6f 6c 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e .bool.$prepend.Whether.to.prepen
f0320 64 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a d.the.autoloader.or.not......*/.
f0340 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 70 72 ....public.function.register($pr
f0360 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c epend.=.false).....{.........spl
f0380 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 _autoload_register(array($this,.
f03a0 27 6c 6f 61 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 20 'loadClass'),.true,.$prepend);..
f03c0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 6e 72 65 67 69 73 74 65 72 73 ...}....../**......*.Unregisters
f03e0 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e .this.instance.as.an.autoloader.
f0400 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 72 ......*/.....public.function.unr
f0420 65 67 69 73 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f egister().....{.........spl_auto
f0440 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f load_unregister(array($this,.'lo
f0460 61 64 43 6c 61 73 73 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 adClass'));.....}....../**......
f0480 2a 20 4c 6f 61 64 73 20 74 68 65 20 67 69 76 65 6e 20 63 6c 61 73 73 20 6f 72 20 69 6e 74 65 72 *.Loads.the.given.class.or.inter
f04a0 66 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 face.......*......*.@param..stri
f04c0 6e 67 20 20 20 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 ng....$class.The.name.of.the.cla
f04e0 73 73 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 ss......*.@return.bool|null.True
f0500 20 69 66 20 6c 6f 61 64 65 64 2c 20 6e 75 6c 6c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 .if.loaded,.null.otherwise......
f0520 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 */.....public.function.loadClass
f0540 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 ($class).....{.........if.($file
f0560 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 .=.$this->findFile($class)).{...
f0580 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a 20 ..........includeFile($file);...
f05a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 ...........return.true;.........
f05c0 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 69 6e 64 73 20 74 68 }.....}....../**......*.Finds.th
f05e0 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 68 65 72 65 20 74 68 65 20 63 6c 61 e.path.to.the.file.where.the.cla
f0600 73 73 20 69 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 ss.is.defined.......*......*.@pa
f0620 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 ram.string.$class.The.name.of.th
f0640 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 e.class......*......*.@return.st
f0660 72 69 6e 67 7c 66 61 6c 73 65 20 54 68 65 20 70 61 74 68 20 69 66 20 66 6f 75 6e 64 2c 20 66 61 ring|false.The.path.if.found,.fa
f0680 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 lse.otherwise......*/.....public
f06a0 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b .function.findFile($class).....{
f06c0 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6c 61 73 73 20 6d 61 70 20 6c 6f 6f 6b 75 70 0a 20 20 20 .........//.class.map.lookup....
f06e0 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 .....if.(isset($this->classMap[$
f0700 63 6c 61 73 73 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 class])).{.............return.$t
f0720 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 7d his->classMap[$class];.........}
f0740 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 .........if.($this->classMapAuth
f0760 6f 72 69 74 61 74 69 76 65 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e oritative.||.isset($this->missin
f0780 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 gClasses[$class])).{............
f07a0 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .return.false;.........}........
f07c0 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 .if.(null.!==.$this->apcuPrefix)
f07e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 61 70 63 75 5f 66 65 74 63 .{.............$file.=.apcu_fetc
f0800 68 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 68 69 74 h($this->apcuPrefix.$class,.$hit
f0820 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 68 69 74 29 20 7b 0a 20 20 20 20 20 );.............if.($hit).{......
f0840 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 ...........return.$file;........
f0860 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 .....}.........}..........$file.
f0880 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 =.$this->findFileWithExtension($
f08a0 63 6c 61 73 73 2c 20 27 2e 70 68 70 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 61 72 class,.'.php');..........//.Sear
f08c0 63 68 20 66 6f 72 20 48 61 63 6b 20 66 69 6c 65 73 20 69 66 20 77 65 20 61 72 65 20 72 75 6e 6e ch.for.Hack.files.if.we.are.runn
f08e0 69 6e 67 20 6f 6e 20 48 48 56 4d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d ing.on.HHVM.........if.(false.==
f0900 3d 20 24 66 69 6c 65 20 26 26 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e =.$file.&&.defined('HHVM_VERSION
f0920 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d ')).{.............$file.=.$this-
f0940 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 >findFileWithExtension($class,.'
f0960 2e 68 68 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 .hh');.........}..........if.(nu
f0980 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 20 20 20 20 ll.!==.$this->apcuPrefix).{.....
f09a0 20 20 20 20 20 20 20 20 61 70 63 75 5f 61 64 64 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 ........apcu_add($this->apcuPref
f09c0 69 78 2e 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ix.$class,.$file);.........}....
f09e0 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 20 20 20 ......if.(false.===.$file).{....
f0a00 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 20 74 68 69 73 20 63 .........//.Remember.that.this.c
f0a20 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 lass.does.not.exist.............
f0a40 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 20 3d .$this->missingClasses[$class].=
f0a60 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .true;.........}..........return
f0a80 20 24 66 69 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 .$file;.....}......private.funct
f0aa0 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 ion.findFileWithExtension($class
f0ac0 2c 20 24 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 34 20 6c ,.$ext).....{.........//.PSR-4.l
f0ae0 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 20 3d ookup.........$logicalPathPsr4.=
f0b00 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 .strtr($class,.'\\',.DIRECTORY_S
f0b20 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 EPARATOR)...$ext;..........$firs
f0b40 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 t.=.$class[0];.........if.(isset
f0b60 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 66 69 72 73 74 ($this->prefixLengthsPsr4[$first
f0b80 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 62 50 61 74 68 20 3d 20 24 63 6c ])).{.............$subPath.=.$cl
f0ba0 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 66 61 6c 73 65 20 21 3d ass;.............while.(false.!=
f0bc0 3d 20 24 6c 61 73 74 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 73 75 62 50 61 74 68 2c 20 27 =.$lastPos.=.strrpos($subPath,.'
f0be0 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 62 50 61 74 68 \\')).{.................$subPath
f0c00 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 74 68 2c 20 30 2c 20 24 6c 61 73 74 50 6f 73 29 .=.substr($subPath,.0,.$lastPos)
f0c20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 61 72 63 68 20 3d 20 24 73 75 62 ;.................$search.=.$sub
f0c40 50 61 74 68 20 2e 20 27 5c 5c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 Path...'\\';.................if.
f0c60 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 (isset($this->prefixDirsPsr4[$se
f0c80 61 72 63 68 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 arch])).{.....................$p
f0ca0 61 74 68 45 6e 64 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 73 athEnd.=.DIRECTORY_SEPARATOR...s
f0cc0 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 6c 61 73 74 50 6f 73 ubstr($logicalPathPsr4,.$lastPos
f0ce0 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 .+.1);.....................forea
f0d00 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 ch.($this->prefixDirsPsr4[$searc
f0d20 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h].as.$dir).{...................
f0d40 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 ......if.(file_exists($file.=.$d
f0d60 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ir...$pathEnd)).{...............
f0d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 ..............return.$file;.....
f0da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
f0dc0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ..........}.................}...
f0de0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ..........}.........}........../
f0e00 2f 20 50 53 52 2d 34 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f /.PSR-4.fallback.dirs.........fo
f0e20 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 reach.($this->fallbackDirsPsr4.a
f0e40 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 s.$dir).{.............if.(file_e
f0e60 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 xists($file.=.$dir...DIRECTORY_S
f0e80 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 29 29 20 7b 0a EPARATOR...$logicalPathPsr4)).{.
f0ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 ................return.$file;...
f0ec0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ..........}.........}........../
f0ee0 2f 20 50 53 52 2d 30 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 /.PSR-0.lookup.........if.(false
f0f00 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 .!==.$pos.=.strrpos($class,.'\\'
f0f20 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 61 6d 65 73 70 61 63 65 64 20 63 )).{.............//.namespaced.c
f0f40 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 lass.name.............$logicalPa
f0f60 74 68 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 thPsr0.=.substr($logicalPathPsr4
f0f80 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e ,.0,.$pos.+.1)..................
f0fa0 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 .strtr(substr($logicalPathPsr4,.
f0fc0 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 $pos.+.1),.'_',.DIRECTORY_SEPARA
f0fe0 54 4f 52 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 TOR);.........}.else.{..........
f1000 20 20 20 2f 2f 20 50 45 41 52 2d 6c 69 6b 65 20 63 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 ...//.PEAR-like.class.name......
f1020 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 .......$logicalPathPsr0.=.strtr(
f1040 24 63 6c 61 73 73 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 $class,.'_',.DIRECTORY_SEPARATOR
f1060 29 20 2e 20 24 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 )...$ext;.........}..........if.
f1080 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 (isset($this->prefixesPsr0[$firs
f10a0 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 t])).{.............foreach.($thi
f10c0 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 s->prefixesPsr0[$first].as.$pref
f10e0 69 78 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 ix.=>.$dirs).{.................i
f1100 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 f.(0.===.strpos($class,.$prefix)
f1120 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 ).{.....................foreach.
f1140 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($dirs.as.$dir).{...............
f1160 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 ..........if.(file_exists($file.
f1180 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 =.$dir...DIRECTORY_SEPARATOR...$
f11a0 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 logicalPathPsr0)).{.............
f11c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 ................return.$file;...
f11e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ......................}.........
f1200 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ............}.................}.
f1220 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ............}.........}.........
f1240 20 2f 2f 20 50 53 52 2d 30 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 .//.PSR-0.fallback.dirs.........
f1260 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 foreach.($this->fallbackDirsPsr0
f1280 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 .as.$dir).{.............if.(file
f12a0 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 _exists($file.=.$dir...DIRECTORY
f12c0 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 _SEPARATOR...$logicalPathPsr0)).
f12e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a {.................return.$file;.
f1300 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ............}.........}.........
f1320 20 2f 2f 20 50 53 52 2d 30 20 69 6e 63 6c 75 64 65 20 70 61 74 68 73 2e 0a 20 20 20 20 20 20 20 .//.PSR-0.include.paths.........
f1340 20 69 66 20 28 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 .if.($this->useIncludePath.&&.$f
f1360 69 6c 65 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 ile.=.stream_resolve_include_pat
f1380 68 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 h($logicalPathPsr0)).{..........
f13a0 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ...return.$file;.........}......
f13c0 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 ....return.false;.....}.}../**..
f13e0 2a 20 53 63 6f 70 65 20 69 73 6f 6c 61 74 65 64 20 69 6e 63 6c 75 64 65 2e 0a 20 2a 0a 20 2a 20 *.Scope.isolated.include...*..*.
f1400 50 72 65 76 65 6e 74 73 20 61 63 63 65 73 73 20 74 6f 20 24 74 68 69 73 2f 73 65 6c 66 20 66 72 Prevents.access.to.$this/self.fr
f1420 6f 6d 20 69 6e 63 6c 75 64 65 64 20 66 69 6c 65 73 2e 0a 20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 om.included.files...*/.function.
f1440 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 6e 63 6c 75 64 65 includeFile($file).{.....include
f1460 20 24 66 69 6c 65 3b 0a 7d 0a 7b 0a 20 20 20 20 22 24 73 63 68 65 6d 61 22 3a 20 22 68 74 74 70 .$file;.}.{....."$schema":."http
f1480 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 ://json-schema.org/draft-04/sche
f14a0 6d 61 23 22 2c 0a 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 72 65 70 72 ma#",....."description":."A.repr
f14c0 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 73 20 6d 65 74 61 64 61 74 61 2e esentation.of.packages.metadata.
f14e0 22 2c 0a 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 22 6f 6e ",....."type":."object",....."on
f1500 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 eOf":.[.........{."required":.[.
f1520 22 70 61 63 6b 61 67 65 73 22 20 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 "packages".].},.........{."requi
f1540 72 65 64 22 3a 20 5b 20 22 70 72 6f 76 69 64 65 72 73 22 20 5d 20 7d 2c 0a 20 20 20 20 20 20 20 red":.[."providers".].},........
f1560 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 .{."required":.[."provider-inclu
f1580 64 65 73 22 2c 20 22 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 22 20 5d 20 7d 0a 20 20 20 20 5d 2c des",."providers-url".].}.....],
f15a0 0a 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 70 61 ....."properties":.{........."pa
f15c0 63 6b 61 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b ckages":.{............."type":.[
f15e0 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 "object",."array"],.............
f1600 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 61 63 "description":."A.hashmap.of.pac
f1620 6b 61 67 65 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 3c 76 65 6e 64 6f kage.names.in.the.form.of.<vendo
f1640 72 3e 2f 3c 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 r>/<name>.",............."additi
f1660 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 onalProperties":.{."$ref":."#/de
f1680 66 69 6e 69 74 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 73 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c finitions/versions".}.........},
f16a0 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 22 3a 20 7b 0a 20 20 20 20 ........."providers-url":.{.....
f16c0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
f16e0 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 70 6f 69 6e 74 20 74 ......"description":."Endpoint.t
f1700 6f 20 72 65 74 72 69 65 76 65 20 70 72 6f 76 69 64 65 72 20 64 61 74 61 20 66 72 6f 6d 2c 20 65 o.retrieve.provider.data.from,.e
f1720 2e 67 2e 20 27 2f 70 2f 25 70 61 63 6b 61 67 65 25 24 25 68 61 73 68 25 2e 6a 73 6f 6e 27 2e 22 .g..'/p/%package%$%hash%.json'."
f1740 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 2d 69 6e .........},........."provider-in
f1760 63 6c 75 64 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 cludes":.{............."type":."
f1780 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f object",............."descriptio
f17a0 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 72 6f 76 69 64 65 72 20 6c 69 73 74 69 n":."A.hashmap.of.provider.listi
f17c0 6e 67 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 ngs.",............."additionalPr
f17e0 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 operties":.{."$ref":."#/definiti
f1800 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ons/provider".}.........},......
f1820 20 20 20 22 70 72 6f 76 69 64 65 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 ..."providers":.{............."t
f1840 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 ype":."object",............."des
f1860 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 61 63 6b 61 67 65 cription":."A.hashmap.of.package
f1880 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 3c 76 65 6e 64 6f 72 3e 2f 3c .names.in.the.form.of.<vendor>/<
f18a0 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c name>.",............."additional
f18c0 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 Properties":.{."$ref":."#/defini
f18e0 74 69 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 tions/provider".}.........},....
f1900 20 20 20 20 20 22 6e 6f 74 69 66 79 2d 62 61 74 63 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ....."notify-batch":.{..........
f1920 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string",............
f1940 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 70 6f 69 6e 74 20 74 6f 20 63 61 6c ."description":."Endpoint.to.cal
f1960 6c 20 61 66 74 65 72 20 6d 75 6c 74 69 70 6c 65 20 70 61 63 6b 61 67 65 73 20 68 61 76 65 20 62 l.after.multiple.packages.have.b
f1980 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 65 2e 67 2e 20 27 2f 64 6f 77 6e 6c 6f 61 64 73 2f een.installed,.e.g..'/downloads/
f19a0 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 65 61 72 63 68 22 3a '.".........},........."search":
f19c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c .{............."type":."string",
f19e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 ............."description":."End
f1a00 70 6f 69 6e 74 20 74 68 61 74 20 70 72 6f 76 69 64 65 73 20 73 65 61 72 63 68 20 63 61 70 61 62 point.that.provides.search.capab
f1a20 69 6c 69 74 69 65 73 2c 20 65 2e 67 2e 20 27 2f 73 65 61 72 63 68 2e 6a 73 6f 6e 3f 71 3d 25 71 ilities,.e.g..'/search.json?q=%q
f1a40 75 65 72 79 25 26 74 79 70 65 3d 25 74 79 70 65 25 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a uery%&type=%type%'.".........},.
f1a60 20 20 20 20 20 20 20 20 22 77 61 72 6e 69 6e 67 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ........"warning":.{............
f1a80 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ."type":."string",............."
f1aa0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6d 65 73 73 61 67 65 20 74 68 61 74 20 77 69 description":."A.message.that.wi
f1ac0 6c 6c 20 62 65 20 6f 75 74 70 75 74 20 62 79 20 43 6f 6d 70 6f 73 65 72 20 61 73 20 61 20 77 61 ll.be.output.by.Composer.as.a.wa
f1ae0 72 6e 69 6e 67 20 77 68 65 6e 20 74 68 69 73 20 73 6f 75 72 63 65 20 69 73 20 63 6f 6e 73 75 6c rning.when.this.source.is.consul
f1b00 74 65 64 2e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 64 65 66 69 ted.".........}.....},....."defi
f1b20 6e 69 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 73 22 3a 20 nitions":.{........."versions":.
f1b40 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a {............."type":."object",.
f1b60 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 ............"description":."A.ha
f1b80 73 68 6d 61 70 20 6f 66 20 76 65 72 73 69 6f 6e 73 20 61 6e 64 20 74 68 65 69 72 20 6d 65 74 61 shmap.of.versions.and.their.meta
f1ba0 64 61 74 61 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 data.",............."additionalP
f1bc0 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 roperties":.{."$ref":."#/definit
f1be0 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ions/version".}.........},......
f1c00 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ..."version":.{............."typ
f1c20 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f 66 e":."object",............."oneOf
f1c40 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 ":.[.................{."$ref":."
f1c60 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 22 20 7d 2c 0a 20 20 20 20 20 20 #/definitions/package".},.......
f1c80 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f ..........{."$ref":."#/definitio
f1ca0 6e 73 2f 6d 65 74 61 70 61 63 6b 61 67 65 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a ns/metapackage".}.............].
f1cc0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d 62 61 73 65 ........},........."package-base
f1ce0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b ":.{............."properties":.{
f1d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 20 22 74 79 70 65 ................."name":.{."type
f1d20 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ":."string".},................."
f1d40 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 type":.{."type":."string".},....
f1d60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 20 22 74 79 70 65 22 ............."version":.{."type"
f1d80 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 :."string".},................."v
f1da0 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ersion_normalized":.{...........
f1dc0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 .........."type":."string",.....
f1de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f1e00 4e 6f 72 6d 61 6c 69 7a 65 64 20 76 65 72 73 69 6f 6e 2c 20 6f 70 74 69 6f 6e 61 6c 20 62 75 74 Normalized.version,.optional.but
f1e20 20 63 61 6e 20 73 61 76 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 61 6c 20 74 69 6d 65 20 6f 6e 20 .can.save.computational.time.on.
f1e40 63 6c 69 65 6e 74 20 73 69 64 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c client.side.".................},
f1e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 20 22 ................."autoload":.{."
f1e80 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."object".},..............
f1ea0 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 ..."require":.{."type":."object"
f1ec0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b .},................."replace":.{
f1ee0 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ."type":."object".},............
f1f00 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 ....."conflict":.{."type":."obje
f1f20 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 ct".},................."provide"
f1f40 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 :.{."type":."object".},.........
f1f60 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e ........"time":.{."type":."strin
f1f80 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 g".}.............},.............
f1fa0 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 "additionalProperties":.true....
f1fc0 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 .....},........."package":.{....
f1fe0 20 20 20 20 20 20 20 20 20 22 61 6c 6c 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."allOf":.[.............
f2000 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 ....{."$ref":."#/definitions/pac
f2020 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a kage-base".},.................{.
f2040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 ...................."properties"
f2060 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 :.{........................."dis
f2080 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 t":.{."type":."object".},.......
f20a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 7b 20 22 74 .................."source":.{."t
f20c0 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."object".}................
f20e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .....}.................},.......
f2100 20 20 20 20 20 20 20 20 20 20 7b 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 ..........{."oneOf":.[..........
f2120 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 ...........{."required":.[."name
f2140 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 73 6f 75 72 63 65 22 20 5d 20 7d 2c 0a 20 20 20 20 ",."version",."source".].},.....
f2160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 ................{."required":.[.
f2180 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 64 69 73 74 22 20 5d 20 7d 0a 20 20 "name",."version",."dist".].}...
f21a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a ..............].}.............].
f21c0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6d 65 74 61 70 61 63 6b 61 67 65 22 ........},........."metapackage"
f21e0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c 4f 66 22 3a 20 5b 0a 20 20 20 20 20 :.{............."allOf":.[......
f2200 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 ...........{."$ref":."#/definiti
f2220 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ons/package-base".},............
f2240 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 .....{....................."prop
f2260 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erties":.{......................
f2280 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 ..."type":.{."type":."string",."
f22a0 65 6e 75 6d 22 3a 20 5b 20 22 6d 65 74 61 70 61 63 6b 61 67 65 22 20 5d 20 7d 0a 20 20 20 20 20 enum":.[."metapackage".].}......
f22c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f22e0 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 22 76 65 72 ......"required":.[."name",."ver
f2300 73 69 6f 6e 22 2c 20 22 74 79 70 65 22 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sion",."type".].................
f2320 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 }.............].........},......
f2340 20 20 20 22 70 72 6f 76 69 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ..."provider":.{............."ty
f2360 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 pe":."object",............."prop
f2380 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 68 61 32 erties":.{................."sha2
f23a0 35 36 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 56":.{....................."type
f23c0 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string",....................
f23e0 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 48 61 73 68 20 76 61 6c 75 65 20 74 68 61 74 ."description":."Hash.value.that
f2400 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 72 65 73 .can.be.used.to.validate.the.res
f2420 6f 75 72 63 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ource.".................}.......
f2440 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 7b 0a 20 20 20 20 ......}.........}.....}.}.{.....
f2460 22 24 73 63 68 65 6d 61 22 3a 20 22 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f "$schema":."http://json-schema.o
f2480 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 22 2c 0a 20 20 20 20 22 6e 61 6d 65 22 rg/draft-04/schema#",....."name"
f24a0 3a 20 22 50 61 63 6b 61 67 65 22 2c 0a 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 :."Package",....."type":."object
f24c0 22 2c 0a 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 66 ",....."additionalProperties":.f
f24e0 61 6c 73 65 2c 0a 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 alse,....."required":.[."name",.
f2500 22 64 65 73 63 72 69 70 74 69 6f 6e 22 20 5d 2c 0a 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 "description".],....."properties
f2520 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ":.{........."name":.{..........
f2540 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string",............
f2560 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 69 ."description":."Package.name,.i
f2580 6e 63 6c 75 64 69 6e 67 20 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 65 66 69 78 2e 22 ncluding.'vendor-name/'.prefix."
f25a0 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 .........},........."type":.{...
f25c0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 .........."description":."Packag
f25e0 65 20 74 79 70 65 2c 20 65 69 74 68 65 72 20 27 6c 69 62 72 61 72 79 27 20 66 6f 72 20 63 6f 6d e.type,.either.'library'.for.com
f2600 6d 6f 6e 20 70 61 63 6b 61 67 65 73 2c 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 mon.packages,.'composer-plugin'.
f2620 66 6f 72 20 70 6c 75 67 69 6e 73 2c 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 20 66 6f 72 20 65 for.plugins,.'metapackage'.for.e
f2640 6d 70 74 79 20 70 61 63 6b 61 67 65 73 2c 20 6f 72 20 61 20 63 75 73 74 6f 6d 20 74 79 70 65 20 mpty.packages,.or.a.custom.type.
f2660 28 5b 61 2d 7a 30 2d 39 2d 5d 2b 29 20 64 65 66 69 6e 65 64 20 62 79 20 77 68 61 74 65 76 65 72 ([a-z0-9-]+).defined.by.whatever
f2680 20 70 72 6f 6a 65 63 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 61 70 70 6c 69 65 73 20 74 6f .project.this.package.applies.to
f26a0 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 .",............."type":."string"
f26c0 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 61 72 67 65 74 2d 64 69 72 22 .........},........."target-dir"
f26e0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 :.{............."description":."
f2700 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 74 DEPRECATED:.Forces.the.package.t
f2720 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 20 67 69 76 65 6e 20 73 75 o.be.installed.into.the.given.su
f2740 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 66 6f bdirectory.path..This.is.used.fo
f2760 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 20 70 61 63 6b 61 67 65 73 20 74 68 61 r.autoloading.PSR-0.packages.tha
f2780 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 69 72 20 66 75 6c 6c 20 70 61 74 68 t.do.not.contain.their.full.path
f27a0 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 73 20 66 6f 72 20 63 72 6f 73 73 2d ..Use.forward.slashes.for.cross-
f27c0 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 22 2c 0a 20 20 20 20 20 20 platform.compatibility.",.......
f27e0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 7d ......"type":."string".........}
f2800 2c 0a 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 ,........."description":.{......
f2820 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 ......."type":."string",........
f2840 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 53 68 6f 72 74 20 70 61 63 6b 61 ....."description":."Short.packa
f2860 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 ge.description.".........},.....
f2880 20 20 20 20 22 6b 65 79 77 6f 72 64 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 ...."keywords":.{............."t
f28a0 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d ype":."array",............."item
f28c0 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 s":.{................."type":."s
f28e0 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 tring",................."descrip
f2900 74 69 6f 6e 22 3a 20 22 41 20 74 61 67 2f 6b 65 79 77 6f 72 64 20 74 68 61 74 20 74 68 69 73 20 tion":."A.tag/keyword.that.this.
f2920 70 61 63 6b 61 67 65 20 72 65 6c 61 74 65 73 20 74 6f 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 package.relates.to."............
f2940 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 68 6f 6d 65 70 61 67 65 22 .}.........},........."homepage"
f2960 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 :.{............."type":."string"
f2980 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 48 6f ,............."description":."Ho
f29a0 6d 65 70 61 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 22 2c 0a 20 20 mepage.URL.for.the.project.",...
f29c0 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 .........."format":."uri".......
f29e0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 61 64 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 ..},........."readme":.{........
f2a00 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 ....."type":."string",..........
f2a20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 52 65 6c 61 74 69 76 65 20 70 61 74 68 ..."description":."Relative.path
f2a40 20 74 6f 20 74 68 65 20 72 65 61 64 6d 65 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 20 20 20 20 .to.the.readme.document.".......
f2a60 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 ..},........."version":.{.......
f2a80 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."string",.........
f2aa0 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 76 65 72 73 ...."description":."Package.vers
f2ac0 69 6f 6e 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 ion,.see.https://getcomposer.org
f2ae0 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 23 76 65 72 73 69 6f 6e 20 66 6f 72 20 6d 6f /doc/04-schema.md#version.for.mo
f2b00 72 65 20 69 6e 66 6f 20 6f 6e 20 76 61 6c 69 64 20 73 63 68 65 6d 65 73 2e 22 0a 20 20 20 20 20 re.info.on.valid.schemes."......
f2b20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ...},........."time":.{.........
f2b40 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."string",...........
f2b60 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 72 65 6c 65 61 73 .."description":."Package.releas
f2b80 65 20 64 61 74 65 2c 20 69 6e 20 27 59 59 59 59 2d 4d 4d 2d 44 44 27 2c 20 27 59 59 59 59 2d 4d e.date,.in.'YYYY-MM-DD',.'YYYY-M
f2ba0 4d 2d 44 44 20 48 48 3a 4d 4d 3a 53 53 27 20 6f 72 20 27 59 59 59 59 2d 4d 4d 2d 44 44 54 48 48 M-DD.HH:MM:SS'.or.'YYYY-MM-DDTHH
f2bc0 3a 4d 4d 3a 53 53 5a 27 20 66 6f 72 6d 61 74 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 :MM:SSZ'.format.".........},....
f2be0 20 20 20 20 20 22 6c 69 63 65 6e 73 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 ....."license":.{............."t
f2c00 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 ype":.["string",."array"],......
f2c20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4c 69 63 65 6e 73 65 20 6e ......."description":."License.n
f2c40 61 6d 65 2e 20 4f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 20 6c 69 63 65 6e 73 65 20 6e 61 6d 65 ame..Or.an.array.of.license.name
f2c60 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 68 6f 72 73 22 s.".........},........."authors"
f2c80 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e :.{............."$ref":."#/defin
f2ca0 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 73 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 itions/authors".........},......
f2cc0 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ..."require":.{............."typ
f2ce0 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 e":."object",............."descr
f2d00 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b iption":."This.is.a.hash.of.pack
f2d20 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 age.name.(keys).and.version.cons
f2d40 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 61 72 65 20 72 65 71 75 69 72 traints.(values).that.are.requir
f2d60 65 64 20 74 6f 20 72 75 6e 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 20 20 20 20 20 ed.to.run.this.package.",.......
f2d80 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a ......"additionalProperties":.{.
f2da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
f2dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .............}.........},.......
f2de0 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 .."replace":.{............."type
f2e00 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 ":."object",............."descri
f2e20 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 ption":."This.is.a.hash.of.packa
f2e40 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 ge.name.(keys).and.version.const
f2e60 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 63 61 6e 20 62 65 20 72 65 70 6c raints.(values).that.can.be.repl
f2e80 61 63 65 64 20 62 79 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 aced.by.this.package.",.........
f2ea0 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 ...."additionalProperties":.{...
f2ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
f2ee0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ...........}.........},.........
f2f00 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 "conflict":.{............."type"
f2f20 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 :."object",............."descrip
f2f40 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 tion":."This.is.a.hash.of.packag
f2f60 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 e.name.(keys).and.version.constr
f2f80 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 aints.(values).that.conflict.wit
f2fa0 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 h.this.package.",............."a
f2fc0 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 dditionalProperties":.{.........
f2fe0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 ........"type":."string"........
f3000 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 .....}.........},........."provi
f3020 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 de":.{............."type":."obje
f3040 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ct",............."description":.
f3060 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 "This.is.a.hash.of.package.name.
f3080 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 (keys).and.version.constraints.(
f30a0 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 values).that.this.package.provid
f30c0 65 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 69 73 20 70 61 63 6b 61 67 65 27 73 es.in.addition.to.this.package's
f30e0 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c .name.",............."additional
f3100 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 Properties":.{................."
f3120 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 type":."string".............}...
f3140 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 2d 64 65 76 22 3a 20 ......},........."require-dev":.
f3160 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a {............."type":."object",.
f3180 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 ............"description":."This
f31a0 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 .is.a.hash.of.package.name.(keys
f31c0 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 ).and.version.constraints.(value
f31e0 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 73 20 66 6f s).that.this.package.requires.fo
f3200 72 20 64 65 76 65 6c 6f 70 69 6e 67 20 69 74 20 28 74 65 73 74 69 6e 67 20 74 6f 6f 6c 73 20 61 r.developing.it.(testing.tools.a
f3220 6e 64 20 73 75 63 68 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f nd.such).",............."additio
f3240 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nalProperties":.{...............
f3260 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .."type":."string".............}
f3280 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 75 67 67 65 73 74 22 3a 20 7b .........},........."suggest":.{
f32a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 ............."type":."object",..
f32c0 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 ..........."description":."This.
f32e0 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 is.a.hash.of.package.name.(keys)
f3300 20 61 6e 64 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 .and.descriptions.(values).that.
f3320 74 68 69 73 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 73 20 77 6f 72 6b 20 77 65 6c 6c 20 this.package.suggests.work.well.
f3340 77 69 74 68 20 69 74 20 28 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 75 67 67 65 73 74 65 64 20 with.it.(this.will.be.suggested.
f3360 74 6f 20 74 68 65 20 75 73 65 72 20 64 75 72 69 6e 67 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 to.the.user.during.installation)
f3380 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 .",............."additionalPrope
f33a0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 rties":.{................."type"
f33c0 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 :."string".............}........
f33e0 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 6f 6e 66 69 67 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 .},........."config":.{.........
f3400 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."object",...........
f3420 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 43 6f 6d 70 6f 73 65 72 20 6f 70 74 69 6f .."description":."Composer.optio
f3440 6e 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 ns.",............."properties":.
f3460 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f {................."process-timeo
f3480 75 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ut":.{....................."type
f34a0 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."integer",...................
f34c0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 74 69 6d 65 6f 75 74 20 69 6e .."description":."The.timeout.in
f34e0 20 73 65 63 6f 6e 64 73 20 66 6f 72 20 70 72 6f 63 65 73 73 20 65 78 65 63 75 74 69 6f 6e 73 2c .seconds.for.process.executions,
f3500 20 64 65 66 61 75 6c 74 73 20 74 6f 20 33 30 30 20 28 35 6d 69 6e 73 29 2e 22 0a 20 20 20 20 20 .defaults.to.300.(5mins)."......
f3520 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 ...........},................."u
f3540 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 se-include-path":.{.............
f3560 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 ........"type":."boolean",......
f3580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 ..............."description":."I
f35a0 66 20 74 72 75 65 2c 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 f.true,.the.Composer.autoloader.
f35c0 77 69 6c 6c 20 61 6c 73 6f 20 6c 6f 6f 6b 20 66 6f 72 20 63 6c 61 73 73 65 73 20 69 6e 20 74 68 will.also.look.for.classes.in.th
f35e0 65 20 50 48 50 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 e.PHP.include.path."............
f3600 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 66 65 72 72 .....},................."preferr
f3620 65 64 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-install":.{..................
f3640 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 6f 62 6a 65 63 74 22 5d 2c ..."type":.["string",."object"],
f3660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f ....................."descriptio
f3680 6e 22 3a 20 22 54 68 65 20 69 6e 73 74 61 6c 6c 20 6d 65 74 68 6f 64 20 43 6f 6d 70 6f 73 65 72 n":."The.install.method.Composer
f36a0 20 77 69 6c 6c 20 70 72 65 66 65 72 20 74 6f 20 75 73 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f .will.prefer.to.use,.defaults.to
f36c0 20 61 75 74 6f 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 79 20 6f 66 20 73 6f 75 72 63 65 2c 20 .auto.and.can.be.any.of.source,.
f36e0 64 69 73 74 2c 20 61 75 74 6f 2c 20 6f 72 20 61 20 68 61 73 68 20 6f 66 20 7b 5c 22 70 61 74 74 dist,.auto,.or.a.hash.of.{\"patt
f3700 65 72 6e 5c 22 3a 20 5c 22 70 72 65 66 65 72 65 6e 63 65 5c 22 7d 2e 22 0a 20 20 20 20 20 20 20 ern\":.\"preference\"}."........
f3720 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 6f 74 .........},................."not
f3740 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ify-on-install":.{..............
f3760 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 ......."type":."boolean",.......
f3780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 43 6f .............."description":."Co
f37a0 6d 70 6f 73 65 72 20 61 6c 6c 6f 77 73 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74 6f 20 64 65 mposer.allows.repositories.to.de
f37c0 66 69 6e 65 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 55 52 4c 2c 20 73 6f 20 74 68 61 74 fine.a.notification.URL,.so.that
f37e0 20 74 68 65 79 20 67 65 74 20 6e 6f 74 69 66 69 65 64 20 77 68 65 6e 65 76 65 72 20 61 20 70 61 .they.get.notified.whenever.a.pa
f3800 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 61 74 20 72 65 70 6f 73 69 74 6f 72 79 20 69 73 20 69 6e ckage.from.that.repository.is.in
f3820 73 74 61 6c 6c 65 64 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 79 6f 75 20 stalled..This.option.allows.you.
f3840 74 6f 20 64 69 73 61 62 6c 65 20 74 68 61 74 20 62 65 68 61 76 69 6f 75 72 2c 20 64 65 66 61 75 to.disable.that.behaviour,.defau
f3860 6c 74 73 20 74 6f 20 74 72 75 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c lts.to.true.".................},
f3880 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f ................."github-protoco
f38a0 6c 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ls":.{....................."type
f38c0 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."array",.....................
f38e0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 70 72 6f 74 6f 63 "description":."A.list.of.protoc
f3900 6f 6c 73 20 74 6f 20 75 73 65 20 66 6f 72 20 67 69 74 68 75 62 2e 63 6f 6d 20 63 6c 6f 6e 65 73 ols.to.use.for.github.com.clones
f3920 2c 20 69 6e 20 70 72 69 6f 72 69 74 79 20 6f 72 64 65 72 2c 20 64 65 66 61 75 6c 74 73 20 74 6f ,.in.priority.order,.defaults.to
f3940 20 5b 5c 22 67 69 74 5c 22 2c 20 5c 22 68 74 74 70 73 5c 22 2c 20 5c 22 68 74 74 70 5c 22 5d 2e .[\"git\",.\"https\",.\"http\"].
f3960 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 ",....................."items":.
f3980 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 {........................."type"
f39a0 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d :."string".....................}
f39c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
f39e0 20 20 20 20 22 67 69 74 68 75 62 2d 6f 61 75 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ...."github-oauth":.{...........
f3a00 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
f3a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f3a40 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 67 69 74 68 75 62 20 A.hash.of.domain.name.=>.github.
f3a60 41 50 49 20 6f 61 75 74 68 20 74 6f 6b 65 6e 73 2c 20 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 API.oauth.tokens,.typically.{\"g
f3a80 69 74 68 75 62 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 ithub.com\":\"<token>\"}.",.....
f3aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 ................"additionalPrope
f3ac0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
f3ae0 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string"..............
f3b00 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .......}.................},.....
f3b20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d 6f 61 75 74 68 22 3a 20 7b 0a 20 20 ............"gitlab-oauth":.{...
f3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 .................."type":."objec
f3b60 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 t",....................."descrip
f3b80 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e tion":."A.hash.of.domain.name.=>
f3ba0 20 67 69 74 6c 61 62 20 41 50 49 20 6f 61 75 74 68 20 74 6f 6b 65 6e 73 2c 20 74 79 70 69 63 61 .gitlab.API.oauth.tokens,.typica
f3bc0 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d lly.{\"gitlab.com\":\"<token>\"}
f3be0 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f .",....................."additio
f3c00 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nalProperties":.{...............
f3c20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 .........."type":."string"......
f3c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
f3c60 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d 74 6f 6b 65 .},................."gitlab-toke
f3c80 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 n":.{....................."type"
f3ca0 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."object",.....................
f3cc0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e "description":."A.hash.of.domain
f3ce0 20 6e 61 6d 65 20 3d 3e 20 67 69 74 6c 61 62 20 70 72 69 76 61 74 65 20 74 6f 6b 65 6e 73 2c 20 .name.=>.gitlab.private.tokens,.
f3d00 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b typically.{\"gitlab.com\":\"<tok
f3d20 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 en>\"}.",....................."a
f3d40 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 dditionalProperties":.true......
f3d60 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 ...........},................."d
f3d80 69 73 61 62 6c 65 2d 74 6c 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 isable-tls":.{..................
f3da0 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ..."type":."boolean",...........
f3dc0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c .........."description":."Defaul
f3de0 74 73 20 74 6f 20 60 66 61 6c 73 65 60 2e 20 49 66 20 73 65 74 20 74 6f 20 74 72 75 65 20 61 6c ts.to.`false`..If.set.to.true.al
f3e00 6c 20 48 54 54 50 53 20 55 52 4c 73 20 77 69 6c 6c 20 62 65 20 74 72 69 65 64 20 77 69 74 68 20 l.HTTPS.URLs.will.be.tried.with.
f3e20 48 54 54 50 20 69 6e 73 74 65 61 64 20 61 6e 64 20 6e 6f 20 6e 65 74 77 6f 72 6b 20 6c 65 76 65 HTTP.instead.and.no.network.leve
f3e40 6c 20 65 6e 63 72 79 70 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 2e 20 45 6e 61 62 6c l.encryption.is.performed..Enabl
f3e60 69 6e 67 20 74 68 69 73 20 69 73 20 61 20 73 65 63 75 72 69 74 79 20 72 69 73 6b 20 61 6e 64 20 ing.this.is.a.security.risk.and.
f3e80 69 73 20 4e 4f 54 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 20 54 68 65 20 62 65 74 74 65 72 20 77 is.NOT.recommended..The.better.w
f3ea0 61 79 20 69 73 20 74 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 70 68 70 5f 6f 70 65 6e 73 73 6c 20 ay.is.to.enable.the.php_openssl.
f3ec0 65 78 74 65 6e 73 69 6f 6e 20 69 6e 20 70 68 70 2e 69 6e 69 2e 22 0a 20 20 20 20 20 20 20 20 20 extension.in.php.ini."..........
f3ee0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 65 63 75 72 .......},................."secur
f3f00 65 2d 68 74 74 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 e-http":.{....................."
f3f20 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."boolean",...............
f3f40 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 ......"description":."Defaults.t
f3f60 6f 20 60 74 72 75 65 60 2e 20 49 66 20 73 65 74 20 74 6f 20 74 72 75 65 20 6f 6e 6c 79 20 48 54 o.`true`..If.set.to.true.only.HT
f3f80 54 50 53 20 55 52 4c 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 64 6f 77 6e 6c TPS.URLs.are.allowed.to.be.downl
f3fa0 6f 61 64 65 64 20 76 69 61 20 43 6f 6d 70 6f 73 65 72 2e 20 49 66 20 79 6f 75 20 72 65 61 6c 6c oaded.via.Composer..If.you.reall
f3fc0 79 20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 65 65 64 20 48 54 54 50 20 61 63 63 65 73 73 20 74 6f y.absolutely.need.HTTP.access.to
f3fe0 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 65 6e 20 79 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 .something.then.you.can.disable.
f4000 69 74 2c 20 62 75 74 20 75 73 69 6e 67 20 5c 22 4c 65 74 27 73 20 45 6e 63 72 79 70 74 5c 22 20 it,.but.using.\"Let's.Encrypt\".
f4020 74 6f 20 67 65 74 20 61 20 66 72 65 65 20 53 53 4c 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 to.get.a.free.SSL.certificate.is
f4040 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 65 74 74 65 72 20 61 6c 74 65 72 6e 61 74 69 76 65 2e .generally.a.better.alternative.
f4060 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
f4080 20 20 20 20 20 22 63 61 66 69 6c 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."cafile":.{................
f40a0 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 ....."type":."string",..........
f40c0 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 77 61 79 ..........."description":."A.way
f40e0 20 74 6f 20 73 65 74 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 .to.set.the.path.to.the.openssl.
f4100 43 41 20 66 69 6c 65 2e 20 49 6e 20 50 48 50 20 35 2e 36 2b 20 79 6f 75 20 73 68 6f 75 6c 64 20 CA.file..In.PHP.5.6+.you.should.
f4120 72 61 74 68 65 72 20 73 65 74 20 74 68 69 73 20 76 69 61 20 6f 70 65 6e 73 73 6c 2e 63 61 66 69 rather.set.this.via.openssl.cafi
f4140 6c 65 20 69 6e 20 70 68 70 2e 69 6e 69 2c 20 61 6c 74 68 6f 75 67 68 20 50 48 50 20 35 2e 36 2b le.in.php.ini,.although.PHP.5.6+
f4160 20 73 68 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 79 6f 75 72 20 73 .should.be.able.to.detect.your.s
f4180 79 73 74 65 6d 20 43 41 20 66 69 6c 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 22 0a 20 20 ystem.CA.file.automatically."...
f41a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f41c0 20 22 63 61 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."capath":.{....................
f41e0 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string",..............
f4200 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 63 61 66 69 6c 65 ......."description":."If.cafile
f4220 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 6f 72 20 69 66 20 74 68 65 20 63 65 72 74 .is.not.specified.or.if.the.cert
f4240 69 66 69 63 61 74 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 74 68 65 72 65 2c 20 74 68 65 20 ificate.is.not.found.there,.the.
f4260 64 69 72 65 63 74 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 63 61 70 61 74 68 20 69 directory.pointed.to.by.capath.i
f4280 73 20 73 65 61 72 63 68 65 64 20 66 6f 72 20 61 20 73 75 69 74 61 62 6c 65 20 63 65 72 74 69 66 s.searched.for.a.suitable.certif
f42a0 69 63 61 74 65 2e 20 63 61 70 61 74 68 20 6d 75 73 74 20 62 65 20 61 20 63 6f 72 72 65 63 74 6c icate..capath.must.be.a.correctl
f42c0 79 20 68 61 73 68 65 64 20 63 65 72 74 69 66 69 63 61 74 65 20 64 69 72 65 63 74 6f 72 79 2e 22 y.hashed.certificate.directory."
f42e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
f4300 20 20 20 20 22 68 74 74 70 2d 62 61 73 69 63 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."http-basic":.{.............
f4320 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 ........"type":."object",.......
f4340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 .............."description":."A.
f4360 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 7b 5c 22 75 73 65 72 6e 61 hash.of.domain.name.=>.{\"userna
f4380 6d 65 5c 22 3a 20 5c 22 2e 2e 2e 5c 22 2c 20 5c 22 70 61 73 73 77 6f 72 64 5c 22 3a 20 5c 22 2e me\":.\"...\",.\"password\":.\".
f43a0 2e 2e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 ..\"}.",....................."ad
f43c0 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ditionalProperties":.{..........
f43e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c ..............."type":."object",
f4400 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 ........................."requir
f4420 65 64 22 3a 20 5b 22 75 73 65 72 6e 61 6d 65 22 2c 20 22 70 61 73 73 77 6f 72 64 22 5d 2c 0a 20 ed":.["username",."password"],..
f4440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 ......................."properti
f4460 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es":.{..........................
f4480 20 20 20 22 75 73 65 72 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."username":.{................
f44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ................."type":."string
f44c0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",..............................
f44e0 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 75 73 65 72 6e 61 6d 65 20 ..."description":."The.username.
f4500 75 73 65 64 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 20 61 75 74 68 65 6e 74 69 63 61 74 69 used.for.HTTP.Basic.authenticati
f4520 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on".............................
f4540 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 },............................."
f4560 70 61 73 73 77 6f 72 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 password":.{....................
f4580 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
f45a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ..............................."
f45c0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 70 61 73 73 77 6f 72 64 20 75 73 65 64 description":."The.password.used
f45e0 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 22 0a .for.HTTP.Basic.authentication".
f4600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ............................}...
f4620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ......................}.........
f4640 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ............}.................},
f4660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 74 6f 72 65 2d 61 75 74 68 73 22 3a 20 ................."store-auths":.
f4680 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 {....................."type":.["
f46a0 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 string",."boolean"],............
f46c0 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 57 68 61 74 20 74 6f ........."description":."What.to
f46e0 20 64 6f 20 61 66 74 65 72 20 70 72 6f 6d 70 74 69 6e 67 20 66 6f 72 20 61 75 74 68 65 6e 74 69 .do.after.prompting.for.authenti
f4700 63 61 74 69 6f 6e 2c 20 6f 6e 65 20 6f 66 3a 20 74 72 75 65 20 28 73 74 6f 72 65 29 2c 20 66 61 cation,.one.of:.true.(store),.fa
f4720 6c 73 65 20 28 64 6f 20 6e 6f 74 20 73 74 6f 72 65 29 20 6f 72 20 5c 22 70 72 6f 6d 70 74 5c 22 lse.(do.not.store).or.\"prompt\"
f4740 20 28 61 73 6b 20 65 76 65 72 79 20 74 69 6d 65 29 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 70 .(ask.every.time),.defaults.to.p
f4760 72 6f 6d 70 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 rompt.".................},......
f4780 20 20 20 20 20 20 20 20 20 20 20 22 70 6c 61 74 66 6f 72 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 ..........."platform":.{........
f47a0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 ............."type":."object",..
f47c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f47e0 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d :."This.is.a.hash.of.package.nam
f4800 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 28 76 61 6c 75 65 73 29 20 74 68 e.(keys).and.version.(values).th
f4820 61 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 6d 6f 63 6b 20 74 68 65 20 70 6c 61 74 at.will.be.used.to.mock.the.plat
f4840 66 6f 72 6d 20 70 61 63 6b 61 67 65 73 20 6f 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 22 2c form.packages.on.this.machine.",
f4860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c ....................."additional
f4880 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Properties":.{..................
f48a0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 ......."type":."string".........
f48c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ............}.................},
f48e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 6e 64 6f 72 2d 64 69 72 22 3a 20 7b ................."vendor-dir":.{
f4900 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
f4920 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ring",....................."desc
f4940 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 61 6c ription":."The.location.where.al
f4960 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2c 20 64 65 66 61 75 6c l.packages.are.installed,.defaul
f4980 74 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ts.to.\"vendor\"."..............
f49a0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 69 6e 2d 64 69 72 22 3a ...},................."bin-dir":
f49c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
f49e0 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 string",....................."de
f4a00 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 scription":."The.location.where.
f4a20 61 6c 6c 20 62 69 6e 61 72 69 65 73 20 61 72 65 20 6c 69 6e 6b 65 64 2c 20 64 65 66 61 75 6c 74 all.binaries.are.linked,.default
f4a40 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 2f 62 69 6e 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 s.to.\"vendor/bin\"."...........
f4a60 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 61 74 61 2d 64 ......},................."data-d
f4a80 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ir":.{....................."type
f4aa0 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string",....................
f4ac0 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 ."description":."The.location.wh
f4ae0 65 72 65 20 6f 6c 64 20 70 68 61 72 20 66 69 6c 65 73 20 61 72 65 20 73 74 6f 72 65 64 2c 20 64 ere.old.phar.files.are.stored,.d
f4b00 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 24 68 6f 6d 65 5c 22 20 65 78 63 65 70 74 20 6f 6e 20 58 efaults.to.\"$home\".except.on.X
f4b20 44 47 20 42 61 73 65 20 44 69 72 65 63 74 6f 72 79 20 63 6f 6d 70 6c 69 61 6e 74 20 75 6e 69 78 DG.Base.Directory.compliant.unix
f4b40 65 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 es.".................},.........
f4b60 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ........"cache-dir":.{..........
f4b80 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 ..........."type":."string",....
f4ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ................."description":.
f4bc0 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 63 61 63 68 65 73 20 61 "The.location.where.all.caches.a
f4be0 72 65 20 6c 6f 63 61 74 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7e 2f 2e 63 6f 6d re.located,.defaults.to.\"~/.com
f4c00 70 6f 73 65 72 2f 63 61 63 68 65 5c 22 20 6f 6e 20 2a 6e 69 78 20 61 6e 64 20 5c 22 25 4c 4f 43 poser/cache\".on.*nix.and.\"%LOC
f4c20 41 4c 41 50 50 44 41 54 41 25 5c 5c 43 6f 6d 70 6f 73 65 72 5c 22 20 6f 6e 20 77 69 6e 64 6f 77 ALAPPDATA%\\Composer\".on.window
f4c40 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 s.".................},..........
f4c60 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 ......."cache-files-dir":.{.....
f4c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
f4ca0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
f4cc0 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 66 69 6c 65 73 20 28 on":."The.location.where.files.(
f4ce0 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 66 61 75 zip.downloads).are.cached,.defau
f4d00 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 5c 22 2e 22 0a lts.to.\"{$cache-dir}/files\".".
f4d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f4d40 20 20 20 22 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ..."cache-repo-dir":.{..........
f4d60 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 ..........."type":."string",....
f4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ................."description":.
f4da0 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 72 65 70 6f 20 28 67 69 74 2f 68 67 "The.location.where.repo.(git/hg
f4dc0 20 72 65 70 6f 20 63 6c 6f 6e 65 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 66 61 75 6c .repo.clones).are.cached,.defaul
f4de0 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 72 65 70 6f 5c 22 2e 22 0a 20 20 ts.to.\"{$cache-dir}/repo\"."...
f4e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f4e20 20 22 63 61 63 68 65 2d 76 63 73 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."cache-vcs-dir":.{.............
f4e40 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
f4e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 .............."description":."Th
f4e80 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 76 63 73 20 69 6e 66 6f 73 20 28 67 69 74 20 e.location.where.vcs.infos.(git.
f4ea0 63 6c 6f 6e 65 73 2c 20 67 69 74 68 75 62 20 61 70 69 20 63 61 6c 6c 73 2c 20 65 74 63 2e 20 77 clones,.github.api.calls,.etc..w
f4ec0 68 65 6e 20 72 65 61 64 69 6e 67 20 76 63 73 20 72 65 70 6f 73 29 20 61 72 65 20 63 61 63 68 65 hen.reading.vcs.repos).are.cache
f4ee0 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 76 63 d,.defaults.to.\"{$cache-dir}/vc
f4f00 73 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 s\".".................},........
f4f20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 74 74 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ........."cache-ttl":.{.........
f4f40 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 ............"type":."integer",..
f4f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f4f80 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 63 61 63 68 65 20 74 69 6d 65 2d 74 6f 2d 6c 69 76 :."The.default.cache.time-to-liv
f4fa0 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 31 35 35 35 32 30 30 30 20 28 36 20 6d 6f 6e 74 68 e,.defaults.to.15552000.(6.month
f4fc0 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 s).".................},.........
f4fe0 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 22 3a 20 7b 0a 20 20 20 ........"cache-files-ttl":.{....
f5000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 69 6e 74 65 67 65 ................."type":."intege
f5020 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 r",....................."descrip
f5040 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 74 69 6d 65 2d 74 6f 2d 6c 69 76 65 20 66 tion":."The.cache.time-to-live.f
f5060 6f 72 20 66 69 6c 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 or.files,.defaults.to.the.value.
f5080 6f 66 20 63 61 63 68 65 2d 74 74 6c 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d of.cache-ttl.".................}
f50a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d ,................."cache-files-m
f50c0 61 78 73 69 7a 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 axsize":.{....................."
f50e0 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 69 6e 74 65 67 65 72 22 5d 2c 0a 20 20 type":.["string",."integer"],...
f5100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a .................."description":
f5120 20 22 54 68 65 20 63 61 63 68 65 20 6d 61 78 20 73 69 7a 65 20 66 6f 72 20 74 68 65 20 66 69 6c ."The.cache.max.size.for.the.fil
f5140 65 73 20 63 61 63 68 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 33 30 30 4d 69 42 5c 22 es.cache,.defaults.to.\"300MiB\"
f5160 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .".................},...........
f5180 20 20 20 20 20 20 22 62 69 6e 2d 63 6f 6d 70 61 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......"bin-compat":.{...........
f51a0 20 20 20 20 20 20 20 20 20 20 22 65 6e 75 6d 22 3a 20 5b 22 61 75 74 6f 22 2c 20 22 66 75 6c 6c .........."enum":.["auto",."full
f51c0 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 "],....................."descrip
f51e0 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 tion":."The.compatibility.of.the
f5200 20 62 69 6e 61 72 69 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 61 75 74 6f 5c 22 20 .binaries,.defaults.to.\"auto\".
f5220 28 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 75 65 73 73 65 64 29 20 61 6e 64 20 63 61 6e 20 (automatically.guessed).and.can.
f5240 62 65 20 5c 22 66 75 6c 6c 5c 22 20 28 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 62 6f 74 be.\"full\".(compatible.with.bot
f5260 68 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 55 6e 69 78 2d 62 61 73 65 64 20 73 79 73 74 65 6d 73 h.Windows.and.Unix-based.systems
f5280 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 ).".................},..........
f52a0 20 20 20 20 20 20 20 22 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 22 3a 20 7b 0a 20 20 20 20 ......."discard-changes":.{.....
f52c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 ................"type":.["string
f52e0 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",."boolean"],..................
f5300 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 73 ..."description":."The.default.s
f5320 74 79 6c 65 20 6f 66 20 68 61 6e 64 6c 69 6e 67 20 64 69 72 74 79 20 75 70 64 61 74 65 73 2c 20 tyle.of.handling.dirty.updates,.
f5340 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 79 defaults.to.false.and.can.be.any
f5360 20 6f 66 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 5c 22 73 74 61 73 68 5c 22 2e 22 0a 20 .of.true,.false.or.\"stash\"."..
f5380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f53a0 20 20 22 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 22 3a 20 7b 0a 20 20 20 20 20 20 20 .."autoloader-suffix":.{........
f53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
f53e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f5400 3a 20 22 4f 70 74 69 6f 6e 61 6c 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 :."Optional.string.to.be.used.as
f5420 20 61 20 73 75 66 66 69 78 20 66 6f 72 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 43 6f 6d 70 .a.suffix.for.the.generated.Comp
f5440 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 2e 20 57 68 65 6e 20 6e 75 6c 6c 20 61 20 72 61 6e oser.autoloader..When.null.a.ran
f5460 64 6f 6d 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 22 0a 20 20 20 20 dom.one.will.be.generated.".....
f5480 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
f54a0 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 optimize-autoloader":.{.........
f54c0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 ............"type":."boolean",..
f54e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f5500 3a 20 22 41 6c 77 61 79 73 20 6f 70 74 69 6d 69 7a 65 20 77 68 65 6e 20 64 75 6d 70 69 6e 67 20 :."Always.optimize.when.dumping.
f5520 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the.autoloader."................
f5540 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 70 65 6e 64 2d 61 75 74 .},................."prepend-aut
f5560 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oloader":.{.....................
f5580 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."boolean",..............
f55a0 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 66 61 6c 73 65 2c ......."description":."If.false,
f55c0 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 6e 6f .the.composer.autoloader.will.no
f55e0 74 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 65 78 69 73 74 69 6e 67 20 61 75 74 6f 6c t.be.prepended.to.existing.autol
f5600 6f 61 64 65 72 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 22 0a 20 20 20 20 20 oaders,.defaults.to.true."......
f5620 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 ...........},................."c
f5640 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 22 3a 20 7b 0a 20 20 20 20 20 20 lassmap-authoritative":.{.......
f5660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c .............."type":."boolean",
f5680 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f ....................."descriptio
f56a0 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c n":."If.true,.the.composer.autol
f56c0 6f 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 73 63 61 6e 20 74 68 65 20 66 69 6c 65 73 79 73 74 oader.will.not.scan.the.filesyst
f56e0 65 6d 20 66 6f 72 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 66 6f 75 6e em.for.classes.that.are.not.foun
f5700 64 20 69 6e 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 d.in.the.class.map,.defaults.to.
f5720 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 false.".................},......
f5740 20 20 20 20 20 20 20 20 20 20 20 22 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a ..........."apcu-autoloader":.{.
f5760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f ...................."type":."boo
f5780 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 lean",....................."desc
f57a0 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 ription":."If.true,.the.Composer
f57c0 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 63 68 65 63 6b 20 66 6f 72 20 41 50 43 75 20 .autoloader.will.check.for.APCu.
f57e0 61 6e 64 20 75 73 65 20 69 74 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f and.use.it.to.cache.found/not-fo
f5800 75 6e 64 20 63 6c 61 73 73 65 73 20 77 68 65 6e 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 und.classes.when.the.extension.i
f5820 73 20 65 6e 61 62 6c 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 22 0a 20 s.enabled,.defaults.to.false."..
f5840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f5860 20 20 22 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .."github-domains":.{...........
f5880 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 .........."type":."array",......
f58a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 ..............."description":."A
f58c0 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e 73 20 74 6f 20 75 73 65 20 69 6e 20 67 69 74 68 75 .list.of.domains.to.use.in.githu
f58e0 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 47 69 74 48 75 62 20 b.mode..This.is.used.for.GitHub.
f5900 45 6e 74 65 72 70 72 69 73 65 20 73 65 74 75 70 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5b Enterprise.setups,.defaults.to.[
f5920 5c 22 67 69 74 68 75 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 \"github.com\"].",..............
f5940 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."items":.{...............
f5960 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 .........."type":."string"......
f5980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
f59a0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 65 78 70 6f .},................."github-expo
f59c0 73 65 2d 68 6f 73 74 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se-hostname":.{.................
f59e0 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 ...."type":."boolean",..........
f5a00 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 ..........."description":."Defau
f5a20 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 49 66 20 73 65 74 20 74 6f 20 66 61 6c 73 65 2c 20 74 68 lts.to.true..If.set.to.false,.th
f5a40 65 20 4f 41 75 74 68 20 74 6f 6b 65 6e 73 20 63 72 65 61 74 65 64 20 74 6f 20 61 63 63 65 73 73 e.OAuth.tokens.created.to.access
f5a60 20 74 68 65 20 67 69 74 68 75 62 20 41 50 49 20 77 69 6c 6c 20 68 61 76 65 20 61 20 64 61 74 65 .the.github.API.will.have.a.date
f5a80 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6d 61 63 68 69 6e 65 20 68 6f 73 74 6e 61 6d 65 .instead.of.the.machine.hostname
f5aa0 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .".................},...........
f5ac0 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 ......"gitlab-domains":.{.......
f5ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 .............."type":."array",..
f5b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f5b20 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e 73 20 74 6f 20 75 73 65 20 69 6e 20 67 :."A.list.of.domains.to.use.in.g
f5b40 69 74 6c 61 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 63 75 73 itlab.mode..This.is.used.for.cus
f5b60 74 6f 6d 20 47 69 74 4c 61 62 20 73 65 74 75 70 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5b tom.GitLab.setups,.defaults.to.[
f5b80 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 \"gitlab.com\"].",..............
f5ba0 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."items":.{...............
f5bc0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 .........."type":."string"......
f5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
f5c00 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 2d 66 6f 72 .},................."archive-for
f5c20 6d 61 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 mat":.{....................."typ
f5c40 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string",...................
f5c60 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 61 72 .."description":."The.default.ar
f5c80 63 68 69 76 69 6e 67 20 66 6f 72 6d 61 74 20 77 68 65 6e 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 chiving.format.when.not.provided
f5ca0 20 6f 6e 20 63 6c 69 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 74 61 72 5c 22 2e 22 0a 20 .on.cli,.defaults.to.\"tar\"."..
f5cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f5ce0 20 20 22 61 72 63 68 69 76 65 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."archive-dir":.{..............
f5d00 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 ......."type":."string",........
f5d20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 ............."description":."The
f5d40 20 64 65 66 61 75 6c 74 20 61 72 63 68 69 76 65 20 70 61 74 68 20 77 68 65 6e 20 6e 6f 74 20 70 .default.archive.path.when.not.p
f5d60 72 6f 76 69 64 65 64 20 6f 6e 20 63 6c 69 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 2e 5c rovided.on.cli,.defaults.to.\".\
f5d80 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 ".".................},..........
f5da0 20 20 20 20 20 20 20 22 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 22 3a 20 7b 0a 20 20 20 ......."htaccess-protect":.{....
f5dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 ................."type":."boolea
f5de0 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 n",....................."descrip
f5e00 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 49 66 20 73 65 74 tion":."Defaults.to.true..If.set
f5e20 20 74 6f 20 66 61 6c 73 65 2c 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 6e 6f 74 20 63 72 65 .to.false,.Composer.will.not.cre
f5e40 61 74 65 20 2e 68 74 61 63 63 65 73 73 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 6f ate..htaccess.files.in.the.compo
f5e60 73 65 72 20 68 6f 6d 65 2c 20 63 61 63 68 65 2c 20 61 6e 64 20 64 61 74 61 20 64 69 72 65 63 74 ser.home,.cache,.and.data.direct
f5e80 6f 72 69 65 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ories.".................},......
f5ea0 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 22 3a 20 7b 0a 20 20 ..........."sort-packages":.{...
f5ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 .................."type":."boole
f5ee0 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 an",....................."descri
f5f00 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 20 49 66 20 73 ption":."Defaults.to.false..If.s
f5f20 65 74 20 74 6f 20 74 72 75 65 2c 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 73 6f 72 74 20 70 et.to.true,.Composer.will.sort.p
f5f40 61 63 6b 61 67 65 73 20 77 68 65 6e 20 61 64 64 69 6e 67 2f 75 70 64 61 74 69 6e 67 20 61 20 6e ackages.when.adding/updating.a.n
f5f60 65 77 20 64 65 70 65 6e 64 65 6e 63 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ew.dependency.".................
f5f80 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 }.............}.........},......
f5fa0 20 20 20 22 65 78 74 72 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 ..."extra":.{............."type"
f5fc0 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 :.["object",."array"],..........
f5fe0 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 72 62 69 74 72 61 72 79 20 65 78 74 ..."description":."Arbitrary.ext
f6000 72 61 20 64 61 74 61 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 20 70 6c 75 67 ra.data.that.can.be.used.by.plug
f6020 69 6e 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 70 61 63 6b 61 67 65 20 6f 66 20 74 79 70 ins,.for.example,.package.of.typ
f6040 65 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 6d 61 79 20 68 61 76 65 20 61 20 27 63 6c e.composer-plugin.may.have.a.'cl
f6060 61 73 73 27 20 6b 65 79 20 64 65 66 69 6e 69 6e 67 20 61 6e 20 69 6e 73 74 61 6c 6c 65 72 20 63 ass'.key.defining.an.installer.c
f6080 6c 61 73 73 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 lass.name.",............."additi
f60a0 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 2c onalProperties":.true.........},
f60c0 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ........."autoload":.{..........
f60e0 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 6f 6c 6f ..."$ref":."#/definitions/autolo
f6100 61 64 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 ad".........},........."autoload
f6120 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 -dev":.{............."type":."ob
f6140 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ject",............."description"
f6160 3a 20 22 44 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 75 74 :."Description.of.additional.aut
f6180 6f 6c 6f 61 64 20 72 75 6c 65 73 20 66 6f 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 75 72 70 oload.rules.for.development.purp
f61a0 6f 73 65 20 28 65 67 2e 20 61 20 74 65 73 74 20 73 75 69 74 65 29 2e 22 2c 0a 20 20 20 20 20 20 ose.(eg..a.test.suite).",.......
f61c0 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......"properties":.{...........
f61e0 20 20 20 20 20 20 22 70 73 72 2d 30 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"psr-0":.{................
f6200 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 ....."type":."object",..........
f6220 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 ..........."description":."This.
f6240 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 is.a.hash.of.namespaces.(keys).a
f6260 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 66 nd.the.directories.they.can.be.f
f6280 6f 75 6e 64 20 69 6e 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 ound.into.(values,.can.be.arrays
f62a0 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a .of.paths).by.the.autoloader.",.
f62c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 ...................."additionalP
f62e0 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roperties":.{...................
f6300 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 ......"type":.["string",."array"
f6320 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d ],........................."item
f6340 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s":.{...........................
f6360 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string"..............
f6380 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........}....................
f63a0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .}.................},...........
f63c0 20 20 20 20 20 20 22 70 73 72 2d 34 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"psr-4":.{................
f63e0 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 ....."type":."object",..........
f6400 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 ..........."description":."This.
f6420 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 is.a.hash.of.namespaces.(keys).a
f6440 6e 64 20 74 68 65 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 nd.the.PSR-4.directories.they.ca
f6460 6e 20 6d 61 70 20 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 n.map.to.(values,.can.be.arrays.
f6480 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 of.paths).by.the.autoloader.",..
f64a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 ..................."additionalPr
f64c0 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operties":.{....................
f64e0 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d ....."type":.["string",."array"]
f6500 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 ,........................."items
f6520 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":.{............................
f6540 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string"...............
f6560 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.....................
f6580 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 }.................},............
f65a0 20 20 20 20 20 22 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."classmap":.{..............
f65c0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 ......."type":."array",.........
f65e0 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 ............"description":."This
f6600 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 .is.an.array.of.directories.that
f6620 20 63 6f 6e 74 61 69 6e 20 63 6c 61 73 73 65 73 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 .contain.classes.to.be.included.
f6640 69 6e 20 74 68 65 20 63 6c 61 73 73 2d 6d 61 70 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 63 in.the.class-map.generation.proc
f6660 65 73 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ess.".................},........
f6680 20 20 20 20 20 20 20 20 20 22 66 69 6c 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."files":.{.............
f66a0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 ........"type":."array",........
f66c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 ............."description":."Thi
f66e0 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 s.is.an.array.of.files.that.are.
f6700 61 6c 77 61 79 73 20 72 65 71 75 69 72 65 64 20 6f 6e 20 65 76 65 72 79 20 72 65 71 75 65 73 74 always.required.on.every.request
f6720 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 .".................}............
f6740 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 22 3a .}.........},........."archive":
f6760 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 .{............."type":.["object"
f6780 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f ],............."description":."O
f67a0 70 74 69 6f 6e 73 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 70 61 63 6b 61 67 65 20 61 72 63 68 ptions.for.creating.package.arch
f67c0 69 76 65 73 20 66 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 22 2c 0a 20 20 20 20 20 20 20 ives.for.distribution.",........
f67e0 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ....."properties":.{............
f6800 20 20 20 20 20 22 65 78 63 6c 75 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."exclude":.{...............
f6820 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 ......"type":."array",..........
f6840 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 ..........."description":."A.lis
f6860 74 20 6f 66 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 70 61 74 68 73 20 74 6f 20 65 78 63 6c 75 t.of.patterns.for.paths.to.exclu
f6880 64 65 20 6f 72 20 69 6e 63 6c 75 64 65 20 69 66 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 de.or.include.if.prefixed.with.a
f68a0 6e 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 6d 61 72 6b 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 n.exclamation.mark."............
f68c0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a .....}.............}.........},.
f68e0 20 20 20 20 20 20 20 20 22 72 65 70 6f 73 69 74 6f 72 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 ........"repositories":.{.......
f6900 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 ......"type":.["object",."array"
f6920 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 ],............."description":."A
f6940 20 73 65 74 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 .set.of.additional.repositories.
f6960 77 68 65 72 65 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 22 2c 0a 20 where.packages.can.be.found.",..
f6980 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 ..........."additionalProperties
f69a0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a ":.{................."oneOf":.[.
f69c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 ....................{."$ref":."#
f69e0 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 /definitions/repository".},.....
f6a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 ................{."type":."boole
f6a20 61 6e 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 66 61 6c 73 65 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 an",."enum":.[false].}..........
f6a40 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 .......].............},.........
f6a60 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ...."items":.{................."
f6a80 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 oneOf":.[.....................{.
f6aa0 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 72 65 70 6f 73 69 74 6f 72 "$ref":."#/definitions/repositor
f6ac0 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 y".},.....................{.....
f6ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a ...................."type":."obj
f6b00 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 ect",........................."a
f6b20 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 dditionalProperties":.{."type":.
f6b40 22 62 6f 6f 6c 65 61 6e 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 66 61 6c 73 65 5d 20 7d 2c 0a 20 20 "boolean",."enum":.[false].},...
f6b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 6e 50 72 6f 70 65 72 ......................"minProper
f6b80 74 69 65 73 22 3a 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ties":.1,.......................
f6ba0 20 20 22 6d 61 78 50 72 6f 70 65 72 74 69 65 73 22 3a 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 .."maxProperties":.1............
f6bc0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 .........}.................]....
f6be0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6d .........}.........},........."m
f6c00 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 inimum-stability":.{............
f6c20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ."type":.["string"],............
f6c40 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6d 69 6e 69 6d 75 6d 20 73 74 61 ."description":."The.minimum.sta
f6c60 62 69 6c 69 74 79 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 6d 75 73 74 20 68 61 76 65 20 74 6f bility.the.packages.must.have.to
f6c80 20 62 65 20 69 6e 73 74 61 6c 6c 2d 61 62 6c 65 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 .be.install-able..Possible.value
f6ca0 73 20 61 72 65 3a 20 64 65 76 2c 20 61 6c 70 68 61 2c 20 62 65 74 61 2c 20 52 43 2c 20 73 74 61 s.are:.dev,.alpha,.beta,.RC,.sta
f6cc0 62 6c 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 74 74 65 72 6e 22 3a 20 22 5e ble.",............."pattern":."^
f6ce0 64 65 76 7c 61 6c 70 68 61 7c 62 65 74 61 7c 72 63 7c 52 43 7c 73 74 61 62 6c 65 24 22 0a 20 20 dev|alpha|beta|rc|RC|stable$"...
f6d00 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 65 66 65 72 2d 73 74 61 62 6c 65 22 ......},........."prefer-stable"
f6d20 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 62 6f 6f 6c 65 61 :.{............."type":.["boolea
f6d40 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 n"],............."description":.
f6d60 22 49 66 20 73 65 74 20 74 6f 20 74 72 75 65 2c 20 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 "If.set.to.true,.stable.packages
f6d80 20 77 69 6c 6c 20 62 65 20 70 72 65 66 65 72 72 65 64 20 74 6f 20 64 65 76 20 70 61 63 6b 61 67 .will.be.preferred.to.dev.packag
f6da0 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 69 es.when.possible,.even.if.the.mi
f6dc0 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 61 6c 6c 6f 77 73 20 75 6e 73 74 61 62 6c 65 20 nimum-stability.allows.unstable.
f6de0 70 61 63 6b 61 67 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 62 packages.".........},........."b
f6e00 69 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 in":.{............."type":.["str
f6e20 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 ing",."array"],............."des
f6e40 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 2c 20 6f 72 20 61 cription":."A.set.of.files,.or.a
f6e60 20 73 69 6e 67 6c 65 20 66 69 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 .single.file,.that.should.be.tre
f6e80 61 74 65 64 20 61 73 20 62 69 6e 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e 6b 65 64 20 69 ated.as.binaries.and.symlinked.i
f6ea0 6e 74 6f 20 62 69 6e 2d 64 69 72 20 28 66 72 6f 6d 20 63 6f 6e 66 69 67 29 2e 22 2c 0a 20 20 20 nto.bin-dir.(from.config).",....
f6ec0 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."items":.{.............
f6ee0 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 ...."type":."string"............
f6f00 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 69 6e 63 6c 75 64 65 2d 70 .}.........},........."include-p
f6f20 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 ath":.{............."type":.["ar
f6f40 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ray"],............."description"
f6f60 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 41 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f :."DEPRECATED:.A.list.of.directo
f6f80 72 69 65 73 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 50 ries.which.should.get.added.to.P
f6fa0 48 50 27 73 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 HP's.include.path..This.is.only.
f6fc0 70 72 65 73 65 6e 74 20 74 6f 20 73 75 70 70 6f 72 74 20 6c 65 67 61 63 79 20 70 72 6f 6a 65 63 present.to.support.legacy.projec
f6fe0 74 73 2c 20 61 6e 64 20 61 6c 6c 20 6e 65 77 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 70 72 65 66 ts,.and.all.new.code.should.pref
f7000 65 72 61 62 6c 79 20 75 73 65 20 61 75 74 6f 6c 6f 61 64 69 6e 67 2e 22 2c 0a 20 20 20 20 20 20 erably.use.autoloading.",.......
f7020 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"items":.{................
f7040 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ."type":."string".............}.
f7060 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 63 72 69 70 74 73 22 3a 20 7b 0a ........},........."scripts":.{.
f7080 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a ............"type":.["object"],.
f70a0 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 53 63 72 69 ............"description":."Scri
f70c0 70 74 20 6c 69 73 74 65 6e 65 72 73 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 pt.listeners.that.will.be.execut
f70e0 65 64 20 62 65 66 6f 72 65 2f 61 66 74 65 72 20 73 6f 6d 65 20 65 76 65 6e 74 73 2e 22 2c 0a 20 ed.before/after.some.events.",..
f7100 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 ..........."properties":.{......
f7120 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 22 3a 20 7b 0a ..........."pre-install-cmd":.{.
f7140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 ...................."type":.["ar
f7160 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ray",."string"],................
f7180 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f ....."description":."Occurs.befo
f71a0 72 65 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 re.the.install.command.is.execut
f71c0 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a ed,.contains.one.or.more.Class::
f71e0 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e method.callables.or.shell.comman
f7200 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ds.".................},.........
f7220 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 22 3a 20 7b 0a 20 20 ........"post-install-cmd":.{...
f7240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 .................."type":.["arra
f7260 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y",."string"],..................
f7280 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 ..."description":."Occurs.after.
f72a0 74 68 65 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c the.install.command.is.executed,
f72c0 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 .contains.one.or.more.Class::met
f72e0 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e hod.callables.or.shell.commands.
f7300 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
f7320 20 20 20 20 20 22 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 ....."pre-update-cmd":.{........
f7340 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 ............."type":.["array",."
f7360 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 string"],....................."d
f7380 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 escription":."Occurs.before.the.
f73a0 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 update.command.is.executed,.cont
f73c0 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 ains.one.or.more.Class::method.c
f73e0 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 allables.or.shell.commands."....
f7400 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f7420 22 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 "post-update-cmd":.{............
f7440 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 ........."type":.["array",."stri
f7460 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ng"],....................."descr
f7480 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 iption":."Occurs.after.the.updat
f74a0 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 e.command.is.executed,.contains.
f74c0 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 one.or.more.Class::method.callab
f74e0 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 les.or.shell.commands.".........
f7500 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d ........},................."pre-
f7520 73 74 61 74 75 73 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 status-cmd":.{..................
f7540 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a ..."type":.["array",."string"],.
f7560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f7580 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 74 75 73 20 63 6f 6d ":."Occurs.before.the.status.com
f75a0 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f mand.is.executed,.contains.one.o
f75c0 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f r.more.Class::method.callables.o
f75e0 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.shell.commands."..............
f7600 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 73 74 61 74 ...},................."post-stat
f7620 75 73 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 us-cmd":.{....................."
f7640 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 type":.["array",."string"],.....
f7660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f7680 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 20 Occurs.after.the.status.command.
f76a0 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 is.executed,.contains.one.or.mor
f76c0 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 e.Class::method.callables.or.she
f76e0 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ll.commands.".................},
f7700 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 69 6e ................."pre-package-in
f7720 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 stall":.{....................."t
f7740 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 ype":.["array",."string"],......
f7760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f ..............."description":."O
f7780 63 63 75 72 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c ccurs.before.a.package.is.instal
f77a0 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a led,.contains.one.or.more.Class:
f77c0 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 :method.callables.or.shell.comma
f77e0 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 nds.".................},........
f7800 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 22 3a ........."post-package-install":
f7820 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b .{....................."type":.[
f7840 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 "array",."string"],.............
f7860 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 ........"description":."Occurs.a
f7880 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e fter.a.package.is.installed,.con
f78a0 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 tains.one.or.more.Class::method.
f78c0 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 callables.or.shell.commands."...
f78e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f7900 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 ."pre-package-update":.{........
f7920 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 ............."type":.["array",."
f7940 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 string"],....................."d
f7960 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 61 20 70 61 escription":."Occurs.before.a.pa
f7980 63 6b 61 67 65 20 69 73 20 75 70 64 61 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f ckage.is.updated,.contains.one.o
f79a0 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f r.more.Class::method.callables.o
f79c0 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.shell.commands."..............
f79e0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b ...},................."post-pack
f7a00 61 67 65 2d 75 70 64 61 74 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 age-update":.{..................
f7a20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a ..."type":.["array",."string"],.
f7a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f7a60 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 75 70 ":."Occurs.after.a.package.is.up
f7a80 64 61 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 dated,.contains.one.or.more.Clas
f7aa0 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d s::method.callables.or.shell.com
f7ac0 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 mands.".................},......
f7ae0 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c ..........."pre-package-uninstal
f7b00 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 l":.{....................."type"
f7b20 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 :.["array",."string"],..........
f7b40 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 ..........."description":."Occur
f7b60 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 75 6e 69 6e s.before.a.package.has.been.unin
f7b80 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c stalled,.contains.one.or.more.Cl
f7ba0 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 ass::method.callables.or.shell.c
f7bc0 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ommands.".................},....
f7be0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 ............."post-package-unins
f7c00 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 tall":.{....................."ty
f7c20 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 pe":.["array",."string"],.......
f7c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 .............."description":."Oc
f7c60 63 75 72 73 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 75 6e curs.after.a.package.has.been.un
f7c80 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 installed,.contains.one.or.more.
f7ca0 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c Class::method.callables.or.shell
f7cc0 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 .commands.".................},..
f7ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d ..............."pre-autoload-dum
f7d00 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 p":.{....................."type"
f7d20 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 :.["array",."string"],..........
f7d40 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 ..........."description":."Occur
f7d60 73 20 62 65 66 6f 72 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 69 73 20 64 75 6d 70 65 s.before.the.autoloader.is.dumpe
f7d80 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d d,.contains.one.or.more.Class::m
f7da0 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 ethod.callables.or.shell.command
f7dc0 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 s.".................},..........
f7de0 20 20 20 20 20 20 20 22 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 22 3a 20 7b 0a 20 ......."post-autoload-dump":.{..
f7e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 ..................."type":.["arr
f7e20 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ay",."string"],.................
f7e40 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 ...."description":."Occurs.after
f7e60 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 69 73 20 64 75 6d 70 65 64 2c 20 63 6f 6e 74 61 .the.autoloader.is.dumped,.conta
f7e80 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 ins.one.or.more.Class::method.ca
f7ea0 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 llables.or.shell.commands.".....
f7ec0 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
f7ee0 70 6f 73 74 2d 72 6f 6f 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 post-root-package-install":.{...
f7f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 .................."type":.["arra
f7f20 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y",."string"],..................
f7f40 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 ..."description":."Occurs.after.
f7f60 74 68 65 20 72 6f 6f 74 2d 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 63 the.root-package.is.installed,.c
f7f80 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f ontains.one.or.more.Class::metho
f7fa0 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a d.callables.or.shell.commands.".
f7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f7fe0 20 20 20 22 70 6f 73 74 2d 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 22 3a 20 7b 0a ..."post-create-project-cmd":.{.
f8000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 ...................."type":.["ar
f8020 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ray",."string"],................
f8040 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 ....."description":."Occurs.afte
f8060 72 20 74 68 65 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 20 69 73 20 r.the.create-project.command.is.
f8080 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 executed,.contains.one.or.more.C
f80a0 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 lass::method.callables.or.shell.
f80c0 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 commands.".................}....
f80e0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 .........}.........},........."s
f8100 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 cripts-descriptions":.{.........
f8120 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 ...."type":.["object"],.........
f8140 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 73 63 72 69 70 74 69 6f 6e 73 ...."description":."Descriptions
f8160 20 66 6f 72 20 63 75 73 74 6f 6d 20 63 6f 6d 6d 61 6e 64 73 2c 20 73 68 6f 77 6e 20 69 6e 20 63 .for.custom.commands,.shown.in.c
f8180 6f 6e 73 6f 6c 65 20 68 65 6c 70 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 onsole.help.",............."addi
f81a0 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 tionalProperties":.{............
f81c0 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 ....."type":."string"...........
f81e0 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 75 70 70 6f 72 74 22 ..}.........},........."support"
f8200 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 :.{............."type":."object"
f8220 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 ,............."properties":.{...
f8240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 .............."email":.{........
f8260 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
f8280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f82a0 3a 20 22 45 6d 61 69 6c 20 61 64 64 72 65 73 73 20 66 6f 72 20 73 75 70 70 6f 72 74 2e 22 2c 0a :."Email.address.for.support.",.
f82c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 65 ...................."format":."e
f82e0 6d 61 69 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 mail".................},........
f8300 20 20 20 20 20 20 20 20 20 22 69 73 73 75 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ........."issues":.{............
f8320 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 ........."type":."string",......
f8340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 ..............."description":."U
f8360 52 4c 20 74 6f 20 74 68 65 20 69 73 73 75 65 20 74 72 61 63 6b 65 72 2e 22 2c 0a 20 20 20 20 20 RL.to.the.issue.tracker.",......
f8380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 ..............."format":."uri"..
f83a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f83c0 20 20 22 66 6f 72 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."forum":.{....................
f83e0 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string",..............
f8400 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 ......."description":."URL.to.th
f8420 65 20 66 6f 72 75 6d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 e.forum.",....................."
f8440 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d format":."uri".................}
f8460 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 69 6b 69 22 3a 20 7b 0a 20 20 20 20 ,................."wiki":.{.....
f8480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
f84a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
f84c0 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 77 69 6b 69 2e 22 2c 0a 20 20 20 20 20 20 20 on":."URL.to.the.wiki.",........
f84e0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 ............."format":."uri"....
f8500 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f8520 22 69 72 63 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 "irc":.{....................."ty
f8540 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string",..................
f8560 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 52 43 20 63 68 61 6e 6e 65 6c 20 66 ..."description":."IRC.channel.f
f8580 6f 72 20 73 75 70 70 6f 72 74 2c 20 61 73 20 69 72 63 3a 2f 2f 73 65 72 76 65 72 2f 63 68 61 6e or.support,.as.irc://server/chan
f85a0 6e 65 6c 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d nel.",....................."form
f85c0 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 at":."uri".................},...
f85e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 68 61 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 .............."chat":.{.........
f8600 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 ............"type":."string",...
f8620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a .................."description":
f8640 20 22 55 52 4c 20 74 6f 20 74 68 65 20 73 75 70 70 6f 72 74 20 63 68 61 74 2e 22 2c 0a 20 20 20 ."URL.to.the.support.chat.",....
f8660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 ................."format":."uri"
f8680 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
f86a0 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."source":.{.................
f86c0 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."string",...........
f86e0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f .........."description":."URL.to
f8700 20 62 72 6f 77 73 65 20 6f 72 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 73 6f 75 72 63 65 73 2e .browse.or.download.the.sources.
f8720 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a ",....................."format":
f8740 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 ."uri".................},.......
f8760 20 20 20 20 20 20 20 20 20 20 22 64 6f 63 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........."docs":.{.............
f8780 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
f87a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 .............."description":."UR
f87c0 4c 20 74 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 2c 0a 20 20 20 20 20 20 L.to.the.documentation.",.......
f87e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 .............."format":."uri"...
f8800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f8820 20 22 72 73 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 ."rss":.{....................."t
f8840 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string",.................
f8860 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 52 ...."description":."URL.to.the.R
f8880 53 53 20 66 65 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 SS.feed.",....................."
f88a0 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d format":."uri".................}
f88c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .............}.........},.......
f88e0 20 20 22 6e 6f 6e 2d 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 65 73 22 3a 20 7b 0a 20 20 20 20 .."non-feature-branches":.{.....
f8900 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 ........"type":.["array"],......
f8920 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 ......."description":."A.set.of.
f8940 73 74 72 69 6e 67 20 6f 72 20 72 65 67 65 78 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 6e 6f 6e string.or.regex.patterns.for.non
f8960 2d 6e 75 6d 65 72 69 63 20 62 72 61 6e 63 68 20 6e 61 6d 65 73 20 74 68 61 74 20 77 69 6c 6c 20 -numeric.branch.names.that.will.
f8980 6e 6f 74 20 62 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 65 61 74 75 72 65 20 62 72 61 6e 63 68 not.be.handled.as.feature.branch
f89a0 65 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 es.",............."items":.{....
f89c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 ............."type":."string"...
f89e0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 ..........}.........},........."
f8a00 61 62 61 6e 64 6f 6e 65 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 abandoned":.{............."type"
f8a20 3a 20 5b 22 62 6f 6f 6c 65 61 6e 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 :.["boolean",."string"],........
f8a40 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 6e 64 69 63 61 74 65 73 20 77 ....."description":."Indicates.w
f8a60 68 65 74 68 65 72 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 61 hether.this.package.has.been.aba
f8a80 6e 64 6f 6e 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 62 6f 6f 6c 65 61 6e 20 6f 72 20 61 20 70 ndoned,.it.can.be.boolean.or.a.p
f8aa0 61 63 6b 61 67 65 20 6e 61 6d 65 2f 55 52 4c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 72 65 ackage.name/URL.pointing.to.a.re
f8ac0 63 6f 6d 6d 65 6e 64 65 64 20 61 6c 74 65 72 6e 61 74 69 76 65 2e 20 44 65 66 61 75 6c 74 73 20 commended.alternative..Defaults.
f8ae0 74 6f 20 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f to.false.".........},........."_
f8b00 63 6f 6d 6d 65 6e 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 comment":.{............."type":.
f8b20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ["array",."string"],............
f8b40 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6b 65 79 20 74 6f 20 73 74 6f 72 65 20 ."description":."A.key.to.store.
f8b60 63 6f 6d 6d 65 6e 74 73 20 69 6e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 20 20 comments.in".........}.....},...
f8b80 20 20 22 64 65 66 69 6e 69 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 61 75 74 68 .."definitions":.{........."auth
f8ba0 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 ors":.{............."type":."arr
f8bc0 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ay",............."description":.
f8be0 22 4c 69 73 74 20 6f 66 20 61 75 74 68 6f 72 73 20 74 68 61 74 20 63 6f 6e 74 72 69 62 75 74 65 "List.of.authors.that.contribute
f8c00 64 20 74 6f 20 74 68 65 20 70 61 63 6b 61 67 65 2e 20 54 68 69 73 20 69 73 20 74 79 70 69 63 61 d.to.the.package..This.is.typica
f8c20 6c 6c 79 20 74 68 65 20 6d 61 69 6e 20 6d 61 69 6e 74 61 69 6e 65 72 73 2c 20 6e 6f 74 20 74 68 lly.the.main.maintainers,.not.th
f8c40 65 20 66 75 6c 6c 20 6c 69 73 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d e.full.list.",............."item
f8c60 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f s":.{................."type":."o
f8c80 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f bject",................."additio
f8ca0 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 nalProperties":.false,..........
f8cc0 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 5d 2c 0a 20 20 ......."required":.[."name"],...
f8ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 .............."properties":.{...
f8d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 .................."name":.{.....
f8d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ...................."type":."str
f8d40 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 ing",........................."d
f8d60 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 46 75 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 escription":."Full.name.of.the.a
f8d80 75 74 68 6f 72 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 uthor.".....................},..
f8da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 7b 0a 20 20 ..................."email":.{...
f8dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
f8de0 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring",.........................
f8e00 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6d 61 69 6c 20 61 64 64 72 65 73 73 20 6f 66 "description":."Email.address.of
f8e20 20 74 68 65 20 61 75 74 68 6f 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .the.author.",..................
f8e40 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 65 6d 61 69 6c 22 0a 20 20 20 20 20 20 20 ......."format":."email"........
f8e60 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f8e80 20 20 20 20 22 68 6f 6d 65 70 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."homepage":.{...............
f8ea0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 .........."type":."string",.....
f8ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f8ee0 22 3a 20 22 48 6f 6d 65 70 61 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 2e ":."Homepage.URL.for.the.author.
f8f00 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d ",........................."form
f8f20 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d at":."uri".....................}
f8f40 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 6f 6c 65 22 3a 20 7b 0a ,....................."role":.{.
f8f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 ........................"type":.
f8f80 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "string",.......................
f8fa0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 75 74 68 6f 72 27 73 20 72 6f 6c 65 20 .."description":."Author's.role.
f8fc0 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.the.project."................
f8fe0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .....}.................}........
f9000 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c .....}.........},........."autol
f9020 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a oad":.{............."type":."obj
f9040 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a ect",............."description":
f9060 20 22 44 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 68 6f 77 20 74 68 65 20 70 61 63 6b 61 67 65 ."Description.of.how.the.package
f9080 20 63 61 6e 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 .can.be.autoloaded.",...........
f90a0 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."properties":.{...............
f90c0 20 20 22 70 73 72 2d 30 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."psr-0":.{....................
f90e0 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."object",..............
f9100 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 ......."description":."This.is.a
f9120 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 .hash.of.namespaces.(keys).and.t
f9140 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 he.directories.they.can.be.found
f9160 20 69 6e 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 .in.(values,.can.be.arrays.of.pa
f9180 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 ths).by.the.autoloader.",.......
f91a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 .............."additionalPropert
f91c0 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ies":.{.........................
f91e0 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 "type":.["string",."array"],....
f9200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a ....................."items":.{.
f9220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ............................"typ
f9240 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string"....................
f9260 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .....}.....................}....
f9280 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f92a0 22 70 73 72 2d 34 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "psr-4":.{....................."
f92c0 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."object",................
f92e0 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 ....."description":."This.is.a.h
f9300 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 ash.of.namespaces.(keys).and.the
f9320 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 6d 61 70 20 .PSR-4.directories.they.can.map.
f9340 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 to.(values,.can.be.arrays.of.pat
f9360 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 hs).by.the.autoloader.",........
f9380 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 ............."additionalProperti
f93a0 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 es":.{........................."
f93c0 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 type":.["string",."array"],.....
f93e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 ...................."items":.{..
f9400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ..........................."type
f9420 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string".....................
f9440 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ....}.....................}.....
f9460 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
f9480 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 classmap":.{....................
f94a0 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."array",...............
f94c0 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e ......"description":."This.is.an
f94e0 20 61 72 72 61 79 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 63 6f 6e 74 61 .array.of.directories.that.conta
f9500 69 6e 20 63 6c 61 73 73 65 73 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 in.classes.to.be.included.in.the
f9520 20 63 6c 61 73 73 2d 6d 61 70 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 22 0a .class-map.generation.process.".
f9540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f9560 20 20 20 22 66 69 6c 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."files":.{...................
f9580 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."array",..............
f95a0 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 ......."description":."This.is.a
f95c0 6e 20 61 72 72 61 79 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 77 61 79 73 n.array.of.files.that.are.always
f95e0 20 72 65 71 75 69 72 65 64 20 6f 6e 20 65 76 65 72 79 20 72 65 71 75 65 73 74 2e 22 0a 20 20 20 .required.on.every.request."....
f9600 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f9620 22 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 "exclude-from-classmap":.{......
f9640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a ..............."type":."array",.
f9660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f9680 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 70 61 74 74 65 72 6e 73 ":."This.is.an.array.of.patterns
f96a0 20 74 6f 20 65 78 63 6c 75 64 65 20 66 72 6f 6d 20 61 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 6d .to.exclude.from.autoload.classm
f96c0 61 70 20 67 65 6e 65 72 61 74 69 6f 6e 2e 20 28 65 2e 67 2e 20 5c 22 65 78 63 6c 75 64 65 2d 66 ap.generation..(e.g..\"exclude-f
f96e0 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 5c 22 3a 20 5b 5c 22 2f 74 65 73 74 2f 5c 22 2c 20 5c 22 2f rom-classmap\":.[\"/test/\",.\"/
f9700 74 65 73 74 73 2f 5c 22 2c 20 5c 22 2f 54 65 73 74 73 2f 5c 22 5d 22 0a 20 20 20 20 20 20 20 20 tests/\",.\"/Tests/\"]".........
f9720 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
f9740 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 },........."repository":.{......
f9760 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
f9780 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."oneOf":.[.................
f97a0 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 63 6f 6d 70 6f 73 65 {."$ref":."#/definitions/compose
f97c0 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-repository".},................
f97e0 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 63 73 2d 72 65 .{."$ref":."#/definitions/vcs-re
f9800 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 pository".},.................{."
f9820 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 74 68 2d 72 65 70 6f 73 $ref":."#/definitions/path-repos
f9840 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 itory".},.................{."$re
f9860 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 72 74 69 66 61 63 74 2d 72 65 70 6f f":."#/definitions/artifact-repo
f9880 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 sitory".},.................{."$r
f98a0 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 65 61 72 2d 72 65 70 6f 73 69 74 ef":."#/definitions/pear-reposit
f98c0 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 ory".},.................{."$ref"
f98e0 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 72 65 70 6f 73 69 74 :."#/definitions/package-reposit
f9900 6f 72 79 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a ory".}.............].........},.
f9920 20 20 20 20 20 20 20 20 22 63 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b ........"composer-repository":.{
f9940 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 ............."type":."object",..
f9960 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 ..........."required":.["type",.
f9980 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 "url"],............."properties"
f99a0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 :.{................."type":.{."t
f99c0 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 63 6f 6d 70 6f 73 ype":."string",."enum":.["compos
f99e0 65 72 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b er"].},................."url":.{
f9a00 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ."type":."string".},............
f9a20 20 20 20 20 20 22 6f 70 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."options":.{...............
f9a40 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."object",.........
f9a60 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 ............"additionalPropertie
f9a80 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 s":.true.................},.....
f9aa0 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 ............"allow_ssl_downgrade
f9ac0 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 ":.{."type":."boolean".},.......
f9ae0 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 73 22 .........."force-lazy-providers"
f9b00 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 0a 20 20 20 20 20 20 20 20 :.{."type":."boolean".}.........
f9b20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 63 73 2d 72 65 ....}.........},........."vcs-re
f9b40 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a pository":.{............."type":
f9b60 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 ."object",............."required
f9b80 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ":.["type",."url"],.............
f9ba0 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "properties":.{.................
f9bc0 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 "type":.{."type":."string",."enu
f9be0 6d 22 3a 20 5b 22 76 63 73 22 2c 20 22 67 69 74 68 75 62 22 2c 20 22 67 69 74 22 2c 20 22 67 69 m":.["vcs",."github",."git",."gi
f9c00 74 6c 61 62 22 2c 20 22 67 69 74 2d 62 69 74 62 75 63 6b 65 74 22 2c 20 22 68 67 22 2c 20 22 68 tlab",."git-bitbucket",."hg",."h
f9c20 67 2d 62 69 74 62 75 63 6b 65 74 22 2c 20 22 66 6f 73 73 69 6c 22 2c 20 22 70 65 72 66 6f 72 63 g-bitbucket",."fossil",."perforc
f9c40 65 22 2c 20 22 73 76 6e 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 e",."svn"].},................."u
f9c60 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 rl":.{."type":."string".},......
f9c80 20 20 20 20 20 20 20 20 20 20 20 22 6e 6f 2d 61 70 69 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 ..........."no-api":.{."type":."
f9ca0 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 65 63 boolean".},................."sec
f9cc0 75 72 65 2d 68 74 74 70 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d ure-http":.{."type":."boolean".}
f9ce0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 ,................."svn-cache-cre
f9d00 64 65 6e 74 69 61 6c 73 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d dentials":.{."type":."boolean".}
f9d20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 72 75 6e 6b 2d 70 61 74 68 22 3a 20 ,................."trunk-path":.
f9d40 7b 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 {."type":.["string",."boolean"].
f9d60 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 72 61 6e 63 68 65 73 2d 70 61 74 },................."branches-pat
f9d80 68 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 h":.{."type":.["string",."boolea
f9da0 6e 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 67 73 2d 70 61 74 n"].},................."tags-pat
f9dc0 68 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 h":.{."type":.["string",."boolea
f9de0 6e 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d n"].},................."package-
f9e00 70 61 74 68 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 path":.{."type":."string".},....
f9e20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 70 6f 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 ............."depot":.{."type":.
f9e40 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 72 61 "string".},................."bra
f9e60 6e 63 68 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 nch":.{."type":."string".},.....
f9e80 20 20 20 20 20 20 20 20 20 20 20 20 22 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 ............"unique_perforce_cli
f9ea0 65 6e 74 5f 6e 61 6d 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c ent_name":.{."type":."string".},
f9ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 34 75 73 65 72 22 3a 20 7b 20 22 74 79 ................."p4user":.{."ty
f9ee0 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string".},................
f9f00 20 22 70 34 70 61 73 73 77 6f 72 64 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ."p4password":.{."type":."string
f9f20 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ".}.............}.........},....
f9f40 20 20 20 20 20 22 70 61 74 68 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 ....."path-repository":.{.......
f9f60 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."object",.........
f9f80 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c ...."required":.["type",."url"],
f9fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 ............."properties":.{....
f9fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 ............."type":.{."type":."
f9fe0 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 70 61 74 68 22 5d 20 7d 2c 0a 20 20 20 string",."enum":.["path"].},....
fa000 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 ............."url":.{."type":."s
fa020 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6f tring".},................."optio
fa040 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ns":.{....................."type
fa060 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."object",....................
fa080 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."properties":.{................
fa0a0 20 20 20 20 20 20 20 20 20 22 73 79 6d 6c 69 6e 6b 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 5b 22 ........."symlink":.{."type":.["
fa0c0 62 6f 6f 6c 65 61 6e 22 2c 20 22 6e 75 6c 6c 22 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 boolean",."null"].}.............
fa0e0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ........},....................."
fa100 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 additionalProperties":.true.....
fa120 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
fa140 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 72 74 69 66 61 63 74 2d 72 65 70 6f 73 69 74 ....},........."artifact-reposit
fa160 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a ory":.{............."type":."obj
fa180 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 ect",............."required":.["
fa1a0 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 type",."url"],............."prop
fa1c0 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 erties":.{................."type
fa1e0 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b ":.{."type":."string",."enum":.[
fa200 22 61 72 74 69 66 61 63 74 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "artifact"].},................."
fa220 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 url":.{."type":."string".}......
fa240 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 65 61 .......}.........},........."pea
fa260 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 r-repository":.{............."ty
fa280 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 pe":."object",............."requ
fa2a0 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 ired":.["type",."url"],.........
fa2c0 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."properties":.{.............
fa2e0 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 ...."type":.{."type":."string",.
fa300 22 65 6e 75 6d 22 3a 20 5b 22 70 65 61 72 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 "enum":.["pear"].},.............
fa320 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c ...."url":.{."type":."string".},
fa340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 6e 64 6f 72 2d 61 6c 69 61 73 22 3a ................."vendor-alias":
fa360 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 .{."type":."string".}...........
fa380 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d ..}.........},........."package-
fa3a0 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 repository":.{............."type
fa3c0 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 ":."object",............."requir
fa3e0 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 70 61 63 6b 61 67 65 22 5d 2c 0a 20 20 20 20 20 20 ed":.["type",."package"],.......
fa400 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ......"properties":.{...........
fa420 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ......"type":.{."type":."string"
fa440 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 70 61 63 6b 61 67 65 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 ,."enum":.["package"].},........
fa460 20 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........."package":.{...........
fa480 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 .........."oneOf":.[............
fa4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 .............{."$ref":."#/defini
fa4c0 74 69 6f 6e 73 2f 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 67 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 tions/inline-package".},........
fa4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
fa500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a ..............."type":."array",.
fa520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 ............................"ite
fa540 6d 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 69 6e ms":.{."$ref":."#/definitions/in
fa560 6c 69 6e 65 2d 70 61 63 6b 61 67 65 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line-package".}.................
fa580 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a ........}.....................].
fa5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ................}.............}.
fa5c0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 ........},........."inline-packa
fa5e0 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 ge":.{............."type":."obje
fa600 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 6e ct",............."required":.["n
fa620 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 ame",."version"],............."p
fa640 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e roperties":.{................."n
fa660 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ame":.{....................."typ
fa680 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string",...................
fa6a0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 .."description":."Package.name,.
fa6c0 69 6e 63 6c 75 64 69 6e 67 20 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 65 66 69 78 2e including.'vendor-name/'.prefix.
fa6e0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
fa700 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."type":.{..................
fa720 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string".............
fa740 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 72 67 65 74 2d 64 ....},................."target-d
fa760 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ir":.{....................."desc
fa780 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 74 68 ription":."DEPRECATED:.Forces.th
fa7a0 65 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 74 e.package.to.be.installed.into.t
fa7c0 68 65 20 67 69 76 65 6e 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 69 73 he.given.subdirectory.path..This
fa7e0 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 20 70 .is.used.for.autoloading.PSR-0.p
fa800 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 69 ackages.that.do.not.contain.thei
fa820 72 20 66 75 6c 6c 20 70 61 74 68 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 73 r.full.path..Use.forward.slashes
fa840 20 66 6f 72 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 .for.cross-platform.compatibilit
fa860 79 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a y.",....................."type":
fa880 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ."string".................},....
fa8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 7b 0a 20 20 ............."description":.{...
fa8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fa8e0 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 g".................},...........
fa900 20 20 20 20 20 20 22 6b 65 79 77 6f 72 64 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......"keywords":.{.............
fa920 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 ........"type":."array",........
fa940 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ............."items":.{.........
fa960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
fa980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
fa9a0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 6f 6d 65 70 .......},................."homep
fa9c0 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 age":.{....................."typ
fa9e0 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string",...................
faa00 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."format":."uri"...............
faa20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 ..},................."version":.
faa40 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 {....................."type":."s
faa60 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 tring".................},.......
faa80 20 20 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........."time":.{.............
faaa0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 ........"type":."string"........
faac0 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 69 63 .........},................."lic
faae0 65 6e 73 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ense":.{....................."ty
fab00 70 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 pe":.[........................."
fab20 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string",........................
fab40 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 ."array".....................]..
fab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
fab80 20 20 22 61 75 74 68 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."authors":.{..................
faba0 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 ..."$ref":."#/definitions/author
fabc0 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 s".................},...........
fabe0 20 20 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"require":.{..............
fac00 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
fac20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 ............."additionalProperti
fac40 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 es":.{........................."
fac60 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."string".................
fac80 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ....}.................},........
faca0 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........."replace":.{...........
facc0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
face0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 ................"additionalPrope
fad00 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
fad20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string"..............
fad40 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .......}.................},.....
fad60 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 ............"conflict":.{.......
fad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a .............."type":."object",.
fada0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 ...................."additionalP
fadc0 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roperties":.{...................
fade0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
fae00 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
fae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 0a 20 20 20 ................"provide":.{....
fae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
fae60 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e ",....................."addition
fae80 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alProperties":.{................
faea0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 ........."type":."string".......
faec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
faee0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 2d 64 65 76 22 },................."require-dev"
faf00 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
faf20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 "object",....................."a
faf40 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 dditionalProperties":.{.........
faf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
faf80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
fafa0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 75 67 67 65 .......},................."sugge
fafc0 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 st":.{....................."type
fafe0 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."object",....................
fb000 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 ."additionalProperties":.{......
fb020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ..................."type":."stri
fb040 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ng".....................}.......
fb060 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 ..........},................."ex
fb080 74 72 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 tra":.{....................."typ
fb0a0 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 e":.["object",."array"],........
fb0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 ............."additionalProperti
fb0e0 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 es":.true.................},....
fb100 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 ............."autoload":.{......
fb120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 ..............."$ref":."#/defini
fb140 74 69 6f 6e 73 2f 61 75 74 6f 6c 6f 61 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tions/autoload".................
fb160 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 22 3a 20 7b 0a },................."archive":.{.
fb180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 ...................."type":.["ob
fb1a0 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f ject"],....................."pro
fb1c0 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 perties":.{.....................
fb1e0 20 20 20 20 22 65 78 63 6c 75 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."exclude":.{................
fb200 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 ............."type":."array"....
fb220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
fb240 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
fb260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 69 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 ................"bin":.{........
fb280 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 ............."type":.["string",.
fb2a0 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "array"],....................."d
fb2c0 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 2c 20 6f 72 escription":."A.set.of.files,.or
fb2e0 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 .a.single.file,.that.should.be.t
fb300 72 65 61 74 65 64 20 61 73 20 62 69 6e 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e 6b 65 64 reated.as.binaries.and.symlinked
fb320 20 69 6e 74 6f 20 62 69 6e 2d 64 69 72 20 28 66 72 6f 6d 20 63 6f 6e 66 69 67 29 2e 22 2c 0a 20 .into.bin-dir.(from.config).",..
fb340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 ..................."items":.{...
fb360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
fb380 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 tring".....................}....
fb3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
fb3c0 22 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "include-path":.{...............
fb3e0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 ......"type":.["array"],........
fb400 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 ............."description":."DEP
fb420 52 45 43 41 54 45 44 3a 20 41 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 RECATED:.A.list.of.directories.w
fb440 68 69 63 68 20 73 68 6f 75 6c 64 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 50 48 50 27 73 20 69 hich.should.get.added.to.PHP's.i
fb460 6e 63 6c 75 64 65 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 70 72 65 73 65 6e nclude.path..This.is.only.presen
fb480 74 20 74 6f 20 73 75 70 70 6f 72 74 20 6c 65 67 61 63 79 20 70 72 6f 6a 65 63 74 73 2c 20 61 6e t.to.support.legacy.projects,.an
fb4a0 64 20 61 6c 6c 20 6e 65 77 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 61 62 6c 79 d.all.new.code.should.preferably
fb4c0 20 75 73 65 20 61 75 74 6f 6c 6f 61 64 69 6e 67 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .use.autoloading.",.............
fb4e0 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"items":.{..............
fb500 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 ..........."type":."string".....
fb520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
fb540 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 7b ..},................."source":.{
fb560 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 ....................."type":."ob
fb580 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 ject",....................."requ
fb5a0 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 2c 20 22 72 65 66 65 72 65 6e 63 ired":.["type",."url",."referenc
fb5c0 65 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 e"],....................."proper
fb5e0 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ties":.{........................
fb600 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":.{......................
fb620 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 ......."type":."string".........
fb640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
fb660 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........."url":.{.............
fb680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
fb6a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .........................},.....
fb6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 66 65 72 65 6e 63 65 22 3a ...................."reference":
fb6e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 .{............................."
fb700 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."string".................
fb720 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........},......................
fb740 20 20 20 22 6d 69 72 72 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."mirrors":.{.................
fb760 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 ............"type":."array".....
fb780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
fb7a0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 ..........}.................},..
fb7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 ..............."dist":.{........
fb7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 ............."type":."object",..
fb800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b ..................."required":.[
fb820 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type",."url"],.................
fb840 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."properties":.{.............
fb860 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ............"type":.{...........
fb880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fb8a0 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 g".........................},...
fb8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 0a 20 ......................"url":.{..
fb8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ..........................."type
fb900 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string".....................
fb920 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ....},........................."
fb940 72 65 66 65 72 65 6e 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reference":.{...................
fb960 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 .........."type":."string"......
fb980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 ...................},...........
fb9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 68 61 73 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 .............."shasum":.{.......
fb9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
fb9e0 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d tring".........................}
fba00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 72 72 6f ,........................."mirro
fba20 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs":.{..........................
fba40 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."array"..............
fba60 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........}....................
fba80 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 .}.................}............
fbaa0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 .},............."additionalPrope
fbac0 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 7b rties":.true.........}.....}.}.{
fbae0 0a 20 20 20 20 22 33 38 39 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....."389-exception":.[.........
fbb00 22 33 38 39 20 44 69 72 65 63 74 6f 72 79 20 53 65 72 76 65 72 20 45 78 63 65 70 74 69 6f 6e 22 "389.Directory.Server.Exception"
fbb20 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 2d .....],....."Autoconf-exception-
fbb40 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 2.0":.[........."Autoconf.except
fbb60 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 ion.2.0".....],....."Autoconf-ex
fbb80 63 65 70 74 69 6f 6e 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e ception-3.0":.[........."Autocon
fbba0 66 20 65 78 63 65 70 74 69 6f 6e 20 33 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 69 73 f.exception.3.0".....],....."Bis
fbbc0 6f 6e 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 on-exception-2.2":.[........."Bi
fbbe0 73 6f 6e 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 32 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 son.exception.2.2".....],....."B
fbc00 6f 6f 74 6c 6f 61 64 65 72 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ootloader-exception":.[.........
fbc20 22 42 6f 6f 74 6c 6f 61 64 65 72 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 45 78 63 65 70 74 69 "Bootloader.Distribution.Excepti
fbc40 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 on".....],....."Classpath-except
fbc60 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 20 65 ion-2.0":.[........."Classpath.e
fbc80 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4c 49 53 50 2d xception.2.0".....],....."CLISP-
fbca0 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4c 49 53 50 exception-2.0":.[........."CLISP
fbcc0 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 69 67 69 .exception.2.0".....],....."Digi
fbce0 52 75 6c 65 2d 46 4f 53 53 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 Rule-FOSS-exception":.[.........
fbd00 22 44 69 67 69 52 75 6c 65 20 46 4f 53 53 20 4c 69 63 65 6e 73 65 20 45 78 63 65 70 74 69 6f 6e "DigiRule.FOSS.License.Exception
fbd20 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 65 43 6f 73 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 ".....],....."eCos-exception-2.0
fbd40 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 43 6f 73 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 ":.[........."eCos.exception.2.0
fbd60 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 61 77 6b 65 73 2d 52 75 6e 74 69 6d 65 2d 65 78 63 ".....],....."Fawkes-Runtime-exc
fbd80 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 61 77 6b 65 73 20 52 75 6e 74 69 eption":.[........."Fawkes.Runti
fbda0 6d 65 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 4c 54 4b 2d 65 me.Exception".....],....."FLTK-e
fbdc0 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 4c 54 4b 20 65 78 63 65 70 xception":.[........."FLTK.excep
fbde0 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e tion".....],....."Font-exception
fbe00 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e -2.0":.[........."Font.exception
fbe20 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 66 72 65 65 72 74 6f 73 2d 65 78 63 65 70 .2.0".....],....."freertos-excep
fbe40 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 52 54 4f 53 20 45 tion-2.0":.[........."FreeRTOS.E
fbe60 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 43 43 2d 65 78 xception.2.0".....],....."GCC-ex
fbe80 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 43 43 20 52 75 6e ception-2.0":.[........."GCC.Run
fbea0 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 time.Library.exception.2.0".....
fbec0 5d 2c 0a 20 20 20 20 22 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 ],....."GCC-exception-3.1":.[...
fbee0 20 20 20 20 20 20 22 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 ......"GCC.Runtime.Library.excep
fbf00 74 69 6f 6e 20 33 2e 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 6e 75 2d 6a 61 76 61 6d 61 tion.3.1".....],....."gnu-javama
fbf20 69 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4a 61 il-exception":.[........."GNU.Ja
fbf40 76 61 4d 61 69 6c 20 65 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 69 32 vaMail.exception".....],....."i2
fbf60 70 2d 67 70 6c 2d 6a 61 76 61 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 p-gpl-java-exception":.[........
fbf80 20 22 69 32 70 20 47 50 4c 2b 4a 61 76 61 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c ."i2p.GPL+Java.Exception".....],
fbfa0 0a 20 20 20 20 22 4c 69 62 74 6f 6f 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 ....."Libtool-exception":.[.....
fbfc0 20 20 20 20 22 4c 69 62 74 6f 6f 6c 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 ...."Libtool.Exception".....],..
fbfe0 20 20 20 22 4c 69 6e 75 78 2d 73 79 73 63 61 6c 6c 2d 6e 6f 74 65 22 3a 20 5b 0a 20 20 20 20 20 ..."Linux-syscall-note":.[......
fc000 20 20 20 22 4c 69 6e 75 78 20 53 79 73 63 61 6c 6c 20 4e 6f 74 65 22 0a 20 20 20 20 5d 2c 0a 20 ..."Linux.Syscall.Note".....],..
fc020 20 20 20 22 4c 4c 56 4d 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ..."LLVM-exception":.[........."
fc040 4c 4c 56 4d 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 5a 4d 41 LLVM.Exception".....],....."LZMA
fc060 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 5a 4d 41 20 65 78 63 -exception":.[........."LZMA.exc
fc080 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6d 69 66 2d 65 78 63 65 70 74 69 6f eption".....],....."mif-exceptio
fc0a0 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 63 72 6f 73 20 61 6e 64 20 49 6e 6c 69 6e 65 n":.[........."Macros.and.Inline
fc0c0 20 46 75 6e 63 74 69 6f 6e 73 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 .Functions.Exception".....],....
fc0e0 20 22 4e 6f 6b 69 61 2d 51 74 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 ."Nokia-Qt-exception-1.1":.[....
fc100 20 20 20 20 20 22 4e 6f 6b 69 61 20 51 74 20 4c 47 50 4c 20 65 78 63 65 70 74 69 6f 6e 20 31 2e ....."Nokia.Qt.LGPL.exception.1.
fc120 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 61 6d 6c 2d 4c 47 50 4c 2d 6c 69 6e 6b 69 6e 1".....],....."OCaml-LGPL-linkin
fc140 67 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 43 61 6d 6c 20 4c g-exception":.[........."OCaml.L
fc160 47 50 4c 20 4c 69 6e 6b 69 6e 67 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 GPL.Linking.Exception".....],...
fc180 20 20 22 4f 43 43 54 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .."OCCT-exception-1.0":.[.......
fc1a0 20 20 22 4f 70 65 6e 20 43 41 53 43 41 44 45 20 45 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 .."Open.CASCADE.Exception.1.0"..
fc1c0 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 4a 44 4b 2d 61 73 73 65 6d 62 6c 79 2d 65 78 63 65 ...],....."OpenJDK-assembly-exce
fc1e0 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 4a 44 4b 20 41 ption-1.0":.[........."OpenJDK.A
fc200 73 73 65 6d 62 6c 79 20 65 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 ssembly.exception.1.0".....],...
fc220 20 20 22 6f 70 65 6e 76 70 6e 2d 6f 70 65 6e 73 73 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b .."openvpn-openssl-exception":.[
fc240 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 56 50 4e 20 4f 70 65 6e 53 53 4c 20 45 78 63 65 70 74 ........."OpenVPN.OpenSSL.Except
fc260 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 53 2d 6f 72 2d 50 44 46 2d 66 6f 6e 74 2d ion".....],....."PS-or-PDF-font-
fc280 65 78 63 65 70 74 69 6f 6e 2d 32 30 31 37 30 38 31 37 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 exception-20170817":.[........."
fc2a0 50 53 2f 50 44 46 20 66 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 20 28 32 30 31 37 2d 30 38 2d 31 PS/PDF.font.exception.(2017-08-1
fc2c0 37 29 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 74 2d 47 50 4c 2d 65 78 63 65 70 74 69 6f 6e 7)".....],....."Qt-GPL-exception
fc2e0 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 74 20 47 50 4c 20 65 78 63 65 70 74 69 -1.0":.[........."Qt.GPL.excepti
fc300 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 74 2d 4c 47 50 4c 2d 65 78 63 65 on.1.0".....],....."Qt-LGPL-exce
fc320 70 74 69 6f 6e 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 74 20 4c 47 50 4c 20 65 ption-1.1":.[........."Qt.LGPL.e
fc340 78 63 65 70 74 69 6f 6e 20 31 2e 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 77 74 2d 65 78 xception.1.1".....],....."Qwt-ex
fc360 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 77 74 20 65 78 63 ception-1.0":.[........."Qwt.exc
fc380 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 75 2d 62 6f 6f 74 2d 65 eption.1.0".....],....."u-boot-e
fc3a0 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 2d 42 6f 6f 74 xception-2.0":.[........."U-Boot
fc3c0 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 78 57 69 .exception.2.0".....],....."WxWi
fc3e0 6e 64 6f 77 73 2d 65 78 63 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ndows-exception-3.1":.[.........
fc400 22 57 78 57 69 6e 64 6f 77 73 20 4c 69 62 72 61 72 79 20 45 78 63 65 70 74 69 6f 6e 20 33 2e 31 "WxWindows.Library.Exception.3.1
fc420 22 0a 20 20 20 20 5d 0a 7d 7b 0a 20 20 20 20 22 30 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 ".....].}{....."0BSD":.[........
fc440 20 22 42 53 44 20 5a 65 72 6f 20 43 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ."BSD.Zero.Clause.License",.....
fc460 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
fc480 20 20 20 22 41 41 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 74 74 72 69 62 75 74 69 6f 6e ..."AAL":.[........."Attribution
fc4a0 20 41 73 73 75 72 61 6e 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 .Assurance.License",.........tru
fc4c0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 62 73 e,.........false.....],....."Abs
fc4e0 74 79 6c 65 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 62 73 74 79 6c 65 73 20 4c 69 63 65 tyles":.[........."Abstyles.Lice
fc500 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
fc520 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 64 6f 62 65 2d 32 30 30 36 22 3a 20 5b 0a 20 20 se.....],....."Adobe-2006":.[...
fc540 20 20 20 20 20 20 22 41 64 6f 62 65 20 53 79 73 74 65 6d 73 20 49 6e 63 6f 72 70 6f 72 61 74 65 ......"Adobe.Systems.Incorporate
fc560 64 20 53 6f 75 72 63 65 20 43 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 d.Source.Code.License.Agreement"
fc580 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
fc5a0 20 20 20 5d 2c 0a 20 20 20 20 22 41 64 6f 62 65 2d 47 6c 79 70 68 22 3a 20 5b 0a 20 20 20 20 20 ...],....."Adobe-Glyph":.[......
fc5c0 20 20 20 22 41 64 6f 62 65 20 47 6c 79 70 68 20 4c 69 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 ..."Adobe.Glyph.List.License",..
fc5e0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
fc600 5d 2c 0a 20 20 20 20 22 41 44 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 6d 61 7a 6f 6e ],....."ADSL":.[........."Amazon
fc620 20 44 69 67 69 74 61 6c 20 53 65 72 76 69 63 65 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 .Digital.Services.License",.....
fc640 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fc660 20 20 20 20 22 41 46 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d ...."AFL-1.1":.[........."Academ
fc680 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 ic.Free.License.v1.1",.........t
fc6a0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 rue,.........false.....],....."A
fc6c0 46 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 FL-1.2":.[........."Academic.Fre
fc6e0 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 e.License.v1.2",.........true,..
fc700 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 30 .......false.....],....."AFL-2.0
fc720 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 ":.[........."Academic.Free.Lice
fc740 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 nse.v2.0",.........true,........
fc760 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 31 22 3a 20 5b 0a 20 .false.....],....."AFL-2.1":.[..
fc780 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 32 ......."Academic.Free.License.v2
fc7a0 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .1",.........true,.........false
fc7c0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."AFL-3.0":.[........
fc7e0 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 ."Academic.Free.License.v3.0",..
fc800 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
fc820 2c 0a 20 20 20 20 22 41 66 6d 70 61 72 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 6d ,....."Afmparse":.[........."Afm
fc840 70 61 72 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 parse.License",.........false,..
fc860 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e .......false.....],....."AGPL-1.
fc880 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 0":.[........."Affero.General.Pu
fc8a0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 blic.License.v1.0",.........fals
fc8c0 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c e,.........true.....],....."AGPL
fc8e0 2d 31 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 -1.0-only":.[........."Affero.Ge
fc900 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c neral.Public.License.v1.0.only",
fc920 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
fc940 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a ..],....."AGPL-1.0-or-later":.[.
fc960 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c ........"Affero.General.Public.L
fc980 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 icense.v1.0.or.later",.........f
fc9a0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fc9c0 41 47 50 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f AGPL-3.0":.[........."GNU.Affero
fc9e0 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 .General.Public.License.v3.0",..
fca00 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c .......true,.........true.....],
fca20 0a 20 20 20 20 22 41 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....."AGPL-3.0-only":.[.........
fca40 22 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e "GNU.Affero.General.Public.Licen
fca60 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 se.v3.0.only",.........true,....
fca80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 33 2e 30 2d .....false.....],....."AGPL-3.0-
fcaa0 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f or-later":.[........."GNU.Affero
fcac0 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 .General.Public.License.v3.0.or.
fcae0 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 later",.........true,.........fa
fcb00 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 6c 61 64 64 69 6e 22 3a 20 5b 0a 20 20 20 20 lse.....],....."Aladdin":.[.....
fcb20 20 20 20 20 22 41 6c 61 64 64 69 6e 20 46 72 65 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ...."Aladdin.Free.Public.License
fcb40 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
fcb60 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4d 44 50 4c 50 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....],....."AMDPLPA":.[.........
fcb80 22 41 4d 44 27 73 20 70 6c 70 61 5f 6d 61 70 2e 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 "AMD's.plpa_map.c.License",.....
fcba0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fcbc0 20 20 20 20 22 41 4d 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 4d 49 54 20 ...."AML":.[........."Apple.MIT.
fcbe0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
fcc00 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4d 50 41 53 22 3a 20 5b 0a 20 20 20 .false.....],....."AMPAS":.[....
fcc20 20 20 20 20 20 22 41 63 61 64 65 6d 79 20 6f 66 20 4d 6f 74 69 6f 6e 20 50 69 63 74 75 72 65 20 ....."Academy.of.Motion.Picture.
fcc40 41 72 74 73 20 61 6e 64 20 53 63 69 65 6e 63 65 73 20 42 53 44 22 2c 0a 20 20 20 20 20 20 20 20 Arts.and.Sciences.BSD",.........
fcc60 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fcc80 22 41 4e 54 4c 52 2d 50 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 4e 54 4c 52 20 53 6f 66 "ANTLR-PD":.[........."ANTLR.Sof
fcca0 74 77 61 72 65 20 52 69 67 68 74 73 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 tware.Rights.Notice",.........fa
fccc0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 lse,.........false.....],....."A
fcce0 70 61 63 68 65 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 68 65 20 4c 69 pache-1.0":.[........."Apache.Li
fcd00 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 cense.1.0",.........false,......
fcd20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d 31 2e 31 22 ...false.....],....."Apache-1.1"
fcd40 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 :.[........."Apache.License.1.1"
fcd60 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fcd80 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 ..],....."Apache-2.0":.[........
fcda0 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 ."Apache.License.2.0",.........t
fcdc0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 rue,.........false.....],....."A
fcde0 50 41 46 4d 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 6f 62 65 20 50 6f 73 74 73 63 72 PAFML":.[........."Adobe.Postscr
fce00 69 70 74 20 41 46 4d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ipt.AFM.License",.........false,
fce20 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 4c 2d 31 .........false.....],....."APL-1
fce40 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 61 70 74 69 76 65 20 50 75 62 6c 69 63 20 .0":.[........."Adaptive.Public.
fce60 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.0",.........true,.....
fce80 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 30 22 3a ....false.....],....."APSL-1.0":
fcea0 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 .[........."Apple.Public.Source.
fcec0 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.0",.........true,.....
fcee0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 31 22 3a ....false.....],....."APSL-1.1":
fcf00 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 .[........."Apple.Public.Source.
fcf20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.1",.........true,.....
fcf40 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 32 22 3a ....false.....],....."APSL-1.2":
fcf60 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 .[........."Apple.Public.Source.
fcf80 4c 69 63 65 6e 73 65 20 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.2",.........true,.....
fcfa0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 32 2e 30 22 3a ....false.....],....."APSL-2.0":
fcfc0 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 .[........."Apple.Public.Source.
fcfe0 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.2.0",.........true,.....
fd000 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 ....false.....],....."Artistic-1
fd020 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 .0":.[........."Artistic.License
fd040 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .1.0",.........true,.........fal
fd060 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 2d 63 6c 38 22 se.....],....."Artistic-1.0-cl8"
fd080 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e :.[........."Artistic.License.1.
fd0a0 30 20 77 2f 63 6c 61 75 73 65 20 38 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 0.w/clause.8",.........true,....
fd0c0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d .....false.....],....."Artistic-
fd0e0 31 2e 30 2d 50 65 72 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 1.0-Perl":.[........."Artistic.L
fd100 69 63 65 6e 73 65 20 31 2e 30 20 28 50 65 72 6c 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 icense.1.0.(Perl)",.........true
fd120 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 ,.........false.....],....."Arti
fd140 73 74 69 63 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c stic-2.0":.[........."Artistic.L
fd160 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 icense.2.0",.........true,......
fd180 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 61 68 79 70 68 22 3a 20 5b 0a ...false.....],....."Bahyph":.[.
fd1a0 20 20 20 20 20 20 20 20 22 42 61 68 79 70 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 ........"Bahyph.License",.......
fd1c0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
fd1e0 20 20 22 42 61 72 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 61 72 72 20 4c 69 63 65 6e 73 .."Barr":.[........."Barr.Licens
fd200 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
fd220 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 65 65 72 77 61 72 65 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."Beerware":.[.......
fd240 20 20 22 42 65 65 72 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .."Beerware.License",.........fa
fd260 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 lse,.........false.....],....."B
fd280 69 74 54 6f 72 72 65 6e 74 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 74 54 6f itTorrent-1.0":.[........."BitTo
fd2a0 72 72 65 6e 74 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c rrent.Open.Source.License.v1.0",
fd2c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
fd2e0 20 20 5d 2c 0a 20 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 ..],....."BitTorrent-1.1":.[....
fd300 20 20 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 ....."BitTorrent.Open.Source.Lic
fd320 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 ense.v1.1",.........false,......
fd340 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 6f 72 63 65 75 78 22 3a 20 5b ...false.....],....."Borceux":.[
fd360 0a 20 20 20 20 20 20 20 20 22 42 6f 72 63 65 75 78 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ........."Borceux.license",.....
fd380 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fd3a0 20 20 20 20 22 42 53 44 2d 31 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 ...."BSD-1-Clause":.[........."B
fd3c0 53 44 20 31 2d 43 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 SD.1-Clause.License",.........fa
fd3e0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 lse,.........false.....],....."B
fd400 53 44 2d 32 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 SD-2-Clause":.[........."BSD.2-C
fd420 6c 61 75 73 65 20 5c 22 53 69 6d 70 6c 69 66 69 65 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 lause.\"Simplified\".License",..
fd440 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
fd460 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 46 72 65 65 42 53 44 22 3a 20 5b 0a ,....."BSD-2-Clause-FreeBSD":.[.
fd480 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 46 72 65 65 42 53 44 20 4c 69 ........"BSD.2-Clause.FreeBSD.Li
fd4a0 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
fd4c0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 4e 65 alse.....],....."BSD-2-Clause-Ne
fd4e0 74 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 4e tBSD":.[........."BSD.2-Clause.N
fd500 65 74 42 53 44 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 etBSD.License",.........false,..
fd520 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 .......false.....],....."BSD-2-C
fd540 6c 61 75 73 65 2d 50 61 74 65 6e 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 2d 32 2d lause-Patent":.[........."BSD-2-
fd560 43 6c 61 75 73 65 20 50 6c 75 73 20 50 61 74 65 6e 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 Clause.Plus.Patent.License",....
fd580 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
fd5a0 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 ...."BSD-3-Clause":.[........."B
fd5c0 53 44 20 33 2d 43 6c 61 75 73 65 20 5c 22 4e 65 77 5c 22 20 6f 72 20 5c 22 52 65 76 69 73 65 64 SD.3-Clause.\"New\".or.\"Revised
fd5e0 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 \".License",.........true,......
fd600 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 ...false.....],....."BSD-3-Claus
fd620 65 2d 41 74 74 72 69 62 75 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 77 e-Attribution":.[........."BSD.w
fd640 69 74 68 20 61 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ith.attribution",.........false,
fd660 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 .........false.....],....."BSD-3
fd680 2d 43 6c 61 75 73 65 2d 43 6c 65 61 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 -Clause-Clear":.[........."BSD.3
fd6a0 2d 43 6c 61 75 73 65 20 43 6c 65 61 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 -Clause.Clear.License",.........
fd6c0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fd6e0 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4c 42 4e 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 "BSD-3-Clause-LBNL":.[........."
fd700 4c 61 77 72 65 6e 63 65 20 42 65 72 6b 65 6c 65 79 20 4e 61 74 69 6f 6e 61 6c 20 4c 61 62 73 20 Lawrence.Berkeley.National.Labs.
fd720 42 53 44 20 76 61 72 69 61 6e 74 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 BSD.variant.license",.........fa
fd740 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 lse,.........false.....],....."B
fd760 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 4c 69 63 65 6e 73 65 22 3a SD-3-Clause-No-Nuclear-License":
fd780 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c .[........."BSD.3-Clause.No.Nucl
fd7a0 65 61 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ear.License",.........false,....
fd7c0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 .....false.....],....."BSD-3-Cla
fd7e0 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 4c 69 63 65 6e 73 65 2d 32 30 31 34 22 3a 20 5b 0a use-No-Nuclear-License-2014":.[.
fd800 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 ........"BSD.3-Clause.No.Nuclear
fd820 20 4c 69 63 65 6e 73 65 20 32 30 31 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .License.2014",.........false,..
fd840 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 .......false.....],....."BSD-3-C
fd860 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 57 61 72 72 61 6e 74 79 22 3a 20 5b 0a 20 20 lause-No-Nuclear-Warranty":.[...
fd880 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 20 57 ......"BSD.3-Clause.No.Nuclear.W
fd8a0 61 72 72 61 6e 74 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 arranty",.........false,........
fd8c0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 22 .false.....],....."BSD-4-Clause"
fd8e0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 34 2d 43 6c 61 75 73 65 20 5c 22 4f 72 69 67 :.[........."BSD.4-Clause.\"Orig
fd900 69 6e 61 6c 5c 22 20 6f 72 20 5c 22 4f 6c 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 inal\".or.\"Old\".License",.....
fd920 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fd940 20 20 20 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 2d 55 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 ...."BSD-4-Clause-UC":.[........
fd960 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 20 28 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 ."BSD-4-Clause.(University.of.Ca
fd980 6c 69 66 6f 72 6e 69 61 2d 53 70 65 63 69 66 69 63 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c lifornia-Specific)",.........fal
fd9a0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 se,.........false.....],....."BS
fd9c0 44 2d 50 72 6f 74 65 63 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 50 72 D-Protection":.[........."BSD.Pr
fd9e0 6f 74 65 63 74 69 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 otection.License",.........false
fda00 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d ,.........false.....],....."BSD-
fda20 53 6f 75 72 63 65 2d 43 6f 64 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 53 6f 75 Source-Code":.[........."BSD.Sou
fda40 72 63 65 20 43 6f 64 65 20 41 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 rce.Code.Attribution",.........f
fda60 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fda80 42 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 6f 73 74 20 53 6f 66 74 77 BSL-1.0":.[........."Boost.Softw
fdaa0 61 72 65 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a are.License.1.0",.........true,.
fdac0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 7a 69 70 32 2d ........false.....],....."bzip2-
fdae0 31 2e 30 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 6e 64 20 6c 69 62 1.0.5":.[........."bzip2.and.lib
fdb00 62 7a 69 70 32 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 bzip2.License.v1.0.5",.........f
fdb20 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fdb40 62 7a 69 70 32 2d 31 2e 30 2e 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 bzip2-1.0.6":.[........."bzip2.a
fdb60 6e 64 20 6c 69 62 62 7a 69 70 32 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 2e 36 22 2c 0a 20 20 20 nd.libbzip2.License.v1.0.6",....
fdb80 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
fdba0 0a 20 20 20 20 22 43 61 6c 64 65 72 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 61 6c 64 65 ....."Caldera":.[........."Calde
fdbc0 72 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ra.License",.........false,.....
fdbe0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 41 54 4f 53 4c 2d 31 2e 31 ....false.....],....."CATOSL-1.1
fdc00 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 72 20 41 73 73 6f 63 69 61 74 65 ":.[........."Computer.Associate
fdc20 73 20 54 72 75 73 74 65 64 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 2e s.Trusted.Open.Source.License.1.
fdc40 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 1",.........true,.........false.
fdc60 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 ....],....."CC-BY-1.0":.[.......
fdc80 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 .."Creative.Commons.Attribution.
fdca0 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 1.0.Generic",.........false,....
fdcc0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 32 2e 30 .....false.....],....."CC-BY-2.0
fdce0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 ":.[........."Creative.Commons.A
fdd00 74 74 72 69 62 75 74 69 6f 6e 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 ttribution.2.0.Generic",........
fdd20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fdd40 20 22 43 43 2d 42 59 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 ."CC-BY-2.5":.[........."Creativ
fdd60 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 32 2e 35 20 47 65 6e 65 72 69 e.Commons.Attribution.2.5.Generi
fdd80 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 c",.........false,.........false
fdda0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 .....],....."CC-BY-3.0":.[......
fddc0 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e ..."Creative.Commons.Attribution
fdde0 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .3.0.Unported",.........false,..
fde00 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 34 .......false.....],....."CC-BY-4
fde20 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 .0":.[........."Creative.Commons
fde40 20 41 74 74 72 69 62 75 74 69 6f 6e 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c .Attribution.4.0.International",
fde60 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
fde80 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 ..],....."CC-BY-NC-1.0":.[......
fdea0 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e ..."Creative.Commons.Attribution
fdec0 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 .Non.Commercial.1.0.Generic",...
fdee0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
fdf00 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ,....."CC-BY-NC-2.0":.[.........
fdf20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f "Creative.Commons.Attribution.No
fdf40 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 n.Commercial.2.0.Generic",......
fdf60 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
fdf80 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 ..."CC-BY-NC-2.5":.[........."Cr
fdfa0 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 eative.Commons.Attribution.Non.C
fdfc0 6f 6d 6d 65 72 63 69 61 6c 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 ommercial.2.5.Generic",.........
fdfe0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fe000 22 43 43 2d 42 59 2d 4e 43 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 "CC-BY-NC-3.0":.[........."Creat
fe020 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d ive.Commons.Attribution.Non.Comm
fe040 65 72 63 69 61 6c 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ercial.3.0.Unported",.........fa
fe060 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
fe080 43 2d 42 59 2d 4e 43 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 C-BY-NC-4.0":.[........."Creativ
fe0a0 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 e.Commons.Attribution.Non.Commer
fe0c0 63 69 61 6c 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 cial.4.0.International",........
fe0e0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fe100 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 ."CC-BY-NC-ND-1.0":.[........."C
fe120 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 reative.Commons.Attribution.Non.
fe140 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 20 47 65 Commercial.No.Derivatives.1.0.Ge
fe160 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 neric",.........false,.........f
fe180 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 2e 30 alse.....],....."CC-BY-NC-ND-2.0
fe1a0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 ":.[........."Creative.Commons.A
fe1c0 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 ttribution.Non.Commercial.No.Der
fe1e0 69 76 61 74 69 76 65 73 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 ivatives.2.0.Generic",.........f
fe200 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fe220 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 CC-BY-NC-ND-2.5":.[........."Cre
fe240 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f ative.Commons.Attribution.Non.Co
fe260 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 mmercial.No.Derivatives.2.5.Gene
fe280 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ric",.........false,.........fal
fe2a0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 33 2e 30 22 3a se.....],....."CC-BY-NC-ND-3.0":
fe2c0 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 .[........."Creative.Commons.Att
fe2e0 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 ribution.Non.Commercial.No.Deriv
fe300 61 74 69 76 65 73 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 atives.3.0.Unported",.........fa
fe320 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
fe340 43 2d 42 59 2d 4e 43 2d 4e 44 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 C-BY-NC-ND-4.0":.[........."Crea
fe360 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d tive.Commons.Attribution.Non.Com
fe380 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 mercial.No.Derivatives.4.0.Inter
fe3a0 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 national",.........false,.......
fe3c0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d ..false.....],....."CC-BY-NC-SA-
fe3e0 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 1.0":.[........."Creative.Common
fe400 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 s.Attribution.Non.Commercial.Sha
fe420 72 65 20 41 6c 69 6b 65 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 re.Alike.1.0.Generic",.........f
fe440 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fe460 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 CC-BY-NC-SA-2.0":.[........."Cre
fe480 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f ative.Commons.Attribution.Non.Co
fe4a0 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 30 20 47 65 6e 65 72 69 63 mmercial.Share.Alike.2.0.Generic
fe4c0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
fe4e0 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 35 22 3a 20 5b 0a ....],....."CC-BY-NC-SA-2.5":.[.
fe500 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 ........"Creative.Commons.Attrib
fe520 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 ution.Non.Commercial.Share.Alike
fe540 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 .2.5.Generic",.........false,...
fe560 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 ......false.....],....."CC-BY-NC
fe580 2d 53 41 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f -SA-3.0":.[........."Creative.Co
fe5a0 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c mmons.Attribution.Non.Commercial
fe5c0 20 53 68 61 72 65 20 41 6c 69 6b 65 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 .Share.Alike.3.0.Unported",.....
fe5e0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fe600 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 ...."CC-BY-NC-SA-4.0":.[........
fe620 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e ."Creative.Commons.Attribution.N
fe640 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 6e on.Commercial.Share.Alike.4.0.In
fe660 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ternational",.........false,....
fe680 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d .....false.....],....."CC-BY-ND-
fe6a0 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 1.0":.[........."Creative.Common
fe6c0 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 s.Attribution.No.Derivatives.1.0
fe6e0 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .Generic",.........false,.......
fe700 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 30 ..false.....],....."CC-BY-ND-2.0
fe720 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 ":.[........."Creative.Commons.A
fe740 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 30 20 47 65 ttribution.No.Derivatives.2.0.Ge
fe760 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 neric",.........false,.........f
fe780 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 35 22 3a 20 alse.....],....."CC-BY-ND-2.5":.
fe7a0 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 [........."Creative.Commons.Attr
fe7c0 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 72 ibution.No.Derivatives.2.5.Gener
fe7e0 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ic",.........false,.........fals
fe800 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 33 2e 30 22 3a 20 5b 0a 20 e.....],....."CC-BY-ND-3.0":.[..
fe820 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 ......."Creative.Commons.Attribu
fe840 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 tion.No.Derivatives.3.0.Unported
fe860 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
fe880 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 ....],....."CC-BY-ND-4.0":.[....
fe8a0 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 ....."Creative.Commons.Attributi
fe8c0 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f on.No.Derivatives.4.0.Internatio
fe8e0 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nal",.........false,.........fal
fe900 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 31 2e 30 22 3a 20 5b 0a se.....],....."CC-BY-SA-1.0":.[.
fe920 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 ........"Creative.Commons.Attrib
fe940 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a ution.Share.Alike.1.0.Generic",.
fe960 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
fe980 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .],....."CC-BY-SA-2.0":.[.......
fe9a0 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 .."Creative.Commons.Attribution.
fe9c0 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 Share.Alike.2.0.Generic",.......
fe9e0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
fea00 20 20 22 43 43 2d 42 59 2d 53 41 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 .."CC-BY-SA-2.5":.[........."Cre
fea20 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 ative.Commons.Attribution.Share.
fea40 41 6c 69 6b 65 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 Alike.2.5.Generic",.........fals
fea60 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d e,.........false.....],....."CC-
fea80 42 59 2d 53 41 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 BY-SA-3.0":.[........."Creative.
feaa0 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 Commons.Attribution.Share.Alike.
feac0 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 3.0.Unported",.........false,...
feae0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 ......false.....],....."CC-BY-SA
feb00 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f -4.0":.[........."Creative.Commo
feb20 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 ns.Attribution.Share.Alike.4.0.I
feb40 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 nternational",.........false,...
feb60 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 30 2d 31 2e 30 22 ......false.....],....."CC0-1.0"
feb80 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 5a 65 :.[........."Creative.Commons.Ze
feba0 72 6f 20 76 31 2e 30 20 55 6e 69 76 65 72 73 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ro.v1.0.Universal",.........fals
febc0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 44 e,.........false.....],....."CDD
febe0 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 44 65 76 65 6c 6f L-1.0":.[........."Common.Develo
fec00 70 6d 65 6e 74 20 61 6e 64 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 31 pment.and.Distribution.License.1
fec20 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
fec40 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 44 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."CDDL-1.1":.[.......
fec60 20 20 22 43 6f 6d 6d 6f 6e 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 44 69 73 74 72 69 .."Common.Development.and.Distri
fec80 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c bution.License.1.1",.........fal
feca0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 se,.........false.....],....."CD
fecc0 4c 41 2d 50 65 72 6d 69 73 73 69 76 65 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 LA-Permissive-1.0":.[........."C
fece0 6f 6d 6d 75 6e 69 74 79 20 44 61 74 61 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 ommunity.Data.License.Agreement.
fed00 50 65 72 6d 69 73 73 69 76 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a Permissive.1.0",.........false,.
fed20 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 4c 41 2d 53 ........false.....],....."CDLA-S
fed40 68 61 72 69 6e 67 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 75 6e 69 74 haring-1.0":.[........."Communit
fed60 79 20 44 61 74 61 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 53 68 61 72 69 6e 67 y.Data.License.Agreement.Sharing
fed80 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 .1.0",.........false,.........fa
feda0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 31 2e 30 22 3a 20 5b 0a 20 lse.....],....."CECILL-1.0":.[..
fedc0 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 ......."CeCILL.Free.Software.Lic
fede0 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ense.Agreement.v1.0",.........fa
fee00 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
fee20 45 43 49 4c 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 ECILL-1.1":.[........."CeCILL.Fr
fee40 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 31 ee.Software.License.Agreement.v1
fee60 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 .1",.........false,.........fals
fee80 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 e.....],....."CECILL-2.0":.[....
feea0 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e ....."CeCILL.Free.Software.Licen
feec0 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se.Agreement.v2.0",.........fals
feee0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 e,.........false.....],....."CEC
fef00 49 4c 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 ILL-2.1":.[........."CeCILL.Free
fef20 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 32 2e 31 .Software.License.Agreement.v2.1
fef40 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
fef60 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 42 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ...],....."CECILL-B":.[.........
fef80 22 43 65 43 49 4c 4c 2d 42 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 "CeCILL-B.Free.Software.License.
fefa0 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 Agreement",.........false,......
fefc0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 43 22 3a 20 ...false.....],....."CECILL-C":.
fefe0 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 2d 43 20 46 72 65 65 20 53 6f 66 74 77 61 72 [........."CeCILL-C.Free.Softwar
ff000 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 e.License.Agreement",.........fa
ff020 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
ff040 45 52 4e 2d 4f 48 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 45 52 4e 20 4f 70 ERN-OHL-1.1":.[........."CERN.Op
ff060 65 6e 20 48 61 72 64 77 61 72 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 en.Hardware.License.v1.1",......
ff080 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
ff0a0 20 20 20 22 43 45 52 4e 2d 4f 48 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 45 ..."CERN-OHL-1.2":.[........."CE
ff0c0 52 4e 20 4f 70 65 6e 20 48 61 72 64 77 61 72 65 20 4c 69 63 65 6e 63 65 20 76 31 2e 32 22 2c 0a RN.Open.Hardware.Licence.v1.2",.
ff0e0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
ff100 20 5d 2c 0a 20 20 20 20 22 43 6c 41 72 74 69 73 74 69 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 .],....."ClArtistic":.[.........
ff120 22 43 6c 61 72 69 66 69 65 64 20 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 "Clarified.Artistic.License",...
ff140 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
ff160 2c 0a 20 20 20 20 22 43 4e 52 49 2d 4a 79 74 68 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ,....."CNRI-Jython":.[........."
ff180 43 4e 52 49 20 4a 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 CNRI.Jython.License",.........fa
ff1a0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
ff1c0 4e 52 49 2d 50 79 74 68 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 50 79 74 NRI-Python":.[........."CNRI.Pyt
ff1e0 68 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 hon.License",.........true,.....
ff200 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f ....false.....],....."CNRI-Pytho
ff220 6e 2d 47 50 4c 2d 43 6f 6d 70 61 74 69 62 6c 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e n-GPL-Compatible":.[........."CN
ff240 52 49 20 50 79 74 68 6f 6e 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 47 50 4c 20 43 6f 6d 70 61 74 RI.Python.Open.Source.GPL.Compat
ff260 69 62 6c 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 ible.License.Agreement",........
ff280 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
ff2a0 20 22 43 6f 6e 64 6f 72 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6e 64 6f 72 ."Condor-1.1":.[........."Condor
ff2c0 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 .Public.License.v1.1",.........f
ff2e0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ff300 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 2d 30 2e 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 copyleft-next-0.3.0":.[.........
ff320 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 20 30 2e 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 "copyleft-next.0.3.0",.........f
ff340 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ff360 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 2d 30 2e 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 copyleft-next-0.3.1":.[.........
ff380 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 20 30 2e 33 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 "copyleft-next.0.3.1",.........f
ff3a0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ff3c0 43 50 41 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 50 75 62 CPAL-1.0":.[........."Common.Pub
ff3e0 6c 69 63 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 lic.Attribution.License.1.0",...
ff400 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
ff420 0a 20 20 20 20 22 43 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f ....."CPL-1.0":.[........."Commo
ff440 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 n.Public.License.1.0",.........t
ff460 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 rue,.........false.....],....."C
ff480 50 4f 4c 2d 31 2e 30 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 64 65 20 50 72 6f 6a 65 POL-1.02":.[........."Code.Proje
ff4a0 63 74 20 4f 70 65 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 32 22 2c 0a 20 20 20 20 20 20 20 20 66 ct.Open.License.1.02",.........f
ff4c0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ff4e0 43 72 6f 73 73 77 6f 72 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 6f 73 73 77 6f 72 64 Crossword":.[........."Crossword
ff500 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
ff520 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 72 79 73 74 61 6c 53 74 61 63 6b ..false.....],....."CrystalStack
ff540 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 79 73 74 61 6c 53 74 61 63 6b 65 72 20 4c er":.[........."CrystalStacker.L
ff560 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
ff580 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 55 41 2d 4f 50 4c 2d 31 2e 30 22 3a 20 false.....],....."CUA-OPL-1.0":.
ff5a0 5b 0a 20 20 20 20 20 20 20 20 22 43 55 41 20 4f 66 66 69 63 65 20 50 75 62 6c 69 63 20 4c 69 63 [........."CUA.Office.Public.Lic
ff5c0 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 ense.v1.0",.........true,.......
ff5e0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 75 62 65 22 3a 20 5b 0a 20 20 20 ..false.....],....."Cube":.[....
ff600 20 20 20 20 20 22 43 75 62 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ....."Cube.License",.........fal
ff620 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 63 75 se,.........false.....],....."cu
ff640 72 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 63 75 72 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 rl":.[........."curl.License",..
ff660 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
ff680 5d 2c 0a 20 20 20 20 22 44 2d 46 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 ],....."D-FSL-1.0":.[........."D
ff6a0 65 75 74 73 63 68 65 20 46 72 65 69 65 20 53 6f 66 74 77 61 72 65 20 4c 69 7a 65 6e 7a 22 2c 0a eutsche.Freie.Software.Lizenz",.
ff6c0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
ff6e0 20 5d 2c 0a 20 20 20 20 22 64 69 66 66 6d 61 72 6b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 .],....."diffmark":.[........."d
ff700 69 66 66 6d 61 72 6b 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c iffmark.license",.........false,
ff720 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 4f 43 22 3a .........false.....],....."DOC":
ff740 20 5b 0a 20 20 20 20 20 20 20 20 22 44 4f 43 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 .[........."DOC.License",.......
ff760 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
ff780 20 20 22 44 6f 74 73 65 71 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 6f 74 73 65 71 6e 20 .."Dotseqn":.[........."Dotseqn.
ff7a0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
ff7c0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 53 44 50 22 3a 20 5b 0a 20 20 20 20 .false.....],....."DSDP":.[.....
ff7e0 20 20 20 20 22 44 53 44 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ...."DSDP.License",.........fals
ff800 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 64 76 69 e,.........false.....],....."dvi
ff820 70 64 66 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 76 69 70 64 66 6d 20 4c 69 63 65 6e 73 pdfm":.[........."dvipdfm.Licens
ff840 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
ff860 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 43 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."ECL-1.0":.[........
ff880 20 22 45 64 75 63 61 74 69 6f 6e 61 6c 20 43 6f 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 65 20 ."Educational.Community.License.
ff8a0 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c v1.0",.........true,.........fal
ff8c0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 43 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."ECL-2.0":.[......
ff8e0 20 20 20 22 45 64 75 63 61 74 69 6f 6e 61 6c 20 43 6f 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 ..."Educational.Community.Licens
ff900 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 e.v2.0",.........true,.........f
ff920 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 65 43 6f 73 2d 32 2e 30 22 3a 20 5b 0a 20 20 alse.....],....."eCos-2.0":.[...
ff940 20 20 20 20 20 20 22 65 43 6f 73 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 30 22 ......"eCos.license.version.2.0"
ff960 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 ,.........false,.........true...
ff980 20 20 5d 2c 0a 20 20 20 20 22 45 46 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 ..],....."EFL-1.0":.[........."E
ff9a0 69 66 66 65 6c 20 46 6f 72 75 6d 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 iffel.Forum.License.v1.0",......
ff9c0 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
ff9e0 20 20 22 45 46 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 69 66 66 65 6c 20 46 .."EFL-2.0":.[........."Eiffel.F
ffa00 6f 72 75 6d 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 orum.License.v2.0",.........true
ffa20 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 65 47 65 6e ,.........false.....],....."eGen
ffa40 69 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 47 65 6e 69 78 2e 63 6f 6d 20 50 75 62 6c 69 ix":.[........."eGenix.com.Publi
ffa60 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c c.License.1.1.0",.........false,
ffa80 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 6e 74 65 73 .........false.....],....."Entes
ffaa0 73 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 6e 74 65 73 73 61 20 50 75 62 6c 69 63 20 4c sa":.[........."Entessa.Public.L
ffac0 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 icense.v1.0",.........true,.....
ffae0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 50 4c 2d 31 2e 30 22 3a 20 ....false.....],....."EPL-1.0":.
ffb00 5b 0a 20 20 20 20 20 20 20 20 22 45 63 6c 69 70 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 [........."Eclipse.Public.Licens
ffb20 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.0",.........true,.........fa
ffb40 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 lse.....],....."EPL-2.0":.[.....
ffb60 20 20 20 20 22 45 63 6c 69 70 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 ...."Eclipse.Public.License.2.0"
ffb80 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
ffba0 20 20 5d 2c 0a 20 20 20 20 22 45 72 6c 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ..],....."ErlPL-1.1":.[.........
ffbc0 22 45 72 6c 61 6e 67 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 "Erlang.Public.License.v1.1",...
ffbe0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
ffc00 2c 0a 20 20 20 20 22 45 55 44 61 74 61 67 72 69 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 ,....."EUDatagrid":.[........."E
ffc20 55 20 44 61 74 61 47 72 69 64 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 U.DataGrid.Software.License",...
ffc40 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
ffc60 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f ....."EUPL-1.0":.[........."Euro
ffc80 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a pean.Union.Public.License.1.0",.
ffca0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
ffcc0 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 .],....."EUPL-1.1":.[........."E
ffce0 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 uropean.Union.Public.License.1.1
ffd00 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
ffd20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ...],....."EUPL-1.2":.[.........
ffd40 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 "European.Union.Public.License.1
ffd60 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .2",.........true,.........false
ffd80 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 75 72 6f 73 79 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."Eurosym":.[........
ffda0 20 22 45 75 72 6f 73 79 6d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ."Eurosym.License",.........fals
ffdc0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 61 69 e,.........false.....],....."Fai
ffde0 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 61 69 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 r":.[........."Fair.License",...
ffe00 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
ffe20 0a 20 20 20 20 22 46 72 61 6d 65 77 6f 72 78 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....."Frameworx-1.0":.[.........
ffe40 22 46 72 61 6d 65 77 6f 72 78 20 4f 70 65 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 "Frameworx.Open.License.1.0",...
ffe60 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
ffe80 0a 20 20 20 20 22 46 72 65 65 49 6d 61 67 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 ....."FreeImage":.[........."Fre
ffea0 65 49 6d 61 67 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 eImage.Public.License.v1.0",....
ffec0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
ffee0 0a 20 20 20 20 22 46 53 46 41 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 53 46 20 41 6c 6c ....."FSFAP":.[........."FSF.All
fff00 20 50 65 72 6d 69 73 73 69 76 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .Permissive.License",.........fa
fff20 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 lse,.........false.....],....."F
fff40 53 46 55 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 53 46 20 55 6e 6c 69 6d 69 74 65 64 20 SFUL":.[........."FSF.Unlimited.
fff60 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
fff80 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 53 46 55 4c 4c 52 22 3a 20 5b 0a 20 .false.....],....."FSFULLR":.[..
fffa0 20 20 20 20 20 20 20 22 46 53 46 20 55 6e 6c 69 6d 69 74 65 64 20 4c 69 63 65 6e 73 65 20 28 77 ......."FSF.Unlimited.License.(w
fffc0 69 74 68 20 4c 69 63 65 6e 73 65 20 52 65 74 65 6e 74 69 6f 6e 29 22 2c 0a 20 20 20 20 20 20 20 ith.License.Retention)",........
fffe0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
100000 20 22 46 54 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 74 79 70 65 20 50 72 6f 6a ."FTL":.[........."Freetype.Proj
100020 65 63 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ect.License",.........false,....
100040 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 22 .....false.....],....."GFDL-1.1"
100060 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 :.[........."GNU.Free.Documentat
100080 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ion.License.v1.1",.........false
1000a0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d ,.........true.....],....."GFDL-
1000c0 31 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 1.1-only":.[........."GNU.Free.D
1000e0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 20 6f 6e 6c 79 22 2c ocumentation.License.v1.1.only",
100100 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
100120 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a ..],....."GFDL-1.1-or-later":.[.
100140 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 ........"GNU.Free.Documentation.
100160 4c 69 63 65 6e 73 65 20 76 31 2e 31 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 License.v1.1.or.later",.........
100180 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
1001a0 22 47 46 44 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 "GFDL-1.2":.[........."GNU.Free.
1001c0 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 Documentation.License.v1.2",....
1001e0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a .....false,.........true.....],.
100200 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ...."GFDL-1.2-only":.[........."
100220 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 GNU.Free.Documentation.License.v
100240 31 2e 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 1.2.only",.........false,.......
100260 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d 6f 72 2d ..false.....],....."GFDL-1.2-or-
100280 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 later":.[........."GNU.Free.Docu
1002a0 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 20 6f 72 20 6c 61 74 65 72 22 mentation.License.v1.2.or.later"
1002c0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
1002e0 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ...],....."GFDL-1.3":.[.........
100300 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 "GNU.Free.Documentation.License.
100320 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 v1.3",.........false,.........tr
100340 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 33 2d 6f 6e 6c 79 22 3a 20 5b ue.....],....."GFDL-1.3-only":.[
100360 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ........."GNU.Free.Documentation
100380 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .License.v1.3.only",.........fal
1003a0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 se,.........false.....],....."GF
1003c0 44 4c 2d 31 2e 33 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 DL-1.3-or-later":.[........."GNU
1003e0 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 .Free.Documentation.License.v1.3
100400 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 .or.later",.........false,......
100420 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 69 66 74 77 61 72 65 22 3a 20 ...false.....],....."Giftware":.
100440 5b 0a 20 20 20 20 20 20 20 20 22 47 69 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 [........."Giftware.License",...
100460 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
100480 2c 0a 20 20 20 20 22 47 4c 32 50 53 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4c 32 50 53 20 ,....."GL2PS":.[........."GL2PS.
1004a0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
1004c0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 6c 69 64 65 22 3a 20 5b 0a 20 20 20 .false.....],....."Glide":.[....
1004e0 20 20 20 20 20 22 33 64 66 78 20 47 6c 69 64 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ....."3dfx.Glide.License",......
100500 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
100520 20 20 20 22 47 6c 75 6c 78 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 6c 75 6c 78 65 20 4c ..."Glulxe":.[........."Glulxe.L
100540 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
100560 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 6e 75 70 6c 6f 74 22 3a 20 5b 0a 20 20 false.....],....."gnuplot":.[...
100580 20 20 20 20 20 20 22 67 6e 75 70 6c 6f 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 ......"gnuplot.License",........
1005a0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1005c0 20 22 47 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 ."GPL-1.0":.[........."GNU.Gener
1005e0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 al.Public.License.v1.0.only",...
100600 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c ......false,.........true.....],
100620 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 ....."GPL-1.0+":.[........."GNU.
100640 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c General.Public.License.v1.0.or.l
100660 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 ater",.........false,.........tr
100680 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a ue.....],....."GPL-1.0-only":.[.
1006a0 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ........"GNU.General.Public.Lice
1006c0 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 nse.v1.0.only",.........false,..
1006e0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 .......false.....],....."GPL-1.0
100700 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 -or-later":.[........."GNU.Gener
100720 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 al.Public.License.v1.0.or.later"
100740 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
100760 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ...],....."GPL-2.0":.[........."
100780 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 GNU.General.Public.License.v2.0.
1007a0 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 only",.........true,.........tru
1007c0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 e.....],....."GPL-2.0+":.[......
1007e0 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 ..."GNU.General.Public.License.v
100800 32 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 2.0.or.later",.........true,....
100820 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 6f 6e .....true.....],....."GPL-2.0-on
100840 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c ly":.[........."GNU.General.Publ
100860 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 ic.License.v2.0.only",.........t
100880 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 rue,.........false.....],....."G
1008a0 50 4c 2d 32 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 PL-2.0-or-later":.[........."GNU
1008c0 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 72 20 .General.Public.License.v2.0.or.
1008e0 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 later",.........true,.........fa
100900 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 61 75 74 lse.....],....."GPL-2.0-with-aut
100920 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 oconf-exception":.[........."GNU
100940 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 41 .General.Public.License.v2.0.w/A
100960 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 utoconf.exception",.........fals
100980 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d e,.........true.....],....."GPL-
1009a0 32 2e 30 2d 77 69 74 68 2d 62 69 73 6f 6e 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 2.0-with-bison-exception":.[....
1009c0 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ....."GNU.General.Public.License
1009e0 20 76 32 2e 30 20 77 2f 42 69 73 6f 6e 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 .v2.0.w/Bison.exception",.......
100a00 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..false,.........true.....],....
100a20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 63 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 69 ."GPL-2.0-with-classpath-excepti
100a40 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c on":.[........."GNU.General.Publ
100a60 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 43 6c 61 73 73 70 61 74 68 20 65 78 63 65 ic.License.v2.0.w/Classpath.exce
100a80 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 ption",.........false,.........t
100aa0 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 66 6f 6e rue.....],....."GPL-2.0-with-fon
100ac0 74 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e t-exception":.[........."GNU.Gen
100ae0 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 46 6f 6e 74 20 eral.Public.License.v2.0.w/Font.
100b00 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 exception",.........false,......
100b20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 ...true.....],....."GPL-2.0-with
100b40 2d 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 -GCC-exception":.[........."GNU.
100b60 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 47 43 General.Public.License.v2.0.w/GC
100b80 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 C.Runtime.Library.exception",...
100ba0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c ......false,.........true.....],
100bc0 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 ....."GPL-3.0":.[........."GNU.G
100be0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 eneral.Public.License.v3.0.only"
100c00 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 ,.........true,.........true....
100c20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 .],....."GPL-3.0+":.[........."G
100c40 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f NU.General.Public.License.v3.0.o
100c60 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 r.later",.........true,.........
100c80 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 true.....],....."GPL-3.0-only":.
100ca0 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 [........."GNU.General.Public.Li
100cc0 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a cense.v3.0.only",.........true,.
100ce0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e ........false.....],....."GPL-3.
100d00 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 0-or-later":.[........."GNU.Gene
100d20 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 ral.Public.License.v3.0.or.later
100d40 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
100d60 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 ...],....."GPL-3.0-with-autoconf
100d80 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 -exception":.[........."GNU.Gene
100da0 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 77 2f 41 75 74 6f 63 6f ral.Public.License.v3.0.w/Autoco
100dc0 6e 66 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 nf.exception",.........false,...
100de0 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 77 ......true.....],....."GPL-3.0-w
100e00 69 74 68 2d 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 ith-GCC-exception":.[........."G
100e20 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 77 NU.General.Public.License.v3.0.w
100e40 2f 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 22 2c /GCC.Runtime.Library.exception",
100e60 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 .........true,.........true.....
100e80 5d 2c 0a 20 20 20 20 22 67 53 4f 41 50 2d 31 2e 33 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ],....."gSOAP-1.3b":.[........."
100ea0 67 53 4f 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 62 22 2c 0a 20 20 20 gSOAP.Public.License.v1.3b",....
100ec0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
100ee0 0a 20 20 20 20 22 48 61 73 6b 65 6c 6c 52 65 70 6f 72 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....."HaskellReport":.[.........
100f00 22 48 61 73 6b 65 6c 6c 20 4c 61 6e 67 75 61 67 65 20 52 65 70 6f 72 74 20 4c 69 63 65 6e 73 65 "Haskell.Language.Report.License
100f20 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
100f40 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 50 4e 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 69 ....],....."HPND":.[........."Hi
100f60 73 74 6f 72 69 63 61 6c 20 50 65 72 6d 69 73 73 69 6f 6e 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 storical.Permission.Notice.and.D
100f80 69 73 63 6c 61 69 6d 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 isclaimer",.........true,.......
100fa0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 50 4e 44 2d 73 65 6c 6c 2d 76 61 ..false.....],....."HPND-sell-va
100fc0 72 69 61 6e 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 69 73 74 6f 72 69 63 61 6c 20 50 65 riant":.[........."Historical.Pe
100fe0 72 6d 69 73 73 69 6f 6e 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 69 73 63 6c 61 69 6d 65 72 20 2d rmission.Notice.and.Disclaimer.-
101000 20 73 65 6c 6c 20 76 61 72 69 61 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .sell.variant",.........false,..
101020 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 42 4d 2d 70 69 62 .......false.....],....."IBM-pib
101040 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 42 4d 20 50 6f 77 65 72 50 43 20 49 6e 69 74 69 s":.[........."IBM.PowerPC.Initi
101060 61 6c 69 7a 61 74 69 6f 6e 20 61 6e 64 20 42 6f 6f 74 20 53 6f 66 74 77 61 72 65 22 2c 0a 20 20 alization.and.Boot.Software",...
101080 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
1010a0 2c 0a 20 20 20 20 22 49 43 55 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 43 55 20 4c 69 63 65 ,....."ICU":.[........."ICU.Lice
1010c0 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
1010e0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 4a 47 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 se.....],....."IJG":.[........."
101100 49 6e 64 65 70 65 6e 64 65 6e 74 20 4a 50 45 47 20 47 72 6f 75 70 20 4c 69 63 65 6e 73 65 22 2c Independent.JPEG.Group.License",
101120 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
101140 20 20 5d 2c 0a 20 20 20 20 22 49 6d 61 67 65 4d 61 67 69 63 6b 22 3a 20 5b 0a 20 20 20 20 20 20 ..],....."ImageMagick":.[.......
101160 20 20 22 49 6d 61 67 65 4d 61 67 69 63 6b 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 .."ImageMagick.License",........
101180 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1011a0 20 22 69 4d 61 74 69 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 4d 61 74 69 78 20 53 74 61 ."iMatix":.[........."iMatix.Sta
1011c0 6e 64 61 72 64 20 46 75 6e 63 74 69 6f 6e 20 4c 69 62 72 61 72 79 20 41 67 72 65 65 6d 65 6e 74 ndard.Function.Library.Agreement
1011e0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
101200 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6d 6c 69 62 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....],....."Imlib2":.[........."
101220 49 6d 6c 69 62 32 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a Imlib2.License",.........false,.
101240 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 66 6f 2d 5a ........false.....],....."Info-Z
101260 49 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 66 6f 2d 5a 49 50 20 4c 69 63 65 6e 73 65 IP":.[........."Info-ZIP.License
101280 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1012a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 ....],....."Intel":.[........."I
1012c0 6e 74 65 6c 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ntel.Open.Source.License",......
1012e0 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
101300 20 20 22 49 6e 74 65 6c 2d 41 43 50 49 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 6c .."Intel-ACPI":.[........."Intel
101320 20 41 43 50 49 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 .ACPI.Software.License.Agreement
101340 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
101360 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 72 62 61 73 65 2d 31 2e 30 22 3a 20 5b 0a 20 20 ....],....."Interbase-1.0":.[...
101380 20 20 20 20 20 20 22 49 6e 74 65 72 62 61 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 ......"Interbase.Public.License.
1013a0 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 v1.0",.........false,.........fa
1013c0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 50 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 lse.....],....."IPA":.[.........
1013e0 22 49 50 41 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 "IPA.Font.License",.........true
101400 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 50 4c 2d ,.........false.....],....."IPL-
101420 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 42 4d 20 50 75 62 6c 69 63 20 4c 69 63 65 1.0":.[........."IBM.Public.Lice
101440 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 nse.v1.0",.........true,........
101460 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 53 43 22 3a 20 5b 0a 20 20 20 20 20 .false.....],....."ISC":.[......
101480 20 20 20 22 49 53 43 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a ..."ISC.License",.........true,.
1014a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4a 61 73 50 65 72 ........false.....],....."JasPer
1014c0 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4a 61 73 50 65 72 20 4c 69 63 65 6e 73 65 -2.0":.[........."JasPer.License
1014e0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
101500 20 20 20 20 5d 2c 0a 20 20 20 20 22 4a 53 4f 4e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4a 53 ....],....."JSON":.[........."JS
101520 4f 4e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ON.License",.........false,.....
101540 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 41 4c 2d 31 2e 32 22 3a 20 ....false.....],....."LAL-1.2":.
101560 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 41 72 74 20 4c 69 62 72 65 20 31 2e 32 [........."Licence.Art.Libre.1.2
101580 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1015a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 41 4c 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....],....."LAL-1.3":.[.........
1015c0 22 4c 69 63 65 6e 63 65 20 41 72 74 20 4c 69 62 72 65 20 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 "Licence.Art.Libre.1.3",........
1015e0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
101600 20 22 4c 61 74 65 78 32 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 74 65 78 32 65 20 4c ."Latex2e":.[........."Latex2e.L
101620 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
101640 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 65 70 74 6f 6e 69 63 61 22 3a 20 5b 0a false.....],....."Leptonica":.[.
101660 20 20 20 20 20 20 20 20 22 4c 65 70 74 6f 6e 69 63 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 ........"Leptonica.License",....
101680 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
1016a0 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 ....."LGPL-2.0":.[........."GNU.
1016c0 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 Library.General.Public.License.v
1016e0 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 2.only",.........true,.........t
101700 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 2b 22 3a 20 5b 0a 20 20 rue.....],....."LGPL-2.0+":.[...
101720 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ......"GNU.Library.General.Publi
101740 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 c.License.v2.or.later",.........
101760 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c true,.........true.....],....."L
101780 47 50 4c 2d 32 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 GPL-2.0-only":.[........."GNU.Li
1017a0 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 brary.General.Public.License.v2.
1017c0 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c only",.........true,.........fal
1017e0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 2d 6f 72 2d 6c 61 74 65 72 se.....],....."LGPL-2.0-or-later
101800 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 ":.[........."GNU.Library.Genera
101820 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 l.Public.License.v2.or.later",..
101840 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
101860 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 ,....."LGPL-2.1":.[........."GNU
101880 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 .Lesser.General.Public.License.v
1018a0 32 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 2.1.only",.........true,........
1018c0 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 2b 22 3a 20 5b 0a .true.....],....."LGPL-2.1+":.[.
1018e0 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 ........"GNU.Library.General.Pub
101900 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 lic.License.v2.1.or.later",.....
101920 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 ....true,.........true.....],...
101940 20 20 22 4c 47 50 4c 2d 32 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e .."LGPL-2.1-only":.[........."GN
101960 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 U.Lesser.General.Public.License.
101980 76 32 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 v2.1.only",.........true,.......
1019a0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 2d 6f 72 2d ..false.....],....."LGPL-2.1-or-
1019c0 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 later":.[........."GNU.Lesser.Ge
1019e0 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 72 20 6c 61 74 neral.Public.License.v2.1.or.lat
101a00 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 er",.........true,.........false
101a20 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."LGPL-3.0":.[.......
101a40 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 .."GNU.Lesser.General.Public.Lic
101a60 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 ense.v3.0.only",.........true,..
101a80 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 .......true.....],....."LGPL-3.0
101aa0 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 +":.[........."GNU.Lesser.Genera
101ac0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c l.Public.License.v3.0.or.later",
101ae0 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 .........true,.........true.....
101b00 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 ],....."LGPL-3.0-only":.[.......
101b20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 .."GNU.Lesser.General.Public.Lic
101b40 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 ense.v3.0.only",.........true,..
101b60 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e .......false.....],....."LGPL-3.
101b80 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 0-or-later":.[........."GNU.Less
101ba0 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f er.General.Public.License.v3.0.o
101bc0 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 r.later",.........true,.........
101be0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 4c 52 22 3a 20 5b 0a 20 20 20 false.....],....."LGPLLR":.[....
101c00 20 20 20 20 20 22 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ....."Lesser.General.Public.Lice
101c20 6e 73 65 20 46 6f 72 20 4c 69 6e 67 75 69 73 74 69 63 20 52 65 73 6f 75 72 63 65 73 22 2c 0a 20 nse.For.Linguistic.Resources",..
101c40 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
101c60 5d 2c 0a 20 20 20 20 22 4c 69 62 70 6e 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6c 69 62 70 ],....."Libpng":.[........."libp
101c80 6e 67 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ng.License",.........false,.....
101ca0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6c 69 62 74 69 66 66 22 3a 20 ....false.....],....."libtiff":.
101cc0 5b 0a 20 20 20 20 20 20 20 20 22 6c 69 62 74 69 66 66 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 [........."libtiff.License",....
101ce0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
101d00 0a 20 20 20 20 22 4c 69 4c 69 51 2d 50 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c ....."LiLiQ-P-1.1":.[........."L
101d20 69 63 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 65 63 20 5c 75 32 30 icence.Libre.du.Qu\u00e9bec.\u20
101d40 31 33 20 50 65 72 6d 69 73 73 69 76 65 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 0a 20 20 20 20 13.Permissive.version.1.1",.....
101d60 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
101d80 20 20 20 22 4c 69 4c 69 51 2d 52 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 ..."LiLiQ-R-1.1":.[........."Lic
101da0 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 65 63 20 5c 75 32 30 31 33 ence.Libre.du.Qu\u00e9bec.\u2013
101dc0 20 52 5c 75 30 30 65 39 63 69 70 72 6f 63 69 74 5c 75 30 30 65 39 20 76 65 72 73 69 6f 6e 20 31 .R\u00e9ciprocit\u00e9.version.1
101de0 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .1",.........true,.........false
101e00 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 4c 69 51 2d 52 70 6c 75 73 2d 31 2e 31 22 3a 20 5b .....],....."LiLiQ-Rplus-1.1":.[
101e20 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 ........."Licence.Libre.du.Qu\u0
101e40 30 65 39 62 65 63 20 5c 75 32 30 31 33 20 52 5c 75 30 30 65 39 63 69 70 72 6f 63 69 74 5c 75 30 0e9bec.\u2013.R\u00e9ciprocit\u0
101e60 30 65 39 20 66 6f 72 74 65 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 0e9.forte.version.1.1",.........
101e80 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
101ea0 4c 69 6e 75 78 2d 4f 70 65 6e 49 42 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 6e 75 78 20 Linux-OpenIB":.[........."Linux.
101ec0 4b 65 72 6e 65 6c 20 56 61 72 69 61 6e 74 20 6f 66 20 4f 70 65 6e 49 42 2e 6f 72 67 20 6c 69 63 Kernel.Variant.of.OpenIB.org.lic
101ee0 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
101f00 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 lse.....],....."LPL-1.0":.[.....
101f20 20 20 20 20 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 56 65 72 73 69 ...."Lucent.Public.License.Versi
101f40 6f 6e 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 on.1.0",.........true,.........f
101f60 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d 31 2e 30 32 22 3a 20 5b 0a 20 20 alse.....],....."LPL-1.02":.[...
101f80 20 20 20 20 20 20 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e ......"Lucent.Public.License.v1.
101fa0 30 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 02",.........true,.........false
101fc0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."LPPL-1.0":.[.......
101fe0 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .."LaTeX.Project.Public.License.
102000 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 v1.0",.........false,.........fa
102020 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 lse.....],....."LPPL-1.1":.[....
102040 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e ....."LaTeX.Project.Public.Licen
102060 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 se.v1.1",.........false,........
102080 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 32 22 3a 20 5b 0a .false.....],....."LPPL-1.2":.[.
1020a0 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 ........"LaTeX.Project.Public.Li
1020c0 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v1.2",.........false,.....
1020e0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 33 61 22 ....false.....],....."LPPL-1.3a"
102100 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 :.[........."LaTeX.Project.Publi
102120 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 61 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c c.License.v1.3a",.........false,
102140 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d .........false.....],....."LPPL-
102160 31 2e 33 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 1.3c":.[........."LaTeX.Project.
102180 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 63 22 2c 0a 20 20 20 20 20 20 20 20 74 Public.License.v1.3c",.........t
1021a0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d rue,.........false.....],....."M
1021c0 61 6b 65 49 6e 64 65 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 6b 65 49 6e 64 65 78 20 akeIndex":.[........."MakeIndex.
1021e0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
102200 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 69 72 4f 53 22 3a 20 5b 0a 20 20 20 .false.....],....."MirOS":.[....
102220 20 20 20 20 20 22 4d 69 72 4f 53 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 ....."MirOS.License",.........tr
102240 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 ue,.........false.....],....."MI
102260 54 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 T":.[........."MIT.License",....
102280 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
1022a0 20 20 20 20 22 4d 49 54 2d 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 4e 6f 20 41 ...."MIT-0":.[........."MIT.No.A
1022c0 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 ttribution",.........true,......
1022e0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 61 64 76 65 72 74 69 ...false.....],....."MIT-adverti
102300 73 69 6e 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 6e 6c 69 67 68 74 65 6e 6d 65 6e 74 20 sing":.[........."Enlightenment.
102320 4c 69 63 65 6e 73 65 20 28 65 31 36 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 License.(e16)",.........false,..
102340 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 43 4d 55 .......false.....],....."MIT-CMU
102360 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4d 55 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ":.[........."CMU.License",.....
102380 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
1023a0 20 20 20 20 22 4d 49 54 2d 65 6e 6e 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 6e 6e 61 20 ...."MIT-enna":.[........."enna.
1023c0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
1023e0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 66 65 68 22 3a 20 5b 0a 20 .false.....],....."MIT-feh":.[..
102400 20 20 20 20 20 20 20 22 66 65 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ......."feh.License",.........fa
102420 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d lse,.........false.....],....."M
102440 49 54 4e 46 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 2b 6e 6f 2d 66 61 6c 73 65 ITNFA":.[........."MIT.+no-false
102460 2d 61 74 74 72 69 62 73 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 -attribs.license",.........false
102480 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 6f 74 6f ,.........false.....],....."Moto
1024a0 73 6f 74 6f 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 74 6f 73 6f 74 6f 20 4c 69 63 65 6e soto":.[........."Motosoto.Licen
1024c0 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 se",.........true,.........false
1024e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6d 70 69 63 68 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 .....],....."mpich2":.[.........
102500 22 6d 70 69 63 68 32 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c "mpich2.License",.........false,
102520 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 31 .........false.....],....."MPL-1
102540 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c .0":.[........."Mozilla.Public.L
102560 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 icense.1.0",.........true,......
102580 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 31 2e 31 22 3a 20 5b ...false.....],....."MPL-1.1":.[
1025a0 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ........."Mozilla.Public.License
1025c0 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .1.1",.........true,.........fal
1025e0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."MPL-2.0":.[......
102600 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c ..."Mozilla.Public.License.2.0",
102620 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
102640 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e 30 2d 6e 6f 2d 63 6f 70 79 6c 65 66 74 2d 65 78 63 .],....."MPL-2.0-no-copyleft-exc
102660 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c eption":.[........."Mozilla.Publ
102680 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 20 28 6e 6f 20 63 6f 70 79 6c 65 66 74 20 65 78 63 65 ic.License.2.0.(no.copyleft.exce
1026a0 70 74 69 6f 6e 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 ption)",.........true,.........f
1026c0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 53 2d 50 4c 22 3a 20 5b 0a 20 20 20 20 20 alse.....],....."MS-PL":.[......
1026e0 20 20 20 22 4d 69 63 72 6f 73 6f 66 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 ..."Microsoft.Public.License",..
102700 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
102720 2c 0a 20 20 20 20 22 4d 53 2d 52 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 69 63 72 6f 73 ,....."MS-RL":.[........."Micros
102740 6f 66 74 20 52 65 63 69 70 72 6f 63 61 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 oft.Reciprocal.License",........
102760 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
102780 22 4d 54 4c 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 74 72 69 78 20 54 65 6d 70 6c 61 "MTLL":.[........."Matrix.Templa
1027a0 74 65 20 4c 69 62 72 61 72 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c te.Library.License",.........fal
1027c0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 75 se,.........false.....],....."Mu
1027e0 6c 74 69 63 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 75 6c 74 69 63 73 20 4c 69 63 65 6e ltics":.[........."Multics.Licen
102800 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 se",.........true,.........false
102820 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 75 70 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 75 .....],....."Mup":.[........."Mu
102840 70 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 p.License",.........false,......
102860 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 41 53 41 2d 31 2e 33 22 3a 20 ...false.....],....."NASA-1.3":.
102880 5b 0a 20 20 20 20 20 20 20 20 22 4e 41 53 41 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 67 72 65 [........."NASA.Open.Source.Agre
1028a0 65 6d 65 6e 74 20 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 ement.1.3",.........true,.......
1028c0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 61 75 6d 65 6e 22 3a 20 5b 0a 20 ..false.....],....."Naumen":.[..
1028e0 20 20 20 20 20 20 20 22 4e 61 75 6d 65 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a ......."Naumen.Public.License",.
102900 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
102920 5d 2c 0a 20 20 20 20 22 4e 42 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 ],....."NBPL-1.0":.[........."Ne
102940 74 20 42 6f 6f 6c 65 61 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 22 2c 0a 20 20 t.Boolean.Public.License.v1",...
102960 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
102980 2c 0a 20 20 20 20 22 4e 43 53 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 76 65 72 73 ,....."NCSA":.[........."Univers
1029a0 69 74 79 20 6f 66 20 49 6c 6c 69 6e 6f 69 73 2f 4e 43 53 41 20 4f 70 65 6e 20 53 6f 75 72 63 65 ity.of.Illinois/NCSA.Open.Source
1029c0 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 .License",.........true,........
1029e0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 74 2d 53 4e 4d 50 22 3a 20 5b 0a .false.....],....."Net-SNMP":.[.
102a00 20 20 20 20 20 20 20 20 22 4e 65 74 2d 53 4e 4d 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ........"Net-SNMP.License",.....
102a20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
102a40 20 20 20 20 22 4e 65 74 43 44 46 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 43 44 46 20 ...."NetCDF":.[........."NetCDF.
102a60 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 license",.........false,........
102a80 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 77 73 6c 65 74 72 22 3a 20 5b 0a .false.....],....."Newsletr":.[.
102aa0 20 20 20 20 20 20 20 20 22 4e 65 77 73 6c 65 74 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ........"Newsletr.License",.....
102ac0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
102ae0 20 20 20 20 22 4e 47 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 68 61 63 6b 20 47 ...."NGPL":.[........."Nethack.G
102b00 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 eneral.Public.License",.........
102b20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
102b40 4e 4c 4f 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 72 77 65 67 69 61 6e 20 NLOD-1.0":.[........."Norwegian.
102b60 4c 69 63 65 6e 63 65 20 66 6f 72 20 4f 70 65 6e 20 47 6f 76 65 72 6e 6d 65 6e 74 20 44 61 74 61 Licence.for.Open.Government.Data
102b80 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
102ba0 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4c 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f ....],....."NLPL":.[........."No
102bc0 20 4c 69 6d 69 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 .Limit.Public.License",.........
102be0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
102c00 22 4e 6f 6b 69 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 6b 69 61 20 4f 70 65 6e 20 53 "Nokia":.[........."Nokia.Open.S
102c20 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 ource.License",.........true,...
102c40 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4f 53 4c 22 3a 20 5b ......false.....],....."NOSL":.[
102c60 0a 20 20 20 20 20 20 20 20 22 4e 65 74 69 7a 65 6e 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 ........."Netizen.Open.Source.Li
102c80 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
102ca0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 77 65 62 22 3a 20 5b 0a 20 20 20 20 20 alse.....],....."Noweb":.[......
102cc0 20 20 20 22 4e 6f 77 65 62 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ..."Noweb.License",.........fals
102ce0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4c e,.........false.....],....."NPL
102d00 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 73 63 61 70 65 20 50 75 62 6c 69 -1.0":.[........."Netscape.Publi
102d20 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a c.License.v1.0",.........false,.
102d40 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4c 2d 31 2e ........false.....],....."NPL-1.
102d60 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 73 63 61 70 65 20 50 75 62 6c 69 63 20 4c 1":.[........."Netscape.Public.L
102d80 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.1",.........false,....
102da0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4f 53 4c 2d 33 2e 30 .....false.....],....."NPOSL-3.0
102dc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 6e 2d 50 72 6f 66 69 74 20 4f 70 65 6e 20 53 6f ":.[........."Non-Profit.Open.So
102de0 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ftware.License.3.0",.........tru
102e00 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 52 4c e,.........false.....],....."NRL
102e20 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 52 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ":.[........."NRL.License",.....
102e40 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
102e60 20 20 20 20 22 4e 54 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 54 50 20 4c 69 63 65 6e 73 ...."NTP":.[........."NTP.Licens
102e80 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a e",.........true,.........false.
102ea0 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 75 6e 69 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e ....],....."Nunit":.[........."N
102ec0 75 6e 69 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 unit.License",.........false,...
102ee0 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 43 54 2d 50 4c 22 3a ......true.....],....."OCCT-PL":
102f00 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 43 41 53 43 41 44 45 20 54 65 63 68 6e 6f 6c .[........."Open.CASCADE.Technol
102f20 6f 67 79 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ogy.Public.License",.........fal
102f40 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 se,.........false.....],....."OC
102f60 4c 43 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 43 4c 43 20 52 65 73 65 61 72 63 LC-2.0":.[........."OCLC.Researc
102f80 68 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 h.Public.License.2.0",.........t
102fa0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f rue,.........false.....],....."O
102fc0 44 62 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 44 43 20 4f 70 65 6e 20 44 61 DbL-1.0":.[........."ODC.Open.Da
102fe0 74 61 62 61 73 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 tabase.License.v1.0",.........fa
103000 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
103020 44 43 2d 42 79 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 44 61 74 61 DC-By-1.0":.[........."Open.Data
103040 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e .Commons.Attribution.License.v1.
103060 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0",.........false,.........false
103080 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 46 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."OFL-1.0":.[........
1030a0 20 22 53 49 4c 20 4f 70 65 6e 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 ."SIL.Open.Font.License.1.0",...
1030c0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
1030e0 2c 0a 20 20 20 20 22 4f 46 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 49 4c 20 ,....."OFL-1.1":.[........."SIL.
103100 4f 70 65 6e 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 Open.Font.License.1.1",.........
103120 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
103140 4f 47 4c 2d 55 4b 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 OGL-UK-1.0":.[........."Open.Gov
103160 65 72 6e 6d 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 ernment.Licence.v1.0",.........f
103180 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
1031a0 4f 47 4c 2d 55 4b 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 OGL-UK-2.0":.[........."Open.Gov
1031c0 65 72 6e 6d 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 ernment.Licence.v2.0",.........f
1031e0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
103200 4f 47 4c 2d 55 4b 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 OGL-UK-3.0":.[........."Open.Gov
103220 65 72 6e 6d 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 ernment.Licence.v3.0",.........f
103240 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
103260 4f 47 54 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 72 6f 75 70 20 54 65 OGTSL":.[........."Open.Group.Te
103280 73 74 20 53 75 69 74 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c st.Suite.License",.........true,
1032a0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
1032c0 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -1.1":.[........."Open.LDAP.Publ
1032e0 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.1",.........false,
103300 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
103320 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -1.2":.[........."Open.LDAP.Publ
103340 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.2",.........false,
103360 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
103380 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -1.3":.[........."Open.LDAP.Publ
1033a0 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.3",.........false,
1033c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
1033e0 2d 31 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -1.4":.[........."Open.LDAP.Publ
103400 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.4",.........false,
103420 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
103440 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -2.0":.[........."Open.LDAP.Publ
103460 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 28 6f 72 20 70 6f 73 73 69 62 6c 79 20 32 2e 30 ic.License.v2.0.(or.possibly.2.0
103480 41 20 61 6e 64 20 32 2e 30 42 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 A.and.2.0B)",.........false,....
1034a0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 30 .....false.....],....."OLDAP-2.0
1034c0 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 .1":.[........."Open.LDAP.Public
1034e0 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c .License.v2.0.1",.........false,
103500 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
103520 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -2.1":.[........."Open.LDAP.Publ
103540 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v2.1",.........false,
103560 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
103580 2d 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c -2.2":.[........."Open.LDAP.Publ
1035a0 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v2.2",.........false,
1035c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
1035e0 2d 32 2e 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 -2.2.1":.[........."Open.LDAP.Pu
103600 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 blic.License.v2.2.1",.........fa
103620 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
103640 4c 44 41 50 2d 32 2e 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 LDAP-2.2.2":.[........."Open.LDA
103660 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 P.Public.License.2.2.2",........
103680 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1036a0 20 22 4f 4c 44 41 50 2d 32 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.3":.[........."Open.LD
1036c0 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 33 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.3",........
1036e0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
103700 20 22 4f 4c 44 41 50 2d 32 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.4":.[........."Open.LD
103720 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 34 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.4",........
103740 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
103760 20 22 4f 4c 44 41 50 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.5":.[........."Open.LD
103780 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 35 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.5",........
1037a0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1037c0 20 22 4f 4c 44 41 50 2d 32 2e 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.6":.[........."Open.LD
1037e0 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 36 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.6",........
103800 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
103820 20 22 4f 4c 44 41 50 2d 32 2e 37 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.7":.[........."Open.LD
103840 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 37 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.7",........
103860 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
103880 20 22 4f 4c 44 41 50 2d 32 2e 38 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 ."OLDAP-2.8":.[........."Open.LD
1038a0 41 50 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 38 22 2c 0a 20 20 20 20 20 20 20 AP.Public.License.v2.8",........
1038c0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1038e0 20 22 4f 4d 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4d 61 72 6b 65 74 20 4c ."OML":.[........."Open.Market.L
103900 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
103920 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 53 53 4c 22 3a 20 5b 0a 20 20 false.....],....."OpenSSL":.[...
103940 20 20 20 20 20 20 22 4f 70 65 6e 53 53 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 ......"OpenSSL.License",........
103960 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
103980 20 22 4f 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 50 75 62 6c ."OPL-1.0":.[........."Open.Publ
1039a0 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.0",.........false,
1039c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 45 54 2d .........false.....],....."OSET-
1039e0 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 53 45 54 20 50 75 62 6c 69 63 20 PL-2.1":.[........."OSET.Public.
103a00 4c 69 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 License.version.2.1",.........tr
103a20 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 ue,.........false.....],....."OS
103a40 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 L-1.0":.[........."Open.Software
103a60 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 .License.1.0",.........true,....
103a80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 31 2e 31 22 3a .....false.....],....."OSL-1.1":
103aa0 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 .[........."Open.Software.Licens
103ac0 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 e.1.1",.........false,.........f
103ae0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 alse.....],....."OSL-2.0":.[....
103b00 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 ....."Open.Software.License.2.0"
103b20 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
103b40 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f ..],....."OSL-2.1":.[........."O
103b60 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 31 22 2c 0a 20 20 20 20 20 pen.Software.License.2.1",......
103b80 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
103ba0 20 20 22 4f 53 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 .."OSL-3.0":.[........."Open.Sof
103bc0 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 tware.License.3.0",.........true
103be0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 44 44 4c ,.........false.....],....."PDDL
103c00 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 44 43 20 50 75 62 6c 69 63 20 44 6f 6d -1.0":.[........."ODC.Public.Dom
103c20 61 69 6e 20 44 65 64 69 63 61 74 69 6f 6e 20 26 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 ain.Dedication.&.License.1.0",..
103c40 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
103c60 5d 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 48 50 ],....."PHP-3.0":.[........."PHP
103c80 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 .License.v3.0",.........true,...
103ca0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 31 ......false.....],....."PHP-3.01
103cc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 48 50 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 31 22 ":.[........."PHP.License.v3.01"
103ce0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
103d00 20 20 20 5d 2c 0a 20 20 20 20 22 50 6c 65 78 75 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 ...],....."Plexus":.[........."P
103d20 6c 65 78 75 73 20 43 6c 61 73 73 77 6f 72 6c 64 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 lexus.Classworlds.License",.....
103d40 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
103d60 20 20 20 20 22 50 6f 73 74 67 72 65 53 51 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6f 73 ...."PostgreSQL":.[........."Pos
103d80 74 67 72 65 53 51 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a tgreSQL.License",.........true,.
103da0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 70 73 66 72 61 67 ........false.....],....."psfrag
103dc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 73 66 72 61 67 20 4c 69 63 65 6e 73 65 22 2c 0a 20 ":.[........."psfrag.License",..
103de0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
103e00 5d 2c 0a 20 20 20 20 22 70 73 75 74 69 6c 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 73 75 ],....."psutils":.[........."psu
103e20 74 69 6c 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 tils.License",.........false,...
103e40 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 79 74 68 6f 6e 2d 32 ......false.....],....."Python-2
103e60 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 20 32 .0":.[........."Python.License.2
103e80 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
103ea0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 68 75 6c 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."Qhull":.[........."
103ec0 51 68 75 6c 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Qhull.License",.........false,..
103ee0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 50 4c 2d 31 2e 30 .......false.....],....."QPL-1.0
103f00 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 ":.[........."Q.Public.License.1
103f20 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
103f40 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 64 69 73 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."Rdisc":.[........."
103f60 52 64 69 73 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Rdisc.License",.........false,..
103f80 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 48 65 43 6f 73 2d .......false.....],....."RHeCos-
103fa0 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 64 20 48 61 74 20 65 43 6f 73 20 50 75 1.1":.[........."Red.Hat.eCos.Pu
103fc0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 blic.License.v1.1",.........fals
103fe0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 4c e,.........false.....],....."RPL
104000 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 62 -1.1":.[........."Reciprocal.Pub
104020 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a lic.License.1.1",.........true,.
104040 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 4c 2d 31 2e ........false.....],....."RPL-1.
104060 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 62 6c 69 63 5":.[........."Reciprocal.Public
104080 20 4c 69 63 65 6e 73 65 20 31 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 .License.1.5",.........true,....
1040a0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 53 4c 2d 31 2e 30 22 .....false.....],....."RPSL-1.0"
1040c0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 61 6c 4e 65 74 77 6f 72 6b 73 20 50 75 62 6c 69 63 :.[........."RealNetworks.Public
1040e0 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 .Source.License.v1.0",.........t
104100 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 rue,.........false.....],....."R
104120 53 41 2d 4d 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 53 41 20 4d 65 73 73 61 67 65 2d 44 SA-MD":.[........."RSA.Message-D
104140 69 67 65 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 igest.License",.........false,..
104160 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 53 43 50 4c 22 3a .......false.....],....."RSCPL":
104180 20 5b 0a 20 20 20 20 20 20 20 20 22 52 69 63 6f 68 20 53 6f 75 72 63 65 20 43 6f 64 65 20 50 75 .[........."Ricoh.Source.Code.Pu
1041a0 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 blic.License",.........true,....
1041c0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 75 62 79 22 3a 20 5b 0a .....false.....],....."Ruby":.[.
1041e0 20 20 20 20 20 20 20 20 22 52 75 62 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ........"Ruby.License",.........
104200 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
104220 22 53 41 58 2d 50 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 20 50 75 62 6c 69 63 20 "SAX-PD":.[........."Sax.Public.
104240 44 6f 6d 61 69 6e 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Domain.Notice",.........false,..
104260 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 61 78 70 61 74 68 .......false.....],....."Saxpath
104280 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 70 61 74 68 20 4c 69 63 65 6e 73 65 22 2c 0a ":.[........."Saxpath.License",.
1042a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
1042c0 20 5d 2c 0a 20 20 20 20 22 53 43 45 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 43 45 41 20 .],....."SCEA":.[........."SCEA.
1042e0 53 68 61 72 65 64 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 Shared.Source.License",.........
104300 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
104320 22 53 65 6e 64 6d 61 69 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 20 "Sendmail":.[........."Sendmail.
104340 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
104360 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 2d 38 2e 32 33 .false.....],....."Sendmail-8.23
104380 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 20 4c 69 63 65 6e 73 65 20 38 ":.[........."Sendmail.License.8
1043a0 2e 32 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .23",.........false,.........fal
1043c0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 se.....],....."SGI-B-1.0":.[....
1043e0 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 ....."SGI.Free.Software.License.
104400 42 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 B.v1.0",.........false,.........
104420 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 31 22 3a 20 5b 0a false.....],....."SGI-B-1.1":.[.
104440 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e ........"SGI.Free.Software.Licen
104460 73 65 20 42 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 se.B.v1.1",.........false,......
104480 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 32 2e 30 22 3a ...false.....],....."SGI-B-2.0":
1044a0 20 5b 0a 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 .[........."SGI.Free.Software.Li
1044c0 63 65 6e 73 65 20 42 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 cense.B.v2.0",.........false,...
1044e0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 69 6d 50 4c 2d 32 2e ......false.....],....."SimPL-2.
104500 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 69 6d 70 6c 65 20 50 75 62 6c 69 63 20 4c 69 63 0":.[........."Simple.Public.Lic
104520 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 ense.2.0",.........true,........
104540 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 49 53 53 4c 22 3a 20 5b 0a 20 20 20 .false.....],....."SISSL":.[....
104560 20 20 20 20 20 22 53 75 6e 20 49 6e 64 75 73 74 72 79 20 53 74 61 6e 64 61 72 64 73 20 53 6f 75 ....."Sun.Industry.Standards.Sou
104580 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c rce.License.v1.1",.........true,
1045a0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 49 53 53 4c .........false.....],....."SISSL
1045c0 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 49 6e 64 75 73 74 72 79 20 53 -1.2":.[........."Sun.Industry.S
1045e0 74 61 6e 64 61 72 64 73 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 tandards.Source.License.v1.2",..
104600 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
104620 5d 2c 0a 20 20 20 20 22 53 6c 65 65 70 79 63 61 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 ],....."Sleepycat":.[........."S
104640 6c 65 65 70 79 63 61 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c leepycat.License",.........true,
104660 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 4d 4c 4e 4a .........false.....],....."SMLNJ
104680 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 64 20 4d 4c 20 6f 66 20 4e 65 77 ":.[........."Standard.ML.of.New
1046a0 20 4a 65 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c .Jersey.License",.........false,
1046c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 4d 50 50 4c .........false.....],....."SMPPL
1046e0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 63 75 72 65 20 4d 65 73 73 61 67 69 6e 67 20 50 ":.[........."Secure.Messaging.P
104700 72 6f 74 6f 63 6f 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 rotocol.Public.License",........
104720 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
104740 20 22 53 4e 49 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 4e 49 41 20 50 75 62 6c 69 63 20 ."SNIA":.[........."SNIA.Public.
104760 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 License.1.1",.........false,....
104780 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d 38 .....false.....],....."Spencer-8
1047a0 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 38 6":.[........."Spencer.License.8
1047c0 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 6",.........false,.........false
1047e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d 39 34 22 3a 20 5b 0a 20 20 20 20 .....],....."Spencer-94":.[.....
104800 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 39 34 22 2c 0a 20 20 20 20 20 20 ...."Spencer.License.94",.......
104820 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
104840 20 20 22 53 70 65 6e 63 65 72 2d 39 39 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e 63 .."Spencer-99":.[........."Spenc
104860 65 72 20 4c 69 63 65 6e 73 65 20 39 39 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 er.License.99",.........false,..
104880 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 50 4c 2d 31 2e 30 .......false.....],....."SPL-1.0
1048a0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ":.[........."Sun.Public.License
1048c0 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 .v1.0",.........true,.........fa
1048e0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 74 61 6e 64 61 72 64 4d 4c 2d 4e 4a 22 3a 20 lse.....],....."StandardML-NJ":.
104900 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 64 20 4d 4c 20 6f 66 20 4e 65 77 20 4a 65 [........."Standard.ML.of.New.Je
104920 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 rsey.License",.........false,...
104940 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 75 67 61 72 43 52 4d 2d ......true.....],....."SugarCRM-
104960 31 2e 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 67 61 72 43 52 4d 20 50 75 62 6c 1.1.3":.[........."SugarCRM.Publ
104980 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ic.License.v1.1.3",.........fals
1049a0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 57 4c e,.........false.....],....."SWL
1049c0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 63 68 65 6d 65 20 57 69 64 67 65 74 20 4c 69 62 72 ":.[........."Scheme.Widget.Libr
1049e0 61 72 79 20 28 53 57 4c 29 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 ary.(SWL).Software.License.Agree
104a00 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ment",.........false,.........fa
104a20 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 41 50 52 2d 4f 48 4c 2d 31 2e 30 22 3a 20 5b lse.....],....."TAPR-OHL-1.0":.[
104a40 0a 20 20 20 20 20 20 20 20 22 54 41 50 52 20 4f 70 65 6e 20 48 61 72 64 77 61 72 65 20 4c 69 63 ........."TAPR.Open.Hardware.Lic
104a60 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 ense.v1.0",.........false,......
104a80 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 43 4c 22 3a 20 5b 0a 20 20 20 ...false.....],....."TCL":.[....
104aa0 20 20 20 20 20 22 54 43 4c 2f 54 4b 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 ....."TCL/TK.License",.........f
104ac0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
104ae0 54 43 50 2d 77 72 61 70 70 65 72 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 43 50 20 57 72 TCP-wrappers":.[........."TCP.Wr
104b00 61 70 70 65 72 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a appers.License",.........false,.
104b20 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4d 61 74 65 22 ........false.....],....."TMate"
104b40 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 4d 61 74 65 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c :.[........."TMate.Open.Source.L
104b60 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
104b80 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4f 52 51 55 45 2d 31 2e 31 22 3a 20 5b false.....],....."TORQUE-1.1":.[
104ba0 0a 20 20 20 20 20 20 20 20 22 54 4f 52 51 55 45 20 76 32 2e 35 2b 20 53 6f 66 74 77 61 72 65 20 ........."TORQUE.v2.5+.Software.
104bc0 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.1",.........false,...
104be0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4f 53 4c 22 3a 20 5b ......false.....],....."TOSL":.[
104c00 0a 20 20 20 20 20 20 20 20 22 54 72 75 73 73 74 65 72 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c ........."Trusster.Open.Source.L
104c20 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
104c40 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 55 2d 42 65 72 6c 69 6e 2d 31 2e 30 22 false.....],....."TU-Berlin-1.0"
104c60 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 65 63 68 6e 69 73 63 68 65 20 55 6e 69 76 65 72 73 69 :.[........."Technische.Universi
104c80 74 61 65 74 20 42 65 72 6c 69 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 taet.Berlin.License.1.0",.......
104ca0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
104cc0 20 20 22 54 55 2d 42 65 72 6c 69 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 65 .."TU-Berlin-2.0":.[........."Te
104ce0 63 68 6e 69 73 63 68 65 20 55 6e 69 76 65 72 73 69 74 61 65 74 20 42 65 72 6c 69 6e 20 4c 69 63 chnische.Universitaet.Berlin.Lic
104d00 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 ense.2.0",.........false,.......
104d20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d 44 46 53 2d ..false.....],....."Unicode-DFS-
104d40 32 30 31 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 4c 69 63 65 6e 73 2015":.[........."Unicode.Licens
104d60 65 20 41 67 72 65 65 6d 65 6e 74 20 2d 20 44 61 74 61 20 46 69 6c 65 73 20 61 6e 64 20 53 6f 66 e.Agreement.-.Data.Files.and.Sof
104d80 74 77 61 72 65 20 28 32 30 31 35 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 tware.(2015)",.........false,...
104da0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d ......false.....],....."Unicode-
104dc0 44 46 53 2d 32 30 31 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 4c 69 DFS-2016":.[........."Unicode.Li
104de0 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 2d 20 44 61 74 61 20 46 69 6c 65 73 20 61 6e 64 cense.Agreement.-.Data.Files.and
104e00 20 53 6f 66 74 77 61 72 65 20 28 32 30 31 36 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .Software.(2016)",.........false
104e20 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 ,.........false.....],....."Unic
104e40 6f 64 65 2d 54 4f 55 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 54 65 72 ode-TOU":.[........."Unicode.Ter
104e60 6d 73 20 6f 66 20 55 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 ms.of.Use",.........false,......
104e80 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 6c 69 63 65 6e 73 65 22 3a ...false.....],....."Unlicense":
104ea0 20 5b 0a 20 20 20 20 20 20 20 20 22 54 68 65 20 55 6e 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 .[........."The.Unlicense",.....
104ec0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
104ee0 20 20 20 20 22 55 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 76 65 72 ...."UPL-1.0":.[........."Univer
104f00 73 61 6c 20 50 65 72 6d 69 73 73 69 76 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 sal.Permissive.License.v1.0",...
104f20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
104f40 0a 20 20 20 20 22 56 69 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 56 69 6d 20 4c 69 63 65 6e ....."Vim":.[........."Vim.Licen
104f60 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se",.........false,.........fals
104f80 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 56 4f 53 54 52 4f 4d 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."VOSTROM":.[.......
104fa0 20 20 22 56 4f 53 54 52 4f 4d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 4f 70 .."VOSTROM.Public.License.for.Op
104fc0 65 6e 20 53 6f 75 72 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 en.Source",.........false,......
104fe0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 56 53 4c 2d 31 2e 30 22 3a 20 5b ...false.....],....."VSL-1.0":.[
105000 0a 20 20 20 20 20 20 20 20 22 56 6f 76 69 64 61 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 ........."Vovida.Software.Licens
105020 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 e.v1.0",.........true,.........f
105040 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 alse.....],....."W3C":.[........
105060 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 20 61 6e 64 20 4c 69 63 65 6e 73 ."W3C.Software.Notice.and.Licens
105080 65 20 28 32 30 30 32 2d 31 32 2d 33 31 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 e.(2002-12-31)",.........true,..
1050a0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 2d 31 39 39 .......false.....],....."W3C-199
1050c0 38 30 37 32 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 80720":.[........."W3C.Software.
1050e0 4e 6f 74 69 63 65 20 61 6e 64 20 4c 69 63 65 6e 73 65 20 28 31 39 39 38 2d 30 37 2d 32 30 29 22 Notice.and.License.(1998-07-20)"
105100 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
105120 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 2d 32 30 31 35 30 35 31 33 22 3a 20 5b 0a 20 20 20 20 ...],....."W3C-20150513":.[.....
105140 20 20 20 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 6f 63 ...."W3C.Software.Notice.and.Doc
105160 75 6d 65 6e 74 20 4c 69 63 65 6e 73 65 20 28 32 30 31 35 2d 30 35 2d 31 33 29 22 2c 0a 20 20 20 ument.License.(2015-05-13)",....
105180 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
1051a0 0a 20 20 20 20 22 57 61 74 63 6f 6d 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 79 ....."Watcom-1.0":.[........."Sy
1051c0 62 61 73 65 20 4f 70 65 6e 20 57 61 74 63 6f 6d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 base.Open.Watcom.Public.License.
1051e0 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 1.0",.........true,.........fals
105200 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 73 75 69 70 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 e.....],....."Wsuipa":.[........
105220 20 22 57 73 75 69 70 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ."Wsuipa.License",.........false
105240 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 54 46 50 ,.........false.....],....."WTFP
105260 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 6f 20 57 68 61 74 20 54 68 65 20 46 2a 63 6b 20 L":.[........."Do.What.The.F*ck.
105280 59 6f 75 20 57 61 6e 74 20 54 6f 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 You.Want.To.Public.License",....
1052a0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
1052c0 0a 20 20 20 20 22 77 78 57 69 6e 64 6f 77 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 77 78 57 ....."wxWindows":.[........."wxW
1052e0 69 6e 64 6f 77 73 20 4c 69 62 72 61 72 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 indows.Library.License",........
105300 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .false,.........true.....],.....
105320 22 58 31 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 31 31 20 4c 69 63 65 6e 73 65 22 2c 0a "X11":.[........."X11.License",.
105340 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
105360 20 5d 2c 0a 20 20 20 20 22 58 65 72 6f 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 65 72 6f .],....."Xerox":.[........."Xero
105380 78 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 x.License",.........false,......
1053a0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 46 72 65 65 38 36 2d 31 2e 31 ...false.....],....."XFree86-1.1
1053c0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 46 72 65 65 38 36 20 4c 69 63 65 6e 73 65 20 31 2e ":.[........."XFree86.License.1.
1053e0 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 1",.........false,.........false
105400 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 78 69 6e 65 74 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 .....],....."xinetd":.[.........
105420 22 78 69 6e 65 74 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c "xinetd.License",.........false,
105440 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 6e 65 74 22 .........false.....],....."Xnet"
105460 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 2e 4e 65 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 :.[........."X.Net.License",....
105480 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
1054a0 20 20 20 20 22 78 70 70 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 50 50 20 4c 69 63 65 6e 73 ...."xpp":.[........."XPP.Licens
1054c0 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
1054e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 53 6b 61 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."XSkat":.[........."
105500 58 53 6b 61 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 XSkat.License",.........false,..
105520 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 59 50 4c 2d 31 2e 30 .......false.....],....."YPL-1.0
105540 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 59 61 68 6f 6f 21 20 50 75 62 6c 69 63 20 4c 69 63 65 ":.[........."Yahoo!.Public.Lice
105560 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 nse.v1.0",.........false,.......
105580 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 59 50 4c 2d 31 2e 31 22 3a 20 5b 0a ..false.....],....."YPL-1.1":.[.
1055a0 20 20 20 20 20 20 20 20 22 59 61 68 6f 6f 21 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 ........"Yahoo!.Public.License.v
1055c0 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 1.1",.........false,.........fal
1055e0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 65 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 se.....],....."Zed":.[........."
105600 5a 65 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 Zed.License",.........false,....
105620 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 65 6e 64 2d 32 2e 30 22 .....false.....],....."Zend-2.0"
105640 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 65 6e 64 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 2c :.[........."Zend.License.v2.0",
105660 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
105680 20 20 5d 2c 0a 20 20 20 20 22 5a 69 6d 62 72 61 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 ..],....."Zimbra-1.3":.[........
1056a0 20 22 5a 69 6d 62 72 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 ."Zimbra.Public.License.v1.3",..
1056c0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
1056e0 5d 2c 0a 20 20 20 20 22 5a 69 6d 62 72 61 2d 31 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ],....."Zimbra-1.4":.[........."
105700 5a 69 6d 62 72 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 34 22 2c 0a 20 20 20 Zimbra.Public.License.v1.4",....
105720 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
105740 0a 20 20 20 20 22 5a 6c 69 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 7a 6c 69 62 20 4c 69 63 ....."Zlib":.[........."zlib.Lic
105760 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ense",.........true,.........fal
105780 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 7a 6c 69 62 2d 61 63 6b 6e 6f 77 6c 65 64 67 65 6d se.....],....."zlib-acknowledgem
1057a0 65 6e 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 7a 6c 69 62 2f 6c 69 62 70 6e 67 20 4c 69 63 ent":.[........."zlib/libpng.Lic
1057c0 65 6e 73 65 20 77 69 74 68 20 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 22 2c 0a 20 20 20 20 ense.with.Acknowledgement",.....
1057e0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
105800 20 20 20 20 22 5a 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 ...."ZPL-1.1":.[........."Zope.P
105820 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ublic.License.1.1",.........fals
105840 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 50 4c e,.........false.....],....."ZPL
105860 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 4c 69 -2.0":.[........."Zope.Public.Li
105880 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.2.0",.........true,.......
1058a0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 50 4c 2d 32 2e 31 22 3a 20 5b 0a ..false.....],....."ZPL-2.1":.[.
1058c0 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 31 ........"Zope.Public.License.2.1
1058e0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
105900 20 20 20 20 5d 0a 7d 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 b8 00 00 00 00 00 00 00 40 ....].}MZ......................@
105920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105940 00 00 00 e8 00 00 00 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 54 68 69 73 20 70 72 6f 67 72 61 ...............!..L.!This.progra
105960 6d 20 63 61 6e 6e 6f 74 20 62 65 20 72 75 6e 20 69 6e 20 44 4f 53 20 6d 6f 64 65 2e 0d 0d 0a 24 m.cannot.be.run.in.DOS.mode....$
105980 00 00 00 00 00 00 00 7f c6 2c cd 3b a7 42 9e 3b a7 42 9e 3b a7 42 9e 32 df d7 9e 3a a7 42 9e 32 .........,.;.B.;.B.;.B.2...:.B.2
1059a0 df c1 9e 2d a7 42 9e 32 df c6 9e 39 a7 42 9e 32 df d1 9e 3f a7 42 9e 1c 61 39 9e 38 a7 42 9e 3b ...-.B.2...9.B.2...?.B..a9.8.B.;
1059c0 a7 43 9e 08 a7 42 9e 32 df c8 9e 3a a7 42 9e 32 df d6 9e 3a a7 42 9e 32 df d3 9e 3a a7 42 9e 52 .C...B.2...:.B.2...:.B.2...:.B.R
1059e0 69 63 68 3b a7 42 9e 00 00 00 00 00 00 00 00 50 45 00 00 4c 01 05 00 ac 4d 6f 4f 00 00 00 00 00 ich;.B.........PE..L....MoO.....
105a00 00 00 00 e0 00 02 01 0b 01 09 00 00 0a 00 00 00 16 00 00 00 00 00 00 38 13 00 00 00 10 00 00 00 .......................8........
105a20 20 00 00 00 00 40 00 00 10 00 00 00 02 00 00 05 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 .....@..........................
105a40 60 00 00 00 04 00 00 3f 9c 00 00 03 00 40 81 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00 00 `......?.....@..................
105a60 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 90 22 00 00 50 00 00 00 00 40 00 00 20 06 00 00 00 ................"..P....@.......
105a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 70 01 00 00 00 21 00 00 1c 00 00 00 00 ................P..p....!.......
105aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 21 00 00 40 00 00 00 00 .......................8!..@....
105ac0 00 00 00 00 00 00 00 00 20 00 00 d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105ae0 00 00 00 00 00 00 00 2e 74 65 78 74 00 00 00 0b 09 00 00 00 10 00 00 00 0a 00 00 00 04 00 00 00 ........text....................
105b00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 60 2e 72 64 61 74 61 00 00 ce 09 00 00 00 20 00 00 00 ..............`.rdata...........
105b20 0a 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 40 2e 64 61 74 61 00 00 00 90 ...................@..@.data....
105b40 03 00 00 00 30 00 00 00 02 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 c0 2e ....0......................@....
105b60 72 73 72 63 00 00 00 20 06 00 00 00 40 00 00 00 08 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 rsrc........@...................
105b80 00 00 00 40 00 00 40 2e 72 65 6c 6f 63 00 00 cc 01 00 00 00 50 00 00 00 02 00 00 00 22 00 00 00 ...@..@.reloc.......P......."...
105ba0 00 00 00 00 00 00 00 00 00 00 00 40 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........@..B.................
105bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105d00 00 00 00 00 00 00 00 6a 24 b8 e6 18 40 00 e8 78 08 00 00 6a f6 ff 15 08 20 40 00 83 65 d0 00 8b .......j$...@..x...j.....@..e...
105d20 f0 8d 45 d0 50 56 ff 15 00 20 40 00 8b 45 d0 83 e0 fb 50 56 ff 15 04 20 40 00 8d 4d d4 ff 15 58 ..E.PV....@..E....PV....@..M...X
105d40 20 40 00 83 65 fc 00 8d 45 d4 50 ff 35 48 20 40 00 ff 15 4c 20 40 00 59 59 ff 35 5c 20 40 00 8d .@..e...E.P.5H.@...L.@.YY.5\.@..
105d60 45 d4 50 ff 35 60 20 40 00 ff 15 44 20 40 00 59 59 8b c8 ff 15 50 20 40 00 83 4d fc ff 8d 4d d4 E.P.5`.@...D.@.YY....P.@..M...M.
105d80 ff 15 54 20 40 00 33 c0 e8 48 08 00 00 c3 3b 0d 00 30 40 00 75 02 f3 c3 e9 ac 02 00 00 68 80 15 ..T.@.3..H....;..0@.u........h..
105da0 40 00 e8 a3 04 00 00 a1 6c 33 40 00 c7 04 24 34 30 40 00 ff 35 68 33 40 00 a3 34 30 40 00 68 24 @.......l3@...$40@..5h3@..40@.h$
105dc0 30 40 00 68 28 30 40 00 68 20 30 40 00 ff 15 a0 20 40 00 83 c4 14 a3 30 30 40 00 85 c0 7d 08 6a 0@.h(0@.h.0@.....@.....00@...}.j
105de0 08 e8 b9 03 00 00 59 c3 6a 10 68 08 22 40 00 e8 1f 06 00 00 33 db 89 5d fc 64 a1 18 00 00 00 8b ......Y.j.h."@......3..].d......
105e00 70 04 89 5d e4 bf 80 33 40 00 53 56 57 ff 15 30 20 40 00 3b c3 74 19 3b c6 75 08 33 f6 46 89 75 p..]...3@.SVW..0.@.;.t.;.u.3.F.u
105e20 e4 eb 10 68 e8 03 00 00 ff 15 34 20 40 00 eb da 33 f6 46 a1 7c 33 40 00 3b c6 75 0a 6a 1f e8 5c ...h......4.@...3.F.|3@.;.u.j..\
105e40 03 00 00 59 eb 3b a1 7c 33 40 00 85 c0 75 2c 89 35 7c 33 40 00 68 f0 20 40 00 68 e4 20 40 00 e8 ...Y.;.|3@...u,.5|3@.h..@.h..@..
105e60 a7 05 00 00 59 59 85 c0 74 17 c7 45 fc fe ff ff ff b8 ff 00 00 00 e9 dd 00 00 00 89 35 3c 30 40 ....YY..t..E................5<0@
105e80 00 a1 7c 33 40 00 3b c6 75 1b 68 e0 20 40 00 68 d8 20 40 00 e8 6c 05 00 00 59 59 c7 05 7c 33 40 ..|3@.;.u.h..@.h..@..l...YY..|3@
105ea0 00 02 00 00 00 39 5d e4 75 08 53 57 ff 15 38 20 40 00 39 1d 8c 33 40 00 74 19 68 8c 33 40 00 e8 .....9].u.SW..8.@.9..3@.t.h.3@..
105ec0 83 04 00 00 59 85 c0 74 0a 53 6a 02 53 ff 15 8c 33 40 00 a1 24 30 40 00 8b 0d bc 20 40 00 89 01 ....Y..t.Sj.S...3@..$0@.....@...
105ee0 ff 35 24 30 40 00 ff 35 28 30 40 00 ff 35 20 30 40 00 e8 10 fe ff ff 83 c4 0c a3 38 30 40 00 39 .5$0@..5(0@..5.0@..........80@.9
105f00 1d 2c 30 40 00 75 37 50 ff 15 c0 20 40 00 8b 45 ec 8b 08 8b 09 89 4d e0 50 51 e8 8e 03 00 00 59 .,0@.u7P....@..E......M.PQ.....Y
105f20 59 c3 8b 65 e8 8b 45 e0 a3 38 30 40 00 33 db 39 1d 2c 30 40 00 75 07 50 ff 15 68 20 40 00 39 1d Y..e..E..80@.3.9.,0@.u.P..h.@.9.
105f40 3c 30 40 00 75 06 ff 15 9c 20 40 00 c7 45 fc fe ff ff ff a1 38 30 40 00 e8 fb 04 00 00 c3 b8 4d <0@.u.....@..E......80@........M
105f60 5a 00 00 66 39 05 00 00 40 00 74 04 33 c0 eb 4d a1 3c 00 40 00 8d 80 00 00 40 00 81 38 50 45 00 Z..f9...@.t.3..M.<.@.....@..8PE.
105f80 00 75 e9 0f b7 48 18 81 f9 0b 01 00 00 74 1b 81 f9 0b 02 00 00 75 d5 83 b8 84 00 00 00 0e 76 cc .u...H.......t.......u........v.
105fa0 33 c9 39 88 f8 00 00 00 eb 0e 83 78 74 0e 76 bc 33 c9 39 88 e8 00 00 00 0f 95 c1 8b c1 6a 01 a3 3.9........xt.v.3.9..........j..
105fc0 2c 30 40 00 ff 15 70 20 40 00 6a ff ff 15 6c 20 40 00 59 59 a3 84 33 40 00 a3 88 33 40 00 ff 15 ,0@...p.@.j...l.@.YY..3@...3@...
105fe0 cc 20 40 00 8b 0d 74 33 40 00 89 08 ff 15 88 20 40 00 8b 0d 70 33 40 00 89 08 a1 a8 20 40 00 8b ..@...t3@.......@...p3@......@..
106000 00 a3 78 33 40 00 e8 56 02 00 00 e8 ac 04 00 00 83 3d 14 30 40 00 00 75 0c 68 b5 17 40 00 ff 15 ..x3@..V.........=.0@..u.h..@...
106020 ac 20 40 00 59 e8 67 04 00 00 83 3d 10 30 40 00 ff 75 09 6a ff ff 15 b0 20 40 00 59 33 c0 c3 e8 ..@.Y.g....=.0@..u.j.....@.Y3...
106040 7b 04 00 00 e9 9f fd ff ff 8b ff 55 8b ec 81 ec 28 03 00 00 a3 48 31 40 00 89 0d 44 31 40 00 89 {..........U....(....H1@...D1@..
106060 15 40 31 40 00 89 1d 3c 31 40 00 89 35 38 31 40 00 89 3d 34 31 40 00 66 8c 15 60 31 40 00 66 8c .@1@...<1@..581@..=41@.f..`1@.f.
106080 0d 54 31 40 00 66 8c 1d 30 31 40 00 66 8c 05 2c 31 40 00 66 8c 25 28 31 40 00 66 8c 2d 24 31 40 .T1@.f..01@.f..,1@.f.%(1@.f.-$1@
1060a0 00 9c 8f 05 58 31 40 00 8b 45 00 a3 4c 31 40 00 8b 45 04 a3 50 31 40 00 8d 45 08 a3 5c 31 40 00 ....X1@..E..L1@..E..P1@..E..\1@.
1060c0 8b 85 e0 fc ff ff c7 05 98 30 40 00 01 00 01 00 a1 50 31 40 00 a3 4c 30 40 00 c7 05 40 30 40 00 .........0@......P1@..L0@...@0@.
1060e0 09 04 00 c0 c7 05 44 30 40 00 01 00 00 00 a1 00 30 40 00 89 85 d8 fc ff ff a1 04 30 40 00 89 85 ......D0@.......0@.........0@...
106100 dc fc ff ff ff 15 1c 20 40 00 a3 90 30 40 00 6a 01 e8 3f 04 00 00 59 6a 00 ff 15 20 20 40 00 68 ........@...0@.j..?...Yj.....@.h
106120 1c 21 40 00 ff 15 24 20 40 00 83 3d 90 30 40 00 00 75 08 6a 01 e8 1b 04 00 00 59 68 09 04 00 c0 .!@...$.@..=.0@..u.j......Yh....
106140 ff 15 28 20 40 00 50 ff 15 2c 20 40 00 c9 c3 8b ff 55 8b ec 8b 45 08 8b 00 81 38 63 73 6d e0 75 ..(.@.P..,.@.....U...E....8csm.u
106160 2a 83 78 10 03 75 24 8b 40 14 3d 20 05 93 19 74 15 3d 21 05 93 19 74 0e 3d 22 05 93 19 74 07 3d *.x..u$.@.=....t.=!...t.="...t.=
106180 00 40 99 01 75 05 e8 d0 03 00 00 33 c0 5d c2 04 00 68 48 14 40 00 ff 15 20 20 40 00 33 c0 c3 ff .@..u......3.]...hH.@.....@.3...
1061a0 25 a4 20 40 00 6a 14 68 28 22 40 00 e8 62 02 00 00 ff 35 88 33 40 00 8b 35 8c 20 40 00 ff d6 59 %..@.j.h("@..b....5.3@..5..@...Y
1061c0 89 45 e4 83 f8 ff 75 0c ff 75 08 ff 15 c4 20 40 00 59 eb 67 6a 08 e8 92 03 00 00 59 83 65 fc 00 .E....u..u.....@.Y.gj......Y.e..
1061e0 ff 35 88 33 40 00 ff d6 89 45 e4 ff 35 84 33 40 00 ff d6 59 59 89 45 e0 8d 45 e0 50 8d 45 e4 50 .5.3@....E..5.3@...YY.E..E.P.E.P
106200 ff 75 08 8b 35 6c 20 40 00 ff d6 59 50 e8 55 03 00 00 89 45 dc ff 75 e4 ff d6 a3 88 33 40 00 ff .u..5l.@...YP.U....E..u.....3@..
106220 75 e0 ff d6 83 c4 14 a3 84 33 40 00 c7 45 fc fe ff ff ff e8 09 00 00 00 8b 45 dc e8 18 02 00 00 u........3@..E...........E......
106240 c3 6a 08 e8 19 03 00 00 59 c3 8b ff 55 8b ec ff 75 08 e8 4e ff ff ff f7 d8 1b c0 f7 d8 59 48 5d .j......Y...U...u..N.........YH]
106260 c3 8b ff 56 b8 fc 21 40 00 be fc 21 40 00 57 8b f8 3b c6 73 0f 8b 07 85 c0 74 02 ff d0 83 c7 04 ...V..!@...!@.W..;.s.....t......
106280 3b fe 72 f1 5f 5e c3 8b ff 56 b8 04 22 40 00 be 04 22 40 00 57 8b f8 3b c6 73 0f 8b 07 85 c0 74 ;.r._^...V.."@..."@.W..;.s.....t
1062a0 02 ff d0 83 c7 04 3b fe 72 f1 5f 5e c3 ff 25 c8 20 40 00 cc cc cc cc 8b ff 55 8b ec 8b 4d 08 b8 ......;.r._^..%..@.......U...M..
1062c0 4d 5a 00 00 66 39 01 74 04 33 c0 5d c3 8b 41 3c 03 c1 81 38 50 45 00 00 75 ef 33 d2 b9 0b 01 00 MZ..f9.t.3.]..A<...8PE..u.3.....
1062e0 00 66 39 48 18 0f 94 c2 8b c2 5d c3 cc cc cc cc cc cc cc cc cc cc cc 8b ff 55 8b ec 8b 45 08 8b .f9H......]..............U...E..
106300 48 3c 03 c8 0f b7 41 14 53 56 0f b7 71 06 33 d2 57 8d 44 08 18 85 f6 76 1b 8b 7d 0c 8b 48 0c 3b H<....A.SV..q.3.W.D....v..}..H.;
106320 f9 72 09 8b 58 08 03 d9 3b fb 72 0a 42 83 c0 28 3b d6 72 e8 33 c0 5f 5e 5b 5d c3 cc cc cc cc cc .r..X...;.r.B..(;.r.3._^[]......
106340 cc cc cc cc cc cc cc 8b ff 55 8b ec 6a fe 68 48 22 40 00 68 65 17 40 00 64 a1 00 00 00 00 50 83 .........U..j.hH"@.he.@.d.....P.
106360 ec 08 53 56 57 a1 00 30 40 00 31 45 f8 33 c5 50 8d 45 f0 64 a3 00 00 00 00 89 65 e8 c7 45 fc 00 ..SVW..0@.1E.3.P.E.d......e..E..
106380 00 00 00 68 00 00 40 00 e8 2a ff ff ff 83 c4 04 85 c0 74 55 8b 45 08 2d 00 00 40 00 50 68 00 00 ...h..@..*........tU.E.-..@.Ph..
1063a0 40 00 e8 50 ff ff ff 83 c4 08 85 c0 74 3b 8b 40 24 c1 e8 1f f7 d0 83 e0 01 c7 45 fc fe ff ff ff @..P........t;.@$.........E.....
1063c0 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5e 5b 8b e5 5d c3 8b 45 ec 8b 08 8b 01 33 d2 3d 05 00 00 c0 .M.d......Y_^[..]..E.....3.=....
1063e0 0f 94 c2 8b c2 c3 8b 65 e8 c7 45 fc fe ff ff ff 33 c0 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5e 5b .......e..E.....3..M.d......Y_^[
106400 8b e5 5d c3 cc ff 25 b8 20 40 00 ff 25 b4 20 40 00 cc cc 68 65 17 40 00 64 ff 35 00 00 00 00 8b ..]...%..@..%..@...he.@.d.5.....
106420 44 24 10 89 6c 24 10 8d 6c 24 10 2b e0 53 56 57 a1 00 30 40 00 31 45 fc 33 c5 50 89 65 e8 ff 75 D$..l$..l$.+.SVW..0@.1E.3.P.e..u
106440 f8 8b 45 fc c7 45 fc fe ff ff ff 89 45 f8 8d 45 f0 64 a3 00 00 00 00 c3 8b 4d f0 64 89 0d 00 00 ..E..E......E..E.d.......M.d....
106460 00 00 59 5f 5f 5e 5b 8b e5 5d 51 c3 8b ff 55 8b ec ff 75 14 ff 75 10 ff 75 0c ff 75 08 68 87 10 ..Y__^[..]Q...U...u..u..u..u.h..
106480 40 00 68 00 30 40 00 e8 e7 00 00 00 83 c4 18 5d c3 8b ff 56 68 00 00 03 00 68 00 00 01 00 33 f6 @.h.0@.........]...Vh....h....3.
1064a0 56 e8 d9 00 00 00 83 c4 0c 85 c0 74 0d 56 56 56 56 56 e8 c2 00 00 00 83 c4 14 5e c3 33 c0 c3 8b V..........t.VVVVV........^.3...
1064c0 ff 55 8b ec 83 ec 10 a1 00 30 40 00 83 65 f8 00 83 65 fc 00 53 57 bf 4e e6 40 bb bb 00 00 ff ff .U.......0@..e...e..SW.N.@......
1064e0 3b c7 74 0d 85 c3 74 09 f7 d0 a3 04 30 40 00 eb 60 56 8d 45 f8 50 ff 15 3c 20 40 00 8b 75 fc 33 ;.t...t.....0@..`V.E.P..<.@..u.3
106500 75 f8 ff 15 0c 20 40 00 33 f0 ff 15 10 20 40 00 33 f0 ff 15 14 20 40 00 33 f0 8d 45 f0 50 ff 15 u.....@.3.....@.3.....@.3..E.P..
106520 18 20 40 00 8b 45 f4 33 45 f0 33 f0 3b f7 75 07 be 4f e6 40 bb eb 0b 85 f3 75 07 8b c6 c1 e0 10 ..@..E.3E.3.;.u..O.@.....u......
106540 0b f0 89 35 00 30 40 00 f7 d6 89 35 04 30 40 00 5e 5f 5b c9 c3 ff 25 74 20 40 00 ff 25 78 20 40 ...5.0@....5.0@.^_[...%t.@..%x.@
106560 00 ff 25 7c 20 40 00 ff 25 80 20 40 00 ff 25 84 20 40 00 ff 25 90 20 40 00 ff 25 94 20 40 00 ff ..%|.@..%..@..%..@..%..@..%..@..
106580 25 98 20 40 00 ff 25 d0 20 40 00 50 64 ff 35 00 00 00 00 8d 44 24 0c 2b 64 24 0c 53 56 57 89 28 %..@..%..@.Pd.5.....D$.+d$.SVW.(
1065a0 8b e8 a1 00 30 40 00 33 c5 50 89 45 f0 ff 75 fc c7 45 fc ff ff ff ff 8d 45 f4 64 a3 00 00 00 00 ....0@.3.P.E..u..E......E.d.....
1065c0 c3 8b 4d f4 64 89 0d 00 00 00 00 59 5f 5f 5e 5b 8b e5 5d 51 c3 8b 4d f0 33 cd e8 af f7 ff ff e9 ..M.d......Y__^[..]Q..M.3.......
1065e0 dd ff ff ff 8d 4d d4 ff 25 54 20 40 00 8b 54 24 08 8d 42 0c 8b 4a cc 33 c8 e8 90 f7 ff ff 8b 4a .....M..%T.@..T$..B..J.3.......J
106600 fc 33 c8 e8 86 f7 ff ff b8 6c 22 40 00 e9 73 ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .3.......l"@..s.................
106620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1066a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1066c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1066e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106700 00 00 00 00 00 00 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 29 00 00 72 29 00 00 62 29 00 00 48 ........#...#...#...)..r)..b)..H
106720 29 00 00 34 29 00 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 28 00 00 b4 28 00 00 ac 28 00 00 96 )..4)...)...(...(...(...(...(...
106740 28 00 00 9e 29 00 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a 25 00 00 ca 25 00 00 1a 26 00 00 64 (...).......#...$...%...%...&..d
106760 26 00 00 ae 26 00 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 27 00 00 d6 27 00 00 e8 27 00 00 fe &...&...$......('...'...'...'...
106780 27 00 00 1e 28 00 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 28 00 00 5a 28 00 00 74 28 00 00 86 '...(..((..6(...'..H(..Z(..t(...
1067a0 28 00 00 1e 27 00 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 27 00 00 6c 27 00 00 5e 27 00 00 52 (...'...'...'...'...'..l'..^'..R
1067c0 27 00 00 46 27 00 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 27 00 00 b8 29 00 00 00 00 00 00 00 '..F'..>'..>(..0'...'...).......
1067e0 00 00 00 96 10 40 00 00 00 00 00 00 00 00 00 57 12 40 00 8a 14 40 00 00 00 00 00 00 00 00 00 00 .....@.........W.@...@..........
106800 00 00 00 00 00 00 00 00 00 00 00 ac 4d 6f 4f 00 00 00 00 02 00 00 00 6c 00 00 00 80 21 00 00 80 ............MoO........l....!...
106820 0f 00 00 40 30 40 00 98 30 40 00 62 61 64 20 61 6c 6c 6f 63 61 74 69 6f 6e 00 00 00 00 00 00 48 ...@0@..0@.bad.allocation......H
106840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 40 00 f0 ............................0@..
106880 21 40 00 02 00 00 00 52 53 44 53 d1 8c b3 10 b4 8f 01 4a a8 21 f6 cc eb 4c 5a 00 01 00 00 00 63 !@.....RSDS.......J.!...LZ.....c
1068a0 3a 5c 75 73 65 72 73 5c 73 65 6c 64 5c 64 6f 63 75 6d 65 6e 74 73 5c 76 69 73 75 61 6c 20 73 74 :\users\seld\documents\visual.st
1068c0 75 64 69 6f 20 32 30 31 30 5c 50 72 6f 6a 65 63 74 73 5c 68 69 64 64 65 6e 69 6e 70 5c 52 65 6c udio.2010\Projects\hiddeninp\Rel
1068e0 65 61 73 65 5c 68 69 64 64 65 6e 69 6e 70 2e 70 64 62 00 00 00 00 00 65 17 00 00 e6 18 00 00 00 ease\hiddeninp.pdb.....e........
106900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe ff ff ff 00 00 00 00 d0 ff ff ff 00 00 00 00 fe ................................
106920 ff ff ff 07 12 40 00 1b 12 40 00 00 00 00 00 fe ff ff ff 00 00 00 00 cc ff ff ff 00 00 00 00 fe .....@...@......................
106940 ff ff ff 00 00 00 00 3a 15 40 00 00 00 00 00 fe ff ff ff 00 00 00 00 d8 ff ff ff 00 00 00 00 fe .......:.@......................
106960 ff ff ff cb 16 40 00 df 16 40 00 ff ff ff ff dd 18 40 00 22 05 93 19 01 00 00 00 64 22 40 00 00 .....@...@.......@.".......d"@..
106980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 22 00 00 00 00 00 00 00 ........................".......
1069a0 00 00 00 ec 23 00 00 00 20 00 00 24 23 00 00 00 00 00 00 00 00 00 00 f4 26 00 00 44 20 00 00 48 ....#......$#...........&..D...H
1069c0 23 00 00 00 00 00 00 00 00 00 00 12 28 00 00 68 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #...........(..h................
1069e0 00 00 00 00 00 00 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 29 00 00 72 29 00 00 62 29 00 00 48 ........#...#...#...)..r)..b)..H
106a00 29 00 00 34 29 00 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 28 00 00 b4 28 00 00 ac 28 00 00 96 )..4)...)...(...(...(...(...(...
106a20 28 00 00 9e 29 00 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a 25 00 00 ca 25 00 00 1a 26 00 00 64 (...).......#...$...%...%...&..d
106a40 26 00 00 ae 26 00 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 27 00 00 d6 27 00 00 e8 27 00 00 fe &...&...$......('...'...'...'...
106a60 27 00 00 1e 28 00 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 28 00 00 5a 28 00 00 74 28 00 00 86 '...(..((..6(...'..H(..Z(..t(...
106a80 28 00 00 1e 27 00 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 27 00 00 6c 27 00 00 5e 27 00 00 52 (...'...'...'...'...'..l'..^'..R
106aa0 27 00 00 46 27 00 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 27 00 00 b8 29 00 00 00 00 00 00 95 '..F'..>'..>(..0'...'...).......
106ac0 01 47 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 00 00 b7 03 53 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 .GetConsoleMode....SetConsoleMod
106ae0 65 00 00 3b 02 47 65 74 53 74 64 48 61 6e 64 6c 65 00 00 4b 45 52 4e 45 4c 33 32 2e 64 6c 6c 00 e..;.GetStdHandle..KERNEL32.dll.
106b00 00 16 00 3f 3f 24 3f 36 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 ...??$?6DU?$char_traits@D@std@@V
106b20 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 31 40 40 73 74 64 40 40 59 41 41 41 56 3f 24 62 61 73 ?$allocator@D@1@@std@@YAAAV?$bas
106b40 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 ic_ostream@DU?$char_traits@D@std
106b60 40 40 40 30 40 41 41 56 31 30 40 41 42 56 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f @@@0@AAV10@ABV?$basic_string@DU?
106b80 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 $char_traits@D@std@@V?$allocator
106ba0 40 44 40 32 40 40 30 40 40 5a 00 91 06 3f 63 6f 75 74 40 73 74 64 40 40 33 56 3f 24 62 61 73 69 @D@2@@0@@Z...?cout@std@@3V?$basi
106bc0 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 c_ostream@DU?$char_traits@D@std@
106be0 40 40 31 40 41 00 00 4a 06 3f 63 69 6e 40 73 74 64 40 40 33 56 3f 24 62 61 73 69 63 5f 69 73 74 @@1@A..J.?cin@std@@3V?$basic_ist
106c00 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 ream@DU?$char_traits@D@std@@@1@A
106c20 00 c2 00 3f 3f 24 67 65 74 6c 69 6e 65 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 ...??$getline@DU?$char_traits@D@
106c40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 73 74 64 40 40 59 41 41 41 std@@V?$allocator@D@2@@std@@YAAA
106c60 56 3f 24 62 61 73 69 63 5f 69 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 V?$basic_istream@DU?$char_traits
106c80 40 44 40 73 74 64 40 40 40 30 40 41 41 56 31 30 40 41 41 56 3f 24 62 61 73 69 63 5f 73 74 72 69 @D@std@@@0@AAV10@AAV?$basic_stri
106ca0 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c ng@DU?$char_traits@D@std@@V?$all
106cc0 6f 63 61 74 6f 72 40 44 40 32 40 40 30 40 40 5a 00 1d 03 3f 3f 36 3f 24 62 61 73 69 63 5f 6f 73 ocator@D@2@@0@@Z...??6?$basic_os
106ce0 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 73 74 tream@DU?$char_traits@D@std@@@st
106d00 64 40 40 51 41 45 41 41 56 30 31 40 50 36 41 41 41 56 30 31 40 41 41 56 30 31 40 40 5a 40 5a 00 d@@QAEAAV01@P6AAAV01@AAV01@@Z@Z.
106d20 00 5f 02 3f 3f 31 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 ._.??1?$basic_string@DU?$char_tr
106d40 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 73 74 aits@D@std@@V?$allocator@D@2@@st
106d60 64 40 40 51 41 45 40 58 5a 00 00 7b 01 3f 3f 30 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 d@@QAE@XZ..{.??0?$basic_string@D
106d80 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 U?$char_traits@D@std@@V?$allocat
106da0 6f 72 40 44 40 32 40 40 73 74 64 40 40 51 41 45 40 58 5a 00 00 b3 07 3f 65 6e 64 6c 40 73 74 64 or@D@2@@std@@QAE@XZ....?endl@std
106dc0 40 40 59 41 41 41 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f @@YAAAV?$basic_ostream@DU?$char_
106de0 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 41 56 32 31 40 40 5a 00 00 4d 53 56 43 50 traits@D@std@@@1@AAV21@@Z..MSVCP
106e00 39 30 2e 64 6c 6c 00 15 01 5f 61 6d 73 67 5f 65 78 69 74 00 00 9f 00 5f 5f 67 65 74 6d 61 69 6e 90.dll..._amsg_exit....__getmain
106e20 61 72 67 73 00 2c 01 5f 63 65 78 69 74 00 00 7c 01 5f 65 78 69 74 00 66 00 5f 58 63 70 74 46 69 args.,._cexit..|._exit.f._XcptFi
106e40 6c 74 65 72 00 cc 04 65 78 69 74 00 00 a0 00 5f 5f 69 6e 69 74 65 6e 76 00 04 02 5f 69 6e 69 74 lter...exit....__initenv..._init
106e60 74 65 72 6d 00 05 02 5f 69 6e 69 74 74 65 72 6d 5f 65 00 3c 01 5f 63 6f 6e 66 69 67 74 68 72 65 term..._initterm_e.<._configthre
106e80 61 64 6c 6f 63 61 6c 65 00 e3 00 5f 5f 73 65 74 75 73 65 72 6d 61 74 68 65 72 72 00 00 0b 01 5f adlocale...__setusermatherr...._
106ea0 61 64 6a 75 73 74 5f 66 64 69 76 00 00 cb 00 5f 5f 70 5f 5f 63 6f 6d 6d 6f 64 65 00 00 cf 00 5f adjust_fdiv....__p__commode...._
106ec0 5f 70 5f 5f 66 6d 6f 64 65 00 00 6a 01 5f 65 6e 63 6f 64 65 5f 70 6f 69 6e 74 65 72 00 e0 00 5f _p__fmode..j._encode_pointer..._
106ee0 5f 73 65 74 5f 61 70 70 5f 74 79 70 65 00 00 4b 01 5f 63 72 74 5f 64 65 62 75 67 67 65 72 5f 68 _set_app_type..K._crt_debugger_h
106f00 6f 6f 6b 00 00 43 00 3f 74 65 72 6d 69 6e 61 74 65 40 40 59 41 58 58 5a 00 4d 53 56 43 52 39 30 ook..C.?terminate@@YAXXZ.MSVCR90
106f20 2e 64 6c 6c 00 e6 03 5f 75 6e 6c 6f 63 6b 00 96 00 5f 5f 64 6c 6c 6f 6e 65 78 69 74 00 76 02 5f .dll..._unlock...__dllonexit.v._
106f40 6c 6f 63 6b 00 1c 03 5f 6f 6e 65 78 69 74 00 60 01 5f 64 65 63 6f 64 65 5f 70 6f 69 6e 74 65 72 lock..._onexit.`._decode_pointer
106f60 00 73 01 5f 65 78 63 65 70 74 5f 68 61 6e 64 6c 65 72 34 5f 63 6f 6d 6d 6f 6e 00 0b 02 5f 69 6e .s._except_handler4_common..._in
106f80 76 6f 6b 65 5f 77 61 74 73 6f 6e 00 00 3f 01 5f 63 6f 6e 74 72 6f 6c 66 70 5f 73 00 00 bd 02 49 voke_watson..?._controlfp_s....I
106fa0 6e 74 65 72 6c 6f 63 6b 65 64 45 78 63 68 61 6e 67 65 00 21 04 53 6c 65 65 70 00 ba 02 49 6e 74 nterlockedExchange.!.Sleep...Int
106fc0 65 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72 65 45 78 63 68 61 6e 67 65 00 00 2d 04 54 65 72 6d 69 erlockedCompareExchange..-.Termi
106fe0 6e 61 74 65 50 72 6f 63 65 73 73 00 00 a9 01 47 65 74 43 75 72 72 65 6e 74 50 72 6f 63 65 73 73 nateProcess....GetCurrentProcess
107000 00 3e 04 55 6e 68 61 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e 46 69 6c 74 65 72 00 00 15 04 53 .>.UnhandledExceptionFilter....S
107020 65 74 55 6e 68 61 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e 46 69 6c 74 65 72 00 d1 02 49 73 44 etUnhandledExceptionFilter...IsD
107040 65 62 75 67 67 65 72 50 72 65 73 65 6e 74 00 54 03 51 75 65 72 79 50 65 72 66 6f 72 6d 61 6e 63 ebuggerPresent.T.QueryPerformanc
107060 65 43 6f 75 6e 74 65 72 00 66 02 47 65 74 54 69 63 6b 43 6f 75 6e 74 00 00 ad 01 47 65 74 43 75 eCounter.f.GetTickCount....GetCu
107080 72 72 65 6e 74 54 68 72 65 61 64 49 64 00 00 aa 01 47 65 74 43 75 72 72 65 6e 74 50 72 6f 63 65 rrentThreadId....GetCurrentProce
1070a0 73 73 49 64 00 4f 02 47 65 74 53 79 73 74 65 6d 54 69 6d 65 41 73 46 69 6c 65 54 69 6d 65 00 73 ssId.O.GetSystemTimeAsFileTime.s
1070c0 00 5f 5f 43 78 78 46 72 61 6d 65 48 61 6e 64 6c 65 72 33 00 00 00 00 00 00 00 00 00 00 00 00 00 .__CxxFrameHandler3.............
1070e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107100 00 00 00 00 00 00 00 4e e6 40 bb b1 19 bf 44 ff ff ff ff ff ff ff ff fe ff ff ff 01 00 00 00 24 .......N.@....D................$
107120 21 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 !@..............................
107140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1071a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1071c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1071e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1072a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1072c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1072e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 02 00 10 00 00 00 20 00 00 80 18 ................................
107320 00 00 00 38 00 00 80 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 01 00 00 00 50 00 00 80 00 ...8.......................P....
107340 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 01 00 00 00 68 00 00 80 00 00 00 00 00 00 00 00 04 ...................h............
107360 00 00 00 00 00 01 00 09 04 00 00 80 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 09 ................................
107380 04 00 00 90 00 00 00 a0 40 00 00 28 03 00 00 e4 04 00 00 00 00 00 00 c8 43 00 00 56 02 00 00 e4 ........@..(............C..V....
1073a0 04 00 00 00 00 00 00 28 03 34 00 00 00 56 00 53 00 5f 00 56 00 45 00 52 00 53 00 49 00 4f 00 4e .......(.4...V.S._.V.E.R.S.I.O.N
1073c0 00 5f 00 49 00 4e 00 46 00 4f 00 00 00 00 00 bd 04 ef fe 00 00 01 00 00 00 01 00 00 00 00 00 00 ._.I.N.F.O......................
1073e0 00 01 00 00 00 00 00 17 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107400 00 00 00 86 02 00 00 01 00 53 00 74 00 72 00 69 00 6e 00 67 00 46 00 69 00 6c 00 65 00 49 00 6e .........S.t.r.i.n.g.F.i.l.e.I.n
107420 00 66 00 6f 00 00 00 62 02 00 00 01 00 30 00 34 00 30 00 39 00 30 00 34 00 62 00 30 00 00 00 ca .f.o...b.....0.4.0.9.0.4.b.0....
107440 00 51 00 01 00 46 00 69 00 6c 00 65 00 44 00 65 00 73 00 63 00 72 00 69 00 70 00 74 00 69 00 6f .Q...F.i.l.e.D.e.s.c.r.i.p.t.i.o
107460 00 6e 00 00 00 00 00 52 00 65 00 61 00 64 00 73 00 20 00 66 00 72 00 6f 00 6d 00 20 00 73 00 74 .n.....R.e.a.d.s...f.r.o.m...s.t
107480 00 64 00 69 00 6e 00 20 00 77 00 69 00 74 00 68 00 6f 00 75 00 74 00 20 00 6c 00 65 00 61 00 6b .d.i.n...w.i.t.h.o.u.t...l.e.a.k
1074a0 00 69 00 6e 00 67 00 20 00 69 00 6e 00 66 00 6f 00 20 00 74 00 6f 00 20 00 74 00 68 00 65 00 20 .i.n.g...i.n.f.o...t.o...t.h.e..
1074c0 00 74 00 65 00 72 00 6d 00 69 00 6e 00 61 00 6c 00 20 00 61 00 6e 00 64 00 20 00 6f 00 75 00 74 .t.e.r.m.i.n.a.l...a.n.d...o.u.t
1074e0 00 70 00 75 00 74 00 73 00 20 00 62 00 61 00 63 00 6b 00 20 00 74 00 6f 00 20 00 73 00 74 00 64 .p.u.t.s...b.a.c.k...t.o...s.t.d
107500 00 6f 00 75 00 74 00 00 00 00 00 36 00 0b 00 01 00 46 00 69 00 6c 00 65 00 56 00 65 00 72 00 73 .o.u.t.....6.....F.i.l.e.V.e.r.s
107520 00 69 00 6f 00 6e 00 00 00 00 00 31 00 2c 00 20 00 30 00 2c 00 20 00 30 00 2c 00 20 00 30 00 00 .i.o.n.....1.,...0.,...0.,...0..
107540 00 00 00 38 00 0c 00 01 00 49 00 6e 00 74 00 65 00 72 00 6e 00 61 00 6c 00 4e 00 61 00 6d 00 65 ...8.....I.n.t.e.r.n.a.l.N.a.m.e
107560 00 00 00 68 00 69 00 64 00 64 00 65 00 6e 00 69 00 6e 00 70 00 75 00 74 00 00 00 50 00 16 00 01 ...h.i.d.d.e.n.i.n.p.u.t...P....
107580 00 4c 00 65 00 67 00 61 00 6c 00 43 00 6f 00 70 00 79 00 72 00 69 00 67 00 68 00 74 00 00 00 4a .L.e.g.a.l.C.o.p.y.r.i.g.h.t...J
1075a0 00 6f 00 72 00 64 00 69 00 20 00 42 00 6f 00 67 00 67 00 69 00 61 00 6e 00 6f 00 20 00 2d 00 20 .o.r.d.i...B.o.g.g.i.a.n.o...-..
1075c0 00 32 00 30 00 31 00 32 00 00 00 48 00 10 00 01 00 4f 00 72 00 69 00 67 00 69 00 6e 00 61 00 6c .2.0.1.2...H.....O.r.i.g.i.n.a.l
1075e0 00 46 00 69 00 6c 00 65 00 6e 00 61 00 6d 00 65 00 00 00 68 00 69 00 64 00 64 00 65 00 6e 00 69 .F.i.l.e.n.a.m.e...h.i.d.d.e.n.i
107600 00 6e 00 70 00 75 00 74 00 2e 00 65 00 78 00 65 00 00 00 3a 00 0d 00 01 00 50 00 72 00 6f 00 64 .n.p.u.t...e.x.e...:.....P.r.o.d
107620 00 75 00 63 00 74 00 4e 00 61 00 6d 00 65 00 00 00 00 00 48 00 69 00 64 00 64 00 65 00 6e 00 20 .u.c.t.N.a.m.e.....H.i.d.d.e.n..
107640 00 49 00 6e 00 70 00 75 00 74 00 00 00 00 00 3a 00 0b 00 01 00 50 00 72 00 6f 00 64 00 75 00 63 .I.n.p.u.t.....:.....P.r.o.d.u.c
107660 00 74 00 56 00 65 00 72 00 73 00 69 00 6f 00 6e 00 00 00 31 00 2c 00 20 00 30 00 2c 00 20 00 30 .t.V.e.r.s.i.o.n...1.,...0.,...0
107680 00 2c 00 20 00 30 00 00 00 00 00 44 00 00 00 01 00 56 00 61 00 72 00 46 00 69 00 6c 00 65 00 49 .,...0.....D.....V.a.r.F.i.l.e.I
1076a0 00 6e 00 66 00 6f 00 00 00 00 00 24 00 04 00 00 00 54 00 72 00 61 00 6e 00 73 00 6c 00 61 00 74 .n.f.o.....$.....T.r.a.n.s.l.a.t
1076c0 00 69 00 6f 00 6e 00 00 00 00 00 09 04 b0 04 3c 61 73 73 65 6d 62 6c 79 20 78 6d 6c 6e 73 3d 22 .i.o.n.........<assembly.xmlns="
1076e0 75 72 6e 3a 73 63 68 65 6d 61 73 2d 6d 69 63 72 6f 73 6f 66 74 2d 63 6f 6d 3a 61 73 6d 2e 76 31 urn:schemas-microsoft-com:asm.v1
107700 22 20 6d 61 6e 69 66 65 73 74 56 65 72 73 69 6f 6e 3d 22 31 2e 30 22 3e 0d 0a 20 20 3c 74 72 75 ".manifestVersion="1.0">....<tru
107720 73 74 49 6e 66 6f 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 73 63 68 65 6d 61 73 2d 6d 69 63 72 6f 73 stInfo.xmlns="urn:schemas-micros
107740 6f 66 74 2d 63 6f 6d 3a 61 73 6d 2e 76 33 22 3e 0d 0a 20 20 20 20 3c 73 65 63 75 72 69 74 79 3e oft-com:asm.v3">......<security>
107760 0d 0a 20 20 20 20 20 20 3c 72 65 71 75 65 73 74 65 64 50 72 69 76 69 6c 65 67 65 73 3e 0d 0a 20 ........<requestedPrivileges>...
107780 20 20 20 20 20 20 20 3c 72 65 71 75 65 73 74 65 64 45 78 65 63 75 74 69 6f 6e 4c 65 76 65 6c 20 .......<requestedExecutionLevel.
1077a0 6c 65 76 65 6c 3d 22 61 73 49 6e 76 6f 6b 65 72 22 20 75 69 41 63 63 65 73 73 3d 22 66 61 6c 73 level="asInvoker".uiAccess="fals
1077c0 65 22 3e 3c 2f 72 65 71 75 65 73 74 65 64 45 78 65 63 75 74 69 6f 6e 4c 65 76 65 6c 3e 0d 0a 20 e"></requestedExecutionLevel>...
1077e0 20 20 20 20 20 3c 2f 72 65 71 75 65 73 74 65 64 50 72 69 76 69 6c 65 67 65 73 3e 0d 0a 20 20 20 .....</requestedPrivileges>.....
107800 20 3c 2f 73 65 63 75 72 69 74 79 3e 0d 0a 20 20 3c 2f 74 72 75 73 74 49 6e 66 6f 3e 0d 0a 20 20 .</security>....</trustInfo>....
107820 3c 64 65 70 65 6e 64 65 6e 63 79 3e 0d 0a 20 20 20 20 3c 64 65 70 65 6e 64 65 6e 74 41 73 73 65 <dependency>......<dependentAsse
107840 6d 62 6c 79 3e 0d 0a 20 20 20 20 20 20 3c 61 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 20 74 mbly>........<assemblyIdentity.t
107860 79 70 65 3d 22 77 69 6e 33 32 22 20 6e 61 6d 65 3d 22 4d 69 63 72 6f 73 6f 66 74 2e 56 43 39 30 ype="win32".name="Microsoft.VC90
107880 2e 43 52 54 22 20 76 65 72 73 69 6f 6e 3d 22 39 2e 30 2e 32 31 30 32 32 2e 38 22 20 70 72 6f 63 .CRT".version="9.0.21022.8".proc
1078a0 65 73 73 6f 72 41 72 63 68 69 74 65 63 74 75 72 65 3d 22 78 38 36 22 20 70 75 62 6c 69 63 4b 65 essorArchitecture="x86".publicKe
1078c0 79 54 6f 6b 65 6e 3d 22 31 66 63 38 62 33 62 39 61 31 65 31 38 65 33 62 22 3e 3c 2f 61 73 73 65 yToken="1fc8b3b9a1e18e3b"></asse
1078e0 6d 62 6c 79 49 64 65 6e 74 69 74 79 3e 0d 0a 20 20 20 20 3c 2f 64 65 70 65 6e 64 65 6e 74 41 73 mblyIdentity>......</dependentAs
107900 73 65 6d 62 6c 79 3e 0d 0a 20 20 3c 2f 64 65 70 65 6e 64 65 6e 63 79 3e 0d 0a 3c 2f 61 73 73 65 sembly>....</dependency>..</asse
107920 6d 62 6c 79 3e 50 41 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 mbly>PAPADDINGXXPADDINGPADDINGXX
107940 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107960 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107980 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
1079a0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
1079c0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
1079e0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107a00 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107a20 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107a40 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107a60 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107a80 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107aa0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107ac0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107ae0 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 PADDINGPADDINGXXPADDINGPADDINGXX
107b00 50 41 44 44 49 4e 47 00 10 00 00 40 01 00 00 03 30 10 30 21 30 2f 30 38 30 46 30 4c 30 54 30 5e PADDING....@....0.0!0/080F0L0T0^
107b20 30 64 30 6e 30 7b 30 89 30 97 30 a1 30 a8 30 ae 30 b3 30 b8 30 bd 30 c2 30 c8 30 d0 30 e4 30 ff 0d0n0{0.0.0.0.0.0.0.0.0.0.0.0.0.
107b40 30 08 31 23 31 2d 31 40 31 4a 31 4f 31 54 31 76 31 7b 31 84 31 89 31 96 31 a7 31 ad 31 b4 31 c8 0.1#1-1@1J1O1T1v1{1.1.1.1.1.1.1.
107b60 31 cd 31 d3 31 db 31 e1 31 e7 31 f4 31 fa 31 03 32 22 32 2a 32 33 32 39 32 41 32 4d 32 5f 32 6a 1.1.1.1.1.1.1.1.2"2*23292A2M2_2j
107b80 32 70 32 b9 32 bf 32 c7 32 ce 32 d3 32 d9 32 df 32 e7 32 ed 32 f4 32 fb 32 0b 33 13 33 19 33 25 2p2.2.2.2.2.2.2.2.2.2.2.2.3.3.3%
107ba0 33 30 33 4e 33 54 33 5a 33 60 33 66 33 6c 33 73 33 7a 33 81 33 88 33 8f 33 96 33 9d 33 a5 33 ad 303N3T3Z3`3f3l3s3z3.3.3.3.3.3.3.
107bc0 33 b5 33 c1 33 ca 33 cf 33 d5 33 df 33 e8 33 f3 33 ff 33 04 34 14 34 19 34 1f 34 25 34 3b 34 42 3.3.3.3.3.3.3.3.3.3.4.4.4.4%4;4B
107be0 34 8b 34 91 34 9a 34 a1 34 ac 34 b2 34 c6 34 db 34 e6 34 fe 34 14 35 21 35 5e 35 63 35 84 35 89 4.4.4.4.4.4.4.4.4.4.4.5!5^5c5.5.
107c00 35 a8 35 48 36 4d 36 5f 36 7d 36 91 36 97 36 00 37 06 37 0d 37 2a 37 77 37 7c 37 c1 37 e4 37 f1 5.5H6M6_6}6.6.6.7.7.7*7w7|7.7.7.
107c20 37 fd 37 05 38 0d 38 19 38 3d 38 45 38 50 38 56 38 5c 38 62 38 68 38 6e 38 74 38 7a 38 80 38 9c 7.7.8.8.8=8E8P8V8\8b8h8n8t8z8.8.
107c40 38 e2 38 02 39 00 00 00 20 00 00 24 00 00 00 dc 30 e8 30 ec 30 1c 31 20 31 74 31 78 31 1c 32 20 8.8.9......$....0.0.0.1.1t1x1.2.
107c60 32 40 32 5c 32 60 32 68 32 74 32 00 30 00 00 0c 00 00 00 18 30 00 00 00 00 00 00 00 00 00 00 00 2@2\2`2h2t2.0.......0...........
107c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107d00 00 00 00 00 00 00 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 .......<?php...........namespace
107d20 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 .Symfony\Component\Console;..use
107d40 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 .Symfony\Component\Console\Comma
107d60 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e nd\Command;.use.Symfony\Componen
107d80 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 48 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 75 t\Console\Command\HelpCommand;.u
107da0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d se.Symfony\Component\Console\Com
107dc0 6d 61 6e 64 5c 4c 69 73 74 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f mand\ListCommand;.use.Symfony\Co
107de0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 mponent\Console\Descriptor\TextD
107e00 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 escriptor;.use.Symfony\Component
107e20 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f \Console\Descriptor\XmlDescripto
107e40 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 r;.use.Symfony\Component\Console
107e60 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 \Event\ConsoleCommandEvent;.use.
107e80 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c Symfony\Component\Console\Event\
107ea0 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f ConsoleExceptionEvent;.use.Symfo
107ec0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f ny\Component\Console\Event\Conso
107ee0 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f leTerminateEvent;.use.Symfony\Co
107f00 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e mponent\Console\Exception\Comman
107f20 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c dNotFoundException;.use.Symfony\
107f40 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 63 65 Component\Console\Exception\Exce
107f60 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ptionInterface;.use.Symfony\Comp
107f80 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 onent\Console\Exception\LogicExc
107fa0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
107fc0 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b nsole\Formatter\OutputFormatter;
107fe0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 .use.Symfony\Component\Console\H
108000 65 6c 70 65 72 5c 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 elper\DebugFormatterHelper;.use.
108020 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
108040 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f \DialogHelper;.use.Symfony\Compo
108060 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 46 6f 72 6d 61 74 74 65 72 48 65 6c nent\Console\Helper\FormatterHel
108080 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f per;.use.Symfony\Component\Conso
1080a0 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f le\Helper\Helper;.use.Symfony\Co
1080c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 mponent\Console\Helper\HelperSet
1080e0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
108100 48 65 6c 70 65 72 5c 50 72 6f 63 65 73 73 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Helper\ProcessHelper;.use.Symfon
108120 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 y\Component\Console\Helper\Progr
108140 65 73 73 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 essHelper;.use.Symfony\Component
108160 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a \Console\Helper\QuestionHelper;.
108180 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 use.Symfony\Component\Console\He
1081a0 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f lper\TableHelper;.use.Symfony\Co
1081c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 67 76 49 6e 70 75 74 3b mponent\Console\Input\ArgvInput;
1081e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
108200 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d nput\ArrayInput;.use.Symfony\Com
108220 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 ponent\Console\Input\InputArgume
108240 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c nt;.use.Symfony\Component\Consol
108260 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 e\Input\InputAwareInterface;.use
108280 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
1082a0 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f \InputDefinition;.use.Symfony\Co
1082c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 mponent\Console\Input\InputInter
1082e0 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
108300 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f ole\Input\InputOption;.use.Symfo
108320 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 ny\Component\Console\Output\Buff
108340 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e eredOutput;.use.Symfony\Componen
108360 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a t\Console\Output\ConsoleOutput;.
108380 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
1083a0 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 tput\ConsoleOutputInterface;.use
1083c0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
1083e0 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\OutputInterface;.use.Symfony\C
108400 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 54 68 omponent\Debug\Exception\FatalTh
108420 72 6f 77 61 62 6c 65 45 72 72 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e rowableError;.use.Symfony\Compon
108440 65 6e 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 ent\EventDispatcher\EventDispatc
108460 68 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c herInterface;.................cl
108480 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 ass.Application.{.private.$comma
1084a0 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 77 61 6e 74 48 65 6c 70 nds.=.array();.private.$wantHelp
1084c0 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 s.=.false;.private.$runningComma
1084e0 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 nd;.private.$name;.private.$vers
108500 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 20 3d 20 ion;.private.$catchExceptions.=.
108520 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 61 75 74 6f 45 78 69 74 20 3d 20 74 72 75 65 3b 0a true;.private.$autoExit.=.true;.
108540 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 68 65 private.$definition;.private.$he
108560 6c 70 65 72 53 65 74 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 70 61 74 63 68 65 72 3b 0a 70 72 lperSet;.private.$dispatcher;.pr
108580 69 76 61 74 65 20 24 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 70 72 69 76 61 ivate.$terminalDimensions;.priva
1085a0 74 65 20 24 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 69 te.$defaultCommand;.private.$ini
1085c0 74 69 61 6c 69 7a 65 64 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f tialized;......public.function._
1085e0 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 2c 20 24 76 _construct($name.=.'UNKNOWN',.$v
108600 65 72 73 69 6f 6e 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d ersion.=.'UNKNOWN').{.$this->nam
108620 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 e.=.$name;.$this->version.=.$ver
108640 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 6c sion;.$this->defaultCommand.=.'l
108660 69 73 74 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 70 ist';.}..public.function.setDisp
108680 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 49 6e 74 65 72 66 61 63 65 20 atcher(EventDispatcherInterface.
1086a0 24 64 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 $dispatcher).{.$this->dispatcher
1086c0 20 3d 20 24 64 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .=.$dispatcher;.}.........public
1086e0 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e .function.run(InputInterface.$in
108700 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 put.=.null,.OutputInterface.$out
108720 70 75 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 put.=.null).{.if.(null.===.$inpu
108740 74 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 67 76 49 6e 70 75 74 28 29 3b 0a 7d t).{.$input.=.new.ArgvInput();.}
108760 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 ..if.(null.===.$output).{.$outpu
108780 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 t.=.new.ConsoleOutput();.}..$thi
1087a0 73 2d 3e 63 6f 6e 66 69 67 75 72 65 49 4f 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b s->configureIO($input,.$output);
1087c0 0a 0a 74 72 79 20 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 ..try.{.$e.=.null;.$exitCode.=.$
1087e0 74 68 69 73 2d 3e 64 6f 52 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 this->doRun($input,.$output);.}.
108800 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 69 66 20 28 6e catch.(\Exception.$e).{.}..if.(n
108820 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 61 74 63 68 45 ull.!==.$e).{.if.(!$this->catchE
108840 78 63 65 70 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 6f xceptions).{.throw.$e;.}..if.($o
108860 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e utput.instanceof.ConsoleOutputIn
108880 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f terface).{.$this->renderExceptio
1088a0 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 n($e,.$output->getErrorOutput())
1088c0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f ;.}.else.{.$this->renderExceptio
1088e0 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 n($e,.$output);.}..$exitCode.=.$
108900 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 46 6f 72 54 68 72 6f 77 61 62 6c 65 28 24 65 this->getExitCodeForThrowable($e
108920 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 29 20 7b 0a 69 66 20 );.}..if.($this->autoExit).{.if.
108940 28 24 65 78 69 74 43 6f 64 65 20 3e 20 32 35 35 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 ($exitCode.>.255).{.$exitCode.=.
108960 32 35 35 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 72 65 74 75 255;.}..exit($exitCode);.}..retu
108980 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rn.$exitCode;.}.......public.fun
1089a0 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 ction.doRun(InputInterface.$inpu
1089c0 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 t,.OutputInterface.$output).{.if
1089e0 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f .(true.===.$input->hasParameterO
108a00 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 29 29 29 ption(array('--version',.'-V')))
108a20 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f .{.$output->writeln($this->getLo
108a40 6e 67 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 6e 61 6d ngVersion());..return.0;.}..$nam
108a60 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 e.=.$this->getCommandName($input
108a80 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d );.if.(true.===.$input->hasParam
108aa0 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 29 eterOption(array('--help',.'-h')
108ac0 29 29 20 7b 0a 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 27 68 65 6c 70 )).{.if.(!$name).{.$name.=.'help
108ae0 27 3b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 ';.$input.=.new.ArrayInput(array
108b00 28 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 27 68 65 6c 70 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b ('command'.=>.'help'));.}.else.{
108b20 0a 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 .$this->wantHelps.=.true;.}.}..i
108b40 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 61 f.(!$name).{.$name.=.$this->defa
108b60 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d ultCommand;.$definition.=.$this-
108b80 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 >getDefinition();.$definition->s
108ba0 65 74 41 72 67 75 6d 65 6e 74 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 64 65 66 69 6e 69 etArguments(array_merge(.$defini
108bc0 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 2c 0a 61 72 72 61 79 28 0a 27 63 6f tion->getArguments(),.array(.'co
108be0 6d 6d 61 6e 64 27 20 3d 3e 20 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d mmand'.=>.new.InputArgument('com
108c00 6d 61 6e 64 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 mand',.InputArgument::OPTIONAL,.
108c20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e $definition->getArgument('comman
108c40 64 27 29 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 6e 61 6d 65 29 2c 0a 29 d')->getDescription(),.$name),.)
108c60 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 .));.}..$this->runningCommand.=.
108c80 6e 75 6c 6c 3b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 24 null;...$command.=.$this->find($
108ca0 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 name);..$this->runningCommand.=.
108cc0 24 63 6f 6d 6d 61 6e 64 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 52 $command;.$exitCode.=.$this->doR
108ce0 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 unCommand($command,.$input,.$out
108d00 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 put);.$this->runningCommand.=.nu
108d20 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 ll;..return.$exitCode;.}..public
108d40 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 .function.setHelperSet(HelperSet
108d60 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 .$helperSet).{.$this->helperSet.
108d80 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e =.$helperSet;.}.......public.fun
108da0 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 ction.getHelperSet().{.if.(!$thi
108dc0 73 2d 3e 68 65 6c 70 65 72 53 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 s->helperSet).{.$this->helperSet
108de0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 3b .=.$this->getDefaultHelperSet();
108e00 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a .}..return.$this->helperSet;.}..
108e20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e public.function.setDefinition(In
108e40 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 74 68 putDefinition.$definition).{.$th
108e60 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a is->definition.=.$definition;.}.
108e80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 ......public.function.getDefinit
108ea0 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 29 20 ion().{.if.(!$this->definition).
108ec0 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 {.$this->definition.=.$this->get
108ee0 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 DefaultInputDefinition();.}..ret
108f00 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 urn.$this->definition;.}.......p
108f20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 75 72 ublic.function.getHelp().{.retur
108f40 6e 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a n.$this->getLongVersion();.}....
108f60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 61 74 63 68 45 78 63 65 70 ...public.function.setCatchExcep
108f80 74 69 6f 6e 73 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 tions($boolean).{.$this->catchEx
108fa0 63 65 70 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a ceptions.=.(bool).$boolean;.}...
108fc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 45 78 69 74 28 ....public.function.setAutoExit(
108fe0 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 20 3d 20 28 62 $boolean).{.$this->autoExit.=.(b
109000 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ool).$boolean;.}.......public.fu
109020 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d nction.getName().{.return.$this-
109040 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 >name;.}.......public.function.s
109060 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e etName($name).{.$this->name.=.$n
109080 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ame;.}.......public.function.get
1090a0 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f Version().{.return.$this->versio
1090c0 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 n;.}.......public.function.setVe
1090e0 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e rsion($version).{.$this->version
109100 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .=.$version;.}.......public.func
109120 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 27 55 4e 4b tion.getLongVersion().{.if.('UNK
109140 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 69 66 NOWN'.!==.$this->getName()).{.if
109160 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f .('UNKNOWN'.!==.$this->getVersio
109180 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c n()).{.return.sprintf('<info>%s<
1091a0 2f 69 6e 66 6f 3e 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d /info>.version.<comment>%s</comm
1091c0 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d 3e ent>',.$this->getName(),.$this->
1091e0 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 getVersion());.}..return.sprintf
109200 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 ('<info>%s</info>',.$this->getNa
109220 6d 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3c 69 6e 66 6f 3e 43 6f 6e 73 6f 6c 65 20 me());.}..return.'<info>Console.
109240 54 6f 6f 6c 3c 2f 69 6e 66 6f 3e 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Tool</info>';.}.........public.f
109260 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e unction.register($name).{.return
109280 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 29 3b .$this->add(new.Command($name));
1092a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f .}.........public.function.addCo
1092c0 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 7b 0a 66 6f 72 65 61 63 mmands(array.$commands).{.foreac
1092e0 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 h.($commands.as.$command).{.$thi
109300 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 s->add($command);.}.}..........p
109320 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d ublic.function.add(Command.$comm
109340 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 2d and).{.$this->init();..$command-
109360 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 21 24 63 >setApplication($this);..if.(!$c
109380 6f 6d 6d 61 6e 64 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d ommand->isEnabled()).{.$command-
1093a0 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 6e 75 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a >setApplication(null);..return;.
1093c0 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 }..if.(null.===.$command->getDef
1093e0 69 6e 69 74 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 inition()).{.throw.new.LogicExce
109400 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 20 22 25 73 ption(sprintf('Command.class."%s
109420 22 20 69 73 20 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 ".is.not.correctly.initialized..
109440 59 6f 75 20 70 72 6f 62 61 62 6c 79 20 66 6f 72 67 6f 74 20 74 6f 20 63 61 6c 6c 20 74 68 65 20 You.probably.forgot.to.call.the.
109460 70 61 72 65 6e 74 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 parent.constructor.',.\get_class
109480 28 24 63 6f 6d 6d 61 6e 64 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 ($command)));.}..$this->commands
1094a0 5b 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 [$command->getName()].=.$command
1094c0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 ;..foreach.($command->getAliases
1094e0 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b ().as.$alias).{.$this->commands[
109500 24 61 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 $alias].=.$command;.}..return.$c
109520 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ommand;.}...........public.funct
109540 69 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a ion.get($name).{.$this->init();.
109560 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d .if.(!isset($this->commands[$nam
109580 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 e])).{.throw.new.CommandNotFound
1095a0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 22 Exception(sprintf('The.command."
1095c0 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d %s".does.not.exist.',.$name));.}
1095e0 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 ..$command.=.$this->commands[$na
109600 6d 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 29 20 7b 0a 24 74 me];..if.($this->wantHelps).{.$t
109620 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 68 65 6c 70 43 6f his->wantHelps.=.false;..$helpCo
109640 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 27 68 65 6c 70 27 29 3b 0a 24 68 65 6c mmand.=.$this->get('help');.$hel
109660 70 43 6f 6d 6d 61 6e 64 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a pCommand->setCommand($command);.
109680 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .return.$helpCommand;.}..return.
1096a0 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $command;.}.........public.funct
1096c0 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a ion.has($name).{.$this->init();.
1096e0 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e .return.isset($this->commands[$n
109700 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ame]);.}.........public.function
109720 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d .getNamespaces().{.$namespaces.=
109740 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 6c 6c 28 29 20 .array();.foreach.($this->all().
109760 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 as.$command).{.$namespaces.=.arr
109780 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 70 61 63 65 73 2c 20 24 74 68 69 73 2d 3e 65 78 74 ay_merge($namespaces,.$this->ext
1097a0 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e ractAllNamespaces($command->getN
1097c0 61 6d 65 28 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 ame()));..foreach.($command->get
1097e0 41 6c 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 Aliases().as.$alias).{.$namespac
109800 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 70 61 63 65 73 2c 20 24 74 es.=.array_merge($namespaces,.$t
109820 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 61 6c 69 61 73 his->extractAllNamespaces($alias
109840 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 72 72 ));.}.}..return.array_values(arr
109860 61 79 5f 75 6e 69 71 75 65 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 73 70 61 63 ay_unique(array_filter($namespac
109880 65 73 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 es)));.}...........public.functi
1098a0 6f 6e 20 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 73 70 61 63 65 29 0a 7b 0a 24 on.findNamespace($namespace).{.$
1098c0 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 73 70 allNamespaces.=.$this->getNamesp
1098e0 61 63 65 73 28 29 3b 0a 24 65 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c aces();.$expr.=.preg_replace_cal
109900 6c 62 61 63 6b 28 27 7b 28 5b 5e 3a 5d 2b 7c 29 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d lback('{([^:]+|)}',.function.($m
109920 61 74 63 68 65 73 29 20 7b 20 72 65 74 75 72 6e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 atches).{.return.preg_quote($mat
109940 63 68 65 73 5b 31 5d 29 2e 27 5b 5e 3a 5d 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 ches[1]).'[^:]*';.},.$namespace)
109960 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 ;.$namespaces.=.preg_grep('{^'.$
109980 65 78 70 72 2e 27 7d 27 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 29 3b 0a 0a 69 66 20 28 expr.'}',.$allNamespaces);..if.(
1099a0 65 6d 70 74 79 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d empty($namespaces)).{.$message.=
1099c0 20 73 70 72 69 6e 74 66 28 27 54 68 65 72 65 20 61 72 65 20 6e 6f 20 63 6f 6d 6d 61 6e 64 73 20 .sprintf('There.are.no.commands.
1099e0 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 22 25 73 22 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c defined.in.the."%s".namespace.',
109a00 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 .$namespace);..if.($alternatives
109a20 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 .=.$this->findAlternatives($name
109a40 73 70 61 63 65 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 69 66 20 28 31 20 space,.$allNamespaces)).{.if.(1.
109a60 3d 3d 20 5c 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 24 6d 65 73 ==.\count($alternatives)).{.$mes
109a80 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 68 69 73 3f 5c sage..=."\n\nDid.you.mean.this?\
109aa0 6e 20 20 20 20 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e n....";.}.else.{.$message..=."\n
109ac0 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 \nDid.you.mean.one.of.these?\n..
109ae0 20 20 22 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 ..";.}..$message..=.implode("\n.
109b00 20 20 20 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e ...",.$alternatives);.}..throw.n
109b20 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 ew.CommandNotFoundException($mes
109b40 73 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 24 65 78 61 63 74 20 sage,.$alternatives);.}..$exact.
109b60 3d 20 5c 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 6e 61 6d 65 73 70 61 =.\in_array($namespace,.$namespa
109b80 63 65 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 ces,.true);.if.(\count($namespac
109ba0 65 73 29 20 3e 20 31 20 26 26 20 21 24 65 78 61 63 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 es).>.1.&&.!$exact).{.throw.new.
109bc0 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 CommandNotFoundException(sprintf
109be0 28 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 20 69 73 20 61 6d 62 69 67 75 6f 75 ('The.namespace."%s".is.ambiguou
109c00 73 20 28 25 73 29 2e 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 s.(%s).',.$namespace,.$this->get
109c20 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 61 72 72 61 79 5f 76 61 AbbreviationSuggestions(array_va
109c40 6c 75 65 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 lues($namespaces))),.array_value
109c60 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 61 63 s($namespaces));.}..return.$exac
109c80 74 20 3f 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 20 72 65 73 65 74 28 24 6e 61 6d 65 73 70 61 63 t.?.$namespace.:.reset($namespac
109ca0 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 es);.}..............public.funct
109cc0 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b ion.find($name).{.$this->init();
109ce0 0a 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 61 6c 6c 43 6f 6d 6d 61 6e 64 .$aliases.=.array();.$allCommand
109d00 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 3b s.=.array_keys($this->commands);
109d20 0a 24 65 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 .$expr.=.preg_replace_callback('
109d40 7b 28 5b 5e 3a 5d 2b 7c 29 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 {([^:]+|)}',.function.($matches)
109d60 20 7b 20 72 65 74 75 72 6e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 63 68 65 73 5b 31 5d .{.return.preg_quote($matches[1]
109d80 29 2e 27 5b 5e 3a 5d 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 ).'[^:]*';.},.$name);.$commands.
109da0 3d 20 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 70 72 2e 27 7d 27 2c 20 24 61 6c 6c =.preg_grep('{^'.$expr.'}',.$all
109dc0 43 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6d 6d 61 6e 64 73 29 Commands);..if.(empty($commands)
109de0 20 7c 7c 20 5c 63 6f 75 6e 74 28 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 70 72 2e .||.\count(preg_grep('{^'.$expr.
109e00 27 24 7d 27 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 29 20 3c 20 31 29 20 7b 0a 69 66 20 28 66 61 6c '$}',.$commands)).<.1).{.if.(fal
109e20 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3a 27 se.!==.$pos.=.strrpos($name,.':'
109e40 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 73 75 62 73 )).{...$this->findNamespace(subs
109e60 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 tr($name,.0,.$pos));.}..$message
109e80 20 3d 20 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 69 73 20 6e 6f 74 20 .=.sprintf('Command."%s".is.not.
109ea0 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 defined.',.$name);..if.($alterna
109ec0 74 69 76 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 tives.=.$this->findAlternatives(
109ee0 24 6e 61 6d 65 2c 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 29 29 20 7b 0a 69 66 20 28 31 20 3d 3d $name,.$allCommands)).{.if.(1.==
109f00 20 5c 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 .\count($alternatives)).{.$messa
109f20 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e 20 ge..=."\n\nDid.you.mean.this?\n.
109f40 20 20 20 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e ...";.}.else.{.$message..=."\n\n
109f60 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 20 Did.you.mean.one.of.these?\n....
109f80 22 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 ";.}.$message..=.implode("\n....
109fa0 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 ",.$alternatives);.}..throw.new.
109fc0 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 CommandNotFoundException($messag
109fe0 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 5c 63 6f 75 e,.$alternatives);.}....if.(\cou
10a000 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4c 69 73 nt($commands).>.1).{.$commandLis
10a020 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d t.=.$this->commands;.$commands.=
10a040 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 6f 6d 6d 61 6e 64 73 2c 20 66 75 6e 63 74 69 6f .array_filter($commands,.functio
10a060 6e 20 28 24 6e 61 6d 65 4f 72 41 6c 69 61 73 29 20 75 73 65 20 28 24 63 6f 6d 6d 61 6e 64 4c 69 n.($nameOrAlias).use.($commandLi
10a080 73 74 2c 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 26 24 61 6c 69 61 73 65 73 29 20 7b 0a 24 63 6f 6d st,.$commands,.&$aliases).{.$com
10a0a0 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 5b 24 6e 61 6d 65 4f 72 41 mandName.=.$commandList[$nameOrA
10a0c0 6c 69 61 73 5d 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 lias]->getName();.$aliases[$name
10a0e0 4f 72 41 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 0a 72 65 74 75 72 6e OrAlias].=.$commandName;..return
10a100 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 3d 3d 20 24 6e 61 6d 65 4f 72 41 6c 69 61 73 20 7c .$commandName.===.$nameOrAlias.|
10a120 7c 20 21 5c 69 6e 5f 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 24 63 6f 6d 6d |.!\in_array($commandName,.$comm
10a140 61 6e 64 73 29 3b 0a 7d 29 3b 0a 7d 0a 0a 24 65 78 61 63 74 20 3d 20 5c 69 6e 5f 61 72 72 61 79 ands);.});.}..$exact.=.\in_array
10a160 28 24 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 74 72 75 65 29 20 7c 7c 20 69 73 73 65 ($name,.$commands,.true).||.isse
10a180 74 28 24 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a 69 66 20 28 21 24 65 78 61 63 74 20 t($aliases[$name]);.if.(!$exact.
10a1a0 26 26 20 5c 63 6f 75 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b 0a 24 73 75 67 &&.\count($commands).>.1).{.$sug
10a1c0 67 65 73 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 69 6f gestions.=.$this->getAbbreviatio
10a1e0 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 63 6f 6d 6d 61 nSuggestions(array_values($comma
10a200 6e 64 73 29 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e nds));..throw.new.CommandNotFoun
10a220 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 dException(sprintf('Command."%s"
10a240 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 28 25 73 29 2e 27 2c 20 24 6e 61 6d 65 2c 20 24 73 75 .is.ambiguous.(%s).',.$name,.$su
10a260 67 67 65 73 74 69 6f 6e 73 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 63 6f 6d 6d 61 6e ggestions),.array_values($comman
10a280 64 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 65 78 61 63 ds));.}..return.$this->get($exac
10a2a0 74 20 3f 20 24 6e 61 6d 65 20 3a 20 72 65 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 7d t.?.$name.:.reset($commands));.}
10a2c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 ...........public.function.all($
10a2e0 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 namespace.=.null).{.$this->init(
10a300 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 72 );..if.(null.===.$namespace).{.r
10a320 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 eturn.$this->commands;.}..$comma
10a340 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 nds.=.array();.foreach.($this->c
10a360 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a ommands.as.$name.=>.$command).{.
10a380 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 if.($namespace.===.$this->extrac
10a3a0 74 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 tNamespace($name,.substr_count($
10a3c0 6e 61 6d 65 73 70 61 63 65 2c 20 27 3a 27 29 20 2b 20 31 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 namespace,.':').+.1)).{.$command
10a3e0 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e s[$name].=.$command;.}.}..return
10a400 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 .$commands;.}.........public.sta
10a420 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 73 28 24 6e tic.function.getAbbreviations($n
10a440 61 6d 65 73 29 0a 7b 0a 24 61 62 62 72 65 76 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 ames).{.$abbrevs.=.array();.fore
10a460 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 66 6f 72 20 28 24 6c 65 ach.($names.as.$name).{.for.($le
10a480 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 20 24 6c 65 6e 20 3e 20 30 3b 20 2d 2d n.=.\strlen($name);.$len.>.0;.--
10a4a0 24 6c 65 6e 29 20 7b 0a 24 61 62 62 72 65 76 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 $len).{.$abbrev.=.substr($name,.
10a4c0 30 2c 20 24 6c 65 6e 29 3b 0a 24 61 62 62 72 65 76 73 5b 24 61 62 62 72 65 76 5d 5b 5d 20 3d 20 0,.$len);.$abbrevs[$abbrev][].=.
10a4e0 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 62 62 72 65 76 73 3b 0a 7d 0a 0a $name;.}.}..return.$abbrevs;.}..
10a500 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 ..........public.function.asText
10a520 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 72 61 77 20 3d 20 66 61 6c 73 65 ($namespace.=.null,.$raw.=.false
10a540 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
10a560 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
10a580 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.3.and.will.be.remove
10a5a0 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
10a5c0 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f .$descriptor.=.new.TextDescripto
10a5e0 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 r();.$output.=.new.BufferedOutpu
10a600 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d t(BufferedOutput::VERBOSITY_NORM
10a620 41 4c 2c 20 21 24 72 61 77 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 AL,.!$raw);.$descriptor->describ
10a640 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 73 70 61 e($output,.$this,.array('namespa
10a660 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 72 61 77 5f 6f 75 74 70 75 74 27 20 ce'.=>.$namespace,.'raw_output'.
10a680 3d 3e 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 =>.true));..return.$output->fetc
10a6a0 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f h();.}............public.functio
10a6c0 6e 20 61 73 58 6d 6c 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 61 73 44 6f n.asXml($namespace.=.null,.$asDo
10a6e0 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 m.=.false).{.@trigger_error('The
10a700 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 .'.__METHOD__.'.method.is.deprec
10a720 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.3.and.will.
10a740 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 be.removed.in.3.0.',.E_USER_DEPR
10a760 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 ECATED);..$descriptor.=.new.XmlD
10a780 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 74 75 escriptor();..if.($asDom).{.retu
10a7a0 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f rn.$descriptor->getApplicationDo
10a7c0 63 75 6d 65 6e 74 28 24 74 68 69 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 7d 0a 0a 24 6f cument($this,.$namespace);.}..$o
10a7e0 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 utput.=.new.BufferedOutput();.$d
10a800 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 escriptor->describe($output,.$th
10a820 69 73 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 is,.array('namespace'.=>.$namesp
10a840 61 63 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b ace));..return.$output->fetch();
10a860 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 45 78 63 .}.....public.function.renderExc
10a880 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 eption($e,.$output).{.$output->w
10a8a0 72 69 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 riteln('',.OutputInterface::VERB
10a8c0 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 64 6f 20 7b 0a 24 74 69 74 6c 65 20 3d 20 73 70 72 OSITY_QUIET);..do.{.$title.=.spr
10a8e0 69 6e 74 66 28 27 20 20 5b 25 73 5d 20 20 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 65 29 29 intf('..[%s]..',.\get_class($e))
10a900 3b 0a 0a 24 6c 65 6e 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 ;..$len.=.Helper::strlen($title)
10a920 3b 0a 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 ;..$width.=.$this->getTerminalWi
10a940 64 74 68 28 29 20 3f 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 dth().?.$this->getTerminalWidth(
10a960 29 20 2d 20 31 20 3a 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 20 69 66 20 28 5c 64 65 66 69 ).-.1.:.PHP_INT_MAX;...if.(\defi
10a980 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 24 77 69 64 74 68 20 3e 20 ned('HHVM_VERSION').&&.$width.>.
10a9a0 31 20 3c 3c 20 33 31 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 31 20 3c 3c 20 33 31 3b 0a 7d 0a 24 1.<<.31).{.$width.=.1.<<.31;.}.$
10a9c0 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 lines.=.array();.foreach.(preg_s
10a9e0 70 6c 69 74 28 27 2f 5c 72 3f 5c 6e 2f 27 2c 20 74 72 69 6d 28 24 65 2d 3e 67 65 74 4d 65 73 73 plit('/\r?\n/',.trim($e->getMess
10aa00 61 67 65 28 29 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 age())).as.$line).{.foreach.($th
10aa20 69 73 2d 3e 73 70 6c 69 74 53 74 72 69 6e 67 42 79 57 69 64 74 68 28 24 6c 69 6e 65 2c 20 24 77 is->splitStringByWidth($line,.$w
10aa40 69 64 74 68 20 2d 20 34 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 0a 20 24 6c 69 6e 65 4c 65 6e idth.-.4).as.$line).{...$lineLen
10aa60 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6c 69 6e 65 29 20 2b 20 34 3b gth.=.Helper::strlen($line).+.4;
10aa80 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 69 6e 65 2c 20 24 6c 69 6e 65 4c 65 .$lines[].=.array($line,.$lineLe
10aaa0 6e 67 74 68 29 3b 0a 0a 24 6c 65 6e 20 3d 20 6d 61 78 28 24 6c 69 6e 65 4c 65 6e 67 74 68 2c 20 ngth);..$len.=.max($lineLength,.
10aac0 24 6c 65 6e 29 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b $len);.}.}..$messages.=.array();
10aae0 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 79 4c 69 6e 65 20 3d 20 73 70 72 69 .$messages[].=.$emptyLine.=.spri
10ab00 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 73 74 72 5f 72 65 70 ntf('<error>%s</error>',.str_rep
10ab20 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 eat('.',.$len));.$messages[].=.s
10ab40 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 74 printf('<error>%s%s</error>',.$t
10ab60 69 74 6c 65 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 6d 61 78 28 30 2c 20 24 6c 65 itle,.str_repeat('.',.max(0,.$le
10ab80 6e 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 29 29 29 3b 0a 66 n.-.Helper::strlen($title))));.f
10aba0 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6d 65 73 73 oreach.($lines.as.$line).{.$mess
10abc0 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 20 20 25 73 20 20 25 ages[].=.sprintf('<error>..%s..%
10abe0 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 s</error>',.OutputFormatter::esc
10ac00 61 70 65 28 24 6c 69 6e 65 5b 30 5d 29 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 ape($line[0]),.str_repeat('.',.$
10ac20 6c 65 6e 20 2d 20 24 6c 69 6e 65 5b 31 5d 29 29 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 len.-.$line[1]));.}.$messages[].
10ac40 3d 20 24 65 6d 70 74 79 4c 69 6e 65 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 27 3b 0a =.$emptyLine;.$messages[].=.'';.
10ac60 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 4f 75 74 .$output->writeln($messages,.Out
10ac80 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a putInterface::VERBOSITY_QUIET);.
10aca0 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f .if.(OutputInterface::VERBOSITY_
10acc0 56 45 52 42 4f 53 45 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 VERBOSE.<=.$output->getVerbosity
10ace0 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 ()).{.$output->writeln('<comment
10ad00 3e 45 78 63 65 70 74 69 6f 6e 20 74 72 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 4f 75 >Exception.trace:</comment>',.Ou
10ad20 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b tputInterface::VERBOSITY_QUIET);
10ad40 0a 0a 0a 20 24 74 72 61 63 65 20 3d 20 24 65 2d 3e 67 65 74 54 72 61 63 65 28 29 3b 0a 61 72 72 ....$trace.=.$e->getTrace();.arr
10ad60 61 79 5f 75 6e 73 68 69 66 74 28 24 74 72 61 63 65 2c 20 61 72 72 61 79 28 0a 27 66 75 6e 63 74 ay_unshift($trace,.array(.'funct
10ad80 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 6e 75 6c 6c 20 21 3d 3d 20 24 ion'.=>.'',.'file'.=>.null.!==.$
10ada0 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 3f 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 3a 20 27 e->getFile().?.$e->getFile().:.'
10adc0 6e 2f 61 27 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 2d 3e 67 65 74 n/a',.'line'.=>.null.!==.$e->get
10ade0 4c 69 6e 65 28 29 20 3f 20 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a Line().?.$e->getLine().:.'n/a',.
10ae00 27 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 29 29 3b 0a 0a 66 6f 72 20 28 24 69 20 'args'.=>.array(),.));..for.($i.
10ae20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 5c 63 6f 75 6e 74 28 24 74 72 61 63 65 29 3b 20 24 69 =.0,.$count.=.\count($trace);.$i
10ae40 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 69 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 69 73 73 65 .<.$count;.++$i).{.$class.=.isse
10ae60 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 74 72 61 63 65 5b t($trace[$i]['class']).?.$trace[
10ae80 24 69 5d 5b 27 63 6c 61 73 73 27 5d 20 3a 20 27 27 3b 0a 24 74 79 70 65 20 3d 20 69 73 73 65 74 $i]['class'].:.'';.$type.=.isset
10aea0 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 ($trace[$i]['type']).?.$trace[$i
10aec0 5d 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 3b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 74 72 61 ]['type'].:.'';.$function.=.$tra
10aee0 63 65 5b 24 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 3b 0a 24 66 69 6c 65 20 3d 20 69 73 73 65 ce[$i]['function'];.$file.=.isse
10af00 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 6c 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 t($trace[$i]['file']).?.$trace[$
10af20 69 5d 5b 27 66 69 6c 65 27 5d 20 3a 20 27 6e 2f 61 27 3b 0a 24 6c 69 6e 65 20 3d 20 69 73 73 65 i]['file'].:.'n/a';.$line.=.isse
10af40 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 6c 69 6e 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 t($trace[$i]['line']).?.$trace[$
10af60 69 5d 5b 27 6c 69 6e 65 27 5d 20 3a 20 27 6e 2f 61 27 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 i]['line'].:.'n/a';..$output->wr
10af80 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 20 25 73 25 73 25 73 28 29 20 61 74 20 3c 69 6e 66 iteln(sprintf('.%s%s%s().at.<inf
10afa0 6f 3e 25 73 3a 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 63 6c 61 73 73 2c 20 24 74 79 70 65 2c 20 o>%s:%s</info>',.$class,.$type,.
10afc0 24 66 75 6e 63 74 69 6f 6e 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 2c 20 4f 75 74 70 75 74 $function,.$file,.$line),.Output
10afe0 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a Interface::VERBOSITY_QUIET);.}..
10b000 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 $output->writeln('',.OutputInter
10b020 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 7d 20 77 68 69 6c face::VERBOSITY_QUIET);.}.}.whil
10b040 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 0a 69 66 20 e.($e.=.$e->getPrevious());..if.
10b060 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 29 (null.!==.$this->runningCommand)
10b080 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 69 6e .{.$output->writeln(sprintf('<in
10b0a0 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 72 75 fo>%s</info>',.sprintf($this->ru
10b0c0 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2c 20 24 74 68 nningCommand->getSynopsis(),.$th
10b0e0 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 is->getName())),.OutputInterface
10b100 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 ::VERBOSITY_QUIET);.$output->wri
10b120 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 teln('',.OutputInterface::VERBOS
10b140 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ITY_QUIET);.}.}.......protected.
10b160 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 0a 7b 0a 24 64 function.getTerminalWidth().{.$d
10b180 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 imensions.=.$this->getTerminalDi
10b1a0 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b mensions();..return.$dimensions[
10b1c0 30 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 0];.}.......protected.function.g
10b1e0 65 74 54 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 28 29 0a 7b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 etTerminalHeight().{.$dimensions
10b200 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 .=.$this->getTerminalDimensions(
10b220 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 31 5d 3b 0a 7d 0a 0a 0a 0a );..return.$dimensions[1];.}....
10b240 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 ...public.function.getTerminalDi
10b260 6d 65 6e 73 69 6f 6e 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c mensions().{.if.($this->terminal
10b280 44 69 6d 65 6e 73 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 65 72 6d Dimensions).{.return.$this->term
10b2a0 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 inalDimensions;.}..if.('\\'.===.
10b2c0 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 0a 20 69 66 20 28 70 72 \DIRECTORY_SEPARATOR).{...if.(pr
10b2e0 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 5c 64 2b 29 78 5c 64 2b 20 5c 28 5c 64 2b 78 28 5c 64 2b eg_match('/^(\d+)x\d+.\(\d+x(\d+
10b300 29 5c 29 24 2f 27 2c 20 74 72 69 6d 28 67 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 29 2c )\)$/',.trim(getenv('ANSICON')),
10b320 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 .$matches)).{.return.array((int)
10b340 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 .$matches[1],.(int).$matches[2])
10b360 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 5c 64 2b 29 78 28 5c ;.}...if.(preg_match('/^(\d+)x(\
10b380 64 2b 29 24 2f 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 2c d+)$/',.$this->getConsoleMode(),
10b3a0 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 .$matches)).{.return.array((int)
10b3c0 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 .$matches[1],.(int).$matches[2])
10b3e0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 73 74 74 79 53 74 72 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e ;.}.}..if.($sttyString.=.$this->
10b400 67 65 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d getSttyColumns()).{...if.(preg_m
10b420 61 74 63 68 28 27 2f 72 6f 77 73 2e 28 5c 64 2b 29 3b 2e 63 6f 6c 75 6d 6e 73 2e 28 5c 64 2b 29 atch('/rows.(\d+);.columns.(\d+)
10b440 3b 2f 69 27 2c 20 24 73 74 74 79 53 74 72 69 6e 67 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a ;/i',.$sttyString,.$matches)).{.
10b460 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 return.array((int).$matches[2],.
10b480 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 (int).$matches[1]);.}...if.(preg
10b4a0 5f 6d 61 74 63 68 28 27 2f 3b 2e 28 5c 64 2b 29 2e 72 6f 77 73 3b 2e 28 5c 64 2b 29 2e 63 6f 6c _match('/;.(\d+).rows;.(\d+).col
10b4c0 75 6d 6e 73 2f 69 27 2c 20 24 73 74 74 79 53 74 72 69 6e 67 2c 20 24 6d 61 74 63 68 65 73 29 29 umns/i',.$sttyString,.$matches))
10b4e0 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 .{.return.array((int).$matches[2
10b500 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ],.(int).$matches[1]);.}.}..retu
10b520 72 6e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.array(null,.null);.}.........
10b540 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 65 72 6d 69 6e 61 6c 44 69 ...public.function.setTerminalDi
10b560 6d 65 6e 73 69 6f 6e 73 28 24 77 69 64 74 68 2c 20 24 68 65 69 67 68 74 29 0a 7b 0a 24 74 68 69 mensions($width,.$height).{.$thi
10b580 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 24 77 s->terminalDimensions.=.array($w
10b5a0 69 64 74 68 2c 20 24 68 65 69 67 68 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d idth,.$height);..return.$this;.}
10b5c0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 .....protected.function.configur
10b5e0 65 49 4f 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 eIO(InputInterface.$input,.Outpu
10b600 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 74 72 75 65 20 3d tInterface.$output).{.if.(true.=
10b620 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 ==.$input->hasParameterOption(ar
10b640 72 61 79 28 27 2d 2d 61 6e 73 69 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 ray('--ansi'))).{.$output->setDe
10b660 63 6f 72 61 74 65 64 28 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 74 72 75 65 20 3d 3d corated(true);.}.elseif.(true.==
10b680 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 =.$input->hasParameterOption(arr
10b6a0 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 ay('--no-ansi'))).{.$output->set
10b6c0 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d Decorated(false);.}..if.(true.==
10b6e0 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 =.$input->hasParameterOption(arr
10b700 61 79 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 29 29 29 20 7b ay('--no-interaction',.'-n'))).{
10b720 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a .$input->setInteractive(false);.
10b740 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 }.elseif.(\function_exists('posi
10b760 78 5f 69 73 61 74 74 79 27 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 x_isatty').&&.$this->getHelperSe
10b780 74 28 29 2d 3e 68 61 73 28 27 71 75 65 73 74 69 6f 6e 27 29 29 20 7b 0a 24 69 6e 70 75 74 53 74 t()->has('question')).{.$inputSt
10b7a0 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 ream.=.$this->getHelperSet()->ge
10b7c0 74 28 27 71 75 65 73 74 69 6f 6e 27 29 2d 3e 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 3b t('question')->getInputStream();
10b7e0 0a 69 66 20 28 21 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 69 6e 70 75 74 53 74 72 65 61 6d .if.(!@posix_isatty($inputStream
10b800 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 53 48 45 4c 4c 5f 49 4e 54 ).&&.false.===.getenv('SHELL_INT
10b820 45 52 41 43 54 49 56 45 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 ERACTIVE')).{.$input->setInterac
10b840 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 tive(false);.}.}..if.(true.===.$
10b860 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 input->hasParameterOption(array(
10b880 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 '--quiet',.'-q'))).{.$output->se
10b8a0 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 tVerbosity(OutputInterface::VERB
10b8c0 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 OSITY_QUIET);.$input->setInterac
10b8e0 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 tive(false);.}.else.{.if.($input
10b900 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 76 76 27 29 20 7c 7c 20 ->hasParameterOption('-vvv').||.
10b920 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 $input->hasParameterOption('--ve
10b940 72 62 6f 73 65 3d 33 27 29 20 7c 7c 20 33 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 rbose=3').||.3.===.$input->getPa
10b960 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f rameterOption('--verbose')).{.$o
10b980 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 utput->setVerbosity(OutputInterf
10b9a0 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ace::VERBOSITY_DEBUG);.}.elseif.
10b9c0 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 76 ($input->hasParameterOption('-vv
10b9e0 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e ').||.$input->hasParameterOption
10ba00 28 27 2d 2d 76 65 72 62 6f 73 65 3d 32 27 29 20 7c 7c 20 32 20 3d 3d 3d 20 24 69 6e 70 75 74 2d ('--verbose=2').||.2.===.$input-
10ba20 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 >getParameterOption('--verbose')
10ba40 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 ).{.$output->setVerbosity(Output
10ba60 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 Interface::VERBOSITY_VERY_VERBOS
10ba80 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 E);.}.elseif.($input->hasParamet
10baa0 65 72 4f 70 74 69 6f 6e 28 27 2d 76 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 erOption('-v').||.$input->hasPar
10bac0 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 3d 31 27 29 20 7c 7c 20 24 ameterOption('--verbose=1').||.$
10bae0 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 input->hasParameterOption('--ver
10bb00 62 6f 73 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 bose').||.$input->getParameterOp
10bb20 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 tion('--verbose')).{.$output->se
10bb40 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 tVerbosity(OutputInterface::VERB
10bb60 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 OSITY_VERBOSE);.}.}.}..........p
10bb80 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 43 6f 6d 6d 61 6e 64 28 43 rotected.function.doRunCommand(C
10bba0 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 ommand.$command,.InputInterface.
10bbc0 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 $input,.OutputInterface.$output)
10bbe0 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 48 65 6c 70 65 72 53 .{.foreach.($command->getHelperS
10bc00 65 74 28 29 20 61 73 20 24 68 65 6c 70 65 72 29 20 7b 0a 69 66 20 28 24 68 65 6c 70 65 72 20 69 et().as.$helper).{.if.($helper.i
10bc20 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 29 20 7b nstanceof.InputAwareInterface).{
10bc40 0a 24 68 65 6c 70 65 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 7d 0a .$helper->setInput($input);.}.}.
10bc60 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 29 .if.(null.===.$this->dispatcher)
10bc80 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 .{.return.$command->run($input,.
10bca0 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d $output);.}....try.{.$command->m
10bcc0 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 69 6e ergeApplicationDefinition();.$in
10bce0 70 75 74 2d 3e 62 69 6e 64 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f put->bind($command->getDefinitio
10bd00 6e 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 n());.}.catch.(ExceptionInterfac
10bd20 65 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c e.$e).{...}..$event.=.new.Consol
10bd40 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 eCommandEvent($command,.$input,.
10bd60 24 6f 75 74 70 75 74 29 3b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 74 68 69 $output);.$e.=.null;..try.{.$thi
10bd80 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 s->dispatcher->dispatch(ConsoleE
10bda0 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 65 vents::COMMAND,.$event);..if.($e
10bdc0 76 65 6e 74 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 28 29 29 20 7b 0a 24 65 78 69 vent->commandShouldRun()).{.$exi
10bde0 74 43 6f 64 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f tCode.=.$command->run($input,.$o
10be00 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 43 6f 6e utput);.}.else.{.$exitCode.=.Con
10be20 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3a 3a 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 soleCommandEvent::RETURN_CODE_DI
10be40 53 41 42 4c 45 44 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 SABLED;.}.}.catch.(\Exception.$e
10be60 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 0a ).{.}.catch.(\Throwable.$e).{.}.
10be80 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 24 78 20 3d 20 24 65 20 69 6e 73 74 61 if.(null.!==.$e).{.$x.=.$e.insta
10bea0 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 20 3f 20 24 65 20 3a 20 6e 65 77 20 46 61 74 61 nceof.\Exception.?.$e.:.new.Fata
10bec0 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 65 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 lThrowableError($e);.$event.=.ne
10bee0 77 20 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 w.ConsoleExceptionEvent($command
10bf00 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 78 2c 20 24 78 2d 3e 67 65 74 43 6f ,.$input,.$output,.$x,.$x->getCo
10bf20 64 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 de());.$this->dispatcher->dispat
10bf40 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 45 58 43 45 50 54 49 4f 4e 2c 20 24 65 76 ch(ConsoleEvents::EXCEPTION,.$ev
10bf60 65 6e 74 29 3b 0a 0a 69 66 20 28 24 78 20 21 3d 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 ent);..if.($x.!==.$event->getExc
10bf80 65 70 74 69 6f 6e 28 29 29 20 7b 0a 24 65 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 65 eption()).{.$e.=.$event->getExce
10bfa0 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 ption();.}..$exitCode.=.$this->g
10bfc0 65 74 45 78 69 74 43 6f 64 65 46 6f 72 54 68 72 6f 77 61 62 6c 65 28 24 65 29 3b 0a 7d 0a 0a 24 etExitCodeForThrowable($e);.}..$
10bfe0 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e event.=.new.ConsoleTerminateEven
10c000 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 t($command,.$input,.$output,.$ex
10c020 69 74 43 6f 64 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 itCode);.$this->dispatcher->disp
10c040 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 54 45 52 4d 49 4e 41 54 45 2c 20 24 atch(ConsoleEvents::TERMINATE,.$
10c060 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 74 68 72 6f event);..if.(null.!==.$e).{.thro
10c080 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 69 74 43 w.$e;.}..return.$event->getExitC
10c0a0 6f 64 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ode();.}.......protected.functio
10c0c0 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 n.getCommandName(InputInterface.
10c0e0 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 46 69 72 73 $input).{.return.$input->getFirs
10c100 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 tArgument();.}.......protected.f
10c120 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f unction.getDefaultInputDefinitio
10c140 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e n().{.return.new.InputDefinition
10c160 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 (array(.new.InputArgument('comma
10c180 6e 64 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 54 nd',.InputArgument::REQUIRED,.'T
10c1a0 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 78 65 63 75 74 65 27 29 2c 0a 0a 6e 65 77 20 49 6e he.command.to.execute'),..new.In
10c1c0 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 2c 20 49 6e 70 75 74 4f putOption('--help',.'-h',.InputO
10c1e0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 ption::VALUE_NONE,.'Display.this
10c200 20 68 65 6c 70 20 6d 65 73 73 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e .help.message'),.new.InputOption
10c220 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ('--quiet',.'-q',.InputOption::V
10c240 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 61 6e 79 20 6d 65 ALUE_NONE,.'Do.not.output.any.me
10c260 73 73 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 ssage'),.new.InputOption('--verb
10c280 6f 73 65 27 2c 20 27 2d 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ose',.'-v|vv|vvv',.InputOption::
10c2a0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 63 72 65 61 73 65 20 74 68 65 20 76 65 72 62 6f 73 VALUE_NONE,.'Increase.the.verbos
10c2c0 69 74 79 20 6f 66 20 6d 65 73 73 61 67 65 73 3a 20 31 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6f 75 ity.of.messages:.1.for.normal.ou
10c2e0 74 70 75 74 2c 20 32 20 66 6f 72 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 6f 75 74 70 75 74 20 tput,.2.for.more.verbose.output.
10c300 61 6e 64 20 33 20 66 6f 72 20 64 65 62 75 67 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 and.3.for.debug'),.new.InputOpti
10c320 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f on('--version',.'-V',.InputOptio
10c340 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 61 70 70 n::VALUE_NONE,.'Display.this.app
10c360 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 lication.version'),.new.InputOpt
10c380 69 6f 6e 28 27 2d 2d 61 6e 73 69 27 2c 20 27 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ion('--ansi',.'',.InputOption::V
10c3a0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c ALUE_NONE,.'Force.ANSI.output'),
10c3c0 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 2c 20 27 27 .new.InputOption('--no-ansi',.''
10c3e0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 ,.InputOption::VALUE_NONE,.'Disa
10c400 62 6c 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 ble.ANSI.output'),.new.InputOpti
10c420 6f 6e 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 2c 20 49 6e 70 on('--no-interaction',.'-n',.Inp
10c440 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 61 73 utOption::VALUE_NONE,.'Do.not.as
10c460 6b 20 61 6e 79 20 69 6e 74 65 72 61 63 74 69 76 65 20 71 75 65 73 74 69 6f 6e 27 29 2c 0a 29 29 k.any.interactive.question'),.))
10c480 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ;.}.......protected.function.get
10c4a0 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 DefaultCommands().{.return.array
10c4c0 28 6e 65 77 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 28 29 2c 20 6e 65 77 20 4c 69 73 74 43 6f 6d 6d (new.HelpCommand(),.new.ListComm
10c4e0 61 6e 64 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 and());.}.......protected.functi
10c500 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 65 74 75 72 on.getDefaultHelperSet().{.retur
10c520 6e 20 6e 65 77 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 79 28 0a 6e 65 77 20 46 6f 72 6d 61 n.new.HelperSet(array(.new.Forma
10c540 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 44 69 61 6c 6f 67 48 65 6c 70 65 72 28 66 tterHelper(),.new.DialogHelper(f
10c560 61 6c 73 65 29 2c 0a 6e 65 77 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 28 66 61 6c 73 65 29 alse),.new.ProgressHelper(false)
10c580 2c 0a 6e 65 77 20 54 61 62 6c 65 48 65 6c 70 65 72 28 66 61 6c 73 65 29 2c 0a 6e 65 77 20 44 65 ,.new.TableHelper(false),.new.De
10c5a0 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 50 72 6f 63 65 73 bugFormatterHelper(),.new.Proces
10c5c0 73 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 28 29 2c sHelper(),.new.QuestionHelper(),
10c5e0 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 .));.}.......private.function.ge
10c600 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f tSttyColumns().{.if.(!\function_
10c620 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d exists('proc_open')).{.return;.}
10c640 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 20 3d 20 61 72 72 61 79 28 31 20 3d 3e 20 61 ..$descriptorspec.=.array(1.=>.a
10c660 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 rray('pipe',.'w'),.2.=>.array('p
10c680 69 70 65 27 2c 20 27 77 27 29 29 3b 0a 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 ipe',.'w'));.$process.=.proc_ope
10c6a0 6e 28 27 73 74 74 79 20 2d 61 20 7c 20 67 72 65 70 20 63 6f 6c 75 6d 6e 73 27 2c 20 24 64 65 73 n('stty.-a.|.grep.columns',.$des
10c6c0 63 72 69 70 74 6f 72 73 70 65 63 2c 20 24 70 69 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c criptorspec,.$pipes,.null,.null,
10c6e0 20 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 .array('suppress_errors'.=>.true
10c700 29 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 6f 63 65 73 73 29 29 20 ));.if.(\is_resource($process)).
10c720 7b 0a 24 69 6e 66 6f 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 {.$info.=.stream_get_contents($p
10c740 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c ipes[1]);.fclose($pipes[1]);.fcl
10c760 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 ose($pipes[2]);.proc_close($proc
10c780 65 73 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ess);..return.$info;.}.}.......p
10c7a0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 rivate.function.getConsoleMode()
10c7c0 0a 7b 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f .{.if.(!\function_exists('proc_o
10c7e0 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 73 pen')).{.return;.}..$descriptors
10c800 70 65 63 20 3d 20 61 72 72 61 79 28 31 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 pec.=.array(1.=>.array('pipe',.'
10c820 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 3b 0a 24 w'),.2.=>.array('pipe',.'w'));.$
10c840 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 27 6d 6f 64 65 20 43 4f 4e 27 2c 20 process.=.proc_open('mode.CON',.
10c860 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 2c 20 24 70 69 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e $descriptorspec,.$pipes,.null,.n
10c880 75 6c 6c 2c 20 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 ull,.array('suppress_errors'.=>.
10c8a0 74 72 75 65 29 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 6f 63 65 73 true));.if.(\is_resource($proces
10c8c0 73 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 s)).{.$info.=.stream_get_content
10c8e0 73 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b s($pipes[1]);.fclose($pipes[1]);
10c900 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 .fclose($pipes[2]);.proc_close($
10c920 70 72 6f 63 65 73 73 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2d 2d 2d 2d process);..if.(preg_match('/----
10c940 2d 2d 2d 2d 2b 5c 72 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c ----+\r?\n.+?(\d+)\r?\n.+?(\d+)\
10c960 72 3f 5c 6e 2f 27 2c 20 24 69 6e 66 6f 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 r?\n/',.$info,.$matches)).{.retu
10c980 72 6e 20 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 78 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a rn.$matches[2].'x'.$matches[1];.
10c9a0 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 }.}.}.........private.function.g
10c9c0 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 24 61 62 62 72 65 etAbbreviationSuggestions($abbre
10c9e0 76 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 73 2c 20 25 73 25 73 27 2c vs).{.return.sprintf('%s,.%s%s',
10ca00 20 24 61 62 62 72 65 76 73 5b 30 5d 2c 20 24 61 62 62 72 65 76 73 5b 31 5d 2c 20 5c 63 6f 75 6e .$abbrevs[0],.$abbrevs[1],.\coun
10ca20 74 28 24 61 62 62 72 65 76 73 29 20 3e 20 32 20 3f 20 73 70 72 69 6e 74 66 28 27 20 61 6e 64 20 t($abbrevs).>.2.?.sprintf('.and.
10ca40 25 64 20 6d 6f 72 65 27 2c 20 5c 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 29 20 2d 20 32 29 20 %d.more',.\count($abbrevs).-.2).
10ca60 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 :.'');.}............public.funct
10ca80 69 6f 6e 20 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 24 6c 69 6d ion.extractNamespace($name,.$lim
10caa0 69 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a it.=.null).{.$parts.=.explode(':
10cac0 27 2c 20 24 6e 61 6d 65 29 3b 0a 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 0a 72 ',.$name);.array_pop($parts);..r
10cae0 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 3a 27 2c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 69 6d eturn.implode(':',.null.===.$lim
10cb00 69 74 20 3f 20 24 70 61 72 74 73 20 3a 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 24 70 61 72 74 it.?.$parts.:.\array_slice($part
10cb20 73 2c 20 30 2c 20 24 6c 69 6d 69 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 s,.0,.$limit));.}...........priv
10cb40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e ate.function.findAlternatives($n
10cb60 61 6d 65 2c 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 29 0a 7b 0a 24 74 68 72 65 73 68 6f 6c 64 20 3d ame,.$collection).{.$threshold.=
10cb80 20 31 65 33 3b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a .1e3;.$alternatives.=.array();..
10cba0 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 $collectionParts.=.array();.fore
10cbc0 61 63 68 20 28 24 63 6f 6c 6c 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 63 6f ach.($collection.as.$item).{.$co
10cbe0 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 5b 24 69 74 65 6d 5d 20 3d 20 65 78 70 6c 6f 64 65 28 27 llectionParts[$item].=.explode('
10cc00 3a 27 2c 20 24 69 74 65 6d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 :',.$item);.}..foreach.(explode(
10cc20 27 3a 27 2c 20 24 6e 61 6d 65 29 20 61 73 20 24 69 20 3d 3e 20 24 73 75 62 6e 61 6d 65 29 20 7b ':',.$name).as.$i.=>.$subname).{
10cc40 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 20 61 73 20 24 63 .foreach.($collectionParts.as.$c
10cc60 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 20 3d 3e 20 24 70 61 72 74 73 29 20 7b 0a 24 65 78 69 73 ollectionName.=>.$parts).{.$exis
10cc80 74 73 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 ts.=.isset($alternatives[$collec
10cca0 74 69 6f 6e 4e 61 6d 65 5d 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 tionName]);.if.(!isset($parts[$i
10ccc0 5d 29 20 26 26 20 24 65 78 69 73 74 73 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 ]).&&.$exists).{.$alternatives[$
10cce0 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 63 collectionName].+=.$threshold;.c
10cd00 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 ontinue;.}.elseif.(!isset($parts
10cd20 5b 24 69 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 76 20 3d 20 6c 65 76 [$i])).{.continue;.}..$lev.=.lev
10cd40 65 6e 73 68 74 65 69 6e 28 24 73 75 62 6e 61 6d 65 2c 20 24 70 61 72 74 73 5b 24 69 5d 29 3b 0a enshtein($subname,.$parts[$i]);.
10cd60 69 66 20 28 24 6c 65 76 20 3c 3d 20 5c 73 74 72 6c 65 6e 28 24 73 75 62 6e 61 6d 65 29 20 2f 20 if.($lev.<=.\strlen($subname)./.
10cd80 33 20 7c 7c 20 27 27 20 21 3d 3d 20 24 73 75 62 6e 61 6d 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3.||.''.!==.$subname.&&.false.!=
10cda0 3d 20 73 74 72 70 6f 73 28 24 70 61 72 74 73 5b 24 69 5d 2c 20 24 73 75 62 6e 61 6d 65 29 29 20 =.strpos($parts[$i],.$subname)).
10cdc0 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d {.$alternatives[$collectionName]
10cde0 20 3d 20 24 65 78 69 73 74 73 20 3f 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c .=.$exists.?.$alternatives[$coll
10ce00 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 20 24 6c 65 76 20 3a 20 24 6c 65 76 3b 0a 7d 20 65 6c 73 ectionName].+.$lev.:.$lev;.}.els
10ce20 65 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 eif.($exists).{.$alternatives[$c
10ce40 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 7d 0a ollectionName].+=.$threshold;.}.
10ce60 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 63 74 69 6f 6e 20 61 73 20 24 69 74 }.}..foreach.($collection.as.$it
10ce80 65 6d 29 20 7b 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6e 61 6d 65 2c 20 em).{.$lev.=.levenshtein($name,.
10cea0 24 69 74 65 6d 29 3b 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 61 6d $item);.if.($lev.<=.\strlen($nam
10cec0 65 29 20 2f 20 33 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 69 74 65 6d e)./.3.||.false.!==.strpos($item
10cee0 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d ,.$name)).{.$alternatives[$item]
10cf00 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d 29 20 3f .=.isset($alternatives[$item]).?
10cf20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d 20 2d 20 24 6c 65 76 20 3a 20 24 .$alternatives[$item].-.$lev.:.$
10cf40 6c 65 76 3b 0a 7d 0a 7d 0a 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 5f lev;.}.}..$alternatives.=.array_
10cf60 66 69 6c 74 65 72 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 filter($alternatives,.function.(
10cf80 24 6c 65 76 29 20 75 73 65 20 28 24 74 68 72 65 73 68 6f 6c 64 29 20 7b 20 72 65 74 75 72 6e 20 $lev).use.($threshold).{.return.
10cfa0 24 6c 65 76 20 3c 20 32 20 2a 20 24 74 68 72 65 73 68 6f 6c 64 3b 20 7d 29 3b 0a 61 73 6f 72 74 $lev.<.2.*.$threshold;.});.asort
10cfc0 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b ($alternatives);..return.array_k
10cfe0 65 79 73 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eys($alternatives);.}.......publ
10d000 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 28 24 63 ic.function.setDefaultCommand($c
10d020 6f 6d 6d 61 6e 64 4e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d ommandName).{.$this->defaultComm
10d040 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 and.=.$commandName;.}..private.f
10d060 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 53 74 72 69 6e 67 42 79 57 69 64 74 68 28 24 73 74 72 69 unction.splitStringByWidth($stri
10d080 6e 67 2c 20 24 77 69 64 74 68 29 0a 7b 0a 0a 20 0a 20 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d ng,.$width).{.......if.(false.==
10d0a0 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 =.$encoding.=.mb_detect_encoding
10d0c0 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 ($string,.null,.true)).{.return.
10d0e0 73 74 72 5f 73 70 6c 69 74 28 24 73 74 72 69 6e 67 2c 20 24 77 69 64 74 68 29 3b 0a 7d 0a 0a 24 str_split($string,.$width);.}..$
10d100 75 74 66 38 53 74 72 69 6e 67 20 3d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 utf8String.=.mb_convert_encoding
10d120 28 24 73 74 72 69 6e 67 2c 20 27 75 74 66 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6c ($string,.'utf8',.$encoding);.$l
10d140 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 69 6e 65 20 3d 20 27 27 3b 0a 66 6f 72 65 ines.=.array();.$line.=.'';.fore
10d160 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 2f 75 27 2c 20 24 75 74 66 38 53 74 72 69 ach.(preg_split('//u',.$utf8Stri
10d180 6e 67 29 20 61 73 20 24 63 68 61 72 29 20 7b 0a 0a 20 69 66 20 28 6d 62 5f 73 74 72 77 69 64 74 ng).as.$char).{...if.(mb_strwidt
10d1a0 68 28 24 6c 69 6e 65 2e 24 63 68 61 72 2c 20 27 75 74 66 38 27 29 20 3c 3d 20 24 77 69 64 74 68 h($line.$char,.'utf8').<=.$width
10d1c0 29 20 7b 0a 24 6c 69 6e 65 20 2e 3d 20 24 63 68 61 72 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a ).{.$line..=.$char;.continue;.}.
10d1e0 0a 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 74 72 5f 70 61 64 28 24 6c 69 6e 65 2c 20 24 77 69 64 ..$lines[].=.str_pad($line,.$wid
10d200 74 68 29 3b 0a 24 6c 69 6e 65 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 24 6c 69 6e 65 73 5b 5d 20 th);.$line.=.$char;.}..$lines[].
10d220 3d 20 5c 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 3f 20 73 74 72 5f 70 61 64 28 24 6c 69 6e 65 =.\count($lines).?.str_pad($line
10d240 2c 20 24 77 69 64 74 68 29 20 3a 20 24 6c 69 6e 65 3b 0a 0a 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 ,.$width).:.$line;..mb_convert_v
10d260 61 72 69 61 62 6c 65 73 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 75 74 66 38 27 2c 20 24 6c 69 6e ariables($encoding,.'utf8',.$lin
10d280 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 es);..return.$lines;.}.........p
10d2a0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 rivate.function.extractAllNamesp
10d2c0 61 63 65 73 28 24 6e 61 6d 65 29 0a 7b 0a 0a 20 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 aces($name).{...$parts.=.explode
10d2e0 28 27 3a 27 2c 20 24 6e 61 6d 65 2c 20 2d 31 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 (':',.$name,.-1);.$namespaces.=.
10d300 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 72 74 73 20 61 73 20 24 70 61 array();..foreach.($parts.as.$pa
10d320 72 74 29 20 7b 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 7b rt).{.if.(\count($namespaces)).{
10d340 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 65 6e 64 28 24 6e 61 6d 65 73 70 61 63 65 73 .$namespaces[].=.end($namespaces
10d360 29 2e 27 3a 27 2e 24 70 61 72 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 ).':'.$part;.}.else.{.$namespace
10d380 73 5b 5d 20 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 73 70 s[].=.$part;.}.}..return.$namesp
10d3a0 61 63 65 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 28 29 aces;.}..private.function.init()
10d3c0 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 29 20 7b 0a 72 65 74 .{.if.($this->initialized).{.ret
10d3e0 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 74 72 75 65 urn;.}.$this->initialized.=.true
10d400 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 43 6f 6d ;..foreach.($this->getDefaultCom
10d420 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 mands().as.$command).{.$this->ad
10d440 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 d($command);.}.}.......private.f
10d460 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 46 6f 72 54 68 72 6f 77 61 62 6c 65 28 unction.getExitCodeForThrowable(
10d480 24 74 68 72 6f 77 61 62 6c 65 29 0a 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 72 6f 77 $throwable).{.$exitCode.=.$throw
10d4a0 61 62 6c 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 able->getCode();.if.(is_numeric(
10d4c0 24 65 78 69 74 43 6f 64 65 29 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 $exitCode)).{.$exitCode.=.(int).
10d4e0 24 65 78 69 74 43 6f 64 65 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 65 78 69 74 43 6f 64 65 29 20 $exitCode;.if.(0.===.$exitCode).
10d500 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 69 {.$exitCode.=.1;.}.}.else.{.$exi
10d520 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a tCode.=.1;.}..return.$exitCode;.
10d540 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
10d560 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b mfony\Component\Console\Command;
10d580 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
10d5a0 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 Application;.use.Symfony\Compone
10d5c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 nt\Console\Descriptor\TextDescri
10d5e0 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ptor;.use.Symfony\Component\Cons
10d600 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 ole\Descriptor\XmlDescriptor;.us
10d620 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 e.Symfony\Component\Console\Exce
10d640 70 74 69 6f 6e 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 ption\ExceptionInterface;.use.Sy
10d660 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
10d680 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 n\InvalidArgumentException;.use.
10d6a0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
10d6c0 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ion\LogicException;.use.Symfony\
10d6e0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 Component\Console\Helper\HelperS
10d700 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c et;.use.Symfony\Component\Consol
10d720 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
10d740 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
10d760 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e Definition;.use.Symfony\Componen
10d780 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
10d7a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
10d7c0 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d put\InputOption;.use.Symfony\Com
10d7e0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 4f 75 ponent\Console\Output\BufferedOu
10d800 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tput;.use.Symfony\Component\Cons
10d820 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a ole\Output\OutputInterface;.....
10d840 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 ..class.Command.{.private.$appli
10d860 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 cation;.private.$name;.private.$
10d880 70 72 6f 63 65 73 73 54 69 74 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 65 73 20 3d processTitle;.private.$aliases.=
10d8a0 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 .array();.private.$definition;.p
10d8c0 72 69 76 61 74 65 20 24 68 65 6c 70 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 rivate.$help;.private.$descripti
10d8e0 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 on;.private.$ignoreValidationErr
10d900 6f 72 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f ors.=.false;.private.$applicatio
10d920 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 nDefinitionMerged.=.false;.priva
10d940 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 te.$applicationDefinitionMergedW
10d960 69 74 68 41 72 67 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a ithArgs.=.false;.private.$code;.
10d980 70 72 69 76 61 74 65 20 24 73 79 6e 6f 70 73 69 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 private.$synopsis.=.array();.pri
10d9a0 76 61 74 65 20 24 75 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 vate.$usages.=.array();.private.
10d9c0 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $helperSet;.......public.functio
10d9e0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 n.__construct($name.=.null).{.$t
10da00 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e his->definition.=.new.InputDefin
10da20 69 74 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a ition();..if.(null.!==.$name).{.
10da40 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d $this->setName($name);.}..$this-
10da60 3e 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6e 61 6d 65 29 >configure();..if.(!$this->name)
10da80 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 .{.throw.new.LogicException(spri
10daa0 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 64 65 66 69 6e 65 64 20 69 6e 20 22 25 73 22 ntf('The.command.defined.in."%s"
10dac0 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 6e 20 65 6d 70 74 79 20 6e 61 6d 65 2e 27 2c 20 5c 67 .cannot.have.an.empty.name.',.\g
10dae0 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 et_class($this)));.}.}.......pub
10db00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 lic.function.ignoreValidationErr
10db20 6f 72 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 ors().{.$this->ignoreValidationE
10db40 72 72 6f 72 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rrors.=.true;.}..public.function
10db60 20 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 .setApplication(Application.$app
10db80 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 lication.=.null).{.$this->applic
10dba0 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 69 66 20 28 24 61 70 70 6c 69 ation.=.$application;.if.($appli
10dbc0 63 61 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 61 cation).{.$this->setHelperSet($a
10dbe0 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 29 3b 0a 7d 20 65 pplication->getHelperSet());.}.e
10dc00 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b 0a 7d lse.{.$this->helperSet.=.null;.}
10dc20 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 .}..public.function.setHelperSet
10dc40 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e (HelperSet.$helperSet).{.$this->
10dc60 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a helperSet.=.$helperSet;.}.......
10dc80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b public.function.getHelperSet().{
10dca0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a .return.$this->helperSet;.}.....
10dcc0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e ..public.function.getApplication
10dce0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a ().{.return.$this->application;.
10dd00 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 }..........public.function.isEna
10dd20 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 bled().{.return.true;.}.....prot
10dd40 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 7d 0a 0a ected.function.configure().{.}..
10dd60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ..............protected.function
10dd80 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 .execute(InputInterface.$input,.
10dda0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 74 68 72 6f 77 OutputInterface.$output).{.throw
10ddc0 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 6f 76 .new.LogicException('You.must.ov
10dde0 65 72 72 69 64 65 20 74 68 65 20 65 78 65 63 75 74 65 28 29 20 6d 65 74 68 6f 64 20 69 6e 20 74 erride.the.execute().method.in.t
10de00 68 65 20 63 6f 6e 63 72 65 74 65 20 63 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 2e 27 29 3b 0a 7d 0a he.concrete.command.class.');.}.
10de20 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 ........protected.function.inter
10de40 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 act(InputInterface.$input,.Outpu
10de60 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a tInterface.$output).{.}.........
10de80 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 ...protected.function.initialize
10dea0 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e (InputInterface.$input,.OutputIn
10dec0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a terface.$output).{.}............
10dee0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 ....public.function.run(InputInt
10df00 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
10df20 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 output).{...$this->getSynopsis(t
10df40 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 66 61 6c 73 65 29 3b rue);.$this->getSynopsis(false);
10df60 0a 0a 0a 20 24 74 68 69 73 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e ....$this->mergeApplicationDefin
10df80 69 74 69 6f 6e 28 29 3b 0a 0a 0a 20 74 72 79 20 7b 0a 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 ition();....try.{.$input->bind($
10dfa0 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 78 63 65 this->definition);.}.catch.(Exce
10dfc0 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d ptionInterface.$e).{.if.(!$this-
10dfe0 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 29 20 7b 0a 74 68 72 6f 77 >ignoreValidationErrors).{.throw
10e000 20 24 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 .$e;.}.}..$this->initialize($inp
10e020 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 ut,.$output);..if.(null.!==.$thi
10e040 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 20 7b 0a 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e s->processTitle).{.if.(\function
10e060 5f 65 78 69 73 74 73 28 27 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 27 29 _exists('cli_set_process_title')
10e080 29 20 7b 0a 69 66 20 28 21 40 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 28 ).{.if.(!@cli_set_process_title(
10e0a0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 29 20 7b 0a 69 66 20 28 27 44 61 72 $this->processTitle)).{.if.('Dar
10e0c0 77 69 6e 27 20 3d 3d 3d 20 50 48 50 5f 4f 53 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 win'.===.PHP_OS).{.$output->writ
10e0e0 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 52 75 6e 6e 69 6e 67 20 22 63 6c 69 5f 73 65 74 5f 70 eln('<comment>Running."cli_set_p
10e100 72 6f 63 65 73 73 5f 74 69 74 6c 65 22 20 61 73 20 61 6e 20 75 6e 70 72 69 76 69 6c 65 67 65 64 rocess_title".as.an.unprivileged
10e120 20 75 73 65 72 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 4d 61 63 4f 53 2e .user.is.not.supported.on.MacOS.
10e140 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 </comment>',.OutputInterface::VE
10e160 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a RBOSITY_VERY_VERBOSE);.}.else.{.
10e180 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 28 24 74 68 69 73 2d 3e 70 72 6f cli_set_process_title($this->pro
10e1a0 63 65 73 73 54 69 74 6c 65 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e 63 74 cessTitle);.}.}.}.elseif.(\funct
10e1c0 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 65 74 70 72 6f 63 74 69 74 6c 65 27 29 29 20 7b 0a 73 65 ion_exists('setproctitle')).{.se
10e1e0 74 70 72 6f 63 74 69 74 6c 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 3b tproctitle($this->processTitle);
10e200 0a 7d 20 65 6c 73 65 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 .}.elseif.(OutputInterface::VERB
10e220 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 3d 3d 20 24 6f 75 74 70 75 74 2d 3e OSITY_VERY_VERBOSE.===.$output->
10e240 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 getVerbosity()).{.$output->write
10e260 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 49 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 63 74 69 74 ln('<comment>Install.the.proctit
10e280 6c 65 20 50 45 43 4c 20 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 le.PECL.to.be.able.to.change.the
10e2a0 20 70 72 6f 63 65 73 73 20 74 69 74 6c 65 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d .process.title.</comment>');.}.}
10e2c0 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b ..if.($input->isInteractive()).{
10e2e0 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 .$this->interact($input,.$output
10e300 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 41 72 67 75 6d );.}........if.($input->hasArgum
10e320 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 ent('command').&&.null.===.$inpu
10e340 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 20 7b 0a 24 69 6e t->getArgument('command')).{.$in
10e360 70 75 74 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 24 74 68 69 put->setArgument('command',.$thi
10e380 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 2d 3e 76 61 6c 69 64 61 s->getName());.}..$input->valida
10e3a0 74 65 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 64 65 29 20 7b 0a 24 73 74 61 74 75 te();..if.($this->code).{.$statu
10e3c0 73 43 6f 64 65 20 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 63 sCode.=.\call_user_func($this->c
10e3e0 6f 64 65 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ode,.$input,.$output);.}.else.{.
10e400 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 69 6e $statusCode.=.$this->execute($in
10e420 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 put,.$output);.}..return.is_nume
10e440 72 69 63 28 24 73 74 61 74 75 73 43 6f 64 65 29 20 3f 20 28 69 6e 74 29 20 24 73 74 61 74 75 73 ric($statusCode).?.(int).$status
10e460 43 6f 64 65 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 Code.:.0;.}................publi
10e480 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 69 66 20 28 c.function.setCode($code).{.if.(
10e4a0 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 6f 64 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 !\is_callable($code)).{.throw.ne
10e4c0 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 w.InvalidArgumentException('Inva
10e4e0 6c 69 64 20 63 61 6c 6c 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 43 6f 6d 6d 61 6e 64 lid.callable.provided.to.Command
10e500 3a 3a 73 65 74 43 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f ::setCode.');.}..if.(\PHP_VERSIO
10e520 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 26 26 20 24 63 6f 64 65 20 69 6e 73 74 61 6e 63 65 6f N_ID.>=.50400.&&.$code.instanceo
10e540 66 20 5c 43 6c 6f 73 75 72 65 29 20 7b 0a 24 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 f.\Closure).{.$r.=.new.\Reflecti
10e560 6f 6e 46 75 6e 63 74 69 6f 6e 28 24 63 6f 64 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 onFunction($code);.if.(null.===.
10e580 24 72 2d 3e 67 65 74 43 6c 6f 73 75 72 65 54 68 69 73 28 29 29 20 7b 0a 69 66 20 28 5c 50 48 50 $r->getClosureThis()).{.if.(\PHP
10e5a0 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 30 30 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 _VERSION_ID.<.70000).{.........$
10e5c0 63 6f 64 65 20 3d 20 40 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 24 63 6f 64 65 2c 20 24 74 code.=.@\Closure::bind($code,.$t
10e5e0 68 69 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 64 65 20 3d 20 5c 43 6c 6f 73 75 72 65 3a his);.}.else.{.$code.=.\Closure:
10e600 3a 62 69 6e 64 28 24 63 6f 64 65 2c 20 24 74 68 69 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 :bind($code,.$this);.}.}.}..$thi
10e620 73 2d 3e 63 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a s->code.=.$code;..return.$this;.
10e640 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 41 }.........public.function.mergeA
10e660 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 65 72 67 65 41 72 67 73 20 pplicationDefinition($mergeArgs.
10e680 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 =.true).{.if.(null.===.$this->ap
10e6a0 70 6c 69 63 61 74 69 6f 6e 20 7c 7c 20 28 74 72 75 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 plication.||.(true.===.$this->ap
10e6c0 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 26 26 20 28 24 74 plicationDefinitionMerged.&&.($t
10e6e0 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 his->applicationDefinitionMerged
10e700 57 69 74 68 41 72 67 73 20 7c 7c 20 21 24 6d 65 72 67 65 41 72 67 73 29 29 29 20 7b 0a 72 65 74 WithArgs.||.!$mergeArgs))).{.ret
10e720 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 urn;.}..$this->definition->addOp
10e740 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 tions($this->application->getDef
10e760 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 0a 24 74 68 69 73 inition()->getOptions());..$this
10e780 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 ->applicationDefinitionMerged.=.
10e7a0 74 72 75 65 3b 0a 0a 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 29 20 7b 0a 24 63 75 72 72 65 6e true;..if.($mergeArgs).{.$curren
10e7c0 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e tArguments.=.$this->definition->
10e7e0 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f getArguments();.$this->definitio
10e800 6e 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 n->setArguments($this->applicati
10e820 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 on->getDefinition()->getArgument
10e840 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 41 72 67 75 s());.$this->definition->addArgu
10e860 6d 65 6e 74 73 28 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 73 29 3b 0a 0a 24 74 68 69 73 ments($currentArguments);..$this
10e880 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 ->applicationDefinitionMergedWit
10e8a0 68 41 72 67 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 hArgs.=.true;.}.}.........public
10e8c0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 .function.setDefinition($definit
10e8e0 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f ion).{.if.($definition.instanceo
10e900 66 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 f.InputDefinition).{.$this->defi
10e920 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 nition.=.$definition;.}.else.{.$
10e940 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 this->definition->setDefinition(
10e960 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 $definition);.}..$this->applicat
10e980 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 ionDefinitionMerged.=.false;..re
10e9a0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
10e9c0 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ion.getDefinition().{.return.$th
10e9e0 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 is->definition;.}............pub
10ea00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e lic.function.getNativeDefinition
10ea20 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e ().{.return.$this->getDefinition
10ea40 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ();.}..............public.functi
10ea60 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 on.addArgument($name,.$mode.=.nu
10ea80 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 ll,.$description.=.'',.$default.
10eaa0 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 =.null).{.$this->definition->add
10eac0 41 72 67 75 6d 65 6e 74 28 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 Argument(new.InputArgument($name
10eae0 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 ,.$mode,.$description,.$default)
10eb00 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a );..return.$this;.}.............
10eb20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 24 6e 61 6d ..public.function.addOption($nam
10eb40 65 2c 20 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c e,.$shortcut.=.null,.$mode.=.nul
10eb60 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 3d l,.$description.=.'',.$default.=
10eb80 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f .null).{.$this->definition->addO
10eba0 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 73 68 ption(new.InputOption($name,.$sh
10ebc0 6f 72 74 63 75 74 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 ortcut,.$mode,.$description,.$de
10ebe0 66 61 75 6c 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a fault));..return.$this;.}.......
10ec00 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 .........public.function.setName
10ec20 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 6e ($name).{.$this->validateName($n
10ec40 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 0a 72 65 74 ame);..$this->name.=.$name;..ret
10ec60 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this;.}..............public
10ec80 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 63 65 73 73 54 69 74 6c 65 28 24 74 69 74 6c 65 .function.setProcessTitle($title
10eca0 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 20 3d 20 24 74 69 74 6c 65 ).{.$this->processTitle.=.$title
10ecc0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
10ece0 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 function.getName().{.return.$thi
10ed00 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s->name;.}.........public.functi
10ed20 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 0a on.setDescription($description).
10ed40 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 {.$this->description.=.$descript
10ed60 69 6f 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ion;..return.$this;.}.......publ
10ed80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 ic.function.getDescription().{.r
10eda0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a eturn.$this->description;.}.....
10edc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 28 24 68 65 6c ....public.function.setHelp($hel
10ede0 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 20 3d 20 24 68 65 6c 70 3b 0a 0a 72 65 74 75 72 p).{.$this->help.=.$help;..retur
10ee00 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e n.$this;.}.......public.function
10ee20 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 3b .getHelp().{.return.$this->help;
10ee40 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f .}........public.function.getPro
10ee60 63 65 73 73 65 64 48 65 6c 70 28 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6e 61 cessedHelp().{.$name.=.$this->na
10ee80 6d 65 3b 0a 0a 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 3d 20 61 72 72 61 79 28 0a 27 25 63 6f me;..$placeholders.=.array(.'%co
10eea0 6d 6d 61 6e 64 2e 6e 61 6d 65 25 27 2c 0a 27 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d mmand.name%',.'%command.full_nam
10eec0 65 25 27 2c 0a 29 3b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 24 e%',.);.$replacements.=.array(.$
10eee0 6e 61 6d 65 2c 0a 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 2e 27 20 27 2e 24 name,.$_SERVER['PHP_SELF'].'.'.$
10ef00 6e 61 6d 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 70 6c name,.);..return.str_replace($pl
10ef20 61 63 65 68 6f 6c 64 65 72 73 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 24 74 68 69 73 aceholders,.$replacements,.$this
10ef40 2d 3e 67 65 74 48 65 6c 70 28 29 20 3f 3a 20 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 ->getHelp().?:.$this->getDescrip
10ef60 74 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 tion());.}...........public.func
10ef80 74 69 6f 6e 20 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 0a 7b 0a 69 66 20 28 tion.setAliases($aliases).{.if.(
10efa0 21 5c 69 73 5f 61 72 72 61 79 28 24 61 6c 69 61 73 65 73 29 20 26 26 20 21 24 61 6c 69 61 73 65 !\is_array($aliases).&&.!$aliase
10efc0 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 74 68 72 s.instanceof.\Traversable).{.thr
10efe0 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 ow.new.InvalidArgumentException(
10f000 27 24 61 6c 69 61 73 65 73 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 61 6e '$aliases.must.be.an.array.or.an
10f020 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 27 29 3b 0a 7d 0a 0a .instance.of.\Traversable');.}..
10f040 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 foreach.($aliases.as.$alias).{.$
10f060 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 61 6c 69 61 73 29 3b 0a 7d 0a 0a 24 this->validateName($alias);.}..$
10f080 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 0a 72 65 74 75 72 this->aliases.=.$aliases;..retur
10f0a0 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e n.$this;.}.......public.function
10f0c0 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c .getAliases().{.return.$this->al
10f0e0 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e iases;.}.........public.function
10f100 20 67 65 74 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 .getSynopsis($short.=.false).{.$
10f120 6b 65 79 20 3d 20 24 73 68 6f 72 74 20 3f 20 27 73 68 6f 72 74 27 20 3a 20 27 6c 6f 6e 67 27 3b key.=.$short.?.'short'.:.'long';
10f140 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 ..if.(!isset($this->synopsis[$ke
10f160 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 20 3d 20 74 y])).{.$this->synopsis[$key].=.t
10f180 72 69 6d 28 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 rim(sprintf('%s.%s',.$this->name
10f1a0 2c 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 ,.$this->definition->getSynopsis
10f1c0 28 24 73 68 6f 72 74 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 79 6e ($short)));.}..return.$this->syn
10f1e0 6f 70 73 69 73 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 opsis[$key];.}.........public.fu
10f200 6e 63 74 69 6f 6e 20 61 64 64 55 73 61 67 65 28 24 75 73 61 67 65 29 0a 7b 0a 69 66 20 28 30 20 nction.addUsage($usage).{.if.(0.
10f220 21 3d 3d 20 73 74 72 70 6f 73 28 24 75 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 29 29 !==.strpos($usage,.$this->name))
10f240 20 7b 0a 24 75 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 27 2c 20 24 74 68 .{.$usage.=.sprintf('%s.%s',.$th
10f260 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 73 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 73 61 is->name,.$usage);.}..$this->usa
10f280 67 65 73 5b 5d 20 3d 20 24 75 73 61 67 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ges[].=.$usage;..return.$this;.}
10f2a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 61 67 65 73 .......public.function.getUsages
10f2c0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 61 67 65 73 3b 0a 7d 0a 0a 0a 0a ().{.return.$this->usages;.}....
10f2e0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 ........public.function.getHelpe
10f300 72 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 r($name).{.if.(null.===.$this->h
10f320 65 6c 70 65 72 53 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 elperSet).{.throw.new.LogicExcep
10f340 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 72 65 74 72 69 65 76 65 20 68 65 tion(sprintf('Cannot.retrieve.he
10f360 6c 70 65 72 20 22 25 73 22 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 48 65 lper."%s".because.there.is.no.He
10f380 6c 70 65 72 53 65 74 20 64 65 66 69 6e 65 64 2e 20 44 69 64 20 79 6f 75 20 66 6f 72 67 65 74 20 lperSet.defined..Did.you.forget.
10f3a0 74 6f 20 61 64 64 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 61 70 70 6c 69 to.add.your.command.to.the.appli
10f3c0 63 61 74 69 6f 6e 20 6f 72 20 74 6f 20 73 65 74 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e cation.or.to.set.the.application
10f3e0 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e 67 20 74 68 65 20 73 65 74 41 70 70 .on.the.command.using.the.setApp
10f400 6c 69 63 61 74 69 6f 6e 28 29 20 6d 65 74 68 6f 64 3f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 lication().method?.You.can.also.
10f420 73 65 74 20 74 68 65 20 48 65 6c 70 65 72 53 65 74 20 64 69 72 65 63 74 6c 79 20 75 73 69 6e 67 set.the.HelperSet.directly.using
10f440 20 74 68 65 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 6d 65 74 68 6f 64 2e 27 2c 20 24 6e .the.setHelperSet().method.',.$n
10f460 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 ame));.}..return.$this->helperSe
10f480 74 2d 3e 67 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 t->get($name);.}.........public.
10f4a0 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 function.asText().{.@trigger_err
10f4c0 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 or('The.'.__METHOD__.'.method.is
10f4e0 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e .deprecated.since.Symfony.2.3.an
10f500 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 d.will.be.removed.in.3.0.',.E_US
10f520 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e ER_DEPRECATED);..$descriptor.=.n
10f540 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6e ew.TextDescriptor();.$output.=.n
10f560 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 ew.BufferedOutput(BufferedOutput
10f580 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 74 72 75 65 29 3b 0a 24 64 65 73 63 ::VERBOSITY_NORMAL,.true);.$desc
10f5a0 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c riptor->describe($output,.$this,
10f5c0 20 61 72 72 61 79 28 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 0a .array('raw_output'.=>.true));..
10f5e0 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a return.$output->fetch();.}......
10f600 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 61 73 44 6f .....public.function.asXml($asDo
10f620 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 m.=.false).{.@trigger_error('The
10f640 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 .'.__METHOD__.'.method.is.deprec
10f660 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.3.and.will.
10f680 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 be.removed.in.3.0.',.E_USER_DEPR
10f6a0 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 ECATED);..$descriptor.=.new.XmlD
10f6c0 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 74 75 escriptor();..if.($asDom).{.retu
10f6e0 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 rn.$descriptor->getCommandDocume
10f700 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 nt($this);.}..$output.=.new.Buff
10f720 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 eredOutput();.$descriptor->descr
10f740 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 ibe($output,.$this);..return.$ou
10f760 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 tput->fetch();.}...........priva
10f780 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 6e 61 6d 65 29 0a te.function.validateName($name).
10f7a0 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 5e 5c 3a 5d 2b 2b 28 5c 3a 5b {.if.(!preg_match('/^[^\:]++(\:[
10f7c0 5e 5c 3a 5d 2b 2b 29 2a 24 2f 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ^\:]++)*$/',.$name)).{.throw.new
10f7e0 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
10f800 66 28 27 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 2e f('Command.name."%s".is.invalid.
10f820 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ',.$name));.}.}.}.<?php.........
10f840 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
10f860 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 nsole\Command;..use.Symfony\Comp
10f880 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 74 6f 72 48 onent\Console\Helper\DescriptorH
10f8a0 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e elper;.use.Symfony\Component\Con
10f8c0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 sole\Input\InputArgument;.use.Sy
10f8e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
10f900 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
10f920 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 ent\Console\Input\InputOption;.u
10f940 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
10f960 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 put\OutputInterface;.......class
10f980 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 .HelpCommand.extends.Command.{.p
10f9a0 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 rivate.$command;.....protected.f
10f9c0 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e unction.configure().{.$this->ign
10f9e0 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e oreValidationErrors();..$this.->
10fa00 73 65 74 4e 61 6d 65 28 27 68 65 6c 70 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 setName('help').->setDefinition(
10fa20 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e array(.new.InputArgument('comman
10fa40 64 5f 6e 61 6d 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c d_name',.InputArgument::OPTIONAL
10fa60 2c 20 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 27 2c 20 27 68 65 6c 70 27 29 2c 0a 6e ,.'The.command.name',.'help'),.n
10fa80 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 ew.InputOption('xml',.null,.Inpu
10faa0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 tOption::VALUE_NONE,.'To.output.
10fac0 68 65 6c 70 20 61 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 help.as.XML'),.new.InputOption('
10fae0 66 6f 72 6d 61 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 format',.null,.InputOption::VALU
10fb00 45 5f 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 20 28 E_REQUIRED,.'The.output.format.(
10fb20 74 78 74 2c 20 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 29 2c txt,.xml,.json,.or.md)',.'txt'),
10fb40 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e .new.InputOption('raw',.null,.In
10fb60 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 putOption::VALUE_NONE,.'To.outpu
10fb80 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 44 65 t.raw.command.help'),.)).->setDe
10fba0 73 63 72 69 70 74 69 6f 6e 28 27 44 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 20 61 20 63 scription('Displays.help.for.a.c
10fbc0 6f 6d 6d 61 6e 64 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 27 45 4f 46 27 0a 54 68 65 20 ommand').->setHelp(<<<'EOF'.The.
10fbe0 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d <info>%command.name%</info>.comm
10fc00 61 6e 64 20 64 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 20 61 20 67 69 76 65 6e 20 63 6f and.displays.help.for.a.given.co
10fc20 6d 6d 61 6e 64 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c mmand:....<info>php.%command.ful
10fc40 6c 5f 6e 61 6d 65 25 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 l_name%.list</info>..You.can.als
10fc60 6f 20 6f 75 74 70 75 74 20 74 68 65 20 68 65 6c 70 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 6d 61 o.output.the.help.in.other.forma
10fc80 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d 6d 65 6e 74 3e 2d 2d 66 6f 72 6d 61 ts.by.using.the.<comment>--forma
10fca0 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 t</comment>.option:....<info>php
10fcc0 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 66 6f 72 6d 61 74 3d 78 6d .%command.full_name%.--format=xm
10fce0 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 6c 69 l.list</info>..To.display.the.li
10fd00 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2c 20 70 6c 65 61 73 65 st.of.available.commands,.please
10fd20 20 75 73 65 20 74 68 65 20 3c 69 6e 66 6f 3e 6c 69 73 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 .use.the.<info>list</info>.comma
10fd40 6e 64 2e 0a 45 4f 46 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 nd..EOF.).;.}..public.function.s
10fd60 65 74 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 etCommand(Command.$command).{.$t
10fd80 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 70 his->command.=.$command;.}.....p
10fda0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 rotected.function.execute(InputI
10fdc0 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 nterface.$input,.OutputInterface
10fde0 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e .$output).{.if.(null.===.$this->
10fe00 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 command).{.$this->command.=.$thi
10fe20 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 24 69 6e 70 75 74 s->getApplication()->find($input
10fe40 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 29 29 3b 0a ->getArgument('command_name'));.
10fe60 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 29 29 }..if.($input->getOption('xml'))
10fe80 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 2d 2d 78 6d 6c 20 6f 70 74 .{.@trigger_error('The.--xml.opt
10fea0 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 32 2e ion.was.deprecated.in.version.2.
10fec0 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 7.and.will.be.removed.in.version
10fee0 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d 61 74 20 6f 70 74 69 6f 6e 20 69 6e .3.0..Use.the.--format.option.in
10ff00 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 69 stead.',.E_USER_DEPRECATED);..$i
10ff20 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 78 6d 6c 27 29 nput->setOption('format',.'xml')
10ff40 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 65 73 63 72 69 70 74 6f 72 48 65 6c ;.}..$helper.=.new.DescriptorHel
10ff60 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 per();.$helper->describe($output
10ff80 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 28 0a 27 66 6f 72 6d 61 74 ,.$this->command,.array(.'format
10ffa0 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 '.=>.$input->getOption('format')
10ffc0 2c 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ,.'raw_text'.=>.$input->getOptio
10ffe0 6e 28 27 72 61 77 27 29 2c 0a 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 n('raw'),.));..$this->command.=.
110000 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 null;.}.}.<?php...........namesp
110020 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f ace.Symfony\Component\Console\Co
110040 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f mmand;..use.Symfony\Component\Co
110060 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 3b 0a 75 nsole\Helper\DescriptorHelper;.u
110080 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
1100a0 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ut\InputArgument;.use.Symfony\Co
1100c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e mponent\Console\Input\InputDefin
1100e0 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ition;.use.Symfony\Component\Con
110100 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
110120 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
110140 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e nputOption;.use.Symfony\Componen
110160 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 t\Console\Output\OutputInterface
110180 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 ;.......class.ListCommand.extend
1101a0 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f s.Command.{....protected.functio
1101c0 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 n.configure().{.$this.->setName(
1101e0 27 6c 69 73 74 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 'list').->setDefinition($this->c
110200 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 reateDefinition()).->setDescript
110220 69 6f 6e 28 27 4c 69 73 74 73 20 63 6f 6d 6d 61 6e 64 73 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 ion('Lists.commands').->setHelp(
110240 3c 3c 3c 27 45 4f 46 27 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 <<<'EOF'.The.<info>%command.name
110260 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 73 20 61 6c 6c 20 63 6f 6d 6d 61 %</info>.command.lists.all.comma
110280 6e 64 73 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f nds:....<info>php.%command.full_
1102a0 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 64 69 73 70 6c name%</info>..You.can.also.displ
1102c0 61 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 6e ay.the.commands.for.a.specific.n
1102e0 61 6d 65 73 70 61 63 65 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e amespace:....<info>php.%command.
110300 66 75 6c 6c 5f 6e 61 6d 65 25 20 74 65 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 full_name%.test</info>..You.can.
110320 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 6f also.output.the.information.in.o
110340 74 68 65 72 20 66 6f 72 6d 61 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d 6d 65 ther.formats.by.using.the.<comme
110360 6e 74 3e 2d 2d 66 6f 72 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a 0a 20 nt>--format</comment>.option:...
110380 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d .<info>php.%command.full_name%.-
1103a0 2d 66 6f 72 6d 61 74 3d 78 6d 6c 3c 2f 69 6e 66 6f 3e 0a 0a 49 74 27 73 20 61 6c 73 6f 20 70 6f -format=xml</info>..It's.also.po
1103c0 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 72 61 77 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e ssible.to.get.raw.list.of.comman
1103e0 64 73 20 28 75 73 65 66 75 6c 20 66 6f 72 20 65 6d 62 65 64 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 ds.(useful.for.embedding.command
110400 20 72 75 6e 6e 65 72 29 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e .runner):....<info>php.%command.
110420 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 72 61 77 3c 2f 69 6e 66 6f 3e 0a 45 4f 46 0a 29 0a 3b 0a full_name%.--raw</info>.EOF.).;.
110440 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 74 69 76 65 44 }.....public.function.getNativeD
110460 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 65 61 efinition().{.return.$this->crea
110480 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 teDefinition();.}.....protected.
1104a0 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 function.execute(InputInterface.
1104c0 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 $input,.OutputInterface.$output)
1104e0 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 29 29 .{.if.($input->getOption('xml'))
110500 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 2d 2d 78 6d 6c 20 6f 70 74 .{.@trigger_error('The.--xml.opt
110520 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 32 2e ion.was.deprecated.in.version.2.
110540 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 7.and.will.be.removed.in.version
110560 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d 61 74 20 6f 70 74 69 6f 6e 20 69 6e .3.0..Use.the.--format.option.in
110580 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 69 stead.',.E_USER_DEPRECATED);..$i
1105a0 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 78 6d 6c 27 29 nput->setOption('format',.'xml')
1105c0 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 65 73 63 72 69 70 74 6f 72 48 65 6c ;.}..$helper.=.new.DescriptorHel
1105e0 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 per();.$helper->describe($output
110600 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2c 20 61 72 72 61 79 ,.$this->getApplication(),.array
110620 28 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 (.'format'.=>.$input->getOption(
110640 27 66 6f 72 6d 61 74 27 29 2c 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 'format'),.'raw_text'.=>.$input-
110660 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 27 6e 61 6d 65 73 70 61 63 65 27 20 3d >getOption('raw'),.'namespace'.=
110680 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 >.$input->getArgument('namespace
1106a0 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 '),.));.}.....private.function.c
1106c0 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 reateDefinition().{.return.new.I
1106e0 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 nputDefinition(array(.new.InputA
110700 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 rgument('namespace',.InputArgume
110720 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6e 61 6d nt::OPTIONAL,.'The.namespace.nam
110740 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 2c 20 6e 75 6c 6c e'),.new.InputOption('xml',.null
110760 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f ,.InputOption::VALUE_NONE,.'To.o
110780 75 74 70 75 74 20 6c 69 73 74 20 61 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 utput.list.as.XML'),.new.InputOp
1107a0 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('raw',.null,.InputOption::V
1107c0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e ALUE_NONE,.'To.output.raw.comman
1107e0 64 20 6c 69 73 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 d.list'),.new.InputOption('forma
110800 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 t',.null,.InputOption::VALUE_REQ
110820 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 20 28 74 78 74 2c 20 UIRED,.'The.output.format.(txt,.
110840 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 29 2c 0a 29 29 3b 0a xml,.json,.or.md)',.'txt'),.));.
110860 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
110880 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 66 mfony\Component\Console;.......f
1108a0 69 6e 61 6c 20 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a inal.class.ConsoleEvents.{......
1108c0 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 63 6f .....const.COMMAND.=.'console.co
1108e0 6d 6d 61 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 54 45 52 4d 49 4e 41 54 mmand';...........const.TERMINAT
110900 45 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 74 65 72 6d 69 6e 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a E.=.'console.terminate';........
110920 0a 0a 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 65 ....const.EXCEPTION.=.'console.e
110940 78 63 65 70 74 69 6f 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d xception';.}.<?php...........nam
110960 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 espace.Symfony\Component\Console
110980 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e \Descriptor;..use.Symfony\Compon
1109a0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d ent\Console\Application;.use.Sym
1109c0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 fony\Component\Console\Command\C
1109e0 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ommand;.use.Symfony\Component\Co
110a00 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 nsole\Exception\CommandNotFoundE
110a20 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f xception;.......class.Applicatio
110a40 6e 44 65 73 63 72 69 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 47 4c 4f 42 41 4c 5f 4e 41 4d 45 nDescription.{.const.GLOBAL_NAME
110a60 53 50 41 43 45 20 3d 20 27 5f 67 6c 6f 62 61 6c 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 61 70 70 SPACE.=.'_global';..private.$app
110a80 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 0a 0a lication;.private.$namespace;...
110aa0 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 ..private.$namespaces;.....priva
110ac0 74 65 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 te.$commands;.....private.$alias
110ae0 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 es;..public.function.__construct
110b00 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 (Application.$application,.$name
110b20 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 space.=.null).{.$this->applicati
110b40 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 on.=.$application;.$this->namesp
110b60 61 63 65 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ace.=.$namespace;.}.....public.f
110b80 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 unction.getNamespaces().{.if.(nu
110ba0 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 29 20 7b 0a 24 74 68 69 ll.===.$this->namespaces).{.$thi
110bc0 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 s->inspectApplication();.}..retu
110be0 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c rn.$this->namespaces;.}.....publ
110c00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 69 66 20 28 ic.function.getCommands().{.if.(
110c20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 20 7b 0a 24 74 68 69 null.===.$this->commands).{.$thi
110c40 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 s->inspectApplication();.}..retu
110c60 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 rn.$this->commands;.}.........pu
110c80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 0a blic.function.getCommand($name).
110ca0 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 {.if.(!isset($this->commands[$na
110cc0 6d 65 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e me]).&&.!isset($this->aliases[$n
110ce0 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 ame])).{.throw.new.CommandNotFou
110d00 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 25 73 20 ndException(sprintf('Command.%s.
110d20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 does.not.exist.',.$name));.}..re
110d40 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 turn.isset($this->commands[$name
110d60 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 ]).?.$this->commands[$name].:.$t
110d80 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 his->aliases[$name];.}..private.
110da0 66 75 6e 63 74 69 6f 6e 20 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a 7b 0a function.inspectApplication().{.
110dc0 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 $this->commands.=.array();.$this
110de0 2d 3e 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 61 6c 6c 20 3d 20 ->namespaces.=.array();..$all.=.
110e00 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 6c 6c 28 24 74 68 69 73 2d 3e 6e $this->application->all($this->n
110e20 61 6d 65 73 70 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 amespace.?.$this->application->f
110e40 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 29 20 3a indNamespace($this->namespace).:
110e60 20 6e 75 6c 6c 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 43 6f 6d 6d .null);.foreach.($this->sortComm
110e80 61 6e 64 73 28 24 61 6c 6c 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 63 6f 6d ands($all).as.$namespace.=>.$com
110ea0 6d 61 6e 64 73 29 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 66 6f 72 mands).{.$names.=.array();...for
110ec0 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d each.($commands.as.$name.=>.$com
110ee0 6d 61 6e 64 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 mand).{.if.(!$command->getName()
110f00 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 ).{.continue;.}..if.($command->g
110f20 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d etName().===.$name).{.$this->com
110f40 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 20 65 6c 73 65 20 mands[$name].=.$command;.}.else.
110f60 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 {.$this->aliases[$name].=.$comma
110f80 6e 64 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 24 74 68 69 nd;.}..$names[].=.$name;.}..$thi
110fa0 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 5b 24 6e 61 6d 65 73 70 61 63 65 5d 20 3d 20 61 72 72 61 s->namespaces[$namespace].=.arra
110fc0 79 28 27 69 64 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 63 6f 6d 6d 61 6e 64 73 27 y('id'.=>.$namespace,.'commands'
110fe0 20 3d 3e 20 24 6e 61 6d 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e .=>.$names);.}.}.....private.fun
111000 63 74 69 6f 6e 20 73 6f 72 74 43 6f 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e ction.sortCommands(array.$comman
111020 64 73 29 0a 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 ds).{.$namespacedCommands.=.arra
111040 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a y();.$globalCommands.=.array();.
111060 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 foreach.($commands.as.$name.=>.$
111080 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 command).{.$key.=.$this->applica
1110a0 74 69 6f 6e 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 31 29 tion->extractNamespace($name,.1)
1110c0 3b 0a 69 66 20 28 21 24 6b 65 79 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 5b 27 ;.if.(!$key).{.$globalCommands['
1110e0 5f 67 6c 6f 62 61 6c 27 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 20 65 _global'][$name].=.$command;.}.e
111100 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 5b 24 6b 65 79 5d 5b lse.{.$namespacedCommands[$key][
111120 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 6e 61 $name].=.$command;.}.}.ksort($na
111140 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f mespacedCommands);.$namespacedCo
111160 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 67 6c 6f 62 61 6c 43 6f 6d 6d mmands.=.array_merge($globalComm
111180 61 6e 64 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 66 6f 72 ands,.$namespacedCommands);..for
1111a0 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 61 73 20 26 24 63 each.($namespacedCommands.as.&$c
1111c0 6f 6d 6d 61 6e 64 73 53 65 74 29 20 7b 0a 6b 73 6f 72 74 28 24 63 6f 6d 6d 61 6e 64 73 53 65 74 ommandsSet).{.ksort($commandsSet
1111e0 29 3b 0a 7d 0a 0a 20 75 6e 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 3b 0a 0a 72 65 74 );.}...unset($commandsSet);..ret
111200 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 7d 0a 3c 3f 70 urn.$namespacedCommands;.}.}.<?p
111220 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
111240 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 omponent\Console\Descriptor;..us
111260 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c e.Symfony\Component\Console\Appl
111280 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ication;.use.Symfony\Component\C
1112a0 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 onsole\Command\Command;.use.Symf
1112c0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c ony\Component\Console\Exception\
1112e0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 InvalidArgumentException;.use.Sy
111300 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
111320 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 putArgument;.use.Symfony\Compone
111340 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e nt\Console\Input\InputDefinition
111360 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
111380 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Input\InputOption;.use.Symfony\C
1113a0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
1113c0 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 44 65 terface;.......abstract.class.De
1113e0 73 63 72 69 70 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 65 73 63 72 69 70 74 6f 72 49 6e scriptor.implements.DescriptorIn
111400 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a terface.{....private.$output;...
111420 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 ..public.function.describe(Outpu
111440 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 tInterface.$output,.$object,.arr
111460 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e ay.$options.=.array()).{.$this->
111480 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 73 77 69 74 63 68 20 28 74 72 75 65 29 output.=.$output;..switch.(true)
1114a0 20 7b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 .{.case.$object.instanceof.Input
1114c0 41 72 67 75 6d 65 6e 74 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 Argument:.$this->describeInputAr
1114e0 67 75 6d 65 6e 74 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b gument($object,.$options);.break
111500 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 4f ;.case.$object.instanceof.InputO
111520 70 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f ption:.$this->describeInputOptio
111540 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 n($object,.$options);.break;.cas
111560 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 44 65 66 69 6e 69 e.$object.instanceof.InputDefini
111580 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 tion:.$this->describeInputDefini
1115a0 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a tion($object,.$options);.break;.
1115c0 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 3a case.$object.instanceof.Command:
1115e0 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 24 6f 62 6a 65 63 74 2c .$this->describeCommand($object,
111600 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 .$options);.break;.case.$object.
111620 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 instanceof.Application:.$this->d
111640 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 escribeApplication($object,.$opt
111660 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 ions);.break;.default:.throw.new
111680 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
1116a0 66 28 27 4f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 f('Object.of.type."%s".is.not.de
1116c0 73 63 72 69 62 61 62 6c 65 2e 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 6f 62 6a 65 63 74 29 scribable.',.\get_class($object)
1116e0 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ));.}.}........protected.functio
111700 6e 20 77 72 69 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 66 n.write($content,.$decorated.=.f
111720 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 6f alse).{.$this->output->write($co
111740 6e 74 65 6e 74 2c 20 66 61 6c 73 65 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3f 20 4f 75 74 70 75 ntent,.false,.$decorated.?.Outpu
111760 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3a 20 4f 75 74 70 tInterface::OUTPUT_NORMAL.:.Outp
111780 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 29 3b 0a 7d 0a 0a 0a 0a 0a utInterface::OUTPUT_RAW);.}.....
1117a0 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 ..abstract.protected.function.de
1117c0 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e scribeInputArgument(InputArgumen
1117e0 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 t.$argument,.array.$options.=.ar
111800 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 ray());.......abstract.protected
111820 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e .function.describeInputOption(In
111840 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e putOption.$option,.array.$option
111860 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f s.=.array());.......abstract.pro
111880 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 tected.function.describeInputDef
1118a0 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 inition(InputDefinition.$definit
1118c0 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a ion,.array.$options.=.array());.
1118e0 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ......abstract.protected.functio
111900 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 n.describeCommand(Command.$comma
111920 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a nd,.array.$options.=.array());..
111940 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .....abstract.protected.function
111960 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e .describeApplication(Application
111980 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 .$application,.array.$options.=.
1119a0 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 array());.}.<?php...........name
1119c0 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
1119e0 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 Descriptor;..use.Symfony\Compone
111a00 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 nt\Console\Output\OutputInterfac
111a20 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 e;.......interface.DescriptorInt
111a40 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 erface.{........public.function.
111a60 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 describe(OutputInterface.$output
111a80 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 ,.$object,.array.$options.=.arra
111aa0 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 y());.}.<?php...........namespac
111ac0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 e.Symfony\Component\Console\Desc
111ae0 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 riptor;..use.Symfony\Component\C
111b00 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c onsole\Application;.use.Symfony\
111b20 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e Component\Console\Command\Comman
111b40 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 d;.use.Symfony\Component\Console
111b60 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e \Input\InputArgument;.use.Symfon
111b80 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 y\Component\Console\Input\InputD
111ba0 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 efinition;.use.Symfony\Component
111bc0 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a \Console\Input\InputOption;.....
111be0 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 ....class.JsonDescriptor.extends
111c00 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .Descriptor.{....protected.funct
111c20 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 ion.describeInputArgument(InputA
111c40 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e rgument.$argument,.array.$option
111c60 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 s.=.array()).{.$this->writeData(
111c80 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 24 61 72 67 $this->getInputArgumentData($arg
111ca0 75 6d 65 6e 74 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ument),.$options);.}.....protect
111cc0 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 ed.function.describeInputOption(
111ce0 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 InputOption.$option,.array.$opti
111d00 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 ons.=.array()).{.$this->writeDat
111d20 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 24 6f 70 74 a($this->getInputOptionData($opt
111d40 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ion),.$options);.}.....protected
111d60 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f .function.describeInputDefinitio
111d80 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 n(InputDefinition.$definition,.a
111da0 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 rray.$options.=.array()).{.$this
111dc0 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e ->writeData($this->getInputDefin
111de0 69 74 69 6f 6e 44 61 74 61 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 itionData($definition),.$options
111e00 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 );.}.....protected.function.desc
111e20 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 ribeCommand(Command.$command,.ar
111e40 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d ray.$options.=.array()).{.$this-
111e60 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 >writeData($this->getCommandData
111e80 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f ($command),.$options);.}.....pro
111ea0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 tected.function.describeApplicat
111ec0 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 ion(Application.$application,.ar
111ee0 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 73 63 72 ray.$options.=.array()).{.$descr
111f00 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 ibedNamespace.=.isset($options['
111f20 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 namespace']).?.$options['namespa
111f40 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 ce'].:.null;.$description.=.new.
111f60 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 ApplicationDescription($applicat
111f80 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 24 63 6f 6d 6d ion,.$describedNamespace);.$comm
111fa0 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 ands.=.array();..foreach.($descr
111fc0 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e iption->getCommands().as.$comman
111fe0 64 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d d).{.$commands[].=.$this->getCom
112000 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 mandData($command);.}..$data.=.$
112020 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 0a 3f 20 61 72 72 61 79 28 27 63 6f 6d 6d describedNamespace.?.array('comm
112040 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 27 20 ands'.=>.$commands,.'namespace'.
112060 3d 3e 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 0a 3a 20 61 72 72 61 79 28 =>.$describedNamespace).:.array(
112080 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 'commands'.=>.$commands,.'namesp
1120a0 61 63 65 73 27 20 3d 3e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 64 65 73 63 72 69 70 74 69 aces'.=>.array_values($descripti
1120c0 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 on->getNamespaces()));..$this->w
1120e0 72 69 74 65 44 61 74 61 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a riteData($data,.$options);.}....
112100 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 44 61 74 61 28 61 72 ...private.function.writeData(ar
112120 72 61 79 20 24 64 61 74 61 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 ray.$data,.array.$options).{.$th
112140 69 73 2d 3e 77 72 69 74 65 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 69 73 73 is->write(json_encode($data,.iss
112160 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e 63 6f 64 69 6e 67 27 5d 29 20 3f 20 et($options['json_encoding']).?.
112180 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e 63 6f 64 69 6e 67 27 5d 20 3a 20 30 29 29 3b $options['json_encoding'].:.0));
1121a0 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 .}.....private.function.getInput
1121c0 41 72 67 75 6d 65 6e 74 44 61 74 61 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 ArgumentData(InputArgument.$argu
1121e0 6d 65 6e 74 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 ment).{.return.array(.'name'.=>.
112200 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 69 73 5f 72 65 71 75 69 72 $argument->getName(),.'is_requir
112220 65 64 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 2c 0a ed'.=>.$argument->isRequired(),.
112240 27 69 73 5f 61 72 72 61 79 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 'is_array'.=>.$argument->isArray
112260 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 70 72 65 67 5f 72 65 70 6c 61 63 (),.'description'.=>.preg_replac
112280 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 27 20 27 2c 20 24 61 72 67 75 6d 65 e('/\s*[\r\n]\s*/',.'.',.$argume
1122a0 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 27 64 65 66 61 75 6c 74 27 nt->getDescription()),.'default'
1122c0 20 3d 3e 20 49 4e 46 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c .=>.INF.===.$argument->getDefaul
1122e0 74 28 29 20 3f 20 27 49 4e 46 27 20 3a 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 t().?.'INF'.:.$argument->getDefa
112300 75 6c 74 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ult(),.);.}.....private.function
112320 20 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 .getInputOptionData(InputOption.
112340 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 $option).{.return.array(.'name'.
112360 3d 3e 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 73 68 6f =>.'--'.$option->getName(),.'sho
112380 72 74 63 75 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 rtcut'.=>.$option->getShortcut()
1123a0 20 3f 20 27 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c 2d 27 2c 20 24 6f .?.'-'.str_replace('|',.'|-',.$o
1123c0 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 2c 0a 27 61 63 63 ption->getShortcut()).:.'',.'acc
1123e0 65 70 74 5f 76 61 6c 75 65 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c ept_value'.=>.$option->acceptVal
112400 75 65 28 29 2c 0a 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 65 64 27 20 3d 3e 20 24 6f 70 ue(),.'is_value_required'.=>.$op
112420 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 2c 0a 27 69 73 5f 6d 75 6c tion->isValueRequired(),.'is_mul
112440 74 69 70 6c 65 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 2c 0a 27 64 tiple'.=>.$option->isArray(),.'d
112460 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 escription'.=>.preg_replace('/\s
112480 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 27 20 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 *[\r\n]\s*/',.'.',.$option->getD
1124a0 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 49 4e 46 20 escription()),.'default'.=>.INF.
1124c0 3d 3d 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 27 49 4e 46 ===.$option->getDefault().?.'INF
1124e0 27 20 3a 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 0a 29 3b 0a 7d 0a '.:.$option->getDefault(),.);.}.
112500 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 44 65 66 ....private.function.getInputDef
112520 69 6e 69 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 initionData(InputDefinition.$def
112540 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 inition).{.$inputArguments.=.arr
112560 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 ay();.foreach.($definition->getA
112580 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 rguments().as.$name.=>.$argument
1125a0 29 20 7b 0a 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 ).{.$inputArguments[$name].=.$th
1125c0 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 24 61 72 67 75 6d 65 is->getInputArgumentData($argume
1125e0 6e 74 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b nt);.}..$inputOptions.=.array();
112600 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e .foreach.($definition->getOption
112620 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 69 6e 70 75 s().as.$name.=>.$option).{.$inpu
112640 74 4f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 tOptions[$name].=.$this->getInpu
112660 74 4f 70 74 69 6f 6e 44 61 74 61 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 tOptionData($option);.}..return.
112680 61 72 72 61 79 28 27 61 72 67 75 6d 65 6e 74 73 27 20 3d 3e 20 24 69 6e 70 75 74 41 72 67 75 6d array('arguments'.=>.$inputArgum
1126a0 65 6e 74 73 2c 20 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 ents,.'options'.=>.$inputOptions
1126c0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d );.}.....private.function.getCom
1126e0 6d 61 6e 64 44 61 74 61 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 63 6f mandData(Command.$command).{.$co
112700 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e mmand->getSynopsis();.$command->
112720 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 mergeApplicationDefinition(false
112740 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 63 6f 6d );..return.array(.'name'.=>.$com
112760 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 75 73 61 67 65 27 20 3d 3e 20 61 72 72 61 mand->getName(),.'usage'.=>.arra
112780 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 y_merge(array($command->getSynop
1127a0 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 2c 20 24 sis()),.$command->getUsages(),.$
1127c0 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 2c 0a 27 64 65 73 63 72 69 70 command->getAliases()),.'descrip
1127e0 74 69 6f 6e 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f tion'.=>.$command->getDescriptio
112800 6e 28 29 2c 0a 27 68 65 6c 70 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 n(),.'help'.=>.$command->getProc
112820 65 73 73 65 64 48 65 6c 70 28 29 2c 0a 27 64 65 66 69 6e 69 74 69 6f 6e 27 20 3d 3e 20 24 74 68 essedHelp(),.'definition'.=>.$th
112840 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 24 63 6f 6d 6d is->getInputDefinitionData($comm
112860 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 2c 0a 29 3b 0a and->getNativeDefinition()),.);.
112880 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
1128a0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 mfony\Component\Console\Descript
1128c0 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f or;..use.Symfony\Component\Conso
1128e0 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 le\Application;.use.Symfony\Comp
112900 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 onent\Console\Command\Command;.u
112920 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c se.Symfony\Component\Console\Hel
112940 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e per\Helper;.use.Symfony\Componen
112960 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 t\Console\Input\InputArgument;.u
112980 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
1129a0 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ut\InputDefinition;.use.Symfony\
1129c0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 Component\Console\Input\InputOpt
1129e0 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 ion;.........class.MarkdownDescr
112a00 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 iptor.extends.Descriptor.{....pr
112a20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 otected.function.describeInputAr
112a40 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 gument(InputArgument.$argument,.
112a60 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$options.=.array()).{.$thi
112a80 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d s->write(.'**'.$argument->getNam
112aa0 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 4e 61 6d 65 3a 20 27 2e 28 24 61 e().':**'."\n\n"..'*.Name:.'.($a
112ac0 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e rgument->getName().?:.'<none>').
112ae0 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 72 65 71 75 69 72 65 64 3a 20 27 2e 28 24 61 72 67 75 6d 65 "\n"..'*.Is.required:.'.($argume
112b00 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 nt->isRequired().?.'yes'.:.'no')
112b20 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 61 72 72 61 79 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 ."\n"..'*.Is.array:.'.($argument
112b40 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 ->isArray().?.'yes'.:.'no')."\n"
112b60 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 ..'*.Description:.'.preg_replace
112b80 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 20 20 22 2c 20 24 61 72 67 75 ('/\s*[\r\n]\s*/',."\n..",.$argu
112ba0 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 ment->getDescription().?:.'<none
112bc0 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 66 61 75 6c 74 3a 20 60 27 2e 73 74 72 5f 72 65 70 >')."\n"..'*.Default:.`'.str_rep
112be0 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 61 72 67 75 6d lace("\n",.'',.var_export($argum
112c00 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 29 3b ent->getDefault(),.true)).'`'.);
112c20 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 .}.....protected.function.descri
112c40 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f beInputOption(InputOption.$optio
112c60 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 n,.array.$options.=.array()).{.$
112c80 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 this->write(.'**'.$option->getNa
112ca0 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 4e 61 6d 65 3a 20 60 2d 2d 27 me().':**'."\n\n"..'*.Name:.`--'
112cc0 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 60 27 2e 22 5c 6e 22 0a 2e 27 2a .$option->getName().'`'."\n"..'*
112ce0 20 53 68 6f 72 74 63 75 74 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 .Shortcut:.'.($option->getShortc
112d00 75 74 28 29 20 3f 20 27 60 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c 2d ut().?.'`-'.str_replace('|',.'|-
112d20 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 2e 27 60 27 20 3a ',.$option->getShortcut()).'`'.:
112d40 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 41 63 63 65 70 74 20 76 61 6c 75 65 .'<none>')."\n"..'*.Accept.value
112d60 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 27 79 :.'.($option->acceptValue().?.'y
112d80 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 76 61 6c 75 65 20 72 65 es'.:.'no')."\n"..'*.Is.value.re
112da0 71 75 69 72 65 64 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 quired:.'.($option->isValueRequi
112dc0 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 red().?.'yes'.:.'no')."\n"..'*.I
112de0 73 20 6d 75 6c 74 69 70 6c 65 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 s.multiple:.'.($option->isArray(
112e00 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 73 63 72 ).?.'yes'.:.'no')."\n"..'*.Descr
112e20 69 70 74 69 6f 6e 3a 20 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c iption:.'.preg_replace('/\s*[\r\
112e40 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 20 20 22 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 n]\s*/',."\n..",.$option->getDes
112e60 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a cription().?:.'<none>')."\n"..'*
112e80 20 44 65 66 61 75 6c 74 3a 20 60 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 .Default:.`'.str_replace("\n",.'
112ea0 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c ',.var_export($option->getDefaul
112ec0 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 t(),.true)).'`'.);.}.....protect
112ee0 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 ed.function.describeInputDefinit
112f00 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c ion(InputDefinition.$definition,
112f20 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 .array.$options.=.array()).{.if.
112f40 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 20 3d 20 5c 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 ($showArguments.=.\count($defini
112f60 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 3e 20 30 29 20 7b 0a 24 74 68 tion->getArguments()).>.0).{.$th
112f80 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 41 72 67 75 6d 65 6e 74 73 3a 27 29 3b 0a 66 6f 72 is->write('###.Arguments:');.for
112fa0 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 each.($definition->getArguments(
112fc0 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 ).as.$argument).{.$this->write("
112fe0 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 \n\n");.$this->write($this->desc
113000 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 7d ribeInputArgument($argument));.}
113020 0a 7d 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f .}..if.(\count($definition->getO
113040 70 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 69 66 20 28 24 73 68 6f 77 41 72 67 75 6d 65 ptions()).>.0).{.if.($showArgume
113060 6e 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 7d 0a 0a nts).{.$this->write("\n\n");.}..
113080 24 74 68 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 4f 70 74 69 6f 6e 73 3a 27 29 3b 0a 66 6f $this->write('###.Options:');.fo
1130a0 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 reach.($definition->getOptions()
1130c0 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c .as.$option).{.$this->write("\n\
1130e0 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 n");.$this->write($this->describ
113100 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a eInputOption($option));.}.}.}...
113120 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d ..protected.function.describeCom
113140 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 mand(Command.$command,.array.$op
113160 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 tions.=.array()).{.$command->get
113180 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 Synopsis();.$command->mergeAppli
1131a0 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d cationDefinition(false);..$this-
1131c0 3e 77 72 69 74 65 28 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 >write(.$command->getName()."\n"
1131e0 0a 2e 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e ..str_repeat('-',.Helper::strlen
113200 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 2e 22 5c 6e 5c 6e 22 0a 2e 27 ($command->getName()))."\n\n"..'
113220 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 *.Description:.'.($command->getD
113240 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e escription().?:.'<none>')."\n"..
113260 27 2a 20 55 73 61 67 65 3a 27 2e 22 5c 6e 5c 6e 22 0a 2e 61 72 72 61 79 5f 72 65 64 75 63 65 28 '*.Usage:'."\n\n"..array_reduce(
113280 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 array_merge(array($command->getS
1132a0 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 ynopsis()),.$command->getAliases
1132c0 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 2c 20 66 75 6e 63 (),.$command->getUsages()),.func
1132e0 74 69 6f 6e 20 28 24 63 61 72 72 79 2c 20 24 75 73 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 tion.($carry,.$usage).{.return.$
113300 63 61 72 72 79 2e 27 20 20 2a 20 60 27 2e 24 75 73 61 67 65 2e 27 60 27 2e 22 5c 6e 22 3b 0a 7d carry.'..*.`'.$usage.'`'."\n";.}
113320 29 0a 29 3b 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 ).);..if.($help.=.$command->getP
113340 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 rocessedHelp()).{.$this->write("
113360 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 68 65 6c 70 29 3b 0a 7d 0a 0a 69 66 \n");.$this->write($help);.}..if
113380 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 .($command->getNativeDefinition(
1133a0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 )).{.$this->write("\n\n");.$this
1133c0 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 63 6f 6d 6d 61 ->describeInputDefinition($comma
1133e0 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a nd->getNativeDefinition());.}.}.
113400 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 ....protected.function.describeA
113420 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 pplication(Application.$applicat
113440 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b ion,.array.$options.=.array()).{
113460 0a 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 .$describedNamespace.=.isset($op
113480 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 tions['namespace']).?.$options['
1134a0 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e namespace'].:.null;.$description
1134c0 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 .=.new.ApplicationDescription($a
1134e0 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 pplication,.$describedNamespace)
113500 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 ;..$this->write($application->ge
113520 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 3d 27 2c 20 48 65 6c tName()."\n".str_repeat('=',.Hel
113540 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d per::strlen($application->getNam
113560 65 28 29 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e e())));..foreach.($description->
113580 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b getNamespaces().as.$namespace).{
1135a0 0a 69 66 20 28 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 3a 3a 47 4c 4f .if.(ApplicationDescription::GLO
1135c0 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 BAL_NAMESPACE.!==.$namespace['id
1135e0 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 ']).{.$this->write("\n\n");.$thi
113600 73 2d 3e 77 72 69 74 65 28 27 2a 2a 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 s->write('**'.$namespace['id'].'
113620 3a 2a 2a 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a :**');.}..$this->write("\n\n");.
113640 24 74 68 69 73 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 $this->write(implode("\n",.array
113660 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 20 7b 0a 72 _map(function.($commandName).{.r
113680 65 74 75 72 6e 20 27 2a 20 27 2e 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 7d 2c 20 24 6e 61 6d eturn.'*.'.$commandName;.},.$nam
1136a0 65 73 70 61 63 65 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 29 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 espace['commands'])));.}..foreac
1136c0 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 h.($description->getCommands().a
1136e0 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e s.$command).{.$this->write("\n\n
113700 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 ");.$this->write($this->describe
113720 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a Command($command));.}.}.}.<?php.
113740 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
113760 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 onent\Console\Descriptor;..use.S
113780 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 ymfony\Component\Console\Applica
1137a0 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
1137c0 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ole\Command\Command;.use.Symfony
1137e0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 \Component\Console\Formatter\Out
113800 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putFormatter;.use.Symfony\Compon
113820 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 ent\Console\Helper\Helper;.use.S
113840 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
113860 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e nputArgument;.use.Symfony\Compon
113880 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f ent\Console\Input\InputDefinitio
1138a0 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
1138c0 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 \Input\InputOption;.........clas
1138e0 73 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 s.TextDescriptor.extends.Descrip
113900 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 tor.{....protected.function.desc
113920 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 ribeInputArgument(InputArgument.
113940 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 $argument,.array.$options.=.arra
113960 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 y()).{.if.(null.!==.$argument->g
113980 65 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 etDefault().&&.(!\is_array($argu
1139a0 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 5c 63 6f 75 6e 74 28 24 61 ment->getDefault()).||.\count($a
1139c0 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 24 64 65 66 61 rgument->getDefault()))).{.$defa
1139e0 75 6c 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 20 5b 64 65 66 61 75 6c ult.=.sprintf('<comment>.[defaul
113a00 74 3a 20 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 t:.%s]</comment>',.$this->format
113a20 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 DefaultValue($argument->getDefau
113a40 6c 74 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a lt()));.}.else.{.$default.=.'';.
113a60 7d 0a 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b }..$totalWidth.=.isset($options[
113a80 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 'total_width']).?.$options['tota
113aa0 6c 5f 77 69 64 74 68 27 5d 20 3a 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 72 67 75 l_width'].:.Helper::strlen($argu
113ac0 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 ment->getName());.$spacingWidth.
113ae0 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 5c 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e =.$totalWidth.-.\strlen($argumen
113b00 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 t->getName());..$this->writeText
113b20 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 20 25 73 25 (sprintf('..<info>%s</info>..%s%
113b40 73 25 73 27 2c 0a 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 73 74 72 5f s%s',.$argument->getName(),.str_
113b60 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a 0a 20 70 72 repeat('.',.$spacingWidth),...pr
113b80 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e eg_replace('/\s*[\r\n]\s*/',."\n
113ba0 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2b 20 ".str_repeat('.',.$totalWidth.+.
113bc0 34 29 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 4),.$argument->getDescription())
113be0 2c 0a 24 64 65 66 61 75 6c 74 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ,.$default.),.$options);.}.....p
113c00 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f rotected.function.describeInputO
113c20 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 ption(InputOption.$option,.array
113c40 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 .$options.=.array()).{.if.($opti
113c60 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6f on->acceptValue().&&.null.!==.$o
113c80 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 5c 69 73 5f 61 72 72 ption->getDefault().&&.(!\is_arr
113ca0 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 5c 63 6f ay($option->getDefault()).||.\co
113cc0 75 6e 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 24 unt($option->getDefault()))).{.$
113ce0 64 65 66 61 75 6c 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 20 5b 64 65 default.=.sprintf('<comment>.[de
113d00 66 61 75 6c 74 3a 20 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f fault:.%s]</comment>',.$this->fo
113d20 72 6d 61 74 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 rmatDefaultValue($option->getDef
113d40 61 75 6c 74 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 27 27 ault()));.}.else.{.$default.=.''
113d60 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 ;.}..$value.=.'';.if.($option->a
113d80 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 27 3d 27 2e 73 74 72 cceptValue()).{.$value.=.'='.str
113da0 74 6f 75 70 70 65 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 69 66 toupper($option->getName());..if
113dc0 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 29 20 7b 0a .($option->isValueOptional()).{.
113de0 24 76 61 6c 75 65 20 3d 20 27 5b 27 2e 24 76 61 6c 75 65 2e 27 5d 27 3b 0a 7d 0a 7d 0a 0a 24 74 $value.=.'['.$value.']';.}.}..$t
113e00 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 otalWidth.=.isset($options['tota
113e20 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 l_width']).?.$options['total_wid
113e40 74 68 27 5d 20 3a 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 6c 57 69 64 74 th'].:.$this->calculateTotalWidt
113e60 68 46 6f 72 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 24 73 79 hForOptions(array($option));.$sy
113e80 6e 6f 70 73 69 73 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 25 73 27 2c 0a 24 6f 70 74 69 6f 6e nopsis.=.sprintf('%s%s',.$option
113ea0 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 73 70 72 69 6e 74 66 28 27 2d 25 73 2c 20 ->getShortcut().?.sprintf('-%s,.
113ec0 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 20 20 ',.$option->getShortcut()).:.'..
113ee0 20 20 27 2c 0a 73 70 72 69 6e 74 66 28 27 2d 2d 25 73 25 73 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e ..',.sprintf('--%s%s',.$option->
113f00 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 0a 29 3b 0a 0a 24 73 70 61 63 69 6e 67 57 getName(),.$value).);..$spacingW
113f20 69 64 74 68 20 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 idth.=.$totalWidth.-.Helper::str
113f40 6c 65 6e 28 24 73 79 6e 6f 70 73 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 len($synopsis);..$this->writeTex
113f60 74 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 20 25 73 t(sprintf('..<info>%s</info>..%s
113f80 25 73 25 73 25 73 27 2c 0a 24 73 79 6e 6f 70 73 69 73 2c 0a 73 74 72 5f 72 65 70 65 61 74 28 27 %s%s%s',.$synopsis,.str_repeat('
113fa0 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a 0a 20 70 72 65 67 5f 72 65 70 6c 61 .',.$spacingWidth),...preg_repla
113fc0 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 ce('/\s*[\r\n]\s*/',."\n".str_re
113fe0 70 65 61 74 28 27 20 27 2c 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2b 20 34 29 2c 20 24 6f 70 74 peat('.',.$totalWidth.+.4),.$opt
114000 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 24 64 65 66 61 75 6c 74 ion->getDescription()),.$default
114020 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 3c 63 6f 6d 6d 65 6e 74 ,.$option->isArray().?.'<comment
114040 3e 20 28 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 20 61 6c 6c 6f 77 65 64 29 3c 2f 63 6f 6d >.(multiple.values.allowed)</com
114060 6d 65 6e 74 3e 27 20 3a 20 27 27 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a ment>'.:.''.),.$options);.}.....
114080 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 protected.function.describeInput
1140a0 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 Definition(InputDefinition.$defi
1140c0 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 nition,.array.$options.=.array()
1140e0 29 0a 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 ).{.$totalWidth.=.$this->calcula
114100 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 24 64 65 66 69 6e 69 74 69 teTotalWidthForOptions($definiti
114120 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 on->getOptions());.foreach.($def
114140 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 inition->getArguments().as.$argu
114160 6d 65 6e 74 29 20 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c ment).{.$totalWidth.=.max($total
114180 57 69 64 74 68 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 2d Width,.Helper::strlen($argument-
1141a0 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e >getName()));.}..if.($definition
1141c0 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 ->getArguments()).{.$this->write
1141e0 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 72 67 75 6d 65 6e 74 73 3a 3c 2f 63 6f 6d 6d 65 Text('<comment>Arguments:</comme
114200 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 nt>',.$options);.$this->writeTex
114220 74 28 22 5c 6e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 t("\n");.foreach.($definition->g
114240 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 etArguments().as.$argument).{.$t
114260 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 his->describeInputArgument($argu
114280 6d 65 6e 74 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 ment,.array_merge($options,.arra
1142a0 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 68 29 29 y('total_width'.=>.$totalWidth))
1142c0 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a );.$this->writeText("\n");.}.}..
1142e0 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 if.($definition->getArguments().
114300 26 26 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a &&.$definition->getOptions()).{.
114320 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 $this->writeText("\n");.}..if.($
114340 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 6c 61 74 definition->getOptions()).{.$lat
114360 65 72 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 erOptions.=.array();..$this->wri
114380 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 69 6f 6e 73 3a 3c 2f 63 6f 6d 6d 65 teText('<comment>Options:</comme
1143a0 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e nt>',.$options);.foreach.($defin
1143c0 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 ition->getOptions().as.$option).
1143e0 7b 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 {.if.(\strlen($option->getShortc
114400 75 74 28 29 29 20 3e 20 31 29 20 7b 0a 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 ut()).>.1).{.$laterOptions[].=.$
114420 6f 70 74 69 6f 6e 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 option;.continue;.}.$this->write
114440 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 Text("\n");.$this->describeInput
114460 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 Option($option,.array_merge($opt
114480 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f ions,.array('total_width'.=>.$to
1144a0 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 6c 61 74 65 72 4f 70 talWidth)));.}.foreach.($laterOp
1144c0 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 tions.as.$option).{.$this->write
1144e0 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 Text("\n");.$this->describeInput
114500 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 Option($option,.array_merge($opt
114520 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f ions,.array('total_width'.=>.$to
114540 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 talWidth)));.}.}.}.....protected
114560 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e .function.describeCommand(Comman
114580 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 d.$command,.array.$options.=.arr
1145a0 61 79 28 29 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 ay()).{.$command->getSynopsis(tr
1145c0 75 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 66 61 6c 73 65 ue);.$command->getSynopsis(false
1145e0 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 );.$command->mergeApplicationDef
114600 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 inition(false);..$this->writeTex
114620 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 t('<comment>Usage:</comment>',.$
114640 6f 70 74 69 6f 6e 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 options);.foreach.(array_merge(a
114660 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 rray($command->getSynopsis(true)
114680 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d ),.$command->getAliases(),.$comm
1146a0 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 20 61 73 20 24 75 73 61 67 65 29 20 7b 0a 24 and->getUsages()).as.$usage).{.$
1146c0 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 this->writeText("\n");.$this->wr
1146e0 69 74 65 54 65 78 74 28 27 20 20 27 2e 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 iteText('..'.OutputFormatter::es
114700 63 61 70 65 28 24 75 73 61 67 65 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 cape($usage),.$options);.}.$this
114720 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 ->writeText("\n");..$definition.
114740 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 =.$command->getNativeDefinition(
114760 29 3b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 );.if.($definition->getOptions()
114780 20 7c 7c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 .||.$definition->getArguments())
1147a0 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 .{.$this->writeText("\n");.$this
1147c0 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e ->describeInputDefinition($defin
1147e0 69 74 69 6f 6e 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 ition,.$options);.$this->writeTe
114800 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e xt("\n");.}..if.($help.=.$comman
114820 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e d->getProcessedHelp()).{.$this->
114840 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 writeText("\n");.$this->writeTex
114860 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 48 65 6c 70 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f t('<comment>Help:</comment>',.$o
114880 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b ptions);.$this->writeText("\n");
1148a0 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 20 27 2e 73 74 72 5f 72 65 70 6c 61 .$this->writeText('..'.str_repla
1148c0 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 20 22 2c 20 24 68 65 6c 70 29 2c 20 24 6f 70 74 69 6f 6e ce("\n",."\n..",.$help),.$option
1148e0 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a s);.$this->writeText("\n");.}.}.
114900 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 ....protected.function.describeA
114920 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 pplication(Application.$applicat
114940 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b ion,.array.$options.=.array()).{
114960 0a 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 .$describedNamespace.=.isset($op
114980 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 tions['namespace']).?.$options['
1149a0 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e namespace'].:.null;.$description
1149c0 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 .=.new.ApplicationDescription($a
1149e0 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 pplication,.$describedNamespace)
114a00 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 ;..if.(isset($options['raw_text'
114a20 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 7b 0a 24 77 ]).&&.$options['raw_text']).{.$w
114a40 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 64 65 idth.=.$this->getColumnWidth($de
114a60 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 29 3b 0a 0a 66 6f 72 65 scription->getCommands());..fore
114a80 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 ach.($description->getCommands()
114aa0 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 .as.$command).{.$this->writeText
114ac0 28 73 70 72 69 6e 74 66 28 22 25 2d 7b 24 77 69 64 74 68 7d 73 20 25 73 22 2c 20 24 63 6f 6d 6d (sprintf("%-{$width}s.%s",.$comm
114ae0 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 and->getName(),.$command->getDes
114b00 63 72 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 cription()),.$options);.$this->w
114b20 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 27 riteText("\n");.}.}.else.{.if.('
114b40 27 20 21 3d 20 24 68 65 6c 70 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 '.!=.$help.=.$application->getHe
114b60 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 24 68 65 6c 70 5c lp()).{.$this->writeText("$help\
114b80 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 n\n",.$options);.}..$this->write
114ba0 54 65 78 74 28 22 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 5c Text("<comment>Usage:</comment>\
114bc0 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 n",.$options);.$this->writeText(
114be0 22 20 20 63 6f 6d 6d 61 6e 64 20 5b 6f 70 74 69 6f 6e 73 5d 20 5b 61 72 67 75 6d 65 6e 74 73 5d "..command.[options].[arguments]
114c00 5c 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 \n\n",.$options);..$this->descri
114c20 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e beInputDefinition(new.InputDefin
114c40 69 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f ition($application->getDefinitio
114c60 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a n()->getOptions()),.$options);..
114c80 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 $this->writeText("\n");.$this->w
114ca0 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d riteText("\n");..$width.=.$this-
114cc0 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 >getColumnWidth($description->ge
114ce0 74 43 6f 6d 6d 61 6e 64 73 28 29 29 3b 0a 0a 69 66 20 28 24 64 65 73 63 72 69 62 65 64 4e 61 6d tCommands());..if.($describedNam
114d00 65 73 70 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e espace).{.$this->writeText(sprin
114d20 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 tf('<comment>Available.commands.
114d40 66 6f 72 20 74 68 65 20 22 25 73 22 20 6e 61 6d 65 73 70 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 for.the."%s".namespace:</comment
114d60 3e 27 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 2c 20 24 6f 70 74 69 6f >',.$describedNamespace),.$optio
114d80 6e 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 ns);.}.else.{.$this->writeText('
114da0 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 3a 3c 2f 63 6f <comment>Available.commands:</co
114dc0 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 mment>',.$options);.}....foreach
114de0 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 .($description->getNamespaces().
114e00 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 69 66 20 28 21 24 64 65 73 63 72 69 62 65 64 as.$namespace).{.if.(!$described
114e20 4e 61 6d 65 73 70 61 63 65 20 26 26 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 Namespace.&&.ApplicationDescript
114e40 69 6f 6e 3a 3a 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 21 3d 3d 20 24 6e 61 6d 65 73 ion::GLOBAL_NAMESPACE.!==.$names
114e60 70 61 63 65 5b 27 69 64 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 pace['id']).{.$this->writeText("
114e80 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 3c 63 6f 6d 6d 65 6e \n");.$this->writeText('.<commen
114ea0 74 3e 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e t>'.$namespace['id'].'</comment>
114ec0 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 ',.$options);.}..foreach.($names
114ee0 70 61 63 65 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 pace['commands'].as.$name).{.$th
114f00 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 73 70 61 63 69 6e 67 57 69 64 is->writeText("\n");.$spacingWid
114f20 74 68 20 3d 20 24 77 69 64 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6e 61 th.=.$width.-.Helper::strlen($na
114f40 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 20 me);.$this->writeText(sprintf('.
114f60 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 25 73 25 73 27 2c 20 24 6e 61 6d 65 2c 20 73 74 .<info>%s</info>%s%s',.$name,.st
114f80 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 20 24 64 r_repeat('.',.$spacingWidth),.$d
114fa0 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 2d 3e 67 escription->getCommand($name)->g
114fc0 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d etDescription()),.$options);.}.}
114fe0 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 0a ..$this->writeText("\n");.}.}...
115000 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 65 78 74 28 24 63 6f ..private.function.writeText($co
115020 6e 74 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 ntent,.array.$options.=.array())
115040 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b .{.$this->write(.isset($options[
115060 27 72 61 77 5f 74 65 78 74 27 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 'raw_text']).&&.$options['raw_te
115080 78 74 27 5d 20 3f 20 73 74 72 69 70 5f 74 61 67 73 28 24 63 6f 6e 74 65 6e 74 29 20 3a 20 24 63 xt'].?.strip_tags($content).:.$c
1150a0 6f 6e 74 65 6e 74 2c 0a 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 ontent,.isset($options['raw_outp
1150c0 75 74 27 5d 29 20 3f 20 21 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 20 ut']).?.!$options['raw_output'].
1150e0 3a 20 74 72 75 65 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 :.true.);.}.........private.func
115100 74 69 6f 6e 20 66 6f 72 6d 61 74 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 64 65 66 61 75 6c 74 tion.formatDefaultValue($default
115120 29 0a 7b 0a 69 66 20 28 49 4e 46 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 74 75 ).{.if.(INF.===.$default).{.retu
115140 72 6e 20 27 49 4e 46 27 3b 0a 7d 0a 0a 69 66 20 28 5c 69 73 5f 73 74 72 69 6e 67 28 24 64 65 66 rn.'INF';.}..if.(\is_string($def
115160 61 75 6c 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 ault)).{.$default.=.OutputFormat
115180 74 65 72 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ter::escape($default);.}.elseif.
1151a0 28 5c 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 (\is_array($default)).{.foreach.
1151c0 28 24 64 65 66 61 75 6c 74 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 ($default.as.$key.=>.$value).{.i
1151e0 66 20 28 5c 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 64 65 66 61 75 6c f.(\is_string($value)).{.$defaul
115200 74 5b 24 6b 65 79 5d 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 t[$key].=.OutputFormatter::escap
115220 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 e($value);.}.}.}..if.(\PHP_VERSI
115240 4f 4e 5f 49 44 20 3c 20 35 30 34 30 30 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c ON_ID.<.50400).{.return.str_repl
115260 61 63 65 28 61 72 72 61 79 28 27 5c 2f 27 2c 20 27 5c 5c 5c 5c 27 29 2c 20 61 72 72 61 79 28 27 ace(array('\/',.'\\\\'),.array('
115280 2f 27 2c 20 27 5c 5c 27 29 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 65 66 61 75 6c 74 29 /',.'\\'),.json_encode($default)
1152a0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 5c 5c 27 2c );.}..return.str_replace('\\\\',
1152c0 20 27 5c 5c 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 65 66 61 75 6c 74 2c 20 4a 53 4f .'\\',.json_encode($default,.JSO
1152e0 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 7c 20 4a 53 4f 4e 5f 55 4e 45 53 43 N_UNESCAPED_SLASHES.|.JSON_UNESC
115300 41 50 45 44 5f 55 4e 49 43 4f 44 45 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 APED_UNICODE));.}.......private.
115320 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 61 72 72 61 79 20 24 63 function.getColumnWidth(array.$c
115340 6f 6d 6d 61 6e 64 73 29 0a 7b 0a 24 77 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 ommands).{.$widths.=.array();..f
115360 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b oreach.($commands.as.$command).{
115380 0a 24 77 69 64 74 68 73 5b 5d 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 63 6f 6d .$widths[].=.Helper::strlen($com
1153a0 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d mand->getName());.foreach.($comm
1153c0 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 and->getAliases().as.$alias).{.$
1153e0 77 69 64 74 68 73 5b 5d 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 6c 69 61 73 widths[].=.Helper::strlen($alias
115400 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6d 61 78 28 24 77 69 64 74 68 73 29 20 2b 20 32 3b );.}.}..return.max($widths).+.2;
115420 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c .}.......private.function.calcul
115440 61 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f ateTotalWidthForOptions(array.$o
115460 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 30 3b 0a 66 6f 72 65 61 ptions).{.$totalWidth.=.0;.forea
115480 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 0a 20 24 6e 61 ch.($options.as.$option).{...$na
1154a0 6d 65 4c 65 6e 67 74 68 20 3d 20 31 20 2b 20 6d 61 78 28 5c 73 74 72 6c 65 6e 28 24 6f 70 74 69 meLength.=.1.+.max(\strlen($opti
1154c0 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 2c 20 31 29 20 2b 20 34 20 2b 20 48 65 6c on->getShortcut()),.1).+.4.+.Hel
1154e0 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b per::strlen($option->getName());
115500 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a ..if.($option->acceptValue()).{.
115520 24 76 61 6c 75 65 4c 65 6e 67 74 68 20 3d 20 31 20 2b 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 $valueLength.=.1.+.Helper::strle
115540 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 20 0a 20 24 76 61 6c 75 65 4c n($option->getName());...$valueL
115560 65 6e 67 74 68 20 2b 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 ength.+=.$option->isValueOptiona
115580 6c 28 29 20 3f 20 32 20 3a 20 30 3b 20 0a 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 3d 20 24 76 l().?.2.:.0;...$nameLength.+=.$v
1155a0 61 6c 75 65 4c 65 6e 67 74 68 3b 0a 7d 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 6d 61 78 28 alueLength;.}.$totalWidth.=.max(
1155c0 24 74 6f 74 61 6c 57 69 64 74 68 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 29 3b 0a 7d 0a 0a 72 65 $totalWidth,.$nameLength);.}..re
1155e0 74 75 72 6e 20 24 74 6f 74 61 6c 57 69 64 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a turn.$totalWidth;.}.}.<?php.....
115600 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
115620 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f t\Console\Descriptor;..use.Symfo
115640 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e ny\Component\Console\Application
115660 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
115680 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d Command\Command;.use.Symfony\Com
1156a0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 ponent\Console\Input\InputArgume
1156c0 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c nt;.use.Symfony\Component\Consol
1156e0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d e\Input\InputDefinition;.use.Sym
115700 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
115720 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 6d 6c 44 65 73 63 72 utOption;.........class.XmlDescr
115740 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 75 iptor.extends.Descriptor.{....pu
115760 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e blic.function.getInputDefinition
115780 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 Document(InputDefinition.$defini
1157a0 74 69 6f 6e 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 tion).{.$dom.=.new.\DOMDocument(
1157c0 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 '1.0',.'UTF-8');.$dom->appendChi
1157e0 6c 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 ld($definitionXML.=.$dom->create
115800 45 6c 65 6d 65 6e 74 28 27 64 65 66 69 6e 69 74 69 6f 6e 27 29 29 3b 0a 0a 24 64 65 66 69 6e 69 Element('definition'));..$defini
115820 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 61 72 67 75 6d 65 6e 74 73 58 tionXML->appendChild($argumentsX
115840 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 ML.=.$dom->createElement('argume
115860 6e 74 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 nts'));.foreach.($definition->ge
115880 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 tArguments().as.$argument).{.$th
1158a0 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 73 58 4d 4c is->appendDocument($argumentsXML
1158c0 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e ,.$this->getInputArgumentDocumen
1158e0 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 7d 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c t($argument));.}..$definitionXML
115900 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 20 3d 20 24 64 6f 6d ->appendChild($optionsXML.=.$dom
115920 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 73 27 29 29 3b 0a 66 6f 72 ->createElement('options'));.for
115940 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 each.($definition->getOptions().
115960 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d as.$option).{.$this->appendDocum
115980 65 6e 74 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 ent($optionsXML,.$this->getInput
1159a0 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 OptionDocument($option));.}..ret
1159c0 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 urn.$dom;.}.....public.function.
1159e0 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d getCommandDocument(Command.$comm
115a00 61 6e 64 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 and).{.$dom.=.new.\DOMDocument('
115a20 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 1.0',.'UTF-8');.$dom->appendChil
115a40 64 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d d($commandXML.=.$dom->createElem
115a60 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 ent('command'));..$command->getS
115a80 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 ynopsis();.$command->mergeApplic
115aa0 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e ationDefinition(false);..$comman
115ac0 64 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 24 63 6f 6d 6d 61 6e dXML->setAttribute('id',.$comman
115ae0 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 d->getName());.$commandXML->setA
115b00 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 ttribute('name',.$command->getNa
115b20 6d 65 28 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 me());..$commandXML->appendChild
115b40 28 24 75 73 61 67 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e ($usagesXML.=.$dom->createElemen
115b60 74 28 27 75 73 61 67 65 73 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 t('usages'));..foreach.(array_me
115b80 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 rge(array($command->getSynopsis(
115ba0 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d )),.$command->getAliases(),.$com
115bc0 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 20 61 73 20 24 75 73 61 67 65 29 20 7b 0a mand->getUsages()).as.$usage).{.
115be0 24 75 73 61 67 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 $usagesXML->appendChild($dom->cr
115c00 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 75 73 61 67 65 27 2c 20 24 75 73 61 67 65 29 29 3b 0a 7d eateElement('usage',.$usage));.}
115c20 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 73 63 ..$commandXML->appendChild($desc
115c40 72 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 riptionXML.=.$dom->createElement
115c60 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d ('description'));.$descriptionXM
115c80 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e L->appendChild($dom->createTextN
115ca0 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 63 6f ode(str_replace("\n",."\n.",.$co
115cc0 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 29 3b 0a 0a 24 63 6f mmand->getDescription())));..$co
115ce0 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 68 65 6c 70 58 4d 4c 20 3d mmandXML->appendChild($helpXML.=
115d00 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 68 65 6c 70 27 29 29 3b 0a 24 .$dom->createElement('help'));.$
115d20 68 65 6c 70 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 helpXML->appendChild($dom->creat
115d40 65 54 65 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 eTextNode(str_replace("\n",."\n.
115d60 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 ",.$command->getProcessedHelp())
115d80 29 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ));..$definitionXML.=.$this->get
115da0 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 InputDefinitionDocument($command
115dc0 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 24 74 68 69 73 2d ->getNativeDefinition());.$this-
115de0 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2c 20 24 64 65 >appendDocument($commandXML,.$de
115e00 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d finitionXML->getElementsByTagNam
115e20 65 28 27 64 65 66 69 6e 69 74 69 6f 6e 27 29 2d 3e 69 74 65 6d 28 30 29 29 3b 0a 0a 72 65 74 75 e('definition')->item(0));..retu
115e40 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rn.$dom;.}........public.functio
115e60 6e 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 41 70 70 6c 69 63 61 n.getApplicationDocument(Applica
115e80 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 tion.$application,.$namespace.=.
115ea0 6e 75 6c 6c 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 null).{.$dom.=.new.\DOMDocument(
115ec0 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 '1.0',.'UTF-8');.$dom->appendChi
115ee0 6c 64 28 24 72 6f 6f 74 58 6d 6c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e ld($rootXml.=.$dom->createElemen
115f00 74 28 27 73 79 6d 66 6f 6e 79 27 29 29 3b 0a 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d t('symfony'));..if.('UNKNOWN'.!=
115f20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 72 6f =.$application->getName()).{.$ro
115f40 6f 74 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 61 70 70 otXml->setAttribute('name',.$app
115f60 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 69 66 20 28 27 55 4e 4b 4e 4f lication->getName());.if.('UNKNO
115f80 57 4e 27 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e WN'.!==.$application->getVersion
115fa0 28 29 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 76 65 ()).{.$rootXml->setAttribute('ve
115fc0 72 73 69 6f 6e 27 2c 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e rsion',.$application->getVersion
115fe0 28 29 29 3b 0a 7d 0a 7d 0a 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 ());.}.}..$rootXml->appendChild(
116000 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 $commandsXML.=.$dom->createEleme
116020 6e 74 28 27 63 6f 6d 6d 61 6e 64 73 27 29 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d nt('commands'));..$description.=
116040 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 .new.ApplicationDescription($app
116060 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 24 6e 61 6d lication,.$namespace);..if.($nam
116080 65 73 70 61 63 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 espace).{.$commandsXML->setAttri
1160a0 62 75 74 65 28 27 6e 61 6d 65 73 70 61 63 65 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 7d bute('namespace',.$namespace);.}
1160c0 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d ..foreach.($description->getComm
1160e0 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 ands().as.$command).{.$this->app
116100 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2c 20 24 74 68 69 73 2d endDocument($commandsXML,.$this-
116120 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a >getCommandDocument($command));.
116140 7d 0a 0a 69 66 20 28 21 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e }..if.(!$namespace).{.$rootXml->
116160 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 20 3d 20 24 64 6f appendChild($namespacesXML.=.$do
116180 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 73 27 29 29 3b m->createElement('namespaces'));
1161a0 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 ..foreach.($description->getName
1161c0 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f spaces().as.$namespaceDescriptio
1161e0 6e 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 n).{.$namespacesXML->appendChild
116200 28 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 ($namespaceArrayXML.=.$dom->crea
116220 74 65 45 6c 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 27 29 29 3b 0a 24 6e 61 6d 65 73 70 teElement('namespace'));.$namesp
116240 61 63 65 41 72 72 61 79 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 aceArrayXML->setAttribute('id',.
116260 24 6e 61 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f 6e 5b 27 69 64 27 5d 29 3b 0a 0a 66 $namespaceDescription['id']);..f
116280 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f 6e 5b 27 63 oreach.($namespaceDescription['c
1162a0 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 ommands'].as.$name).{.$namespace
1162c0 41 72 72 61 79 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 58 4d ArrayXML->appendChild($commandXM
1162e0 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 L.=.$dom->createElement('command
116300 27 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 '));.$commandXML->appendChild($d
116320 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a om->createTextNode($name));.}.}.
116340 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 }..return.$dom;.}.....protected.
116360 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 function.describeInputArgument(I
116380 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f nputArgument.$argument,.array.$o
1163a0 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 ptions.=.array()).{.$this->write
1163c0 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 Document($this->getInputArgument
1163e0 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 Document($argument));.}.....prot
116400 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 ected.function.describeInputOpti
116420 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f on(InputOption.$option,.array.$o
116440 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 ptions.=.array()).{.$this->write
116460 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f Document($this->getInputOptionDo
116480 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 cument($option));.}.....protecte
1164a0 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 d.function.describeInputDefiniti
1164c0 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 on(InputDefinition.$definition,.
1164e0 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$options.=.array()).{.$thi
116500 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 s->writeDocument($this->getInput
116520 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 29 DefinitionDocument($definition))
116540 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 ;.}.....protected.function.descr
116560 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 ibeCommand(Command.$command,.arr
116580 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e ay.$options.=.array()).{.$this->
1165a0 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 writeDocument($this->getCommandD
1165c0 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ocument($command));.}.....protec
1165e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e ted.function.describeApplication
116600 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 (Application.$application,.array
116620 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 .$options.=.array()).{.$this->wr
116640 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f iteDocument($this->getApplicatio
116660 6e 44 6f 63 75 6d 65 6e 74 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 73 73 65 74 28 24 6f nDocument($application,.isset($o
116680 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b ptions['namespace']).?.$options[
1166a0 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 'namespace'].:.null));.}.....pri
1166c0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 5c 44 4f vate.function.appendDocument(\DO
1166e0 4d 4e 6f 64 65 20 24 70 61 72 65 6e 74 4e 6f 64 65 2c 20 5c 44 4f 4d 4e 6f 64 65 20 24 69 6d 70 MNode.$parentNode,.\DOMNode.$imp
116700 6f 72 74 65 64 50 61 72 65 6e 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 6d 70 6f 72 74 65 ortedParent).{.foreach.($importe
116720 64 50 61 72 65 6e 74 2d 3e 63 68 69 6c 64 4e 6f 64 65 73 20 61 73 20 24 63 68 69 6c 64 4e 6f 64 dParent->childNodes.as.$childNod
116740 65 29 20 7b 0a 24 70 61 72 65 6e 74 4e 6f 64 65 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 70 e).{.$parentNode->appendChild($p
116760 61 72 65 6e 74 4e 6f 64 65 2d 3e 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 74 2d 3e 69 6d 70 6f 72 74 arentNode->ownerDocument->import
116780 4e 6f 64 65 28 24 63 68 69 6c 64 4e 6f 64 65 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a Node($childNode,.true));.}.}....
1167a0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 44 6f 63 75 6d 65 6e ...private.function.writeDocumen
1167c0 74 28 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 20 24 64 6f 6d 29 0a 7b 0a 24 64 6f 6d 2d 3e 66 6f 72 t(\DOMDocument.$dom).{.$dom->for
1167e0 6d 61 74 4f 75 74 70 75 74 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 matOutput.=.true;.$this->write($
116800 64 6f 6d 2d 3e 73 61 76 65 58 4d 4c 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 dom->saveXML());.}.....private.f
116820 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 unction.getInputArgumentDocument
116840 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 24 64 6f 6d (InputArgument.$argument).{.$dom
116860 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d .=.new.\DOMDocument('1.0',.'UTF-
116880 38 27 29 3b 0a 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 6a 65 63 74 58 8');..$dom->appendChild($objectX
1168a0 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 ML.=.$dom->createElement('argume
1168c0 6e 74 27 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 nt'));.$objectXML->setAttribute(
1168e0 27 6e 61 6d 65 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 'name',.$argument->getName());.$
116900 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 72 65 71 75 objectXML->setAttribute('is_requ
116920 69 72 65 64 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 3f ired',.$argument->isRequired().?
116940 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 .1.:.0);.$objectXML->setAttribut
116960 65 28 27 69 73 5f 61 72 72 61 79 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 e('is_array',.$argument->isArray
116980 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 ().?.1.:.0);.$objectXML->appendC
1169a0 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 hild($descriptionXML.=.$dom->cre
1169c0 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 65 73 ateElement('description'));.$des
1169e0 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 criptionXML->appendChild($dom->c
116a00 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 reateTextNode($argument->getDesc
116a20 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 ription()));..$objectXML->append
116a40 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 Child($defaultsXML.=.$dom->creat
116a60 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 73 eElement('defaults'));.$defaults
116a80 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 .=.\is_array($argument->getDefau
116aa0 6c 74 28 29 29 20 3f 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 lt()).?.$argument->getDefault().
116ac0 3a 20 28 5c 69 73 5f 62 6f 6f 6c 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c :.(\is_bool($argument->getDefaul
116ae0 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 70 6f 72 74 28 24 61 72 67 75 6d 65 6e t()).?.array(var_export($argumen
116b00 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 20 3a 20 28 24 61 72 67 75 t->getDefault(),.true)).:.($argu
116b20 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 72 61 79 28 24 61 72 67 75 ment->getDefault().?.array($argu
116b40 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3a 20 61 72 72 61 79 28 29 29 29 3b ment->getDefault()).:.array()));
116b60 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 73 20 61 73 20 24 64 65 66 61 75 6c 74 29 .foreach.($defaults.as.$default)
116b80 20 7b 0a 24 64 65 66 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 .{.$defaultsXML->appendChild($de
116ba0 66 61 75 6c 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 faultXML.=.$dom->createElement('
116bc0 64 65 66 61 75 6c 74 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 default'));.$defaultXML->appendC
116be0 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 64 65 66 61 75 hild($dom->createTextNode($defau
116c00 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 lt));.}..return.$dom;.}.....priv
116c20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d ate.function.getInputOptionDocum
116c40 65 6e 74 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 24 64 6f 6d 20 ent(InputOption.$option).{.$dom.
116c60 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 =.new.\DOMDocument('1.0',.'UTF-8
116c80 27 29 3b 0a 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 6a 65 63 74 58 4d ');..$dom->appendChild($objectXM
116ca0 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 27 L.=.$dom->createElement('option'
116cc0 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 ));.$objectXML->setAttribute('na
116ce0 6d 65 27 2c 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 me',.'--'.$option->getName());.$
116d00 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 pos.=.strpos($option->getShortcu
116d20 74 28 29 2c 20 27 7c 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b t(),.'|');.if.(false.!==.$pos).{
116d40 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 .$objectXML->setAttribute('short
116d60 63 75 74 27 2c 20 27 2d 27 2e 73 75 62 73 74 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f cut',.'-'.substr($option->getSho
116d80 72 74 63 75 74 28 29 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e rtcut(),.0,.$pos));.$objectXML->
116da0 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 73 27 2c 20 27 2d 27 2e 73 74 setAttribute('shortcuts',.'-'.st
116dc0 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c 2d 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 r_replace('|',.'|-',.$option->ge
116de0 74 53 68 6f 72 74 63 75 74 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 62 6a 65 63 74 58 tShortcut()));.}.else.{.$objectX
116e00 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 24 6f 70 ML->setAttribute('shortcut',.$op
116e20 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 24 6f 70 74 69 6f tion->getShortcut().?.'-'.$optio
116e40 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3a 20 27 27 29 3b 0a 7d 0a 24 6f 62 6a 65 63 n->getShortcut().:.'');.}.$objec
116e60 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 61 63 63 65 70 74 5f 76 61 6c 75 65 tXML->setAttribute('accept_value
116e80 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 31 20 3a 20 ',.$option->acceptValue().?.1.:.
116ea0 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 0);.$objectXML->setAttribute('is
116ec0 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 65 64 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c _value_required',.$option->isVal
116ee0 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d ueRequired().?.1.:.0);.$objectXM
116f00 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 2c 20 24 L->setAttribute('is_multiple',.$
116f20 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a option->isArray().?.1.:.0);.$obj
116f40 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e ectXML->appendChild($description
116f60 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 XML.=.$dom->createElement('descr
116f80 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 iption'));.$descriptionXML->appe
116fa0 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6f 70 ndChild($dom->createTextNode($op
116fc0 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 69 66 20 28 24 tion->getDescription()));..if.($
116fe0 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c option->acceptValue()).{.$defaul
117000 74 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 ts.=.\is_array($option->getDefau
117020 6c 74 28 29 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 lt()).?.$option->getDefault().:.
117040 28 5c 69 73 5f 62 6f 6f 6c 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 (\is_bool($option->getDefault())
117060 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 .?.array(var_export($option->get
117080 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 20 3a 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 Default(),.true)).:.($option->ge
1170a0 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 tDefault().?.array($option->getD
1170c0 65 66 61 75 6c 74 28 29 29 20 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d efault()).:.array()));.$objectXM
1170e0 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d 20 24 64 L->appendChild($defaultsXML.=.$d
117100 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 29 3b 0a om->createElement('defaults'));.
117120 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 65 66 61 75 6c 74 73 29 29 20 7b 0a 66 6f 72 65 61 63 .if.(!empty($defaults)).{.foreac
117140 68 20 28 24 64 65 66 61 75 6c 74 73 20 61 73 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 h.($defaults.as.$default).{.$def
117160 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 58 4d aultsXML->appendChild($defaultXM
117180 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 L.=.$dom->createElement('default
1171a0 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 '));.$defaultXML->appendChild($d
1171c0 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d om->createTextNode($default));.}
1171e0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a .}.}..return.$dom;.}.}.<?php....
117200 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
117220 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f nt\Console\Event;.......class.Co
117240 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c nsoleCommandEvent.extends.Consol
117260 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 eEvent.{....const.RETURN_CODE_DI
117280 53 41 42 4c 45 44 20 3d 20 31 31 33 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 SABLED.=.113;.....private.$comma
1172a0 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ndShouldRun.=.true;.......public
1172c0 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 .function.disableCommand().{.ret
1172e0 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 66 61 urn.$this->commandShouldRun.=.fa
117300 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 lse;.}.......public.function.ena
117320 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d bleCommand().{.return.$this->com
117340 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 mandShouldRun.=.true;.}.......pu
117360 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 28 29 blic.function.commandShouldRun()
117380 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 .{.return.$this->commandShouldRu
1173a0 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 n;.}.}.<?php...........namespace
1173c0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 .Symfony\Component\Console\Event
1173e0 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
117400 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f \Command\Command;.use.Symfony\Co
117420 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 mponent\Console\Input\InputInter
117440 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
117460 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ole\Output\OutputInterface;.use.
117480 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 Symfony\Component\EventDispatche
1174a0 72 5c 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e r\Event;.......class.ConsoleEven
1174c0 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d t.extends.Event.{.protected.$com
1174e0 6d 61 6e 64 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 mand;..private.$input;.private.$
117500 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 output;..public.function.__const
117520 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 ruct(Command.$command,.InputInte
117540 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f rface.$input,.OutputInterface.$o
117560 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 utput).{.$this->command.=.$comma
117580 6e 64 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 nd;.$this->input.=.$input;.$this
1175a0 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ->output.=.$output;.}.......publ
1175c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getCommand().{.retur
1175e0 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->command;.}.......public
117600 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 .function.getInput().{.return.$t
117620 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->input;.}.......public.funct
117640 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ion.getOutput().{.return.$this->
117660 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 output;.}.}.<?php...........name
117680 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
1176a0 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Event;..use.Symfony\Component\Co
1176c0 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f nsole\Command\Command;.use.Symfo
1176e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
117700 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
117720 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
117740 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 .......class.ConsoleExceptionEve
117760 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 70 72 69 76 61 74 nt.extends.ConsoleEvent.{.privat
117780 65 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b e.$exception;.private.$exitCode;
1177a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f ..public.function.__construct(Co
1177c0 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 mmand.$command,.InputInterface.$
1177e0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 input,.OutputInterface.$output,.
117800 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 65 78 69 74 43 6f 64 65 \Exception.$exception,.$exitCode
117820 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 ).{.parent::__construct($command
117840 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 45 ,.$input,.$output);..$this->setE
117860 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 xception($exception);.$this->exi
117880 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a tCode.=.(int).$exitCode;.}......
1178a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 0a .public.function.getException().
1178c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a {.return.$this->exception;.}....
1178e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 74 69 6f .....public.function.setExceptio
117900 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 n(\Exception.$exception).{.$this
117920 2d 3e 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a ->exception.=.$exception;.}.....
117940 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a ..public.function.getExitCode().
117960 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f {.return.$this->exitCode;.}.}.<?
117980 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
1179a0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 Component\Console\Event;..use.Sy
1179c0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c mfony\Component\Console\Command\
1179e0 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 Command;.use.Symfony\Component\C
117a00 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 onsole\Input\InputInterface;.use
117a20 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
117a40 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 t\OutputInterface;.......class.C
117a60 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e onsoleTerminateEvent.extends.Con
117a80 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 43 6f soleEvent.{......private.$exitCo
117aa0 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 de;..public.function.__construct
117ac0 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 (Command.$command,.InputInterfac
117ae0 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 e.$input,.OutputInterface.$outpu
117b00 74 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 t,.$exitCode).{.parent::__constr
117b20 75 63 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a uct($command,.$input,.$output);.
117b40 0a 24 74 68 69 73 2d 3e 73 65 74 45 78 69 74 43 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 3b 0a .$this->setExitCode($exitCode);.
117b60 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 69 74 43 }.......public.function.setExitC
117b80 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 ode($exitCode).{.$this->exitCode
117ba0 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .=.(int).$exitCode;.}.......publ
117bc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 ic.function.getExitCode().{.retu
117be0 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a rn.$this->exitCode;.}.}.<?php...
117c00 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
117c20 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 ent\Console\Exception;.......cla
117c40 73 73 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 ss.CommandNotFoundException.exte
117c60 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d nds.\InvalidArgumentException.im
117c80 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 plements.ExceptionInterface.{.pr
117ca0 69 76 61 74 65 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ivate.$alternatives;........publ
117cc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 ic.function.__construct($message
117ce0 2c 20 61 72 72 61 79 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 28 29 2c ,.array.$alternatives.=.array(),
117d00 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 .$code.=.0,.\Exception.$previous
117d20 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 .=.null).{.parent::__construct($
117d40 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 0a 24 74 68 message,.$code,.$previous);..$th
117d60 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 is->alternatives.=.$alternatives
117d80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 74 65 72 ;.}.....public.function.getAlter
117da0 6e 61 74 69 76 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 74 65 72 6e natives().{.return.$this->altern
117dc0 61 74 69 76 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 atives;.}.}.<?php...........name
117de0 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
117e00 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 Exception;.......interface.Excep
117e20 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a tionInterface.{.}.<?php.........
117e40 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
117e60 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c nsole\Exception;.....class.Inval
117e80 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 idArgumentException.extends.\Inv
117ea0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 alidArgumentException.implements
117ec0 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a .ExceptionInterface.{.}.<?php...
117ee0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
117f00 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 ent\Console\Exception;.......cla
117f20 73 73 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 ss.InvalidOptionException.extend
117f40 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c s.\InvalidArgumentException.impl
117f60 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f ements.ExceptionInterface.{.}.<?
117f80 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
117fa0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a Component\Console\Exception;....
117fc0 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 4c .class.LogicException.extends.\L
117fe0 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 ogicException.implements.Excepti
118000 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a onInterface.{.}.<?php...........
118020 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
118040 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 ole\Exception;.....class.Runtime
118060 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 Exception.extends.\RuntimeExcept
118080 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 ion.implements.ExceptionInterfac
1180a0 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 e.{.}.<?php...........namespace.
1180c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 Symfony\Component\Console\Format
1180e0 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ter;..use.Symfony\Component\Cons
118100 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
118120 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 eption;.......class.OutputFormat
118140 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e ter.implements.OutputFormatterIn
118160 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 70 72 terface.{.private.$decorated;.pr
118180 69 76 61 74 65 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 ivate.$styles.=.array();.private
1181a0 20 24 73 74 79 6c 65 53 74 61 63 6b 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 .$styleStack;.........public.sta
1181c0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 tic.function.escape($text).{.$te
1181e0 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5b 5e 5c 5c 5c 5c 5d 3f 29 3c 2f xt.=.preg_replace('/([^\\\\]?)</
118200 27 2c 20 27 24 31 5c 5c 3c 27 2c 20 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 ',.'$1\\<',.$text);..return.self
118220 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 74 65 78 74 29 ::escapeTrailingBackslash($text)
118240 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ;.}...........public.static.func
118260 74 69 6f 6e 20 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 74 65 tion.escapeTrailingBackslash($te
118280 78 74 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 65 78 74 2c xt).{.if.('\\'.===.substr($text,
1182a0 20 2d 31 29 29 20 7b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 24 .-1)).{.$len.=.\strlen($text);.$
1182c0 74 65 78 74 20 3d 20 72 74 72 69 6d 28 24 74 65 78 74 2c 20 27 5c 5c 27 29 3b 0a 24 74 65 78 74 text.=.rtrim($text,.'\\');.$text
1182e0 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 30 22 2c 20 27 27 2c 20 24 74 65 78 74 29 3b .=.str_replace("\0",.'',.$text);
118300 0a 24 74 65 78 74 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 22 5c 30 22 2c 20 24 6c 65 6e 20 .$text..=.str_repeat("\0",.$len.
118320 2d 20 5c 73 74 72 6c 65 6e 28 24 74 65 78 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 -.\strlen($text));.}..return.$te
118340 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 xt;.}........public.function.__c
118360 6f 6e 73 74 72 75 63 74 28 24 64 65 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 61 72 72 onstruct($decorated.=.false,.arr
118380 61 79 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 ay.$styles.=.array()).{.$this->d
1183a0 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 0a 24 ecorated.=.(bool).$decorated;..$
1183c0 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 65 72 72 6f 72 27 2c 20 6e 65 77 20 4f 75 74 70 this->setStyle('error',.new.Outp
1183e0 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 77 68 69 74 65 27 2c 20 27 72 65 64 27 29 utFormatterStyle('white',.'red')
118400 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 69 6e 66 6f 27 2c 20 6e 65 77 20 4f );.$this->setStyle('info',.new.O
118420 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 67 72 65 65 6e 27 29 29 3b 0a 24 utputFormatterStyle('green'));.$
118440 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 6d 65 6e 74 27 2c 20 6e 65 77 20 4f 75 this->setStyle('comment',.new.Ou
118460 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 79 65 6c 6c 6f 77 27 29 29 3b 0a 24 tputFormatterStyle('yellow'));.$
118480 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 71 75 65 73 74 69 6f 6e 27 2c 20 6e 65 77 20 4f this->setStyle('question',.new.O
1184a0 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 63 79 utputFormatterStyle('black',.'cy
1184c0 61 6e 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 74 79 6c 65 73 20 61 73 20 24 6e 61 6d an'));..foreach.($styles.as.$nam
1184e0 65 20 3d 3e 20 24 73 74 79 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 24 e.=>.$style).{.$this->setStyle($
118500 6e 61 6d 65 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 name,.$style);.}..$this->styleSt
118520 61 63 6b 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 ack.=.new.OutputFormatterStyleSt
118540 61 63 6b 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ack();.}.....public.function.set
118560 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 Decorated($decorated).{.$this->d
118580 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a ecorated.=.(bool).$decorated;.}.
1185a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 ....public.function.isDecorated(
1185c0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a ).{.return.$this->decorated;.}..
1185e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d ...public.function.setStyle($nam
118600 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 e,.OutputFormatterStyleInterface
118620 20 24 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f .$style).{.$this->styles[strtolo
118640 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c wer($name)].=.$style;.}.....publ
118660 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 ic.function.hasStyle($name).{.re
118680 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f turn.isset($this->styles[strtolo
1186a0 77 65 72 28 24 6e 61 6d 65 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 wer($name)]);.}.....public.funct
1186c0 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 ion.getStyle($name).{.if.(!$this
1186e0 2d 3e 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 ->hasStyle($name)).{.throw.new.I
118700 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 nvalidArgumentException(sprintf(
118720 27 55 6e 64 65 66 69 6e 65 64 20 73 74 79 6c 65 3a 20 25 73 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 'Undefined.style:.%s',.$name));.
118740 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 }..return.$this->styles[strtolow
118760 65 72 28 24 6e 61 6d 65 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f er($name)];.}.....public.functio
118780 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 n.format($message).{.$message.=.
1187a0 28 73 74 72 69 6e 67 29 20 24 6d 65 73 73 61 67 65 3b 0a 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a (string).$message;.$offset.=.0;.
1187c0 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 74 61 67 52 65 67 65 78 20 3d 20 27 5b 61 2d 7a 5d $output.=.'';.$tagRegex.=.'[a-z]
1187e0 5b 61 2d 7a 30 2d 39 5f 3d 3b 2d 5d 2a 2b 27 3b 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 [a-z0-9_=;-]*+';.preg_match_all(
118800 22 23 3c 28 28 24 74 61 67 52 65 67 65 78 29 20 7c 20 2f 28 24 74 61 67 52 65 67 65 78 29 3f 29 "#<(($tagRegex).|./($tagRegex)?)
118820 3e 23 69 78 22 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f >#ix",.$message,.$matches,.PREG_
118840 4f 46 46 53 45 54 5f 43 41 50 54 55 52 45 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 OFFSET_CAPTURE);.foreach.($match
118860 65 73 5b 30 5d 20 61 73 20 24 69 20 3d 3e 20 24 6d 61 74 63 68 29 20 7b 0a 24 70 6f 73 20 3d 20 es[0].as.$i.=>.$match).{.$pos.=.
118880 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 65 78 74 20 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 0a 69 $match[1];.$text.=.$match[0];..i
1188a0 66 20 28 30 20 21 3d 20 24 70 6f 73 20 26 26 20 27 5c 5c 27 20 3d 3d 20 24 6d 65 73 73 61 67 65 f.(0.!=.$pos.&&.'\\'.==.$message
1188c0 5b 24 70 6f 73 20 2d 20 31 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6f 75 [$pos.-.1]).{.continue;.}....$ou
1188e0 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 tput..=.$this->applyCurrentStyle
118900 28 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 70 6f 73 20 (substr($message,.$offset,.$pos.
118920 2d 20 24 6f 66 66 73 65 74 29 29 3b 0a 24 6f 66 66 73 65 74 20 3d 20 24 70 6f 73 20 2b 20 5c 73 -.$offset));.$offset.=.$pos.+.\s
118940 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 0a 0a 20 69 66 20 28 24 6f 70 65 6e 20 3d 20 27 2f 27 trlen($text);....if.($open.=.'/'
118960 20 21 3d 20 24 74 65 78 74 5b 31 5d 29 20 7b 0a 24 74 61 67 20 3d 20 24 6d 61 74 63 68 65 73 5b .!=.$text[1]).{.$tag.=.$matches[
118980 31 5d 5b 24 69 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 67 20 3d 20 69 73 73 65 74 1][$i][0];.}.else.{.$tag.=.isset
1189a0 28 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b ($matches[3][$i][0]).?.$matches[
1189c0 33 5d 5b 24 69 5d 5b 30 5d 20 3a 20 27 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f 70 65 6e 20 26 26 3][$i][0].:.'';.}..if.(!$open.&&
1189e0 20 21 24 74 61 67 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 .!$tag).{...$this->styleStack->p
118a00 6f 70 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 73 74 79 6c 65 op();.}.elseif.(false.===.$style
118a20 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 74 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 .=.$this->createStyleFromString(
118a40 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 67 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 strtolower($tag))).{.$output..=.
118a60 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 74 65 78 74 29 3b $this->applyCurrentStyle($text);
118a80 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 .}.elseif.($open).{.$this->style
118aa0 53 74 61 63 6b 2d 3e 70 75 73 68 28 24 73 74 79 6c 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 Stack->push($style);.}.else.{.$t
118ac0 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 28 24 73 74 79 6c 65 29 3b 0a 7d 0a his->styleStack->pop($style);.}.
118ae0 7d 0a 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e }..$output..=.$this->applyCurren
118b00 74 53 74 79 6c 65 28 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c 20 24 6f 66 66 73 65 74 29 tStyle(substr($message,.$offset)
118b20 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 75 74 70 75 74 );..if.(false.!==.strpos($output
118b40 2c 20 22 5c 30 22 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 6f 75 74 70 75 74 2c ,."\0")).{.return.strtr($output,
118b60 20 61 72 72 61 79 28 22 5c 30 22 20 3d 3e 20 27 5c 5c 27 2c 20 27 5c 5c 3c 27 20 3d 3e 20 27 3c .array("\0".=>.'\\',.'\\<'.=>.'<
118b80 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 27 '));.}..return.str_replace('\\<'
118ba0 2c 20 27 3c 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ,.'<',.$output);.}.....public.fu
118bc0 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 53 74 61 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.getStyleStack().{.return.
118be0 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 $this->styleStack;.}.........pri
118c00 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 53 74 79 6c 65 46 72 6f 6d 53 74 72 vate.function.createStyleFromStr
118c20 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ing($string).{.if.(isset($this->
118c40 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 styles[$string])).{.return.$this
118c60 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f ->styles[$string];.}..if.(!preg_
118c80 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 28 5b 5e 3d 5d 2b 29 3d 28 5b 5e 3b 5d 2b 29 28 3b 7c 24 29 match_all('/([^=]+)=([^;]+)(;|$)
118ca0 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 72 69 6e 67 29 2c 20 24 6d 61 74 63 68 65 /',.strtolower($string),.$matche
118cc0 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 52 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c s,.PREG_SET_ORDER)).{.return.fal
118ce0 73 65 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 se;.}..$style.=.new.OutputFormat
118d00 74 65 72 53 74 79 6c 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 terStyle();.foreach.($matches.as
118d20 20 24 6d 61 74 63 68 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 6d 61 74 63 68 29 3b 0a .$match).{.array_shift($match);.
118d40 0a 69 66 20 28 27 66 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 24 73 74 79 6c 65 .if.('fg'.==.$match[0]).{.$style
118d60 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c ->setForeground($match[1]);.}.el
118d80 73 65 69 66 20 28 27 62 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 24 73 74 79 6c seif.('bg'.==.$match[0]).{.$styl
118da0 65 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 e->setBackground($match[1]);.}.e
118dc0 6c 73 65 20 7b 0a 74 72 79 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6d lse.{.try.{.$style->setOption($m
118de0 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d atch[1]);.}.catch.(\InvalidArgum
118e00 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b entException.$e).{.return.false;
118e20 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .}.}.}..return.$style;.}........
118e40 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 .private.function.applyCurrentSt
118e60 79 6c 65 28 24 74 65 78 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 44 65 63 yle($text).{.return.$this->isDec
118e80 6f 72 61 74 65 64 28 29 20 26 26 20 5c 73 74 72 6c 65 6e 28 24 74 65 78 74 29 20 3e 20 30 20 3f orated().&&.\strlen($text).>.0.?
118ea0 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 67 65 74 43 75 72 72 65 6e 74 28 29 .$this->styleStack->getCurrent()
118ec0 2d 3e 61 70 70 6c 79 28 24 74 65 78 74 29 20 3a 20 24 74 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ->apply($text).:.$text;.}.}.<?ph
118ee0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
118f00 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a mponent\Console\Formatter;......
118f20 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 .interface.OutputFormatterInterf
118f40 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 ace.{......public.function.setDe
118f60 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 corated($decorated);.......publi
118f80 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a c.function.isDecorated();.......
118fa0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c .public.function.setStyle($name,
118fc0 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 .OutputFormatterStyleInterface.$
118fe0 73 74 79 6c 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 style);.........public.function.
119000 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 hasStyle($name);...........publi
119020 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a c.function.getStyle($name);.....
119040 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 ....public.function.format($mess
119060 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 age);.}.<?php...........namespac
119080 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d e.Symfony\Component\Console\Form
1190a0 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f atter;..use.Symfony\Component\Co
1190c0 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 nsole\Exception\InvalidArgumentE
1190e0 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d xception;.......class.OutputForm
119100 61 74 74 65 72 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 46 6f 72 6d atterStyle.implements.OutputForm
119120 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 atterStyleInterface.{.private.st
119140 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 atic.$availableForegroundColors.
119160 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 =.array(.'black'.=>.array('set'.
119180 3d 3e 20 33 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 72 65 64 27 20 3d 3e 20 =>.30,.'unset'.=>.39),.'red'.=>.
1191a0 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 array('set'.=>.31,.'unset'.=>.39
1191c0 29 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 32 2c ),.'green'.=>.array('set'.=>.32,
1191e0 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 79 65 6c 6c 6f 77 27 20 3d 3e 20 61 72 72 .'unset'.=>.39),.'yellow'.=>.arr
119200 61 79 28 27 73 65 74 27 20 3d 3e 20 33 33 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a ay('set'.=>.33,.'unset'.=>.39),.
119220 27 62 6c 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 34 2c 20 27 75 6e 'blue'.=>.array('set'.=>.34,.'un
119240 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 72 72 61 79 28 set'.=>.39),.'magenta'.=>.array(
119260 27 73 65 74 27 20 3d 3e 20 33 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 63 79 'set'.=>.35,.'unset'.=>.39),.'cy
119280 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 36 2c 20 27 75 6e 73 65 74 an'.=>.array('set'.=>.36,.'unset
1192a0 27 20 3d 3e 20 33 39 29 2c 0a 27 77 68 69 74 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 '.=>.39),.'white'.=>.array('set'
1192c0 20 3d 3e 20 33 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 64 65 66 61 75 6c 74 .=>.37,.'unset'.=>.39),.'default
1192e0 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 39 2c 20 27 75 6e 73 65 74 27 20 '.=>.array('set'.=>.39,.'unset'.
119300 3d 3e 20 33 39 29 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c =>.39),.);.private.static.$avail
119320 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 62 ableBackgroundColors.=.array(.'b
119340 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 30 2c 20 27 75 6e 73 lack'.=>.array('set'.=>.40,.'uns
119360 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 72 65 64 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 et'.=>.49),.'red'.=>.array('set'
119380 20 3d 3e 20 34 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 67 72 65 65 6e 27 20 .=>.41,.'unset'.=>.49),.'green'.
1193a0 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e =>.array('set'.=>.42,.'unset'.=>
1193c0 20 34 39 29 2c 0a 27 79 65 6c 6c 6f 77 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e .49),.'yellow'.=>.array('set'.=>
1193e0 20 34 33 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 62 6c 75 65 27 20 3d 3e 20 61 .43,.'unset'.=>.49),.'blue'.=>.a
119400 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 rray('set'.=>.44,.'unset'.=>.49)
119420 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 35 ,.'magenta'.=>.array('set'.=>.45
119440 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 ,.'unset'.=>.49),.'cyan'.=>.arra
119460 79 28 27 73 65 74 27 20 3d 3e 20 34 36 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 y('set'.=>.46,.'unset'.=>.49),.'
119480 77 68 69 74 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 37 2c 20 27 75 6e white'.=>.array('set'.=>.47,.'un
1194a0 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 61 72 72 61 79 28 set'.=>.49),.'default'.=>.array(
1194c0 27 73 65 74 27 20 3d 3e 20 34 39 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 29 3b 0a 'set'.=>.49,.'unset'.=>.49),.);.
1194e0 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 private.static.$availableOptions
119500 20 3d 20 61 72 72 61 79 28 0a 27 62 6f 6c 64 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 .=.array(.'bold'.=>.array('set'.
119520 3d 3e 20 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 32 29 2c 0a 27 75 6e 64 65 72 73 63 6f 72 =>.1,.'unset'.=>.22),.'underscor
119540 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 2c 20 27 75 6e 73 65 74 27 20 e'.=>.array('set'.=>.4,.'unset'.
119560 3d 3e 20 32 34 29 2c 0a 27 62 6c 69 6e 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d =>.24),.'blink'.=>.array('set'.=
119580 3e 20 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 35 29 2c 0a 27 72 65 76 65 72 73 65 27 20 3d >.5,.'unset'.=>.25),.'reverse'.=
1195a0 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 >.array('set'.=>.7,.'unset'.=>.2
1195c0 37 29 2c 0a 27 63 6f 6e 63 65 61 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 7),.'conceal'.=>.array('set'.=>.
1195e0 38 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 38 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 8,.'unset'.=>.28),.);..private.$
119600 66 6f 72 65 67 72 6f 75 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 62 61 63 6b 67 72 6f 75 6e 64 3b foreground;.private.$background;
119620 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a .private.$options.=.array();....
119640 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
119660 28 24 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 24 62 61 63 6b 67 72 6f 75 6e 64 ($foreground.=.null,.$background
119680 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 .=.null,.array.$options.=.array(
1196a0 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b )).{.if.(null.!==.$foreground).{
1196c0 0a 24 74 68 69 73 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 66 6f 72 65 67 72 6f 75 6e .$this->setForeground($foregroun
1196e0 64 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 62 61 63 6b 67 72 6f 75 6e 64 29 20 d);.}.if.(null.!==.$background).
119700 7b 0a 24 74 68 69 73 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 62 61 63 6b 67 72 6f 75 {.$this->setBackground($backgrou
119720 6e 64 29 3b 0a 7d 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 24 nd);.}.if.(\count($options)).{.$
119740 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a this->setOptions($options);.}.}.
119760 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 65 67 ........public.function.setForeg
119780 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 round($color.=.null).{.if.(null.
1197a0 3d 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 20 ===.$color).{.$this->foreground.
1197c0 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 =.null;..return;.}..if.(!isset(s
1197e0 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 tatic::$availableForegroundColor
119800 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 s[$color])).{.throw.new.InvalidA
119820 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 rgumentException(sprintf('Invali
119840 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 d.foreground.color.specified:."%
119860 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 20 24 63 6f 6c 6f s"..Expected.one.of.(%s)',.$colo
119880 72 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 r,.implode(',.',.array_keys(stat
1198a0 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 ic::$availableForegroundColors))
1198c0 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 ));.}..$this->foreground.=.stati
1198e0 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 c::$availableForegroundColors[$c
119900 6f 6c 6f 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e olor];.}.........public.function
119920 20 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a .setBackground($color.=.null).{.
119940 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 if.(null.===.$color).{.$this->ba
119960 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 ckground.=.null;..return;.}..if.
119980 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 (!isset(static::$availableBackgr
1199a0 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 oundColors[$color])).{.throw.new
1199c0 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
1199e0 66 28 27 49 6e 76 61 6c 69 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 73 70 65 63 f('Invalid.background.color.spec
119a00 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 ified:."%s"..Expected.one.of.(%s
119a20 29 27 2c 20 24 63 6f 6c 6f 72 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f )',.$color,.implode(',.',.array_
119a40 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e keys(static::$availableBackgroun
119a60 64 43 6f 6c 6f 72 73 29 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e dColors))));.}..$this->backgroun
119a80 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 d.=.static::$availableBackground
119aa0 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 Colors[$color];.}.........public
119ac0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 .function.setOption($option).{.i
119ae0 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 f.(!isset(static::$availableOpti
119b00 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c ons[$option])).{.throw.new.Inval
119b20 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 idArgumentException(sprintf('Inv
119b40 61 6c 69 64 20 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 alid.option.specified:."%s"..Exp
119b60 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 20 24 6f 70 74 69 6f 6e 2c 20 69 6d 70 ected.one.of.(%s)',.$option,.imp
119b80 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 lode(',.',.array_keys(static::$a
119ba0 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 29 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 6e vailableOptions))));.}..if.(!\in
119bc0 5f 61 72 72 61 79 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 _array(static::$availableOptions
119be0 5b 24 6f 70 74 69 6f 6e 5d 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 24 74 [$option],.$this->options)).{.$t
119c00 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 his->options[].=.static::$availa
119c20 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a bleOptions[$option];.}.}........
119c40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 .public.function.unsetOption($op
119c60 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 tion).{.if.(!isset(static::$avai
119c80 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 74 68 72 6f 77 20 lableOptions[$option])).{.throw.
119ca0 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 new.InvalidArgumentException(spr
119cc0 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 3a 20 intf('Invalid.option.specified:.
119ce0 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 20 24 6f 70 "%s"..Expected.one.of.(%s)',.$op
119d00 74 69 6f 6e 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 tion,.implode(',.',.array_keys(s
119d20 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 29 29 29 29 3b 0a 7d 0a tatic::$availableOptions))));.}.
119d40 0a 24 70 6f 73 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 73 74 61 74 69 63 3a 3a 24 61 76 .$pos.=.array_search(static::$av
119d60 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 2c 20 24 74 68 69 73 2d 3e ailableOptions[$option],.$this->
119d80 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a options);.if.(false.!==.$pos).{.
119da0 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 70 6f 73 5d 29 3b 0a 7d 0a 7d unset($this->options[$pos]);.}.}
119dc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 .....public.function.setOptions(
119de0 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 array.$options).{.$this->options
119e00 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 .=.array();..foreach.($options.a
119e20 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6f s.$option).{.$this->setOption($o
119e40 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ption);.}.}.........public.funct
119e60 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 0a 7b 0a 24 73 65 74 43 6f 64 65 73 20 3d 20 61 ion.apply($text).{.$setCodes.=.a
119e80 72 72 61 79 28 29 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a rray();.$unsetCodes.=.array();..
119ea0 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 29 20 if.(null.!==.$this->foreground).
119ec0 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e {.$setCodes[].=.$this->foregroun
119ee0 64 5b 27 73 65 74 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d d['set'];.$unsetCodes[].=.$this-
119f00 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c >foreground['unset'];.}.if.(null
119f20 20 21 3d 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 24 73 65 74 43 6f .!==.$this->background).{.$setCo
119f40 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 5b 27 73 65 74 27 5d des[].=.$this->background['set']
119f60 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f ;.$unsetCodes[].=.$this->backgro
119f80 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b 0a 7d 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 74 68 69 73 und['unset'];.}.if.(\count($this
119fa0 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 ->options)).{.foreach.($this->op
119fc0 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 tions.as.$option).{.$setCodes[].
119fe0 3d 20 24 6f 70 74 69 6f 6e 5b 27 73 65 74 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 =.$option['set'];.$unsetCodes[].
11a000 3d 20 24 6f 70 74 69 6f 6e 5b 27 75 6e 73 65 74 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 30 20 3d =.$option['unset'];.}.}..if.(0.=
11a020 3d 3d 20 5c 63 6f 75 6e 74 28 24 73 65 74 43 6f 64 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 ==.\count($setCodes)).{.return.$
11a040 74 65 78 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5c 30 33 33 5b 25 73 text;.}..return.sprintf("\033[%s
11a060 6d 25 73 5c 30 33 33 5b 25 73 6d 22 2c 20 69 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 73 65 74 43 m%s\033[%sm",.implode(';',.$setC
11a080 6f 64 65 73 29 2c 20 24 74 65 78 74 2c 20 69 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 75 6e 73 65 odes),.$text,.implode(';',.$unse
11a0a0 74 43 6f 64 65 73 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 tCodes));.}.}.<?php...........na
11a0c0 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c mespace.Symfony\Component\Consol
11a0e0 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 e\Formatter;.......interface.Out
11a100 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a putFormatterStyleInterface.{....
11a120 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 ..public.function.setForeground(
11a140 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $color.=.null);.......public.fun
11a160 63 74 69 6f 6e 20 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c ction.setBackground($color.=.nul
11a180 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 l);.......public.function.setOpt
11a1a0 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ion($option);.......public.funct
11a1c0 69 6f 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 70 75 ion.unsetOption($option);.....pu
11a1e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 blic.function.setOptions(array.$
11a200 6f 70 74 69 6f 6e 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f options);.........public.functio
11a220 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a n.apply($text);.}.<?php.........
11a240 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
11a260 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nsole\Formatter;..use.Symfony\Co
11a280 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 mponent\Console\Exception\Invali
11a2a0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 dArgumentException;.....class.Ou
11a2c0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 0a 7b 0a 0a 0a 0a 70 72 69 tputFormatterStyleStack.{....pri
11a2e0 76 61 74 65 20 24 73 74 79 6c 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 53 74 79 vate.$styles;..private.$emptySty
11a300 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 le;..public.function.__construct
11a320 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 (OutputFormatterStyleInterface.$
11a340 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 emptyStyle.=.null).{.$this->empt
11a360 79 53 74 79 6c 65 20 3d 20 24 65 6d 70 74 79 53 74 79 6c 65 20 3f 3a 20 6e 65 77 20 4f 75 74 70 yStyle.=.$emptyStyle.?:.new.Outp
11a380 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 utFormatterStyle();.$this->reset
11a3a0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 ();.}.....public.function.reset(
11a3c0 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a ).{.$this->styles.=.array();.}..
11a3e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 75 73 68 28 4f 75 74 70 75 74 46 6f ...public.function.push(OutputFo
11a400 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 7b 0a rmatterStyleInterface.$style).{.
11a420 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a $this->styles[].=.$style;.}.....
11a440 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 28 4f 75 74 70 75 74 46 6f ....public.function.pop(OutputFo
11a460 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 20 3d 20 6e rmatterStyleInterface.$style.=.n
11a480 75 6c 6c 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 29 ull).{.if.(empty($this->styles))
11a4a0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 0a .{.return.$this->emptyStyle;.}..
11a4c0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 74 79 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 if.(null.===.$style).{.return.ar
11a4e0 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 3b 0a 7d 0a 0a 66 6f 72 65 61 ray_pop($this->styles);.}..forea
11a500 63 68 20 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 2c ch.(array_reverse($this->styles,
11a520 20 74 72 75 65 29 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 73 74 61 63 6b 65 64 53 74 79 6c .true).as.$index.=>.$stackedStyl
11a540 65 29 20 7b 0a 69 66 20 28 24 73 74 79 6c 65 2d 3e 61 70 70 6c 79 28 27 27 29 20 3d 3d 3d 20 24 e).{.if.($style->apply('').===.$
11a560 73 74 61 63 6b 65 64 53 74 79 6c 65 2d 3e 61 70 70 6c 79 28 27 27 29 29 20 7b 0a 24 74 68 69 73 stackedStyle->apply('')).{.$this
11a580 2d 3e 73 74 79 6c 65 73 20 3d 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 73 ->styles.=.\array_slice($this->s
11a5a0 74 79 6c 65 73 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 63 tyles,.0,.$index);..return.$stac
11a5c0 6b 65 64 53 74 79 6c 65 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 kedStyle;.}.}..throw.new.Invalid
11a5e0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 63 6f 72 72 65 63 74 6c 79 20 6e ArgumentException('Incorrectly.n
11a600 65 73 74 65 64 20 73 74 79 6c 65 20 74 61 67 20 66 6f 75 6e 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a ested.style.tag.found.');.}.....
11a620 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 28 29 0a 7b ..public.function.getCurrent().{
11a640 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 29 20 7b 0a 72 65 74 .if.(empty($this->styles)).{.ret
11a660 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e urn.$this->emptyStyle;.}..return
11a680 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 79 .$this->styles[\count($this->sty
11a6a0 6c 65 73 29 20 2d 20 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e les).-.1];.}.....public.function
11a6c0 20 73 65 74 45 6d 70 74 79 53 74 79 6c 65 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 .setEmptyStyle(OutputFormatterSt
11a6e0 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 74 79 53 74 79 6c 65 29 0a 7b 0a 24 74 68 69 yleInterface.$emptyStyle).{.$thi
11a700 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 24 65 6d 70 74 79 53 74 79 6c 65 3b 0a 0a 72 65 s->emptyStyle.=.$emptyStyle;..re
11a720 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f turn.$this;.}.....public.functio
11a740 6e 20 67 65 74 45 6d 70 74 79 53 74 79 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 n.getEmptyStyle().{.return.$this
11a760 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ->emptyStyle;.}.}.<?php.........
11a780 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
11a7a0 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 nsole\Helper;.........class.Debu
11a7c0 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a gFormatterHelper.extends.Helper.
11a7e0 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 27 62 6c 61 63 6b {.private.$colors.=.array('black
11a800 27 2c 20 27 72 65 64 27 2c 20 27 67 72 65 65 6e 27 2c 20 27 79 65 6c 6c 6f 77 27 2c 20 27 62 6c ',.'red',.'green',.'yellow',.'bl
11a820 75 65 27 2c 20 27 6d 61 67 65 6e 74 61 27 2c 20 27 63 79 61 6e 27 2c 20 27 77 68 69 74 65 27 2c ue',.'magenta',.'cyan',.'white',
11a840 20 27 64 65 66 61 75 6c 74 27 29 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 65 64 20 3d 20 .'default');.private.$started.=.
11a860 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 75 6e 74 20 3d 20 2d 31 3b 0a 0a 0a array();.private.$count.=.-1;...
11a880 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 69 ........public.function.start($i
11a8a0 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 70 72 65 66 69 78 20 3d 20 27 52 55 4e 27 29 0a 7b 0a d,.$message,.$prefix.=.'RUN').{.
11a8c0 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 20 3d 20 61 72 72 61 79 28 27 62 6f 72 $this->started[$id].=.array('bor
11a8e0 64 65 72 27 20 3d 3e 20 2b 2b 24 74 68 69 73 2d 3e 63 6f 75 6e 74 20 25 20 5c 63 6f 75 6e 74 28 der'.=>.++$this->count.%.\count(
11a900 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 $this->colors));..return.sprintf
11a920 28 22 25 73 3c 62 67 3d 62 6c 75 65 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 3c 66 ("%s<bg=blue;fg=white>.%s.</>.<f
11a940 67 3d 62 6c 75 65 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 g=blue>%s</>\n",.$this->getBorde
11a960 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a r($id),.$prefix,.$message);.}...
11a980 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 ..........public.function.progre
11a9a0 73 73 28 24 69 64 2c 20 24 62 75 66 66 65 72 2c 20 24 65 72 72 6f 72 20 3d 20 66 61 6c 73 65 2c ss($id,.$buffer,.$error.=.false,
11a9c0 20 24 70 72 65 66 69 78 20 3d 20 27 4f 55 54 27 2c 20 24 65 72 72 6f 72 50 72 65 66 69 78 20 3d .$prefix.=.'OUT',.$errorPrefix.=
11a9e0 20 27 45 52 52 27 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 0a 69 66 20 28 24 65 .'ERR').{.$message.=.'';..if.($e
11aa00 72 72 6f 72 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 rror).{.if.(isset($this->started
11aa20 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e [$id]['out'])).{.$message..=."\n
11aa40 22 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 ";.unset($this->started[$id]['ou
11aa60 74 27 5d 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 t']);.}.if.(!isset($this->starte
11aa80 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 d[$id]['err'])).{.$message..=.sp
11aaa0 72 69 6e 74 66 28 27 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f rintf('%s<bg=red;fg=white>.%s.</
11aac0 3e 20 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 65 72 72 >.',.$this->getBorder($id),.$err
11aae0 6f 72 50 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 orPrefix);.$this->started[$id]['
11ab00 65 72 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 74 72 err'].=.true;.}..$message..=.str
11ab20 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 73 70 72 69 6e 74 66 28 22 5c 6e 25 73 3c 62 67 3d _replace("\n",.sprintf("\n%s<bg=
11ab40 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 22 2c 20 24 74 68 69 73 2d 3e 67 red;fg=white>.%s.</>.",.$this->g
11ab60 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 65 72 72 6f 72 50 72 65 66 69 78 29 2c 20 24 62 etBorder($id),.$errorPrefix),.$b
11ab80 75 66 66 65 72 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 uffer);.}.else.{.if.(isset($this
11aba0 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 ->started[$id]['err'])).{.$messa
11abc0 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 ge..=."\n";.unset($this->started
11abe0 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 [$id]['err']);.}.if.(!isset($thi
11ac00 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 24 6d 65 73 73 s->started[$id]['out'])).{.$mess
11ac20 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 age..=.sprintf('%s<bg=green;fg=w
11ac40 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 hite>.%s.</>.',.$this->getBorder
11ac60 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b ($id),.$prefix);.$this->started[
11ac80 24 69 64 5d 5b 27 6f 75 74 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 $id]['out'].=.true;.}..$message.
11aca0 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 73 70 72 69 6e 74 66 28 22 5c 6e .=.str_replace("\n",.sprintf("\n
11acc0 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 22 2c 20 %s<bg=green;fg=white>.%s.</>.",.
11ace0 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 2c $this->getBorder($id),.$prefix),
11ad00 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a 7d .$buffer);.}..return.$message;.}
11ad20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 ............public.function.stop
11ad40 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 73 75 63 63 65 73 73 66 75 6c 2c 20 24 70 72 ($id,.$message,.$successful,.$pr
11ad60 65 66 69 78 20 3d 20 27 52 45 53 27 29 0a 7b 0a 24 74 72 61 69 6c 69 6e 67 45 4f 4c 20 3d 20 69 efix.=.'RES').{.$trailingEOL.=.i
11ad80 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 sset($this->started[$id]['out'])
11ada0 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 .||.isset($this->started[$id]['e
11adc0 72 72 27 5d 29 20 3f 20 22 5c 6e 22 20 3a 20 27 27 3b 0a 0a 69 66 20 28 24 73 75 63 63 65 73 73 rr']).?."\n".:.'';..if.($success
11ade0 66 75 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 25 73 25 73 3c 62 67 3d 67 ful).{.return.sprintf("%s%s<bg=g
11ae00 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 3c 66 67 3d 67 72 65 65 6e 3e reen;fg=white>.%s.</>.<fg=green>
11ae20 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 45 4f 4c 2c 20 24 74 68 69 73 2d 3e 67 %s</>\n",.$trailingEOL,.$this->g
11ae40 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 2c 20 24 6d 65 73 73 61 67 65 etBorder($id),.$prefix,.$message
11ae60 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 22 25 73 25 73 3c 62 );.}..$message.=.sprintf("%s%s<b
11ae80 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 3c 66 67 3d 72 65 64 3e 25 g=red;fg=white>.%s.</>.<fg=red>%
11aea0 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 45 4f 4c 2c 20 24 74 68 69 73 2d 3e 67 65 s</>\n",.$trailingEOL,.$this->ge
11aec0 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 2c 20 24 6d 65 73 73 61 67 65 29 tBorder($id),.$prefix,.$message)
11aee0 3b 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 ;..unset($this->started[$id]['ou
11af00 74 27 5d 2c 20 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 t'],.$this->started[$id]['err'])
11af20 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ;..return.$message;.}.......priv
11af40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 0a 7b 0a 72 65 ate.function.getBorder($id).{.re
11af60 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 62 67 3d 25 73 3e 20 3c 2f 3e 27 2c 20 24 74 68 69 turn.sprintf('<bg=%s>.</>',.$thi
11af80 73 2d 3e 63 6f 6c 6f 72 73 5b 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 62 s->colors[$this->started[$id]['b
11afa0 6f 72 64 65 72 27 5d 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e order']]);.}.....public.function
11afc0 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 65 62 75 67 5f 66 6f 72 6d 61 .getName().{.return.'debug_forma
11afe0 74 74 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 tter';.}.}.<?php...........names
11b000 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 pace.Symfony\Component\Console\H
11b020 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f elper;..use.Symfony\Component\Co
11b040 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 nsole\Descriptor\DescriptorInter
11b060 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
11b080 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 ole\Descriptor\JsonDescriptor;.u
11b0a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 se.Symfony\Component\Console\Des
11b0c0 63 72 69 70 74 6f 72 5c 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 criptor\MarkdownDescriptor;.use.
11b0e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 Symfony\Component\Console\Descri
11b100 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ptor\TextDescriptor;.use.Symfony
11b120 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d \Component\Console\Descriptor\Xm
11b140 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 lDescriptor;.use.Symfony\Compone
11b160 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 nt\Console\Exception\InvalidArgu
11b180 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f mentException;.use.Symfony\Compo
11b1a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 nent\Console\Output\OutputInterf
11b1c0 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 ace;.......class.DescriptorHelpe
11b1e0 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 r.extends.Helper.{....private.$d
11b200 65 73 63 72 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 escriptors.=.array();..public.fu
11b220 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 72 nction.__construct().{.$this.->r
11b240 65 67 69 73 74 65 72 28 27 74 78 74 27 2c 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f egister('txt',.new.TextDescripto
11b260 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 78 6d 6c 27 2c 20 6e 65 77 20 58 6d 6c 44 65 r()).->register('xml',.new.XmlDe
11b280 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 6a 73 6f 6e 27 2c 20 6e scriptor()).->register('json',.n
11b2a0 65 77 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 ew.JsonDescriptor()).->register(
11b2c0 27 6d 64 27 2c 20 6e 65 77 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 'md',.new.MarkdownDescriptor()).
11b2e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ;.}...............public.functio
11b300 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 n.describe(OutputInterface.$outp
11b320 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 ut,.$object,.array.$options.=.ar
11b340 72 61 79 28 29 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 ray()).{.$options.=.array_merge(
11b360 61 72 72 61 79 28 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 66 6f 72 array(.'raw_text'.=>.false,.'for
11b380 6d 61 74 27 20 3d 3e 20 27 74 78 74 27 2c 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 mat'.=>.'txt',.),.$options);..if
11b3a0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 5b 24 6f 70 74 .(!isset($this->descriptors[$opt
11b3c0 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e ions['format']])).{.throw.new.In
11b3e0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 validArgumentException(sprintf('
11b400 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 25 73 22 2e 27 2c 20 24 6f 70 74 69 Unsupported.format."%s".',.$opti
11b420 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 29 29 3b 0a 7d 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 ons['format']));.}..$descriptor.
11b440 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 =.$this->descriptors[$options['f
11b460 6f 72 6d 61 74 27 5d 5d 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 ormat']];.$descriptor->describe(
11b480 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a $output,.$object,.$options);.}..
11b4a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 ........public.function.register
11b4c0 28 24 66 6f 72 6d 61 74 2c 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 20 24 64 ($format,.DescriptorInterface.$d
11b4e0 65 73 63 72 69 70 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 5b escriptor).{.$this->descriptors[
11b500 24 66 6f 72 6d 61 74 5d 20 3d 20 24 64 65 73 63 72 69 70 74 6f 72 3b 0a 0a 72 65 74 75 72 6e 20 $format].=.$descriptor;..return.
11b520 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 $this;.}.....public.function.get
11b540 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 65 73 63 72 69 70 74 6f 72 27 3b 0a 7d 0a Name().{.return.'descriptor';.}.
11b560 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
11b580 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 ony\Component\Console\Helper;..u
11b5a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
11b5c0 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b eption\InvalidArgumentException;
11b5e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
11b600 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 xception\RuntimeException;.use.S
11b620 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 ymfony\Component\Console\Formatt
11b640 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d er\OutputFormatterStyle;.use.Sym
11b660 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f fony\Component\Console\Output\Co
11b680 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e nsoleOutputInterface;.use.Symfon
11b6a0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 y\Component\Console\Output\Outpu
11b6c0 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 69 61 6c 6f tInterface;..........class.Dialo
11b6e0 67 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 gHelper.extends.InputAwareHelper
11b700 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 70 72 69 76 61 74 65 .{.private.$inputStream;.private
11b720 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 .static.$shell;.private.static.$
11b740 73 74 74 79 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 stty;..public.function.__constru
11b760 63 74 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 ct($triggerDeprecationError.=.tr
11b780 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 ue).{.if.($triggerDeprecationErr
11b7a0 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 or).{.@trigger_error('"Symfony\C
11b7c0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 69 61 6c 6f 67 48 65 omponent\Console\Helper\DialogHe
11b7e0 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e lper".is.deprecated.since.Symfon
11b800 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 y.2.5.and.will.be.removed.in.3.0
11b820 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ..Use."Symfony\Component\Console
11b840 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 22 20 69 6e 73 74 65 61 64 2e \Helper\QuestionHelper".instead.
11b860 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a ',.E_USER_DEPRECATED);.}.}......
11b880 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 ...........public.function.selec
11b8a0 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 t(OutputInterface.$output,.$ques
11b8c0 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c tion,.$choices,.$default.=.null,
11b8e0 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 .$attempts.=.false,.$errorMessag
11b900 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 e.=.'Value."%s".is.invalid',.$mu
11b920 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 ltiselect.=.false).{.if.($output
11b940 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 .instanceof.ConsoleOutputInterfa
11b960 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f ce).{.$output.=.$output->getErro
11b980 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 rOutput();.}..$width.=.max(array
11b9a0 5f 6d 61 70 28 27 73 74 72 6c 65 6e 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 68 6f 69 63 _map('strlen',.array_keys($choic
11b9c0 65 73 29 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 71 75 65 es)));..$messages.=.(array).$que
11b9e0 73 74 69 6f 6e 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 6f 69 63 65 73 20 61 73 20 24 6b 65 79 stion;.foreach.($choices.as.$key
11ba00 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 .=>.$value).{.$messages[].=.spri
11ba20 6e 74 66 28 22 20 20 5b 3c 69 6e 66 6f 3e 25 2d 7b 24 77 69 64 74 68 7d 73 3c 2f 69 6e 66 6f 3e ntf("..[<info>%-{$width}s</info>
11ba40 5d 20 25 73 22 2c 20 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 ].%s",.$key,.$value);.}..$output
11ba60 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d ->writeln($messages);..$result.=
11ba80 20 24 74 68 69 73 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 6f 75 74 70 75 74 2c 20 .$this->askAndValidate($output,.
11baa0 27 3e 20 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 69 63 6b 65 64 29 20 75 73 65 20 28 24 63 '>.',.function.($picked).use.($c
11bac0 68 6f 69 63 65 73 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 6d 75 6c 74 69 73 65 6c hoices,.$errorMessage,.$multisel
11bae0 65 63 74 29 20 7b 0a 0a 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 73 74 72 5f ect).{...$selectedChoices.=.str_
11bb00 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 27 2c 20 24 70 69 63 6b 65 64 29 3b 0a 0a 69 66 20 28 replace('.',.'',.$picked);..if.(
11bb20 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 $multiselect).{...if.(!preg_matc
11bb40 68 28 27 2f 5e 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 28 3f 3a 2c 5b 61 2d 7a 41 2d 5a 30 2d h('/^[a-zA-Z0-9_-]+(?:,[a-zA-Z0-
11bb60 39 5f 2d 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 2c 20 24 6d 9_-]+)*$/',.$selectedChoices,.$m
11bb80 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 atches)).{.throw.new.InvalidArgu
11bba0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 mentException(sprintf($errorMess
11bbc0 61 67 65 2c 20 24 70 69 63 6b 65 64 29 29 3b 0a 7d 0a 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 age,.$picked));.}.$selectedChoic
11bbe0 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 es.=.explode(',',.$selectedChoic
11bc00 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d es);.}.else.{.$selectedChoices.=
11bc20 20 61 72 72 61 79 28 24 70 69 63 6b 65 64 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 .array($picked);.}..$multiselect
11bc40 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 65 Choices.=.array();..foreach.($se
11bc60 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 65 lectedChoices.as.$value).{.if.(e
11bc80 6d 70 74 79 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 mpty($choices[$value])).{.throw.
11bca0 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 new.InvalidArgumentException(spr
11bcc0 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a intf($errorMessage,.$value));.}.
11bce0 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a $multiselectChoices[].=.$value;.
11bd00 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d }..if.($multiselect).{.return.$m
11bd20 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 69 ultiselectChoices;.}..return.$pi
11bd40 63 6b 65 64 3b 0a 7d 2c 20 24 61 74 74 65 6d 70 74 73 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a cked;.},.$attempts,.$default);..
11bd60 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 return.$result;.}..............p
11bd80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ublic.function.ask(OutputInterfa
11bda0 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 ce.$output,.$question,.$default.
11bdc0 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 6e 75 =.null,.array.$autocomplete.=.nu
11bde0 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 26 26 20 21 24 74 68 69 73 ll).{.if.($this->input.&&.!$this
11be00 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 ->input->isInteractive()).{.retu
11be20 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 rn.$default;.}..if.($output.inst
11be40 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b anceof.ConsoleOutputInterface).{
11be60 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 .$output.=.$output->getErrorOutp
11be80 75 74 28 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f ut();.}..$output->write($questio
11bea0 6e 29 3b 0a 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 n);..$inputStream.=.$this->input
11bec0 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 Stream.?:.STDIN;..if.(null.===.$
11bee0 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 autocomplete.||.!$this->hasSttyA
11bf00 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 vailable()).{.$ret.=.fgets($inpu
11bf20 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 tStream,.4096);.if.(false.===.$r
11bf40 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e et).{.throw.new.RuntimeException
11bf60 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 72 65 74 29 ('Aborted');.}.$ret.=.trim($ret)
11bf80 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 27 27 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 ;.}.else.{.$ret.=.'';..$i.=.0;.$
11bfa0 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 ofs.=.-1;.$matches.=.$autocomple
11bfc0 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 te;.$numMatches.=.\count($matche
11bfe0 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 s);..$sttyMode.=.shell_exec('stt
11c000 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 69 63 61 y.-g');....shell_exec('stty.-ica
11c020 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d non.-echo');....$output->getForm
11c040 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 27 68 6c 27 2c 20 6e 65 77 20 4f 75 74 70 atter()->setStyle('hl',.new.Outp
11c060 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 77 68 69 74 65 utFormatterStyle('black',.'white
11c080 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 21 66 65 6f 66 28 24 69 6e 70 75 74 53 74 72 65 61 '));....while.(!feof($inputStrea
11c0a0 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 31 m)).{.$c.=.fread($inputStream,.1
11c0c0 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 30 );....if.("\177".===.$c).{.if.(0
11c0e0 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 26 26 20 30 20 21 3d 3d 20 24 69 29 20 7b 0a .===.$numMatches.&&.0.!==.$i).{.
11c100 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 31 44 22 --$i;...$output->write("\033[1D"
11c120 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 24 6f 66 73 20 3d 20 2d 31 3b );.}..if.(0.===.$i).{.$ofs.=.-1;
11c140 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d .$matches.=.$autocomplete;.$numM
11c160 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 7d 20 65 6c 73 atches.=.\count($matches);.}.els
11c180 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 0a 20 24 72 65 74 20 3d e.{.$numMatches.=.0;.}....$ret.=
11c1a0 20 73 75 62 73 74 72 28 24 72 65 74 2c 20 30 2c 20 24 69 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 .substr($ret,.0,.$i);.}.elseif.(
11c1c0 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 0a 20 24 63 20 2e 3d 20 66 72 65 61 64 28 24 "\033".===.$c).{...$c..=.fread($
11c1e0 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 32 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 inputStream,.2);....if.(isset($c
11c200 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 7c 7c 20 27 42 27 20 3d 3d [2]).&&.('A'.===.$c[2].||.'B'.==
11c220 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 26 26 =.$c[2])).{.if.('A'.===.$c[2].&&
11c240 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 20 3d 20 30 3b 0a 7d 0a 0a 69 66 20 .-1.===.$ofs).{.$ofs.=.0;.}..if.
11c260 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a (0.===.$numMatches).{.continue;.
11c280 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 20 3f 20 2d 31 20 }..$ofs.+=.('A'.===.$c[2]).?.-1.
11c2a0 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 2b 20 24 6f 66 73 29 :.1;.$ofs.=.($numMatches.+.$ofs)
11c2c0 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 5c 6f 72 64 .%.$numMatches;.}.}.elseif.(\ord
11c2e0 28 24 63 29 20 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 63 20 7c 7c 20 ($c).<.32).{.if.("\t".===.$c.||.
11c300 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e "\n".===.$c).{.if.($numMatches.>
11c320 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 72 65 74 20 3d 20 24 6d 61 74 .0.&&.-1.!==.$ofs).{.$ret.=.$mat
11c340 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 75 62 ches[$ofs];...$output->write(sub
11c360 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d 20 5c 73 74 72 6c 65 6e 28 24 72 65 str($ret,.$i));.$i.=.\strlen($re
11c380 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 24 6f 75 74 70 75 t);.}..if.("\n".===.$c).{.$outpu
11c3a0 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 6e 75 6d 4d 61 74 63 t->write($c);.break;.}..$numMatc
11c3c0 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 hes.=.0;.}..continue;.}.else.{.$
11c3e0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 72 65 74 20 2e 3d 20 24 63 3b 0a 2b output->write($c);.$ret..=.$c;.+
11c400 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 30 3b +$i;..$numMatches.=.0;.$ofs.=.0;
11c420 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 61 73 20 24 76 61 6c ..foreach.($autocomplete.as.$val
11c440 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 65 2c ue).{...if.(0.===.strpos($value,
11c460 20 24 72 65 74 29 20 26 26 20 24 69 20 21 3d 3d 20 5c 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 29 .$ret).&&.$i.!==.\strlen($value)
11c480 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 75 6d 4d 61 74 63 68 65 73 2b 2b 5d 20 3d 20 24 76 ).{.$matches[$numMatches++].=.$v
11c4a0 61 6c 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c alue;.}.}.}....$output->write("\
11c4c0 30 33 33 5b 4b 22 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 033[K");..if.($numMatches.>.0.&&
11c4e0 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 .-1.!==.$ofs).{...$output->write
11c500 28 22 5c 30 33 33 37 22 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 3c 68 6c ("\0337");...$output->write('<hl
11c520 3e 27 2e 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 2c 20 24 69 29 2e 27 3c >'.substr($matches[$ofs],.$i).'<
11c540 2f 68 6c 3e 27 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 38 22 /hl>');...$output->write("\0338"
11c560 29 3b 0a 7d 0a 7d 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 );.}.}....shell_exec(sprintf('st
11c580 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c ty.%s',.$sttyMode));.}..return.\
11c5a0 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 20 3f 20 24 72 65 74 20 3a 20 24 64 65 66 61 75 strlen($ret).>.0.?.$ret.:.$defau
11c5c0 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f lt;.}.............public.functio
11c5e0 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 n.askConfirmation(OutputInterfac
11c600 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d e.$output,.$question,.$default.=
11c620 20 74 72 75 65 29 0a 7b 0a 24 61 6e 73 77 65 72 20 3d 20 27 7a 27 3b 0a 77 68 69 6c 65 20 28 24 .true).{.$answer.=.'z';.while.($
11c640 61 6e 73 77 65 72 20 26 26 20 21 5c 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 answer.&&.!\in_array(strtolower(
11c660 24 61 6e 73 77 65 72 5b 30 5d 29 2c 20 61 72 72 61 79 28 27 79 27 2c 20 27 6e 27 29 29 29 20 7b $answer[0]),.array('y',.'n'))).{
11c680 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 .$answer.=.$this->ask($output,.$
11c6a0 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 65 66 question);.}..if.(false.===.$def
11c6c0 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 27 79 27 20 3d 3d ault).{.return.$answer.&&.'y'.==
11c6e0 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 .strtolower($answer[0]);.}..retu
11c700 72 6e 20 21 24 61 6e 73 77 65 72 20 7c 7c 20 27 79 27 20 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 rn.!$answer.||.'y'.==.strtolower
11c720 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ($answer[0]);.}.............publ
11c740 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 4f 75 ic.function.askHiddenResponse(Ou
11c760 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e tputInterface.$output,.$question
11c780 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 ,.$fallback.=.true).{.if.($outpu
11c7a0 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 t.instanceof.ConsoleOutputInterf
11c7c0 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 ace).{.$output.=.$output->getErr
11c7e0 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 orOutput();.}..if.('\\'.===.\DIR
11c800 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 78 65 20 3d 20 5f 5f 44 49 52 ECTORY_SEPARATOR).{.$exe.=.__DIR
11c820 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 __.'/../Resources/bin/hiddeninpu
11c840 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 t.exe';....if.('phar:'.===.subst
11c860 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 74 6d 70 45 78 65 20 3d 20 73 r(__FILE__,.0,.5)).{.$tmpExe.=.s
11c880 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e ys_get_temp_dir().'/hiddeninput.
11c8a0 65 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d 70 45 78 65 29 3b 0a 24 65 78 65 20 exe';.copy($exe,.$tmpExe);.$exe.
11c8c0 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 =.$tmpExe;.}..$output->write($qu
11c8e0 65 73 74 69 6f 6e 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 estion);.$value.=.rtrim(shell_ex
11c900 65 63 28 24 65 78 65 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b ec($exe));.$output->writeln('');
11c920 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 ..if.(isset($tmpExe)).{.unlink($
11c940 74 6d 70 45 78 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 tmpExe);.}..return.$value;.}..if
11c960 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 .($this->hasSttyAvailable()).{.$
11c980 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 73 74 74 79 output->write($question);..$stty
11c9a0 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 73 Mode.=.shell_exec('stty.-g');..s
11c9c0 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 65 63 68 6f 27 29 3b 0a 24 76 61 6c 75 65 20 hell_exec('stty.-echo');.$value.
11c9e0 3d 20 66 67 65 74 73 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f 3a 20 53 54 =.fgets($this->inputStream.?:.ST
11ca00 44 49 4e 2c 20 34 30 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 DIN,.4096);.shell_exec(sprintf('
11ca20 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 stty.%s',.$sttyMode));..if.(fals
11ca40 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d e.===.$value).{.throw.new.Runtim
11ca60 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 eException('Aborted');.}..$value
11ca80 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c .=.trim($value);.$output->writel
11caa0 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 n('');..return.$value;.}..if.(fa
11cac0 6c 73 65 20 21 3d 3d 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 65 6c 6c lse.!==.$shell.=.$this->getShell
11cae0 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b ()).{.$output->write($question);
11cb00 0a 24 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 20 3d 3d 3d 20 24 73 68 65 6c 6c 20 3f 20 27 .$readCmd.=.'csh'.===.$shell.?.'
11cb20 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 61 64 20 2d 72 20 set.mypassword.=.$<'.:.'read.-r.
11cb40 6d 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 mypassword';.$command.=.sprintf(
11cb60 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 73 74 74 79 20 2d 65 63 68 6f 3b "/usr/bin/env.%s.-c.'stty.-echo;
11cb80 20 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 20 5c 24 6d 79 70 61 73 73 77 6f 72 .%s;.stty.echo;.echo.\$mypasswor
11cba0 64 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d 64 29 3b 0a 24 76 61 6c 75 65 20 3d d'",.$shell,.$readCmd);.$value.=
11cbc0 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 24 6f .rtrim(shell_exec($command));.$o
11cbe0 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c utput->writeln('');..return.$val
11cc00 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 66 61 6c 6c 62 61 63 6b 29 20 7b 0a 72 65 74 75 72 6e 20 24 ue;.}..if.($fallback).{.return.$
11cc20 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d this->ask($output,.$question);.}
11cc40 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e ..throw.new.RuntimeException('Un
11cc60 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 70 6f 6e 73 65 27 29 3b 0a 7d 0a 0a able.to.hide.the.response');.}..
11cc80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ..................public.functio
11cca0 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 n.askAndValidate(OutputInterface
11ccc0 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c .$output,.$question,.$validator,
11cce0 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e .$attempts.=.false,.$default.=.n
11cd00 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 6e 75 6c 6c 29 ull,.array.$autocomplete.=.null)
11cd20 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 .{.$that.=.$this;..$interviewer.
11cd40 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 =.function.().use.($output,.$que
11cd60 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 2c 20 stion,.$default,.$autocomplete,.
11cd80 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e 61 73 6b 28 24 6f 75 74 70 $that).{.return.$that->ask($outp
11cda0 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 75 74 6f 63 6f ut,.$question,.$default,.$autoco
11cdc0 6d 70 6c 65 74 65 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 mplete);.};..return.$this->valid
11cde0 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 24 6f 75 74 70 75 ateAttempts($interviewer,.$outpu
11ce00 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 3b 0a 7d 0a 0a 0a 0a t,.$validator,.$attempts);.}....
11ce20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ................public.function.
11ce40 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 41 6e 64 56 61 6c 69 64 61 74 65 28 4f 75 74 askHiddenResponseAndValidate(Out
11ce60 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c putInterface.$output,.$question,
11ce80 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 .$validator,.$attempts.=.false,.
11cea0 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 69 $fallback.=.true).{.$that.=.$thi
11cec0 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 s;..$interviewer.=.function.().u
11cee0 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 se.($output,.$question,.$fallbac
11cf00 6b 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e 61 73 6b 48 69 64 k,.$that).{.return.$that->askHid
11cf20 64 65 6e 52 65 73 70 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 denResponse($output,.$question,.
11cf40 24 66 61 6c 6c 62 61 63 6b 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 $fallback);.};..return.$this->va
11cf60 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 24 6f 75 lidateAttempts($interviewer,.$ou
11cf80 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 3b 0a 7d 0a tput,.$validator,.$attempts);.}.
11cfa0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 ........public.function.setInput
11cfc0 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 Stream($stream).{.$this->inputSt
11cfe0 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ream.=.$stream;.}.......public.f
11d000 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 0a 7b 0a 72 65 74 75 72 unction.getInputStream().{.retur
11d020 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c n.$this->inputStream;.}.....publ
11d040 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 ic.function.getName().{.return.'
11d060 64 69 61 6c 6f 67 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f dialog';.}.......private.functio
11d080 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 n.getShell().{.if.(null.!==.self
11d0a0 3a 3a 24 73 68 65 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b ::$shell).{.return.self::$shell;
11d0c0 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 66 .}..self::$shell.=.false;..if.(f
11d0e0 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 27 29 29 20 7b 0a 0a 20 ile_exists('/usr/bin/env')).{...
11d100 24 74 65 73 74 20 3d 20 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 65 63 68 $test.=."/usr/bin/env.%s.-c.'ech
11d120 6f 20 4f 4b 27 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 22 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 o.OK'.2>./dev/null";.foreach.(ar
11d140 72 61 79 28 27 62 61 73 68 27 2c 20 27 7a 73 68 27 2c 20 27 6b 73 68 27 2c 20 27 63 73 68 27 29 ray('bash',.'zsh',.'ksh',.'csh')
11d160 20 61 73 20 24 73 68 29 20 7b 0a 69 66 20 28 27 4f 4b 27 20 3d 3d 3d 20 72 74 72 69 6d 28 73 68 .as.$sh).{.if.('OK'.===.rtrim(sh
11d180 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 24 74 65 73 74 2c 20 24 73 68 29 29 29 29 20 ell_exec(sprintf($test,.$sh)))).
11d1a0 7b 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d {.self::$shell.=.$sh;.break;.}.}
11d1c0 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 .}..return.self::$shell;.}..priv
11d1e0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 0a ate.function.hasSttyAvailable().
11d200 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 74 74 79 29 20 7b 0a 72 65 {.if.(null.!==.self::$stty).{.re
11d220 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b 0a 7d 0a 0a 65 78 65 63 28 27 73 74 74 79 20 turn.self::$stty;.}..exec('stty.
11d240 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 63 6f 64 65 29 3b 0a 0a 72 65 74 2>&1',.$output,.$exitcode);..ret
11d260 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d 20 30 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 urn.self::$stty.=.0.===.$exitcod
11d280 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 e;.}..............private.functi
11d2a0 6f 6e 20 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 on.validateAttempts($interviewer
11d2c0 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 76 61 6c 69 ,.OutputInterface.$output,.$vali
11d2e0 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 dator,.$attempts).{.if.($output.
11d300 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 instanceof.ConsoleOutputInterfac
11d320 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 e).{.$output.=.$output->getError
11d340 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 77 68 69 6c 65 20 28 66 Output();.}..$e.=.null;.while.(f
11d360 61 6c 73 65 20 3d 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 7c 7c 20 24 61 74 74 65 6d 70 74 73 2d alse.===.$attempts.||.$attempts-
11d380 2d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d -).{.if.(null.!==.$e).{.$output-
11d3a0 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e >writeln($this->getHelperSet()->
11d3c0 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 65 get('formatter')->formatBlock($e
11d3e0 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 29 3b 0a 7d 0a 0a 74 72 ->getMessage(),.'error'));.}..tr
11d400 79 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 76 61 6c 69 y.{.return.\call_user_func($vali
11d420 64 61 74 6f 72 2c 20 24 69 6e 74 65 72 76 69 65 77 65 72 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 dator,.$interviewer());.}.catch.
11d440 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b (\Exception.$e).{.}.}..throw.$e;
11d460 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
11d480 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b ymfony\Component\Console\Helper;
11d4a0 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
11d4c0 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a Formatter\OutputFormatter;......
11d4e0 0a 63 6c 61 73 73 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 .class.FormatterHelper.extends.H
11d500 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e elper.{..........public.function
11d520 20 66 6f 72 6d 61 74 53 65 63 74 69 6f 6e 28 24 73 65 63 74 69 6f 6e 2c 20 24 6d 65 73 73 61 67 .formatSection($section,.$messag
11d540 65 2c 20 24 73 74 79 6c 65 20 3d 20 27 69 6e 66 6f 27 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 e,.$style.=.'info').{.return.spr
11d560 69 6e 74 66 28 27 3c 25 73 3e 5b 25 73 5d 3c 2f 25 73 3e 20 25 73 27 2c 20 24 73 74 79 6c 65 2c intf('<%s>[%s]</%s>.%s',.$style,
11d580 20 24 73 65 63 74 69 6f 6e 2c 20 24 73 74 79 6c 65 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a .$section,.$style,.$message);.}.
11d5a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 ..........public.function.format
11d5c0 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 73 74 79 6c 65 2c 20 24 6c 61 72 67 65 20 Block($messages,.$style,.$large.
11d5e0 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 =.false).{.if.(!\is_array($messa
11d600 67 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 6d 65 73 73 61 ges)).{.$messages.=.array($messa
11d620 67 65 73 29 3b 0a 7d 0a 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 ges);.}..$len.=.0;.$lines.=.arra
11d640 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6d 65 73 73 y();.foreach.($messages.as.$mess
11d660 61 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 age).{.$message.=.OutputFormatte
11d680 72 3a 3a 65 73 63 61 70 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 r::escape($message);.$lines[].=.
11d6a0 73 70 72 69 6e 74 66 28 24 6c 61 72 67 65 20 3f 20 27 20 20 25 73 20 20 27 20 3a 20 27 20 25 73 sprintf($large.?.'..%s..'.:.'.%s
11d6c0 20 27 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 24 6c 65 6e 20 3d 20 6d 61 78 28 24 74 68 69 73 2d .',.$message);.$len.=.max($this-
11d6e0 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 20 2b 20 28 24 6c 61 72 67 65 20 3f 20 34 20 >strlen($message).+.($large.?.4.
11d700 3a 20 32 29 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 24 6c 61 72 :.2),.$len);.}..$messages.=.$lar
11d720 67 65 20 3f 20 61 72 72 61 79 28 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 ge.?.array(str_repeat('.',.$len)
11d740 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 ).:.array();.for.($i.=.0;.isset(
11d760 24 6c 69 6e 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d $lines[$i]);.++$i).{.$messages[]
11d780 20 3d 20 24 6c 69 6e 65 73 5b 24 69 5d 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c .=.$lines[$i].str_repeat('.',.$l
11d7a0 65 6e 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6c 69 6e 65 73 5b 24 69 5d 29 29 3b en.-.$this->strlen($lines[$i]));
11d7c0 0a 7d 0a 69 66 20 28 24 6c 61 72 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 .}.if.($large).{.$messages[].=.s
11d7e0 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 66 6f 72 20 28 24 69 tr_repeat('.',.$len);.}..for.($i
11d800 20 3d 20 30 3b 20 69 73 73 65 74 28 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 .=.0;.isset($messages[$i]);.++$i
11d820 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 25 73 ).{.$messages[$i].=.sprintf('<%s
11d840 3e 25 73 3c 2f 25 73 3e 27 2c 20 24 73 74 79 6c 65 2c 20 24 6d 65 73 73 61 67 65 73 5b 24 69 5d >%s</%s>',.$style,.$messages[$i]
11d860 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e ,.$style);.}..return.implode("\n
11d880 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ",.$messages);.}.....public.func
11d8a0 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 66 6f 72 6d 61 74 74 tion.getName().{.return.'formatt
11d8c0 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 er';.}.}.<?php...........namespa
11d8e0 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c ce.Symfony\Component\Console\Hel
11d900 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 per;..use.Symfony\Component\Cons
11d920 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 ole\Formatter\OutputFormatterInt
11d940 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 48 65 6c erface;.......abstract.class.Hel
11d960 70 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 0a 7b per.implements.HelperInterface.{
11d980 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a .protected.$helperSet.=.null;...
11d9a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 ..public.function.setHelperSet(H
11d9c0 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 elperSet.$helperSet.=.null).{.$t
11d9e0 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a his->helperSet.=.$helperSet;.}..
11da00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 ...public.function.getHelperSet(
11da20 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a ).{.return.$this->helperSet;.}..
11da40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 .......public.static.function.st
11da60 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 rlen($string).{.if.(false.===.$e
11da80 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 ncoding.=.mb_detect_encoding($st
11daa0 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 5c 73 74 72 ring,.null,.true)).{.return.\str
11dac0 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 77 69 len($string);.}..return.mb_strwi
11dae0 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c dth($string,.$encoding);.}..publ
11db00 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 54 69 6d 65 28 24 73 ic.static.function.formatTime($s
11db20 65 63 73 29 0a 7b 0a 73 74 61 74 69 63 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 3d 20 61 72 72 ecs).{.static.$timeFormats.=.arr
11db40 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3c 20 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 31 ay(.array(0,.'<.1.sec'),.array(1
11db60 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 32 2c 20 27 73 65 63 73 27 2c 20 31 29 2c ,.'1.sec'),.array(2,.'secs',.1),
11db80 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c 0a 61 72 72 61 79 28 31 32 30 2c 20 .array(60,.'1.min'),.array(120,.
11dba0 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 33 36 30 30 2c 20 27 31 20 68 72 27 29 'mins',.60),.array(3600,.'1.hr')
11dbc0 2c 0a 61 72 72 61 79 28 37 32 30 30 2c 20 27 68 72 73 27 2c 20 33 36 30 30 29 2c 0a 61 72 72 61 ,.array(7200,.'hrs',.3600),.arra
11dbe0 79 28 38 36 34 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 72 72 61 79 28 31 37 32 38 30 30 2c y(86400,.'1.day'),.array(172800,
11dc00 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 .'days',.86400),.);..foreach.($t
11dc20 69 6d 65 46 6f 72 6d 61 74 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 66 6f 72 6d 61 74 29 imeFormats.as.$index.=>.$format)
11dc40 20 7b 0a 69 66 20 28 24 73 65 63 73 20 3e 3d 20 24 66 6f 72 6d 61 74 5b 30 5d 29 20 7b 0a 69 66 .{.if.($secs.>=.$format[0]).{.if
11dc60 20 28 28 69 73 73 65 74 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 5b 24 69 6e 64 65 78 20 2b 20 31 .((isset($timeFormats[$index.+.1
11dc80 5d 29 20 26 26 20 24 73 65 63 73 20 3c 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 5b 24 69 6e 64 65 ]).&&.$secs.<.$timeFormats[$inde
11dca0 78 20 2b 20 31 5d 5b 30 5d 29 0a 7c 7c 20 24 69 6e 64 65 78 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 x.+.1][0]).||.$index.==.\count($
11dcc0 74 69 6d 65 46 6f 72 6d 61 74 73 29 20 2d 20 31 0a 29 20 7b 0a 69 66 20 28 32 20 3d 3d 20 5c 63 timeFormats).-.1.).{.if.(2.==.\c
11dce0 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 6f 72 6d 61 74 5b ount($format)).{.return.$format[
11dd00 31 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 73 65 63 73 20 2f 20 24 66 6f 72 1];.}..return.floor($secs./.$for
11dd20 6d 61 74 5b 32 5d 29 2e 27 20 27 2e 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a mat[2]).'.'.$format[1];.}.}.}.}.
11dd40 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 4d 65 .public.static.function.formatMe
11dd60 6d 6f 72 79 28 24 6d 65 6d 6f 72 79 29 0a 7b 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 mory($memory).{.if.($memory.>=.1
11dd80 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 024.*.1024.*.1024).{.return.spri
11dda0 6e 74 66 28 27 25 2e 31 66 20 47 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 30 32 34 20 2f ntf('%.1f.GiB',.$memory./.1024./
11ddc0 20 31 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d .1024./.1024);.}..if.($memory.>=
11dde0 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 .1024.*.1024).{.return.sprintf('
11de00 25 2e 31 66 20 4d 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 %.1f.MiB',.$memory./.1024./.1024
11de20 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 30 32 34 29 20 7b 0a 72 65 74 );.}..if.($memory.>=.1024).{.ret
11de40 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 4b 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 urn.sprintf('%d.KiB',.$memory./.
11de60 31 30 32 34 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 42 27 2c 1024);.}..return.sprintf('%d.B',
11de80 20 24 6d 65 6d 6f 72 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 .$memory);.}..public.static.func
11dea0 74 69 6f 6e 20 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 4f 75 74 tion.strlenWithoutDecoration(Out
11dec0 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 putFormatterInterface.$formatter
11dee0 2c 20 24 73 74 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 73 74 72 6c 65 6e ,.$string).{.return.self::strlen
11df00 28 73 65 6c 66 3a 3a 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 24 66 6f 72 6d 61 74 74 (self::removeDecoration($formatt
11df20 65 72 2c 20 24 73 74 72 69 6e 67 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 er,.$string));.}..public.static.
11df40 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 4f 75 74 70 75 74 function.removeDecoration(Output
11df60 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 FormatterInterface.$formatter,.$
11df80 73 74 72 69 6e 67 29 0a 7b 0a 24 69 73 44 65 63 6f 72 61 74 65 64 20 3d 20 24 66 6f 72 6d 61 74 string).{.$isDecorated.=.$format
11dfa0 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 2d 3e ter->isDecorated();.$formatter->
11dfc0 73 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b 0a 0a 20 24 73 74 72 69 6e 67 20 3d setDecorated(false);...$string.=
11dfe0 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 73 74 72 69 6e 67 29 3b 0a 0a 20 .$formatter->format($string);...
11e000 24 73 74 72 69 6e 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 22 2f 5c 30 33 33 5c 5b 5b $string.=.preg_replace("/\033\[[
11e020 5e 6d 5d 2a 6d 2f 22 2c 20 27 27 2c 20 24 73 74 72 69 6e 67 29 3b 0a 24 66 6f 72 6d 61 74 74 65 ^m]*m/",.'',.$string);.$formatte
11e040 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 69 73 44 65 63 6f 72 61 74 65 64 29 3b 0a 0a r->setDecorated($isDecorated);..
11e060 72 65 74 75 72 6e 20 24 73 74 72 69 6e 67 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a return.$string;.}.}.<?php.......
11e080 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
11e0a0 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 Console\Helper;.......interface.
11e0c0 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 HelperInterface.{....public.func
11e0e0 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c tion.setHelperSet(HelperSet.$hel
11e100 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e perSet.=.null);.......public.fun
11e120 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ction.getHelperSet();.......publ
11e140 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a ic.function.getName();.}.<?php..
11e160 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
11e180 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e nent\Console\Helper;..use.Symfon
11e1a0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d y\Component\Console\Command\Comm
11e1c0 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f and;.use.Symfony\Component\Conso
11e1e0 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 le\Exception\InvalidArgumentExce
11e200 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 65 6c 70 65 72 53 65 74 20 69 6d 70 ption;.......class.HelperSet.imp
11e220 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 0a 7b 0a 0a 0a 0a lements.\IteratorAggregate.{....
11e240 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 private.$helpers.=.array();.priv
11e260 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ate.$command;.....public.functio
11e280 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 68 65 6c 70 65 72 73 20 3d 20 61 n.__construct(array.$helpers.=.a
11e2a0 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 6c 70 65 72 73 20 61 73 20 24 rray()).{.foreach.($helpers.as.$
11e2c0 61 6c 69 61 73 20 3d 3e 20 24 68 65 6c 70 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 28 24 alias.=>.$helper).{.$this->set($
11e2e0 68 65 6c 70 65 72 2c 20 5c 69 73 5f 69 6e 74 28 24 61 6c 69 61 73 29 20 3f 20 6e 75 6c 6c 20 3a helper,.\is_int($alias).?.null.:
11e300 20 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$alias);.}.}........public.func
11e320 74 69 6f 6e 20 73 65 74 28 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 20 24 68 65 6c 70 65 72 tion.set(HelperInterface.$helper
11e340 2c 20 24 61 6c 69 61 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 ,.$alias.=.null).{.$this->helper
11e360 73 5b 24 68 65 6c 70 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 68 65 6c 70 65 72 3b s[$helper->getName()].=.$helper;
11e380 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 68 .if.(null.!==.$alias).{.$this->h
11e3a0 65 6c 70 65 72 73 5b 24 61 6c 69 61 73 5d 20 3d 20 24 68 65 6c 70 65 72 3b 0a 7d 0a 0a 24 68 65 elpers[$alias].=.$helper;.}..$he
11e3c0 6c 70 65 72 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a lper->setHelperSet($this);.}....
11e3e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a .....public.function.has($name).
11e400 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e {.return.isset($this->helpers[$n
11e420 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ame]);.}...........public.functi
11e440 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 28 on.get($name).{.if.(!$this->has(
11e460 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d $name)).{.throw.new.InvalidArgum
11e480 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 68 65 6c 70 65 72 entException(sprintf('The.helper
11e4a0 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b ."%s".is.not.defined.',.$name));
11e4c0 0a 7d 0a 0a 69 66 20 28 27 64 69 61 6c 6f 67 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 24 74 .}..if.('dialog'.===.$name.&&.$t
11e4e0 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 his->helpers[$name].instanceof.D
11e500 69 61 6c 6f 67 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 22 ialogHelper).{.@trigger_error('"
11e520 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
11e540 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e \DialogHelper".is.deprecated.sin
11e560 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 ce.Symfony.2.5.and.will.be.remov
11e580 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ed.in.3.0..Use."Symfony\Componen
11e5a0 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 22 t\Console\Helper\QuestionHelper"
11e5c0 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a .instead.',.E_USER_DEPRECATED);.
11e5e0 7d 20 65 6c 73 65 69 66 20 28 27 70 72 6f 67 72 65 73 73 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 }.elseif.('progress'.===.$name.&
11e600 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e 63 65 &.$this->helpers[$name].instance
11e620 6f 66 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 of.ProgressHelper).{.@trigger_er
11e640 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ror('"Symfony\Component\Console\
11e660 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 Helper\ProgressHelper".is.deprec
11e680 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.5.and.will.
11e6a0 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c be.removed.in.3.0..Use."Symfony\
11e6c0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 Component\Console\Helper\Progres
11e6e0 73 42 61 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 sBar".instead.',.E_USER_DEPRECAT
11e700 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 74 61 62 6c 65 27 20 3d 3d 3d 20 24 6e 61 6d 65 ED);.}.elseif.('table'.===.$name
11e720 20 26 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e .&&.$this->helpers[$name].instan
11e740 63 65 6f 66 20 54 61 62 6c 65 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 ceof.TableHelper).{.@trigger_err
11e760 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 or('"Symfony\Component\Console\H
11e780 65 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 elper\TableHelper".is.deprecated
11e7a0 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 .since.Symfony.2.5.and.will.be.r
11e7c0 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 emoved.in.3.0..Use."Symfony\Comp
11e7e0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 22 20 69 6e 73 74 onent\Console\Helper\Table".inst
11e800 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 72 65 ead.',.E_USER_DEPRECATED);.}..re
11e820 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 70 turn.$this->helpers[$name];.}..p
11e840 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e ublic.function.setCommand(Comman
11e860 64 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d d.$command.=.null).{.$this->comm
11e880 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 and.=.$command;.}.......public.f
11e8a0 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 unction.getCommand().{.return.$t
11e8c0 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->command;.}.....public.funct
11e8e0 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c ion.getIterator().{.return.new.\
11e900 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 29 3b 0a 7d ArrayIterator($this->helpers);.}
11e920 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
11e940 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a fony\Component\Console\Helper;..
11e960 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
11e980 70 75 74 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d put\InputAwareInterface;.use.Sym
11e9a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
11e9c0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 utInterface;.......abstract.clas
11e9e0 73 20 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 s.InputAwareHelper.extends.Helpe
11ea00 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 r.implements.InputAwareInterface
11ea20 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .{.protected.$input;.....public.
11ea40 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 function.setInput(InputInterface
11ea60 20 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 .$input).{.$this->input.=.$input
11ea80 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
11eaa0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
11eac0 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
11eae0 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a \Output\ConsoleOutputInterface;.
11eb00 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
11eb20 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tput\OutputInterface;.use.Symfon
11eb40 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 50 72 y\Component\Process\Exception\Pr
11eb60 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ocessFailedException;.use.Symfon
11eb80 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 75 73 65 y\Component\Process\Process;.use
11eba0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 .Symfony\Component\Process\Proce
11ebc0 73 73 42 75 69 6c 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 48 65 ssBuilder;.......class.ProcessHe
11ebe0 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a lper.extends.Helper.{...........
11ec00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 4f 75 74 70 75 74 49 6e 74 65 ..public.function.run(OutputInte
11ec20 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 rface.$output,.$cmd,.$error.=.nu
11ec40 6c 6c 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 ll,.$callback.=.null,.$verbosity
11ec60 20 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 .=.OutputInterface::VERBOSITY_VE
11ec80 52 59 5f 56 45 52 42 4f 53 45 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e RY_VERBOSE).{.if.($output.instan
11eca0 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 ceof.ConsoleOutputInterface).{.$
11ecc0 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 output.=.$output->getErrorOutput
11ece0 28 29 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 ();.}..$formatter.=.$this->getHe
11ed00 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 lperSet()->get('debug_formatter'
11ed20 29 3b 0a 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 63 6d 64 29 29 20 7b 0a 24 70 72 6f 63 );..if.(\is_array($cmd)).{.$proc
11ed40 65 73 73 20 3d 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3a 3a 63 72 65 61 74 65 28 24 63 6d ess.=.ProcessBuilder::create($cm
11ed60 64 29 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 6d 64 d)->getProcess();.}.elseif.($cmd
11ed80 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 63 65 73 73 29 20 7b 0a 24 70 72 6f 63 65 73 73 20 .instanceof.Process).{.$process.
11eda0 3d 20 24 63 6d 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 =.$cmd;.}.else.{.$process.=.new.
11edc0 50 72 6f 63 65 73 73 28 24 63 6d 64 29 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 Process($cmd);.}..if.($verbosity
11ede0 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 .<=.$output->getVerbosity()).{.$
11ee00 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 74 61 72 74 28 output->write($formatter->start(
11ee20 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f 63 65 73 73 29 2c 20 24 74 68 69 73 spl_object_hash($process),.$this
11ee40 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d ->escapeString($process->getComm
11ee60 61 6e 64 4c 69 6e 65 28 29 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 69 73 andLine())));.}..if.($output->is
11ee80 44 65 62 75 67 28 29 29 20 7b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 77 72 Debug()).{.$callback.=.$this->wr
11eea0 61 70 43 61 6c 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 63 apCallback($output,.$process,.$c
11eec0 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 24 63 61 6c 6c allback);.}..$process->run($call
11eee0 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 24 6f 75 74 70 75 back);..if.($verbosity.<=.$outpu
11ef00 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 t->getVerbosity()).{.$message.=.
11ef20 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 20 3f 20 27 43 6f 6d 6d $process->isSuccessful().?.'Comm
11ef40 61 6e 64 20 72 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 27 20 3a 20 73 70 72 69 6e 74 66 28 and.ran.successfully'.:.sprintf(
11ef60 27 25 73 20 43 6f 6d 6d 61 6e 64 20 64 69 64 20 6e 6f 74 20 72 75 6e 20 73 75 63 63 65 73 73 66 '%s.Command.did.not.run.successf
11ef80 75 6c 6c 79 27 2c 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 29 3b ully',.$process->getExitCode());
11efa0 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 74 6f 70 .$output->write($formatter->stop
11efc0 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f 63 65 73 73 29 2c 20 24 6d 65 73 (spl_object_hash($process),.$mes
11efe0 73 61 67 65 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 29 sage,.$process->isSuccessful()))
11f000 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c ;.}..if.(!$process->isSuccessful
11f020 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 6f 75 74 70 75 74 ().&&.null.!==.$error).{.$output
11f040 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 3c 2f 65 72 ->writeln(sprintf('<error>%s</er
11f060 72 6f 72 3e 27 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 65 72 72 6f ror>',.$this->escapeString($erro
11f080 72 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a r)));.}..return.$process;.}.....
11f0a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d ...............public.function.m
11f0c0 75 73 74 52 75 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 ustRun(OutputInterface.$output,.
11f0e0 24 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d $cmd,.$error.=.null,.$callback.=
11f100 20 6e 75 6c 6c 29 0a 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6e 28 24 .null).{.$process.=.$this->run($
11f120 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 2c 20 24 63 61 6c 6c 62 61 63 6b 29 output,.$cmd,.$error,.$callback)
11f140 3b 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 ;..if.(!$process->isSuccessful()
11f160 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 ).{.throw.new.ProcessFailedExcep
11f180 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 tion($process);.}..return.$proce
11f1a0 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ss;.}...........public.function.
11f1c0 77 72 61 70 43 61 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 wrapCallback(OutputInterface.$ou
11f1e0 74 70 75 74 2c 20 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 tput,.Process.$process,.$callbac
11f200 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 k.=.null).{.if.($output.instance
11f220 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 of.ConsoleOutputInterface).{.$ou
11f240 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 tput.=.$output->getErrorOutput()
11f260 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 ;.}..$formatter.=.$this->getHelp
11f280 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 29 3b erSet()->get('debug_formatter');
11f2a0 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f ..$that.=.$this;..return.functio
11f2c0 6e 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c n.($type,.$buffer).use.($output,
11f2e0 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 66 6f 72 6d 61 74 74 65 72 .$process,.$callback,.$formatter
11f300 2c 20 24 74 68 61 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 ,.$that).{.$output->write($forma
11f320 74 74 65 72 2d 3e 70 72 6f 67 72 65 73 73 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 tter->progress(spl_object_hash($
11f340 70 72 6f 63 65 73 73 29 2c 20 24 74 68 61 74 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 62 process),.$that->escapeString($b
11f360 75 66 66 65 72 29 2c 20 50 72 6f 63 65 73 73 3a 3a 45 52 52 20 3d 3d 3d 20 24 74 79 70 65 29 29 uffer),.Process::ERR.===.$type))
11f380 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 5c 63 61 ;..if.(null.!==.$callback).{.\ca
11f3a0 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 2c 20 24 ll_user_func($callback,.$type,.$
11f3c0 62 75 66 66 65 72 29 3b 0a 7d 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e buffer);.}.};.}.......public.fun
11f3e0 63 74 69 6f 6e 20 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 ction.escapeString($str).{.retur
11f400 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3c 27 2c 20 27 5c 5c 3c 27 2c 20 24 73 74 72 29 3b n.str_replace('<',.'\\<',.$str);
11f420 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 .}.....public.function.getName()
11f440 0a 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 63 65 73 73 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a .{.return.'process';.}.}.<?php..
11f460 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
11f480 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e nent\Console\Helper;..use.Symfon
11f4a0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f y\Component\Console\Exception\Lo
11f4c0 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e gicException;.use.Symfony\Compon
11f4e0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 ent\Console\Output\ConsoleOutput
11f500 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
11f520 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
11f540 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 42 61 72 0a 7b 0a 70 72 69 76 ........class.ProgressBar.{.priv
11f560 61 74 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a 70 72 69 76 61 74 65 20 24 62 61 72 ate.$barWidth.=.28;.private.$bar
11f580 43 68 61 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 27 2d Char;.private.$emptyBarChar.=.'-
11f5a0 27 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 27 3e 27 3b 0a ';.private.$progressChar.=.'>';.
11f5c0 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 74 65 72 6e private.$format;.private.$intern
11f5e0 61 6c 46 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d 20 alFormat;.private.$redrawFreq.=.
11f600 31 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 65 1;.private.$output;.private.$ste
11f620 70 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 70 72 69 76 61 74 65 20 24 73 74 p.=.0;.private.$max;.private.$st
11f640 61 72 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 65 70 57 69 64 74 68 3b 0a 70 72 69 artTime;.private.$stepWidth;.pri
11f660 76 61 74 65 20 24 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 70 72 69 76 61 74 65 20 24 66 6f vate.$percent.=.0.0;.private.$fo
11f680 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 73 rmatLineCount;.private.$messages
11f6a0 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6f 76 65 72 77 72 69 74 65 20 3d .=.array();.private.$overwrite.=
11f6c0 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 66 69 72 73 74 52 75 6e 20 3d 20 74 72 75 65 3b .true;.private.$firstRun.=.true;
11f6e0 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 74 65 72 73 3b 0a 70 72 ..private.static.$formatters;.pr
11f700 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c ivate.static.$formats;......publ
11f720 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e ic.function.__construct(OutputIn
11f740 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 69 66 20 terface.$output,.$max.=.0).{.if.
11f760 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 ($output.instanceof.ConsoleOutpu
11f780 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d tInterface).{.$output.=.$output-
11f7a0 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 >getErrorOutput();.}..$this->out
11f7c0 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 put.=.$output;.$this->setMaxStep
11f7e0 73 28 24 6d 61 78 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 s($max);..if.(!$this->output->is
11f800 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 Decorated()).{...$this->overwrit
11f820 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 52 65 64 72 61 77 46 72 e.=.false;....$this->setRedrawFr
11f840 65 71 75 65 6e 63 79 28 24 6d 61 78 20 2f 20 31 30 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 equency($max./.10);.}..$this->st
11f860 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 artTime.=.time();.}..........pub
11f880 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 61 63 65 68 6f 6c 64 lic.static.function.setPlacehold
11f8a0 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 63 61 erFormatterDefinition($name,.$ca
11f8c0 6c 6c 61 62 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 llable).{.if.(!self::$formatters
11f8e0 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e ).{.self::$formatters.=.self::in
11f900 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 73 65 itPlaceholderFormatters();.}..se
11f920 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 61 6c 6c 61 62 lf::$formatters[$name].=.$callab
11f940 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 le;.}.........public.static.func
11f960 74 69 6f 6e 20 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 tion.getPlaceholderFormatterDefi
11f980 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d nition($name).{.if.(!self::$form
11f9a0 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 atters).{.self::$formatters.=.se
11f9c0 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b lf::initPlaceholderFormatters();
11f9e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 .}..return.isset(self::$formatte
11fa00 72 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 rs[$name]).?.self::$formatters[$
11fa20 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 name].:.null;.}..........public.
11fa40 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 static.function.setFormatDefinit
11fa60 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 66 6f 72 6d 61 74 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a ion($name,.$format).{.if.(!self:
11fa80 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 :$formats).{.self::$formats.=.se
11faa0 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 lf::initFormats();.}..self::$for
11fac0 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a mats[$name].=.$format;.}........
11fae0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 .public.static.function.getForma
11fb00 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a tDefinition($name).{.if.(!self::
11fb20 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c $formats).{.self::$formats.=.sel
11fb40 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 f::initFormats();.}..return.isse
11fb60 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a t(self::$formats[$name]).?.self:
11fb80 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a :$formats[$name].:.null;.}......
11fba0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 ......public.function.setMessage
11fbc0 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 7b 0a ($message,.$name.=.'message').{.
11fbe0 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 65 73 73 61 67 $this->messages[$name].=.$messag
11fc00 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 e;.}..public.function.getMessage
11fc20 28 24 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ($name.=.'message').{.return.$th
11fc40 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 is->messages[$name];.}.......pub
11fc60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 0a 7b 0a 72 65 lic.function.getStartTime().{.re
11fc80 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 turn.$this->startTime;.}.......p
11fca0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 78 53 74 65 70 73 28 29 0a 7b 0a 72 ublic.function.getMaxSteps().{.r
11fcc0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eturn.$this->max;.}.........publ
11fce0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 70 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 ic.function.getStep().{.@trigger
11fd00 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f _error('The.'.__METHOD__.'.metho
11fd20 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e d.is.deprecated.since.Symfony.2.
11fd40 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 6.and.will.be.removed.in.3.0..Us
11fd60 65 20 74 68 65 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 e.the.getProgress().method.inste
11fd80 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 ad.',.E_USER_DEPRECATED);..retur
11fda0 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a n.$this->getProgress();.}.......
11fdc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 0a 7b 0a public.function.getProgress().{.
11fde0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 return.$this->step;.}.........pu
11fe00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 70 57 69 64 74 68 28 29 0a 7b 0a 72 blic.function.getStepWidth().{.r
11fe20 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a eturn.$this->stepWidth;.}.......
11fe40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 63 65 public.function.getProgressPerce
11fe60 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 3b 0a 7d 0a nt().{.return.$this->percent;.}.
11fe80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 ......public.function.setBarWidt
11fea0 68 28 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e h($size).{.$this->barWidth.=.(in
11fec0 74 29 20 24 73 69 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f t).$size;.}.......public.functio
11fee0 6e 20 67 65 74 42 61 72 57 69 64 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e n.getBarWidth().{.return.$this->
11ff00 62 61 72 57 69 64 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f barWidth;.}.......public.functio
11ff20 6e 20 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 n.setBarCharacter($char).{.$this
11ff40 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ->barChar.=.$char;.}.......publi
11ff60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 29 0a 7b 0a 69 c.function.getBarCharacter().{.i
11ff80 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 29 20 7b 0a 72 65 f.(null.===.$this->barChar).{.re
11ffa0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 3d 27 20 3a 20 24 74 68 69 73 2d 3e 65 turn.$this->max.?.'='.:.$this->e
11ffc0 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 mptyBarChar;.}..return.$this->ba
11ffe0 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 rChar;.}.......public.function.s
120000 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 etEmptyBarCharacter($char).{.$th
120020 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a is->emptyBarChar.=.$char;.}.....
120040 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 42 61 72 43 68 61 ..public.function.getEmptyBarCha
120060 72 61 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 racter().{.return.$this->emptyBa
120080 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 rChar;.}.......public.function.s
1200a0 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 etProgressCharacter($char).{.$th
1200c0 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a is->progressChar.=.$char;.}.....
1200e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 ..public.function.getProgressCha
120100 72 61 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 racter().{.return.$this->progres
120120 73 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 sChar;.}.......public.function.s
120140 65 74 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 etFormat($format).{.$this->forma
120160 74 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 t.=.null;.$this->internalFormat.
120180 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 =.$format;.}.......public.functi
1201a0 6f 6e 20 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 79 28 24 66 72 65 71 29 0a 7b 0a 24 on.setRedrawFrequency($freq).{.$
1201c0 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 20 3d 20 6d 61 78 28 28 69 6e 74 29 20 24 66 72 this->redrawFreq.=.max((int).$fr
1201e0 65 71 2c 20 31 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 eq,.1);.}.......public.function.
120200 73 74 61 72 74 28 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 start($max.=.null).{.$this->star
120220 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 30 3b tTime.=.time();.$this->step.=.0;
120240 0a 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 0a 69 66 20 28 6e 75 6c 6c .$this->percent.=.0.0;..if.(null
120260 20 21 3d 3d 20 24 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 .!==.$max).{.$this->setMaxSteps(
120280 24 6d 61 78 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a $max);.}..$this->display();.}...
1202a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 24 73 ......public.function.advance($s
1202c0 74 65 70 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 74 tep.=.1).{.$this->setProgress($t
1202e0 68 69 73 2d 3e 73 74 65 70 20 2b 20 24 73 74 65 70 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a his->step.+.$step);.}...........
120300 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 28 24 73 74 65 70 public.function.setCurrent($step
120320 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
120340 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
120360 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.6.and.will.be.remove
120380 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 74 50 72 6f 67 72 65 73 73 28 29 20 d.in.3.0..Use.the.setProgress().
1203a0 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 method.instead.',.E_USER_DEPRECA
1203c0 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 73 74 65 70 29 TED);..$this->setProgress($step)
1203e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 76 65 ;.}.......public.function.setOve
120400 72 77 72 69 74 65 28 24 6f 76 65 72 77 72 69 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 rwrite($overwrite).{.$this->over
120420 77 72 69 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 76 65 72 77 72 69 74 65 3b 0a 7d 0a 0a 0a 0a write.=.(bool).$overwrite;.}....
120440 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 .....public.function.setProgress
120460 28 24 73 74 65 70 29 0a 7b 0a 24 73 74 65 70 20 3d 20 28 69 6e 74 29 20 24 73 74 65 70 3b 0a 69 ($step).{.$step.=.(int).$step;.i
120480 66 20 28 24 73 74 65 70 20 3c 20 24 74 68 69 73 2d 3e 73 74 65 70 29 20 7b 0a 74 68 72 6f 77 20 f.($step.<.$this->step).{.throw.
1204a0 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 5c 27 74 20 72 new.LogicException('You.can\'t.r
1204c0 65 67 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 2e 27 29 3b 0a 7d 0a 0a 69 egress.the.progress.bar.');.}..i
1204e0 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 24 73 74 65 70 20 3e 20 24 74 68 69 73 2d 3e f.($this->max.&&.$step.>.$this->
120500 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 73 74 65 70 3b 0a 7d 0a 0a 24 70 max).{.$this->max.=.$step;.}..$p
120520 72 65 76 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 2f revPeriod.=.(int).($this->step./
120540 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 24 63 75 72 72 50 65 72 69 6f 64 .$this->redrawFreq);.$currPeriod
120560 20 3d 20 28 69 6e 74 29 20 28 24 73 74 65 70 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 .=.(int).($step./.$this->redrawF
120580 72 65 71 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 24 73 74 65 70 3b 0a 24 74 68 69 73 req);.$this->step.=.$step;.$this
1205a0 2d 3e 70 65 72 63 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 28 66 6c 6f 61 74 29 ->percent.=.$this->max.?.(float)
1205c0 20 24 74 68 69 73 2d 3e 73 74 65 70 20 2f 20 24 74 68 69 73 2d 3e 6d 61 78 20 3a 20 30 3b 0a 69 .$this->step./.$this->max.:.0;.i
1205e0 66 20 28 24 70 72 65 76 50 65 72 69 6f 64 20 21 3d 3d 20 24 63 75 72 72 50 65 72 69 6f 64 20 7c f.($prevPeriod.!==.$currPeriod.|
120600 7c 20 24 74 68 69 73 2d 3e 6d 61 78 20 3d 3d 3d 20 24 73 74 65 70 29 20 7b 0a 24 74 68 69 73 2d |.$this->max.===.$step).{.$this-
120620 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 >display();.}.}.....public.funct
120640 69 6f 6e 20 66 69 6e 69 73 68 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 29 20 ion.finish().{.if.(!$this->max).
120660 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a 7d 0a 0a 69 {.$this->max.=.$this->step;.}..i
120680 66 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 f.($this->step.===.$this->max.&&
1206a0 20 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a .!$this->overwrite).{...return;.
1206c0 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 74 68 69 73 2d 3e 6d 61 78 }..$this->setProgress($this->max
1206e0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 );.}.....public.function.display
120700 28 29 0a 7b 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 ().{.if.(OutputInterface::VERBOS
120720 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 ITY_QUIET.===.$this->output->get
120740 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 Verbosity()).{.return;.}..if.(nu
120760 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 ll.===.$this->format).{.$this->s
120780 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d etRealFormat($this->internalForm
1207a0 61 74 20 3f 3a 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 at.?:.$this->determineBestFormat
1207c0 28 29 29 3b 0a 7d 0a 0a 0a 20 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 6f 75 74 70 75 74 ());.}....$self.=.$this;.$output
1207e0 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 24 74 .=.$this->output;.$messages.=.$t
120800 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 3b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 his->messages;.$this->overwrite(
120820 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 25 28 5b 61 2d 7a 5c 2d preg_replace_callback("{%([a-z\-
120840 5f 5d 2b 29 28 3f 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f 25 7d 69 22 2c 20 66 75 6e 63 74 69 6f 6e _]+)(?:\:([^%]+))?%}i",.function
120860 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 6f 75 74 70 75 74 2c .($matches).use.($self,.$output,
120880 20 24 6d 65 73 73 61 67 65 73 29 20 7b 0a 69 66 20 28 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 .$messages).{.if.($formatter.=.$
1208a0 73 65 6c 66 3a 3a 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 self::getPlaceholderFormatterDef
1208c0 69 6e 69 74 69 6f 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 inition($matches[1])).{.$text.=.
1208e0 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 65 6c \call_user_func($formatter,.$sel
120900 66 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 65 f,.$output);.}.elseif.(isset($me
120920 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 ssages[$matches[1]])).{.$text.=.
120940 24 6d 65 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 3b 0a 7d 20 65 6c 73 65 20 7b $messages[$matches[1]];.}.else.{
120960 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 .return.$matches[0];.}..if.(isse
120980 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 t($matches[2])).{.$text.=.sprint
1209a0 66 28 27 25 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 72 65 f('%'.$matches[2],.$text);.}..re
1209c0 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a turn.$text;.},.$this->format));.
1209e0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 }.........public.function.clear(
120a00 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 72 65 74 ).{.if.(!$this->overwrite).{.ret
120a20 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d urn;.}..if.(null.===.$this->form
120a40 61 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 74 68 69 73 at).{.$this->setRealFormat($this
120a60 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3f 3a 20 24 74 68 69 73 2d 3e 64 65 74 65 72 ->internalFormat.?:.$this->deter
120a80 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 76 65 mineBestFormat());.}..$this->ove
120aa0 72 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 rwrite('');.}.......private.func
120ac0 74 69 6f 6e 20 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 0a 20 tion.setRealFormat($format).{...
120ae0 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 if.(!$this->max.&&.null.!==.self
120b00 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 2e 27 5f ::getFormatDefinition($format.'_
120b20 6e 6f 6d 61 78 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a nomax')).{.$this->format.=.self:
120b40 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 2e 27 5f 6e :getFormatDefinition($format.'_n
120b60 6f 6d 61 78 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a omax');.}.elseif.(null.!==.self:
120b80 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 29 20 7b :getFormatDefinition($format)).{
120ba0 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 .$this->format.=.self::getFormat
120bc0 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 Definition($format);.}.else.{.$t
120be0 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 24 74 68 69 73 2d his->format.=.$format;.}..$this-
120c00 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 >formatLineCount.=.substr_count(
120c20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 5c 6e 22 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 $this->format,."\n");.}.......pr
120c40 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 ivate.function.setMaxSteps($max)
120c60 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 6d 61 78 28 30 2c 20 28 69 6e 74 29 20 24 6d 61 .{.$this->max.=.max(0,.(int).$ma
120c80 78 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 6d 61 x);.$this->stepWidth.=.$this->ma
120ca0 78 20 3f 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 78 29 20 3a x.?.Helper::strlen($this->max).:
120cc0 20 34 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 .4;.}.......private.function.ove
120ce0 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 76 rwrite($message).{.if.($this->ov
120d00 65 72 77 72 69 74 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 72 73 74 52 75 6e 29 erwrite).{.if.(!$this->firstRun)
120d20 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 22 .{...$this->output->write("\x0D"
120d40 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 31 42 );....$this->output->write("\x1B
120d60 5b 32 4b 22 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 [2K");....if.($this->formatLineC
120d80 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 ount.>.0).{.$this->output->write
120da0 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 31 42 5b 31 41 5c 78 31 42 5b 32 4b 22 2c 20 24 74 (str_repeat("\x1B[1A\x1B[2K",.$t
120dc0 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 29 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c his->formatLineCount));.}.}.}.el
120de0 73 65 69 66 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e seif.($this->step.>.0).{.$this->
120e00 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 output->writeln('');.}..$this->f
120e20 69 72 73 74 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d irstRun.=.false;..$this->output-
120e40 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e >write($message);.}..private.fun
120e60 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 73 77 ction.determineBestFormat().{.sw
120e80 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 itch.($this->output->getVerbosit
120ea0 79 28 29 29 20 7b 0a 0a 20 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 y()).{...case.OutputInterface::V
120ec0 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ERBOSITY_VERBOSE:.return.$this->
120ee0 6d 61 78 20 3f 20 27 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 max.?.'verbose'.:.'verbose_nomax
120f00 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 ';.case.OutputInterface::VERBOSI
120f20 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d TY_VERY_VERBOSE:.return.$this->m
120f40 61 78 20 3f 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 79 5f 76 65 72 62 ax.?.'very_verbose'.:.'very_verb
120f60 6f 73 65 5f 6e 6f 6d 61 78 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 ose_nomax';.case.OutputInterface
120f80 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ::VERBOSITY_DEBUG:.return.$this-
120fa0 3e 6d 61 78 20 3f 20 27 64 65 62 75 67 27 20 3a 20 27 64 65 62 75 67 5f 6e 6f 6d 61 78 27 3b 0a >max.?.'debug'.:.'debug_nomax';.
120fc0 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 6e 6f default:.return.$this->max.?.'no
120fe0 72 6d 61 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 3b 0a 7d 0a 7d 0a 0a 70 72 69 rmal'.:.'normal_nomax';.}.}..pri
121000 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 50 6c 61 63 65 68 6f vate.static.function.initPlaceho
121020 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 lderFormatters().{.return.array(
121040 0a 27 62 61 72 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 .'bar'.=>.function.(ProgressBar.
121060 24 62 61 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 20 7b $bar,.OutputInterface.$output).{
121080 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 .$completeBars.=.floor($bar->get
1210a0 4d 61 78 53 74 65 70 73 28 29 20 3e 20 30 20 3f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 MaxSteps().>.0.?.$bar->getProgre
1210c0 73 73 50 65 72 63 65 6e 74 28 29 20 2a 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 ssPercent().*.$bar->getBarWidth(
1210e0 29 20 3a 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 25 20 24 62 61 72 2d 3e ).:.$bar->getProgress().%.$bar->
121100 67 65 74 42 61 72 57 69 64 74 68 28 29 29 3b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 getBarWidth());.$display.=.str_r
121120 65 70 65 61 74 28 24 62 61 72 2d 3e 67 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 29 2c 20 24 epeat($bar->getBarCharacter(),.$
121140 63 6f 6d 70 6c 65 74 65 42 61 72 73 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 completeBars);.if.($completeBars
121160 20 3c 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 29 20 7b 0a 24 65 6d 70 74 79 .<.$bar->getBarWidth()).{.$empty
121180 42 61 72 73 20 3d 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 20 2d 20 24 63 6f Bars.=.$bar->getBarWidth().-.$co
1211a0 6d 70 6c 65 74 65 42 61 72 73 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f mpleteBars.-.Helper::strlenWitho
1211c0 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 utDecoration($output->getFormatt
1211e0 65 72 28 29 2c 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 er(),.$bar->getProgressCharacter
121200 28 29 29 3b 0a 24 64 69 73 70 6c 61 79 20 2e 3d 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 ());.$display..=.$bar->getProgre
121220 73 73 43 68 61 72 61 63 74 65 72 28 29 2e 73 74 72 5f 72 65 70 65 61 74 28 24 62 61 72 2d 3e 67 ssCharacter().str_repeat($bar->g
121240 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 29 2c 20 24 65 6d 70 74 79 42 61 72 etEmptyBarCharacter(),.$emptyBar
121260 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 2c 0a 27 65 6c 61 70 s);.}..return.$display;.},.'elap
121280 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 sed'.=>.function.(ProgressBar.$b
1212a0 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 ar).{.return.Helper::formatTime(
1212c0 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 3b 0a time().-.$bar->getStartTime());.
1212e0 7d 2c 0a 27 72 65 6d 61 69 6e 69 6e 67 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 },.'remaining'.=>.function.(Prog
121300 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 4d 61 ressBar.$bar).{.if.(!$bar->getMa
121320 78 53 74 65 70 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 xSteps()).{.throw.new.LogicExcep
121340 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 72 65 6d 61 tion('Unable.to.display.the.rema
121360 69 6e 69 6e 67 20 74 69 6d 65 20 69 66 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 ining.time.if.the.maximum.number
121380 20 6f 66 20 73 74 65 70 73 20 69 73 20 6e 6f 74 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 .of.steps.is.not.set.');.}..if.(
1213a0 21 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 20 7b 0a 24 72 65 6d 61 69 6e 69 !$bar->getProgress()).{.$remaini
1213c0 6e 67 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 72 6f ng.=.0;.}.else.{.$remaining.=.ro
1213e0 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 und((time().-.$bar->getStartTime
121400 28 29 29 20 2f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 2a 20 28 24 62 61 ())./.$bar->getProgress().*.($ba
121420 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 r->getMaxSteps().-.$bar->getProg
121440 72 65 73 73 28 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d ress()));.}..return.Helper::form
121460 61 74 54 69 6d 65 28 24 72 65 6d 61 69 6e 69 6e 67 29 3b 0a 7d 2c 0a 27 65 73 74 69 6d 61 74 65 atTime($remaining);.},.'estimate
121480 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 d'.=>.function.(ProgressBar.$bar
1214a0 29 20 7b 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 29 20 7b 0a ).{.if.(!$bar->getMaxSteps()).{.
1214c0 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 throw.new.LogicException('Unable
1214e0 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 74 69 6d 65 20 69 .to.display.the.estimated.time.i
121500 66 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 65 70 73 20 69 73 f.the.maximum.number.of.steps.is
121520 20 6e 6f 74 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 50 72 .not.set.');.}..if.(!$bar->getPr
121540 6f 67 72 65 73 73 28 29 29 20 7b 0a 24 65 73 74 69 6d 61 74 65 64 20 3d 20 30 3b 0a 7d 20 65 6c ogress()).{.$estimated.=.0;.}.el
121560 73 65 20 7b 0a 24 65 73 74 69 6d 61 74 65 64 20 3d 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 20 se.{.$estimated.=.round((time().
121580 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 20 2f 20 24 62 61 72 2d 3e -.$bar->getStartTime())./.$bar->
1215a0 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 2a 20 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 getProgress().*.$bar->getMaxStep
1215c0 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 s());.}..return.Helper::formatTi
1215e0 6d 65 28 24 65 73 74 69 6d 61 74 65 64 29 3b 0a 7d 2c 0a 27 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 me($estimated);.},.'memory'.=>.f
121600 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 unction.(ProgressBar.$bar).{.ret
121620 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f urn.Helper::formatMemory(memory_
121640 67 65 74 5f 75 73 61 67 65 28 74 72 75 65 29 29 3b 0a 7d 2c 0a 27 63 75 72 72 65 6e 74 27 20 3d get_usage(true));.},.'current'.=
121660 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a >.function.(ProgressBar.$bar).{.
121680 72 65 74 75 72 6e 20 73 74 72 5f 70 61 64 28 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 return.str_pad($bar->getProgress
1216a0 28 29 2c 20 24 62 61 72 2d 3e 67 65 74 53 74 65 70 57 69 64 74 68 28 29 2c 20 27 20 27 2c 20 53 (),.$bar->getStepWidth(),.'.',.S
1216c0 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 2c 0a 27 6d 61 78 27 20 3d 3e 20 66 75 6e 63 74 69 TR_PAD_LEFT);.},.'max'.=>.functi
1216e0 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 on.(ProgressBar.$bar).{.return.$
121700 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 3b 0a 7d 2c 0a 27 70 65 72 63 65 6e 74 27 bar->getMaxSteps();.},.'percent'
121720 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 .=>.function.(ProgressBar.$bar).
121740 7b 0a 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 {.return.floor($bar->getProgress
121760 50 65 72 63 65 6e 74 28 29 20 2a 20 31 30 30 29 3b 0a 7d 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 Percent().*.100);.},.);.}..priva
121780 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 te.static.function.initFormats()
1217a0 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 6f 72 6d 61 6c 27 20 3d 3e 20 27 20 25 .{.return.array(.'normal'.=>.'.%
1217c0 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a current%/%max%.[%bar%].%percent:
1217e0 33 73 25 25 27 2c 0a 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 3s%%',.'normal_nomax'.=>.'.%curr
121800 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 2c 0a 0a 27 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 ent%.[%bar%]',..'verbose'.=>.'.%
121820 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a current%/%max%.[%bar%].%percent:
121840 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 3s%%.%elapsed:6s%',.'verbose_nom
121860 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 70 ax'.=>.'.%current%.[%bar%].%elap
121880 73 65 64 3a 36 73 25 27 2c 0a 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 sed:6s%',..'very_verbose'.=>.'.%
1218a0 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a current%/%max%.[%bar%].%percent:
1218c0 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 2f 25 65 73 74 69 6d 61 74 65 64 3a 2d 36 73 3s%%.%elapsed:6s%/%estimated:-6s
1218e0 25 27 2c 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 %',.'very_verbose_nomax'.=>.'.%c
121900 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 0a urrent%.[%bar%].%elapsed:6s%',..
121920 27 64 65 62 75 67 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 'debug'.=>.'.%current%/%max%.[%b
121940 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 2f ar%].%percent:3s%%.%elapsed:6s%/
121960 25 65 73 74 69 6d 61 74 65 64 3a 2d 36 73 25 20 25 6d 65 6d 6f 72 79 3a 36 73 25 27 2c 0a 27 64 %estimated:-6s%.%memory:6s%',.'d
121980 65 62 75 67 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 ebug_nomax'.=>.'.%current%.[%bar
1219a0 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 20 25 6d 65 6d 6f 72 79 3a 36 73 25 27 2c 0a 29 3b %].%elapsed:6s%.%memory:6s%',.);
1219c0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
1219e0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b ymfony\Component\Console\Helper;
121a00 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
121a20 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 Exception\LogicException;.use.Sy
121a40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 mfony\Component\Console\Output\C
121a60 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f onsoleOutputInterface;.use.Symfo
121a80 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4e 75 6c 6c ny\Component\Console\Output\Null
121aa0 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Output;.use.Symfony\Component\Co
121ac0 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a nsole\Output\OutputInterface;...
121ae0 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 20 65 78 74 ........class.ProgressHelper.ext
121b00 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 ends.Helper.{.const.FORMAT_QUIET
121b20 20 3d 20 27 20 25 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e .=.'.%percent%%';.const.FORMAT_N
121b40 4f 52 4d 41 4c 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 ORMAL.=.'.%current%/%max%.[%bar%
121b60 5d 20 25 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 56 45 52 42 ].%percent%%';.const.FORMAT_VERB
121b80 4f 53 45 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 OSE.=.'.%current%/%max%.[%bar%].
121ba0 25 70 65 72 63 65 6e 74 25 25 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b 0a %percent%%.Elapsed:.%elapsed%';.
121bc0 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 const.FORMAT_QUIET_NOMAX.=.'.%cu
121be0 72 72 65 6e 74 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d rrent%';.const.FORMAT_NORMAL_NOM
121c00 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 3b 0a 63 6f 6e 73 74 AX.=.'.%current%.[%bar%]';.const
121c20 20 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 .FORMAT_VERBOSE_NOMAX.=.'.%curre
121c40 6e 74 25 20 5b 25 62 61 72 25 5d 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b nt%.[%bar%].Elapsed:.%elapsed%';
121c60 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a 70 72 69 76 ....private.$barWidth.=.28;.priv
121c80 61 74 65 20 24 62 61 72 43 68 61 72 20 3d 20 27 3d 27 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 ate.$barChar.=.'=';.private.$emp
121ca0 74 79 42 61 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 tyBarChar.=.'-';.private.$progre
121cc0 73 73 43 68 61 72 20 3d 20 27 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 20 3d 20 ssChar.=.'>';.private.$format.=.
121ce0 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d 20 31 3b 0a 0a null;.private.$redrawFreq.=.1;..
121d00 70 72 69 76 61 74 65 20 24 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 3b 0a 70 72 69 private.$lastMessagesLength;.pri
121d20 76 61 74 65 20 24 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 vate.$barCharOriginal;.....priva
121d40 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 te.$output;.......private.$curre
121d60 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 0a 0a 0a 0a 0a 0a 70 72 nt;.......private.$max;.......pr
121d80 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ivate.$startTime;.......private.
121da0 24 64 65 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 0a 27 63 75 72 $defaultFormatVars.=.array(.'cur
121dc0 72 65 6e 74 27 2c 0a 27 6d 61 78 27 2c 0a 27 62 61 72 27 2c 0a 27 70 65 72 63 65 6e 74 27 2c 0a rent',.'max',.'bar',.'percent',.
121de0 27 65 6c 61 70 73 65 64 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 6f 72 'elapsed',.);.......private.$for
121e00 6d 61 74 56 61 72 73 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 77 69 64 74 68 73 20 3d matVars;.......private.$widths.=
121e20 20 61 72 72 61 79 28 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 34 2c 0a 27 6d 61 78 27 20 3d 3e .array(.'current'.=>.4,.'max'.=>
121e40 20 34 2c 0a 27 70 65 72 63 65 6e 74 27 20 3d 3e 20 33 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e .4,.'percent'.=>.3,.'elapsed'.=>
121e60 20 36 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 46 6f 72 6d 61 74 .6,.);.......private.$timeFormat
121e80 73 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3f 3f 3f 27 29 2c 0a 61 72 72 61 s.=.array(.array(0,.'???'),.arra
121ea0 79 28 32 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 35 39 2c 20 27 73 65 63 73 27 2c y(2,.'1.sec'),.array(59,.'secs',
121ec0 20 31 29 2c 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c 0a 61 72 72 61 79 28 33 .1),.array(60,.'1.min'),.array(3
121ee0 36 30 30 2c 20 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 35 34 30 30 2c 20 27 31 600,.'mins',.60),.array(5400,.'1
121f00 20 68 72 27 29 2c 0a 61 72 72 61 79 28 38 36 34 30 30 2c 20 27 68 72 73 27 2c 20 33 36 30 30 29 .hr'),.array(86400,.'hrs',.3600)
121f20 2c 0a 61 72 72 61 79 28 31 32 39 36 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 72 72 61 79 28 ,.array(129600,.'1.day'),.array(
121f40 36 30 34 38 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a 0a 70 75 62 6c 604800,.'days',.86400),.);..publ
121f60 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 ic.function.__construct($trigger
121f80 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 DeprecationError.=.true).{.if.($
121fa0 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 triggerDeprecationError).{.@trig
121fc0 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 ger_error('The.'.__CLASS__.'.cla
121fe0 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 ss.is.deprecated.since.Symfony.2
122000 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 .5.and.will.be.removed.in.3.0..U
122020 73 65 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 se.the.Symfony\Component\Console
122040 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 \Helper\ProgressBar.class.instea
122060 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 7d 0a 0a 0a 0a d.',.E_USER_DEPRECATED);.}.}....
122080 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 24 ...public.function.setBarWidth($
1220a0 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 20 size).{.$this->barWidth.=.(int).
1220c0 24 73 69 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 $size;.}.......public.function.s
1220e0 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 etBarCharacter($char).{.$this->b
122100 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 arChar.=.$char;.}.......public.f
122120 75 6e 63 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 unction.setEmptyBarCharacter($ch
122140 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 63 68 61 ar).{.$this->emptyBarChar.=.$cha
122160 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 r;.}.......public.function.setPr
122180 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e ogressCharacter($char).{.$this->
1221a0 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 progressChar.=.$char;.}.......pu
1221c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 blic.function.setFormat($format)
1221e0 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a .{.$this->format.=.$format;.}...
122200 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 64 72 61 77 46 72 65 ....public.function.setRedrawFre
122220 71 75 65 6e 63 79 28 24 66 72 65 71 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 quency($freq).{.$this->redrawFre
122240 71 20 3d 20 28 69 6e 74 29 20 24 66 72 65 71 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 q.=.(int).$freq;.}........public
122260 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 .function.start(OutputInterface.
122280 24 6f 75 74 70 75 74 2c 20 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 75 74 $output,.$max.=.null).{.if.($out
1222a0 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 put.instanceof.ConsoleOutputInte
1222c0 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 rface).{.$output.=.$output->getE
1222e0 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d rrorOutput();.}..$this->startTim
122300 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 30 3b 0a e.=.time();.$this->current.=.0;.
122320 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 28 69 6e 74 29 20 24 6d 61 78 3b 0a 0a 0a 20 24 74 68 69 $this->max.=.(int).$max;....$thi
122340 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 s->output.=.$output->isDecorated
122360 28 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 65 77 20 4e 75 6c 6c 4f 75 74 70 75 74 28 29 3b ().?.$output.:.new.NullOutput();
122380 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3d 20 30 3b 0a .$this->lastMessagesLength.=.0;.
1223a0 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 20 3d 20 27 27 3b 0a 0a 69 66 $this->barCharOriginal.=.'';..if
1223c0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 73 77 69 74 .(null.===.$this->format).{.swit
1223e0 63 68 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 63 ch.($output->getVerbosity()).{.c
122400 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 ase.OutputInterface::VERBOSITY_Q
122420 55 49 45 54 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d UIET:.$this->format.=.self::FORM
122440 41 54 5f 51 55 49 45 54 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e AT_QUIET_NOMAX;.if.($this->max.>
122460 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d .0).{.$this->format.=.self::FORM
122480 41 54 5f 51 55 49 45 54 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e AT_QUIET;.}.break;.case.OutputIn
1224a0 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 terface::VERBOSITY_VERBOSE:.case
1224c0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 .OutputInterface::VERBOSITY_VERY
1224e0 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a _VERBOSE:.case.OutputInterface::
122500 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d VERBOSITY_DEBUG:.$this->format.=
122520 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 58 3b 0a 69 66 20 .self::FORMAT_VERBOSE_NOMAX;.if.
122540 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 ($this->max.>.0).{.$this->format
122560 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 62 72 65 61 6b .=.self::FORMAT_VERBOSE;.}.break
122580 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a ;.default:.$this->format.=.self:
1225a0 3a 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 68 69 73 2d :FORMAT_NORMAL_NOMAX;.if.($this-
1225c0 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 >max.>.0).{.$this->format.=.self
1225e0 3a 3a 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 ::FORMAT_NORMAL;.}.break;.}.}..$
122600 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 this->initialize();.}..........p
122620 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 ublic.function.advance($step.=.1
122640 2c 20 24 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 43 ,.$redraw.=.false).{.$this->setC
122660 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2b 20 24 73 74 65 70 2c 20 24 urrent($this->current.+.$step,.$
122680 72 65 64 72 61 77 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 redraw);.}..........public.funct
1226a0 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 28 24 63 75 72 72 65 6e 74 2c 20 24 72 65 64 72 61 77 ion.setCurrent($current,.$redraw
1226c0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e .=.false).{.if.(null.===.$this->
1226e0 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 startTime).{.throw.new.LogicExce
122700 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 ption('You.must.start.the.progre
122720 73 73 20 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 73 65 74 43 75 72 72 65 6e 74 ss.bar.before.calling.setCurrent
122740 28 29 2e 27 29 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 20 3d 20 28 69 6e 74 29 20 24 63 75 72 72 ().');.}..$current.=.(int).$curr
122760 65 6e 74 3b 0a 0a 69 66 20 28 24 63 75 72 72 65 6e 74 20 3c 20 24 74 68 69 73 2d 3e 63 75 72 72 ent;..if.($current.<.$this->curr
122780 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 ent).{.throw.new.LogicException(
1227a0 27 59 6f 75 20 63 61 6e 5c 27 74 20 72 65 67 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 'You.can\'t.regress.the.progress
1227c0 20 62 61 72 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 .bar');.}..if.(0.===.$this->curr
1227e0 65 6e 74 29 20 7b 0a 24 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 65 76 50 ent).{.$redraw.=.true;.}..$prevP
122800 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2f 20 eriod.=.(int).($this->current./.
122820 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 $this->redrawFreq);..$this->curr
122840 65 6e 74 20 3d 20 24 63 75 72 72 65 6e 74 3b 0a 0a 24 63 75 72 72 50 65 72 69 6f 64 20 3d 20 28 ent.=.$current;..$currPeriod.=.(
122860 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2f 20 24 74 68 69 73 2d 3e 72 65 int).($this->current./.$this->re
122880 64 72 61 77 46 72 65 71 29 3b 0a 69 66 20 28 24 72 65 64 72 61 77 20 7c 7c 20 24 70 72 65 76 50 drawFreq);.if.($redraw.||.$prevP
1228a0 65 72 69 6f 64 20 21 3d 3d 20 24 63 75 72 72 50 65 72 69 6f 64 20 7c 7c 20 24 74 68 69 73 2d 3e eriod.!==.$currPeriod.||.$this->
1228c0 6d 61 78 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d max.===.$this->current).{.$this-
1228e0 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 >display();.}.}.........public.f
122900 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 24 66 69 6e 69 73 68 20 3d 20 66 61 6c 73 65 29 unction.display($finish.=.false)
122920 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 .{.if.(null.===.$this->startTime
122940 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f ).{.throw.new.LogicException('Yo
122960 75 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 u.must.start.the.progress.bar.be
122980 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 64 69 73 70 6c 61 79 28 29 2e 27 29 3b 0a 7d 0a 0a 24 6d fore.calling.display().');.}..$m
1229a0 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 3b 0a 66 6f 72 65 61 63 68 20 essage.=.$this->format;.foreach.
1229c0 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 66 69 6e 69 73 68 29 20 61 73 20 24 6e 61 ($this->generate($finish).as.$na
1229e0 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 5f 72 me.=>.$value).{.$message.=.str_r
122a00 65 70 6c 61 63 65 28 22 25 7b 24 6e 61 6d 65 7d 25 22 2c 20 24 76 61 6c 75 65 2c 20 24 6d 65 73 eplace("%{$name}%",.$value,.$mes
122a20 73 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 24 74 68 69 73 2d sage);.}.$this->overwrite($this-
122a40 3e 6f 75 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 >output,.$message);.}.........pu
122a60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f blic.function.clear().{.$this->o
122a80 76 65 72 77 72 69 74 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 27 27 29 3b 0a 7d 0a 0a verwrite($this->output,.'');.}..
122aa0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 69 73 68 28 29 0a 7b 0a 69 66 ...public.function.finish().{.if
122ac0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 .(null.===.$this->startTime).{.t
122ae0 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 hrow.new.LogicException('You.mus
122b00 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 66 6f 72 65 20 t.start.the.progress.bar.before.
122b20 63 61 6c 6c 69 6e 67 20 66 69 6e 69 73 68 28 29 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c calling.finish().');.}..if.(null
122b40 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 69 66 20 28 21 24 74 .!==.$this->startTime).{.if.(!$t
122b60 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 74 68 his->max).{.$this->barChar.=.$th
122b80 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 is->barCharOriginal;.$this->disp
122ba0 6c 61 79 28 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 lay(true);.}.$this->startTime.=.
122bc0 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 null;.$this->output->writeln('')
122be0 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ;.$this->output.=.null;.}.}.....
122c00 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a private.function.initialize().{.
122c20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 $this->formatVars.=.array();.for
122c40 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 73 20 61 each.($this->defaultFormatVars.a
122c60 73 20 24 76 61 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 s.$var).{.if.(false.!==.strpos($
122c80 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 25 7b 24 76 61 72 7d 25 22 29 29 20 7b 0a 24 74 68 this->format,."%{$var}%")).{.$th
122ca0 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 24 76 61 72 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d is->formatVars[$var].=.true;.}.}
122cc0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 77 ..if.($this->max.>.0).{.$this->w
122ce0 69 64 74 68 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 74 68 idths['max'].=.$this->strlen($th
122d00 69 73 2d 3e 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 63 75 72 72 65 6e 74 is->max);.$this->widths['current
122d20 27 5d 20 3d 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 6d 61 78 27 5d 3b 0a 7d 20 65 6c 73 '].=.$this->widths['max'];.}.els
122d40 65 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 20 3d 20 24 74 68 e.{.$this->barCharOriginal.=.$th
122d60 69 73 2d 3e 62 61 72 43 68 61 72 3b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 74 is->barChar;.$this->barChar.=.$t
122d80 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 his->emptyBarChar;.}.}.........p
122da0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 24 66 69 6e 69 73 68 rivate.function.generate($finish
122dc0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 65 .=.false).{.$vars.=.array();.$pe
122de0 72 63 65 6e 74 20 3d 20 30 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b rcent.=.0;.if.($this->max.>.0).{
122e00 0a 24 70 65 72 63 65 6e 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 68 69 73 2d 3e 63 75 72 72 65 .$percent.=.(float).$this->curre
122e20 6e 74 20 2f 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 nt./.$this->max;.}..if.(isset($t
122e40 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 62 61 72 27 5d 29 29 20 7b 0a 69 66 20 28 24 his->formatVars['bar'])).{.if.($
122e60 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d this->max.>.0).{.$completeBars.=
122e80 20 66 6c 6f 6f 72 28 24 70 65 72 63 65 6e 74 20 2a 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 .floor($percent.*.$this->barWidt
122ea0 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 66 69 6e 69 73 68 29 20 7b 0a 24 63 6f h);.}.else.{.if.(!$finish).{.$co
122ec0 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e mpleteBars.=.floor($this->curren
122ee0 74 20 25 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 t.%.$this->barWidth);.}.else.{.$
122f00 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 3b 0a completeBars.=.$this->barWidth;.
122f20 7d 0a 7d 0a 0a 24 65 6d 70 74 79 42 61 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 }.}..$emptyBars.=.$this->barWidt
122f40 68 20 2d 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 h.-.$completeBars.-.$this->strle
122f60 6e 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 29 3b 0a 24 62 61 72 20 3d 20 73 n($this->progressChar);.$bar.=.s
122f80 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 2c 20 24 63 6f 6d 70 6c tr_repeat($this->barChar,.$compl
122fa0 65 74 65 42 61 72 73 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3c 20 24 74 eteBars);.if.($completeBars.<.$t
122fc0 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 20 7b 0a 24 62 61 72 20 2e 3d 20 24 74 68 69 73 2d 3e his->barWidth).{.$bar..=.$this->
122fe0 70 72 6f 67 72 65 73 73 43 68 61 72 3b 0a 24 62 61 72 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 progressChar;.$bar..=.str_repeat
123000 28 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 2c 20 24 65 6d 70 74 79 42 61 72 73 ($this->emptyBarChar,.$emptyBars
123020 29 3b 0a 7d 0a 0a 24 76 61 72 73 5b 27 62 61 72 27 5d 20 3d 20 24 62 61 72 3b 0a 7d 0a 0a 69 66 );.}..$vars['bar'].=.$bar;.}..if
123040 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 65 6c 61 70 73 .(isset($this->formatVars['elaps
123060 65 64 27 5d 29 29 20 7b 0a 24 65 6c 61 70 73 65 64 20 3d 20 74 69 6d 65 28 29 20 2d 20 24 74 68 ed'])).{.$elapsed.=.time().-.$th
123080 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 24 76 61 72 73 5b 27 65 6c 61 70 73 65 64 27 5d 20 is->startTime;.$vars['elapsed'].
1230a0 3d 20 73 74 72 5f 70 61 64 28 24 74 68 69 73 2d 3e 68 75 6d 61 6e 65 54 69 6d 65 28 24 65 6c 61 =.str_pad($this->humaneTime($ela
1230c0 70 73 65 64 29 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 65 6c 61 70 73 65 64 27 5d 2c psed),.$this->widths['elapsed'],
1230e0 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 .'.',.STR_PAD_LEFT);.}..if.(isse
123100 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 63 75 72 72 65 6e 74 27 5d 29 29 t($this->formatVars['current']))
123120 20 7b 0a 24 76 61 72 73 5b 27 63 75 72 72 65 6e 74 27 5d 20 3d 20 73 74 72 5f 70 61 64 28 24 74 .{.$vars['current'].=.str_pad($t
123140 68 69 73 2d 3e 63 75 72 72 65 6e 74 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 63 75 72 his->current,.$this->widths['cur
123160 72 65 6e 74 27 5d 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 69 rent'],.'.',.STR_PAD_LEFT);.}..i
123180 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 6d 61 78 27 f.(isset($this->formatVars['max'
1231a0 5d 29 29 20 7b 0a 24 76 61 72 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 3b ])).{.$vars['max'].=.$this->max;
1231c0 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b .}..if.(isset($this->formatVars[
1231e0 27 70 65 72 63 65 6e 74 27 5d 29 29 20 7b 0a 24 76 61 72 73 5b 27 70 65 72 63 65 6e 74 27 5d 20 'percent'])).{.$vars['percent'].
123200 3d 20 73 74 72 5f 70 61 64 28 66 6c 6f 6f 72 28 24 70 65 72 63 65 6e 74 20 2a 20 31 30 30 29 2c =.str_pad(floor($percent.*.100),
123220 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 70 65 72 63 65 6e 74 27 5d 2c 20 27 20 27 2c 20 .$this->widths['percent'],.'.',.
123240 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 72 73 3b 0a STR_PAD_LEFT);.}..return.$vars;.
123260 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 75 6d 61 6e }.........private.function.human
123280 65 54 69 6d 65 28 24 73 65 63 73 29 0a 7b 0a 24 74 65 78 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 eTime($secs).{.$text.=.'';.forea
1232a0 63 68 20 28 24 74 68 69 73 2d 3e 74 69 6d 65 46 6f 72 6d 61 74 73 20 61 73 20 24 66 6f 72 6d 61 ch.($this->timeFormats.as.$forma
1232c0 74 29 20 7b 0a 69 66 20 28 24 73 65 63 73 20 3c 20 24 66 6f 72 6d 61 74 5b 30 5d 29 20 7b 0a 69 t).{.if.($secs.<.$format[0]).{.i
1232e0 66 20 28 32 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 24 74 65 78 74 f.(2.==.\count($format)).{.$text
123300 20 3d 20 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 .=.$format[1];.break;.}.else.{.$
123320 74 65 78 74 20 3d 20 63 65 69 6c 28 24 73 65 63 73 20 2f 20 24 66 6f 72 6d 61 74 5b 32 5d 29 2e text.=.ceil($secs./.$format[2]).
123340 27 20 27 2e 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 '.'.$format[1];.break;.}.}.}..re
123360 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e turn.$text;.}........private.fun
123380 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 ction.overwrite(OutputInterface.
1233a0 24 6f 75 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 24 $output,.$message).{.$length.=.$
1233c0 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 20 69 66 20 28 6e this->strlen($message);....if.(n
1233e0 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 ull.!==.$this->lastMessagesLengt
123400 68 20 26 26 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3e h.&&.$this->lastMessagesLength.>
123420 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 5f 70 61 64 28 24 .$length).{.$message.=.str_pad($
123440 6d 65 73 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 message,.$this->lastMessagesLeng
123460 74 68 2c 20 22 5c 78 32 30 22 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 29 3b 0a 7d 0a 0a 0a th,."\x20",.STR_PAD_RIGHT);.}...
123480 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 22 29 3b 0a 24 6f 75 74 70 75 74 .$output->write("\x0D");.$output
1234a0 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d ->write($message);..$this->lastM
1234c0 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d essagesLength.=.$this->strlen($m
1234e0 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 essage);.}.....public.function.g
123500 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 67 72 65 73 73 27 3b 0a 7d 0a etName().{.return.'progress';.}.
123520 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
123540 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 ony\Component\Console\Helper;..u
123560 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
123580 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b eption\InvalidArgumentException;
1235a0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
1235c0 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d xception\LogicException;.use.Sym
1235e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
123600 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 tputInterface;.....class.Progres
123620 73 49 6e 64 69 63 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 sIndicator.{.private.$output;.pr
123640 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 ivate.$startTime;.private.$forma
123660 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 3b 0a 70 72 69 76 61 74 65 20 24 69 6e t;.private.$message;.private.$in
123680 64 69 63 61 74 6f 72 56 61 6c 75 65 73 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f dicatorValues;.private.$indicato
1236a0 72 43 75 72 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e rCurrent;.private.$indicatorChan
1236c0 67 65 49 6e 74 65 72 76 61 6c 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 55 70 geInterval;.private.$indicatorUp
1236e0 64 61 74 65 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 65 64 20 3d 20 66 61 6c dateTime;.private.$started.=.fal
123700 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 74 65 72 73 3b se;..private.static.$formatters;
123720 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 3b 0a 0a 0a 0a 0a 0a 0a .private.static.$formats;.......
123740 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 .public.function.__construct(Out
123760 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 66 6f 72 6d 61 74 20 3d 20 putInterface.$output,.$format.=.
123780 6e 75 6c 6c 2c 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 3d null,.$indicatorChangeInterval.=
1237a0 20 31 30 30 2c 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 6e 75 6c 6c 29 0a 7b .100,.$indicatorValues.=.null).{
1237c0 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 69 66 20 28 6e .$this->output.=.$output;..if.(n
1237e0 75 6c 6c 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 66 6f 72 6d 61 74 20 3d 20 24 74 68 ull.===.$format).{.$format.=.$th
123800 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 3b 0a 7d 0a 0a 69 66 is->determineBestFormat();.}..if
123820 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 20 7b 0a 24 .(null.===.$indicatorValues).{.$
123840 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 27 2d 27 2c 20 27 5c 5c indicatorValues.=.array('-',.'\\
123860 27 2c 20 27 7c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 ',.'|',.'/');.}..$indicatorValue
123880 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 s.=.array_values($indicatorValue
1238a0 73 29 3b 0a 0a 69 66 20 28 32 20 3e 20 5c 63 6f 75 6e 74 28 24 69 6e 64 69 63 61 74 6f 72 56 61 s);..if.(2.>.\count($indicatorVa
1238c0 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 lues)).{.throw.new.InvalidArgume
1238e0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 ntException('Must.have.at.least.
123900 32 20 69 6e 64 69 63 61 74 6f 72 20 76 61 6c 75 65 20 63 68 61 72 61 63 74 65 72 73 2e 27 29 3b 2.indicator.value.characters.');
123920 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 .}..$this->format.=.self::getFor
123940 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 3b 0a 24 74 68 69 73 2d 3e 69 matDefinition($format);.$this->i
123960 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 3d 20 24 69 6e 64 69 63 61 ndicatorChangeInterval.=.$indica
123980 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 torChangeInterval;.$this->indica
1239a0 74 6f 72 56 61 6c 75 65 73 20 3d 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 3b 0a 24 74 torValues.=.$indicatorValues;.$t
1239c0 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a his->startTime.=.time();.}......
1239e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 6d 65 73 .public.function.setMessage($mes
123a00 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 sage).{.$this->message.=.$messag
123a20 65 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a e;..$this->display();.}.........
123a40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 28 29 0a 7b 0a 72 public.function.getMessage().{.r
123a60 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a eturn.$this->message;.}.........
123a80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 0a 7b public.function.getStartTime().{
123aa0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a .return.$this->startTime;.}.....
123ac0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 56 61 ....public.function.getCurrentVa
123ae0 6c 75 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 lue().{.return.$this->indicatorV
123b00 61 6c 75 65 73 5b 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 20 25 20 alues[$this->indicatorCurrent.%.
123b20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 5d 3b \count($this->indicatorValues)];
123b40 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 .}.......public.function.start($
123b60 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b message).{.if.($this->started).{
123b80 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 67 72 .throw.new.LogicException('Progr
123ba0 65 73 73 20 69 6e 64 69 63 61 74 6f 72 20 61 6c 72 65 61 64 79 20 73 74 61 72 74 65 64 2e 27 29 ess.indicator.already.started.')
123bc0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a ;.}..$this->message.=.$message;.
123be0 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 73 74 $this->started.=.true;.$this->st
123c00 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 artTime.=.time();.$this->indicat
123c20 6f 72 55 70 64 61 74 65 54 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 orUpdateTime.=.$this->getCurrent
123c40 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 20 2b 20 24 74 68 69 73 2d 3e 69 6e TimeInMilliseconds().+.$this->in
123c60 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e dicatorChangeInterval;.$this->in
123c80 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 20 3d 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 dicatorCurrent.=.0;..$this->disp
123ca0 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 lay();.}.....public.function.adv
123cc0 61 6e 63 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a ance().{.if.(!$this->started).{.
123ce0 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 67 72 65 throw.new.LogicException('Progre
123d00 73 73 20 69 6e 64 69 63 61 74 6f 72 20 68 61 73 20 6e 6f 74 20 79 65 74 20 62 65 65 6e 20 73 74 ss.indicator.has.not.yet.been.st
123d20 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d arted.');.}..if.(!$this->output-
123d40 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 75 >isDecorated()).{.return;.}..$cu
123d60 72 72 65 6e 74 54 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d rrentTime.=.$this->getCurrentTim
123d80 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 3b 0a 0a 69 66 20 28 24 63 75 72 72 65 6e 74 eInMilliseconds();..if.($current
123da0 54 69 6d 65 20 3c 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d Time.<.$this->indicatorUpdateTim
123dc0 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 e).{.return;.}..$this->indicator
123de0 55 70 64 61 74 65 54 69 6d 65 20 3d 20 24 63 75 72 72 65 6e 74 54 69 6d 65 20 2b 20 24 74 68 69 UpdateTime.=.$currentTime.+.$thi
123e00 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 2b 2b 24 74 s->indicatorChangeInterval;.++$t
123e20 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 3b 0a 0a 24 74 68 69 73 2d 3e 64 his->indicatorCurrent;..$this->d
123e40 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f isplay();.}.......public.functio
123e60 6e 20 66 69 6e 69 73 68 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d n.finish($message).{.if.(!$this-
123e80 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 >started).{.throw.new.LogicExcep
123ea0 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e 64 69 63 61 74 6f 72 20 68 61 73 20 6e 6f 74 tion('Progress.indicator.has.not
123ec0 20 79 65 74 20 62 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e .yet.been.started.');.}..$this->
123ee0 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c message.=.$message;.$this->displ
123f00 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 ay();.$this->output->writeln('')
123f20 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a ;.$this->started.=.false;.}.....
123f40 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f ....public.static.function.getFo
123f60 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c rmatDefinition($name).{.if.(!sel
123f80 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 f::$formats).{.self::$formats.=.
123fa0 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 self::initFormats();.}..return.i
123fc0 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 sset(self::$formats[$name]).?.se
123fe0 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a lf::$formats[$name].:.null;.}...
124000 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 .......public.static.function.se
124020 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 tPlaceholderFormatterDefinition(
124040 24 6e 61 6d 65 2c 20 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 $name,.$callable).{.if.(!self::$
124060 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 formatters).{.self::$formatters.
124080 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 =.self::initPlaceholderFormatter
1240a0 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d s();.}..self::$formatters[$name]
1240c0 20 3d 20 24 63 61 6c 6c 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 .=.$callable;.}.........public.s
1240e0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 tatic.function.getPlaceholderFor
124100 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 matterDefinition($name).{.if.(!s
124120 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 elf::$formatters).{.self::$forma
124140 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 tters.=.self::initPlaceholderFor
124160 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a matters();.}..return.isset(self:
124180 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f :$formatters[$name]).?.self::$fo
1241a0 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 rmatters[$name].:.null;.}..priva
1241c0 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 29 0a 7b 0a 69 66 20 28 4f 75 74 70 te.function.display().{.if.(Outp
1241e0 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d utInterface::VERBOSITY_QUIET.===
124200 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 .$this->output->getVerbosity()).
124220 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 0a 24 74 68 {.return;.}..$self.=.$this;..$th
124240 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 is->overwrite(preg_replace_callb
124260 61 63 6b 28 22 7b 25 28 5b 61 2d 7a 5c 2d 5f 5d 2b 29 28 3f 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f ack("{%([a-z\-_]+)(?:\:([^%]+))?
124280 25 7d 69 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 %}i",.function.($matches).use.($
1242a0 73 65 6c 66 29 20 7b 0a 69 66 20 28 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 73 65 6c 66 3a 3a self).{.if.($formatter.=.$self::
1242c0 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f getPlaceholderFormatterDefinitio
1242e0 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 n($matches[1])).{.return.\call_u
124300 73 65 72 5f 66 75 6e 63 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 65 6c 66 29 3b 0a 7d 0a 0a ser_func($formatter,.$self);.}..
124320 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 66 6f return.$matches[0];.},.$this->fo
124340 72 6d 61 74 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 rmat));.}..private.function.dete
124360 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 rmineBestFormat().{.switch.($thi
124380 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 0a 20 63 s->output->getVerbosity()).{...c
1243a0 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 ase.OutputInterface::VERBOSITY_V
1243c0 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 ERBOSE:.return.$this->output->is
1243e0 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 27 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 62 6f Decorated().?.'verbose'.:.'verbo
124400 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 se_no_ansi';.case.OutputInterfac
124420 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 e::VERBOSITY_VERY_VERBOSE:.case.
124440 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 OutputInterface::VERBOSITY_DEBUG
124460 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 :.return.$this->output->isDecora
124480 74 65 64 28 29 20 3f 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 79 5f 76 ted().?.'very_verbose'.:.'very_v
1244a0 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e erbose_no_ansi';.default:.return
1244c0 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 .$this->output->isDecorated().?.
1244e0 27 6e 6f 72 6d 61 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 7d 0a 7d 'normal'.:.'normal_no_ansi';.}.}
124500 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 .......private.function.overwrit
124520 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d e($message).{.if.($this->output-
124540 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d >isDecorated()).{.$this->output-
124560 3e 77 72 69 74 65 28 22 5c 78 30 44 5c 78 31 42 5b 32 4b 22 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 >write("\x0D\x1B[2K");.$this->ou
124580 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a tput->write($message);.}.else.{.
1245a0 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 $this->output->writeln($message)
1245c0 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 ;.}.}..private.function.getCurre
1245e0 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ntTimeInMilliseconds().{.return.
124600 72 6f 75 6e 64 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2a 20 31 30 30 30 29 3b 0a 7d round(microtime(true).*.1000);.}
124620 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 50 6c ..private.static.function.initPl
124640 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 aceholderFormatters().{.return.a
124660 72 72 61 79 28 0a 27 69 6e 64 69 63 61 74 6f 72 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 rray(.'indicator'.=>.function.(P
124680 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 rogressIndicator.$indicator).{.r
1246a0 65 74 75 72 6e 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 eturn.$indicator->getCurrentValu
1246c0 65 28 29 3b 0a 7d 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 e();.},.'message'.=>.function.(P
1246e0 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 rogressIndicator.$indicator).{.r
124700 65 74 75 72 6e 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a eturn.$indicator->getMessage();.
124720 7d 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 },.'elapsed'.=>.function.(Progre
124740 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e ssIndicator.$indicator).{.return
124760 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 74 69 6d 65 28 29 20 2d 20 24 69 6e .Helper::formatTime(time().-.$in
124780 64 69 63 61 74 6f 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 3b 0a 7d 2c 0a 27 6d 65 dicator->getStartTime());.},.'me
1247a0 6d 6f 72 79 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 mory'.=>.function.().{.return.He
1247c0 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 lper::formatMemory(memory_get_us
1247e0 61 67 65 28 74 72 75 65 29 29 3b 0a 7d 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 age(true));.},.);.}..private.sta
124800 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 0a 7b 0a 72 65 74 tic.function.initFormats().{.ret
124820 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 6f 72 6d 61 6c 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 urn.array(.'normal'.=>.'.%indica
124840 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 27 2c 0a 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 tor%.%message%',.'normal_no_ansi
124860 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 27 2c 0a 0a 27 76 65 72 62 6f 73 65 27 20 3d 3e '.=>.'.%message%',..'verbose'.=>
124880 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 .'.%indicator%.%message%.(%elaps
1248a0 65 64 3a 36 73 25 29 27 2c 0a 27 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 ed:6s%)',.'verbose_no_ansi'.=>.'
1248c0 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 29 27 2c 0a 0a 27 76 65 .%message%.(%elapsed:6s%)',..'ve
1248e0 72 79 5f 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 ry_verbose'.=>.'.%indicator%.%me
124900 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 ssage%.(%elapsed:6s%,.%memory:6s
124920 25 29 27 2c 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 %)',.'very_verbose_no_ansi'.=>.'
124940 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 2c 20 25 6d 65 6d 6f 72 .%message%.(%elapsed:6s%,.%memor
124960 79 3a 36 73 25 29 27 2c 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a y:6s%)',.);.}.}.<?php...........
124980 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
1249a0 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 ole\Helper;..use.Symfony\Compone
1249c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 nt\Console\Exception\InvalidArgu
1249e0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f mentException;.use.Symfony\Compo
124a00 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 nent\Console\Exception\RuntimeEx
124a20 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ception;.use.Symfony\Component\C
124a40 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 onsole\Formatter\OutputFormatter
124a60 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
124a80 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a Formatter\OutputFormatterStyle;.
124aa0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
124ac0 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
124ae0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 Component\Console\Output\Console
124b00 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d OutputInterface;.use.Symfony\Com
124b20 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
124b40 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
124b60 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 sole\Question\ChoiceQuestion;.us
124b80 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 e.Symfony\Component\Console\Ques
124ba0 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 51 75 65 73 74 tion\Question;.......class.Quest
124bc0 69 6f 6e 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 ionHelper.extends.Helper.{.priva
124be0 74 65 20 24 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 te.$inputStream;.private.static.
124c00 24 73 68 65 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 74 79 3b 0a 0a 0a $shell;.private.static.$stty;...
124c20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 49 6e 70 75 74 49 ......public.function.ask(InputI
124c40 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 nterface.$input,.OutputInterface
124c60 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a .$output,.Question.$question).{.
124c80 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 if.($output.instanceof.ConsoleOu
124ca0 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 tputInterface).{.$output.=.$outp
124cc0 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 ut->getErrorOutput();.}..if.(!$i
124ce0 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c nput->isInteractive()).{.$defaul
124d00 74 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 0a 69 66 t.=.$question->getDefault();..if
124d20 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 20 26 26 20 24 71 75 65 73 74 69 6f 6e .(null.!==.$default.&&.$question
124d40 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a 24 63 .instanceof.ChoiceQuestion).{.$c
124d60 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 hoices.=.$question->getChoices()
124d80 3b 0a 0a 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 4d 75 6c 74 69 73 65 6c 65 63 74 ;..if.(!$question->isMultiselect
124da0 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 64 65 66 ()).{.return.isset($choices[$def
124dc0 61 75 6c 74 5d 29 20 3f 20 24 63 68 6f 69 63 65 73 5b 24 64 65 66 61 75 6c 74 5d 20 3a 20 24 64 ault]).?.$choices[$default].:.$d
124de0 65 66 61 75 6c 74 3b 0a 7d 0a 0a 24 64 65 66 61 75 6c 74 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c efault;.}..$default.=.explode(',
124e00 27 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 20 ',.$default);.foreach.($default.
124e20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 24 76 20 3d 20 74 72 69 6d 28 24 76 29 3b 0a 24 64 as.$k.=>.$v).{.$v.=.trim($v);.$d
124e40 65 66 61 75 6c 74 5b 24 6b 5d 20 3d 20 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 76 5d 29 efault[$k].=.isset($choices[$v])
124e60 20 3f 20 24 63 68 6f 69 63 65 73 5b 24 76 5d 20 3a 20 24 76 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 .?.$choices[$v].:.$v;.}.}..retur
124e80 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 67 n.$default;.}..if.(!$question->g
124ea0 65 74 56 61 6c 69 64 61 74 6f 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 etValidator()).{.return.$this->d
124ec0 6f 41 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 oAsk($output,.$question);.}..$th
124ee0 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 75 6e 63 at.=.$this;..$interviewer.=.func
124f00 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c tion.().use.($output,.$question,
124f20 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e 64 6f 41 73 6b 28 24 6f .$that).{.return.$that->doAsk($o
124f40 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 utput,.$question);.};..return.$t
124f60 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 his->validateAttempts($interview
124f80 65 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a er,.$output,.$question);.}......
124fa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 53 74 72 .....public.function.setInputStr
124fc0 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 72 65 73 6f 75 72 63 65 eam($stream).{.if.(!\is_resource
124fe0 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 ($stream)).{.throw.new.InvalidAr
125000 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 75 74 20 73 74 72 65 61 6d 20 6d 75 gumentException('Input.stream.mu
125020 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 72 65 73 6f 75 72 63 65 2e 27 29 3b 0a 7d 0a 0a 24 74 st.be.a.valid.resource.');.}..$t
125040 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a his->inputStream.=.$stream;.}...
125060 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 53 74 72 65 ....public.function.getInputStre
125080 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d am().{.return.$this->inputStream
1250a0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 ;.}.....public.function.getName(
1250c0 29 0a 7b 0a 72 65 74 75 72 6e 20 27 71 75 65 73 74 69 6f 6e 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ).{.return.'question';.}........
1250e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 41 73 6b 28 4f 75 74 70 75 74 49 ...public.function.doAsk(OutputI
125100 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 nterface.$output,.Question.$ques
125120 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 50 72 6f 6d 70 74 28 24 6f 75 74 70 tion).{.$this->writePrompt($outp
125140 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 ut,.$question);..$inputStream.=.
125160 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 3b 0a 24 61 75 $this->inputStream.?:.STDIN;.$au
125180 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 41 75 74 6f 63 tocomplete.=.$question->getAutoc
1251a0 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 ompleterValues();..if.(null.===.
1251c0 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 $autocomplete.||.!$this->hasStty
1251e0 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 Available()).{.$ret.=.false;.if.
125200 28 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 65 6e 28 29 29 20 7b 0a 74 72 79 20 7b 0a ($question->isHidden()).{.try.{.
125220 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 67 65 74 48 69 64 64 65 6e 52 65 73 70 $ret.=.trim($this->getHiddenResp
125240 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 3b 0a 7d 20 onse($output,.$inputStream));.}.
125260 63 61 74 63 68 20 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 catch.(RuntimeException.$e).{.if
125280 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 29 .(!$question->isHiddenFallback()
1252a0 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d ).{.throw.$e;.}.}.}..if.(false.=
1252c0 3d 3d 20 24 72 65 74 29 20 7b 0a 24 72 65 74 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 74 53 74 ==.$ret).{.$ret.=.fgets($inputSt
1252e0 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 ream,.4096);.if.(false.===.$ret)
125300 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 .{.throw.new.RuntimeException('A
125320 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 72 65 74 29 3b 0a 7d borted');.}.$ret.=.trim($ret);.}
125340 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 61 75 74 .}.else.{.$ret.=.trim($this->aut
125360 6f 63 6f 6d 70 6c 65 74 65 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 69 ocomplete($output,.$question,.$i
125380 6e 70 75 74 53 74 72 65 61 6d 2c 20 5c 69 73 5f 61 72 72 61 79 28 24 61 75 74 6f 63 6f 6d 70 6c nputStream,.\is_array($autocompl
1253a0 65 74 65 29 20 3f 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3a 20 69 74 65 72 61 74 6f 72 5f ete).?.$autocomplete.:.iterator_
1253c0 74 6f 5f 61 72 72 61 79 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 2c 20 66 61 6c 73 65 29 29 29 to_array($autocomplete,.false)))
1253e0 3b 0a 7d 0a 0a 24 72 65 74 20 3d 20 5c 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 20 3f 20 ;.}..$ret.=.\strlen($ret).>.0.?.
125400 24 72 65 74 20 3a 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a $ret.:.$question->getDefault();.
125420 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 .if.($normalizer.=.$question->ge
125440 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 tNormalizer()).{.return.$normali
125460 7a 65 72 28 24 72 65 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a zer($ret);.}..return.$ret;.}....
125480 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 50 72 6f 6d 70 74 28 .protected.function.writePrompt(
1254a0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f OutputInterface.$output,.Questio
1254c0 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 71 75 65 73 74 n.$question).{.$message.=.$quest
1254e0 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 71 75 65 73 74 69 ion->getQuestion();..if.($questi
125500 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a on.instanceof.ChoiceQuestion).{.
125520 24 6d 61 78 57 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 $maxWidth.=.max(array_map(array(
125540 24 74 68 69 73 2c 20 27 73 74 72 6c 65 6e 27 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 71 75 $this,.'strlen'),.array_keys($qu
125560 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 29 29 29 3b 0a 0a 24 6d 65 73 73 61 estion->getChoices())));..$messa
125580 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 ges.=.(array).$question->getQues
1255a0 74 69 6f 6e 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 tion();.foreach.($question->getC
1255c0 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 77 hoices().as.$key.=>.$value).{.$w
1255e0 69 64 74 68 20 3d 20 24 6d 61 78 57 69 64 74 68 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e idth.=.$maxWidth.-.$this->strlen
125600 28 24 6b 65 79 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 20 20 5b 3c 69 6e 66 6f 3e ($key);.$messages[].=.'..[<info>
125620 27 2e 24 6b 65 79 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 77 69 64 74 68 29 2e 27 '.$key.str_repeat('.',.$width).'
125640 3c 2f 69 6e 66 6f 3e 5d 20 27 2e 24 76 61 6c 75 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 </info>].'.$value;.}..$output->w
125660 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 riteln($messages);..$message.=.$
125680 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 question->getPrompt();.}..$outpu
1256a0 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 t->write($message);.}.....protec
1256c0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 4f 75 74 70 75 74 49 6e ted.function.writeError(OutputIn
1256e0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 terface.$output,.\Exception.$err
125700 6f 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c or).{.if.(null.!==.$this->getHel
125720 70 65 72 53 65 74 28 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 perSet().&&.$this->getHelperSet(
125740 29 2d 3e 68 61 73 28 27 66 6f 72 6d 61 74 74 65 72 27 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 )->has('formatter')).{.$message.
125760 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 66 6f =.$this->getHelperSet()->get('fo
125780 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 65 72 72 6f 72 2d 3e 67 rmatter')->formatBlock($error->g
1257a0 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a etMessage(),.'error');.}.else.{.
1257c0 24 6d 65 73 73 61 67 65 20 3d 20 27 3c 65 72 72 6f 72 3e 27 2e 24 65 72 72 6f 72 2d 3e 67 65 74 $message.=.'<error>'.$error->get
1257e0 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 Message().'</error>';.}..$output
125800 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ->writeln($message);.}..........
125820 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 28 ..private.function.autocomplete(
125840 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f OutputInterface.$output,.Questio
125860 6e 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 61 72 72 61 79 n.$question,.$inputStream,.array
125880 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 0a 7b 0a 24 72 65 74 20 3d 20 27 27 3b 0a 0a 24 69 .$autocomplete).{.$ret.=.'';..$i
1258a0 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 .=.0;.$ofs.=.-1;.$matches.=.$aut
1258c0 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 6e 74 28 ocomplete;.$numMatches.=.\count(
1258e0 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 $matches);..$sttyMode.=.shell_ex
125900 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 ec('stty.-g');....shell_exec('st
125920 74 79 20 2d 69 63 61 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e ty.-icanon.-echo');....$output->
125940 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 27 68 6c 27 2c 20 6e getFormatter()->setStyle('hl',.n
125960 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c ew.OutputFormatterStyle('black',
125980 20 27 77 68 69 74 65 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 21 66 65 6f 66 28 24 69 6e 70 .'white'));....while.(!feof($inp
1259a0 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 utStream)).{.$c.=.fread($inputSt
1259c0 72 65 61 6d 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d 3d 20 24 63 29 20 ream,.1);....if.("\177".===.$c).
1259e0 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 26 26 20 30 20 21 3d 3d {.if.(0.===.$numMatches.&&.0.!==
125a00 20 24 69 29 20 7b 0a 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c .$i).{.--$i;...$output->write("\
125a20 30 33 33 5b 31 44 22 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 24 6f 66 033[1D");.}..if.(0.===.$i).{.$of
125a40 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 s.=.-1;.$matches.=.$autocomplete
125a60 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 ;.$numMatches.=.\count($matches)
125a80 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 0a ;.}.else.{.$numMatches.=.0;.}...
125aa0 20 24 72 65 74 20 3d 20 73 75 62 73 74 72 28 24 72 65 74 2c 20 30 2c 20 24 69 29 3b 0a 7d 20 65 .$ret.=.substr($ret,.0,.$i);.}.e
125ac0 6c 73 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 0a 20 24 63 20 2e 3d 20 lseif.("\033".===.$c).{...$c..=.
125ae0 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 32 29 3b 0a 0a 0a 20 69 66 20 28 69 fread($inputStream,.2);....if.(i
125b00 73 73 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 7c 7c sset($c[2]).&&.('A'.===.$c[2].||
125b20 20 27 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 .'B'.===.$c[2])).{.if.('A'.===.$
125b40 63 5b 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 20 3d 20 30 3b c[2].&&.-1.===.$ofs).{.$ofs.=.0;
125b60 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 7b 0a 63 6f 6e .}..if.(0.===.$numMatches).{.con
125b80 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d tinue;.}..$ofs.+=.('A'.===.$c[2]
125ba0 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 ).?.-1.:.1;.$ofs.=.($numMatches.
125bc0 2b 20 24 6f 66 73 29 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 +.$ofs).%.$numMatches;.}.}.elsei
125be0 66 20 28 5c 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 22 20 3d 3d 3d f.(\ord($c).<.32).{.if.("\t".===
125c00 20 24 63 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 6e 75 6d 4d 61 .$c.||."\n".===.$c).{.if.($numMa
125c20 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 72 65 74 tches.>.0.&&.-1.!==.$ofs).{.$ret
125c40 20 3d 20 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 .=.$matches[$ofs];...$output->wr
125c60 69 74 65 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d 20 5c 73 74 72 ite(substr($ret,.$i));.$i.=.\str
125c80 6c 65 6e 28 24 72 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b len($ret);.}..if.("\n".===.$c).{
125ca0 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 .$output->write($c);.break;.}..$
125cc0 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 numMatches.=.0;.}..continue;.}.e
125ce0 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 72 65 74 20 2e lse.{.$output->write($c);.$ret..
125d00 3d 20 24 63 3b 0a 2b 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 24 6f =.$c;.++$i;..$numMatches.=.0;.$o
125d20 66 73 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 fs.=.0;..foreach.($autocomplete.
125d40 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 as.$value).{...if.(0.===.strpos(
125d60 24 76 61 6c 75 65 2c 20 24 72 65 74 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 75 6d 4d 61 $value,.$ret)).{.$matches[$numMa
125d80 74 63 68 65 73 2b 2b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 tches++].=.$value;.}.}.}....$out
125da0 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d put->write("\033[K");..if.($numM
125dc0 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 0a 20 24 atches.>.0.&&.-1.!==.$ofs).{...$
125de0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 22 29 3b 0a 0a 20 24 6f 75 74 70 75 output->write("\0337");...$outpu
125e00 74 2d 3e 77 72 69 74 65 28 27 3c 68 6c 3e 27 2e 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a t->write('<hl>'.OutputFormatter:
125e20 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 73 75 62 73 74 72 28 :escapeTrailingBackslash(substr(
125e40 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 2c 20 24 69 29 29 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 0a $matches[$ofs],.$i)).'</hl>');..
125e60 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 38 22 29 3b 0a 7d 0a 7d 0a 0a 0a .$output->write("\0338");.}.}...
125e80 20 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 .shell_exec(sprintf('stty.%s',.$
125ea0 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a sttyMode));..return.$ret;.}.....
125ec0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 69 64 64 65 .......private.function.getHidde
125ee0 6e 52 65 73 70 6f 6e 73 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 nResponse(OutputInterface.$outpu
125f00 74 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 t,.$inputStream).{.if.('\\'.===.
125f20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 78 65 20 3d 20 5f \DIRECTORY_SEPARATOR).{.$exe.=._
125f40 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 64 65 6e _DIR__.'/../Resources/bin/hidden
125f60 69 6e 70 75 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 73 input.exe';....if.('phar:'.===.s
125f80 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 74 6d 70 45 78 65 ubstr(__FILE__,.0,.5)).{.$tmpExe
125fa0 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 68 69 64 64 65 6e 69 6e .=.sys_get_temp_dir().'/hiddenin
125fc0 70 75 74 2e 65 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d 70 45 78 65 29 3b 0a 24 put.exe';.copy($exe,.$tmpExe);.$
125fe0 65 78 65 20 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d exe.=.$tmpExe;.}..$value.=.rtrim
126000 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 (shell_exec($exe));.$output->wri
126020 74 65 6c 6e 28 27 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 29 20 7b teln('');..if.(isset($tmpExe)).{
126040 0a 75 6e 6c 69 6e 6b 28 24 74 6d 70 45 78 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c .unlink($tmpExe);.}..return.$val
126060 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 ue;.}..if.($this->hasSttyAvailab
126080 6c 65 28 29 29 20 7b 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 le()).{.$sttyMode.=.shell_exec('
1260a0 73 74 74 79 20 2d 67 27 29 3b 0a 0a 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 65 63 stty.-g');..shell_exec('stty.-ec
1260c0 68 6f 27 29 3b 0a 24 76 61 6c 75 65 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 74 53 74 72 65 61 ho');.$value.=.fgets($inputStrea
1260e0 6d 2c 20 34 30 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 m,.4096);.shell_exec(sprintf('st
126100 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 ty.%s',.$sttyMode));..if.(false.
126120 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 ===.$value).{.throw.new.RuntimeE
126140 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d xception('Aborted');.}..$value.=
126160 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 .trim($value);.$output->writeln(
126180 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 '');..return.$value;.}..if.(fals
1261a0 65 20 21 3d 3d 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 65 6c 6c 28 29 e.!==.$shell.=.$this->getShell()
1261c0 29 20 7b 0a 24 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 20 3d 3d 3d 20 24 73 68 65 6c 6c 20 ).{.$readCmd.=.'csh'.===.$shell.
1261e0 3f 20 27 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 61 64 20 ?.'set.mypassword.=.$<'.:.'read.
126200 2d 72 20 6d 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e -r.mypassword';.$command.=.sprin
126220 74 66 28 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 73 74 74 79 20 2d 65 63 tf("/usr/bin/env.%s.-c.'stty.-ec
126240 68 6f 3b 20 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 20 5c 24 6d 79 70 61 73 73 ho;.%s;.stty.echo;.echo.\$mypass
126260 77 6f 72 64 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d 64 29 3b 0a 24 76 61 6c 75 word'",.$shell,.$readCmd);.$valu
126280 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 6f 6d 6d 61 6e 64 29 29 3b e.=.rtrim(shell_exec($command));
1262a0 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 .$output->writeln('');..return.$
1262c0 76 61 6c 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 value;.}..throw.new.RuntimeExcep
1262e0 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 70 6f 6e 73 tion('Unable.to.hide.the.respons
126300 65 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 e.');.}.............private.func
126320 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 tion.validateAttempts($interview
126340 65 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 er,.OutputInterface.$output,.Que
126360 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c stion.$question).{.$error.=.null
126380 3b 0a 24 61 74 74 65 6d 70 74 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 4d 61 78 41 ;.$attempts.=.$question->getMaxA
1263a0 74 74 65 6d 70 74 73 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 74 74 65 ttempts();.while.(null.===.$atte
1263c0 6d 70 74 73 20 7c 7c 20 24 61 74 74 65 6d 70 74 73 2d 2d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 mpts.||.$attempts--).{.if.(null.
1263e0 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 !==.$error).{.$this->writeError(
126400 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 $output,.$error);.}..try.{.retur
126420 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 n.\call_user_func($question->get
126440 56 61 6c 69 64 61 74 6f 72 28 29 2c 20 24 69 6e 74 65 72 76 69 65 77 65 72 28 29 29 3b 0a 7d 20 Validator(),.$interviewer());.}.
126460 63 61 74 63 68 20 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 catch.(RuntimeException.$e).{.th
126480 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 row.$e;.}.catch.(\Exception.$err
1264a0 6f 72 29 20 7b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a or).{.}.}..throw.$error;.}......
1264c0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 .private.function.getShell().{.i
1264e0 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 29 20 7b 0a 72 65 74 75 f.(null.!==.self::$shell).{.retu
126500 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c rn.self::$shell;.}..self::$shell
126520 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 75 73 72 .=.false;..if.(file_exists('/usr
126540 2f 62 69 6e 2f 65 6e 76 27 29 29 20 7b 0a 0a 20 24 74 65 73 74 20 3d 20 22 2f 75 73 72 2f 62 69 /bin/env')).{...$test.=."/usr/bi
126560 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 65 63 68 6f 20 4f 4b 27 20 32 3e 20 2f 64 65 76 2f 6e 75 n/env.%s.-c.'echo.OK'.2>./dev/nu
126580 6c 6c 22 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 62 61 73 68 27 2c 20 27 7a 73 68 ll";.foreach.(array('bash',.'zsh
1265a0 27 2c 20 27 6b 73 68 27 2c 20 27 63 73 68 27 29 20 61 73 20 24 73 68 29 20 7b 0a 69 66 20 28 27 ',.'ksh',.'csh').as.$sh).{.if.('
1265c0 4f 4b 27 20 3d 3d 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 OK'.===.rtrim(shell_exec(sprintf
1265e0 28 24 74 65 73 74 2c 20 24 73 68 29 29 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d ($test,.$sh)))).{.self::$shell.=
126600 20 24 73 68 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a .$sh;.break;.}.}.}..return.self:
126620 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f :$shell;.}.......private.functio
126640 6e 20 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 n.hasSttyAvailable().{.if.(null.
126660 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a !==.self::$stty).{.return.self::
126680 24 73 74 74 79 3b 0a 7d 0a 0a 65 78 65 63 28 27 73 74 74 79 20 32 3e 26 31 27 2c 20 24 6f 75 74 $stty;.}..exec('stty.2>&1',.$out
1266a0 70 75 74 2c 20 24 65 78 69 74 63 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 put,.$exitcode);..return.self::$
1266c0 73 74 74 79 20 3d 20 30 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 stty.=.0.===.$exitcode;.}.}.<?ph
1266e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
126700 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d mponent\Console\Helper;..use.Sym
126720 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
126740 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \LogicException;.use.Symfony\Com
126760 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 ponent\Console\Formatter\OutputF
126780 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ormatter;.use.Symfony\Component\
1267a0 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
1267c0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 e.Symfony\Component\Console\Outp
1267e0 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ut\OutputInterface;.use.Symfony\
126800 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 Component\Console\Question\Choic
126820 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 eQuestion;.use.Symfony\Component
126840 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 \Console\Question\ConfirmationQu
126860 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f estion;.use.Symfony\Component\Co
126880 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d nsole\Question\Question;.use.Sym
1268a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 5c 53 79 6d fony\Component\Console\Style\Sym
1268c0 66 6f 6e 79 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 79 6d 66 6f 6e 79 51 75 fonyStyle;.......class.SymfonyQu
1268e0 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 48 65 6c estionHelper.extends.QuestionHel
126900 70 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 49 6e 70 per.{....public.function.ask(Inp
126920 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
126940 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 ace.$output,.Question.$question)
126960 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 61 .{.$validator.=.$question->getVa
126980 6c 69 64 61 74 6f 72 28 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 lidator();.$question->setValidat
1269a0 6f 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 76 61 6c 69 64 or(function.($value).use.($valid
1269c0 61 74 6f 72 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 6f 72 29 ator).{.if.(null.!==.$validator)
1269e0 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 29 3b 0a .{.$value.=.$validator($value);.
126a00 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 }.else.{...if.(!\is_array($value
126a20 29 20 26 26 20 21 5c 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 ).&&.!\is_bool($value).&&.0.===.
126a40 5c 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 \strlen($value)).{.throw.new.Log
126a60 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 76 61 6c 75 65 20 69 73 20 72 65 71 75 69 72 65 64 icException('A.value.is.required
126a80 2e 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 29 3b 0a 0a 72 65 .');.}.}..return.$value;.});..re
126aa0 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 turn.parent::ask($input,.$output
126ac0 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ,.$question);.}.....protected.fu
126ae0 6e 63 74 69 6f 6e 20 77 72 69 74 65 50 72 6f 6d 70 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 nction.writePrompt(OutputInterfa
126b00 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a ce.$output,.Question.$question).
126b20 7b 0a 24 74 65 78 74 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 {.$text.=.OutputFormatter::escap
126b40 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 eTrailingBackslash($question->ge
126b60 74 51 75 65 73 74 69 6f 6e 28 29 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 71 75 65 73 74 69 tQuestion());.$default.=.$questi
126b80 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 0a 73 77 69 74 63 68 20 28 74 72 75 65 29 on->getDefault();..switch.(true)
126ba0 20 7b 0a 63 61 73 65 20 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 3a 0a 24 74 65 78 74 .{.case.null.===.$default:.$text
126bc0 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 27 2c 20 .=.sprintf('.<info>%s</info>:',.
126be0 24 74 65 78 74 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 $text);..break;..case.$question.
126c00 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3a instanceof.ConfirmationQuestion:
126c20 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 20 28 79 65 73 .$text.=.sprintf('.<info>%s.(yes
126c40 2f 6e 6f 29 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e /no)</info>.[<comment>%s</commen
126c60 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 24 64 65 66 61 75 6c 74 20 3f 20 27 79 65 73 27 20 3a t>]:',.$text,.$default.?.'yes'.:
126c80 20 27 6e 6f 27 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 .'no');..break;..case.$question.
126ca0 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 20 26 26 20 24 71 75 instanceof.ChoiceQuestion.&&.$qu
126cc0 65 73 74 69 6f 6e 2d 3e 69 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 3a 0a 24 63 68 6f 69 63 65 estion->isMultiselect():.$choice
126ce0 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 24 64 65 s.=.$question->getChoices();.$de
126d00 66 61 75 6c 74 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a fault.=.explode(',',.$default);.
126d20 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 .foreach.($default.as.$key.=>.$v
126d40 61 6c 75 65 29 20 7b 0a 24 64 65 66 61 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 24 63 68 6f 69 63 65 alue).{.$default[$key].=.$choice
126d60 73 5b 74 72 69 6d 28 24 76 61 6c 75 65 29 5d 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 s[trim($value)];.}..$text.=.spri
126d80 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e ntf('.<info>%s</info>.[<comment>
126da0 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 70 75 74 46 6f %s</comment>]:',.$text,.OutputFo
126dc0 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 64 rmatter::escape(implode(',.',.$d
126de0 65 66 61 75 6c 74 29 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 efault)));..break;..case.$questi
126e00 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3a 0a 24 63 on.instanceof.ChoiceQuestion:.$c
126e20 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 hoices.=.$question->getChoices()
126e40 3b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e ;.$text.=.sprintf('.<info>%s</in
126e60 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 fo>.[<comment>%s</comment>]:',.$
126e80 74 65 78 74 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 69 73 text,.OutputFormatter::escape(is
126ea0 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 64 65 66 61 75 6c 74 5d 29 20 3f 20 24 63 68 6f 69 63 set($choices[$default]).?.$choic
126ec0 65 73 5b 24 64 65 66 61 75 6c 74 5d 20 3a 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 62 72 65 61 es[$default].:.$default));..brea
126ee0 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c k;..default:.$text.=.sprintf('.<
126f00 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d info>%s</info>.[<comment>%s</com
126f20 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 ment>]:',.$text,.OutputFormatter
126f40 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d ::escape($default));.}..$output-
126f60 3e 77 72 69 74 65 6c 6e 28 24 74 65 78 74 29 3b 0a 0a 69 66 20 28 24 71 75 65 73 74 69 6f 6e 20 >writeln($text);..if.($question.
126f80 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a 24 77 69 instanceof.ChoiceQuestion).{.$wi
126fa0 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 6c 65 6e 27 2c 20 61 72 dth.=.max(array_map('strlen',.ar
126fc0 72 61 79 5f 6b 65 79 73 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 ray_keys($question->getChoices()
126fe0 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f )));..foreach.($question->getCho
127000 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6f 75 74 ices().as.$key.=>.$value).{.$out
127020 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 22 20 20 5b 3c 63 6f 6d 6d 65 6e put->writeln(sprintf("..[<commen
127040 74 3e 25 2d 24 7b 77 69 64 74 68 7d 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 25 73 22 2c 20 24 6b t>%-${width}s</comment>].%s",.$k
127060 65 79 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 ey,.$value));.}.}..$output->writ
127080 65 28 27 20 3e 20 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 e('.>.');.}.....protected.functi
1270a0 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f on.writeError(OutputInterface.$o
1270c0 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 0a 7b 0a 69 66 20 28 utput,.\Exception.$error).{.if.(
1270e0 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 53 74 79 6c 65 29 $output.instanceof.SymfonyStyle)
127100 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 24 6f 75 74 70 75 74 2d 3e .{.$output->newLine();.$output->
127120 65 72 72 6f 72 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 0a 72 65 error($error->getMessage());..re
127140 74 75 72 6e 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 turn;.}..parent::writeError($out
127160 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a put,.$error);.}.}.<?php.........
127180 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
1271a0 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nsole\Helper;..use.Symfony\Compo
1271c0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 nent\Console\Exception\InvalidAr
1271e0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d gumentException;.use.Symfony\Com
127200 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
127220 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 0a 7b 0a 0a 0a rface;..........class.Table.{...
127240 0a 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a .private.$headers.=.array();....
127260 0a 70 72 69 76 61 74 65 20 24 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 .private.$rows.=.array();.....pr
127280 69 76 61 74 65 20 24 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ivate.$columnWidths.=.array();..
1272a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 0a .....private.$numberOfColumns;..
1272c0 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ...private.$output;.....private.
1272e0 24 73 74 79 6c 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 75 6d 6e 53 74 79 6c 65 $style;.....private.$columnStyle
127300 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 s.=.array();..private.static.$st
127320 79 6c 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 yles;..public.function.__constru
127340 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 ct(OutputInterface.$output).{.$t
127360 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 69 66 20 28 21 73 65 6c his->output.=.$output;..if.(!sel
127380 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 f::$styles).{.self::$styles.=.se
1273a0 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 53 lf::initStyles();.}..$this->setS
1273c0 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tyle('default');.}........public
1273e0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 .static.function.setStyleDefinit
127400 69 6f 6e 28 24 6e 61 6d 65 2c 20 54 61 62 6c 65 53 74 79 6c 65 20 24 73 74 79 6c 65 29 0a 7b 0a ion($name,.TableStyle.$style).{.
127420 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 74 79 if.(!self::$styles).{.self::$sty
127440 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 7d 0a 0a 73 65 6c les.=.self::initStyles();.}..sel
127460 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a f::$styles[$name].=.$style;.}...
127480 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ......public.static.function.get
1274a0 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 StyleDefinition($name).{.if.(!se
1274c0 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 lf::$styles).{.self::$styles.=.s
1274e0 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 elf::initStyles();.}..if.(isset(
127500 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 self::$styles[$name])).{.return.
127520 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e self::$styles[$name];.}..throw.n
127540 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
127560 6e 74 66 28 27 53 74 79 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 ntf('Style."%s".is.not.defined.'
127580 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ,.$name));.}.........public.func
1275a0 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 tion.setStyle($name).{.$this->st
1275c0 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 yle.=.$this->resolveStyle($name)
1275e0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
127600 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 function.getStyle().{.return.$th
127620 69 73 2d 3e 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e is->style;.}..........public.fun
127640 63 74 69 6f 6e 20 73 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 ction.setColumnStyle($columnInde
127660 78 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 20 3d 20 28 69 6e 74 29 x,.$name).{.$columnIndex.=.(int)
127680 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 .$columnIndex;..$this->columnSty
1276a0 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c les[$columnIndex].=.$this->resol
1276c0 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d veStyle($name);..return.$this;.}
1276e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f ...........public.function.getCo
127700 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 29 0a 7b 0a 69 66 20 28 69 73 lumnStyle($columnIndex).{.if.(is
127720 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 set($this->columnStyles[$columnI
127740 6e 64 65 78 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 ndex])).{.return.$this->columnSt
127760 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 yles[$columnIndex];.}..return.$t
127780 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->getStyle();.}..public.funct
1277a0 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b ion.setHeaders(array.$headers).{
1277c0 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 68 65 61 64 65 72 .$headers.=.array_values($header
1277e0 73 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 65 61 64 65 72 73 29 20 26 26 20 21 5c 69 73 s);.if.(!empty($headers).&&.!\is
127800 5f 61 72 72 61 79 28 24 68 65 61 64 65 72 73 5b 30 5d 29 29 20 7b 0a 24 68 65 61 64 65 72 73 20 _array($headers[0])).{.$headers.
127820 3d 20 61 72 72 61 79 28 24 68 65 61 64 65 72 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 65 61 =.array($headers);.}..$this->hea
127840 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a ders.=.$headers;..return.$this;.
127860 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 73 28 61 72 72 61 79 }..public.function.setRows(array
127880 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b .$rows).{.$this->rows.=.array();
1278a0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a ..return.$this->addRows($rows);.
1278c0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 73 28 61 72 72 61 79 }..public.function.addRows(array
1278e0 20 24 72 6f 77 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 .$rows).{.foreach.($rows.as.$row
127900 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 6f 77 28 24 72 6f 77 29 3b 0a 7d 0a 0a 72 65 74 75 ).{.$this->addRow($row);.}..retu
127920 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 rn.$this;.}..public.function.add
127940 52 6f 77 28 24 72 6f 77 29 0a 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 Row($row).{.if.($row.instanceof.
127960 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 TableSeparator).{.$this->rows[].
127980 3d 20 24 72 6f 77 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 69 66 20 28 21 5c =.$row;..return.$this;.}..if.(!\
1279a0 69 73 5f 61 72 72 61 79 28 24 72 6f 77 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 is_array($row)).{.throw.new.Inva
1279c0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 20 72 6f 77 20 6d 75 73 74 lidArgumentException('A.row.must
1279e0 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 61 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 .be.an.array.or.a.TableSeparator
127a00 20 69 6e 73 74 61 6e 63 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d .instance.');.}..$this->rows[].=
127a20 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 .array_values($row);..return.$th
127a40 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 is;.}..public.function.setRow($c
127a60 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 olumn,.array.$row).{.$this->rows
127a80 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 72 6f 77 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b [$column].=.$row;..return.$this;
127aa0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .}...............public.function
127ac0 20 72 65 6e 64 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 4e 75 6d 62 .render().{.$this->calculateNumb
127ae0 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 3b 0a 24 72 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 erOfColumns();.$rows.=.$this->bu
127b00 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 74 68 69 73 2d 3e 72 6f 77 73 29 3b 0a 24 68 65 61 64 ildTableRows($this->rows);.$head
127b20 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 74 68 69 ers.=.$this->buildTableRows($thi
127b40 73 2d 3e 68 65 61 64 65 72 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 43 6f s->headers);..$this->calculateCo
127b60 6c 75 6d 6e 73 57 69 64 74 68 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 68 65 61 64 65 72 73 2c lumnsWidth(array_merge($headers,
127b80 20 24 72 6f 77 73 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 .$rows));..$this->renderRowSepar
127ba0 61 74 6f 72 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 65 61 64 65 72 73 29 29 20 7b 0a ator();.if.(!empty($headers)).{.
127bc0 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a foreach.($headers.as.$header).{.
127be0 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 24 68 65 61 64 65 72 2c 20 24 74 68 69 73 2d $this->renderRow($header,.$this-
127c00 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 29 29 3b 0a >style->getCellHeaderFormat());.
127c20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 0a 7d $this->renderRowSeparator();.}.}
127c40 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 .foreach.($rows.as.$row).{.if.($
127c60 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b row.instanceof.TableSeparator).{
127c80 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 20 .$this->renderRowSeparator();.}.
127ca0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 24 72 6f 77 2c 20 24 74 else.{.$this->renderRow($row,.$t
127cc0 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 29 29 3b his->style->getCellRowFormat());
127ce0 0a 7d 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 6f 77 73 29 29 20 7b 0a 24 74 68 69 73 2d .}.}.if.(!empty($rows)).{.$this-
127d00 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d >renderRowSeparator();.}..$this-
127d20 3e 63 6c 65 61 6e 75 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 >cleanup();.}.........private.fu
127d40 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 0a 7b 0a 69 66 nction.renderRowSeparator().{.if
127d60 20 28 30 20 3d 3d 3d 20 24 63 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 .(0.===.$count.=.$this->numberOf
127d80 43 6f 6c 75 6d 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 Columns).{.return;.}..if.(!$this
127da0 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 ->style->getHorizontalBorderChar
127dc0 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f 73 73 69 6e 67 ().&&.!$this->style->getCrossing
127de0 43 68 61 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6d 61 72 6b 75 70 20 3d 20 24 Char()).{.return;.}..$markup.=.$
127e00 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 3b 0a this->style->getCrossingChar();.
127e20 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 6f 6c 75 6d 6e 20 3c 20 24 63 6f 75 for.($column.=.0;.$column.<.$cou
127e40 6e 74 3b 20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 6d 61 72 6b 75 70 20 2e 3d 20 73 74 72 5f nt;.++$column).{.$markup..=.str_
127e60 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 repeat($this->style->getHorizont
127e80 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 alBorderChar(),.$this->columnWid
127ea0 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 29 2e 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 ths[$column]).$this->style->getC
127ec0 72 6f 73 73 69 6e 67 43 68 61 72 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d rossingChar();.}..$this->output-
127ee0 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 >writeln(sprintf($this->style->g
127f00 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 6d 61 72 6b 75 70 29 29 3b 0a 7d 0a 0a etBorderFormat(),.$markup));.}..
127f20 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 43 6f 6c 75 6d 6e ...private.function.renderColumn
127f40 53 65 70 61 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 74 68 Separator().{.return.sprintf($th
127f60 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 74 is->style->getBorderFormat(),.$t
127f80 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 his->style->getVerticalBorderCha
127fa0 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 r());.}............private.funct
127fc0 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 65 6c 6c 46 ion.renderRow(array.$row,.$cellF
127fe0 6f 72 6d 61 74 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 72 6f 77 29 29 20 7b 0a 72 65 74 75 ormat).{.if.(empty($row)).{.retu
128000 72 6e 3b 0a 7d 0a 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 6e 64 rn;.}..$rowContent.=.$this->rend
128020 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 erColumnSeparator();.foreach.($t
128040 68 69 73 2d 3e 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 24 72 6f 77 29 20 61 73 20 24 63 6f 6c his->getRowColumns($row).as.$col
128060 75 6d 6e 29 20 7b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 2d 3e 72 65 6e umn).{.$rowContent..=.$this->ren
128080 64 65 72 43 65 6c 6c 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 2c 20 24 63 65 6c 6c 46 6f 72 6d derCell($row,.$column,.$cellForm
1280a0 61 74 29 3b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 at);.$rowContent..=.$this->rende
1280c0 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6f 75 74 rColumnSeparator();.}.$this->out
1280e0 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 6f 77 43 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a put->writeln($rowContent);.}....
128100 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 43 65 6c 6c .....private.function.renderCell
128120 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 (array.$row,.$column,.$cellForma
128140 74 29 0a 7b 0a 24 63 65 6c 6c 20 3d 20 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d t).{.$cell.=.isset($row[$column]
128160 29 20 3f 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3a 20 27 27 3b 0a 24 77 69 64 74 68 20 3d ).?.$row[$column].:.'';.$width.=
128180 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 69 .$this->columnWidths[$column];.i
1281a0 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 f.($cell.instanceof.TableCell.&&
1281c0 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 0a 20 66 6f .$cell->getColspan().>.1).{...fo
1281e0 72 65 61 63 68 20 28 72 61 6e 67 65 28 24 63 6f 6c 75 6d 6e 20 2b 20 31 2c 20 24 63 6f 6c 75 6d reach.(range($column.+.1,.$colum
128200 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 20 61 73 20 n.+.$cell->getColspan().-.1).as.
128220 24 6e 65 78 74 43 6f 6c 75 6d 6e 29 20 7b 0a 24 77 69 64 74 68 20 2b 3d 20 24 74 68 69 73 2d 3e $nextColumn).{.$width.+=.$this->
128240 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 57 69 64 74 68 28 29 20 2b 20 24 74 68 69 getColumnSeparatorWidth().+.$thi
128260 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 6e 65 78 74 43 6f 6c 75 6d 6e 5d 3b 0a 7d 0a s->columnWidths[$nextColumn];.}.
128280 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d }....if.(false.!==.$encoding.=.m
1282a0 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 63 65 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 b_detect_encoding($cell,.null,.t
1282c0 72 75 65 29 29 20 7b 0a 24 77 69 64 74 68 20 2b 3d 20 5c 73 74 72 6c 65 6e 28 24 63 65 6c 6c 29 rue)).{.$width.+=.\strlen($cell)
1282e0 20 2d 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 63 65 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 29 .-.mb_strwidth($cell,.$encoding)
128300 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 53 74 ;.}..$style.=.$this->getColumnSt
128320 79 6c 65 28 24 63 6f 6c 75 6d 6e 29 3b 0a 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 yle($column);..if.($cell.instanc
128340 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 eof.TableSeparator).{.return.spr
128360 69 6e 74 66 28 24 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 intf($style->getBorderFormat(),.
128380 73 74 72 5f 72 65 70 65 61 74 28 24 73 74 79 6c 65 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c str_repeat($style->getHorizontal
1283a0 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 77 69 64 74 68 29 29 3b 0a 7d 0a 0a 24 77 69 64 74 BorderChar(),.$width));.}..$widt
1283c0 68 20 2b 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 63 65 6c 6c 29 20 2d 20 48 65 6c h.+=.Helper::strlen($cell).-.Hel
1283e0 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 per::strlenWithoutDecoration($th
128400 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c is->output->getFormatter(),.$cel
128420 6c 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 70 72 69 6e 74 66 28 24 73 74 79 6c 65 2d 3e 67 l);.$content.=.sprintf($style->g
128440 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 2c 20 24 63 65 6c 6c 29 etCellRowContentFormat(),.$cell)
128460 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 65 6c 6c 46 6f 72 6d 61 74 2c 20 73 ;..return.sprintf($cellFormat,.s
128480 74 72 5f 70 61 64 28 24 63 6f 6e 74 65 6e 74 2c 20 24 77 69 64 74 68 2c 20 24 73 74 79 6c 65 2d tr_pad($content,.$width,.$style-
1284a0 3e 67 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 29 2c 20 24 73 74 79 6c 65 2d 3e 67 65 74 50 61 >getPaddingChar(),.$style->getPa
1284c0 64 54 79 70 65 28 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f dType()));.}.....private.functio
1284e0 6e 20 63 61 6c 63 75 6c 61 74 65 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 n.calculateNumberOfColumns().{.i
128500 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d f.(null.!==.$this->numberOfColum
128520 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6c 75 6d 6e 73 20 3d 20 61 72 72 61 ns).{.return;.}..$columns.=.arra
128540 79 28 30 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 y(0);.foreach.(array_merge($this
128560 2d 3e 68 65 61 64 65 72 73 2c 20 24 74 68 69 73 2d 3e 72 6f 77 73 29 20 61 73 20 24 72 6f 77 29 ->headers,.$this->rows).as.$row)
128580 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 .{.if.($row.instanceof.TableSepa
1285a0 72 61 74 6f 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6c 75 6d 6e 73 5b 5d rator).{.continue;.}..$columns[]
1285c0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 24 72 6f .=.$this->getNumberOfColumns($ro
1285e0 77 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 w);.}..$this->numberOfColumns.=.
128600 6d 61 78 28 24 63 6f 6c 75 6d 6e 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 max($columns);.}..private.functi
128620 6f 6e 20 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 72 6f 77 73 29 0a 7b 0a 24 75 6e 6d 65 on.buildTableRows($rows).{.$unme
128640 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 20 28 24 72 6f 77 4b 65 79 rgedRows.=.array();.for.($rowKey
128660 20 3d 20 30 3b 20 24 72 6f 77 4b 65 79 20 3c 20 5c 63 6f 75 6e 74 28 24 72 6f 77 73 29 3b 20 2b .=.0;.$rowKey.<.\count($rows);.+
128680 2b 24 72 6f 77 4b 65 79 29 20 7b 0a 24 72 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 6c 4e +$rowKey).{.$rows.=.$this->fillN
1286a0 65 78 74 52 6f 77 73 28 24 72 6f 77 73 2c 20 24 72 6f 77 4b 65 79 29 3b 0a 0a 0a 20 66 6f 72 65 extRows($rows,.$rowKey);....fore
1286c0 61 63 68 20 28 24 72 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d ach.($rows[$rowKey].as.$column.=
1286e0 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 73 74 72 73 74 72 28 24 63 65 6c 6c 2c 20 22 5c >.$cell).{.if.(!strstr($cell,."\
128700 6e 22 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c n")).{.continue;.}.$lines.=.expl
128720 6f 64 65 28 22 5c 6e 22 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 3c 66 67 ode("\n",.str_replace("\n",."<fg
128740 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 5c 6e 3c 2f 3e 22 2c 20 24 63 65 6c =default;bg=default>\n</>",.$cel
128760 6c 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 4b 65 79 l));.foreach.($lines.as.$lineKey
128780 20 3d 3e 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f .=>.$line).{.if.($cell.instanceo
1287a0 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 f.TableCell).{.$line.=.new.Table
1287c0 43 65 6c 6c 28 24 6c 69 6e 65 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 Cell($line,.array('colspan'.=>.$
1287e0 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 7d 0a 69 66 20 28 30 20 3d 3d cell->getColspan()));.}.if.(0.==
128800 3d 20 24 6c 69 6e 65 4b 65 79 29 20 7b 0a 24 72 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 63 6f =.$lineKey).{.$rows[$rowKey][$co
128820 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 6e 6d 65 72 67 65 lumn].=.$line;.}.else.{.$unmerge
128840 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 6c 69 6e 65 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e dRows[$rowKey][$lineKey][$column
128860 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 74 61 62 6c 65 52 6f 77 73 20 3d ].=.$line;.}.}.}.}..$tableRows.=
128880 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 .array();.foreach.($rows.as.$row
1288a0 4b 65 79 20 3d 3e 20 24 72 6f 77 29 20 7b 0a 24 74 61 62 6c 65 52 6f 77 73 5b 5d 20 3d 20 24 74 Key.=>.$row).{.$tableRows[].=.$t
1288c0 68 69 73 2d 3e 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f 77 29 3b 0a 69 66 20 28 69 73 73 65 74 28 his->fillCells($row);.if.(isset(
1288e0 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 29 29 20 7b 0a 24 74 61 62 6c $unmergedRows[$rowKey])).{.$tabl
128900 65 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 61 62 6c 65 52 6f 77 73 2c 20 eRows.=.array_merge($tableRows,.
128920 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 $unmergedRows[$rowKey]);.}.}..re
128940 74 75 72 6e 20 24 74 61 62 6c 65 52 6f 77 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 turn.$tableRows;.}..........priv
128960 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 4e 65 78 74 52 6f 77 73 28 61 72 72 61 79 20 ate.function.fillNextRows(array.
128980 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 $rows,.$line).{.$unmergedRows.=.
1289a0 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 20 61 array();.foreach.($rows[$line].a
1289c0 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 s.$column.=>.$cell).{.if.($cell.
1289e0 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 instanceof.TableCell.&&.$cell->g
128a00 65 74 52 6f 77 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 24 6e 62 4c 69 6e 65 73 20 3d 20 24 63 etRowspan().>.1).{.$nbLines.=.$c
128a20 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 2d 20 31 3b 0a 24 6c 69 6e 65 73 20 3d 20 ell->getRowspan().-.1;.$lines.=.
128a40 61 72 72 61 79 28 24 63 65 6c 6c 29 3b 0a 69 66 20 28 73 74 72 73 74 72 28 24 63 65 6c 6c 2c 20 array($cell);.if.(strstr($cell,.
128a60 22 5c 6e 22 29 29 20 7b 0a 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 "\n")).{.$lines.=.explode("\n",.
128a80 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 3c 66 67 3d 64 65 66 61 75 6c 74 3b 62 str_replace("\n",."<fg=default;b
128aa0 67 3d 64 65 66 61 75 6c 74 3e 5c 6e 3c 2f 3e 22 2c 20 24 63 65 6c 6c 29 29 3b 0a 24 6e 62 4c 69 g=default>\n</>",.$cell));.$nbLi
128ac0 6e 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 3e 20 24 6e 62 4c 69 6e 65 73 20 nes.=.\count($lines).>.$nbLines.
128ae0 3f 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 20 3a 20 24 6e ?.substr_count($cell,."\n").:.$n
128b00 62 4c 69 6e 65 73 3b 0a 0a 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d bLines;..$rows[$line][$column].=
128b20 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 6c 69 6e 65 73 5b 30 5d 2c 20 61 72 72 61 79 28 .new.TableCell($lines[0],.array(
128b40 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 'colspan'.=>.$cell->getColspan()
128b60 29 29 3b 0a 75 6e 73 65 74 28 24 6c 69 6e 65 73 5b 30 5d 29 3b 0a 7d 0a 0a 0a 20 24 75 6e 6d 65 ));.unset($lines[0]);.}....$unme
128b80 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 rgedRows.=.array_replace_recursi
128ba0 76 65 28 61 72 72 61 79 5f 66 69 6c 6c 28 24 6c 69 6e 65 20 2b 20 31 2c 20 24 6e 62 4c 69 6e 65 ve(array_fill($line.+.1,.$nbLine
128bc0 73 2c 20 61 72 72 61 79 28 29 29 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 29 3b 0a 66 6f 72 s,.array()),.$unmergedRows);.for
128be0 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 61 73 20 24 75 6e 6d 65 72 67 65 64 each.($unmergedRows.as.$unmerged
128c00 52 6f 77 4b 65 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 29 20 7b 0a 24 76 61 6c 75 65 RowKey.=>.$unmergedRow).{.$value
128c20 20 3d 20 69 73 73 65 74 28 24 6c 69 6e 65 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 .=.isset($lines[$unmergedRowKey.
128c40 2d 20 24 6c 69 6e 65 5d 29 20 3f 20 24 6c 69 6e 65 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b -.$line]).?.$lines[$unmergedRowK
128c60 65 79 20 2d 20 24 6c 69 6e 65 5d 20 3a 20 27 27 3b 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b ey.-.$line].:.'';.$unmergedRows[
128c80 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 6e 65 77 20 $unmergedRowKey][$column].=.new.
128ca0 54 61 62 6c 65 43 65 6c 6c 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e TableCell($value,.array('colspan
128cc0 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 69 66 20 28 '.=>.$cell->getColspan()));.if.(
128ce0 24 6e 62 4c 69 6e 65 73 20 3d 3d 3d 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 24 $nbLines.===.$unmergedRowKey.-.$
128d00 6c 69 6e 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 line).{.break;.}.}.}.}..foreach.
128d20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 61 73 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 ($unmergedRows.as.$unmergedRowKe
128d40 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 29 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 y.=>.$unmergedRow).{...if.(isset
128d60 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 26 26 20 5c 69 73 5f ($rows[$unmergedRowKey]).&&.\is_
128d80 61 72 72 61 79 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 26 26 array($rows[$unmergedRowKey]).&&
128da0 20 28 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 24 72 6f 77 .($this->getNumberOfColumns($row
128dc0 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 2b 20 24 74 68 69 73 2d 3e 67 65 74 s[$unmergedRowKey]).+.$this->get
128de0 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 75 NumberOfColumns($unmergedRows[$u
128e00 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 3c 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 nmergedRowKey]).<=.$this->number
128e20 4f 66 43 6f 6c 75 6d 6e 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 OfColumns)).{.foreach.($unmerged
128e40 52 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 0a 20 61 72 Row.as.$cellKey.=>.$cell).{...ar
128e60 72 61 79 5f 73 70 6c 69 63 65 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 ray_splice($rows[$unmergedRowKey
128e80 5d 2c 20 24 63 65 6c 6c 4b 65 79 2c 20 30 2c 20 61 72 72 61 79 28 24 63 65 6c 6c 29 29 3b 0a 7d ],.$cellKey,.0,.array($cell));.}
128ea0 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 77 20 3d 20 24 74 68 69 73 2d 3e 63 6f 70 79 52 6f 77 28 .}.else.{.$row.=.$this->copyRow(
128ec0 24 72 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 31 29 3b 0a 66 6f 72 $rows,.$unmergedRowKey.-.1);.for
128ee0 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e each.($unmergedRow.as.$column.=>
128f00 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 65 6c 6c 29 29 20 7b 0a 24 .$cell).{.if.(!empty($cell)).{.$
128f20 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 5b 24 63 6f 6c row[$column].=.$unmergedRow[$col
128f40 75 6d 6e 5d 3b 0a 7d 0a 7d 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 72 6f 77 73 2c 20 24 75 umn];.}.}.array_splice($rows,.$u
128f60 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 2c 20 30 2c 20 61 72 72 61 79 28 24 72 6f 77 29 29 3b 0a nmergedRowKey,.0,.array($row));.
128f80 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 }.}..return.$rows;.}.......priva
128fa0 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f 77 29 0a 7b 0a 24 6e te.function.fillCells($row).{.$n
128fc0 65 77 52 6f 77 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 ewRow.=.array();.foreach.($row.a
128fe0 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 24 6e 65 77 52 6f 77 5b 5d 20 s.$column.=>.$cell).{.$newRow[].
129000 3d 20 24 63 65 6c 6c 3b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 =.$cell;.if.($cell.instanceof.Ta
129020 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e bleCell.&&.$cell->getColspan().>
129040 20 31 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 72 61 6e 67 65 28 24 63 6f 6c 75 6d 6e 20 2b 20 31 .1).{.foreach.(range($column.+.1
129060 2c 20 24 63 6f 6c 75 6d 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 ,.$column.+.$cell->getColspan().
129080 2d 20 31 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 0a 20 24 6e 65 77 52 6f 77 5b 5d -.1).as.$position).{...$newRow[]
1290a0 20 3d 20 27 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6e 65 77 52 6f 77 20 3f 3a 20 .=.'';.}.}.}..return.$newRow.?:.
1290c0 24 72 6f 77 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 $row;.}........private.function.
1290e0 63 6f 70 79 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 72 copyRow(array.$rows,.$line).{.$r
129100 6f 77 20 3d 20 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 ow.=.$rows[$line];.foreach.($row
129120 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 56 61 6c 75 65 29 20 7b 0a 24 72 .as.$cellKey.=>.$cellValue).{.$r
129140 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 27 27 3b 0a 69 66 20 28 24 63 65 6c 6c 56 61 6c 75 ow[$cellKey].=.'';.if.($cellValu
129160 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 24 72 6f 77 5b 24 e.instanceof.TableCell).{.$row[$
129180 63 65 6c 6c 4b 65 79 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 27 27 2c 20 61 72 72 cellKey].=.new.TableCell('',.arr
1291a0 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 56 61 6c 75 65 2d 3e 67 65 74 43 ay('colspan'.=>.$cellValue->getC
1291c0 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 77 3b 0a 7d 0a olspan()));.}.}..return.$row;.}.
1291e0 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 75 6d 62 65 72 ......private.function.getNumber
129200 4f 66 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 73 OfColumns(array.$row).{.$columns
129220 20 3d 20 5c 63 6f 75 6e 74 28 24 72 6f 77 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 .=.\count($row);.foreach.($row.a
129240 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 63 6f 6c 75 6d 6e 73 20 2b 3d 20 24 63 6f 6c 75 6d 6e s.$column).{.$columns.+=.$column
129260 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 3f 20 28 24 63 6f 6c 75 6d 6e .instanceof.TableCell.?.($column
129280 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 20 3a 20 30 3b 0a 7d 0a 0a 72 65 74 75 ->getColspan().-.1).:.0;.}..retu
1292a0 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e rn.$columns;.}.......private.fun
1292c0 63 74 69 6f 6e 20 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 24 72 6f 77 29 0a ction.getRowColumns(array.$row).
1292e0 7b 0a 24 63 6f 6c 75 6d 6e 73 20 3d 20 72 61 6e 67 65 28 30 2c 20 24 74 68 69 73 2d 3e 6e 75 6d {.$columns.=.range(0,.$this->num
129300 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 2d 20 31 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 berOfColumns.-.1);.foreach.($row
129320 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 24 63 65 .as.$cellKey.=>.$cell).{.if.($ce
129340 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c ll.instanceof.TableCell.&&.$cell
129360 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 0a 20 24 63 6f 6c 75 6d 6e 73 ->getColspan().>.1).{...$columns
129380 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 63 6f 6c 75 6d 6e 73 2c 20 72 61 6e 67 65 28 24 63 .=.array_diff($columns,.range($c
1293a0 65 6c 6c 4b 65 79 20 2b 20 31 2c 20 24 63 65 6c 6c 4b 65 79 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 ellKey.+.1,.$cellKey.+.$cell->ge
1293c0 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 tColspan().-.1));.}.}..return.$c
1293e0 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e olumns;.}.......private.function
129400 20 63 61 6c 63 75 6c 61 74 65 43 6f 6c 75 6d 6e 73 57 69 64 74 68 28 24 72 6f 77 73 29 0a 7b 0a .calculateColumnsWidth($rows).{.
129420 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 6f 6c 75 6d 6e 20 3c 20 24 74 68 69 for.($column.=.0;.$column.<.$thi
129440 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b s->numberOfColumns;.++$column).{
129460 0a 24 6c 65 6e 67 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 .$lengths.=.array();.foreach.($r
129480 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 ows.as.$row).{.if.($row.instance
1294a0 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d of.TableSeparator).{.continue;.}
1294c0 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 69 20 3d 3e 20 24 63 65 6c 6c 29 20 ..foreach.($row.as.$i.=>.$cell).
1294e0 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c {.if.($cell.instanceof.TableCell
129500 29 20 7b 0a 24 74 65 78 74 43 6f 6e 74 65 6e 74 20 3d 20 48 65 6c 70 65 72 3a 3a 72 65 6d 6f 76 ).{.$textContent.=.Helper::remov
129520 65 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f eDecoration($this->output->getFo
129540 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 24 74 65 78 74 4c 65 6e 67 74 68 20 3d rmatter(),.$cell);.$textLength.=
129560 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 65 78 74 43 6f 6e 74 65 6e 74 29 3b 0a 69 .Helper::strlen($textContent);.i
129580 66 20 28 24 74 65 78 74 4c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 43 6f f.($textLength.>.0).{.$contentCo
1295a0 6c 75 6d 6e 73 20 3d 20 73 74 72 5f 73 70 6c 69 74 28 24 74 65 78 74 43 6f 6e 74 65 6e 74 2c 20 lumns.=.str_split($textContent,.
1295c0 63 65 69 6c 28 24 74 65 78 74 4c 65 6e 67 74 68 20 2f 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c ceil($textLength./.$cell->getCol
1295e0 73 70 61 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 43 6f 6c 75 6d span()));.foreach.($contentColum
129600 6e 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 24 ns.as.$position.=>.$content).{.$
129620 72 6f 77 5b 24 69 20 2b 20 24 70 6f 73 69 74 69 6f 6e 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 3b 0a row[$i.+.$position].=.$content;.
129640 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 65 6e 67 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 }.}.}.}..$lengths[].=.$this->get
129660 43 65 6c 6c 57 69 64 74 68 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 29 3b 0a 7d 0a 0a 24 74 68 CellWidth($row,.$column);.}..$th
129680 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 6d 61 78 28 is->columnWidths[$column].=.max(
1296a0 24 6c 65 6e 67 74 68 73 29 20 2b 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 68 69 73 $lengths).+.Helper::strlen($this
1296c0 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 ->style->getCellRowContentFormat
1296e0 28 29 29 20 2d 20 32 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ()).-.2;.}.}.......private.funct
129700 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 57 69 64 74 68 28 29 0a 7b 0a ion.getColumnSeparatorWidth().{.
129720 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 73 70 72 69 6e 74 66 28 24 74 return.Helper::strlen(sprintf($t
129740 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 his->style->getBorderFormat(),.$
129760 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 this->style->getVerticalBorderCh
129780 61 72 28 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ar()));.}..........private.funct
1297a0 69 6f 6e 20 67 65 74 43 65 6c 6c 57 69 64 74 68 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f ion.getCellWidth(array.$row,.$co
1297c0 6c 75 6d 6e 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 lumn).{.if.(isset($row[$column])
1297e0 29 20 7b 0a 24 63 65 6c 6c 20 3d 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 24 63 65 6c 6c ).{.$cell.=.$row[$column];.$cell
129800 57 69 64 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 Width.=.Helper::strlenWithoutDec
129820 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 oration($this->output->getFormat
129840 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 65 6c 6c 57 69 64 74 ter(),.$cell);..return.$cellWidt
129860 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 h;.}..return.0;.}.....private.fu
129880 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e nction.cleanup().{.$this->column
1298a0 57 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f Widths.=.array();.$this->numberO
1298c0 66 43 6f 6c 75 6d 6e 73 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 fColumns.=.null;.}..private.stat
1298e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 29 0a 7b 0a 24 62 6f 72 64 ic.function.initStyles().{.$bord
129900 65 72 6c 65 73 73 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 62 6f 72 64 erless.=.new.TableStyle();.$bord
129920 65 72 6c 65 73 73 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 erless.->setHorizontalBorderChar
129940 28 27 3d 27 29 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 ('=').->setVerticalBorderChar('.
129960 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 29 0a 3b 0a 0a 24 63 6f ').->setCrossingChar('.').;..$co
129980 6d 70 61 63 74 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 63 6f 6d 70 61 mpact.=.new.TableStyle();.$compa
1299a0 63 74 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 ct.->setHorizontalBorderChar('')
1299c0 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d 3e .->setVerticalBorderChar('.').->
1299e0 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 setCrossingChar('').->setCellRow
129a00 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 3b 0a 0a 24 73 74 79 6c 65 47 75 69 ContentFormat('%s').;..$styleGui
129a20 64 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 73 74 79 6c 65 47 75 69 de.=.new.TableStyle();.$styleGui
129a40 64 65 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 2d 27 de.->setHorizontalBorderChar('-'
129a60 29 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d ).->setVerticalBorderChar('.').-
129a80 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 48 >setCrossingChar('.').->setCellH
129aa0 65 61 64 65 72 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 eaderFormat('%s').;..return.arra
129ac0 79 28 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 y(.'default'.=>.new.TableStyle()
129ae0 2c 0a 27 62 6f 72 64 65 72 6c 65 73 73 27 20 3d 3e 20 24 62 6f 72 64 65 72 6c 65 73 73 2c 0a 27 ,.'borderless'.=>.$borderless,.'
129b00 63 6f 6d 70 61 63 74 27 20 3d 3e 20 24 63 6f 6d 70 61 63 74 2c 0a 27 73 79 6d 66 6f 6e 79 2d 73 compact'.=>.$compact,.'symfony-s
129b20 74 79 6c 65 2d 67 75 69 64 65 27 20 3d 3e 20 24 73 74 79 6c 65 47 75 69 64 65 2c 0a 29 3b 0a 7d tyle-guide'.=>.$styleGuide,.);.}
129b40 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 53 74 79 6c 65 28 ..private.function.resolveStyle(
129b60 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 24 6e 61 6d 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 $name).{.if.($name.instanceof.Ta
129b80 62 6c 65 53 74 79 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 bleStyle).{.return.$name;.}..if.
129ba0 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a (isset(self::$styles[$name])).{.
129bc0 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a return.self::$styles[$name];.}..
129be0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
129c00 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 74 79 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 on(sprintf('Style."%s".is.not.de
129c20 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a fined.',.$name));.}.}.<?php.....
129c40 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
129c60 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\Console\Helper;..use.Symfony\C
129c80 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c omponent\Console\Exception\Inval
129ca0 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 idArgumentException;.....class.T
129cc0 61 62 6c 65 43 65 6c 6c 0a 7b 0a 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 70 72 69 76 61 ableCell.{.private.$value;.priva
129ce0 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 72 6f 77 73 70 61 6e 27 20 3d te.$options.=.array(.'rowspan'.=
129d00 3e 20 31 2c 0a 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 31 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 >.1,.'colspan'.=>.1,.);......pub
129d20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 61 6c 75 65 20 lic.function.__construct($value.
129d40 3d 20 27 27 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a =.'',.array.$options.=.array()).
129d60 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 26 26 20 21 5c 69 73 {.if.(is_numeric($value).&&.!\is
129d80 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 28 73 74 72 _string($value)).{.$value.=.(str
129da0 69 6e 67 29 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 24 ing).$value;.}..$this->value.=.$
129dc0 76 61 6c 75 65 3b 0a 0a 0a 20 69 66 20 28 24 64 69 66 66 20 3d 20 61 72 72 61 79 5f 64 69 66 66 value;....if.($diff.=.array_diff
129de0 28 61 72 72 61 79 5f 6b 65 79 73 28 24 6f 70 74 69 6f 6e 73 29 2c 20 61 72 72 61 79 5f 6b 65 79 (array_keys($options),.array_key
129e00 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 s($this->options))).{.throw.new.
129e20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 InvalidArgumentException(sprintf
129e40 28 27 54 68 65 20 54 61 62 6c 65 43 65 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 ('The.TableCell.does.not.support
129e60 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 3a 20 5c 27 25 73 5c 27 2e 27 .the.following.options:.\'%s\'.'
129e80 2c 20 69 6d 70 6c 6f 64 65 28 27 5c 27 2c 20 5c 27 27 2c 20 24 64 69 66 66 29 29 29 3b 0a 7d 0a ,.implode('\',.\'',.$diff)));.}.
129ea0 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 .$this->options.=.array_merge($t
129ec0 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a his->options,.$options);.}......
129ee0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a .public.function.__toString().{.
129f00 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 return.$this->value;.}.......pub
129f20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 73 70 61 6e 28 29 0a 7b 0a 72 65 74 75 lic.function.getColspan().{.retu
129f40 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 63 6f 6c 73 70 61 6e rn.(int).$this->options['colspan
129f60 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 '];.}.......public.function.getR
129f80 6f 77 73 70 61 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 6f owspan().{.return.(int).$this->o
129fa0 70 74 69 6f 6e 73 5b 27 72 6f 77 73 70 61 6e 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ptions['rowspan'];.}.}.<?php....
129fc0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
129fe0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nt\Console\Helper;..use.Symfony\
12a000 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 Component\Console\Exception\Inva
12a020 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e lidArgumentException;.use.Symfon
12a040 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4e 75 6c 6c 4f y\Component\Console\Output\NullO
12a060 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e utput;.use.Symfony\Component\Con
12a080 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a sole\Output\OutputInterface;....
12a0a0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 .......class.TableHelper.extends
12a0c0 20 48 65 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 20 3d .Helper.{.const.LAYOUT_DEFAULT.=
12a0e0 20 30 3b 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 42 4f 52 44 45 52 4c 45 53 53 20 3d 20 31 3b .0;.const.LAYOUT_BORDERLESS.=.1;
12a100 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 43 4f 4d 50 41 43 54 20 3d 20 32 3b 0a 0a 70 72 69 76 .const.LAYOUT_COMPACT.=.2;..priv
12a120 61 74 65 20 24 74 61 62 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ate.$table;..public.function.__c
12a140 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f onstruct($triggerDeprecationErro
12a160 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 r.=.true).{.if.($triggerDeprecat
12a180 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 ionError).{.@trigger_error('The.
12a1a0 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 '.__CLASS__.'.class.is.deprecate
12a1c0 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.5.and.will.be.
12a1e0 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c removed.in.3.0..Use.the.Symfony\
12a200 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 20 63 Component\Console\Helper\Table.c
12a220 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 lass.instead.',.E_USER_DEPRECATE
12a240 44 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 D);.}..$this->table.=.new.Table(
12a260 6e 65 77 20 4e 75 6c 6c 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 new.NullOutput());.}...........p
12a280 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 61 79 6f 75 74 28 24 6c 61 79 6f 75 74 ublic.function.setLayout($layout
12a2a0 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6c 61 79 6f 75 74 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 ).{.switch.($layout).{.case.self
12a2c0 3a 3a 4c 41 59 4f 55 54 5f 42 4f 52 44 45 52 4c 45 53 53 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c ::LAYOUT_BORDERLESS:.$this->tabl
12a2e0 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 62 6f 72 64 65 72 6c 65 73 73 27 29 3b 0a 62 72 65 61 6b e->setStyle('borderless');.break
12a300 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 43 4f 4d 50 41 43 54 3a 0a 24 74 ;..case.self::LAYOUT_COMPACT:.$t
12a320 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b his->table->setStyle('compact');
12a340 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 44 45 46 41 55 .break;..case.self::LAYOUT_DEFAU
12a360 4c 54 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 64 65 66 61 LT:.$this->table->setStyle('defa
12a380 75 6c 74 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 ult');.break;..default:.throw.ne
12a3a0 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e w.InvalidArgumentException(sprin
12a3c0 74 66 28 27 49 6e 76 61 6c 69 64 20 74 61 62 6c 65 20 6c 61 79 6f 75 74 20 22 25 73 22 2e 27 2c tf('Invalid.table.layout."%s".',
12a3e0 20 24 6c 61 79 6f 75 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a .$layout));.}..return.$this;.}..
12a400 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 public.function.setHeaders(array
12a420 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 48 65 .$headers).{.$this->table->setHe
12a440 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a aders($headers);..return.$this;.
12a460 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 73 28 61 72 72 61 79 }..public.function.setRows(array
12a480 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 73 28 .$rows).{.$this->table->setRows(
12a4a0 24 72 6f 77 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 $rows);..return.$this;.}..public
12a4c0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b .function.addRows(array.$rows).{
12a4e0 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 0a .$this->table->addRows($rows);..
12a500 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e return.$this;.}..public.function
12a520 20 61 64 64 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 .addRow(array.$row).{.$this->tab
12a540 6c 65 2d 3e 61 64 64 52 6f 77 28 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b le->addRow($row);..return.$this;
12a560 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 .}..public.function.setRow($colu
12a580 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e mn,.array.$row).{.$this->table->
12a5a0 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 setRow($column,.$row);..return.$
12a5c0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
12a5e0 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 29 0a 7b 0a 24 setPaddingChar($paddingChar).{.$
12a600 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 50 61 64 64 this->table->getStyle()->setPadd
12a620 69 6e 67 43 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 ingChar($paddingChar);..return.$
12a640 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
12a660 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e setHorizontalBorderChar($horizon
12a680 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 talBorderChar).{.$this->table->g
12a6a0 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 etStyle()->setHorizontalBorderCh
12a6c0 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 3b 0a 0a 72 65 74 75 ar($horizontalBorderChar);..retu
12a6e0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$this;.}.........public.funct
12a700 69 6f 6e 20 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 ion.setVerticalBorderChar($verti
12a720 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 calBorderChar).{.$this->table->g
12a740 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 etStyle()->setVerticalBorderChar
12a760 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 ($verticalBorderChar);..return.$
12a780 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
12a7a0 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 7b setCrossingChar($crossingChar).{
12a7c0 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 72 .$this->table->getStyle()->setCr
12a7e0 6f 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 3b 0a 0a 72 65 74 75 ossingChar($crossingChar);..retu
12a800 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$this;.}.........public.funct
12a820 69 6f 6e 20 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 ion.setCellHeaderFormat($cellHea
12a840 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 derFormat).{.$this->table->getSt
12a860 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c yle()->setCellHeaderFormat($cell
12a880 48 65 61 64 65 72 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a HeaderFormat);..return.$this;.}.
12a8a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 ........public.function.setCellR
12a8c0 6f 77 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 owFormat($cellRowFormat).{.$this
12a8e0 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 ->table->getStyle()->setCellHead
12a900 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 erFormat($cellRowFormat);..retur
12a920 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this;.}.........public.functi
12a940 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c on.setCellRowContentFormat($cell
12a960 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 RowContentFormat).{.$this->table
12a980 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 ->getStyle()->setCellRowContentF
12a9a0 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 3b 0a 0a 72 ormat($cellRowContentFormat);..r
12a9c0 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this;.}.........public.fu
12a9e0 6e 63 74 69 6f 6e 20 73 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f nction.setBorderFormat($borderFo
12aa00 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 rmat).{.$this->table->getStyle()
12aa20 2d 3e 73 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 ->setBorderFormat($borderFormat)
12aa40 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ;..return.$this;.}.........publi
12aa60 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 0a c.function.setPadType($padType).
12aa80 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 50 {.$this->table->getStyle()->setP
12aaa0 61 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b adType($padType);..return.$this;
12aac0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}..............public.function.
12aae0 72 65 6e 64 65 72 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a render(OutputInterface.$output).
12ab00 7b 0a 24 70 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 72 6f 70 65 72 74 79 28 24 {.$p.=.new.\ReflectionProperty($
12ab20 74 68 69 73 2d 3e 74 61 62 6c 65 2c 20 27 6f 75 74 70 75 74 27 29 3b 0a 24 70 2d 3e 73 65 74 41 this->table,.'output');.$p->setA
12ab40 63 63 65 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 24 70 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 ccessible(true);.$p->setValue($t
12ab60 68 69 73 2d 3e 74 61 62 6c 65 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 61 his->table,.$output);..$this->ta
12ab80 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ble->render();.}.....public.func
12aba0 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 74 61 62 6c 65 27 3b tion.getName().{.return.'table';
12abc0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
12abe0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b ymfony\Component\Console\Helper;
12ac00 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 20 65 78 74 65 .......class.TableSeparator.exte
12ac20 6e 64 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nds.TableCell.{.public.function.
12ac40 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 __construct(array.$options.=.arr
12ac60 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 27 27 2c 20 ay()).{.parent::__construct('',.
12ac80 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e $options);.}.}.<?php...........n
12aca0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
12acc0 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e le\Helper;..use.Symfony\Componen
12ace0 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d t\Console\Exception\InvalidArgum
12ad00 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e entException;.use.Symfony\Compon
12ad20 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 ent\Console\Exception\LogicExcep
12ad40 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 74 79 6c 65 0a 7b 0a tion;........class.TableStyle.{.
12ad60 70 72 69 76 61 74 65 20 24 70 61 64 64 69 6e 67 43 68 61 72 20 3d 20 27 20 27 3b 0a 70 72 69 76 private.$paddingChar.=.'.';.priv
12ad80 61 74 65 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 27 2d 27 3b ate.$horizontalBorderChar.=.'-';
12ada0 0a 70 72 69 76 61 74 65 20 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 27 .private.$verticalBorderChar.=.'
12adc0 7c 27 3b 0a 70 72 69 76 61 74 65 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 20 3d 20 27 2b 27 3b |';.private.$crossingChar.=.'+';
12ade0 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 20 3d 20 27 3c 69 .private.$cellHeaderFormat.=.'<i
12ae00 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 nfo>%s</info>';.private.$cellRow
12ae20 46 6f 72 6d 61 74 20 3d 20 27 25 73 27 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 43 Format.=.'%s';.private.$cellRowC
12ae40 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 20 3d 20 27 20 25 73 20 27 3b 0a 70 72 69 76 61 74 65 20 24 ontentFormat.=.'.%s.';.private.$
12ae60 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 27 25 73 27 3b 0a 70 72 69 76 61 74 65 20 24 70 61 borderFormat.=.'%s';.private.$pa
12ae80 64 54 79 70 65 20 3d 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 dType.=.STR_PAD_RIGHT;.........p
12aea0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 ublic.function.setPaddingChar($p
12aec0 61 64 64 69 6e 67 43 68 61 72 29 0a 7b 0a 69 66 20 28 21 24 70 61 64 64 69 6e 67 43 68 61 72 29 addingChar).{.if.(!$paddingChar)
12aee0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 .{.throw.new.LogicException('The
12af00 20 70 61 64 64 69 6e 67 20 63 68 61 72 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 65 6d 70 74 79 27 .padding.char.must.not.be.empty'
12af20 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 20 3d 20 24 70 61 64 64 );.}..$this->paddingChar.=.$padd
12af40 69 6e 67 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ingChar;..return.$this;.}.......
12af60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 29 public.function.getPaddingChar()
12af80 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 3b 0a 7d 0a .{.return.$this->paddingChar;.}.
12afa0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 6f 72 69 7a ........public.function.setHoriz
12afc0 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 ontalBorderChar($horizontalBorde
12afe0 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 rChar).{.$this->horizontalBorder
12b000 43 68 61 72 20 3d 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 72 Char.=.$horizontalBorderChar;..r
12b020 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
12b040 74 69 6f 6e 20 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 7b tion.getHorizontalBorderChar().{
12b060 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 .return.$this->horizontalBorderC
12b080 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 har;.}.........public.function.s
12b0a0 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 6f etVerticalBorderChar($verticalBo
12b0c0 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 rderChar).{.$this->verticalBorde
12b0e0 72 43 68 61 72 20 3d 20 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 72 65 rChar.=.$verticalBorderChar;..re
12b100 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
12b120 69 6f 6e 20 67 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 7b 0a 72 65 ion.getVerticalBorderChar().{.re
12b140 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a turn.$this->verticalBorderChar;.
12b160 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 6f }.........public.function.setCro
12b180 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 ssingChar($crossingChar).{.$this
12b1a0 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 20 3d 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a ->crossingChar.=.$crossingChar;.
12b1c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .return.$this;.}.......public.fu
12b1e0 6e 63 74 69 6f 6e 20 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 nction.getCrossingChar().{.retur
12b200 6e 20 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a n.$this->crossingChar;.}........
12b220 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f .public.function.setCellHeaderFo
12b240 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d rmat($cellHeaderFormat).{.$this-
12b260 3e 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 48 65 61 64 65 72 46 >cellHeaderFormat.=.$cellHeaderF
12b280 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ormat;..return.$this;.}.......pu
12b2a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 blic.function.getCellHeaderForma
12b2c0 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 48 65 61 64 65 72 46 6f t().{.return.$this->cellHeaderFo
12b2e0 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rmat;.}.........public.function.
12b300 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 setCellRowFormat($cellRowFormat)
12b320 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 .{.$this->cellRowFormat.=.$cellR
12b340 6f 77 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a owFormat;..return.$this;.}......
12b360 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 .public.function.getCellRowForma
12b380 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 t().{.return.$this->cellRowForma
12b3a0 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 t;.}.........public.function.set
12b3c0 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e CellRowContentFormat($cellRowCon
12b3e0 74 65 6e 74 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 tentFormat).{.$this->cellRowCont
12b400 65 6e 74 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 entFormat.=.$cellRowContentForma
12b420 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 t;..return.$this;.}.......public
12b440 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 .function.getCellRowContentForma
12b460 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 t().{.return.$this->cellRowConte
12b480 6e 74 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ntFormat;.}.........public.funct
12b4a0 69 6f 6e 20 73 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 ion.setBorderFormat($borderForma
12b4c0 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 24 62 6f 72 64 t).{.$this->borderFormat.=.$bord
12b4e0 65 72 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a erFormat;..return.$this;.}......
12b500 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 .public.function.getBorderFormat
12b520 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b ().{.return.$this->borderFormat;
12b540 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 .}.........public.function.setPa
12b560 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 0a 7b 0a 69 66 20 28 21 5c 69 6e 5f 61 72 72 61 79 dType($padType).{.if.(!\in_array
12b580 28 24 70 61 64 54 79 70 65 2c 20 61 72 72 61 79 28 53 54 52 5f 50 41 44 5f 4c 45 46 54 2c 20 53 ($padType,.array(STR_PAD_LEFT,.S
12b5a0 54 52 5f 50 41 44 5f 52 49 47 48 54 2c 20 53 54 52 5f 50 41 44 5f 42 4f 54 48 29 2c 20 74 72 75 TR_PAD_RIGHT,.STR_PAD_BOTH),.tru
12b5c0 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 e)).{.throw.new.InvalidArgumentE
12b5e0 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 70 61 64 64 69 6e 67 20 74 79 70 65 2e 20 xception('Invalid.padding.type..
12b600 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 53 54 52 5f 50 41 44 5f 4c 45 46 54 2c 20 53 Expected.one.of.(STR_PAD_LEFT,.S
12b620 54 52 5f 50 41 44 5f 52 49 47 48 54 2c 20 53 54 52 5f 50 41 44 5f 42 4f 54 48 29 2e 27 29 3b 0a TR_PAD_RIGHT,.STR_PAD_BOTH).');.
12b640 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 64 54 79 70 65 20 3d 20 24 70 61 64 54 79 70 65 3b 0a 0a 72 }..$this->padType.=.$padType;..r
12b660 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
12b680 74 69 6f 6e 20 67 65 74 50 61 64 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 tion.getPadType().{.return.$this
12b6a0 2d 3e 70 61 64 54 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ->padType;.}.}.<?php...........n
12b6c0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
12b6e0 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 le\Input;..use.Symfony\Component
12b700 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 \Console\Exception\RuntimeExcept
12b720 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 ion;...........................c
12b740 6c 61 73 73 20 41 72 67 76 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 0a 7b 0a 70 lass.ArgvInput.extends.Input.{.p
12b760 72 69 76 61 74 65 20 24 74 6f 6b 65 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 70 61 72 73 65 64 3b rivate.$tokens;.private.$parsed;
12b780 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
12b7a0 74 28 61 72 72 61 79 20 24 61 72 67 76 20 3d 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 44 65 66 69 6e t(array.$argv.=.null,.InputDefin
12b7c0 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 ition.$definition.=.null).{.if.(
12b7e0 6e 75 6c 6c 20 3d 3d 3d 20 24 61 72 67 76 29 20 7b 0a 24 61 72 67 76 20 3d 20 24 5f 53 45 52 56 null.===.$argv).{.$argv.=.$_SERV
12b800 45 52 5b 27 61 72 67 76 27 5d 3b 0a 7d 0a 0a 0a 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 ER['argv'];.}....array_shift($ar
12b820 67 76 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 3d 20 24 61 72 67 76 3b 0a 0a 70 61 gv);..$this->tokens.=.$argv;..pa
12b840 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a rent::__construct($definition);.
12b860 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 6f 6b 65 6e 73 28 }..protected.function.setTokens(
12b880 61 72 72 61 79 20 24 74 6f 6b 65 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 3d array.$tokens).{.$this->tokens.=
12b8a0 20 24 74 6f 6b 65 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .$tokens;.}.....protected.functi
12b8c0 6f 6e 20 70 61 72 73 65 28 29 0a 7b 0a 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 3d 20 74 72 75 on.parse().{.$parseOptions.=.tru
12b8e0 65 3b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 64 20 3d 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 e;.$this->parsed.=.$this->tokens
12b900 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 ;.while.(null.!==.$token.=.array
12b920 5f 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 29 20 7b 0a 69 66 20 28 24 70 61 _shift($this->parsed)).{.if.($pa
12b940 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 27 27 20 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 rseOptions.&&.''.==.$token).{.$t
12b960 68 69 73 2d 3e 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c his->parseArgument($token);.}.el
12b980 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 27 2d 2d 27 20 3d 3d 20 24 seif.($parseOptions.&&.'--'.==.$
12b9a0 74 6f 6b 65 6e 29 20 7b 0a 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 3b 0a token).{.$parseOptions.=.false;.
12b9c0 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 30 20 3d 3d 3d }.elseif.($parseOptions.&&.0.===
12b9e0 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e .strpos($token,.'--')).{.$this->
12ba00 70 61 72 73 65 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 parseLongOption($token);.}.elsei
12ba20 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b f.($parseOptions.&&.'-'.===.$tok
12ba40 65 6e 5b 30 5d 20 26 26 20 27 2d 27 20 21 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 en[0].&&.'-'.!==.$token).{.$this
12ba60 2d 3e 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c ->parseShortOption($token);.}.el
12ba80 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e se.{.$this->parseArgument($token
12baa0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 );.}.}.}.......private.function.
12bac0 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 parseShortOption($token).{.$name
12bae0 20 3d 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 31 29 3b 0a 0a 69 66 20 28 5c 73 74 72 6c .=.substr($token,.1);..if.(\strl
12bb00 65 6e 28 24 6e 61 6d 65 29 20 3e 20 31 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 en($name).>.1).{.if.($this->defi
12bb20 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 20 26 26 nition->hasShortcut($name[0]).&&
12bb40 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 .$this->definition->getOptionFor
12bb60 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 Shortcut($name[0])->acceptValue(
12bb80 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 6e 61 )).{...$this->addShortOption($na
12bba0 6d 65 5b 30 5d 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 31 29 29 3b 0a 7d 20 65 6c 73 65 me[0],.substr($name,.1));.}.else
12bbc0 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e .{.$this->parseShortOptionSet($n
12bbe0 61 6d 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 ame);.}.}.else.{.$this->addShort
12bc00 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a Option($name,.null);.}.}........
12bc20 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 .private.function.parseShortOpti
12bc40 6f 6e 53 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6e onSet($name).{.$len.=.\strlen($n
12bc60 61 6d 65 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6c 65 6e 3b 20 2b 2b ame);.for.($i.=.0;.$i.<.$len;.++
12bc80 24 69 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 $i).{.if.(!$this->definition->ha
12bca0 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 24 69 5d 29 29 20 7b 0a 24 65 6e 63 6f 64 69 6e sShortcut($name[$i])).{.$encodin
12bcc0 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 6e 61 6d 65 2c 20 6e 75 g.=.mb_detect_encoding($name,.nu
12bce0 6c 6c 2c 20 74 72 75 65 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 ll,.true);.throw.new.RuntimeExce
12bd00 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 ption(sprintf('The."-%s".option.
12bd20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 does.not.exist.',.false.===.$enc
12bd40 6f 64 69 6e 67 20 3f 20 24 6e 61 6d 65 5b 24 69 5d 20 3a 20 6d 62 5f 73 75 62 73 74 72 28 24 6e oding.?.$name[$i].:.mb_substr($n
12bd60 61 6d 65 2c 20 24 69 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 29 29 3b 0a 7d 0a 0a 24 6f 70 ame,.$i,.1,.$encoding)));.}..$op
12bd80 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 tion.=.$this->definition->getOpt
12bda0 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 24 69 5d 29 3b 0a 69 66 20 28 24 ionForShortcut($name[$i]);.if.($
12bdc0 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e option->acceptValue()).{.$this->
12bde0 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 addLongOption($option->getName()
12be00 2c 20 24 69 20 3d 3d 3d 20 24 6c 65 6e 20 2d 20 31 20 3f 20 6e 75 6c 6c 20 3a 20 73 75 62 73 74 ,.$i.===.$len.-.1.?.null.:.subst
12be20 72 28 24 6e 61 6d 65 2c 20 24 69 20 2b 20 31 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 r($name,.$i.+.1));..break;.}.els
12be40 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e e.{.$this->addLongOption($option
12be60 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ->getName(),.null);.}.}.}.......
12be80 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 6f 6e 67 4f 70 74 69 6f 6e private.function.parseLongOption
12bea0 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e ($token).{.$name.=.substr($token
12bec0 2c 20 32 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 70 ,.2);..if.(false.!==.$pos.=.strp
12bee0 6f 73 28 24 6e 61 6d 65 2c 20 27 3d 27 29 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 73 74 72 os($name,.'=')).{.if.(0.===.\str
12bf00 6c 65 6e 28 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 70 6f 73 20 len($value.=.substr($name,.$pos.
12bf20 2b 20 31 29 29 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 +.1))).{.array_unshift($this->pa
12bf40 72 73 65 64 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 rsed,.null);.}.$this->addLongOpt
12bf60 69 6f 6e 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 2c 20 24 76 61 6c ion(substr($name,.0,.$pos),.$val
12bf80 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 ue);.}.else.{.$this->addLongOpti
12bfa0 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 on($name,.null);.}.}.........pri
12bfc0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b vate.function.parseArgument($tok
12bfe0 65 6e 29 0a 7b 0a 24 63 20 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e en).{.$c.=.\count($this->argumen
12c000 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 ts);....if.($this->definition->h
12c020 61 73 41 72 67 75 6d 65 6e 74 28 24 63 29 29 20 7b 0a 24 61 72 67 20 3d 20 24 74 68 69 73 2d 3e asArgument($c)).{.$arg.=.$this->
12c040 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 29 3b 0a 24 74 68 definition->getArgument($c);.$th
12c060 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d is->arguments[$arg->getName()].=
12c080 20 24 61 72 67 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 29 .$arg->isArray().?.array($token)
12c0a0 20 3a 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 64 .:.$token;....}.elseif.($this->d
12c0c0 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 20 26 efinition->hasArgument($c.-.1).&
12c0e0 26 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 &.$this->definition->getArgument
12c100 28 24 63 20 2d 20 31 29 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 61 72 67 20 3d 20 24 74 ($c.-.1)->isArray()).{.$arg.=.$t
12c120 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 20 his->definition->getArgument($c.
12c140 2d 20 31 29 3b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e 67 65 74 -.1);.$this->arguments[$arg->get
12c160 4e 61 6d 65 28 29 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 20 7b 0a Name()][].=.$token;....}.else.{.
12c180 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 $all.=.$this->definition->getArg
12c1a0 75 6d 65 6e 74 73 28 29 3b 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 61 6c 6c 29 29 20 7b 0a 74 68 uments();.if.(\count($all)).{.th
12c1c0 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 row.new.RuntimeException(sprintf
12c1e0 28 27 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 78 70 65 63 74 65 64 20 61 ('Too.many.arguments,.expected.a
12c200 72 67 75 6d 65 6e 74 73 20 22 25 73 22 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 22 20 22 27 2c 20 rguments."%s".',.implode('"."',.
12c220 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 6c 29 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 array_keys($all))));.}..throw.ne
12c240 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 20 61 w.RuntimeException(sprintf('No.a
12c260 72 67 75 6d 65 6e 74 73 20 65 78 70 65 63 74 65 64 2c 20 67 6f 74 20 22 25 73 22 2e 27 2c 20 24 rguments.expected,.got."%s".',.$
12c280 74 6f 6b 65 6e 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 token));.}.}..........private.fu
12c2a0 6e 63 74 69 6f 6e 20 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 73 68 6f 72 74 63 75 74 2c nction.addShortOption($shortcut,
12c2c0 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f .$value).{.if.(!$this->definitio
12c2e0 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 72 n->hasShortcut($shortcut)).{.thr
12c300 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 ow.new.RuntimeException(sprintf(
12c320 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 'The."-%s".option.does.not.exist
12c340 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f .',.$shortcut));.}..$this->addLo
12c360 6e 67 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f ngOption($this->definition->getO
12c380 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 2d 3e 67 65 74 ptionForShortcut($shortcut)->get
12c3a0 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 Name(),.$value);.}..........priv
12c3c0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 ate.function.addLongOption($name
12c3e0 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 ,.$value).{.if.(!$this->definiti
12c400 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 on->hasOption($name)).{.throw.ne
12c420 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 w.RuntimeException(sprintf('The.
12c440 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 "--%s".option.does.not.exist.',.
12c460 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 $name));.}..$option.=.$this->def
12c480 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 inition->getOption($name);....if
12c4a0 20 28 21 69 73 73 65 74 28 24 76 61 6c 75 65 5b 30 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 .(!isset($value[0])).{.$value.=.
12c4c0 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 null;.}..if.(null.!==.$value.&&.
12c4e0 21 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 74 68 72 6f 77 !$option->acceptValue()).{.throw
12c500 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 .new.RuntimeException(sprintf('T
12c520 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 74 he."--%s".option.does.not.accept
12c540 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c .a.value.',.$name));.}..if.(null
12c560 20 3d 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 .===.$value.&&.$option->acceptVa
12c580 6c 75 65 28 29 20 26 26 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 29 20 lue().&&.\count($this->parsed)).
12c5a0 7b 0a 0a 20 0a 20 24 6e 65 78 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 68 69 73 2d {.....$next.=.array_shift($this-
12c5c0 3e 70 61 72 73 65 64 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6e 65 78 74 5b 30 5d 29 20 26 26 >parsed);.if.(isset($next[0]).&&
12c5e0 20 27 2d 27 20 21 3d 3d 20 24 6e 65 78 74 5b 30 5d 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 6e .'-'.!==.$next[0]).{.$value.=.$n
12c600 65 78 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 65 6d 70 74 79 28 24 6e 65 78 74 29 29 20 7b 0a 24 ext;.}.elseif.(empty($next)).{.$
12c620 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 value.=.null;.}.else.{.array_uns
12c640 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 2c 20 24 6e 65 78 74 29 3b 0a 7d 0a 7d 0a hift($this->parsed,.$next);.}.}.
12c660 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 .if.(null.===.$value).{.if.($opt
12c680 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 ion->isValueRequired()).{.throw.
12c6a0 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 new.RuntimeException(sprintf('Th
12c6c0 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 e."--%s".option.requires.a.value
12c6e0 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f 70 74 69 6f 6e 2d 3e 69 73 .',.$name));.}..if.(!$option->is
12c700 41 72 72 61 79 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 Array()).{.$value.=.$option->isV
12c720 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 alueOptional().?.$option->getDef
12c740 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d ault().:.true;.}.}..if.($option-
12c760 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 >isArray()).{.$this->options[$na
12c780 6d 65 5d 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e me][].=.$value;.}.else.{.$this->
12c7a0 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a options[$name].=.$value;.}.}....
12c7c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e .public.function.getFirstArgumen
12c7e0 74 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 t().{.foreach.($this->tokens.as.
12c800 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 20 3d 3d 3d 20 $token).{.if.($token.&&.'-'.===.
12c820 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e $token[0]).{.continue;.}..return
12c840 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$token;.}.}.....public.function
12c860 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 0a 7b 0a 24 .hasParameterOption($values).{.$
12c880 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 values.=.(array).$values;..forea
12c8a0 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 6e 29 20 7b 0a 66 ch.($this->tokens.as.$token).{.f
12c8c0 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 0a oreach.($values.as.$value).{....
12c8e0 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 ...$leading.=.0.===.strpos($valu
12c900 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e 27 3d 27 20 3a 20 24 76 61 6c 75 65 3b 0a e,.'--').?.$value.'='.:.$value;.
12c920 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 65 20 7c 7c 20 27 27 20 21 3d 3d 20 if.($token.===.$value.||.''.!==.
12c940 24 6c 65 61 64 69 6e 67 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c $leading.&&.0.===.strpos($token,
12c960 20 24 6c 65 61 64 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d .$leading)).{.return.true;.}.}.}
12c980 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.false;.}.....public.fun
12c9a0 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 ction.getParameterOption($values
12c9c0 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 ,.$default.=.false).{.$values.=.
12c9e0 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 24 74 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 (array).$values;.$tokens.=.$this
12ca00 2d 3e 74 6f 6b 65 6e 73 3b 0a 0a 77 68 69 6c 65 20 28 30 20 3c 20 5c 63 6f 75 6e 74 28 24 74 6f ->tokens;..while.(0.<.\count($to
12ca20 6b 65 6e 73 29 29 20 7b 0a 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 kens)).{.$token.=.array_shift($t
12ca40 6f 6b 65 6e 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 okens);..foreach.($values.as.$va
12ca60 6c 75 65 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a lue).{.if.($token.===.$value).{.
12ca80 72 65 74 75 72 6e 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 0a return.array_shift($tokens);.}..
12caa0 20 0a 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 .....$leading.=.0.===.strpos($va
12cac0 6c 75 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e 27 3d 27 20 3a 20 24 76 61 6c 75 65 lue,.'--').?.$value.'='.:.$value
12cae0 3b 0a 69 66 20 28 27 27 20 21 3d 3d 20 24 6c 65 61 64 69 6e 67 20 26 26 20 30 20 3d 3d 3d 20 73 ;.if.(''.!==.$leading.&&.0.===.s
12cb00 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 6c 65 61 64 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 trpos($token,.$leading)).{.retur
12cb20 6e 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 5c 73 74 72 6c 65 6e 28 24 6c 65 61 64 69 6e n.substr($token,.\strlen($leadin
12cb40 67 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a g));.}.}.}..return.$default;.}..
12cb60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 .....public.function.__toString(
12cb80 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 ).{.$self.=.$this;.$tokens.=.arr
12cba0 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 6f 6b 65 6e 29 20 75 73 65 20 28 24 73 ay_map(function.($token).use.($s
12cbc0 65 6c 66 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2d 5b 5e 3d 5d 2b elf).{.if.(preg_match('{^(-[^=]+
12cbe0 3d 29 28 2e 2b 29 7d 27 2c 20 24 74 6f 6b 65 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 =)(.+)}',.$token,.$match)).{.ret
12cc00 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 24 73 65 6c 66 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e urn.$match[1].$self->escapeToken
12cc20 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d ($match[2]);.}..if.($token.&&.'-
12cc40 27 20 21 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 65 6c 66 2d '.!==.$token[0]).{.return.$self-
12cc60 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 >escapeToken($token);.}..return.
12cc80 24 74 6f 6b 65 6e 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 29 3b 0a 0a 72 65 74 75 $token;.},.$this->tokens);..retu
12cca0 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f rn.implode('.',.$tokens);.}.}.<?
12ccc0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
12cce0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 Component\Console\Input;..use.Sy
12cd00 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
12cd20 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 n\InvalidArgumentException;.use.
12cd40 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
12cd60 69 6f 6e 5c 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a ion\InvalidOptionException;.....
12cd80 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 49 ......class.ArrayInput.extends.I
12cda0 6e 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 70 75 62 nput.{.private.$parameters;..pub
12cdc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 lic.function.__construct(array.$
12cde0 70 61 72 61 6d 65 74 65 72 73 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 parameters,.InputDefinition.$def
12ce00 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 inition.=.null).{.$this->paramet
12ce20 65 72 73 20 3d 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f ers.=.$parameters;..parent::__co
12ce40 6e 73 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c nstruct($definition);.}.....publ
12ce60 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 7b ic.function.getFirstArgument().{
12ce80 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 .foreach.($this->parameters.as.$
12cea0 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 65 79 20 26 26 20 27 2d 27 key.=>.$value).{.if.($key.&&.'-'
12cec0 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 .===.$key[0]).{.continue;.}..ret
12cee0 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 urn.$value;.}.}.....public.funct
12cf00 69 6f 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 0a ion.hasParameterOption($values).
12cf20 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 66 6f {.$values.=.(array).$values;..fo
12cf40 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b 20 3d reach.($this->parameters.as.$k.=
12cf60 3e 20 24 76 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a 24 76 20 3d >.$v).{.if.(!\is_int($k)).{.$v.=
12cf80 20 24 6b 3b 0a 7d 0a 0a 69 66 20 28 5c 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 .$k;.}..if.(\in_array($v,.$value
12cfa0 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 s)).{.return.true;.}.}..return.f
12cfc0 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 alse;.}.....public.function.getP
12cfe0 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 arameterOption($values,.$default
12d000 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 .=.false).{.$values.=.(array).$v
12d020 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 alues;..foreach.($this->paramete
12d040 72 73 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 69 66 20 28 5c 69 73 5f 69 6e 74 28 24 6b rs.as.$k.=>.$v).{.if.(\is_int($k
12d060 29 29 20 7b 0a 69 66 20 28 5c 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 )).{.if.(\in_array($v,.$values))
12d080 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 6e 5f .{.return.true;.}.}.elseif.(\in_
12d0a0 61 72 72 61 79 28 24 6b 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 3b array($k,.$values)).{.return.$v;
12d0c0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .}.}..return.$default;.}.......p
12d0e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 70 ublic.function.__toString().{.$p
12d100 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d arams.=.array();.foreach.($this-
12d120 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 70 61 72 61 6d 20 3d 3e 20 24 76 61 6c 29 20 7b >parameters.as.$param.=>.$val).{
12d140 0a 69 66 20 28 24 70 61 72 61 6d 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 70 61 72 61 6d 5b 30 5d .if.($param.&&.'-'.===.$param[0]
12d160 29 20 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 29 20 7b 0a 66 6f 72 65 61 ).{.if.(\is_array($val)).{.forea
12d180 63 68 20 28 24 76 61 6c 20 61 73 20 24 76 29 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 70 ch.($val.as.$v).{.$params[].=.$p
12d1a0 61 72 61 6d 2e 28 27 27 20 21 3d 20 24 76 20 3f 20 27 3d 27 2e 24 74 68 69 73 2d 3e 65 73 63 61 aram.(''.!=.$v.?.'='.$this->esca
12d1c0 70 65 54 6f 6b 65 6e 28 24 76 29 20 3a 20 27 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 peToken($v).:.'');.}.}.else.{.$p
12d1e0 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 61 6d 2e 28 27 27 20 21 3d 20 24 76 61 6c 20 3f 20 27 arams[].=.$param.(''.!=.$val.?.'
12d200 3d 27 2e 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 61 6c 29 20 3a 20 27 27 ='.$this->escapeToken($val).:.''
12d220 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 5c 69 73 5f 61 72 );.}.}.else.{.$params[].=.\is_ar
12d240 72 61 79 28 24 76 61 6c 29 20 3f 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 6d ray($val).?.implode('.',.array_m
12d260 61 70 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 65 73 63 61 70 65 54 6f 6b 65 6e 27 29 2c 20 ap(array($this,.'escapeToken'),.
12d280 24 76 61 6c 29 29 20 3a 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 61 6c $val)).:.$this->escapeToken($val
12d2a0 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 61 72 );.}.}..return.implode('.',.$par
12d2c0 61 6d 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 ams);.}.....protected.function.p
12d2e0 61 72 73 65 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 arse().{.foreach.($this->paramet
12d300 65 72 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 30 20 3d ers.as.$key.=>.$value).{.if.(0.=
12d320 3d 3d 20 73 74 72 70 6f 73 28 24 6b 65 79 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e ==.strpos($key,.'--')).{.$this->
12d340 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 32 29 2c 20 24 addLongOption(substr($key,.2),.$
12d360 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2d 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 value);.}.elseif.('-'.===.$key[0
12d380 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 73 75 62 73 74 ]).{.$this->addShortOption(subst
12d3a0 72 28 24 6b 65 79 2c 20 31 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 r($key,.1),.$value);.}.else.{.$t
12d3c0 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 3b 0a his->addArgument($key,.$value);.
12d3e0 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 }.}.}..........private.function.
12d400 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 73 68 6f 72 74 63 75 74 2c 20 24 76 61 6c 75 65 addShortOption($shortcut,.$value
12d420 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 ).{.if.(!$this->definition->hasS
12d440 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 hortcut($shortcut)).{.throw.new.
12d460 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 InvalidOptionException(sprintf('
12d480 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e The."-%s".option.does.not.exist.
12d4a0 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e ',.$shortcut));.}..$this->addLon
12d4c0 67 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 gOption($this->definition->getOp
12d4e0 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 2d 3e 67 65 74 4e tionForShortcut($shortcut)->getN
12d500 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ame(),.$value);.}...........priv
12d520 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 ate.function.addLongOption($name
12d540 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 ,.$value).{.if.(!$this->definiti
12d560 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 on->hasOption($name)).{.throw.ne
12d580 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 w.InvalidOptionException(sprintf
12d5a0 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 ('The."--%s".option.does.not.exi
12d5c0 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 st.',.$name));.}..$option.=.$thi
12d5e0 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b s->definition->getOption($name);
12d600 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 ..if.(null.===.$value).{.if.($op
12d620 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 tion->isValueRequired()).{.throw
12d640 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 .new.InvalidOptionException(spri
12d660 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 ntf('The."--%s".option.requires.
12d680 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 a.value.',.$name));.}..$value.=.
12d6a0 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 $option->isValueOptional().?.$op
12d6c0 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 tion->getDefault().:.true;.}..$t
12d6e0 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a his->options[$name].=.$value;.}.
12d700 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 .........private.function.addArg
12d720 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 ument($name,.$value).{.if.(!$thi
12d740 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 s->definition->hasArgument($name
12d760 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 )).{.throw.new.InvalidArgumentEx
12d780 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 ception(sprintf('The."%s".argume
12d7a0 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a nt.does.not.exist.',.$name));.}.
12d7c0 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 .$this->arguments[$name].=.$valu
12d7e0 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 e;.}.}.<?php...........namespace
12d800 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
12d820 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
12d840 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 \Exception\InvalidArgumentExcept
12d860 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
12d880 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a le\Exception\RuntimeException;..
12d8a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 20 ...........abstract.class.Input.
12d8c0 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 implements.InputInterface.{.prot
12d8e0 65 63 74 65 64 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 ected.$definition;.protected.$op
12d900 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 75 tions.=.array();.protected.$argu
12d920 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 74 65 ments.=.array();.protected.$inte
12d940 72 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ractive.=.true;..public.function
12d960 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 .__construct(InputDefinition.$de
12d980 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 finition.=.null).{.if.(null.===.
12d9a0 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e $definition).{.$this->definition
12d9c0 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 .=.new.InputDefinition();.}.else
12d9e0 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 24 74 68 .{.$this->bind($definition);.$th
12da00 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 is->validate();.}.}.....public.f
12da20 75 6e 63 74 69 6f 6e 20 62 69 6e 64 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 unction.bind(InputDefinition.$de
12da40 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 finition).{.$this->arguments.=.a
12da60 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 rray();.$this->options.=.array()
12da80 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f ;.$this->definition.=.$definitio
12daa0 6e 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 61 62 73 74 72 61 n;..$this->parse();.}.....abstra
12dac0 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 3b 0a 0a ct.protected.function.parse();..
12dae0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 0a 7b 0a ...public.function.validate().{.
12db00 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b $definition.=.$this->definition;
12db20 0a 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 .$givenArguments.=.$this->argume
12db40 6e 74 73 3b 0a 0a 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f nts;..$missingArguments.=.array_
12db60 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 filter(array_keys($definition->g
12db80 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 72 67 75 6d etArguments()),.function.($argum
12dba0 65 6e 74 29 20 75 73 65 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 67 69 76 65 6e 41 72 67 ent).use.($definition,.$givenArg
12dbc0 75 6d 65 6e 74 73 29 20 7b 0a 72 65 74 75 72 6e 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 uments).{.return.!array_key_exis
12dbe0 74 73 28 24 61 72 67 75 6d 65 6e 74 2c 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 29 20 26 ts($argument,.$givenArguments).&
12dc00 26 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 &.$definition->getArgument($argu
12dc20 6d 65 6e 74 29 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 3b 0a 7d 29 3b 0a 0a 69 66 20 28 5c 63 ment)->isRequired();.});..if.(\c
12dc40 6f 75 6e 74 28 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 29 20 3e 20 30 29 20 7b 0a 74 ount($missingArguments).>.0).{.t
12dc60 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 hrow.new.RuntimeException(sprint
12dc80 66 28 27 4e 6f 74 20 65 6e 6f 75 67 68 20 61 72 67 75 6d 65 6e 74 73 20 28 6d 69 73 73 69 6e 67 f('Not.enough.arguments.(missing
12dca0 3a 20 22 25 73 22 29 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 6d 69 73 73 69 6e :."%s").',.implode(',.',.$missin
12dcc0 67 41 72 67 75 6d 65 6e 74 73 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 gArguments)));.}.}.....public.fu
12dce0 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.isInteractive().{.return.
12dd00 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $this->interactive;.}.....public
12dd20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 69 6e 74 65 72 61 .function.setInteractive($intera
12dd40 63 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 20 3d 20 28 62 ctive).{.$this->interactive.=.(b
12dd60 6f 6f 6c 29 20 24 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ool).$interactive;.}.....public.
12dd80 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e function.getArguments().{.return
12dda0 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e .array_merge($this->definition->
12ddc0 67 65 74 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 29 2c 20 24 74 68 69 73 2d 3e 61 72 getArgumentDefaults(),.$this->ar
12dde0 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 guments);.}.....public.function.
12de00 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d getArgument($name).{.if.(!$this-
12de20 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 >definition->hasArgument($name))
12de40 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
12de60 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 ption(sprintf('The."%s".argument
12de80 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 .does.not.exist.',.$name));.}..r
12dea0 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 eturn.isset($this->arguments[$na
12dec0 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3a me]).?.$this->arguments[$name].:
12dee0 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 .$this->definition->getArgument(
12df00 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c $name)->getDefault();.}.....publ
12df20 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 ic.function.setArgument($name,.$
12df40 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d value).{.if.(!$this->definition-
12df60 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 >hasArgument($name)).{.throw.new
12df80 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
12dfa0 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 f('The."%s".argument.does.not.ex
12dfc0 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 ist.',.$name));.}..$this->argume
12dfe0 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 nts[$name].=.$value;.}.....publi
12e000 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a c.function.hasArgument($name).{.
12e020 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 return.$this->definition->hasArg
12e040 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ument($name);.}.....public.funct
12e060 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f ion.getOptions().{.return.array_
12e080 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 merge($this->definition->getOpti
12e0a0 6f 6e 44 65 66 61 75 6c 74 73 28 29 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 7d onDefaults(),.$this->options);.}
12e0c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 28 24 .....public.function.getOption($
12e0e0 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e name).{.if.(!$this->definition->
12e100 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e hasOption($name)).{.throw.new.In
12e120 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 validArgumentException(sprintf('
12e140 54 68 65 20 22 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 The."%s".option.does.not.exist.'
12e160 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 ,.$name));.}..return.isset($this
12e180 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f ->options[$name]).?.$this->optio
12e1a0 6e 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 ns[$name].:.$this->definition->g
12e1c0 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d etOption($name)->getDefault();.}
12e1e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 .....public.function.setOption($
12e200 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 name,.$value).{.if.(!$this->defi
12e220 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f nition->hasOption($name)).{.thro
12e240 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 w.new.InvalidArgumentException(s
12e260 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 printf('The."%s".option.does.not
12e280 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 .exist.',.$name));.}..$this->opt
12e2a0 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ions[$name].=.$value;.}.....publ
12e2c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 72 ic.function.hasOption($name).{.r
12e2e0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 eturn.$this->definition->hasOpti
12e300 6f 6e 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 on($name);.}.........public.func
12e320 74 69 6f 6e 20 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 72 65 74 75 72 tion.escapeToken($token).{.retur
12e340 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5c 77 2d 5d 2b 24 7d 27 2c 20 24 74 6f 6b 65 n.preg_match('{^[\w-]+$}',.$toke
12e360 6e 29 20 3f 20 24 74 6f 6b 65 6e 20 3a 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 6f n).?.$token.:.escapeshellarg($to
12e380 6b 65 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ken);.}.}.<?php...........namesp
12e3a0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e ace.Symfony\Component\Console\In
12e3c0 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 put;..use.Symfony\Component\Cons
12e3e0 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
12e400 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
12e420 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a nsole\Exception\LogicException;.
12e440 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 0a 7b 0a 63 6f 6e 73 ......class.InputArgument.{.cons
12e460 74 20 52 45 51 55 49 52 45 44 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 41 4c 20 3d t.REQUIRED.=.1;.const.OPTIONAL.=
12e480 20 32 3b 0a 63 6f 6e 73 74 20 49 53 5f 41 52 52 41 59 20 3d 20 34 3b 0a 0a 70 72 69 76 61 74 65 .2;.const.IS_ARRAY.=.4;..private
12e4a0 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 .$name;.private.$mode;.private.$
12e4c0 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a default;.private.$description;..
12e4e0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
12e500 75 63 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 uct($name,.$mode.=.null,.$descri
12e520 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 ption.=.'',.$default.=.null).{.i
12e540 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 6d 6f 64 65 20 3d 20 73 65 6c f.(null.===.$mode).{.$mode.=.sel
12e560 66 3a 3a 4f 50 54 49 4f 4e 41 4c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 69 6e 74 28 f::OPTIONAL;.}.elseif.(!\is_int(
12e580 24 6d 6f 64 65 29 20 7c 7c 20 24 6d 6f 64 65 20 3e 20 37 20 7c 7c 20 24 6d 6f 64 65 20 3c 20 31 $mode).||.$mode.>.7.||.$mode.<.1
12e5a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
12e5c0 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 72 67 75 6d 65 6e 74 20 6d 6f 64 65 20 22 25 eption(sprintf('Argument.mode."%
12e5e0 73 22 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 2c 20 24 6d 6f 64 65 29 29 3b 0a 7d 0a 0a 24 s".is.not.valid.',.$mode));.}..$
12e600 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 this->name.=.$name;.$this->mode.
12e620 3d 20 24 6d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 =.$mode;.$this->description.=.$d
12e640 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 escription;..$this->setDefault($
12e660 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f default);.}.......public.functio
12e680 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 n.getName().{.return.$this->name
12e6a0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 71 75 ;.}.......public.function.isRequ
12e6c0 69 72 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 3d ired().{.return.self::REQUIRED.=
12e6e0 3d 3d 20 28 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 ==.(self::REQUIRED.&.$this->mode
12e700 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 );.}.......public.function.isArr
12e720 61 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 20 3d 3d 3d ay().{.return.self::IS_ARRAY.===
12e740 20 28 73 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b .(self::IS_ARRAY.&.$this->mode);
12e760 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 .}.........public.function.setDe
12e780 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c fault($default.=.null).{.if.(sel
12e7a0 66 3a 3a 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 26 26 20 6e f::REQUIRED.===.$this->mode.&&.n
12e7c0 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f ull.!==.$default).{.throw.new.Lo
12e7e0 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 73 65 74 20 61 20 64 65 66 61 75 gicException('Cannot.set.a.defau
12e800 6c 74 20 76 61 6c 75 65 20 65 78 63 65 70 74 20 66 6f 72 20 49 6e 70 75 74 41 72 67 75 6d 65 6e lt.value.except.for.InputArgumen
12e820 74 3a 3a 4f 50 54 49 4f 4e 41 4c 20 6d 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 t::OPTIONAL.mode.');.}..if.($thi
12e840 73 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 s->isArray()).{.if.(null.===.$de
12e860 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 fault).{.$default.=.array();.}.e
12e880 6c 73 65 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 74 lseif.(!\is_array($default)).{.t
12e8a0 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 64 65 66 61 75 hrow.new.LogicException('A.defau
12e8c0 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 20 6d lt.value.for.an.array.argument.m
12e8e0 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e ust.be.an.array.');.}.}..$this->
12e900 64 65 66 61 75 6c 74 20 3d 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c default.=.$default;.}.......publ
12e920 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getDefault().{.retur
12e940 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->default;.}.......public
12e960 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 .function.getDescription().{.ret
12e980 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 urn.$this->description;.}.}.<?ph
12e9a0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
12e9c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e mponent\Console\Input;........in
12e9e0 74 65 72 66 61 63 65 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a terface.InputAwareInterface.{...
12ea00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 49 6e 70 75 74 49 .public.function.setInput(InputI
12ea20 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a nterface.$input);.}.<?php.......
12ea40 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
12ea60 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 Console\Input;..use.Symfony\Comp
12ea80 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 onent\Console\Descriptor\TextDes
12eaa0 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 criptor;.use.Symfony\Component\C
12eac0 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b onsole\Descriptor\XmlDescriptor;
12eae0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
12eb00 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f xception\InvalidArgumentExceptio
12eb20 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
12eb40 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 \Exception\LogicException;.use.S
12eb60 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
12eb80 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 BufferedOutput;..............cla
12eba0 73 73 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 72 ss.InputDefinition.{.private.$ar
12ebc0 67 75 6d 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b guments;.private.$requiredCount;
12ebe0 0a 70 72 69 76 61 74 65 20 24 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 .private.$hasAnArrayArgument.=.f
12ec00 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 4f 70 74 69 6f 6e 61 6c 3b 0a 70 72 69 76 alse;.private.$hasOptional;.priv
12ec20 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 73 ate.$options;.private.$shortcuts
12ec40 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ;.....public.function.__construc
12ec60 74 28 61 72 72 61 79 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 29 0a 7b t(array.$definition.=.array()).{
12ec80 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f .$this->setDefinition($definitio
12eca0 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 n);.}.....public.function.setDef
12ecc0 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 61 72 inition(array.$definition).{.$ar
12ece0 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 guments.=.array();.$options.=.ar
12ed00 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 61 73 20 24 ray();.foreach.($definition.as.$
12ed20 69 74 65 6d 29 20 7b 0a 69 66 20 28 24 69 74 65 6d 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 item).{.if.($item.instanceof.Inp
12ed40 75 74 4f 70 74 69 6f 6e 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a utOption).{.$options[].=.$item;.
12ed60 7d 20 65 6c 73 65 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 7d }.else.{.$arguments[].=.$item;.}
12ed80 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e .}..$this->setArguments($argumen
12eda0 74 73 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 ts);.$this->setOptions($options)
12edc0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 ;.}.......public.function.setArg
12ede0 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 uments($arguments.=.array()).{.$
12ee00 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 this->arguments.=.array();.$this
12ee20 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 68 61 73 4f ->requiredCount.=.0;.$this->hasO
12ee40 70 74 69 6f 6e 61 6c 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 ptional.=.false;.$this->hasAnArr
12ee60 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 ayArgument.=.false;.$this->addAr
12ee80 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 guments($arguments);.}.......pub
12eea0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d lic.function.addArguments($argum
12eec0 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 ents.=.array()).{.if.(null.!==.$
12eee0 61 72 67 75 6d 65 6e 74 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 75 6d 65 6e 74 73 arguments).{.foreach.($arguments
12ef00 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d .as.$argument).{.$this->addArgum
12ef20 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ent($argument);.}.}.}.....public
12ef40 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d .function.addArgument(InputArgum
12ef60 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 ent.$argument).{.if.(isset($this
12ef80 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 ->arguments[$argument->getName()
12efa0 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 ])).{.throw.new.LogicException(s
12efc0 70 72 69 6e 74 66 28 27 41 6e 20 61 72 67 75 6d 65 6e 74 20 77 69 74 68 20 6e 61 6d 65 20 22 25 printf('An.argument.with.name."%
12efe0 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e s".already.exists.',.$argument->
12f000 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 41 6e getName()));.}..if.($this->hasAn
12f020 41 72 72 61 79 41 72 67 75 6d 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 ArrayArgument).{.throw.new.Logic
12f040 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 6e 20 61 72 67 75 6d 65 6e Exception('Cannot.add.an.argumen
12f060 74 20 61 66 74 65 72 20 61 6e 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a t.after.an.array.argument.');.}.
12f080 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 26 26 20 .if.($argument->isRequired().&&.
12f0a0 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 $this->hasOptional).{.throw.new.
12f0c0 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 20 72 65 71 LogicException('Cannot.add.a.req
12f0e0 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c uired.argument.after.an.optional
12f100 20 6f 6e 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 .one.');.}..if.($argument->isArr
12f120 61 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e ay()).{.$this->hasAnArrayArgumen
12f140 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 t.=.true;.}..if.($argument->isRe
12f160 71 75 69 72 65 64 28 29 29 20 7b 0a 2b 2b 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 quired()).{.++$this->requiredCou
12f180 6e 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 nt;.}.else.{.$this->hasOptional.
12f1a0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 =.true;.}..$this->arguments[$arg
12f1c0 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 7d ument->getName()].=.$argument;.}
12f1e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 ...........public.function.getAr
12f200 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 gument($name).{.if.(!$this->hasA
12f220 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 rgument($name)).{.throw.new.Inva
12f240 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 lidArgumentException(sprintf('Th
12f260 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 e."%s".argument.does.not.exist.'
12f280 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 5c 69 73 5f 69 ,.$name));.}..$arguments.=.\is_i
12f2a0 6e 74 28 24 6e 61 6d 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e nt($name).?.array_values($this->
12f2c0 61 72 67 75 6d 65 6e 74 73 29 20 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a arguments).:.$this->arguments;..
12f2e0 72 65 74 75 72 6e 20 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a return.$arguments[$name];.}.....
12f300 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 6e 74 28 ....public.function.hasArgument(
12f320 24 6e 61 6d 65 29 0a 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 5c 69 73 5f 69 6e 74 28 24 6e $name).{.$arguments.=.\is_int($n
12f340 61 6d 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d ame).?.array_values($this->argum
12f360 65 6e 74 73 29 20 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 ents).:.$this->arguments;..retur
12f380 6e 20 69 73 73 65 74 28 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a n.isset($arguments[$name]);.}...
12f3a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 ....public.function.getArguments
12f3c0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a ().{.return.$this->arguments;.}.
12f3e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e ......public.function.getArgumen
12f400 74 43 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 tCount().{.return.$this->hasAnAr
12f420 72 61 79 41 72 67 75 6d 65 6e 74 20 3f 20 50 48 50 5f 49 4e 54 5f 4d 41 58 20 3a 20 5c 63 6f 75 rayArgument.?.PHP_INT_MAX.:.\cou
12f440 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 nt($this->arguments);.}.......pu
12f460 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 52 65 71 75 69 72 65 blic.function.getArgumentRequire
12f480 64 43 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 dCount().{.return.$this->require
12f4a0 64 43 6f 75 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 dCount;.}.......public.function.
12f4c0 67 65 74 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 65 73 20 getArgumentDefaults().{.$values.
12f4e0 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 67 75 6d =.array();.foreach.($this->argum
12f500 65 6e 74 73 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 76 61 6c 75 65 73 5b 24 61 72 ents.as.$argument).{.$values[$ar
12f520 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e gument->getName()].=.$argument->
12f540 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b getDefault();.}..return.$values;
12f560 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 .}.......public.function.setOpti
12f580 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d ons($options.=.array()).{.$this-
12f5a0 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 >options.=.array();.$this->short
12f5c0 63 75 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e cuts.=.array();.$this->addOption
12f5e0 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s($options);.}.......public.func
12f600 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 tion.addOptions($options.=.array
12f620 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 ()).{.foreach.($options.as.$opti
12f640 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b on).{.$this->addOption($option);
12f660 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 .}.}.....public.function.addOpti
12f680 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 69 73 on(InputOption.$option).{.if.(is
12f6a0 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e set($this->options[$option->getN
12f6c0 61 6d 65 28 29 5d 29 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d 3e 65 71 75 61 6c 73 28 24 74 68 69 ame()]).&&.!$option->equals($thi
12f6e0 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 s->options[$option->getName()]))
12f700 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 .{.throw.new.LogicException(spri
12f720 6e 74 66 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 64 20 22 25 73 22 20 61 6c 72 65 61 64 ntf('An.option.named."%s".alread
12f740 79 20 65 78 69 73 74 73 2e 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 y.exists.',.$option->getName()))
12f760 3b 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 ;.}..if.($option->getShortcut())
12f780 20 7b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e .{.foreach.(explode('|',.$option
12f7a0 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 61 73 20 24 73 68 6f 72 74 63 75 74 29 20 7b ->getShortcut()).as.$shortcut).{
12f7c0 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f .if.(isset($this->shortcuts[$sho
12f7e0 72 74 63 75 74 5d 29 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d 3e 65 71 75 61 6c 73 28 24 74 68 69 rtcut]).&&.!$option->equals($thi
12f800 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f s->options[$this->shortcuts[$sho
12f820 72 74 63 75 74 5d 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 rtcut]])).{.throw.new.LogicExcep
12f840 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 6f 70 74 69 6f 6e 20 77 69 74 68 20 73 68 6f tion(sprintf('An.option.with.sho
12f860 72 74 63 75 74 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 73 68 rtcut."%s".already.exists.',.$sh
12f880 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b ortcut));.}.}.}..$this->options[
12f8a0 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 6f 70 74 69 6f 6e 3b 0a 69 $option->getName()].=.$option;.i
12f8c0 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 7b 0a 66 6f 72 f.($option->getShortcut()).{.for
12f8e0 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 each.(explode('|',.$option->getS
12f900 68 6f 72 74 63 75 74 28 29 29 20 61 73 20 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 24 74 68 69 73 hortcut()).as.$shortcut).{.$this
12f920 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 20 3d 20 24 6f 70 74 69 6f 6e ->shortcuts[$shortcut].=.$option
12f940 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ->getName();.}.}.}...........pub
12f960 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a lic.function.getOption($name).{.
12f980 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a if.(!$this->hasOption($name)).{.
12f9a0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
12f9c0 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f on(sprintf('The."--%s".option.do
12f9e0 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 es.not.exist.',.$name));.}..retu
12fa00 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a rn.$this->options[$name];.}.....
12fa20 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e .......public.function.hasOption
12fa40 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 ($name).{.return.isset($this->op
12fa60 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 tions[$name]);.}.......public.fu
12fa80 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getOptions().{.return.$th
12faa0 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 is->options;.}.........public.fu
12fac0 6e 63 74 69 6f 6e 20 68 61 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 nction.hasShortcut($name).{.retu
12fae0 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 6e 61 6d 65 5d rn.isset($this->shortcuts[$name]
12fb00 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 );.}.........public.function.get
12fb20 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 0a 7b 0a 72 OptionForShortcut($shortcut).{.r
12fb40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 73 68 eturn.$this->getOption($this->sh
12fb60 6f 72 74 63 75 74 54 6f 4e 61 6d 65 28 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a ortcutToName($shortcut));.}.....
12fb80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 44 65 66 61 75 ..public.function.getOptionDefau
12fba0 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 lts().{.$values.=.array();.forea
12fbc0 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b ch.($this->options.as.$option).{
12fbe0 0a 24 76 61 6c 75 65 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 .$values[$option->getName()].=.$
12fc00 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 option->getDefault();.}..return.
12fc20 24 76 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e $values;.}...........private.fun
12fc40 63 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d 65 28 24 73 68 6f 72 74 63 75 74 29 0a ction.shortcutToName($shortcut).
12fc60 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 {.if.(!isset($this->shortcuts[$s
12fc80 68 6f 72 74 63 75 74 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 hortcut])).{.throw.new.InvalidAr
12fca0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 gumentException(sprintf('The."-%
12fcc0 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f s".option.does.not.exist.',.$sho
12fce0 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 rtcut));.}..return.$this->shortc
12fd00 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 uts[$shortcut];.}.........public
12fd20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 20 3d 20 66 .function.getSynopsis($short.=.f
12fd40 61 6c 73 65 29 0a 7b 0a 24 65 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 alse).{.$elements.=.array();..if
12fd60 20 28 24 73 68 6f 72 74 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 .($short.&&.$this->getOptions())
12fd80 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 6f 70 74 69 6f 6e 73 5d 27 3b 0a 7d 20 .{.$elements[].=.'[options]';.}.
12fda0 65 6c 73 65 69 66 20 28 21 24 73 68 6f 72 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 elseif.(!$short).{.foreach.($thi
12fdc0 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 76 s->getOptions().as.$option).{.$v
12fde0 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 alue.=.'';.if.($option->acceptVa
12fe00 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 20 25 73 25 lue()).{.$value.=.sprintf(.'.%s%
12fe20 73 25 73 27 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 s%s',.$option->isValueOptional()
12fe40 20 3f 20 27 5b 27 20 3a 20 27 27 2c 0a 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 74 69 6f 6e 2d .?.'['.:.'',.strtoupper($option-
12fe60 3e 67 65 74 4e 61 6d 65 28 29 29 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 >getName()),.$option->isValueOpt
12fe80 69 6f 6e 61 6c 28 29 20 3f 20 27 5d 27 20 3a 20 27 27 0a 29 3b 0a 7d 0a 0a 24 73 68 6f 72 74 63 ional().?.']'.:.''.);.}..$shortc
12fea0 75 74 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 73 70 ut.=.$option->getShortcut().?.sp
12fec0 72 69 6e 74 66 28 27 2d 25 73 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 rintf('-%s|',.$option->getShortc
12fee0 75 74 28 29 29 20 3a 20 27 27 3b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 73 70 72 69 6e 74 ut()).:.'';.$elements[].=.sprint
12ff00 66 28 27 5b 25 73 2d 2d 25 73 25 73 5d 27 2c 20 24 73 68 6f 72 74 63 75 74 2c 20 24 6f 70 74 69 f('[%s--%s%s]',.$shortcut,.$opti
12ff20 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 on->getName(),.$value);.}.}..if.
12ff40 28 5c 63 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 73 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 (\count($elements).&&.$this->get
12ff60 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 2d Arguments()).{.$elements[].=.'[-
12ff80 2d 5d 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d -]';.}..foreach.($this->getArgum
12ffa0 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 ents().as.$argument).{.$element.
12ffc0 3d 20 27 3c 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3e 27 3b 0a =.'<'.$argument->getName().'>';.
12ffe0 69 66 20 28 21 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a if.(!$argument->isRequired()).{.
130000 24 65 6c 65 6d 65 6e 74 20 3d 20 27 5b 27 2e 24 65 6c 65 6d 65 6e 74 2e 27 5d 27 3b 0a 7d 20 65 $element.=.'['.$element.']';.}.e
130020 6c 73 65 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 lseif.($argument->isArray()).{.$
130040 65 6c 65 6d 65 6e 74 20 2e 3d 20 27 20 28 27 2e 24 65 6c 65 6d 65 6e 74 2e 27 29 27 3b 0a 7d 0a element..=.'.('.$element.')';.}.
130060 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 65 6c .if.($argument->isArray()).{.$el
130080 65 6d 65 6e 74 20 2e 3d 20 27 2e 2e 2e 27 3b 0a 7d 0a 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d ement..=.'...';.}..$elements[].=
1300a0 20 24 65 6c 65 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 .$element;.}..return.implode('.'
1300c0 2c 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ,.$elements);.}.........public.f
1300e0 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f unction.asText().{.@trigger_erro
130100 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 r('The.'.__METHOD__.'.method.is.
130120 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 deprecated.since.Symfony.2.3.and
130140 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 .will.be.removed.in.3.0.',.E_USE
130160 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 R_DEPRECATED);..$descriptor.=.ne
130180 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 w.TextDescriptor();.$output.=.ne
1301a0 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3a w.BufferedOutput(BufferedOutput:
1301c0 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 74 72 75 65 29 3b 0a 24 64 65 73 63 72 :VERBOSITY_NORMAL,.true);.$descr
1301e0 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 iptor->describe($output,.$this,.
130200 61 72 72 61 79 28 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 0a 72 array('raw_output'.=>.true));..r
130220 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a eturn.$output->fetch();.}.......
130240 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 61 73 44 6f 6d ....public.function.asXml($asDom
130260 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 .=.false).{.@trigger_error('The.
130280 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 '.__METHOD__.'.method.is.depreca
1302a0 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 ted.since.Symfony.2.3.and.will.b
1302c0 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 e.removed.in.3.0.',.E_USER_DEPRE
1302e0 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 CATED);..$descriptor.=.new.XmlDe
130300 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 74 75 72 scriptor();..if.($asDom).{.retur
130320 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f n.$descriptor->getInputDefinitio
130340 6e 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e nDocument($this);.}..$output.=.n
130360 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 ew.BufferedOutput();.$descriptor
130380 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 29 3b 0a 0a 72 65 74 ->describe($output,.$this);..ret
1303a0 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a urn.$output->fetch();.}.}.<?php.
1303c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
1303e0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e onent\Console\Input;..use.Symfon
130400 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e y\Component\Console\Exception\In
130420 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 validArgumentException;.use.Symf
130440 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c ony\Component\Console\Exception\
130460 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 RuntimeException;.......interfac
130480 65 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e.InputInterface.{......public.f
1304a0 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 0a 0a 0a 0a unction.getFirstArgument();.....
1304c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 72 61 .........public.function.hasPara
1304e0 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a meterOption($values);...........
130500 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 ....public.function.getParameter
130520 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 Option($values,.$default.=.false
130540 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 64 28 49 6e );.......public.function.bind(In
130560 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a putDefinition.$definition);.....
130580 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 0a ..public.function.validate();...
1305a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 ....public.function.getArguments
1305c0 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ();...........public.function.ge
1305e0 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tArgument($name);..........publi
130600 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 c.function.setArgument($name,.$v
130620 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 alue);.........public.function.h
130640 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 asArgument($name);.......public.
130660 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a function.getOptions();..........
130680 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 .public.function.getOption($name
1306a0 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f );..........public.function.setO
1306c0 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ption($name,.$value);.........pu
1306e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a blic.function.hasOption($name);.
130700 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 ......public.function.isInteract
130720 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ive();.......public.function.set
130740 49 6e 74 65 72 61 63 74 69 76 65 28 24 69 6e 74 65 72 61 63 74 69 76 65 29 3b 0a 7d 0a 3c 3f 70 Interactive($interactive);.}.<?p
130760 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
130780 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d omponent\Console\Input;..use.Sym
1307a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
1307c0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 \InvalidArgumentException;.use.S
1307e0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 ymfony\Component\Console\Excepti
130800 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 on\LogicException;.......class.I
130820 6e 70 75 74 4f 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 4e 4f 4e 45 20 3d 20 nputOption.{.const.VALUE_NONE.=.
130840 31 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 20 32 3b 0a 63 6f 6e 1;.const.VALUE_REQUIRED.=.2;.con
130860 73 74 20 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 56 41 4c st.VALUE_OPTIONAL.=.4;.const.VAL
130880 55 45 5f 49 53 5f 41 52 52 41 59 20 3d 20 38 3b 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b UE_IS_ARRAY.=.8;..private.$name;
1308a0 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 .private.$shortcut;.private.$mod
1308c0 65 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 e;.private.$default;.private.$de
1308e0 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 scription;...........public.func
130900 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 73 68 6f 72 74 63 75 tion.__construct($name,.$shortcu
130920 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 t.=.null,.$mode.=.null,.$descrip
130940 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 tion.=.'',.$default.=.null).{.if
130960 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 .(0.===.strpos($name,.'--')).{.$
130980 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 69 66 20 28 name.=.substr($name,.2);.}..if.(
1309a0 65 6d 70 74 79 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 empty($name)).{.throw.new.Invali
1309c0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 dArgumentException('An.option.na
1309e0 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d me.cannot.be.empty.');.}..if.(em
130a00 70 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 pty($shortcut)).{.$shortcut.=.nu
130a20 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 68 6f 72 74 63 75 74 29 20 7b ll;.}..if.(null.!==.$shortcut).{
130a40 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 24 73 68 .if.(\is_array($shortcut)).{.$sh
130a60 6f 72 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 29 ortcut.=.implode('|',.$shortcut)
130a80 3b 0a 7d 0a 24 73 68 6f 72 74 63 75 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 5c ;.}.$shortcuts.=.preg_split('{(\
130aa0 7c 29 2d 3f 7d 27 2c 20 6c 74 72 69 6d 28 24 73 68 6f 72 74 63 75 74 2c 20 27 2d 27 29 29 3b 0a |)-?}',.ltrim($shortcut,.'-'));.
130ac0 24 73 68 6f 72 74 63 75 74 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 73 68 6f 72 74 $shortcuts.=.array_filter($short
130ae0 63 75 74 73 29 3b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 cuts);.$shortcut.=.implode('|',.
130b00 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f 72 74 63 75 $shortcuts);..if.(empty($shortcu
130b20 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 t)).{.throw.new.InvalidArgumentE
130b40 78 63 65 70 74 69 6f 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 20 63 61 6e xception('An.option.shortcut.can
130b60 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d not.be.empty.');.}.}..if.(null.=
130b80 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f ==.$mode).{.$mode.=.self::VALUE_
130ba0 4e 4f 4e 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 69 6e 74 28 24 6d 6f 64 65 29 20 NONE;.}.elseif.(!\is_int($mode).
130bc0 7c 7c 20 24 6d 6f 64 65 20 3e 20 31 35 20 7c 7c 20 24 6d 6f 64 65 20 3c 20 31 29 20 7b 0a 74 68 ||.$mode.>.15.||.$mode.<.1).{.th
130be0 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e row.new.InvalidArgumentException
130c00 28 73 70 72 69 6e 74 66 28 27 4f 70 74 69 6f 6e 20 6d 6f 64 65 20 22 25 73 22 20 69 73 20 6e 6f (sprintf('Option.mode."%s".is.no
130c20 74 20 76 61 6c 69 64 2e 27 2c 20 24 6d 6f 64 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 t.valid.',.$mode));.}..$this->na
130c40 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 20 3d 20 24 73 me.=.$name;.$this->shortcut.=.$s
130c60 68 6f 72 74 63 75 74 3b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 24 74 hortcut;.$this->mode.=.$mode;.$t
130c80 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b his->description.=.$description;
130ca0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 20 26 26 20 21 24 74 68 69 73 ..if.($this->isArray().&&.!$this
130cc0 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 ->acceptValue()).{.throw.new.Inv
130ce0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6d 70 6f 73 73 69 62 6c alidArgumentException('Impossibl
130d00 65 20 74 6f 20 68 61 76 65 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 6f 64 65 20 56 41 4c 55 45 5f 49 e.to.have.an.option.mode.VALUE_I
130d20 53 5f 41 52 52 41 59 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 S_ARRAY.if.the.option.does.not.a
130d40 63 63 65 70 74 20 61 20 76 61 6c 75 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 44 ccept.a.value.');.}..$this->setD
130d60 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 efault($default);.}.......public
130d80 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e .function.getShortcut().{.return
130da0 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$this->shortcut;.}.......public
130dc0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.getName().{.return.$th
130de0 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f is->name;.}.......public.functio
130e00 6e 20 61 63 63 65 70 74 56 61 6c 75 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e n.acceptValue().{.return.$this->
130e20 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 56 61 isValueRequired().||.$this->isVa
130e40 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 lueOptional();.}.......public.fu
130e60 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 7b 0a 72 65 74 75 72 nction.isValueRequired().{.retur
130e80 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 n.self::VALUE_REQUIRED.===.(self
130ea0 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b ::VALUE_REQUIRED.&.$this->mode);
130ec0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 .}.......public.function.isValue
130ee0 4f 70 74 69 6f 6e 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f Optional().{.return.self::VALUE_
130f00 4f 50 54 49 4f 4e 41 4c 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e OPTIONAL.===.(self::VALUE_OPTION
130f20 41 4c 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 AL.&.$this->mode);.}.......publi
130f40 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 c.function.isArray().{.return.se
130f60 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 lf::VALUE_IS_ARRAY.===.(self::VA
130f80 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a LUE_IS_ARRAY.&.$this->mode);.}..
130fa0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c .......public.function.setDefaul
130fc0 74 28 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 56 t($default.=.null).{.if.(self::V
130fe0 41 4c 55 45 5f 4e 4f 4e 45 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 ALUE_NONE.===.(self::VALUE_NONE.
131000 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 &.$this->mode).&&.null.!==.$defa
131020 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 ult).{.throw.new.LogicException(
131040 27 43 61 6e 6e 6f 74 20 73 65 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 77 68 65 6e 'Cannot.set.a.default.value.when
131060 20 75 73 69 6e 67 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 6d .using.InputOption::VALUE_NONE.m
131080 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 29 ode.');.}..if.($this->isArray())
1310a0 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 .{.if.(null.===.$default).{.$def
1310c0 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 61 ault.=.array();.}.elseif.(!\is_a
1310e0 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 rray($default)).{.throw.new.Logi
131100 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 cException('A.default.value.for.
131120 61 6e 20 61 72 72 61 79 20 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 an.array.option.must.be.an.array
131140 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 .');.}.}..$this->default.=.$this
131160 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 24 64 65 66 61 75 6c 74 20 3a 20 66 61 6c ->acceptValue().?.$default.:.fal
131180 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 se;.}.......public.function.getD
1311a0 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 efault().{.return.$this->default
1311c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 ;.}.......public.function.getDes
1311e0 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 cription().{.return.$this->descr
131200 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 iption;.}.......public.function.
131220 65 71 75 61 6c 73 28 73 65 6c 66 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 24 6f equals(self.$option).{.return.$o
131240 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e ption->getName().===.$this->getN
131260 61 6d 65 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 ame().&&.$option->getShortcut().
131280 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 26 26 20 24 6f 70 74 ===.$this->getShortcut().&&.$opt
1312a0 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 ion->getDefault().===.$this->get
1312c0 44 65 66 61 75 6c 74 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 Default().&&.$option->isArray().
1312e0 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d ===.$this->isArray().&&.$option-
131300 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 >isValueRequired().===.$this->is
131320 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 ValueRequired().&&.$option->isVa
131340 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 lueOptional().===.$this->isValue
131360 4f 70 74 69 6f 6e 61 6c 28 29 0a 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Optional().;.}.}.<?php..........
131380 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
1313a0 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 sole\Input;..use.Symfony\Compone
1313c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 nt\Console\Exception\InvalidArgu
1313e0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 mentException;...........class.S
131400 74 72 69 6e 67 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 41 72 67 76 49 6e 70 75 74 0a 7b 0a 63 tringInput.extends.ArgvInput.{.c
131420 6f 6e 73 74 20 52 45 47 45 58 5f 53 54 52 49 4e 47 20 3d 20 27 28 5b 5e 5c 73 5d 2b 3f 29 28 3f onst.REGEX_STRING.=.'([^\s]+?)(?
131440 3a 5c 73 7c 28 3f 3c 21 5c 5c 5c 5c 29 22 7c 28 3f 3c 21 5c 5c 5c 5c 29 5c 27 7c 24 29 27 3b 0a :\s|(?<!\\\\)"|(?<!\\\\)\'|$)';.
131460 63 6f 6e 73 74 20 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 20 3d 20 27 28 3f 3a const.REGEX_QUOTED_STRING.=.'(?:
131480 22 28 5b 5e 22 5c 5c 5c 5c 5d 2a 28 3f 3a 5c 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 29 2a 29 22 "([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"
1314a0 7c 5c 27 28 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 28 3f 3a 5c 5c 5c 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a |\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*
1314c0 29 2a 29 5c 27 29 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 )*)\')';........public.function.
1314e0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 __construct($input,.InputDefinit
131500 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 64 ion.$definition.=.null).{.if.($d
131520 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 efinition).{.@trigger_error('The
131540 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 27 2e 5f .$definition.argument.of.the.'._
131560 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 _METHOD__.'.method.is.deprecated
131580 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 53 65 74 .and.will.be.removed.in.3.0..Set
1315a0 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 74 68 65 20 62 69 6e 64 28 29 20 .this.parameter.with.the.bind().
1315c0 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 method.instead.',.E_USER_DEPRECA
1315e0 54 45 44 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 TED);.}..parent::__construct(arr
131600 61 79 28 29 2c 20 6e 75 6c 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 6f 6b 65 6e 73 28 24 ay(),.null);..$this->setTokens($
131620 74 68 69 73 2d 3e 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 29 3b 0a 0a 69 66 20 28 6e 75 this->tokenize($input));..if.(nu
131640 6c 6c 20 21 3d 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e ll.!==.$definition).{.$this->bin
131660 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 d($definition);.}.}...........pr
131680 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 0a ivate.function.tokenize($input).
1316a0 7b 0a 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 67 74 68 20 3d 20 5c {.$tokens.=.array();.$length.=.\
1316c0 73 74 72 6c 65 6e 28 24 69 6e 70 75 74 29 3b 0a 24 63 75 72 73 6f 72 20 3d 20 30 3b 0a 77 68 69 strlen($input);.$cursor.=.0;.whi
1316e0 6c 65 20 28 24 63 75 72 73 6f 72 20 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 69 66 20 28 70 72 65 le.($cursor.<.$length).{.if.(pre
131700 67 5f 6d 61 74 63 68 28 27 2f 5c 73 2b 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 g_match('/\s+/A',.$input,.$match
131720 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 ,.null,.$cursor)).{.}.elseif.(pr
131740 65 67 5f 6d 61 74 63 68 28 27 2f 28 5b 5e 3d 22 5c 27 5c 73 5d 2b 3f 29 28 3d 3f 29 28 27 2e 73 eg_match('/([^="\'\s]+?)(=?)('.s
131760 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2b 29 2f 41 27 2c elf::REGEX_QUOTED_STRING.'+)/A',
131780 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 .$input,.$match,.null,.$cursor))
1317a0 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 2e 24 6d 61 74 63 68 5b .{.$tokens[].=.$match[1].$match[
1317c0 32 5d 2e 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 2].stripcslashes(str_replace(arr
1317e0 61 79 28 27 22 5c 27 27 2c 20 27 5c 27 22 27 2c 20 27 5c 27 5c 27 27 2c 20 27 22 22 27 29 2c 20 ay('"\'',.'\'"',.'\'\'',.'""'),.
131800 27 27 2c 20 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 33 5d 2c 20 31 2c 20 5c 73 74 72 6c 65 6e '',.substr($match[3],.1,.\strlen
131820 28 24 6d 61 74 63 68 5b 33 5d 29 20 2d 20 32 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 ($match[3]).-.2)));.}.elseif.(pr
131840 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f eg_match('/'.self::REGEX_QUOTED_
131860 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c STRING.'/A',.$input,.$match,.nul
131880 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 l,.$cursor)).{.$tokens[].=.strip
1318a0 63 73 6c 61 73 68 65 73 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 31 2c 20 5c 73 cslashes(substr($match[0],.1,.\s
1318c0 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 20 2d 20 32 29 29 3b 0a 7d 20 65 6c 73 65 69 66 trlen($match[0]).-.2));.}.elseif
1318e0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 53 54 52 .(preg_match('/'.self::REGEX_STR
131900 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 ING.'/A',.$input,.$match,.null,.
131920 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c $cursor)).{.$tokens[].=.stripcsl
131940 61 73 68 65 73 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 74 68 72 ashes($match[1]);.}.else.{...thr
131960 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 ow.new.InvalidArgumentException(
131980 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 70 61 72 73 65 20 69 6e 70 75 74 20 6e sprintf('Unable.to.parse.input.n
1319a0 65 61 72 20 22 2e 2e 2e 20 25 73 20 2e 2e 2e 22 27 2c 20 73 75 62 73 74 72 28 24 69 6e 70 75 74 ear."....%s...."',.substr($input
1319c0 2c 20 24 63 75 72 73 6f 72 2c 20 31 30 29 29 29 3b 0a 7d 0a 0a 24 63 75 72 73 6f 72 20 2b 3d 20 ,.$cursor,.10)));.}..$cursor.+=.
1319e0 5c 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 \strlen($match[0]);.}..return.$t
131a00 6f 6b 65 6e 73 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 okens;.}.}.Copyright.(c).2004-20
131a20 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 18.Fabien.Potencier..Permission.
131a40 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 is.hereby.granted,.free.of.charg
131a60 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 e,.to.any.person.obtaining.a.cop
131a80 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 y.of.this.software.and.associate
131aa0 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 d.documentation.files.(the."Soft
131ac0 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 ware"),.to.deal.in.the.Software.
131ae0 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 without.restriction,.including.w
131b00 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 ithout.limitation.the.rights.to.
131b20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 use,.copy,.modify,.merge,.publis
131b40 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f h,.distribute,.sublicense,.and/o
131b60 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 r.sell.copies.of.the.Software,.a
131b80 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 nd.to.permit.persons.to.whom.the
131ba0 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c .Software.is.furnished.to.do.so,
131bc0 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 .subject.to.the.following.condit
131be0 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 ions:..The.above.copyright.notic
131c00 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 e.and.this.permission.notice.sha
131c20 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 ll.be.included.in.all.copies.or.
131c40 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 substantial.portions.of.the.Soft
131c60 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 ware...THE.SOFTWARE.IS.PROVIDED.
131c80 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 "AS.IS",.WITHOUT.WARRANTY.OF.ANY
131ca0 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 .KIND,.EXPRESS.OR.IMPLIED,.INCLU
131cc0 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 DING.BUT.NOT.LIMITED.TO.THE.WARR
131ce0 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 ANTIES.OF.MERCHANTABILITY,.FITNE
131d00 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 SS.FOR.A.PARTICULAR.PURPOSE.AND.
131d20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 NONINFRINGEMENT..IN.NO.EVENT.SHA
131d40 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 LL.THE.AUTHORS.OR.COPYRIGHT.HOLD
131d60 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d ERS.BE.LIABLE.FOR.ANY.CLAIM,.DAM
131d80 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 AGES.OR.OTHER.LIABILITY,.WHETHER
131da0 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 .IN.AN.ACTION.OF.CONTRACT,.TORT.
131dc0 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 OR.OTHERWISE,.ARISING.FROM,.OUT.
131de0 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 OF.OR.IN.CONNECTION.WITH.THE.SOF
131e00 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e TWARE.OR.THE.USE.OR.OTHER.DEALIN
131e20 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a GS.IN.THE.SOFTWARE..<?php.......
131e40 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
131e60 43 6f 6e 73 6f 6c 65 5c 4c 6f 67 67 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 73 Console\Logger;..use.Psr\Log\Abs
131e80 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 49 6e 76 61 6c 69 64 tractLogger;.use.Psr\Log\Invalid
131ea0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c ArgumentException;.use.Psr\Log\L
131ec0 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ogLevel;.use.Symfony\Component\C
131ee0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 onsole\Output\ConsoleOutputInter
131f00 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
131f20 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a ole\Output\OutputInterface;.....
131f40 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 ....class.ConsoleLogger.extends.
131f60 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 69 AbstractLogger.{.const.INFO.=.'i
131f80 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 65 72 72 6f 72 27 3b 0a 0a 70 72 nfo';.const.ERROR.=.'error';..pr
131fa0 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 ivate.$output;.private.$verbosit
131fc0 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 yLevelMap.=.array(.LogLevel::EME
131fe0 52 47 45 4e 43 59 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f RGENCY.=>.OutputInterface::VERBO
132000 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 SITY_NORMAL,.LogLevel::ALERT.=>.
132020 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 OutputInterface::VERBOSITY_NORMA
132040 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 4f 75 74 70 75 74 49 L,.LogLevel::CRITICAL.=>.OutputI
132060 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c nterface::VERBOSITY_NORMAL,.LogL
132080 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a evel::ERROR.=>.OutputInterface::
1320a0 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e VERBOSITY_NORMAL,.LogLevel::WARN
1320c0 49 4e 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 ING.=>.OutputInterface::VERBOSIT
1320e0 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 4f 75 Y_NORMAL,.LogLevel::NOTICE.=>.Ou
132100 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 tputInterface::VERBOSITY_VERBOSE
132120 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 ,.LogLevel::INFO.=>.OutputInterf
132140 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 2c 0a 4c 6f 67 ace::VERBOSITY_VERY_VERBOSE,.Log
132160 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a Level::DEBUG.=>.OutputInterface:
132180 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 24 66 6f :VERBOSITY_DEBUG,.);.private.$fo
1321a0 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a rmatLevelMap.=.array(.LogLevel::
1321c0 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 EMERGENCY.=>.self::ERROR,.LogLev
1321e0 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 el::ALERT.=>.self::ERROR,.LogLev
132200 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 el::CRITICAL.=>.self::ERROR,.Log
132220 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 Level::ERROR.=>.self::ERROR,.Log
132240 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f Level::WARNING.=>.self::INFO,.Lo
132260 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f gLevel::NOTICE.=>.self::INFO,.Lo
132280 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c gLevel::INFO.=>.self::INFO,.LogL
1322a0 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 29 3b 0a 0a 70 evel::DEBUG.=>.self::INFO,.);..p
1322c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 ublic.function.__construct(Outpu
1322e0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 20 24 76 65 72 62 6f tInterface.$output,.array.$verbo
132300 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 sityLevelMap.=.array(),.array.$f
132320 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 ormatLevelMap.=.array()).{.$this
132340 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f ->output.=.$output;.$this->verbo
132360 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 sityLevelMap.=.$verbosityLevelMa
132380 70 20 2b 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 3b 0a 24 74 p.+.$this->verbosityLevelMap;.$t
1323a0 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 24 66 6f 72 6d 61 74 4c 65 76 his->formatLevelMap.=.$formatLev
1323c0 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 3b 0a 7d elMap.+.$this->formatLevelMap;.}
1323e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c .....public.function.log($level,
132400 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 .$message,.array.$context.=.arra
132420 79 28 29 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 y()).{.if.(!isset($this->verbosi
132440 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 tyLevelMap[$level])).{.throw.new
132460 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
132480 66 28 27 54 68 65 20 6c 6f 67 20 6c 65 76 65 6c 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 f('The.log.level."%s".does.not.e
1324a0 78 69 73 74 2e 27 2c 20 24 6c 65 76 65 6c 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 65 6c 66 3a xist.',.$level));.}....if.(self:
1324c0 3a 45 52 52 4f 52 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 :ERROR.===.$this->formatLevelMap
1324e0 5b 24 6c 65 76 65 6c 5d 20 26 26 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e [$level].&&.$this->output.instan
132500 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 ceof.ConsoleOutputInterface).{.$
132520 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 output.=.$this->output->getError
132540 4f 75 74 70 75 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 Output();.}.else.{.$output.=.$th
132560 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 is->output;.}..if.($output->getV
132580 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 erbosity().>=.$this->verbosityLe
1325a0 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 velMap[$level]).{.$output->write
1325c0 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 25 31 24 73 3e 5b 25 32 24 73 5d 20 25 33 24 73 3c 2f 25 ln(sprintf('<%1$s>[%2$s].%3$s</%
1325e0 31 24 73 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 1$s>',.$this->formatLevelMap[$le
132600 76 65 6c 5d 2c 20 24 6c 65 76 65 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 74 65 72 70 6f 6c 61 74 65 vel],.$level,.$this->interpolate
132620 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ($message,.$context)));.}.}.....
132640 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 70 6f 6c .......private.function.interpol
132660 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 29 0a 7b 0a ate($message,.array.$context).{.
132680 0a 20 24 72 65 70 6c 61 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ..$replace.=.array();.foreach.($
1326a0 63 6f 6e 74 65 78 74 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 21 context.as.$key.=>.$val).{.if.(!
1326c0 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 26 26 20 28 21 5c 69 73 5f 6f 62 6a 65 63 74 28 \is_array($val).&&.(!\is_object(
1326e0 24 76 61 6c 29 20 7c 7c 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 76 61 6c 2c 20 27 5f 5f $val).||.method_exists($val,.'__
132700 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 5b 73 70 72 69 6e 74 66 28 toString'))).{.$replace[sprintf(
132720 27 7b 25 73 7d 27 2c 20 24 6b 65 79 29 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 0a 0a 0a 20 72 65 '{%s}',.$key)].=.$val;.}.}....re
132740 74 75 72 6e 20 73 74 72 74 72 28 24 6d 65 73 73 61 67 65 2c 20 24 72 65 70 6c 61 63 65 29 3b 0a turn.strtr($message,.$replace);.
132760 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
132780 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a mfony\Component\Console\Output;.
1327a0 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 ....class.BufferedOutput.extends
1327c0 20 4f 75 74 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a .Output.{.private.$buffer.=.'';.
1327e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 28 29 0a 7b 0a ......public.function.fetch().{.
132800 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 3b 0a 24 74 68 69 73 2d $content.=.$this->buffer;.$this-
132820 3e 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a >buffer.=.'';..return.$content;.
132840 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 }.....protected.function.doWrite
132860 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 75 ($message,.$newline).{.$this->bu
132880 66 66 65 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 69 66 20 28 24 6e 65 77 6c 69 6e 65 29 ffer..=.$message;..if.($newline)
1328a0 20 7b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 2e 3d 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d .{.$this->buffer..=.PHP_EOL;.}.}
1328c0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
1328e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a fony\Component\Console\Output;..
132900 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f use.Symfony\Component\Console\Fo
132920 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 rmatter\OutputFormatterInterface
132940 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 ;...............class.ConsoleOut
132960 70 75 74 20 65 78 74 65 6e 64 73 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 put.extends.StreamOutput.impleme
132980 6e 74 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 nts.ConsoleOutputInterface.{.pri
1329a0 76 61 74 65 20 24 73 74 64 65 72 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 vate.$stderr;.......public.funct
1329c0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c ion.__construct($verbosity.=.sel
1329e0 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 f::VERBOSITY_NORMAL,.$decorated.
132a00 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 =.null,.OutputFormatterInterface
132a20 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f .$formatter.=.null).{.parent::__
132a40 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 6f 70 65 6e 4f 75 74 70 75 74 53 74 72 65 61 construct($this->openOutputStrea
132a60 6d 28 29 2c 20 24 76 65 72 62 6f 73 69 74 79 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f m(),.$verbosity,.$decorated,.$fo
132a80 72 6d 61 74 74 65 72 29 3b 0a 0a 24 61 63 74 75 61 6c 44 65 63 6f 72 61 74 65 64 20 3d 20 24 74 rmatter);..$actualDecorated.=.$t
132aa0 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 his->isDecorated();.$this->stder
132ac0 72 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 24 74 68 69 73 2d 3e 6f 70 65 6e r.=.new.StreamOutput($this->open
132ae0 45 72 72 6f 72 53 74 72 65 61 6d 28 29 2c 20 24 76 65 72 62 6f 73 69 74 79 2c 20 24 64 65 63 6f ErrorStream(),.$verbosity,.$deco
132b00 72 61 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 29 3b 0a 0a rated,.$this->getFormatter());..
132b20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f 72 61 74 65 64 29 20 7b 0a 24 74 68 69 73 if.(null.===.$decorated).{.$this
132b40 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 61 63 74 75 61 6c 44 65 63 6f 72 61 74 65 64 20 ->setDecorated($actualDecorated.
132b60 26 26 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 &&.$this->stderr->isDecorated())
132b80 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 ;.}.}.....public.function.setDec
132ba0 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 orated($decorated).{.parent::set
132bc0 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 Decorated($decorated);.$this->st
132be0 64 65 72 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a derr->setDecorated($decorated);.
132c00 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 }.....public.function.setFormatt
132c20 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 er(OutputFormatterInterface.$for
132c40 6d 61 74 74 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 matter).{.parent::setFormatter($
132c60 66 6f 72 6d 61 74 74 65 72 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 46 6f formatter);.$this->stderr->setFo
132c80 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 rmatter($formatter);.}.....publi
132ca0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a c.function.setVerbosity($level).
132cc0 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a {.parent::setVerbosity($level);.
132ce0 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 $this->stderr->setVerbosity($lev
132d00 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 el);.}.....public.function.getEr
132d20 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 64 65 rorOutput().{.return.$this->stde
132d40 72 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 rr;.}.....public.function.setErr
132d60 6f 72 4f 75 74 70 75 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 orOutput(OutputInterface.$error)
132d80 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 24 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 0a .{.$this->stderr.=.$error;.}....
132da0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 64 6f 75 74 ....protected.function.hasStdout
132dc0 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 Support().{.return.false.===.$th
132de0 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 is->isRunningOS400();.}........p
132e00 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 64 65 72 72 53 75 70 70 6f rotected.function.hasStderrSuppo
132e20 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 rt().{.return.false.===.$this->i
132e40 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 sRunningOS400();.}........privat
132e60 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 0a 7b 0a 24 63 e.function.isRunningOS400().{.$c
132e80 68 65 63 6b 73 20 3d 20 61 72 72 61 79 28 0a 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 hecks.=.array(.\function_exists(
132ea0 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 20 3a 20 'php_uname').?.php_uname('s').:.
132ec0 27 27 2c 0a 67 65 74 65 6e 76 28 27 4f 53 54 59 50 45 27 29 2c 0a 50 48 50 5f 4f 53 2c 0a 29 3b '',.getenv('OSTYPE'),.PHP_OS,.);
132ee0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 69 6d 70 6c 6f ..return.false.!==.stripos(implo
132f00 64 65 28 27 3b 27 2c 20 24 63 68 65 63 6b 73 29 2c 20 27 4f 53 34 30 30 27 29 3b 0a 7d 0a 0a 0a de(';',.$checks),.'OS400');.}...
132f20 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 4f 75 74 70 75 74 53 74 72 ..private.function.openOutputStr
132f40 65 61 6d 28 29 0a 7b 0a 24 6f 75 74 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 68 eam().{.$outputStream.=.$this->h
132f60 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 20 3f 20 27 70 68 70 3a 2f 2f 73 74 64 6f 75 asStdoutSupport().?.'php://stdou
132f80 74 27 20 3a 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 3b 0a 0a 72 65 74 75 72 6e 20 40 66 6f t'.:.'php://output';..return.@fo
132fa0 70 65 6e 28 24 6f 75 74 70 75 74 53 74 72 65 61 6d 2c 20 27 77 27 29 20 3f 3a 20 66 6f 70 65 6e pen($outputStream,.'w').?:.fopen
132fc0 28 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 2c 20 27 77 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 ('php://output',.'w');.}.....pri
132fe0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 45 72 72 6f 72 53 74 72 65 61 6d 28 29 0a vate.function.openErrorStream().
133000 7b 0a 24 65 72 72 6f 72 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 53 74 64 65 72 {.$errorStream.=.$this->hasStder
133020 72 53 75 70 70 6f 72 74 28 29 20 3f 20 27 70 68 70 3a 2f 2f 73 74 64 65 72 72 27 20 3a 20 27 70 rSupport().?.'php://stderr'.:.'p
133040 68 70 3a 2f 2f 6f 75 74 70 75 74 27 3b 0a 0a 72 65 74 75 72 6e 20 66 6f 70 65 6e 28 24 65 72 72 hp://output';..return.fopen($err
133060 6f 72 53 74 72 65 61 6d 2c 20 27 77 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a orStream,.'w');.}.}.<?php.......
133080 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
1330a0 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 Console\Output;........interface
1330c0 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 .ConsoleOutputInterface.extends.
1330e0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 OutputInterface.{......public.fu
133100 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 70 75 62 6c 69 63 nction.getErrorOutput();..public
133120 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 4f 75 74 70 75 74 49 .function.setErrorOutput(OutputI
133140 6e 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a nterface.$error);.}.<?php.......
133160 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
133180 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d Console\Output;..use.Symfony\Com
1331a0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 ponent\Console\Formatter\OutputF
1331c0 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ormatter;.use.Symfony\Component\
1331e0 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 Console\Formatter\OutputFormatte
133200 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 4f rInterface;..........class.NullO
133220 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 utput.implements.OutputInterface
133240 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 .{....public.function.setFormatt
133260 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 er(OutputFormatterInterface.$for
133280 6d 61 74 74 65 72 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f matter).{...}.....public.functio
1332a0 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 n.getFormatter().{...return.new.
1332c0 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 OutputFormatter();.}.....public.
1332e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 function.setDecorated($decorated
133300 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 ).{...}.....public.function.isDe
133320 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a corated().{.return.false;.}.....
133340 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 public.function.setVerbosity($le
133360 76 65 6c 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 vel).{...}.....public.function.g
133380 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 etVerbosity().{.return.self::VER
1333a0 42 4f 53 49 54 59 5f 51 55 49 45 54 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 BOSITY_QUIET;.}.....public.funct
1333c0 69 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a ion.isQuiet().{.return.true;.}..
1333e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b ...public.function.isVerbose().{
133400 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .return.false;.}.....public.func
133420 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 tion.isVeryVerbose().{.return.fa
133440 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 lse;.}.....public.function.isDeb
133460 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ug().{.return.false;.}.....publi
133480 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f c.function.writeln($messages,.$o
1334a0 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a ptions.=.self::OUTPUT_NORMAL).{.
1334c0 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d ..}.....public.function.write($m
1334e0 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 essages,.$newline.=.false,.$opti
133500 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 0a 20 7d ons.=.self::OUTPUT_NORMAL).{...}
133520 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
133540 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a fony\Component\Console\Output;..
133560 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f use.Symfony\Component\Console\Fo
133580 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d rmatter\OutputFormatter;.use.Sym
1335a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 fony\Component\Console\Formatter
1335c0 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a \OutputFormatterInterface;......
1335e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4f 75 74 70 75 74 20 69 .........abstract.class.Output.i
133600 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 mplements.OutputInterface.{.priv
133620 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 74 ate.$verbosity;.private.$formatt
133640 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 er;.......public.function.__cons
133660 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 truct($verbosity.=.self::VERBOSI
133680 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 4f TY_NORMAL,.$decorated.=.false,.O
1336a0 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 utputFormatterInterface.$formatt
1336c0 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d 20 er.=.null).{.$this->verbosity.=.
1336e0 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 62 6f 73 69 74 79 20 3f 20 73 65 6c 66 3a 3a 56 45 52 42 null.===.$verbosity.?.self::VERB
133700 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3a 20 24 76 65 72 62 6f 73 69 74 79 3b 0a 24 74 68 69 73 OSITY_NORMAL.:.$verbosity;.$this
133720 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 20 3f 3a 20 6e 65 77 20 ->formatter.=.$formatter.?:.new.
133740 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 OutputFormatter();.$this->format
133760 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d ter->setDecorated($decorated);.}
133780 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 .....public.function.setFormatte
1337a0 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d r(OutputFormatterInterface.$form
1337c0 61 74 74 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 66 6f 72 atter).{.$this->formatter.=.$for
1337e0 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 matter;.}.....public.function.ge
133800 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 6f 72 tFormatter().{.return.$this->for
133820 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 matter;.}.....public.function.se
133840 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e tDecorated($decorated).{.$this->
133860 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 formatter->setDecorated($decorat
133880 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 ed);.}.....public.function.isDec
1338a0 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 orated().{.return.$this->formatt
1338c0 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 er->isDecorated();.}.....public.
1338e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a function.setVerbosity($level).{.
133900 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 3b $this->verbosity.=.(int).$level;
133920 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 .}.....public.function.getVerbos
133940 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b ity().{.return.$this->verbosity;
133960 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 51 75 69 65 74 28 29 .}.....public.function.isQuiet()
133980 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 .{.return.self::VERBOSITY_QUIET.
1339a0 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ===.$this->verbosity;.}.....publ
1339c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e ic.function.isVerbose().{.return
1339e0 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3c 3d 20 24 74 68 69 .self::VERBOSITY_VERBOSE.<=.$thi
133a00 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->verbosity;.}.....public.funct
133a20 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c ion.isVeryVerbose().{.return.sel
133a40 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3c 3d 20 24 74 68 f::VERBOSITY_VERY_VERBOSE.<=.$th
133a60 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->verbosity;.}.....public.func
133a80 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 tion.isDebug().{.return.self::VE
133aa0 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 RBOSITY_DEBUG.<=.$this->verbosit
133ac0 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e y;.}.....public.function.writeln
133ae0 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 ($messages,.$options.=.self::OUT
133b00 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 PUT_NORMAL).{.$this->write($mess
133b20 61 67 65 73 2c 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ages,.true,.$options);.}.....pub
133b40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e lic.function.write($messages,.$n
133b60 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a ewline.=.false,.$options.=.self:
133b80 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 28 61 :OUTPUT_NORMAL).{.$messages.=.(a
133ba0 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 3b 0a 0a 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a rray).$messages;..$types.=.self:
133bc0 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 52 41 :OUTPUT_NORMAL.|.self::OUTPUT_RA
133be0 57 20 7c 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 49 4e 3b 0a 24 74 79 70 65 20 3d 20 W.|.self::OUTPUT_PLAIN;.$type.=.
133c00 24 74 79 70 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 3f 3a 20 73 65 6c 66 3a 3a 4f 55 54 50 55 $types.&.$options.?:.self::OUTPU
133c20 54 5f 4e 4f 52 4d 41 4c 3b 0a 0a 24 76 65 72 62 6f 73 69 74 69 65 73 20 3d 20 73 65 6c 66 3a 3a T_NORMAL;..$verbosities.=.self::
133c40 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 VERBOSITY_QUIET.|.self::VERBOSIT
133c60 59 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f Y_NORMAL.|.self::VERBOSITY_VERBO
133c80 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 SE.|.self::VERBOSITY_VERY_VERBOS
133ca0 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3b 0a 24 76 65 72 62 E.|.self::VERBOSITY_DEBUG;.$verb
133cc0 6f 73 69 74 79 20 3d 20 24 76 65 72 62 6f 73 69 74 69 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 osity.=.$verbosities.&.$options.
133ce0 3f 3a 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 3b 0a 0a 69 66 20 28 ?:.self::VERBOSITY_NORMAL;..if.(
133d00 24 76 65 72 62 6f 73 69 74 79 20 3e 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 $verbosity.>.$this->getVerbosity
133d20 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 ()).{.return;.}..foreach.($messa
133d40 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 73 77 69 74 63 68 20 28 24 74 79 70 65 ges.as.$message).{.switch.($type
133d60 29 20 7b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 ).{.case.OutputInterface::OUTPUT
133d80 5f 4e 4f 52 4d 41 4c 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 _NORMAL:.$message.=.$this->forma
133da0 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 tter->format($message);.break;.c
133dc0 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 3a ase.OutputInterface::OUTPUT_RAW:
133de0 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 .break;.case.OutputInterface::OU
133e00 54 50 55 54 5f 50 4c 41 49 4e 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 69 70 5f 74 61 67 TPUT_PLAIN:.$message.=.strip_tag
133e20 73 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 6d 65 73 73 s($this->formatter->format($mess
133e40 61 67 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 age));.break;.}..$this->doWrite(
133e60 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a $message,.$newline);.}.}........
133e80 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 abstract.protected.function.doWr
133ea0 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 3b 0a 7d 0a 3c 3f 70 68 70 ite($message,.$newline);.}.<?php
133ec0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
133ee0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 ponent\Console\Output;..use.Symf
133f00 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c ony\Component\Console\Formatter\
133f20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a OutputFormatterInterface;.......
133f40 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 interface.OutputInterface.{.cons
133f60 74 20 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 20 31 36 3b 0a 63 6f 6e 73 74 20 56 45 t.VERBOSITY_QUIET.=.16;.const.VE
133f80 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3d 20 33 32 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f RBOSITY_NORMAL.=.32;.const.VERBO
133fa0 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3d 20 36 34 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 SITY_VERBOSE.=.64;.const.VERBOSI
133fc0 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 20 31 32 38 3b 0a 63 6f 6e 73 74 20 56 45 52 TY_VERY_VERBOSE.=.128;.const.VER
133fe0 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3d 20 32 35 36 3b 0a 0a 63 6f 6e 73 74 20 4f 55 54 50 55 BOSITY_DEBUG.=.256;..const.OUTPU
134000 54 5f 4e 4f 52 4d 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 52 41 57 20 3d T_NORMAL.=.1;.const.OUTPUT_RAW.=
134020 20 32 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 50 4c 41 49 4e 20 3d 20 34 3b 0a 0a 0a 0a 0a .2;.const.OUTPUT_PLAIN.=.4;.....
134040 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 ....public.function.write($messa
134060 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 20 ges,.$newline.=.false,.$options.
134080 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 =.0);........public.function.wri
1340a0 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a teln($messages,.$options.=.0);..
1340c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 .....public.function.setVerbosit
1340e0 79 28 24 6c 65 76 65 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e y($level);.......public.function
134100 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .getVerbosity();.......public.fu
134120 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b nction.setDecorated($decorated);
134140 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 .......public.function.isDecorat
134160 65 64 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 ed();..public.function.setFormat
134180 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f ter(OutputFormatterInterface.$fo
1341a0 72 6d 61 74 74 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rmatter);.......public.function.
1341c0 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a getFormatter();.}.<?php.........
1341e0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
134200 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nsole\Output;..use.Symfony\Compo
134220 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 nent\Console\Exception\InvalidAr
134240 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d gumentException;.use.Symfony\Com
134260 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 ponent\Console\Exception\Runtime
134280 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Exception;.use.Symfony\Component
1342a0 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 \Console\Formatter\OutputFormatt
1342c0 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 erInterface;...............class
1342e0 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 0a 7b 0a 70 .StreamOutput.extends.Output.{.p
134300 72 69 76 61 74 65 20 24 73 74 72 65 61 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rivate.$stream;..........public.
134320 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 74 72 65 61 6d 2c 20 24 76 function.__construct($stream,.$v
134340 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 erbosity.=.self::VERBOSITY_NORMA
134360 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 6d L,.$decorated.=.null,.OutputForm
134380 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c atterInterface.$formatter.=.null
1343a0 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 73 74 72 65 61 6d 29 20 7c ).{.if.(!\is_resource($stream).|
1343c0 7c 20 27 73 74 72 65 61 6d 27 20 21 3d 3d 20 67 65 74 5f 72 65 73 6f 75 72 63 65 5f 74 79 70 65 |.'stream'.!==.get_resource_type
1343e0 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 ($stream)).{.throw.new.InvalidAr
134400 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 53 74 72 65 61 6d 4f 75 74 70 75 gumentException('The.StreamOutpu
134420 74 20 63 6c 61 73 73 20 6e 65 65 64 73 20 61 20 73 74 72 65 61 6d 20 61 73 20 69 74 73 20 66 69 t.class.needs.a.stream.as.its.fi
134440 72 73 74 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 72 65 61 rst.argument.');.}..$this->strea
134460 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f m.=.$stream;..if.(null.===.$deco
134480 72 61 74 65 64 29 20 7b 0a 24 64 65 63 6f 72 61 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 rated).{.$decorated.=.$this->has
1344a0 43 6f 6c 6f 72 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e ColorSupport();.}..parent::__con
1344c0 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 struct($verbosity,.$decorated,.$
1344e0 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 formatter);.}.......public.funct
134500 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ion.getStream().{.return.$this->
134520 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e stream;.}.....protected.function
134540 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 0a 7b 0a 69 .doWrite($message,.$newline).{.i
134560 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 f.($newline).{.$message..=.PHP_E
134580 4f 4c 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 77 72 69 74 65 28 24 74 68 OL;.}..if.(false.===.@fwrite($th
1345a0 69 73 2d 3e 73 74 72 65 61 6d 2c 20 24 6d 65 73 73 61 67 65 29 29 20 7b 0a 0a 20 74 68 72 6f 77 is->stream,.$message)).{...throw
1345c0 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f .new.RuntimeException('Unable.to
1345e0 20 77 72 69 74 65 20 6f 75 74 70 75 74 2e 27 29 3b 0a 7d 0a 0a 66 66 6c 75 73 68 28 24 74 68 69 .write.output.');.}..fflush($thi
134600 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 s->stream);.}...............prot
134620 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6c 6f 72 53 75 70 70 6f 72 74 28 29 ected.function.hasColorSupport()
134640 0a 7b 0a 69 66 20 28 27 48 79 70 65 72 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 5f .{.if.('Hyper'.===.getenv('TERM_
134660 50 52 4f 47 52 41 4d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 PROGRAM')).{.return.true;.}..if.
134680 28 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3d 3d 3d 20 27 5c 5c 27 29 20 (\DIRECTORY_SEPARATOR.===.'\\').
1346a0 7b 0a 72 65 74 75 72 6e 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 61 70 69 {.return.(\function_exists('sapi
1346c0 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 27 29 0a 26 26 20 40 73 61 70 _windows_vt100_support').&&.@sap
1346e0 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 28 24 74 68 69 73 2d 3e 73 i_windows_vt100_support($this->s
134700 74 72 65 61 6d 29 29 0a 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e 53 tream)).||.false.!==.getenv('ANS
134720 49 43 4f 4e 27 29 0a 7c 7c 20 27 4f 4e 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d ICON').||.'ON'.===.getenv('ConEm
134740 75 41 4e 53 49 27 29 0a 7c 7c 20 27 78 74 65 72 6d 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 uANSI').||.'xterm'.===.getenv('T
134760 45 52 4d 27 29 3b 0a 7d 0a 0a 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 ERM');.}..if.(\function_exists('
134780 73 74 72 65 61 6d 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 40 73 74 72 65 61 stream_isatty')).{.return.@strea
1347a0 6d 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 69 66 20 28 m_isatty($this->stream);.}..if.(
1347c0 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 \function_exists('posix_isatty')
1347e0 29 20 7b 0a 72 65 74 75 72 6e 20 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e ).{.return.@posix_isatty($this->
134800 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 24 73 74 61 74 20 3d 20 40 66 73 74 61 74 28 24 74 68 69 73 stream);.}..$stat.=.@fstat($this
134820 2d 3e 73 74 72 65 61 6d 29 3b 0a 0a 20 72 65 74 75 72 6e 20 24 73 74 61 74 20 3f 20 30 30 32 30 ->stream);...return.$stat.?.0020
134840 30 30 30 20 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 27 5d 20 26 20 30 31 37 30 30 30 30 000.===.($stat['mode'].&.0170000
134860 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ).:.false;.}.}.<?php...........n
134880 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
1348a0 6c 65 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e le\Question;..use.Symfony\Compon
1348c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 ent\Console\Exception\InvalidArg
1348e0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 6f 69 umentException;.......class.Choi
134900 63 65 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 ceQuestion.extends.Question.{.pr
134920 69 76 61 74 65 20 24 63 68 6f 69 63 65 73 3b 0a 70 72 69 76 61 74 65 20 24 6d 75 6c 74 69 73 65 ivate.$choices;.private.$multise
134940 6c 65 63 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 6d 70 74 20 3d 20 lect.=.false;.private.$prompt.=.
134960 27 20 3e 20 27 3b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 '.>.';.private.$errorMessage.=.'
134980 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 Value."%s".is.invalid';.......pu
1349a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 blic.function.__construct($quest
1349c0 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 ion,.array.$choices,.$default.=.
1349e0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 63 68 6f 69 63 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e null).{.if.(!$choices).{.throw.n
134a00 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 68 6f 69 63 65 20 71 75 65 73 74 ew.\LogicException('Choice.quest
134a20 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 31 20 63 68 6f 69 63 65 20 ion.must.have.at.least.1.choice.
134a40 61 76 61 69 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 available.');.}..parent::__const
134a60 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 ruct($question,.$default);..$thi
134a80 73 2d 3e 63 68 6f 69 63 65 73 20 3d 20 24 63 68 6f 69 63 65 73 3b 0a 24 74 68 69 73 2d 3e 73 65 s->choices.=.$choices;.$this->se
134aa0 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 tValidator($this->getDefaultVali
134ac0 64 61 74 6f 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 dator());.$this->setAutocomplete
134ae0 72 56 61 6c 75 65 73 28 24 63 68 6f 69 63 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rValues($choices);.}.......publi
134b00 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 6f 69 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getChoices().{.return
134b20 20 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .$this->choices;.}...........pub
134b40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 75 6c 74 69 73 65 6c 65 63 74 28 24 6d 75 6c lic.function.setMultiselect($mul
134b60 74 69 73 65 6c 65 63 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d tiselect).{.$this->multiselect.=
134b80 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 .$multiselect;.$this->setValidat
134ba0 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 or($this->getDefaultValidator())
134bc0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
134be0 66 75 6e 63 74 69 6f 6e 20 69 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 0a 7b 0a 72 65 74 75 72 function.isMultiselect().{.retur
134c00 6e 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 n.$this->multiselect;.}.......pu
134c20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 6d 70 74 28 29 0a 7b 0a 72 65 74 75 blic.function.getPrompt().{.retu
134c40 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c rn.$this->prompt;.}.........publ
134c60 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 6d 70 74 28 24 70 72 6f 6d 70 74 29 0a 7b ic.function.setPrompt($prompt).{
134c80 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 20 3d 20 24 70 72 6f 6d 70 74 3b 0a 0a 72 65 74 75 72 .$this->prompt.=.$prompt;..retur
134ca0 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 n.$this;.}...........public.func
134cc0 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 65 72 72 6f 72 4d 65 73 73 61 tion.setErrorMessage($errorMessa
134ce0 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 24 65 72 72 ge).{.$this->errorMessage.=.$err
134d00 6f 72 4d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 orMessage;.$this->setValidator($
134d20 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 0a 72 this->getDefaultValidator());..r
134d40 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e eturn.$this;.}.......private.fun
134d60 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 24 63 ction.getDefaultValidator().{.$c
134d80 68 6f 69 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 3b 0a 24 65 72 72 6f 72 4d hoices.=.$this->choices;.$errorM
134da0 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 73 73 61 67 65 3b 0a 24 6d essage.=.$this->errorMessage;.$m
134dc0 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b ultiselect.=.$this->multiselect;
134de0 0a 24 69 73 41 73 73 6f 63 20 3d 20 24 74 68 69 73 2d 3e 69 73 41 73 73 6f 63 28 24 63 68 6f 69 .$isAssoc.=.$this->isAssoc($choi
134e00 63 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 65 6c 65 63 74 65 ces);..return.function.($selecte
134e20 64 29 20 75 73 65 20 28 24 63 68 6f 69 63 65 73 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c d).use.($choices,.$errorMessage,
134e40 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 2c 20 24 69 73 41 73 73 6f 63 29 20 7b 0a 0a 20 24 73 65 .$multiselect,.$isAssoc).{...$se
134e60 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c lectedChoices.=.str_replace('.',
134e80 20 27 27 2c 20 24 73 65 6c 65 63 74 65 64 29 3b 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 .'',.$selected);..if.($multisele
134ea0 63 74 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 5e 2c 5d 2b ct).{...if.(!preg_match('/^[^,]+
134ec0 28 3f 3a 2c 5b 5e 2c 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 (?:,[^,]+)*$/',.$selectedChoices
134ee0 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 ,.$matches)).{.throw.new.Invalid
134f00 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 ArgumentException(sprintf($error
134f20 4d 65 73 73 61 67 65 2c 20 24 73 65 6c 65 63 74 65 64 29 29 3b 0a 7d 0a 24 73 65 6c 65 63 74 65 Message,.$selected));.}.$selecte
134f40 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 73 65 6c 65 63 74 65 dChoices.=.explode(',',.$selecte
134f60 64 43 68 6f 69 63 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 65 6c 65 63 74 65 64 43 68 6f dChoices);.}.else.{.$selectedCho
134f80 69 63 65 73 20 3d 20 61 72 72 61 79 28 24 73 65 6c 65 63 74 65 64 29 3b 0a 7d 0a 0a 24 6d 75 6c ices.=.array($selected);.}..$mul
134fa0 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 tiselectChoices.=.array();.forea
134fc0 63 68 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 ch.($selectedChoices.as.$value).
134fe0 7b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 {.$results.=.array();.foreach.($
135000 63 68 6f 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 63 68 6f 69 63 65 29 20 7b 0a 69 66 choices.as.$key.=>.$choice).{.if
135020 20 28 24 63 68 6f 69 63 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 73 .($choice.===.$value).{.$results
135040 5b 5d 20 3d 20 24 6b 65 79 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 72 65 73 75 [].=.$key;.}.}..if.(\count($resu
135060 6c 74 73 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 lts).>.1).{.throw.new.InvalidArg
135080 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 70 72 6f 76 umentException(sprintf('The.prov
1350a0 69 64 65 64 20 61 6e 73 77 65 72 20 69 73 20 61 6d 62 69 67 75 6f 75 73 2e 20 56 61 6c 75 65 20 ided.answer.is.ambiguous..Value.
1350c0 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 25 73 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 should.be.one.of.%s.',.implode('
1350e0 20 6f 72 20 27 2c 20 24 72 65 73 75 6c 74 73 29 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d .or.',.$results)));.}..$result.=
135100 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 76 61 6c 75 65 2c 20 24 63 68 6f 69 63 65 73 29 3b .array_search($value,.$choices);
135120 0a 0a 69 66 20 28 21 24 69 73 41 73 73 6f 63 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d ..if.(!$isAssoc).{.if.(false.!==
135140 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 63 65 73 5b 24 .$result).{.$result.=.$choices[$
135160 72 65 73 75 6c 74 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 63 68 6f 69 63 65 result];.}.elseif.(isset($choice
135180 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 63 65 73 s[$value])).{.$result.=.$choices
1351a0 5b 24 76 61 6c 75 65 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 [$value];.}.}.elseif.(false.===.
1351c0 24 72 65 73 75 6c 74 20 26 26 20 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 $result.&&.isset($choices[$value
1351e0 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 ])).{.$result.=.$value;.}..if.(f
135200 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e alse.===.$result).{.throw.new.In
135220 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 validArgumentException(sprintf($
135240 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 errorMessage,.$value));.}..$mult
135260 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 iselectChoices[].=.(string).$res
135280 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 72 65 74 75 ult;.}..if.($multiselect).{.retu
1352a0 72 6e 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 rn.$multiselectChoices;.}..retur
1352c0 6e 20 63 75 72 72 65 6e 74 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 29 3b 0a n.current($multiselectChoices);.
1352e0 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 };.}.}.<?php...........namespace
135300 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 .Symfony\Component\Console\Quest
135320 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 ion;.......class.ConfirmationQue
135340 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 stion.extends.Question.{.private
135360 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$trueAnswerRegex;.......public.
135380 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 function.__construct($question,.
1353a0 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 2c 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 $default.=.true,.$trueAnswerRege
1353c0 78 20 3d 20 27 2f 5e 79 2f 69 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 x.=.'/^y/i').{.parent::__constru
1353e0 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 24 64 65 66 61 75 6c 74 29 3b 0a ct($question,.(bool).$default);.
135400 0a 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 65 41 .$this->trueAnswerRegex.=.$trueA
135420 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 nswerRegex;.$this->setNormalizer
135440 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 3b ($this->getDefaultNormalizer());
135460 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 .}.......private.function.getDef
135480 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 74 aultNormalizer().{.$default.=.$t
1354a0 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 72 65 67 65 78 20 3d 20 24 74 68 69 his->getDefault();.$regex.=.$thi
1354c0 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 s->trueAnswerRegex;..return.func
1354e0 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 28 24 64 65 66 61 75 6c 74 2c 20 24 72 tion.($answer).use.($default,.$r
135500 65 67 65 78 29 20 7b 0a 69 66 20 28 5c 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b egex).{.if.(\is_bool($answer)).{
135520 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a 0a 24 61 6e 73 77 65 72 49 73 54 72 75 .return.$answer;.}..$answerIsTru
135540 65 20 3d 20 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 61 e.=.(bool).preg_match($regex,.$a
135560 6e 73 77 65 72 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 nswer);.if.(false.===.$default).
135580 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 24 61 6e 73 77 65 72 49 73 54 72 75 {.return.$answer.&&.$answerIsTru
1355a0 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 65 72 20 7c 7c 20 24 61 6e 73 77 65 72 e;.}..return.!$answer.||.$answer
1355c0 49 73 54 72 75 65 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e IsTrue;.};.}.}.<?php...........n
1355e0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
135600 6c 65 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e le\Question;..use.Symfony\Compon
135620 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 ent\Console\Exception\InvalidArg
135640 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 umentException;.use.Symfony\Comp
135660 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 onent\Console\Exception\LogicExc
135680 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 eption;.......class.Question.{.p
1356a0 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 61 74 74 65 6d rivate.$question;.private.$attem
1356c0 70 74 73 3b 0a 70 72 69 76 61 74 65 20 24 68 69 64 64 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 72 pts;.private.$hidden.=.false;.pr
1356e0 69 76 61 74 65 20 24 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 70 72 ivate.$hiddenFallback.=.true;.pr
135700 69 76 61 74 65 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 3b 0a 70 72 69 76 ivate.$autocompleterValues;.priv
135720 61 74 65 20 24 76 61 6c 69 64 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 ate.$validator;.private.$default
135740 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c ;.private.$normalizer;......publ
135760 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f ic.function.__construct($questio
135780 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 71 75 65 n,.$default.=.null).{.$this->que
1357a0 73 74 69 6f 6e 20 3d 20 24 71 75 65 73 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c stion.=.$question;.$this->defaul
1357c0 74 20 3d 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e t.=.$default;.}.......public.fun
1357e0 63 74 69 6f 6e 20 67 65 74 51 75 65 73 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ction.getQuestion().{.return.$th
135800 69 73 2d 3e 71 75 65 73 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e is->question;.}.......public.fun
135820 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.getDefault().{.return.$thi
135840 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->default;.}.......public.funct
135860 69 6f 6e 20 69 73 48 69 64 64 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 ion.isHidden().{.return.$this->h
135880 69 64 64 65 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 idden;.}...........public.functi
1358a0 6f 6e 20 73 65 74 48 69 64 64 65 6e 28 24 68 69 64 64 65 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 on.setHidden($hidden).{.if.($thi
1358c0 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 29 20 7b 0a 74 68 72 6f 77 20 s->autocompleterValues).{.throw.
1358e0 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 68 69 64 64 65 6e 20 71 75 65 new.LogicException('A.hidden.que
135900 73 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 stion.cannot.use.the.autocomplet
135920 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 20 3d 20 28 62 6f 6f 6c 29 er.');.}..$this->hidden.=.(bool)
135940 20 24 68 69 64 64 65 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .$hidden;..return.$this;.}......
135960 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 .public.function.isHiddenFallbac
135980 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 46 61 6c 6c 62 61 k().{.return.$this->hiddenFallba
1359a0 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ck;.}.........public.function.se
1359c0 74 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 24 66 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 tHiddenFallback($fallback).{.$th
1359e0 69 73 2d 3e 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d 20 28 62 6f 6f 6c 29 20 24 66 61 6c is->hiddenFallback.=.(bool).$fal
135a00 6c 62 61 63 6b 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 lback;..return.$this;.}.......pu
135a20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 blic.function.getAutocompleterVa
135a40 6c 75 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c lues().{.return.$this->autocompl
135a60 65 74 65 72 56 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 eterValues;.}............public.
135a80 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 function.setAutocompleterValues(
135aa0 24 76 61 6c 75 65 73 29 0a 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 73 $values).{.if.(\is_array($values
135ac0 29 29 20 7b 0a 24 76 61 6c 75 65 73 20 3d 20 24 74 68 69 73 2d 3e 69 73 41 73 73 6f 63 28 24 76 )).{.$values.=.$this->isAssoc($v
135ae0 61 6c 75 65 73 29 20 3f 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 5f 6b 65 79 73 28 alues).?.array_merge(array_keys(
135b00 24 76 61 6c 75 65 73 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 29 $values),.array_values($values))
135b20 20 3a 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 3b 0a 7d 0a 0a 69 66 20 .:.array_values($values);.}..if.
135b40 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 73 20 26 26 20 21 5c 69 73 5f 61 72 72 61 79 28 (null.!==.$values.&&.!\is_array(
135b60 24 76 61 6c 75 65 73 29 20 26 26 20 21 24 76 61 6c 75 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 $values).&&.!$values.instanceof.
135b80 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 \Traversable).{.throw.new.Invali
135ba0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 75 74 6f 63 6f 6d 70 6c 65 74 65 dArgumentException('Autocomplete
135bc0 72 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 72 72 61 79 2c r.values.can.be.either.an.array,
135be0 20 60 6e 75 6c 6c 60 20 6f 72 20 61 20 60 54 72 61 76 65 72 73 61 62 6c 65 60 20 6f 62 6a 65 63 .`null`.or.a.`Traversable`.objec
135c00 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 29 20 7b 0a 74 68 t.');.}..if.($this->hidden).{.th
135c20 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 68 69 64 64 65 6e row.new.LogicException('A.hidden
135c40 20 71 75 65 73 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 65 20 61 75 74 6f 63 6f 6d .question.cannot.use.the.autocom
135c60 70 6c 65 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 pleter.');.}..$this->autocomplet
135c80 65 72 56 61 6c 75 65 73 20 3d 20 24 76 61 6c 75 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 erValues.=.$values;..return.$thi
135ca0 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 s;.}.........public.function.set
135cc0 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 Validator($validator).{.$this->v
135ce0 61 6c 69 64 61 74 6f 72 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 3b 0a 0a 72 65 74 75 72 6e 20 24 alidator.=.$validator;..return.$
135d00 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 this;.}.......public.function.ge
135d20 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c tValidator().{.return.$this->val
135d40 69 64 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e idator;.}.............public.fun
135d60 63 74 69 6f 6e 20 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 29 0a ction.setMaxAttempts($attempts).
135d80 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 26 26 20 24 61 74 74 {.if.(null.!==.$attempts.&&.$att
135da0 65 6d 70 74 73 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 empts.<.1).{.throw.new.InvalidAr
135dc0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 gumentException('Maximum.number.
135de0 6f 66 20 61 74 74 65 6d 70 74 73 20 6d 75 73 74 20 62 65 20 61 20 70 6f 73 69 74 69 76 65 20 76 of.attempts.must.be.a.positive.v
135e00 61 6c 75 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 20 3d 20 24 61 alue.');.}..$this->attempts.=.$a
135e20 74 74 65 6d 70 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ttempts;..return.$this;.}.......
135e40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 78 41 74 74 65 6d 70 74 73 ..public.function.getMaxAttempts
135e60 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 3b 0a 7d 0a 0a ().{.return.$this->attempts;.}..
135e80 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 72 6d .........public.function.setNorm
135ea0 61 6c 69 7a 65 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 72 alizer($normalizer).{.$this->nor
135ec0 6d 61 6c 69 7a 65 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 malizer.=.$normalizer;..return.$
135ee0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
135f00 67 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e getNormalizer().{.return.$this->
135f20 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f normalizer;.}..protected.functio
135f40 6e 20 69 73 41 73 73 6f 63 28 24 61 72 72 61 79 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c n.isAssoc($array).{.return.(bool
135f60 29 20 5c 63 6f 75 6e 74 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6b 65 79 73 ).\count(array_filter(array_keys
135f80 28 24 61 72 72 61 79 29 2c 20 27 69 73 5f 73 74 72 69 6e 67 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 ($array),.'is_string'));.}.}.<?p
135fa0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
135fc0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 omponent\Console;..use.Symfony\C
135fe0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 omponent\Console\Exception\Runti
136000 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 meException;.use.Symfony\Compone
136020 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 3b 0a 75 73 nt\Console\Input\StringInput;.us
136040 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 e.Symfony\Component\Console\Outp
136060 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ut\ConsoleOutput;.use.Symfony\Co
136080 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e mponent\Process\PhpExecutableFin
1360a0 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 der;.use.Symfony\Component\Proce
1360c0 73 73 5c 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 ss\ProcessBuilder;.............c
1360e0 6c 61 73 73 20 53 68 65 6c 6c 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f lass.Shell.{.private.$applicatio
136100 6e 3b 0a 70 72 69 76 61 74 65 20 24 68 69 73 74 6f 72 79 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 n;.private.$history;.private.$ou
136120 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 52 65 61 64 6c 69 6e 65 3b 0a 70 72 69 76 tput;.private.$hasReadline;.priv
136140 61 74 65 20 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a ate.$processIsolation.=.false;..
136160 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
136180 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 0a 7b 0a 40 74 72 69 Application.$application).{.@tri
1361a0 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c gger_error('The.'.__CLASS__.'.cl
1361c0 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 ass.is.deprecated.since.Symfony.
1361e0 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.8.and.will.be.removed.in.3.0.'
136200 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 ,.E_USER_DEPRECATED);..$this->ha
136220 73 52 65 61 64 6c 69 6e 65 20 3d 20 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 72 65 sReadline.=.\function_exists('re
136240 61 64 6c 69 6e 65 27 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 adline');.$this->application.=.$
136260 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 68 69 73 74 6f 72 79 20 3d 20 67 65 application;.$this->history.=.ge
136280 74 65 6e 76 28 27 48 4f 4d 45 27 29 2e 27 2f 2e 68 69 73 74 6f 72 79 5f 27 2e 24 61 70 70 6c 69 tenv('HOME').'/.history_'.$appli
1362a0 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 cation->getName();.$this->output
1362c0 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .=.new.ConsoleOutput();.}.....pu
1362e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 blic.function.run().{.$this->app
136300 6c 69 63 61 74 69 6f 6e 2d 3e 73 65 74 41 75 74 6f 45 78 69 74 28 66 61 6c 73 65 29 3b 0a 24 74 lication->setAutoExit(false);.$t
136320 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 73 65 74 43 61 74 63 68 45 78 63 65 70 74 his->application->setCatchExcept
136340 69 6f 6e 73 28 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c ions(true);..if.($this->hasReadl
136360 69 6e 65 29 20 7b 0a 72 65 61 64 6c 69 6e 65 5f 72 65 61 64 5f 68 69 73 74 6f 72 79 28 24 74 68 ine).{.readline_read_history($th
136380 69 73 2d 3e 68 69 73 74 6f 72 79 29 3b 0a 72 65 61 64 6c 69 6e 65 5f 63 6f 6d 70 6c 65 74 69 6f is->history);.readline_completio
1363a0 6e 5f 66 75 6e 63 74 69 6f 6e 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 61 75 74 6f 63 6f 6d n_function(array($this,.'autocom
1363c0 70 6c 65 74 65 72 27 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 pleter'));.}..$this->output->wri
1363e0 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 48 65 61 64 65 72 28 29 29 3b 0a 24 70 68 70 20 3d teln($this->getHeader());.$php.=
136400 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 .null;.if.($this->processIsolati
136420 6f 6e 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c on).{.$finder.=.new.PhpExecutabl
136440 65 46 69 6e 64 65 72 28 29 3b 0a 24 70 68 70 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 eFinder();.$php.=.$finder->find(
136460 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 3c 3c 3c 27 45 4f );.$this->output->writeln(<<<'EO
136480 46 27 0a 3c 69 6e 66 6f 3e 52 75 6e 6e 69 6e 67 20 77 69 74 68 20 70 72 6f 63 65 73 73 20 69 73 F'.<info>Running.with.process.is
1364a0 6f 6c 61 74 69 6f 6e 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 64 65 72 20 74 68 69 olation,.you.should.consider.thi
1364c0 73 3a 3c 2f 69 6e 66 6f 3e 0a 20 20 2a 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 s:</info>...*.each.command.is.ex
1364e0 65 63 75 74 65 64 20 61 73 20 73 65 70 61 72 61 74 65 20 70 72 6f 63 65 73 73 2c 0a 20 20 2a 20 ecuted.as.separate.process,...*.
136500 63 6f 6d 6d 61 6e 64 73 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 20 69 6e 74 65 72 61 63 74 69 commands.don't.support.interacti
136520 76 69 74 79 2c 20 61 6c 6c 20 70 61 72 61 6d 73 20 6d 75 73 74 20 62 65 20 70 61 73 73 65 64 20 vity,.all.params.must.be.passed.
136540 65 78 70 6c 69 63 69 74 6c 79 2c 0a 20 20 2a 20 63 6f 6d 6d 61 6e 64 73 20 6f 75 74 70 75 74 20 explicitly,...*.commands.output.
136560 69 73 20 6e 6f 74 20 63 6f 6c 6f 72 69 7a 65 64 2e 0a 0a 45 4f 46 0a 29 3b 0a 7d 0a 0a 77 68 69 is.not.colorized...EOF.);.}..whi
136580 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 le.(true).{.$command.=.$this->re
1365a0 61 64 6c 69 6e 65 28 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6d 6d 61 6e adline();..if.(false.===.$comman
1365c0 64 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e 22 d).{.$this->output->writeln("\n"
1365e0 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 );..break;.}..if.($this->hasRead
136600 6c 69 6e 65 29 20 7b 0a 72 65 61 64 6c 69 6e 65 5f 61 64 64 5f 68 69 73 74 6f 72 79 28 24 63 6f line).{.readline_add_history($co
136620 6d 6d 61 6e 64 29 3b 0a 72 65 61 64 6c 69 6e 65 5f 77 72 69 74 65 5f 68 69 73 74 6f 72 79 28 24 mmand);.readline_write_history($
136640 74 68 69 73 2d 3e 68 69 73 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 this->history);.}..if.($this->pr
136660 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 20 7b 0a 24 70 62 20 3d 20 6e 65 77 20 50 72 6f 63 ocessIsolation).{.$pb.=.new.Proc
136680 65 73 73 42 75 69 6c 64 65 72 28 29 3b 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 24 70 62 0a 2d 3e essBuilder();..$process.=.$pb.->
1366a0 61 64 64 28 24 70 68 70 29 0a 2d 3e 61 64 64 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d add($php).->add($_SERVER['argv']
1366c0 5b 30 5d 29 0a 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 2d 3e 69 6e 68 65 72 69 74 45 6e [0]).->add($command).->inheritEn
1366e0 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 74 72 75 65 29 0a 2d 3e 67 65 74 50 72 vironmentVariables(true).->getPr
136700 6f 63 65 73 73 28 29 0a 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 ocess().;..$output.=.$this->outp
136720 75 74 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 ut;.$process->run(function.($typ
136740 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 e,.$data).use.($output).{.$outpu
136760 74 2d 3e 77 72 69 74 65 6c 6e 28 24 64 61 74 61 29 3b 0a 7d 29 3b 0a 0a 24 72 65 74 20 3d 20 24 t->writeln($data);.});..$ret.=.$
136780 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b process->getExitCode();.}.else.{
1367a0 0a 24 72 65 74 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 .$ret.=.$this->application->run(
1367c0 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 74 68 69 73 new.StringInput($command),.$this
1367e0 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 72 65 74 29 20 7b 0a ->output);.}..if.(0.!==.$ret).{.
136800 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 $this->output->writeln(sprintf('
136820 3c 65 72 72 6f 72 3e 54 68 65 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 <error>The.command.terminated.wi
136840 74 68 20 61 6e 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 28 25 73 29 3c 2f 65 72 72 6f 72 3e 27 th.an.error.status.(%s)</error>'
136860 2c 20 24 72 65 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ,.$ret));.}.}.}.......protected.
136880 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c function.getHeader().{.return.<<
1368a0 3c 45 4f 46 0a 0a 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 3c 69 6e 66 6f 3e 7b 24 74 68 69 <EOF..Welcome.to.the.<info>{$thi
1368c0 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 7d 3c 2f 69 6e 66 6f s->application->getName()}</info
1368e0 3e 20 73 68 65 6c 6c 20 28 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 >.shell.(<comment>{$this->applic
136900 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 7d 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 2e ation->getVersion()}</comment>).
136920 0a 0a 41 74 20 74 68 65 20 70 72 6f 6d 70 74 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 6e 74 3e 68 ..At.the.prompt,.type.<comment>h
136940 65 6c 70 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 66 6f 72 20 73 6f 6d 65 20 68 65 6c 70 2c 0a 6f 72 20 elp</comment>.for.some.help,.or.
136960 3c 63 6f 6d 6d 65 6e 74 3e 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 74 6f 20 67 65 74 20 61 <comment>list</comment>.to.get.a
136980 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 54 6f .list.of.available.commands...To
1369a0 20 65 78 69 74 20 74 68 65 20 73 68 65 6c 6c 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 6e 74 3e 5e .exit.the.shell,.type.<comment>^
1369c0 44 3c 2f 63 6f 6d 6d 65 6e 74 3e 2e 0a 0a 45 4f 46 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 D</comment>...EOF;.}.......prote
1369e0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 6d 70 74 28 29 0a 7b 0a 0a 20 72 65 cted.function.getPrompt().{...re
136a00 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 turn.$this->output->getFormatter
136a20 28 29 2d 3e 66 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 ()->format($this->application->g
136a40 65 74 4e 61 6d 65 28 29 2e 27 20 3e 20 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 etName().'.>.');.}..protected.fu
136a60 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 nction.getOutput().{.return.$thi
136a80 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e s->output;.}..protected.function
136aa0 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .getApplication().{.return.$this
136ac0 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 ->application;.}.........private
136ae0 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 28 24 74 65 78 74 29 0a 7b .function.autocompleter($text).{
136b00 0a 24 69 6e 66 6f 20 3d 20 72 65 61 64 6c 69 6e 65 5f 69 6e 66 6f 28 29 3b 0a 24 74 65 78 74 20 .$info.=.readline_info();.$text.
136b20 3d 20 73 75 62 73 74 72 28 24 69 6e 66 6f 5b 27 6c 69 6e 65 5f 62 75 66 66 65 72 27 5d 2c 20 30 =.substr($info['line_buffer'],.0
136b40 2c 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 3b 0a 0a 69 66 20 28 24 69 6e 66 6f 5b 27 70 6f 69 ,.$info['end']);..if.($info['poi
136b60 6e 74 27 5d 20 21 3d 3d 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 nt'].!==.$info['end']).{.return.
136b80 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 true;.}....if.(false.===.strpos(
136ba0 24 74 65 78 74 2c 20 27 20 27 29 20 7c 7c 20 21 24 74 65 78 74 29 20 7b 0a 72 65 74 75 72 6e 20 $text,.'.').||.!$text).{.return.
136bc0 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 array_keys($this->application->a
136be0 6c 6c 28 29 29 3b 0a 7d 0a 0a 0a 20 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 ll());.}....try.{.$command.=.$th
136c00 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 69 6e 64 28 73 75 62 73 74 72 28 24 74 65 is->application->find(substr($te
136c20 78 74 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 20 27 29 29 29 3b 0a 7d 20 63 xt,.0,.strpos($text,.'.')));.}.c
136c40 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 atch.(\Exception.$e).{.return.tr
136c60 75 65 3b 0a 7d 0a 0a 24 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 2d 2d 68 65 6c 70 27 29 3b 0a ue;.}..$list.=.array('--help');.
136c80 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e foreach.($command->getDefinition
136ca0 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 ()->getOptions().as.$option).{.$
136cc0 6c 69 73 74 5b 5d 20 3d 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 list[].=.'--'.$option->getName()
136ce0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ;.}..return.$list;.}.......priva
136d00 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 6c 69 6e 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 te.function.readline().{.if.($th
136d20 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 72 65 61 64 6c is->hasReadline).{.$line.=.readl
136d40 69 6e 65 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 29 3b 0a 7d 20 65 6c 73 65 20 ine($this->getPrompt());.}.else.
136d60 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 67 65 {.$this->output->write($this->ge
136d80 74 50 72 6f 6d 70 74 28 29 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 53 54 44 49 4e 2c tPrompt());.$line.=.fgets(STDIN,
136da0 20 31 30 32 34 29 3b 0a 24 6c 69 6e 65 20 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6c 69 6e 65 .1024);.$line.=.(false.===.$line
136dc0 20 7c 7c 20 27 27 20 3d 3d 3d 20 24 6c 69 6e 65 29 20 3f 20 66 61 6c 73 65 20 3a 20 72 74 72 69 .||.''.===.$line).?.false.:.rtri
136de0 6d 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 m($line);.}..return.$line;.}..pu
136e00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f blic.function.getProcessIsolatio
136e20 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 n().{.return.$this->processIsola
136e40 74 69 6f 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 63 tion;.}..public.function.setProc
136e60 65 73 73 49 73 6f 6c 61 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 0a essIsolation($processIsolation).
136e80 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 28 62 6f 6f {.$this->processIsolation.=.(boo
136ea0 6c 29 20 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 74 68 69 73 l).$processIsolation;..if.($this
136ec0 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 26 26 20 21 63 6c 61 73 73 5f 65 78 69 ->processIsolation.&&.!class_exi
136ee0 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 sts('Symfony\\Component\\Process
136f00 5c 5c 50 72 6f 63 65 73 73 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 \\Process')).{.throw.new.Runtime
136f20 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 69 73 6f 6c 61 74 65 20 70 72 6f Exception('Unable.to.isolate.pro
136f40 63 65 73 73 65 73 20 61 73 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 50 72 6f 63 65 73 73 20 43 6f cesses.as.the.Symfony.Process.Co
136f60 6d 70 6f 6e 65 6e 74 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 3b 0a 7d 0a 7d mponent.is.not.installed.');.}.}
136f80 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
136fa0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 75 fony\Component\Console\Style;..u
136fc0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 se.Symfony\Component\Console\For
136fe0 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b matter\OutputFormatterInterface;
137000 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 .use.Symfony\Component\Console\H
137020 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 elper\ProgressBar;.use.Symfony\C
137040 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
137060 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4f 75 terface;.......abstract.class.Ou
137080 74 70 75 74 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e 74 65 72 tputStyle.implements.OutputInter
1370a0 66 61 63 65 2c 20 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 face,.StyleInterface.{.private.$
1370c0 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 output;..public.function.__const
1370e0 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a ruct(OutputInterface.$output).{.
137100 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 $this->output.=.$output;.}.....p
137120 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 ublic.function.newLine($count.=.
137140 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 1).{.$this->output->write(str_re
137160 70 65 61 74 28 50 48 50 5f 45 4f 4c 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a peat(PHP_EOL,.$count));.}.......
137180 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 public.function.createProgressBa
1371a0 72 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 67 72 65 73 r($max.=.0).{.return.new.Progres
1371c0 73 42 61 72 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 6d 61 78 29 3b 0a 7d 0a 0a 0a 0a sBar($this->output,.$max);.}....
1371e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 .public.function.write($messages
137200 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 ,.$newline.=.false,.$type.=.self
137220 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ::OUTPUT_NORMAL).{.$this->output
137240 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 ->write($messages,.$newline,.$ty
137260 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 pe);.}.....public.function.write
137280 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 ln($messages,.$type.=.self::OUTP
1372a0 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 UT_NORMAL).{.$this->output->writ
1372c0 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 eln($messages,.$type);.}.....pub
1372e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c lic.function.setVerbosity($level
137300 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 ).{.$this->output->setVerbosity(
137320 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 $level);.}.....public.function.g
137340 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 etVerbosity().{.return.$this->ou
137360 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c tput->getVerbosity();.}.....publ
137380 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 ic.function.setDecorated($decora
1373a0 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 ted).{.$this->output->setDecorat
1373c0 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ed($decorated);.}.....public.fun
1373e0 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ction.isDecorated().{.return.$th
137400 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a is->output->isDecorated();.}....
137420 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 .public.function.setFormatter(Ou
137440 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 tputFormatterInterface.$formatte
137460 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 r).{.$this->output->setFormatter
137480 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ($formatter);.}.....public.funct
1374a0 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ion.getFormatter().{.return.$thi
1374c0 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 7d 0a 3c s->output->getFormatter();.}.}.<
1374e0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
137500 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a \Component\Console\Style;.......
137520 69 6e 74 65 72 66 61 63 65 20 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a interface.StyleInterface.{......
137540 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 28 24 6d 65 73 73 61 67 65 29 3b public.function.title($message);
137560 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 .......public.function.section($
137580 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 message);.....public.function.li
1375a0 73 74 69 6e 67 28 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 sting(array.$elements);.......pu
1375c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 78 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a blic.function.text($message);...
1375e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 73 73 28 24 6d 65 73 ....public.function.success($mes
137600 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 sage);.......public.function.err
137620 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 or($message);.......public.funct
137640 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 ion.warning($message);.......pub
137660 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a lic.function.note($message);....
137680 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 74 69 6f 6e 28 24 6d 65 73 73 ...public.function.caution($mess
1376a0 61 67 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 age);.....public.function.table(
1376c0 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c 20 61 72 72 61 79 20 24 72 6f 77 73 29 3b 0a 0a 0a array.$headers,.array.$rows);...
1376e0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 ........public.function.ask($que
137700 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 76 61 6c 69 64 61 74 stion,.$default.=.null,.$validat
137720 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 or.=.null);..........public.func
137740 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 tion.askHidden($question,.$valid
137760 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ator.=.null);..........public.fu
137780 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 nction.confirm($question,.$defau
1377a0 6c 74 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e lt.=.true);...........public.fun
1377c0 63 74 69 6f 6e 20 63 68 6f 69 63 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 ction.choice($question,.array.$c
1377e0 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a hoices,.$default.=.null);.......
137800 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d public.function.newLine($count.=
137820 20 31 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 .1);.......public.function.progr
137840 65 73 73 53 74 61 72 74 28 24 6d 61 78 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 essStart($max.=.0);.......public
137860 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 41 64 76 61 6e 63 65 28 24 73 74 65 70 20 .function.progressAdvance($step.
137880 3d 20 31 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 =.1);.....public.function.progre
1378a0 73 73 46 69 6e 69 73 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 ssFinish();.}.<?php...........na
1378c0 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c mespace.Symfony\Component\Consol
1378e0 65 5c 53 74 79 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c e\Style;..use.Symfony\Component\
137900 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Console\Application;.use.Symfony
137920 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e \Component\Console\Exception\Run
137940 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f timeException;.use.Symfony\Compo
137960 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 nent\Console\Formatter\OutputFor
137980 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f matter;.use.Symfony\Component\Co
1379a0 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 nsole\Helper\Helper;.use.Symfony
1379c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 \Component\Console\Helper\Progre
1379e0 73 73 42 61 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ssBar;.use.Symfony\Component\Con
137a00 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 sole\Helper\SymfonyQuestionHelpe
137a20 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 r;.use.Symfony\Component\Console
137a40 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f \Helper\Table;.use.Symfony\Compo
137a60 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 nent\Console\Input\InputInterfac
137a80 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
137aa0 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 \Output\BufferedOutput;.use.Symf
137ac0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
137ae0 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
137b00 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 ent\Console\Question\ChoiceQuest
137b20 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
137b40 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e le\Question\ConfirmationQuestion
137b60 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
137b80 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 Question\Question;.......class.S
137ba0 79 6d 66 6f 6e 79 53 74 79 6c 65 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 53 74 79 6c 65 0a ymfonyStyle.extends.OutputStyle.
137bc0 7b 0a 63 6f 6e 73 74 20 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 20 3d 20 31 32 30 3b 0a 0a {.const.MAX_LINE_LENGTH.=.120;..
137be0 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f private.$input;.private.$questio
137c00 6e 48 65 6c 70 65 72 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 70 nHelper;.private.$progressBar;.p
137c20 72 69 76 61 74 65 20 24 6c 69 6e 65 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 65 20 24 62 75 66 rivate.$lineLength;.private.$buf
137c40 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f feredOutput;..public.function.__
137c60 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c construct(InputInterface.$input,
137c80 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 .OutputInterface.$output).{.$thi
137ca0 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 s->input.=.$input;.$this->buffer
137cc0 65 64 4f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 24 6f edOutput.=.new.BufferedOutput($o
137ce0 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 2c 20 66 61 6c 73 65 2c 20 63 6c utput->getVerbosity(),.false,.cl
137d00 6f 6e 65 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 29 3b 0a 0a 20 one.$output->getFormatter());...
137d20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 3d 20 6d 69 6e 28 24 74 68 69 73 2d 3e 67 $this->lineLength.=.min($this->g
137d40 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 28 69 6e 74 29 20 28 5c 44 49 52 45 etTerminalWidth().-.(int).(\DIRE
137d60 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3d 3d 3d 20 27 5c 5c 27 29 2c 20 73 65 6c 66 3a CTORY_SEPARATOR.===.'\\'),.self:
137d80 3a 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f :MAX_LINE_LENGTH);..parent::__co
137da0 6e 73 74 72 75 63 74 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 nstruct($output);.}...........pu
137dc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 blic.function.block($messages,.$
137de0 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 type.=.null,.$style.=.null,.$pre
137e00 66 69 78 20 3d 20 27 20 27 2c 20 24 70 61 64 64 69 6e 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 fix.=.'.',.$padding.=.false).{.$
137e20 6d 65 73 73 61 67 65 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 20 messages.=.\is_array($messages).
137e40 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 73 29 20 3a 20 61 72 72 61 ?.array_values($messages).:.arra
137e60 79 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e y($messages);..$this->autoPrepen
137e80 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e dBlock();.$this->writeln($this->
137ea0 63 72 65 61 74 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 2c 20 24 73 createBlock($messages,.$type,.$s
137ec0 74 79 6c 65 2c 20 24 70 72 65 66 69 78 2c 20 24 70 61 64 64 69 6e 67 2c 20 74 72 75 65 29 29 3b tyle,.$prefix,.$padding,.true));
137ee0 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->newLine();.}.....public.
137f00 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 function.title($message).{.$this
137f20 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 ->autoPrependBlock();.$this->wri
137f40 74 65 6c 6e 28 61 72 72 61 79 28 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 teln(array(.sprintf('<comment>%s
137f60 3c 2f 3e 27 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 </>',.OutputFormatter::escapeTra
137f80 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 6d 65 73 73 61 67 65 29 29 2c 0a 73 70 72 69 6e ilingBackslash($message)),.sprin
137fa0 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 tf('<comment>%s</>',.str_repeat(
137fc0 27 3d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 '=',.Helper::strlenWithoutDecora
137fe0 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 6d 65 73 tion($this->getFormatter(),.$mes
138000 73 61 67 65 29 29 29 2c 0a 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d sage))),.));.$this->newLine();.}
138020 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 .....public.function.section($me
138040 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b ssage).{.$this->autoPrependBlock
138060 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 73 70 72 69 6e 74 ();.$this->writeln(array(.sprint
138080 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 f('<comment>%s</>',.OutputFormat
1380a0 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 6d 65 ter::escapeTrailingBackslash($me
1380c0 73 73 61 67 65 29 29 2c 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e ssage)),.sprintf('<comment>%s</>
1380e0 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 ',.str_repeat('-',.Helper::strle
138100 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 nWithoutDecoration($this->getFor
138120 6d 61 74 74 65 72 28 29 2c 20 24 6d 65 73 73 61 67 65 29 29 29 2c 0a 29 29 3b 0a 24 74 68 69 73 matter(),.$message))),.));.$this
138140 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ->newLine();.}.....public.functi
138160 6f 6e 20 6c 69 73 74 69 6e 67 28 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 73 29 0a 7b 0a 24 74 on.listing(array.$elements).{.$t
138180 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 3b 0a 24 65 6c 65 6d 65 6e 74 his->autoPrependText();.$element
1381a0 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 65 6e 74 s.=.array_map(function.($element
1381c0 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 20 2a 20 25 73 27 2c 20 24 65 6c 65 ).{.return.sprintf('.*.%s',.$ele
1381e0 6d 65 6e 74 29 3b 0a 7d 2c 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 ment);.},.$elements);..$this->wr
138200 69 74 65 6c 6e 28 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 iteln($elements);.$this->newLine
138220 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 78 74 28 24 ();.}.....public.function.text($
138240 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 message).{.$this->autoPrependTex
138260 74 28 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 6d 65 73 t();..$messages.=.\is_array($mes
138280 73 61 67 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 29 20 3a sage).?.array_values($message).:
1382a0 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 .array($message);.foreach.($mess
1382c0 61 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 ages.as.$message).{.$this->write
1382e0 6c 6e 28 73 70 72 69 6e 74 66 28 27 20 25 73 27 2c 20 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a ln(sprintf('.%s',.$message));.}.
138300 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 28 }.......public.function.comment(
138320 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 5c 69 73 5f 61 72 72 61 $message).{.$messages.=.\is_arra
138340 79 28 24 6d 65 73 73 61 67 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 y($message).?.array_values($mess
138360 61 67 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 24 74 68 69 73 2d 3e age).:.array($message);..$this->
138380 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 autoPrependBlock();.$this->write
1383a0 6c 6e 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c ln($this->createBlock($messages,
1383c0 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 27 3c 66 67 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 .null,.null,.'<fg=default;bg=def
1383e0 61 75 6c 74 3e 20 2f 2f 20 3c 2f 3e 27 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 ault>.//.</>'));.$this->newLine(
138400 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 73 73 );.}.....public.function.success
138420 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 ($message).{.$this->block($messa
138440 67 65 2c 20 27 4f 4b 27 2c 20 27 66 67 3d 62 6c 61 63 6b 3b 62 67 3d 67 72 65 65 6e 27 2c 20 27 ge,.'OK',.'fg=black;bg=green',.'
138460 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .',.true);.}.....public.function
138480 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 .error($message).{.$this->block(
1384a0 24 6d 65 73 73 61 67 65 2c 20 27 45 52 52 4f 52 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d $message,.'ERROR',.'fg=white;bg=
1384c0 72 65 64 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 red',.'.',.true);.}.....public.f
1384e0 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 unction.warning($message).{.$thi
138500 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 57 41 52 4e 49 4e 47 27 2c 20 27 66 s->block($message,.'WARNING',.'f
138520 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a g=white;bg=red',.'.',.true);.}..
138540 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 ...public.function.note($message
138560 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 4e 4f 54 45 ).{.$this->block($message,.'NOTE
138580 27 2c 20 27 66 67 3d 79 65 6c 6c 6f 77 27 2c 20 27 20 21 20 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ',.'fg=yellow',.'.!.');.}.....pu
1385a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 0a blic.function.caution($message).
1385c0 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 43 41 55 54 49 4f {.$this->block($message,.'CAUTIO
1385e0 4e 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 21 20 27 2c 20 74 72 N',.'fg=white;bg=red',.'.!.',.tr
138600 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 ue);.}.....public.function.table
138620 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c 20 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a (array.$headers,.array.$rows).{.
138640 24 73 74 79 6c 65 20 3d 20 63 6c 6f 6e 65 20 54 61 62 6c 65 3a 3a 67 65 74 53 74 79 6c 65 44 65 $style.=.clone.Table::getStyleDe
138660 66 69 6e 69 74 69 6f 6e 28 27 73 79 6d 66 6f 6e 79 2d 73 74 79 6c 65 2d 67 75 69 64 65 27 29 3b finition('symfony-style-guide');
138680 0a 24 73 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 27 3c 69 .$style->setCellHeaderFormat('<i
1386a0 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 24 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 nfo>%s</info>');..$table.=.new.T
1386c0 61 62 6c 65 28 24 74 68 69 73 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 able($this);.$table->setHeaders(
1386e0 24 68 65 61 64 65 72 73 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 73 28 24 72 6f 77 73 $headers);.$table->setRows($rows
138700 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 24 73 74 79 6c 65 29 3b 0a 0a 24 74 );.$table->setStyle($style);..$t
138720 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 able->render();.$this->newLine()
138740 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 ;.}.....public.function.ask($que
138760 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 76 61 6c 69 64 61 74 stion,.$default.=.null,.$validat
138780 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 or.=.null).{.$question.=.new.Que
1387a0 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 stion($question,.$default);.$que
1387c0 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b stion->setValidator($validator);
1387e0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 24 71 75 65 ..return.$this->askQuestion($que
138800 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 stion);.}.....public.function.as
138820 6b 48 69 64 64 65 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 kHidden($question,.$validator.=.
138840 6e 75 6c 6c 29 0a 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e null).{.$question.=.new.Question
138860 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 48 69 64 64 ($question);..$question->setHidd
138880 65 6e 28 74 72 75 65 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f en(true);.$question->setValidato
1388a0 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 r($validator);..return.$this->as
1388c0 6b 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c kQuestion($question);.}.....publ
1388e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 ic.function.confirm($question,.$
138900 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e default.=.true).{.return.$this->
138920 61 73 6b 51 75 65 73 74 69 6f 6e 28 6e 65 77 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 askQuestion(new.ConfirmationQues
138940 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 0a tion($question,.$default));.}...
138960 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 6f 69 63 65 28 24 71 75 65 73 74 69 ..public.function.choice($questi
138980 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e on,.array.$choices,.$default.=.n
1389a0 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a ull).{.if.(null.!==.$default).{.
1389c0 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 24 63 68 6f 69 63 65 73 29 3b 0a $values.=.array_flip($choices);.
1389e0 24 64 65 66 61 75 6c 74 20 3d 20 24 76 61 6c 75 65 73 5b 24 64 65 66 61 75 6c 74 5d 3b 0a 7d 0a $default.=.$values[$default];.}.
138a00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 6e 65 77 20 43 .return.$this->askQuestion(new.C
138a20 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 hoiceQuestion($question,.$choice
138a40 73 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s,.$default));.}.....public.func
138a60 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 53 74 61 72 74 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 24 tion.progressStart($max.=.0).{.$
138a80 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 this->progressBar.=.$this->creat
138aa0 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 eProgressBar($max);.$this->progr
138ac0 65 73 73 42 61 72 2d 3e 73 74 61 72 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 essBar->start();.}.....public.fu
138ae0 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 41 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 nction.progressAdvance($step.=.1
138b00 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 2d 3e 61 64 76 ).{.$this->getProgressBar()->adv
138b20 61 6e 63 65 28 24 73 74 65 70 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ance($step);.}.....public.functi
138b40 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 on.progressFinish().{.$this->get
138b60 50 72 6f 67 72 65 73 73 42 61 72 28 29 2d 3e 66 69 6e 69 73 68 28 29 3b 0a 24 74 68 69 73 2d 3e ProgressBar()->finish();.$this->
138b80 6e 65 77 4c 69 6e 65 28 32 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 20 3d newLine(2);.$this->progressBar.=
138ba0 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 .null;.}.....public.function.cre
138bc0 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 24 70 72 6f 67 ateProgressBar($max.=.0).{.$prog
138be0 72 65 73 73 42 61 72 20 3d 20 70 61 72 65 6e 74 3a 3a 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 ressBar.=.parent::createProgress
138c00 42 61 72 28 24 6d 61 78 29 3b 0a 0a 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 Bar($max);..if.('\\'.!==.\DIRECT
138c20 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 27 48 79 70 65 72 27 20 3d 3d 3d 20 67 65 74 ORY_SEPARATOR.||.'Hyper'.===.get
138c40 65 6e 76 28 27 54 45 52 4d 5f 50 52 4f 47 52 41 4d 27 29 29 20 7b 0a 24 70 72 6f 67 72 65 73 73 env('TERM_PROGRAM')).{.$progress
138c60 42 61 72 2d 3e 73 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 27 e2 96 91 27 29 Bar->setEmptyBarCharacter('...')
138c80 3b 20 0a 20 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 ;...$progressBar->setProgressCha
138ca0 72 61 63 74 65 72 28 27 27 29 3b 0a 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 42 61 72 racter('');.$progressBar->setBar
138cc0 43 68 61 72 61 63 74 65 72 28 27 e2 96 93 27 29 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 70 Character('...');...}..return.$p
138ce0 72 6f 67 72 65 73 73 42 61 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rogressBar;.}.....public.functio
138d00 6e 20 61 73 6b 51 75 65 73 74 69 6f 6e 28 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e n.askQuestion(Question.$question
138d20 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 ).{.if.($this->input->isInteract
138d40 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b ive()).{.$this->autoPrependBlock
138d60 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 ();.}..if.(!$this->questionHelpe
138d80 72 29 20 7b 0a 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 3d 20 6e 65 77 r).{.$this->questionHelper.=.new
138da0 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 28 29 3b 0a 7d 0a 0a 24 61 6e .SymfonyQuestionHelper();.}..$an
138dc0 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2d 3e 61 73 swer.=.$this->questionHelper->as
138de0 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2c 20 24 71 75 65 73 74 69 6f 6e k($this->input,.$this,.$question
138e00 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 );..if.($this->input->isInteract
138e20 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 24 74 68 69 73 ive()).{.$this->newLine();.$this
138e40 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 6e 22 29 3b 0a 7d ->bufferedOutput->write("\n");.}
138e60 0a 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..return.$answer;.}.....public.f
138e80 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 unction.writeln($messages,.$type
138ea0 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 70 61 72 65 6e 74 .=.self::OUTPUT_NORMAL).{.parent
138ec0 3a 3a 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 29 3b 0a 24 74 68 ::writeln($messages,.$type);.$th
138ee0 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 is->bufferedOutput->writeln($thi
138f00 73 2d 3e 72 65 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 2c 20 24 74 79 70 s->reduceBuffer($messages),.$typ
138f20 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 e);.}.....public.function.write(
138f40 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 74 79 $messages,.$newline.=.false,.$ty
138f60 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 70 61 72 65 pe.=.self::OUTPUT_NORMAL).{.pare
138f80 6e 74 3a 3a 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 nt::write($messages,.$newline,.$
138fa0 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 type);.$this->bufferedOutput->wr
138fc0 69 74 65 28 24 74 68 69 73 2d 3e 72 65 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 ite($this->reduceBuffer($message
138fe0 73 29 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c s),.$newline,.$type);.}.....publ
139000 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 0a ic.function.newLine($count.=.1).
139020 7b 0a 70 61 72 65 6e 74 3a 3a 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 29 3b 0a 24 74 68 69 73 {.parent::newLine($count);.$this
139040 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 ->bufferedOutput->write(str_repe
139060 61 74 28 22 5c 6e 22 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 at("\n",.$count));.}.....private
139080 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 0a 7b 0a 69 66 20 .function.getProgressBar().{.if.
1390a0 28 21 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 (!$this->progressBar).{.throw.ne
1390c0 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 72 6f 67 72 65 73 73 w.RuntimeException('The.Progress
1390e0 42 61 72 20 69 73 20 6e 6f 74 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e Bar.is.not.started.');.}..return
139100 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 .$this->progressBar;.}..private.
139120 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 0a 7b 0a 24 61 function.getTerminalWidth().{.$a
139140 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a pplication.=.new.Application();.
139160 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 54 $dimensions.=.$application->getT
139180 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 69 erminalDimensions();..return.$di
1391a0 6d 65 6e 73 69 6f 6e 73 5b 30 5d 20 3f 3a 20 73 65 6c 66 3a 3a 4d 41 58 5f 4c 49 4e 45 5f 4c 45 mensions[0].?:.self::MAX_LINE_LE
1391c0 4e 47 54 48 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 NGTH;.}..private.function.autoPr
1391e0 65 70 65 6e 64 42 6c 6f 63 6b 28 29 0a 7b 0a 24 63 68 61 72 73 20 3d 20 73 75 62 73 74 72 28 73 ependBlock().{.$chars.=.substr(s
139200 74 72 5f 72 65 70 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 74 68 69 73 2d tr_replace(PHP_EOL,."\n",.$this-
139220 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 2d 32 29 3b 0a >bufferedOutput->fetch()),.-2);.
139240 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 68 61 72 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e .if.(!isset($chars[0])).{.return
139260 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 20 0a 20 7d 0a 0a 20 24 74 68 69 73 2d 3e .$this->newLine();...}...$this->
139280 6e 65 77 4c 69 6e 65 28 32 20 2d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 68 61 72 73 2c newLine(2.-.substr_count($chars,
1392a0 20 22 5c 6e 22 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 ."\n"));.}..private.function.aut
1392c0 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 0a 7b 0a 24 66 65 74 63 68 65 64 20 3d 20 24 74 68 69 oPrependText().{.$fetched.=.$thi
1392e0 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 0a 20 69 66 s->bufferedOutput->fetch();...if
139300 20 28 22 5c 6e 22 20 21 3d 3d 20 73 75 62 73 74 72 28 24 66 65 74 63 68 65 64 2c 20 2d 31 29 29 .("\n".!==.substr($fetched,.-1))
139320 20 7b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 .{.$this->newLine();.}.}..privat
139340 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 e.function.reduceBuffer($message
139360 73 29 0a 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 s).{.....return.array_map(functi
139380 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 76 61 6c on.($value).{.return.substr($val
1393a0 75 65 2c 20 2d 34 29 3b 0a 7d 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 74 ue,.-4);.},.array_merge(array($t
1393c0 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 28 his->bufferedOutput->fetch()),.(
1393e0 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 array).$messages));.}..private.f
139400 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 unction.createBlock($messages,.$
139420 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 type.=.null,.$style.=.null,.$pre
139440 66 69 78 20 3d 20 27 20 27 2c 20 24 70 61 64 64 69 6e 67 20 3d 20 66 61 6c 73 65 2c 20 24 65 73 fix.=.'.',.$padding.=.false,.$es
139460 63 61 70 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 20 3d 20 cape.=.false).{.$indentLength.=.
139480 30 3b 0a 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 0;.$prefixLength.=.Helper::strle
1394a0 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 nWithoutDecoration($this->getFor
1394c0 6d 61 74 74 65 72 28 29 2c 20 24 70 72 65 66 69 78 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 matter(),.$prefix);.$lines.=.arr
1394e0 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 79 ay();..if.(null.!==.$type).{.$ty
139500 70 65 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 27 2c 20 24 74 79 70 65 29 3b 0a 24 69 pe.=.sprintf('[%s].',.$type);.$i
139520 6e 64 65 6e 74 4c 65 6e 67 74 68 20 3d 20 5c 73 74 72 6c 65 6e 28 24 74 79 70 65 29 3b 0a 24 6c ndentLength.=.\strlen($type);.$l
139540 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c ineIndentation.=.str_repeat('.',
139560 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 .$indentLength);.}....foreach.($
139580 6d 65 73 73 61 67 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 6d 65 73 73 61 67 65 29 20 7b 0a messages.as.$key.=>.$message).{.
1395a0 69 66 20 28 24 65 73 63 61 70 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 74 70 75 74 if.($escape).{.$message.=.Output
1395c0 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a Formatter::escape($message);.}..
1395e0 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 6e 65 73 2c 20 65 78 70 $lines.=.array_merge($lines,.exp
139600 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 77 6f 72 64 77 72 61 70 28 24 6d 65 73 73 61 67 65 2c lode(PHP_EOL,.wordwrap($message,
139620 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 2d 20 24 70 72 65 66 69 78 4c 65 6e 67 .$this->lineLength.-.$prefixLeng
139640 74 68 20 2d 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 2c 20 50 48 50 5f 45 4f 4c 2c 20 74 72 75 th.-.$indentLength,.PHP_EOL,.tru
139660 65 29 29 29 3b 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6d 65 73 73 61 67 65 73 29 20 3e 20 31 e)));..if.(\count($messages).>.1
139680 20 26 26 20 24 6b 65 79 20 3c 20 5c 63 6f 75 6e 74 28 24 6d 65 73 73 61 67 65 73 29 20 2d 20 31 .&&.$key.<.\count($messages).-.1
1396a0 29 20 7b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 27 3b 0a 7d 0a 7d 0a 0a 24 66 69 72 73 74 4c 69 ).{.$lines[].=.'';.}.}..$firstLi
1396c0 6e 65 49 6e 64 65 78 20 3d 20 30 3b 0a 69 66 20 28 24 70 61 64 64 69 6e 67 20 26 26 20 24 74 68 neIndex.=.0;.if.($padding.&&.$th
1396e0 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 66 69 72 73 74 4c 69 6e 65 49 is->isDecorated()).{.$firstLineI
139700 6e 64 65 78 20 3d 20 31 3b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 6c 69 6e 65 73 2c 20 ndex.=.1;.array_unshift($lines,.
139720 27 27 29 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 '');.$lines[].=.'';.}..foreach.(
139740 24 6c 69 6e 65 73 20 61 73 20 24 69 20 3d 3e 20 26 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 6e 75 $lines.as.$i.=>.&$line).{.if.(nu
139760 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 24 66 69 72 73 74 4c 69 ll.!==.$type).{.$line.=.$firstLi
139780 6e 65 49 6e 64 65 78 20 3d 3d 3d 20 24 69 20 3f 20 24 74 79 70 65 2e 24 6c 69 6e 65 20 3a 20 24 neIndex.===.$i.?.$type.$line.:.$
1397a0 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 2e 24 6c 69 6e 65 3b 0a 7d 0a 0a 24 6c 69 6e 65 20 lineIndentation.$line;.}..$line.
1397c0 3d 20 24 70 72 65 66 69 78 2e 24 6c 69 6e 65 3b 0a 24 6c 69 6e 65 20 2e 3d 20 73 74 72 5f 72 65 =.$prefix.$line;.$line..=.str_re
1397e0 70 65 61 74 28 27 20 27 2c 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 2d 20 48 65 peat('.',.$this->lineLength.-.He
139800 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 lper::strlenWithoutDecoration($t
139820 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 6c 69 6e 65 29 29 3b 0a 0a 69 his->getFormatter(),.$line));..i
139840 66 20 28 24 73 74 79 6c 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 25 f.($style).{.$line.=.sprintf('<%
139860 73 3e 25 73 3c 2f 3e 27 2c 20 24 73 74 79 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 7d 0a 0a 72 s>%s</>',.$style,.$line);.}.}..r
139880 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a eturn.$lines;.}.}.<?php.........
1398a0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
1398c0 6e 73 6f 6c 65 5c 54 65 73 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nsole\Tester;..use.Symfony\Compo
1398e0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 nent\Console\Application;.use.Sy
139900 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 mfony\Component\Console\Input\Ar
139920 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c rayInput;.use.Symfony\Component\
139940 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
139960 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 e.Symfony\Component\Console\Outp
139980 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ut\OutputInterface;.use.Symfony\
1399a0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f Component\Console\Output\StreamO
1399c0 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 utput;............class.Applicat
1399e0 69 6f 6e 54 65 73 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e ionTester.{.private.$application
139a00 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 ;.private.$input;.private.$outpu
139a20 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 t;.private.$statusCode;..public.
139a40 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e function.__construct(Application
139a60 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 .$application).{.$this->applicat
139a80 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ion.=.$application;.}...........
139aa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 61 72 72 61 79 20 24 .....public.function.run(array.$
139ac0 69 6e 70 75 74 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 input,.$options.=.array()).{.$th
139ae0 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 24 69 6e 70 75 is->input.=.new.ArrayInput($inpu
139b00 74 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 t);.if.(isset($options['interact
139b20 69 76 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 ive'])).{.$this->input->setInter
139b40 61 63 74 69 76 65 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 3b active($options['interactive']);
139b60 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 .}..$this->output.=.new.StreamOu
139b80 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 tput(fopen('php://memory',.'w',.
139ba0 66 61 6c 73 65 29 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 false));.if.(isset($options['dec
139bc0 6f 72 61 74 65 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 orated'])).{.$this->output->setD
139be0 65 63 6f 72 61 74 65 64 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 3b ecorated($options['decorated']);
139c00 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 .}.if.(isset($options['verbosity
139c20 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 '])).{.$this->output->setVerbosi
139c40 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 ty($options['verbosity']);.}..re
139c60 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e turn.$this->statusCode.=.$this->
139c80 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 application->run($this->input,.$
139ca0 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 this->output);.}.........public.
139cc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 70 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d function.getDisplay($normalize.=
139ce0 20 66 61 6c 73 65 29 0a 7b 0a 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e .false).{.rewind($this->output->
139d00 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 65 61 6d getStream());..$display.=.stream
139d20 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 _get_contents($this->output->get
139d40 53 74 72 65 61 6d 28 29 29 3b 0a 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 24 64 Stream());..if.($normalize).{.$d
139d60 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c isplay.=.str_replace(PHP_EOL,."\
139d80 6e 22 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 n",.$display);.}..return.$displa
139da0 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e y;.}.......public.function.getIn
139dc0 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a put().{.return.$this->input;.}..
139de0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 .....public.function.getOutput()
139e00 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a .{.return.$this->output;.}......
139e20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 .public.function.getStatusCode()
139e40 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d .{.return.$this->statusCode;.}.}
139e60 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
139e80 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 73 74 65 72 3b 0a 0a 75 73 ny\Component\Console\Tester;..us
139ea0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d e.Symfony\Component\Console\Comm
139ec0 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 and\Command;.use.Symfony\Compone
139ee0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 nt\Console\Input\ArrayInput;.use
139f00 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
139f20 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \InputInterface;.use.Symfony\Com
139f40 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
139f60 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
139f80 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a sole\Output\StreamOutput;.......
139fa0 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 class.CommandTester.{.private.$c
139fc0 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 ommand;.private.$input;.private.
139fe0 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 $output;.private.$statusCode;..p
13a000 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 ublic.function.__construct(Comma
13a020 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 nd.$command).{.$this->command.=.
13a040 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 $command;.}................publi
13a060 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 61 72 72 61 79 20 24 69 6e 70 75 74 2c c.function.execute(array.$input,
13a080 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 0a 20 0a .array.$options.=.array()).{....
13a0a0 20 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 70 75 74 5b 27 63 6f 6d 6d 61 6e 64 27 5d 29 0a 26 .if.(!isset($input['command']).&
13a0c0 26 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 &.(null.!==.$application.=.$this
13a0e0 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 29 0a 26 26 20 ->command->getApplication()).&&.
13a100 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 68 $application->getDefinition()->h
13a120 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 0a 29 20 7b 0a 24 69 6e 70 75 74 asArgument('command').).{.$input
13a140 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d .=.array_merge(array('command'.=
13a160 3e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 24 69 >.$this->command->getName()),.$i
13a180 6e 70 75 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 nput);.}..$this->input.=.new.Arr
13a1a0 61 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 ayInput($input);.if.(isset($opti
13a1c0 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e ons['interactive'])).{.$this->in
13a1e0 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e put->setInteractive($options['in
13a200 74 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d teractive']);.}..$this->output.=
13a220 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d .new.StreamOutput(fopen('php://m
13a240 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c 73 65 29 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 emory',.'w',.false));.$this->out
13a260 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 put->setDecorated(isset($options
13a280 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 ['decorated']).?.$options['decor
13a2a0 61 74 65 64 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 ated'].:.false);.if.(isset($opti
13a2c0 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 ons['verbosity'])).{.$this->outp
13a2e0 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f ut->setVerbosity($options['verbo
13a300 73 69 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 sity']);.}..return.$this->status
13a320 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 74 68 69 73 Code.=.$this->command->run($this
13a340 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ->input,.$this->output);.}......
13a360 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 70 6c 61 79 28 24 6e ...public.function.getDisplay($n
13a380 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 77 69 6e 64 28 24 74 68 69 73 ormalize.=.false).{.rewind($this
13a3a0 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 64 69 73 70 6c 61 ->output->getStream());..$displa
13a3c0 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f y.=.stream_get_contents($this->o
13a3e0 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 69 66 20 28 24 6e 6f 72 6d 61 utput->getStream());..if.($norma
13a400 6c 69 7a 65 29 20 7b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 50 lize).{.$display.=.str_replace(P
13a420 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 7d 0a 0a 72 65 74 75 HP_EOL,."\n",.$display);.}..retu
13a440 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rn.$display;.}.......public.func
13a460 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tion.getInput().{.return.$this->
13a480 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 input;.}.......public.function.g
13a4a0 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 etOutput().{.return.$this->outpu
13a4c0 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 t;.}.......public.function.getSt
13a4e0 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 atusCode().{.return.$this->statu
13a500 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 sCode;.}.}.<?php...........names
13a520 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 pace.Symfony\Component\Debug;..u
13a540 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a se.Psr\Log\AbstractLogger;......
13a560 0a 63 6c 61 73 73 20 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 .class.BufferingLogger.extends.A
13a580 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 73 20 3d 20 bstractLogger.{.private.$logs.=.
13a5a0 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c array();..public.function.log($l
13a5c0 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d evel,.$message,.array.$context.=
13a5e0 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 73 5b 5d 20 3d 20 61 72 72 61 .array()).{.$this->logs[].=.arra
13a600 79 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d y($level,.$message,.$context);.}
13a620 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 4c 6f 67 73 28 29 0a 7b 0a ..public.function.cleanLogs().{.
13a640 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 73 3b 0a 24 74 68 69 73 2d 3e 6c 6f 67 73 $logs.=.$this->logs;.$this->logs
13a660 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 67 73 3b 0a 7d 0a 7d 0a 3c .=.array();..return.$logs;.}.}.<
13a680 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
13a6a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 \Component\Debug;.......class.De
13a6c0 62 75 67 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 65 6e 61 62 6c 65 64 20 3d 20 bug.{.private.static.$enabled.=.
13a6e0 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 false;..........public.static.fu
13a700 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 24 65 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 nction.enable($errorReportingLev
13a720 65 6c 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 74 72 75 65 el.=.null,.$displayErrors.=.true
13a740 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 24 65 6e 61 62 6c 65 64 29 20 7b 0a 72 65 74 75 ).{.if.(static::$enabled).{.retu
13a760 72 6e 3b 0a 7d 0a 0a 73 74 61 74 69 63 3a 3a 24 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a rn;.}..static::$enabled.=.true;.
13a780 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 .if.(null.!==.$errorReportingLev
13a7a0 65 6c 29 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 65 72 72 6f 72 52 65 70 6f el).{.error_reporting($errorRepo
13a7c0 72 74 69 6e 67 4c 65 76 65 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f rtingLevel);.}.else.{.error_repo
13a7e0 72 74 69 6e 67 28 2d 31 29 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 6e 5f 61 72 72 61 79 28 5c 50 48 rting(-1);.}..if.(!\in_array(\PH
13a800 50 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c 69 27 2c 20 27 70 68 70 64 62 67 27 29 2c 20 P_SAPI,.array('cli',.'phpdbg'),.
13a820 74 72 75 65 29 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 true)).{.ini_set('display_errors
13a840 27 2c 20 30 29 3b 0a 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 ',.0);.ExceptionHandler::registe
13a860 72 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 26 26 r();.}.elseif.($displayErrors.&&
13a880 20 28 21 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 6c 6f 67 5f 65 72 72 6f 72 .(!filter_var(ini_get('log_error
13a8a0 73 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 20 7c 7c s'),.FILTER_VALIDATE_BOOLEAN).||
13a8c0 20 69 6e 69 5f 67 65 74 28 27 65 72 72 6f 72 5f 6c 6f 67 27 29 29 29 20 7b 0a 0a 20 69 6e 69 5f .ini_get('error_log'))).{...ini_
13a8e0 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 31 29 3b 0a 7d 0a 69 66 20 28 set('display_errors',.1);.}.if.(
13a900 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a $displayErrors).{.ErrorHandler::
13a920 72 65 67 69 73 74 65 72 28 6e 65 77 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 6e 65 77 20 42 75 register(new.ErrorHandler(new.Bu
13a940 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 45 72 72 6f fferingLogger()));.}.else.{.Erro
13a960 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 2d 3e 74 68 72 6f 77 41 74 28 30 2c rHandler::register()->throwAt(0,
13a980 20 74 72 75 65 29 3b 0a 7d 0a 0a 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 65 6e 61 .true);.}..DebugClassLoader::ena
13a9a0 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ble();.}.}.<?php...........names
13a9c0 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 0a pace.Symfony\Component\Debug;...
13a9e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 ..........class.DebugClassLoader
13aa00 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 70 72 69 76 61 74 65 .{.private.$classLoader;.private
13aa20 20 24 69 73 46 69 6e 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 64 20 3d 20 61 72 .$isFinder;.private.$loaded.=.ar
13aa40 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 77 61 73 46 69 6e 64 65 72 3b 0a 70 72 69 76 61 ray();.private.$wasFinder;.priva
13aa60 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 43 68 65 63 6b 3b 0a 70 72 69 76 61 74 65 20 73 74 te.static.$caseCheck;.private.st
13aa80 61 74 69 63 20 24 64 65 70 72 65 63 61 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 atic.$deprecated.=.array();.priv
13aaa0 61 74 65 20 73 74 61 74 69 63 20 24 70 68 70 37 52 65 73 65 72 76 65 64 20 3d 20 61 72 72 61 79 ate.static.$php7Reserved.=.array
13aac0 28 27 69 6e 74 27 2c 20 27 66 6c 6f 61 74 27 2c 20 27 62 6f 6f 6c 27 2c 20 27 73 74 72 69 6e 67 ('int',.'float',.'bool',.'string
13aae0 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 6e 75 6c 6c 27 29 3b 0a 70 72 69 ',.'true',.'false',.'null');.pri
13ab00 76 61 74 65 20 73 74 61 74 69 63 20 24 64 61 72 77 69 6e 43 61 63 68 65 20 3d 20 61 72 72 61 79 vate.static.$darwinCache.=.array
13ab20 28 27 2f 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 27 2c 20 61 72 72 61 79 28 29 29 29 3b 0a 0a 0a ('/'.=>.array('/',.array()));...
13ab40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 ..public.function.__construct($c
13ab60 6c 61 73 73 4c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 20 3d lassLoader).{.$this->wasFinder.=
13ab80 20 5c 69 73 5f 6f 62 6a 65 63 74 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 20 26 26 20 6d 65 74 .\is_object($classLoader).&&.met
13aba0 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 27 66 69 6e 64 46 69 hod_exists($classLoader,.'findFi
13abc0 6c 65 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 29 20 7b 0a 40 le');..if.($this->wasFinder).{.@
13abe0 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e trigger_error('The.'.__METHOD__.
13ac00 27 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 20 '.method.will.no.longer.support.
13ac20 72 65 63 65 69 76 69 6e 67 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 6f 20 69 74 73 20 24 63 6c receiving.an.object.into.its.$cl
13ac40 61 73 73 4c 6f 61 64 65 72 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 assLoader.argument.in.3.0.',.E_U
13ac60 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 SER_DEPRECATED);.$this->classLoa
13ac80 64 65 72 20 3d 20 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 27 6c 6f 61 64 43 der.=.array($classLoader,.'loadC
13aca0 6c 61 73 73 27 29 3b 0a 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 20 3d 20 74 72 75 65 3b 0a lass');.$this->isFinder.=.true;.
13acc0 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 20 3d 20 24 63 }.else.{.$this->classLoader.=.$c
13ace0 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 20 3d 20 5c 69 lassLoader;.$this->isFinder.=.\i
13ad00 73 5f 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 20 26 26 20 6d 65 74 68 6f 64 5f s_array($classLoader).&&.method_
13ad20 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d 2c 20 27 66 69 6e 64 46 69 6c exists($classLoader[0],.'findFil
13ad40 65 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 e');.}..if.(!isset(self::$caseCh
13ad60 65 63 6b 29 29 20 7b 0a 24 66 69 6c 65 20 3d 20 66 69 6c 65 5f 65 78 69 73 74 73 28 5f 5f 46 49 eck)).{.$file.=.file_exists(__FI
13ad80 4c 45 5f 5f 29 20 3f 20 5f 5f 46 49 4c 45 5f 5f 20 3a 20 72 74 72 69 6d 28 72 65 61 6c 70 61 74 LE__).?.__FILE__.:.rtrim(realpat
13ada0 68 28 27 2e 27 29 2c 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 24 h('.'),.\DIRECTORY_SEPARATOR);.$
13adc0 69 20 3d 20 73 74 72 72 70 6f 73 28 24 66 69 6c 65 2c 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 i.=.strrpos($file,.\DIRECTORY_SE
13ade0 50 41 52 41 54 4f 52 29 3b 0a 24 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 2c 20 30 PARATOR);.$dir.=.substr($file,.0
13ae00 2c 20 31 20 2b 20 24 69 29 3b 0a 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 2c ,.1.+.$i);.$file.=.substr($file,
13ae20 20 31 20 2b 20 24 69 29 3b 0a 24 74 65 73 74 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 24 66 69 .1.+.$i);.$test.=.strtoupper($fi
13ae40 6c 65 29 20 3d 3d 3d 20 24 66 69 6c 65 20 3f 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 66 69 6c 65 le).===.$file.?.strtolower($file
13ae60 29 20 3a 20 73 74 72 74 6f 75 70 70 65 72 28 24 66 69 6c 65 29 3b 0a 24 74 65 73 74 20 3d 20 72 ).:.strtoupper($file);.$test.=.r
13ae80 65 61 6c 70 61 74 68 28 24 64 69 72 2e 24 74 65 73 74 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 ealpath($dir.$test);..if.(false.
13aea0 3d 3d 3d 20 24 74 65 73 74 20 7c 7c 20 66 61 6c 73 65 20 3d 3d 3d 20 24 69 29 20 7b 0a 0a 20 73 ===.$test.||.false.===.$i).{...s
13aec0 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 elf::$caseCheck.=.0;.}.elseif.(s
13aee0 75 62 73 74 72 28 24 74 65 73 74 2c 20 2d 5c 73 74 72 6c 65 6e 28 24 66 69 6c 65 29 29 20 3d 3d ubstr($test,.-\strlen($file)).==
13af00 3d 20 24 66 69 6c 65 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 =.$file).{...self::$caseCheck.=.
13af20 31 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 50 1;.}.elseif.(false.!==.stripos(P
13af40 48 50 5f 4f 53 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 HP_OS,.'darwin')).{...self::$cas
13af60 65 43 68 65 63 6b 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 eCheck.=.2;.}.else.{...self::$ca
13af80 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 seCheck.=.0;.}.}.}.......public.
13afa0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 0a 7b 0a 72 65 74 75 function.getClassLoader().{.retu
13afc0 72 6e 20 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 20 3f 20 24 74 68 69 73 2d 3e 63 6c 61 rn.$this->wasFinder.?.$this->cla
13afe0 73 73 4c 6f 61 64 65 72 5b 30 5d 20 3a 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 ssLoader[0].:.$this->classLoader
13b000 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 ;.}.....public.static.function.e
13b020 6e 61 62 6c 65 28 29 0a 7b 0a 0a 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e nable().{...class_exists('Symfon
13b040 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 29 y\Component\Debug\ErrorHandler')
13b060 3b 0a 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c ;.class_exists('Psr\Log\LogLevel
13b080 27 29 3b 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 73 20 3d ');..if.(!\is_array($functions.=
13b0a0 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 72 65 .spl_autoload_functions())).{.re
13b0c0 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 turn;.}..foreach.($functions.as.
13b0e0 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 $function).{.spl_autoload_unregi
13b100 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 ster($function);.}..foreach.($fu
13b120 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 5c 69 73 nctions.as.$function).{.if.(!\is
13b140 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 20 7c 7c 20 21 24 66 75 6e 63 74 69 6f 6e 5b _array($function).||.!$function[
13b160 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 0].instanceof.self).{.$function.
13b180 3d 20 61 72 72 61 79 28 6e 65 77 20 73 74 61 74 69 63 28 24 66 75 6e 63 74 69 6f 6e 29 2c 20 27 =.array(new.static($function),.'
13b1a0 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 loadClass');.}..spl_autoload_reg
13b1c0 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ister($function);.}.}.....public
13b1e0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 28 29 0a 7b 0a 69 66 20 .static.function.disable().{.if.
13b200 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 73 20 3d 20 73 70 6c 5f 61 75 74 (!\is_array($functions.=.spl_aut
13b220 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a oload_functions())).{.return;.}.
13b240 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f .foreach.($functions.as.$functio
13b260 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 24 66 75 n).{.spl_autoload_unregister($fu
13b280 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 nction);.}..foreach.($functions.
13b2a0 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 66 as.$function).{.if.(\is_array($f
13b2c0 75 6e 63 74 69 6f 6e 29 20 26 26 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 unction).&&.$function[0].instanc
13b2e0 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 6e 63 74 69 6f eof.self).{.$function.=.$functio
13b300 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 7d 0a 0a 73 70 6c 5f 61 n[0]->getClassLoader();.}..spl_a
13b320 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 7d utoload_register($function);.}.}
13b340 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 ...........public.function.findF
13b360 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 ile($class).{.@trigger_error('Th
13b380 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 e.'.__METHOD__.'.method.is.depre
13b3a0 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c cated.since.Symfony.2.5.and.will
13b3c0 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 .be.removed.in.3.0.',.E_USER_DEP
13b3e0 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 29 RECATED);..if.($this->wasFinder)
13b400 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d 2d .{.return.$this->classLoader[0]-
13b420 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >findFile($class);.}.}..........
13b440 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 .public.function.loadClass($clas
13b460 73 29 0a 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 73 74 61 63 6b 45 72 72 6f 72 73 28 29 s).{.ErrorHandler::stackErrors()
13b480 3b 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 20 26 26 20 ;..try.{.if.($this->isFinder.&&.
13b4a0 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 5b 24 63 6c 61 73 73 5d 29 29 20 7b !isset($this->loaded[$class])).{
13b4c0 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 5b 24 63 6c 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a 69 .$this->loaded[$class].=.true;.i
13b4e0 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d f.($file.=.$this->classLoader[0]
13b500 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 72 65 71 75 69 72 65 20 24 66 ->findFile($class)).{.require.$f
13b520 69 6c 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 ile;.}.}.else.{.\call_user_func(
13b540 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 24 63 6c 61 73 73 29 3b 0a 24 66 69 $this->classLoader,.$class);.$fi
13b560 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f le.=.false;.}.}.catch.(\Exceptio
13b580 6e 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 n.$e).{.ErrorHandler::unstackErr
13b5a0 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f ors();..throw.$e;.}.catch.(\Thro
13b5c0 77 61 62 6c 65 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 wable.$e).{.ErrorHandler::unstac
13b5e0 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 45 72 72 6f 72 48 61 kErrors();..throw.$e;.}..ErrorHa
13b600 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 24 65 78 69 73 74 73 ndler::unstackErrors();..$exists
13b620 20 3d 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c .=.class_exists($class,.false).|
13b640 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 |.interface_exists($class,.false
13b660 29 20 7c 7c 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 74 72 61 69 74 5f 65 78 ).||.(\function_exists('trait_ex
13b680 69 73 74 73 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 ists').&&.trait_exists($class,.f
13b6a0 61 6c 73 65 29 29 3b 0a 0a 69 66 20 28 24 63 6c 61 73 73 20 26 26 20 27 5c 5c 27 20 3d 3d 3d 20 alse));..if.($class.&&.'\\'.===.
13b6c0 24 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 73 75 62 73 74 72 28 24 63 6c $class[0]).{.$class.=.substr($cl
13b6e0 61 73 73 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 24 72 65 66 6c ass,.1);.}..if.($exists).{.$refl
13b700 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 28 24 63 6c 61 73 73 29 3b .=.new.\ReflectionClass($class);
13b720 0a 24 6e 61 6d 65 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 .$name.=.$refl->getName();..if.(
13b740 24 6e 61 6d 65 20 21 3d 3d 20 24 63 6c 61 73 73 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 63 61 73 $name.!==.$class.&&.0.===.strcas
13b760 65 63 6d 70 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ecmp($name,.$class)).{.throw.new
13b780 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 73 65 .\RuntimeException(sprintf('Case
13b7a0 20 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 6c 6f 61 64 65 64 20 61 6e 64 20 64 65 63 .mismatch.between.loaded.and.dec
13b7c0 6c 61 72 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 27 2c 20 24 63 lared.class.names:.%s.vs.%s',.$c
13b7e0 6c 61 73 73 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 5c 69 6e 5f 61 72 72 61 79 28 lass,.$name));.}..if.(\in_array(
13b800 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 66 6c 2d 3e 67 65 74 53 68 6f 72 74 4e 61 6d 65 28 29 strtolower($refl->getShortName()
13b820 29 2c 20 73 65 6c 66 3a 3a 24 70 68 70 37 52 65 73 65 72 76 65 64 29 29 20 7b 0a 40 74 72 69 67 ),.self::$php7Reserved)).{.@trig
13b840 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 25 73 20 75 73 65 73 20 61 20 72 65 73 ger_error(sprintf('%s.uses.a.res
13b860 65 72 76 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 20 28 25 73 29 20 74 68 61 74 20 77 69 6c 6c 20 erved.class.name.(%s).that.will.
13b880 62 72 65 61 6b 20 6f 6e 20 50 48 50 20 37 20 61 6e 64 20 68 69 67 68 65 72 27 2c 20 24 6e 61 6d break.on.PHP.7.and.higher',.$nam
13b8a0 65 2c 20 24 72 65 66 6c 2d 3e 67 65 74 53 68 6f 72 74 4e 61 6d 65 28 29 29 2c 20 45 5f 55 53 45 e,.$refl->getShortName()),.E_USE
13b8c0 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 R_DEPRECATED);.}.elseif.(preg_ma
13b8e0 74 63 68 28 27 23 5c 6e 20 5c 2a 20 40 64 65 70 72 65 63 61 74 65 64 20 28 2e 2a 3f 29 5c 72 3f tch('#\n.\*.@deprecated.(.*?)\r?
13b900 5c 6e 20 5c 2a 28 3f 3a 20 40 7c 2f 24 29 23 73 27 2c 20 24 72 65 66 6c 2d 3e 67 65 74 44 6f 63 \n.\*(?:.@|/$)#s',.$refl->getDoc
13b920 43 6f 6d 6d 65 6e 74 28 29 2c 20 24 6e 6f 74 69 63 65 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 65 Comment(),.$notice)).{.self::$de
13b940 70 72 65 63 61 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 precated[$name].=.preg_replace('
13b960 23 5c 73 2a 5c 72 3f 5c 6e 20 5c 2a 20 2b 23 27 2c 20 27 20 27 2c 20 24 6e 6f 74 69 63 65 5b 31 #\s*\r?\n.\*.+#',.'.',.$notice[1
13b980 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 32 20 3e 20 24 6c 65 6e 20 3d 20 31 20 2b 20 ]);.}.else.{.if.(2.>.$len.=.1.+.
13b9a0 28 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 20 3f 3a 20 73 74 72 70 6f 73 28 24 (strpos($name,.'\\').?:.strpos($
13b9c0 6e 61 6d 65 2c 20 27 5f 27 29 29 29 20 7b 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 6e 73 20 3d 20 27 name,.'_'))).{.$len.=.0;.$ns.=.'
13b9e0 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 73 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 ';.}.else.{.$ns.=.substr($name,.
13ba00 30 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 24 70 61 72 65 6e 74 20 3d 20 67 65 74 5f 70 61 72 65 6e 74 0,.$len);.}.$parent.=.get_parent
13ba20 5f 63 6c 61 73 73 28 24 63 6c 61 73 73 29 3b 0a 0a 69 66 20 28 21 24 70 61 72 65 6e 74 20 7c 7c _class($class);..if.(!$parent.||
13ba40 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 70 61 72 65 6e 74 2c 20 24 6c 65 6e 29 29 20 7b 0a .strncmp($ns,.$parent,.$len)).{.
13ba60 69 66 20 28 24 70 61 72 65 6e 74 20 26 26 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 if.($parent.&&.isset(self::$depr
13ba80 65 63 61 74 65 64 5b 24 70 61 72 65 6e 74 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c ecated[$parent]).&&.strncmp($ns,
13baa0 20 24 70 61 72 65 6e 74 2c 20 24 6c 65 6e 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f .$parent,.$len)).{.@trigger_erro
13bac0 72 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 63 6c 61 73 73 20 65 78 74 65 6e 64 73 20 r(sprintf('The.%s.class.extends.
13bae0 25 73 20 74 68 61 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 %s.that.is.deprecated.%s',.$name
13bb00 2c 20 24 70 61 72 65 6e 74 2c 20 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 70 61 ,.$parent,.self::$deprecated[$pa
13bb20 72 65 6e 74 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 rent]),.E_USER_DEPRECATED);.}..$
13bb40 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 70 parentInterfaces.=.array();.$dep
13bb60 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 recatedInterfaces.=.array();.if.
13bb80 28 24 70 61 72 65 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f 69 6d 70 6c 65 ($parent).{.foreach.(class_imple
13bba0 6d 65 6e 74 73 28 24 70 61 72 65 6e 74 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a ments($parent).as.$interface).{.
13bbc0 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 20 3d 20 $parentInterfaces[$interface].=.
13bbe0 31 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 66 6c 2d 3e 67 65 74 49 6e 74 65 72 1;.}.}..foreach.($refl->getInter
13bc00 66 61 63 65 4e 61 6d 65 73 28 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 faceNames().as.$interface).{.if.
13bc20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 69 6e 74 65 72 66 (isset(self::$deprecated[$interf
13bc40 61 63 65 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 69 6e 74 65 72 66 61 63 65 ace]).&&.strncmp($ns,.$interface
13bc60 2c 20 24 6c 65 6e 29 29 20 7b 0a 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 ,.$len)).{.$deprecatedInterfaces
13bc80 5b 5d 20 3d 20 24 69 6e 74 65 72 66 61 63 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 63 6c 61 73 [].=.$interface;.}.foreach.(clas
13bca0 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 69 6e 74 65 72 66 61 63 65 29 20 61 73 20 24 69 6e 74 s_implements($interface).as.$int
13bcc0 65 72 66 61 63 65 29 20 7b 0a 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e 74 erface).{.$parentInterfaces[$int
13bce0 65 72 66 61 63 65 5d 20 3d 20 31 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 72 erface].=.1;.}.}..foreach.($depr
13bd00 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 ecatedInterfaces.as.$interface).
13bd20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 {.if.(!isset($parentInterfaces[$
13bd40 69 6e 74 65 72 66 61 63 65 5d 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 interface])).{.@trigger_error(sp
13bd60 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 25 73 20 25 73 20 74 68 61 74 20 69 73 20 64 65 70 72 rintf('The.%s.%s.%s.that.is.depr
13bd80 65 63 61 74 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 24 72 65 66 6c 2d 3e 69 73 49 6e 74 65 ecated.%s',.$name,.$refl->isInte
13bda0 72 66 61 63 65 28 29 20 3f 20 27 69 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 27 20 3a 20 rface().?.'interface.extends'.:.
13bdc0 27 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 27 2c 20 24 69 6e 74 65 72 66 61 63 65 2c 20 'class.implements',.$interface,.
13bde0 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 2c 20 self::$deprecated[$interface]),.
13be00 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 E_USER_DEPRECATED);.}.}.}.}.}..i
13be20 66 20 28 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 21 24 65 78 69 73 74 73 29 20 7b 0a 69 66 20 28 f.($file).{.if.(!$exists).{.if.(
13be40 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 2f 27 29 29 20 7b false.!==.strpos($class,.'/')).{
13be60 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 .throw.new.\RuntimeException(spr
13be80 69 6e 74 66 28 27 54 72 79 69 6e 67 20 74 6f 20 61 75 74 6f 6c 6f 61 64 20 61 20 63 6c 61 73 73 intf('Trying.to.autoload.a.class
13bea0 20 77 69 74 68 20 61 6e 20 69 6e 76 61 6c 69 64 20 6e 61 6d 65 20 22 25 73 22 2e 20 42 65 20 63 .with.an.invalid.name."%s"..Be.c
13bec0 61 72 65 66 75 6c 20 74 68 61 74 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 areful.that.the.namespace.separa
13bee0 74 6f 72 20 69 73 20 22 5c 22 20 69 6e 20 50 48 50 2c 20 6e 6f 74 20 22 2f 22 2e 27 2c 20 24 63 tor.is."\".in.PHP,.not."/".',.$c
13bf00 6c 61 73 73 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 lass));.}..throw.new.\RuntimeExc
13bf20 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 65 eption(sprintf('The.autoloader.e
13bf40 78 70 65 63 74 65 64 20 63 6c 61 73 73 20 22 25 73 22 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 xpected.class."%s".to.be.defined
13bf60 20 69 6e 20 66 69 6c 65 20 22 25 73 22 2e 20 54 68 65 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e .in.file."%s"..The.file.was.foun
13bf80 64 20 62 75 74 20 74 68 65 20 63 6c 61 73 73 20 77 61 73 20 6e 6f 74 20 69 6e 20 69 74 2c 20 74 d.but.the.class.was.not.in.it,.t
13bfa0 68 65 20 63 6c 61 73 73 20 6e 61 6d 65 20 6f 72 20 6e 61 6d 65 73 70 61 63 65 20 70 72 6f 62 61 he.class.name.or.namespace.proba
13bfc0 62 6c 79 20 68 61 73 20 61 20 74 79 70 6f 2e 27 2c 20 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 bly.has.a.typo.',.$class,.$file)
13bfe0 29 3b 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 7b 0a 24 72 65 );.}.if.(self::$caseCheck).{.$re
13c000 61 6c 20 3d 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 2e 73 74 72 72 63 68 al.=.explode('\\',.$class.strrch
13c020 72 28 24 66 69 6c 65 2c 20 27 2e 27 29 29 3b 0a 24 74 61 69 6c 20 3d 20 65 78 70 6c 6f 64 65 28 r($file,.'.'));.$tail.=.explode(
13c040 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 73 74 72 5f 72 65 70 6c 61 63 \DIRECTORY_SEPARATOR,.str_replac
13c060 65 28 27 2f 27 2c 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 66 69 e('/',.\DIRECTORY_SEPARATOR,.$fi
13c080 6c 65 29 29 3b 0a 0a 24 69 20 3d 20 5c 63 6f 75 6e 74 28 24 74 61 69 6c 29 20 2d 20 31 3b 0a 24 le));..$i.=.\count($tail).-.1;.$
13c0a0 6a 20 3d 20 5c 63 6f 75 6e 74 28 24 72 65 61 6c 29 20 2d 20 31 3b 0a 0a 77 68 69 6c 65 20 28 69 j.=.\count($real).-.1;..while.(i
13c0c0 73 73 65 74 28 24 74 61 69 6c 5b 24 69 5d 2c 20 24 72 65 61 6c 5b 24 6a 5d 29 20 26 26 20 24 74 sset($tail[$i],.$real[$j]).&&.$t
13c0e0 61 69 6c 5b 24 69 5d 20 3d 3d 3d 20 24 72 65 61 6c 5b 24 6a 5d 29 20 7b 0a 2d 2d 24 69 3b 0a 2d ail[$i].===.$real[$j]).{.--$i;.-
13c100 2d 24 6a 3b 0a 7d 0a 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 61 69 6c 2c 20 30 2c 20 24 -$j;.}..array_splice($tail,.0,.$
13c120 69 20 2b 20 31 29 3b 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 26 i.+.1);.}.if.(self::$caseCheck.&
13c140 26 20 24 74 61 69 6c 29 20 7b 0a 24 74 61 69 6c 20 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 &.$tail).{.$tail.=.\DIRECTORY_SE
13c160 50 41 52 41 54 4f 52 2e 69 6d 70 6c 6f 64 65 28 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 PARATOR.implode(\DIRECTORY_SEPAR
13c180 41 54 4f 52 2c 20 24 74 61 69 6c 29 3b 0a 24 74 61 69 6c 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e ATOR,.$tail);.$tailLen.=.\strlen
13c1a0 28 24 74 61 69 6c 29 3b 0a 24 72 65 61 6c 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 46 69 6c 65 4e ($tail);.$real.=.$refl->getFileN
13c1c0 61 6d 65 28 29 3b 0a 0a 69 66 20 28 32 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 ame();..if.(2.===.self::$caseChe
13c1e0 63 6b 29 20 7b 0a 0a 0a 24 69 20 3d 20 31 20 2b 20 73 74 72 72 70 6f 73 28 24 72 65 61 6c 2c 20 ck).{...$i.=.1.+.strrpos($real,.
13c200 27 2f 27 29 3b 0a 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 24 69 29 3b '/');.$file.=.substr($real,.$i);
13c220 0a 24 72 65 61 6c 20 3d 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 30 2c 20 24 69 29 3b 0a 0a .$real.=.substr($real,.0,.$i);..
13c240 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 72 65 if.(isset(self::$darwinCache[$re
13c260 61 6c 5d 29 29 20 7b 0a 24 6b 44 69 72 20 3d 20 24 72 65 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a al])).{.$kDir.=.$real;.}.else.{.
13c280 24 6b 44 69 72 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 61 6c 29 3b 0a 0a 69 66 20 28 $kDir.=.strtolower($real);..if.(
13c2a0 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 29 isset(self::$darwinCache[$kDir])
13c2c0 29 20 7b 0a 24 72 65 61 6c 20 3d 20 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 ).{.$real.=.self::$darwinCache[$
13c2e0 6b 44 69 72 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 20 3d 20 67 65 74 63 77 64 kDir][0];.}.else.{.$dir.=.getcwd
13c300 28 29 3b 0a 63 68 64 69 72 28 24 72 65 61 6c 29 3b 0a 24 72 65 61 6c 20 3d 20 67 65 74 63 77 64 ();.chdir($real);.$real.=.getcwd
13c320 28 29 2e 27 2f 27 3b 0a 63 68 64 69 72 28 24 64 69 72 29 3b 0a 0a 24 64 69 72 20 3d 20 24 72 65 ().'/';.chdir($dir);..$dir.=.$re
13c340 61 6c 3b 0a 24 6b 20 3d 20 24 6b 44 69 72 3b 0a 24 69 20 3d 20 5c 73 74 72 6c 65 6e 28 24 64 69 al;.$k.=.$kDir;.$i.=.\strlen($di
13c360 72 29 20 2d 20 31 3b 0a 77 68 69 6c 65 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 r).-.1;.while.(!isset(self::$dar
13c380 77 69 6e 43 61 63 68 65 5b 24 6b 5d 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 winCache[$k])).{.self::$darwinCa
13c3a0 63 68 65 5b 24 6b 5d 20 3d 20 61 72 72 61 79 28 24 64 69 72 2c 20 61 72 72 61 79 28 29 29 3b 0a che[$k].=.array($dir,.array());.
13c3c0 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 64 69 72 5d 20 3d 20 26 73 65 6c 66 self::$darwinCache[$dir].=.&self
13c3e0 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 3b 0a 0a 77 68 69 6c 65 20 28 27 2f 27 20 ::$darwinCache[$k];..while.('/'.
13c400 21 3d 3d 20 24 64 69 72 5b 2d 2d 24 69 5d 29 20 7b 0a 7d 0a 24 6b 20 3d 20 73 75 62 73 74 72 28 !==.$dir[--$i]).{.}.$k.=.substr(
13c420 24 6b 2c 20 30 2c 20 2b 2b 24 69 29 3b 0a 24 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 64 69 72 $k,.0,.++$i);.$dir.=.substr($dir
13c440 2c 20 30 2c 20 24 69 2d 2d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 73 ,.0,.$i--);.}.}.}..$dirFiles.=.s
13c460 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 31 5d 3b 0a 0a 69 66 elf::$darwinCache[$kDir][1];..if
13c480 20 28 69 73 73 65 74 28 24 64 69 72 46 69 6c 65 73 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 24 6b 46 .(isset($dirFiles[$file])).{.$kF
13c4a0 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 73 ile.=.$file;.}.else.{.$kFile.=.s
13c4c0 74 72 74 6f 6c 6f 77 65 72 28 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 trtolower($file);..if.(!isset($d
13c4e0 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 73 63 61 irFiles[$kFile])).{.foreach.(sca
13c500 6e 64 69 72 28 24 72 65 61 6c 2c 20 32 29 20 61 73 20 24 66 29 20 7b 0a 69 66 20 28 27 2e 27 20 ndir($real,.2).as.$f).{.if.('.'.
13c520 21 3d 3d 20 24 66 5b 30 5d 29 20 7b 0a 24 64 69 72 46 69 6c 65 73 5b 24 66 5d 20 3d 20 24 66 3b !==.$f[0]).{.$dirFiles[$f].=.$f;
13c540 0a 69 66 20 28 24 66 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 24 6b .if.($f.===.$file).{.$kFile.=.$k
13c560 20 3d 20 24 66 69 6c 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 66 20 21 3d 3d 20 24 6b 20 3d 20 .=.$file;.}.elseif.($f.!==.$k.=.
13c580 73 74 72 74 6f 6c 6f 77 65 72 28 24 66 29 29 20 7b 0a 24 64 69 72 46 69 6c 65 73 5b 24 6b 5d 20 strtolower($f)).{.$dirFiles[$k].
13c5a0 3d 20 24 66 3b 0a 7d 0a 7d 0a 7d 0a 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 =.$f;.}.}.}.self::$darwinCache[$
13c5c0 6b 44 69 72 5d 5b 31 5d 20 3d 20 24 64 69 72 46 69 6c 65 73 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c kDir][1].=.$dirFiles;.}.}..$real
13c5e0 20 2e 3d 20 24 64 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 5d 3b 0a 7d 0a 0a 69 66 20 28 30 20 ..=.$dirFiles[$kFile];.}..if.(0.
13c600 3d 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 72 65 61 6c 2c 20 24 74 61 69 6c 2c ===.substr_compare($real,.$tail,
13c620 20 2d 24 74 61 69 6c 4c 65 6e 2c 20 24 74 61 69 6c 4c 65 6e 2c 20 74 72 75 65 29 0a 26 26 20 30 .-$tailLen,.$tailLen,.true).&&.0
13c640 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 72 65 61 6c 2c 20 24 74 61 69 6c .!==.substr_compare($real,.$tail
13c660 2c 20 2d 24 74 61 69 6c 4c 65 6e 2c 20 24 74 61 69 6c 4c 65 6e 2c 20 66 61 6c 73 65 29 0a 29 20 ,.-$tailLen,.$tailLen,.false).).
13c680 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 {.throw.new.\RuntimeException(sp
13c6a0 72 69 6e 74 66 28 27 43 61 73 65 20 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 63 6c 61 rintf('Case.mismatch.between.cla
13c6c0 73 73 20 61 6e 64 20 72 65 61 6c 20 66 69 6c 65 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 ss.and.real.file.names:.%s.vs.%s
13c6e0 20 69 6e 20 25 73 27 2c 20 73 75 62 73 74 72 28 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e .in.%s',.substr($tail,.-$tailLen
13c700 20 2b 20 31 29 2c 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b .+.1),.substr($real,.-$tailLen.+
13c720 20 31 29 2c 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 30 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 .1),.substr($real,.0,.-$tailLen.
13c740 2b 20 31 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a +.1)));.}.}..return.true;.}.}.}.
13c760 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
13c780 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c y\Component\Debug;..use.Psr\Log\
13c7a0 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 LoggerInterface;.use.Psr\Log\Log
13c7c0 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 Level;.use.Symfony\Component\Deb
13c7e0 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 ug\Exception\ContextErrorExcepti
13c800 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c on;.use.Symfony\Component\Debug\
13c820 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 Exception\FatalErrorException;.u
13c840 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 se.Symfony\Component\Debug\Excep
13c860 74 69 6f 6e 5c 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 3b 0a 75 73 65 20 53 79 tion\FatalThrowableError;.use.Sy
13c880 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c mfony\Component\Debug\Exception\
13c8a0 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e OutOfMemoryException;.use.Symfon
13c8c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 y\Component\Debug\FatalErrorHand
13c8e0 6c 65 72 5c 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c ler\ClassNotFoundFatalErrorHandl
13c900 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c er;.use.Symfony\Component\Debug\
13c920 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 FatalErrorHandler\FatalErrorHand
13c940 6c 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e lerInterface;.use.Symfony\Compon
13c960 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 55 6e 64 65 ent\Debug\FatalErrorHandler\Unde
13c980 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a finedFunctionFatalErrorHandler;.
13c9a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 use.Symfony\Component\Debug\Fata
13c9c0 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 lErrorHandler\UndefinedMethodFat
13c9e0 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a alErrorHandler;.................
13ca00 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 0a 0a 0a 63 .......class.ErrorHandler.{....c
13ca20 6f 6e 73 74 20 54 59 50 45 5f 44 45 50 52 45 43 41 54 49 4f 4e 20 3d 20 2d 31 30 30 3b 0a 0a 70 onst.TYPE_DEPRECATION.=.-100;..p
13ca40 72 69 76 61 74 65 20 24 6c 65 76 65 6c 73 20 3d 20 61 72 72 61 79 28 0a 45 5f 44 45 50 52 45 43 rivate.$levels.=.array(.E_DEPREC
13ca60 41 54 45 44 20 3d 3e 20 27 44 65 70 72 65 63 61 74 65 64 27 2c 0a 45 5f 55 53 45 52 5f 44 45 50 ATED.=>.'Deprecated',.E_USER_DEP
13ca80 52 45 43 41 54 45 44 20 3d 3e 20 27 55 73 65 72 20 44 65 70 72 65 63 61 74 65 64 27 2c 0a 45 5f RECATED.=>.'User.Deprecated',.E_
13caa0 4e 4f 54 49 43 45 20 3d 3e 20 27 4e 6f 74 69 63 65 27 2c 0a 45 5f 55 53 45 52 5f 4e 4f 54 49 43 NOTICE.=>.'Notice',.E_USER_NOTIC
13cac0 45 20 3d 3e 20 27 55 73 65 72 20 4e 6f 74 69 63 65 27 2c 0a 45 5f 53 54 52 49 43 54 20 3d 3e 20 E.=>.'User.Notice',.E_STRICT.=>.
13cae0 27 52 75 6e 74 69 6d 65 20 4e 6f 74 69 63 65 27 2c 0a 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 'Runtime.Notice',.E_WARNING.=>.'
13cb00 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 55 73 65 Warning',.E_USER_WARNING.=>.'Use
13cb20 72 20 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 4e 47 20 3d 3e r.Warning',.E_COMPILE_WARNING.=>
13cb40 20 27 43 6f 6d 70 69 6c 65 20 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 43 4f 52 45 5f 57 41 52 4e 49 .'Compile.Warning',.E_CORE_WARNI
13cb60 4e 47 20 3d 3e 20 27 43 6f 72 65 20 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 55 53 45 52 5f 45 52 52 NG.=>.'Core.Warning',.E_USER_ERR
13cb80 4f 52 20 3d 3e 20 27 55 73 65 72 20 45 72 72 6f 72 27 2c 0a 45 5f 52 45 43 4f 56 45 52 41 42 4c OR.=>.'User.Error',.E_RECOVERABL
13cba0 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 61 74 63 68 61 62 6c 65 20 46 61 74 61 6c 20 45 72 72 6f E_ERROR.=>.'Catchable.Fatal.Erro
13cbc0 72 27 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 r',.E_COMPILE_ERROR.=>.'Compile.
13cbe0 45 72 72 6f 72 27 2c 0a 45 5f 50 41 52 53 45 20 3d 3e 20 27 50 61 72 73 65 20 45 72 72 6f 72 27 Error',.E_PARSE.=>.'Parse.Error'
13cc00 2c 0a 45 5f 45 52 52 4f 52 20 3d 3e 20 27 45 72 72 6f 72 27 2c 0a 45 5f 43 4f 52 45 5f 45 52 52 ,.E_ERROR.=>.'Error',.E_CORE_ERR
13cc20 4f 52 20 3d 3e 20 27 43 6f 72 65 20 45 72 72 6f 72 27 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 OR.=>.'Core.Error',.);..private.
13cc40 24 6c 6f 67 67 65 72 73 20 3d 20 61 72 72 61 79 28 0a 45 5f 44 45 50 52 45 43 41 54 45 44 20 3d $loggers.=.array(.E_DEPRECATED.=
13cc60 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 2c 0a 45 >.array(null,.LogLevel::INFO),.E
13cc80 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 _USER_DEPRECATED.=>.array(null,.
13cca0 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 2c 0a 45 5f 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 LogLevel::INFO),.E_NOTICE.=>.arr
13ccc0 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 ay(null,.LogLevel::WARNING),.E_U
13cce0 53 45 52 5f 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 SER_NOTICE.=>.array(null,.LogLev
13cd00 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 53 54 52 49 43 54 20 3d 3e 20 61 72 72 61 79 28 el::WARNING),.E_STRICT.=>.array(
13cd20 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 57 41 52 4e null,.LogLevel::WARNING),.E_WARN
13cd40 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 ING.=>.array(null,.LogLevel::WAR
13cd60 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e NING),.E_USER_WARNING.=>.array(n
13cd80 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 43 4f 4d 50 49 ull,.LogLevel::WARNING),.E_COMPI
13cda0 4c 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 LE_WARNING.=>.array(null,.LogLev
13cdc0 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 43 4f 52 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 el::WARNING),.E_CORE_WARNING.=>.
13cde0 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a array(null,.LogLevel::WARNING),.
13ce00 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c E_USER_ERROR.=>.array(null,.LogL
13ce20 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 evel::CRITICAL),.E_RECOVERABLE_E
13ce40 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 RROR.=>.array(null,.LogLevel::CR
13ce60 49 54 49 43 41 4c 29 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 ITICAL),.E_COMPILE_ERROR.=>.arra
13ce80 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 50 y(null,.LogLevel::CRITICAL),.E_P
13cea0 41 52 53 45 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 ARSE.=>.array(null,.LogLevel::CR
13cec0 49 54 49 43 41 4c 29 2c 0a 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 ITICAL),.E_ERROR.=>.array(null,.
13cee0 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 43 4f 52 45 5f 45 52 52 4f LogLevel::CRITICAL),.E_CORE_ERRO
13cf00 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 R.=>.array(null,.LogLevel::CRITI
13cf20 43 41 4c 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 CAL),.);..private.$thrownErrors.
13cf40 3d 20 30 78 31 46 46 46 3b 20 0a 20 70 72 69 76 61 74 65 20 24 73 63 6f 70 65 64 45 72 72 6f 72 =.0x1FFF;...private.$scopedError
13cf60 73 20 3d 20 30 78 31 46 46 46 3b 20 0a 20 70 72 69 76 61 74 65 20 24 74 72 61 63 65 64 45 72 72 s.=.0x1FFF;...private.$tracedErr
13cf80 6f 72 73 20 3d 20 30 78 37 37 46 42 3b 20 0a 20 70 72 69 76 61 74 65 20 24 73 63 72 65 61 6d 65 ors.=.0x77FB;...private.$screame
13cfa0 64 45 72 72 6f 72 73 20 3d 20 30 78 35 35 3b 20 0a 20 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 dErrors.=.0x55;...private.$logge
13cfc0 64 45 72 72 6f 72 73 20 3d 20 30 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 64 54 72 61 dErrors.=.0;..private.$loggedTra
13cfe0 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 73 52 65 63 75 72 73 ces.=.array();.private.$isRecurs
13d000 69 76 65 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 69 73 52 6f 6f 74 20 3d 20 66 61 6c 73 65 ive.=.0;.private.$isRoot.=.false
13d020 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 70 72 69 ;.private.$exceptionHandler;.pri
13d040 76 61 74 65 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 3b 0a 0a 70 72 69 76 vate.$bootstrappingLogger;..priv
13d060 61 74 65 20 73 74 61 74 69 63 20 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 3b 0a 70 72 69 76 ate.static.$reservedMemory;.priv
13d080 61 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 20 3d 20 61 72 72 61 ate.static.$stackedErrors.=.arra
13d0a0 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 65 64 45 72 72 6f y();.private.static.$stackedErro
13d0c0 72 4c 65 76 65 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 rLevels.=.array();.private.stati
13d0e0 63 20 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 c.$toStringException.=.null;.pri
13d100 76 61 74 65 20 73 74 61 74 69 63 20 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a vate.static.$exitCode.=.0;......
13d120 0a 70 72 69 76 61 74 65 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 .private.$displayErrors.=.0x1FFF
13d140 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ;..........public.static.functio
13d160 6e 20 72 65 67 69 73 74 65 72 28 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 72 65 70 n.register($handler.=.null,.$rep
13d180 6c 61 63 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 lace.=.true).{.if.(null.===.self
13d1a0 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b 0a 73 65 6c 66 3a 3a 24 72 65 73 65 ::$reservedMemory).{.self::$rese
13d1c0 72 76 65 64 4d 65 6d 6f 72 79 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 78 27 2c 20 31 30 32 rvedMemory.=.str_repeat('x',.102
13d1e0 34 30 29 3b 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 40);.register_shutdown_function(
13d200 5f 5f 43 4c 41 53 53 5f 5f 2e 27 3a 3a 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 27 29 3b __CLASS__.'::handleFatalError');
13d220 0a 7d 0a 0a 24 6c 65 76 65 6c 73 20 3d 20 2d 31 3b 0a 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 49 .}..$levels.=.-1;..if.($handlerI
13d240 73 4e 65 77 20 3d 20 21 24 68 61 6e 64 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 sNew.=.!$handler.instanceof.self
13d260 29 20 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 29 20 7b 0a 24 ).{...if.(null.!==.$handler).{.$
13d280 6c 65 76 65 6c 73 20 3d 20 24 72 65 70 6c 61 63 65 20 3f 20 24 68 61 6e 64 6c 65 72 20 3a 20 30 levels.=.$replace.?.$handler.:.0
13d2a0 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 20 3d 20 ;.$replace.=.true;.}.$handler.=.
13d2c0 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 new.static();.}..if.(null.===.$p
13d2e0 72 65 76 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 rev.=.set_error_handler(array($h
13d300 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 29 20 7b 0a 72 65 73 74 6f andler,.'handleError'))).{.resto
13d320 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f re_error_handler();...set_error_
13d340 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 handler(array($handler,.'handleE
13d360 72 72 6f 72 27 29 2c 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c rror'),.$handler->thrownErrors.|
13d380 20 24 68 61 6e 64 6c 65 72 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 24 68 61 6e 64 6c .$handler->loggedErrors);.$handl
13d3a0 65 72 2d 3e 69 73 52 6f 6f 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 68 61 6e 64 6c er->isRoot.=.true;.}..if.($handl
13d3c0 65 72 49 73 4e 65 77 20 26 26 20 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 erIsNew.&&.\is_array($prev).&&.$
13d3e0 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 68 61 6e 64 prev[0].instanceof.self).{.$hand
13d400 6c 65 72 20 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 ler.=.$prev[0];.$replace.=.false
13d420 3b 0a 7d 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 20 26 26 20 24 70 72 65 76 29 20 7b 0a 72 65 ;.}.if.(!$replace.&&.$prev).{.re
13d440 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 24 68 61 6e 64 6c 65 72 49 store_error_handler();.$handlerI
13d460 73 52 65 67 69 73 74 65 72 65 64 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 sRegistered.=.\is_array($prev).&
13d480 26 20 24 68 61 6e 64 6c 65 72 20 3d 3d 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 &.$handler.===.$prev[0];.}.else.
13d4a0 7b 0a 24 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 65 64 20 3d 20 74 72 75 65 3b 0a 7d {.$handlerIsRegistered.=.true;.}
13d4c0 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 20 3d 20 73 65 74 5f 65 78 63 65 70 .if.(\is_array($prev.=.set_excep
13d4e0 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 tion_handler(array($handler,.'ha
13d500 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 27 29 29 29 20 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e ndleException'))).&&.$prev[0].in
13d520 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 stanceof.self).{.restore_excepti
13d540 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 49 73 52 65 67 on_handler();.if.(!$handlerIsReg
13d560 69 73 74 65 72 65 64 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 24 70 72 65 76 5b 30 5d 3b 0a istered).{.$handler.=.$prev[0];.
13d580 7d 20 65 6c 73 65 69 66 20 28 24 68 61 6e 64 6c 65 72 20 21 3d 3d 20 24 70 72 65 76 5b 30 5d 20 }.elseif.($handler.!==.$prev[0].
13d5a0 26 26 20 24 72 65 70 6c 61 63 65 29 20 7b 0a 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e &&.$replace).{.set_exception_han
13d5c0 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 78 63 65 dler(array($handler,.'handleExce
13d5e0 70 74 69 6f 6e 27 29 29 3b 0a 24 70 20 3d 20 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 ption'));.$p.=.$prev[0]->setExce
13d600 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 6e 75 6c 6c 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 ptionHandler(null);.$handler->se
13d620 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 70 29 3b 0a 24 70 72 65 76 5b 30 5d 2d tExceptionHandler($p);.$prev[0]-
13d640 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 70 29 3b 0a 7d 0a 7d 20 65 6c >setExceptionHandler($p);.}.}.el
13d660 73 65 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c se.{.$handler->setExceptionHandl
13d680 65 72 28 24 70 72 65 76 29 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 er($prev);.}..$handler->throwAt(
13d6a0 24 6c 65 76 65 6c 73 20 26 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 $levels.&.$handler->thrownErrors
13d6c0 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 70 75 ,.true);..return.$handler;.}..pu
13d6e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 42 75 66 66 65 72 blic.function.__construct(Buffer
13d700 69 6e 67 4c 6f 67 67 65 72 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d ingLogger.$bootstrappingLogger.=
13d720 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 .null).{.if.($bootstrappingLogge
13d740 72 29 20 7b 0a 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 r).{.$this->bootstrappingLogger.
13d760 3d 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 3b 0a 24 74 68 69 73 2d 3e 73 =.$bootstrappingLogger;.$this->s
13d780 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f etDefaultLogger($bootstrappingLo
13d7a0 67 67 65 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 gger);.}.}.........public.functi
13d7c0 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 on.setDefaultLogger(LoggerInterf
13d7e0 61 63 65 20 24 6c 6f 67 67 65 72 2c 20 24 6c 65 76 65 6c 73 20 3d 20 6e 75 6c 6c 2c 20 24 72 65 ace.$logger,.$levels.=.null,.$re
13d800 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 67 67 65 72 73 20 3d 20 61 72 72 61 place.=.false).{.$loggers.=.arra
13d820 79 28 29 3b 0a 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 6c 65 76 65 6c 73 29 29 20 7b 0a y();..if.(\is_array($levels)).{.
13d840 66 6f 72 65 61 63 68 20 28 24 6c 65 76 65 6c 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f foreach.($levels.as.$type.=>.$lo
13d860 67 4c 65 76 65 6c 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 gLevel).{.if.(empty($this->logge
13d880 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 7c 7c 20 24 72 65 70 6c 61 63 65 20 7c 7c 20 24 74 68 rs[$type][0]).||.$replace.||.$th
13d8a0 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d is->loggers[$type][0].===.$this-
13d8c0 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 73 >bootstrappingLogger).{.$loggers
13d8e0 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 24 6c 6f 67 67 65 72 2c 20 24 6c 6f 67 4c 65 76 [$type].=.array($logger,.$logLev
13d900 65 6c 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 el);.}.}.}.else.{.if.(null.===.$
13d920 6c 65 76 65 6c 73 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 levels).{.$levels.=.E_ALL.|.E_ST
13d940 52 49 43 54 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 20 RICT;.}.foreach.($this->loggers.
13d960 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a 69 66 20 28 28 24 74 79 70 65 20 26 as.$type.=>.$log).{.if.(($type.&
13d980 20 24 6c 65 76 65 6c 73 29 20 26 26 20 28 65 6d 70 74 79 28 24 6c 6f 67 5b 30 5d 29 20 7c 7c 20 .$levels).&&.(empty($log[0]).||.
13d9a0 24 72 65 70 6c 61 63 65 20 7c 7c 20 24 6c 6f 67 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 $replace.||.$log[0].===.$this->b
13d9c0 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 29 20 7b 0a 24 6c 6f 67 5b 30 5d 20 3d ootstrappingLogger)).{.$log[0].=
13d9e0 20 24 6c 6f 67 67 65 72 3b 0a 24 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c 6f 67 .$logger;.$loggers[$type].=.$log
13da00 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 4c 6f 67 67 65 72 73 28 24 6c 6f 67 67 ;.}.}.}..$this->setLoggers($logg
13da20 65 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ers);.}...........public.functio
13da40 6e 20 73 65 74 4c 6f 67 67 65 72 73 28 61 72 72 61 79 20 24 6c 6f 67 67 65 72 73 29 0a 7b 0a 24 n.setLoggers(array.$loggers).{.$
13da60 70 72 65 76 4c 6f 67 67 65 64 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 prevLogged.=.$this->loggedErrors
13da80 3b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 3b 0a 24 66 6c 75 73 68 ;.$prev.=.$this->loggers;.$flush
13daa0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 67 67 65 72 73 20 61 .=.array();..foreach.($loggers.a
13dac0 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 s.$type.=>.$log).{.if.(!isset($p
13dae0 72 65 76 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 rev[$type])).{.throw.new.\Invali
13db00 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f dArgumentException('Unknown.erro
13db20 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 r.type:.'.$type);.}.if.(!\is_arr
13db40 61 79 28 24 6c 6f 67 29 29 20 7b 0a 24 6c 6f 67 20 3d 20 61 72 72 61 79 28 24 6c 6f 67 29 3b 0a ay($log)).{.$log.=.array($log);.
13db60 7d 20 65 6c 73 65 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 }.elseif.(!array_key_exists(0,.$
13db80 6c 6f 67 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 log)).{.throw.new.\InvalidArgume
13dba0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 6c 6f 67 67 65 72 20 70 72 6f 76 69 64 65 64 27 ntException('No.logger.provided'
13dbc0 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 6f 67 5b 30 5d 29 20 7b 0a 24 74 68 );.}.if.(null.===.$log[0]).{.$th
13dbe0 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 3d 20 7e 24 74 79 70 65 3b 0a 7d 20 65 6c is->loggedErrors.&=.~$type;.}.el
13dc00 73 65 69 66 20 28 24 6c 6f 67 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 4c 6f 67 67 65 72 49 seif.($log[0].instanceof.LoggerI
13dc20 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 nterface).{.$this->loggedErrors.
13dc40 7c 3d 20 24 74 79 70 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e |=.$type;.}.else.{.throw.new.\In
13dc60 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 validArgumentException('Invalid.
13dc80 6c 6f 67 67 65 72 20 70 72 6f 76 69 64 65 64 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 logger.provided');.}.$this->logg
13dca0 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c 6f 67 20 2b 20 24 70 72 65 76 5b 24 74 79 70 65 5d ers[$type].=.$log.+.$prev[$type]
13dcc0 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 ;..if.($this->bootstrappingLogge
13dce0 72 20 26 26 20 24 70 72 65 76 5b 24 74 79 70 65 5d 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e r.&&.$prev[$type][0].===.$this->
13dd00 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 24 66 6c 75 73 68 5b 24 74 bootstrappingLogger).{.$flush[$t
13dd20 79 70 65 5d 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 ype].=.$type;.}.}.$this->reRegis
13dd40 74 65 72 28 24 70 72 65 76 4c 6f 67 67 65 64 20 7c 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 ter($prevLogged.|.$this->thrownE
13dd60 72 72 6f 72 73 29 3b 0a 0a 69 66 20 28 24 66 6c 75 73 68 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 rrors);..if.($flush).{.foreach.(
13dd80 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 2d 3e 63 6c 65 61 $this->bootstrappingLogger->clea
13dda0 6e 4c 6f 67 73 28 29 20 61 73 20 24 6c 6f 67 29 20 7b 0a 24 74 79 70 65 20 3d 20 24 6c 6f 67 5b nLogs().as.$log).{.$type.=.$log[
13ddc0 32 5d 5b 27 74 79 70 65 27 5d 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 66 6c 75 73 68 5b 24 74 2]['type'];.if.(!isset($flush[$t
13dde0 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 ype])).{.$this->bootstrappingLog
13de00 67 65 72 2d 3e 6c 6f 67 28 24 6c 6f 67 5b 30 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b ger->log($log[0],.$log[1],.$log[
13de20 32 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 2]);.}.elseif.($this->loggers[$t
13de40 79 70 65 5d 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d ype][0]).{.$this->loggers[$type]
13de60 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 [0]->log($this->loggers[$type][1
13de80 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 ],.$log[1],.$log[2]);.}.}.}..ret
13dea0 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$prev;.}...........public.fu
13dec0 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 68 61 6e 64 nction.setExceptionHandler($hand
13dee0 6c 65 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 20 26 26 20 ler).{.if.(null.!==.$handler.&&.
13df00 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 68 61 6e 64 6c 65 72 29 29 20 7b 0a 74 68 72 6f 77 !\is_callable($handler)).{.throw
13df20 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 65 78 63 65 70 74 .new.\LogicException('The.except
13df40 69 6f 6e 20 68 61 6e 64 6c 65 72 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 50 48 50 20 ion.handler.must.be.a.valid.PHP.
13df60 63 61 6c 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 65 78 callable.');.}.$prev.=.$this->ex
13df80 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e ceptionHandler;.$this->exception
13dfa0 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 Handler.=.$handler;..return.$pre
13dfc0 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 68 v;.}..........public.function.th
13dfe0 72 6f 77 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 rowAt($levels,.$replace.=.false)
13e000 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 3b 0a .{.$prev.=.$this->thrownErrors;.
13e020 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 3d 20 28 24 6c 65 76 65 6c 73 20 7c $this->thrownErrors.=.($levels.|
13e040 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 7c 20 45 5f 55 53 45 52 5f 45 52 .E_RECOVERABLE_ERROR.|.E_USER_ER
13e060 52 4f 52 29 20 26 20 7e 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 26 20 7e 45 5f 44 ROR).&.~E_USER_DEPRECATED.&.~E_D
13e080 45 50 52 45 43 41 54 45 44 3b 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 EPRECATED;.if.(!$replace).{.$thi
13e0a0 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 24 74 68 69 s->thrownErrors.|=.$prev;.}.$thi
13e0c0 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 s->reRegister($prev.|.$this->log
13e0e0 67 65 64 45 72 72 6f 72 73 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 gedErrors);....$this->displayErr
13e100 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 3b 0a 0a 72 65 74 75 ors.=.$this->thrownErrors;..retu
13e120 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rn.$prev;.}..........public.func
13e140 74 69 6f 6e 20 73 63 6f 70 65 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d tion.scopeAt($levels,.$replace.=
13e160 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 .false).{.$prev.=.$this->scopedE
13e180 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e rrors;.$this->scopedErrors.=.(in
13e1a0 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 t).$levels;.if.(!$replace).{.$th
13e1c0 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 is->scopedErrors.|=.$prev;.}..re
13e1e0 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 turn.$prev;.}..........public.fu
13e200 6e 63 74 69 6f 6e 20 74 72 61 63 65 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 nction.traceAt($levels,.$replace
13e220 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 74 72 61 63 65 .=.false).{.$prev.=.$this->trace
13e240 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 20 3d 20 28 dErrors;.$this->tracedErrors.=.(
13e260 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 int).$levels;.if.(!$replace).{.$
13e280 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a this->tracedErrors.|=.$prev;.}..
13e2a0 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 return.$prev;.}..........public.
13e2c0 66 75 6e 63 74 69 6f 6e 20 73 63 72 65 61 6d 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c function.screamAt($levels,.$repl
13e2e0 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 63 ace.=.false).{.$prev.=.$this->sc
13e300 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 reamedErrors;.$this->screamedErr
13e320 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 21 24 72 65 70 6c 61 ors.=.(int).$levels;.if.(!$repla
13e340 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 ce).{.$this->screamedErrors.|=.$
13e360 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 prev;.}..return.$prev;.}.....pri
13e380 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 29 0a vate.function.reRegister($prev).
13e3a0 7b 0a 69 66 20 28 24 70 72 65 76 20 21 3d 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 {.if.($prev.!==.$this->thrownErr
13e3c0 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 20 7b 0a 24 68 61 ors.|.$this->loggedErrors).{.$ha
13e3e0 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 ndler.=.set_error_handler('var_d
13e400 75 6d 70 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 68 61 6e ump');.$handler.=.\is_array($han
13e420 64 6c 65 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 72 65 73 74 dler).?.$handler[0].:.null;.rest
13e440 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 24 68 61 6e 64 6c 65 ore_error_handler();.if.($handle
13e460 72 20 3d 3d 3d 20 24 74 68 69 73 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e r.===.$this).{.restore_error_han
13e480 64 6c 65 72 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 6f 6f 74 29 20 7b 0a 73 65 74 dler();.if.($this->isRoot).{.set
13e4a0 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e _error_handler(array($this,.'han
13e4c0 64 6c 65 45 72 72 6f 72 27 29 2c 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 dleError'),.$this->thrownErrors.
13e4e0 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 7d 20 65 6c 73 65 20 7b |.$this->loggedErrors);.}.else.{
13e500 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 .set_error_handler(array($this,.
13e520 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 'handleError'));.}.}.}.}........
13e540 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 ........public.function.handleEr
13e560 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e ror($type,.$message,.$file,.$lin
13e580 65 29 0a 7b 0a 24 6c 65 76 65 6c 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 3b e).{.$level.=.error_reporting();
13e5a0 0a 24 73 69 6c 65 6e 63 65 64 20 3d 20 30 20 3d 3d 3d 20 28 24 6c 65 76 65 6c 20 26 20 24 74 79 .$silenced.=.0.===.($level.&.$ty
13e5c0 70 65 29 3b 0a 24 6c 65 76 65 6c 20 7c 3d 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 pe);.$level.|=.E_RECOVERABLE_ERR
13e5e0 4f 52 20 7c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 7c 20 45 5f 44 45 50 52 45 43 41 54 45 44 OR.|.E_USER_ERROR.|.E_DEPRECATED
13e600 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 3b 0a 24 6c 6f 67 20 3d 20 24 74 68 .|.E_USER_DEPRECATED;.$log.=.$th
13e620 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 3b 0a 24 74 68 72 6f 77 is->loggedErrors.&.$type;.$throw
13e640 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 20 26 .=.$this->thrownErrors.&.$type.&
13e660 20 24 6c 65 76 65 6c 3b 0a 24 74 79 70 65 20 26 3d 20 24 6c 65 76 65 6c 20 7c 20 24 74 68 69 73 .$level;.$type.&=.$level.|.$this
13e680 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 0a 69 66 20 28 21 24 74 79 70 65 20 7c 7c ->screamedErrors;..if.(!$type.||
13e6a0 20 28 21 24 6c 6f 67 20 26 26 20 21 24 74 68 72 6f 77 29 29 20 7b 0a 72 65 74 75 72 6e 20 21 24 .(!$log.&&.!$throw)).{.return.!$
13e6c0 73 69 6c 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 20 26 26 20 24 6c 6f 67 3b 0a 7d 0a 24 73 63 silenced.&&.$type.&&.$log;.}.$sc
13e6e0 6f 70 65 20 3d 20 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 ope.=.$this->scopedErrors.&.$typ
13e700 65 3b 0a 0a 69 66 20 28 34 20 3c 20 24 6e 75 6d 41 72 67 73 20 3d 20 5c 66 75 6e 63 5f 6e 75 6d e;..if.(4.<.$numArgs.=.\func_num
13e720 5f 61 72 67 73 28 29 29 20 7b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 24 73 63 6f 70 65 20 3f 20 28 _args()).{.$context.=.$scope.?.(
13e740 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 34 29 20 3f 3a 20 61 72 72 61 79 28 29 29 20 3a 20 61 72 func_get_arg(4).?:.array()).:.ar
13e760 72 61 79 28 29 3b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 35 20 3c 20 24 6e 75 6d 41 72 67 73 ray();.$backtrace.=.5.<.$numArgs
13e780 20 3f 20 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 35 29 20 3a 20 6e 75 6c 6c 3b 20 0a 20 7d 20 65 .?.func_get_arg(5).:.null;...}.e
13e7a0 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 62 61 63 6b 74 lse.{.$context.=.array();.$backt
13e7c0 72 61 63 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 74 65 race.=.null;.}..if.(isset($conte
13e7e0 78 74 5b 27 47 4c 4f 42 41 4c 53 27 5d 29 20 26 26 20 24 73 63 6f 70 65 29 20 7b 0a 24 65 20 3d xt['GLOBALS']).&&.$scope).{.$e.=
13e800 20 24 63 6f 6e 74 65 78 74 3b 20 0a 20 75 6e 73 65 74 28 24 65 5b 27 47 4c 4f 42 41 4c 53 27 5d .$context;...unset($e['GLOBALS']
13e820 2c 20 24 63 6f 6e 74 65 78 74 29 3b 20 0a 20 24 63 6f 6e 74 65 78 74 20 3d 20 24 65 3b 0a 7d 0a ,.$context);...$context.=.$e;.}.
13e840 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 20 26 26 20 24 74 79 70 .if.(null.!==.$backtrace.&&.$typ
13e860 65 20 26 20 45 5f 45 52 52 4f 52 29 20 7b 0a 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 68 61 6e 64 e.&.E_ERROR).{.......$this->hand
13e880 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 63 6f 6d 70 61 63 74 28 27 74 79 70 65 27 2c 20 27 6d 65 leFatalError(compact('type',.'me
13e8a0 73 73 61 67 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c 69 6e 65 27 2c 20 27 62 61 63 6b 74 72 61 ssage',.'file',.'line',.'backtra
13e8c0 63 65 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 72 ce'));..return.true;.}..if.($thr
13e8e0 6f 77 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 ow).{.if.(null.!==.self::$toStri
13e900 6e 67 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 72 6f 77 20 3d 20 73 65 6c 66 3a 3a 24 74 ngException).{.$throw.=.self::$t
13e920 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e oStringException;.self::$toStrin
13e940 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 63 gException.=.null;.}.elseif.($sc
13e960 6f 70 65 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d ope.&&.class_exists('Symfony\Com
13e980 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6e 74 65 78 74 45 72 ponent\Debug\Exception\ContextEr
13e9a0 72 6f 72 45 78 63 65 70 74 69 6f 6e 27 29 29 20 7b 0a 0a 20 24 74 68 72 6f 77 20 3d 20 6e 65 77 rorException')).{...$throw.=.new
13e9c0 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 .ContextErrorException($this->le
13e9e0 76 65 6c 73 5b 24 74 79 70 65 5d 2e 27 3a 20 27 2e 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 74 vels[$type].':.'.$message,.0,.$t
13ea00 79 70 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 ype,.$file,.$line,.$context);.}.
13ea20 65 6c 73 65 20 7b 0a 24 74 68 72 6f 77 20 3d 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 else.{.$throw.=.new.\ErrorExcept
13ea40 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b 24 74 79 70 65 5d 2e 27 3a 20 27 2e 24 6d ion($this->levels[$type].':.'.$m
13ea60 65 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b essage,.0,.$type,.$file,.$line);
13ea80 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 3d 20 35 30 34 30 37 .}..if.(\PHP_VERSION_ID.<=.50407
13eaa0 20 26 26 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 7c 7c .&&.(\PHP_VERSION_ID.>=.50400.||
13eac0 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 3d 20 35 30 33 31 37 29 29 20 7b 0a 0a 20 .\PHP_VERSION_ID.<=.50317)).{...
13eae0 0a 20 0a 0a 24 74 68 72 6f 77 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 43 61 6e 61 72 79 20 3d ....$throw->errorHandlerCanary.=
13eb00 20 6e 65 77 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 43 61 6e 61 72 79 28 29 3b 0a 7d 0a 0a 69 66 .new.ErrorHandlerCanary();.}..if
13eb20 20 28 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 26 20 24 74 79 70 65 29 20 7b 0a 24 62 61 63 6b 74 .(E_USER_ERROR.&.$type).{.$backt
13eb40 72 61 63 65 20 3d 20 24 62 61 63 6b 74 72 61 63 65 20 3f 3a 20 24 74 68 72 6f 77 2d 3e 67 65 74 race.=.$backtrace.?:.$throw->get
13eb60 54 72 61 63 65 28 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 31 3b 20 69 73 73 65 74 28 24 62 61 Trace();..for.($i.=.1;.isset($ba
13eb80 63 6b 74 72 61 63 65 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 cktrace[$i]);.++$i).{.if.(isset(
13eba0 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 2c 20 24 62 61 63 $backtrace[$i]['function'],.$bac
13ebc0 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 2c 20 24 62 61 63 6b 74 72 61 63 65 5b 24 ktrace[$i]['type'],.$backtrace[$
13ebe0 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 0a 26 26 20 27 5f 5f 74 6f 53 74 72 69 i.-.1]['function']).&&.'__toStri
13ec00 6e 67 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 6e 63 74 69 6f 6e ng'.===.$backtrace[$i]['function
13ec20 27 5d 0a 26 26 20 27 2d 3e 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 '].&&.'->'.===.$backtrace[$i]['t
13ec40 79 70 65 27 5d 0a 26 26 20 21 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 ype'].&&.!isset($backtrace[$i.-.
13ec60 31 5d 5b 27 63 6c 61 73 73 27 5d 29 0a 26 26 20 28 27 74 72 69 67 67 65 72 5f 65 72 72 6f 72 27 1]['class']).&&.('trigger_error'
13ec80 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f .===.$backtrace[$i.-.1]['functio
13eca0 6e 27 5d 20 7c 7c 20 27 75 73 65 72 5f 65 72 72 6f 72 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 n'].||.'user_error'.===.$backtra
13ecc0 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 0a 29 20 7b 0a 0a 20 0a 20 ce[$i.-.1]['function']).).{.....
13ece0 0a 20 0a 20 0a 20 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 78 74 20 61 73 20 24 65 29 ........foreach.($context.as.$e)
13ed00 20 7b 0a 69 66 20 28 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e .{.if.(($e.instanceof.\Exception
13ed20 20 7c 7c 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 68 72 6f 77 61 62 6c 65 29 20 26 26 .||.$e.instanceof.\Throwable).&&
13ed40 20 24 65 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 29 20 .$e->__toString().===.$message).
13ed60 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 69 29 20 7b 0a 0a 20 24 74 68 72 6f 77 20 3d 20 24 65 3b {.if.(1.===.$i).{...$throw.=.$e;
13ed80 0a 62 72 65 61 6b 3b 0a 7d 0a 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 .break;.}.self::$toStringExcepti
13eda0 6f 6e 20 3d 20 24 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 on.=.$e;..return.true;.}.}..if.(
13edc0 31 20 3c 20 24 69 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 1.<.$i).{...$this->handleExcepti
13ede0 6f 6e 28 24 74 68 72 6f 77 29 3b 0a 0a 0a 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d on($throw);....return.false;.}.}
13ee00 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 74 68 72 6f 77 3b 0a 7d 0a 0a 0a 20 24 65 20 3d 20 6d 64 .}.}..throw.$throw;.}....$e.=.md
13ee20 35 28 22 7b 24 74 79 70 65 7d 2f 7b 24 6c 69 6e 65 7d 2f 7b 24 66 69 6c 65 7d 5c 78 30 30 7b 24 5("{$type}/{$line}/{$file}\x00{$
13ee40 6d 65 73 73 61 67 65 7d 22 2c 20 74 72 75 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 74 72 75 65 3b message}",.true);.$trace.=.true;
13ee60 0a 0a 69 66 20 28 21 28 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 20 26 20 24 74 ..if.(!($this->tracedErrors.&.$t
13ee80 79 70 65 29 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 54 72 61 63 65 ype).||.isset($this->loggedTrace
13eea0 73 5b 24 65 5d 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 s[$e])).{.$trace.=.false;.}.else
13eec0 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 54 72 61 63 65 73 5b 24 65 5d 20 3d 20 31 3b 0a .{.$this->loggedTraces[$e].=.1;.
13eee0 7d 0a 0a 24 65 20 3d 20 63 6f 6d 70 61 63 74 28 27 74 79 70 65 27 2c 20 27 66 69 6c 65 27 2c 20 }..$e.=.compact('type',.'file',.
13ef00 27 6c 69 6e 65 27 2c 20 27 6c 65 76 65 6c 27 29 3b 0a 0a 69 66 20 28 24 74 79 70 65 20 26 20 24 'line',.'level');..if.($type.&.$
13ef20 6c 65 76 65 6c 29 20 7b 0a 69 66 20 28 24 73 63 6f 70 65 29 20 7b 0a 24 65 5b 27 73 63 6f 70 65 level).{.if.($scope).{.$e['scope
13ef40 5f 76 61 72 73 27 5d 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a 69 66 20 28 24 74 72 61 63 65 29 20 _vars'].=.$context;.if.($trace).
13ef60 7b 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 24 62 61 63 6b 74 72 61 63 65 20 3f 3a 20 64 65 {.$e['stack'].=.$backtrace.?:.de
13ef80 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 50 52 bug_backtrace(DEBUG_BACKTRACE_PR
13efa0 4f 56 49 44 45 5f 4f 42 4a 45 43 54 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 72 61 63 OVIDE_OBJECT);.}.}.elseif.($trac
13efc0 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 29 20 7b 0a e).{.if.(null.===.$backtrace).{.
13efe0 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 $e['stack'].=.debug_backtrace(DE
13f000 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 49 47 4e 4f 52 45 5f 41 52 47 53 29 3b 0a 7d 20 65 6c BUG_BACKTRACE_IGNORE_ARGS);.}.el
13f020 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 62 61 63 6b 74 72 61 63 65 20 61 73 20 26 24 66 72 se.{.foreach.($backtrace.as.&$fr
13f040 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 2c 20 24 66 72 ame).{.unset($frame['args'],.$fr
13f060 61 6d 65 29 3b 0a 7d 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 24 62 61 63 6b 74 72 61 63 65 ame);.}.$e['stack'].=.$backtrace
13f080 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 29 ;.}.}.}..if.($this->isRecursive)
13f0a0 20 7b 0a 24 6c 6f 67 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 24 73 74 .{.$log.=.0;.}.elseif.(self::$st
13f0c0 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b ackedErrorLevels).{.self::$stack
13f0e0 65 64 45 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 edErrors[].=.array($this->logger
13f100 73 5b 24 74 79 70 65 5d 5b 30 5d 2c 20 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 20 3f 20 s[$type][0],.($type.&.$level).?.
13f120 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 20 3a 20 4c 6f 67 4c 65 $this->loggers[$type][1].:.LogLe
13f140 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b 0a 7d 20 65 6c 73 vel::DEBUG,.$message,.$e);.}.els
13f160 65 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 74 e.{.try.{.$this->isRecursive.=.t
13f180 72 75 65 3b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c rue;.$this->loggers[$type][0]->l
13f1a0 6f 67 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 20 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 og(($type.&.$level).?.$this->log
13f1c0 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 20 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 gers[$type][1].:.LogLevel::DEBUG
13f1e0 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 ,.$message,.$e);.$this->isRecurs
13f200 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e ive.=.false;.}.catch.(\Exception
13f220 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 .$e).{.$this->isRecursive.=.fals
13f240 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c e;..throw.$e;.}.catch.(\Throwabl
13f260 65 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c e.$e).{.$this->isRecursive.=.fal
13f280 73 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 73 69 6c se;..throw.$e;.}.}..return.!$sil
13f2a0 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 20 26 26 20 24 6c 6f 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a enced.&&.$type.&&.$log;.}.......
13f2c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 78 63 65 70 74 69 ...public.function.handleExcepti
13f2e0 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 65 72 72 6f 72 20 3d 20 6e 75 on($exception,.array.$error.=.nu
13f300 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 73 65 6c ll).{.if.(null.===.$error).{.sel
13f320 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a 7d 0a 69 66 20 28 21 24 65 78 63 65 f::$exitCode.=.255;.}.if.(!$exce
13f340 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 ption.instanceof.\Exception).{.$
13f360 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 exception.=.new.FatalThrowableEr
13f380 72 6f 72 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 24 74 79 70 65 20 3d 20 24 65 78 63 65 ror($exception);.}.$type.=.$exce
13f3a0 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 ption.instanceof.FatalErrorExcep
13f3c0 74 69 6f 6e 20 3f 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 tion.?.$exception->getSeverity()
13f3e0 20 3a 20 45 5f 45 52 52 4f 52 3b 0a 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 20 3d 20 .:.E_ERROR;.$handlerException.=.
13f400 6e 75 6c 6c 3b 0a 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 null;..if.(($this->loggedErrors.
13f420 26 20 24 74 79 70 65 29 20 7c 7c 20 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f &.$type).||.$exception.instanceo
13f440 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 29 20 7b 0a 24 65 20 3d 20 61 72 f.FatalThrowableError).{.$e.=.ar
13f460 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 24 74 79 70 65 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 ray(.'type'.=>.$type,.'file'.=>.
13f480 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 27 6c 69 6e 65 27 20 3d 3e $exception->getFile(),.'line'.=>
13f4a0 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 27 6c 65 76 65 6c 27 20 .$exception->getLine(),.'level'.
13f4c0 3d 3e 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 2c 0a 27 73 74 61 63 6b 27 20 3d 3e =>.error_reporting(),.'stack'.=>
13f4e0 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 0a 29 3b 0a 69 66 20 28 .$exception->getTrace(),.);.if.(
13f500 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 $exception.instanceof.FatalError
13f520 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 Exception).{.if.($exception.inst
13f540 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 29 20 7b 0a 24 65 anceof.FatalThrowableError).{.$e
13f560 72 72 6f 72 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 24 74 79 70 65 2c 0a 27 rror.=.array(.'type'.=>.$type,.'
13f580 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 20 3d 20 24 65 78 63 65 70 74 69 6f message'.=>.$message.=.$exceptio
13f5a0 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 24 65 5b 27 66 n->getMessage(),.'file'.=>.$e['f
13f5c0 69 6c 65 27 5d 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 65 5b 27 6c 69 6e 65 27 5d 2c 0a 29 3b 0a ile'],.'line'.=>.$e['line'],.);.
13f5e0 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 61 74 61 6c 20 27 2e 24 65 78 }.else.{.$message.=.'Fatal.'.$ex
13f600 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 ception->getMessage();.}.}.elsei
13f620 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 72 72 6f 72 45 f.($exception.instanceof.\ErrorE
13f640 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 63 61 75 67 68 74 xception).{.$message.=.'Uncaught
13f660 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 69 66 20 .'.$exception->getMessage();.if.
13f680 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 74 65 78 74 45 72 ($exception.instanceof.ContextEr
13f6a0 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 5b 27 63 6f 6e 74 65 78 74 27 5d 20 3d 20 rorException).{.$e['context'].=.
13f6c0 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6e 74 65 78 74 28 29 3b 0a 7d 0a 7d 20 65 6c $exception->getContext();.}.}.el
13f6e0 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 se.{.$message.=.'Uncaught.Except
13f700 69 6f 6e 3a 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b ion:.'.$exception->getMessage();
13f720 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 .}.}.if.($this->loggedErrors.&.$
13f740 74 79 70 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 type).{.try.{.$this->loggers[$ty
13f760 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 pe][0]->log($this->loggers[$type
13f780 5d 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 ][1],.$message,.$e);.}.catch.(\E
13f7a0 78 63 65 70 74 69 6f 6e 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 xception.$handlerException).{.}.
13f7c0 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 catch.(\Throwable.$handlerExcept
13f7e0 69 6f 6e 29 20 7b 0a 7d 0a 7d 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e ion).{.}.}.if.($exception.instan
13f800 63 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 26 26 20 21 24 65 78 ceof.FatalErrorException.&&.!$ex
13f820 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 ception.instanceof.OutOfMemoryEx
13f840 63 65 70 74 69 6f 6e 20 26 26 20 24 65 72 72 6f 72 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 ception.&&.$error).{.foreach.($t
13f860 68 69 73 2d 3e 67 65 74 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 73 28 29 20 61 73 20 his->getFatalErrorHandlers().as.
13f880 24 68 61 6e 64 6c 65 72 29 20 7b 0a 69 66 20 28 24 65 20 3d 20 24 68 61 6e 64 6c 65 72 2d 3e 68 $handler).{.if.($e.=.$handler->h
13f8a0 61 6e 64 6c 65 45 72 72 6f 72 28 24 65 72 72 6f 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 29 20 andleError($error,.$exception)).
13f8c0 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a {.$exception.=.$e;.break;.}.}.}.
13f8e0 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 $exceptionHandler.=.$this->excep
13f900 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e tionHandler;.$this->exceptionHan
13f920 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 74 72 79 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 dler.=.null;.try.{.if.(null.!==.
13f940 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c $exceptionHandler).{.return.\cal
13f960 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2c 20 24 l_user_func($exceptionHandler,.$
13f980 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 20 exception);.}.$handlerException.
13f9a0 3d 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 20 3f 3a 20 24 65 78 63 65 70 74 69 6f =.$handlerException.?:.$exceptio
13f9c0 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 68 61 6e 64 6c 65 72 45 n;.}.catch.(\Exception.$handlerE
13f9e0 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 xception).{.}.catch.(\Throwable.
13fa00 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 0a 69 66 20 28 24 65 78 63 65 $handlerException).{.}.if.($exce
13fa20 70 74 69 6f 6e 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 73 ption.===.$handlerException).{.s
13fa40 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 20 3d 20 6e 75 6c 6c 3b 20 0a 20 74 elf::$reservedMemory.=.null;...t
13fa60 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 20 0a 20 7d 0a 24 74 68 69 73 2d 3e 68 61 6e 64 hrow.$exception;...}.$this->hand
13fa80 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 3b 0a leException($handlerException);.
13faa0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e }.........public.static.function
13fac0 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 20 3d .handleFatalError(array.$error.=
13fae0 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 .null).{.if.(null.===.self::$res
13fb00 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 68 61 6e 64 6c ervedMemory).{.return;.}..$handl
13fb20 65 72 20 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 20 3d 20 6e 75 6c er.=.self::$reservedMemory.=.nul
13fb40 6c 3b 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 72 65 76 69 6f 75 l;.$handlers.=.array();.$previou
13fb60 73 48 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 73 61 6d 65 48 61 6e 64 6c 65 72 4c 69 6d sHandler.=.null;.$sameHandlerLim
13fb80 69 74 20 3d 20 31 30 3b 0a 0a 77 68 69 6c 65 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 68 61 6e it.=.10;..while.(!\is_array($han
13fba0 64 6c 65 72 29 20 7c 7c 20 21 24 68 61 6e 64 6c 65 72 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 dler).||.!$handler[0].instanceof
13fbc0 20 73 65 6c 66 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 78 63 65 70 74 69 6f .self).{.$handler.=.set_exceptio
13fbe0 6e 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 72 65 73 74 6f 72 65 5f 65 n_handler('var_dump');.restore_e
13fc00 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 21 24 68 61 6e 64 6c xception_handler();..if.(!$handl
13fc20 65 72 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e er).{.break;.}.restore_exception
13fc40 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 20 21 3d 3d 20 24 70 _handler();..if.($handler.!==.$p
13fc60 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 reviousHandler).{.array_unshift(
13fc80 24 68 61 6e 64 6c 65 72 73 2c 20 24 68 61 6e 64 6c 65 72 29 3b 0a 24 70 72 65 76 69 6f 75 73 48 $handlers,.$handler);.$previousH
13fca0 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d andler.=.$handler;.}.elseif.(0.=
13fcc0 3d 3d 20 2d 2d 24 73 61 6d 65 48 61 6e 64 6c 65 72 4c 69 6d 69 74 29 20 7b 0a 24 68 61 6e 64 6c ==.--$sameHandlerLimit).{.$handl
13fce0 65 72 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 er.=.null;.break;.}.}.foreach.($
13fd00 68 61 6e 64 6c 65 72 73 20 61 73 20 24 68 29 20 7b 0a 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f handlers.as.$h).{.set_exception_
13fd20 68 61 6e 64 6c 65 72 28 24 68 29 3b 0a 7d 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 29 20 7b 0a handler($h);.}.if.(!$handler).{.
13fd40 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 20 21 3d 3d 20 24 68 29 20 7b return;.}.if.($handler.!==.$h).{
13fd60 0a 24 68 61 6e 64 6c 65 72 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 .$handler[0]->setExceptionHandle
13fd80 72 28 24 68 29 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 5b 30 5d 3b r($h);.}.$handler.=.$handler[0];
13fda0 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 65 78 69 74 .$handlers.=.array();..if.($exit
13fdc0 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 .=.null.===.$error).{.$error.=.e
13fde0 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 77 68 69 6c 65 20 rror_get_last();.}..try.{.while.
13fe00 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 20 7b 0a 73 74 (self::$stackedErrorLevels).{.st
13fe20 61 74 69 63 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 atic::unstackErrors();.}.}.catch
13fe40 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 7d 20 63 .(\Exception.$exception).{...}.c
13fe60 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a atch.(\Throwable.$exception).{..
13fe80 20 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 20 26 26 20 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d .}..if.($error.&&.$error['type']
13fea0 20 26 3d 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 .&=.E_PARSE.|.E_ERROR.|.E_CORE_E
13fec0 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 20 7b 0a 0a 20 24 68 61 6e RROR.|.E_COMPILE_ERROR).{...$han
13fee0 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 24 74 72 61 63 65 20 3d dler->throwAt(0,.true);.$trace.=
13ff00 20 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 62 61 63 6b 74 72 61 63 65 27 5d 29 20 3f 20 24 65 .isset($error['backtrace']).?.$e
13ff20 72 72 6f 72 5b 27 62 61 63 6b 74 72 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 30 rror['backtrace'].:.null;..if.(0
13ff40 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 .===.strpos($error['message'],.'
13ff60 41 6c 6c 6f 77 65 64 20 6d 65 6d 6f 72 79 27 29 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 Allowed.memory').||.0.===.strpos
13ff80 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 4f 75 74 20 6f 66 20 6d 65 6d 6f ($error['message'],.'Out.of.memo
13ffa0 72 79 27 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 4f 75 74 4f 66 4d 65 ry')).{.$exception.=.new.OutOfMe
13ffc0 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 moryException($handler->levels[$
13ffe0 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 5d 2e 27 3a 20 27 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 error['type']].':.'.$error['mess
140000 61 67 65 27 5d 2c 20 30 2c 20 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 2c 20 24 65 72 72 6f 72 age'],.0,.$error['type'],.$error
140020 5b 27 66 69 6c 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6c 69 6e 65 27 5d 2c 20 32 2c 20 66 61 6c ['file'],.$error['line'],.2,.fal
140040 73 65 2c 20 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e se,.$trace);.}.else.{.$exception
140060 20 3d 20 6e 65 77 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 .=.new.FatalErrorException($hand
140080 6c 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 5d 2e 27 3a 20 27 ler->levels[$error['type']].':.'
1400a0 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 30 2c 20 24 65 72 72 6f 72 5b 27 74 .$error['message'],.0,.$error['t
1400c0 79 70 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 66 69 6c 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6c ype'],.$error['file'],.$error['l
1400e0 69 6e 65 27 5d 2c 20 32 2c 20 74 72 75 65 2c 20 24 74 72 61 63 65 29 3b 0a 7d 0a 7d 0a 0a 74 72 ine'],.2,.true,.$trace);.}.}..tr
140100 79 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 20 7b 0a 73 65 6c y.{.if.(isset($exception)).{.sel
140120 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 68 61 f::$exitCode.=.255;.$handler->ha
140140 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 65 72 72 6f 72 ndleException($exception,.$error
140160 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f );.}.}.catch.(FatalErrorExceptio
140180 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 69 66 20 28 24 65 78 69 74 20 26 26 20 73 65 6c 66 3a 3a n.$e).{...}..if.($exit.&&.self::
1401a0 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 24 $exitCode).{.$exitCode.=.self::$
1401c0 65 78 69 74 43 6f 64 65 3b 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 exitCode;.register_shutdown_func
1401e0 74 69 6f 6e 28 27 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e tion('register_shutdown_function
140200 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b ',.function.().use.($exitCode).{
140220 20 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 20 7d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a .exit($exitCode);.});.}.}.......
140240 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 ......public.static.function.sta
140260 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 ckErrors().{.self::$stackedError
140280 4c 65 76 65 6c 73 5b 5d 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 65 72 72 6f 72 Levels[].=.error_reporting(error
1402a0 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 7c 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 _reporting().|.E_PARSE.|.E_ERROR
1402c0 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f .|.E_CORE_ERROR.|.E_COMPILE_ERRO
1402e0 52 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e R);.}.....public.static.function
140300 20 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a 24 6c 65 76 65 6c 20 3d 20 61 72 72 61 .unstackErrors().{.$level.=.arra
140320 79 5f 70 6f 70 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 y_pop(self::$stackedErrorLevels)
140340 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 24 65 20 3d 20 65 ;..if.(null.!==.$level).{.$e.=.e
140360 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 6c 65 76 65 6c 29 3b 0a 69 66 20 28 24 65 20 21 rror_reporting($level);.if.($e.!
140380 3d 3d 20 28 24 6c 65 76 65 6c 20 7c 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c ==.($level.|.E_PARSE.|.E_ERROR.|
1403a0 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 .E_CORE_ERROR.|.E_COMPILE_ERROR)
1403c0 29 20 7b 0a 0a 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 65 29 3b 0a 7d 0a 7d 0a 0a ).{...error_reporting($e);.}.}..
1403e0 69 66 20 28 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 if.(empty(self::$stackedErrorLev
140400 65 6c 73 29 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 els)).{.$errors.=.self::$stacked
140420 45 72 72 6f 72 73 3b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 20 3d 20 61 Errors;.self::$stackedErrors.=.a
140440 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 20 61 73 20 24 65 29 rray();..foreach.($errors.as.$e)
140460 20 7b 0a 24 65 5b 30 5d 2d 3e 6c 6f 67 28 24 65 5b 31 5d 2c 20 24 65 5b 32 5d 2c 20 24 65 5b 33 .{.$e[0]->log($e[1],.$e[2],.$e[3
140480 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ]);.}.}.}.........protected.func
1404a0 74 69 6f 6e 20 67 65 74 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 73 28 29 0a 7b 0a 72 tion.getFatalErrorHandlers().{.r
1404c0 65 74 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 eturn.array(.new.UndefinedFuncti
1404e0 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 2c 0a 6e 65 77 20 55 6e 64 65 66 onFatalErrorHandler(),.new.Undef
140500 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 2c 0a 6e inedMethodFatalErrorHandler(),.n
140520 65 77 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 ew.ClassNotFoundFatalErrorHandle
140540 72 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f r(),.);.}.........public.functio
140560 6e 20 73 65 74 4c 65 76 65 6c 28 24 6c 65 76 65 6c 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 n.setLevel($level).{.@trigger_er
140580 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 ror('The.'.__METHOD__.'.method.i
1405a0 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 s.deprecated.since.Symfony.2.6.a
1405c0 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 nd.will.be.removed.in.3.0..Use.t
1405e0 68 65 20 74 68 72 6f 77 41 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 he.throwAt().method.instead.',.E
140600 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 6e 75 6c _USER_DEPRECATED);..$level.=.nul
140620 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 20 3f 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 l.===.$level.?.error_reporting()
140640 20 3a 20 24 6c 65 76 65 6c 3b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 41 74 28 24 6c 65 76 65 6c .:.$level;.$this->throwAt($level
140660 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ,.true);.}.........public.functi
140680 6f 6e 20 73 65 74 44 69 73 70 6c 61 79 45 72 72 6f 72 73 28 24 64 69 73 70 6c 61 79 45 72 72 6f on.setDisplayErrors($displayErro
1406a0 72 73 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 rs).{.@trigger_error('The.'.__ME
1406c0 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 THOD__.'.method.is.deprecated.si
1406e0 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.6.and.will.be.remo
140700 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 74 68 72 6f 77 41 74 28 29 20 6d 65 ved.in.3.0..Use.the.throwAt().me
140720 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 thod.instead.',.E_USER_DEPRECATE
140740 44 29 3b 0a 0a 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 24 74 68 69 73 D);..if.($displayErrors).{.$this
140760 2d 3e 74 68 72 6f 77 41 74 28 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 2c 20 ->throwAt($this->displayErrors,.
140780 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d true);.}.else.{.$displayErrors.=
1407a0 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 74 68 .$this->displayErrors;.$this->th
1407c0 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 rowAt(0,.true);.$this->displayEr
1407e0 72 6f 72 73 20 3d 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a rors.=.$displayErrors;.}.}......
140800 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f ....public.static.function.setLo
140820 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 2c 20 24 63 gger(LoggerInterface.$logger,.$c
140840 68 61 6e 6e 65 6c 20 3d 20 27 64 65 70 72 65 63 61 74 69 6f 6e 27 29 0a 7b 0a 40 74 72 69 67 67 hannel.=.'deprecation').{.@trigg
140860 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 73 74 61 er_error('The.'.__METHOD__.'.sta
140880 74 69 63 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 tic.method.is.deprecated.since.S
1408a0 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 ymfony.2.6.and.will.be.removed.i
1408c0 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 74 4c 6f 67 67 65 72 73 28 29 20 6f 72 20 73 n.3.0..Use.the.setLoggers().or.s
1408e0 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 29 20 6d 65 74 68 6f 64 73 20 69 6e 73 74 65 61 etDefaultLogger().methods.instea
140900 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 68 61 6e 64 6c d.',.E_USER_DEPRECATED);..$handl
140920 65 72 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 er.=.set_error_handler('var_dump
140940 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 ');.$handler.=.\is_array($handle
140960 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 72 65 73 74 6f 72 65 r).?.$handler[0].:.null;.restore
140980 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 20 _error_handler();.if.(!$handler.
1409a0 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 instanceof.self).{.return;.}.if.
1409c0 28 27 64 65 70 72 65 63 61 74 69 6f 6e 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 ('deprecation'.===.$channel).{.$
1409e0 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 handler->setDefaultLogger($logge
140a00 72 2c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 r,.E_DEPRECATED.|.E_USER_DEPRECA
140a20 54 45 44 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 63 72 65 61 6d 41 74 28 45 TED,.true);.$handler->screamAt(E
140a40 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 _DEPRECATED.|.E_USER_DEPRECATED)
140a60 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 63 72 65 61 6d 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 ;.}.elseif.('scream'.===.$channe
140a80 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 l).{.$handler->setDefaultLogger(
140aa0 24 6c 6f 67 67 65 72 2c 20 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 2c 20 66 61 6c 73 65 $logger,.E_ALL.|.E_STRICT,.false
140ac0 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 63 72 65 61 6d 41 74 28 45 5f 41 4c 4c 20 7c 20 45 5f );.$handler->screamAt(E_ALL.|.E_
140ae0 53 54 52 49 43 54 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 65 6d 65 72 67 65 6e 63 79 27 20 3d STRICT);.}.elseif.('emergency'.=
140b00 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 66 61 ==.$channel).{.$handler->setDefa
140b20 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 ultLogger($logger,.E_PARSE.|.E_E
140b40 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f RROR.|.E_CORE_ERROR.|.E_COMPILE_
140b60 45 52 52 4f 52 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 63 72 65 61 6d 41 74 ERROR,.true);.$handler->screamAt
140b80 28 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f (E_PARSE.|.E_ERROR.|.E_CORE_ERRO
140ba0 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 R.|.E_COMPILE_ERROR);.}.}.....pu
140bc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 24 6c 65 76 65 6c 2c 20 24 6d 65 blic.function.handle($level,.$me
140be0 73 73 61 67 65 2c 20 24 66 69 6c 65 20 3d 20 27 75 6e 6b 6e 6f 77 6e 27 2c 20 24 6c 69 6e 65 20 ssage,.$file.=.'unknown',.$line.
140c00 3d 20 30 2c 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 =.0,.$context.=.array()).{.$this
140c20 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 2c ->handleError(E_USER_DEPRECATED,
140c40 20 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 .'The.'.__METHOD__.'.method.is.d
140c60 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 eprecated.since.Symfony.2.6.and.
140c80 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 will.be.removed.in.3.0..Use.the.
140ca0 68 61 6e 64 6c 65 45 72 72 6f 72 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 handleError().method.instead.',.
140cc0 5f 5f 46 49 4c 45 5f 5f 2c 20 5f 5f 4c 49 4e 45 5f 5f 2c 20 61 72 72 61 79 28 29 29 3b 0a 0a 72 __FILE__,.__LINE__,.array());..r
140ce0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 6c 65 76 65 6c 2c eturn.$this->handleError($level,
140d00 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 28 61 72 72 61 79 29 .$message,.$file,.$line,.(array)
140d20 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .$context);.}.......public.funct
140d40 69 6f 6e 20 68 61 6e 64 6c 65 46 61 74 61 6c 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 ion.handleFatal().{.@trigger_err
140d60 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 or('The.'.__METHOD__.'.method.is
140d80 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e .deprecated.since.Symfony.2.6.an
140da0 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 d.will.be.removed.in.3.0..Use.th
140dc0 65 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 e.handleFatalError().method.inst
140de0 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 73 74 61 74 ead.',.E_USER_DEPRECATED);..stat
140e00 69 63 3a 3a 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ic::handleFatalError();.}.}.....
140e20 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 43 61 6e 61 72 79 0a 7b 0a 70 ....class.ErrorHandlerCanary.{.p
140e40 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 6e rivate.static.$displayErrors.=.n
140e60 75 6c 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ull;..public.function.__construc
140e80 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 t().{.if.(null.===.self::$displa
140ea0 79 45 72 72 6f 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 yErrors).{.self::$displayErrors.
140ec0 3d 20 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 31 29 3b 0a =.ini_set('display_errors',.1);.
140ee0 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 74 28 }.}..public.function.__destruct(
140f00 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 ).{.if.(null.!==.self::$displayE
140f20 72 72 6f 72 73 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 rrors).{.ini_set('display_errors
140f40 27 2c 20 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 3b 0a 73 65 6c 66 3a 3a ',.self::$displayErrors);.self::
140f60 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 $displayErrors.=.null;.}.}.}.<?p
140f80 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
140fa0 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a omponent\Debug\Exception;.......
140fc0 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 class.ClassNotFoundException.ext
140fe0 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 ends.FatalErrorException.{.publi
141000 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c c.function.__construct($message,
141020 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 70 61 .\ErrorException.$previous).{.pa
141040 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 70 72 rent::__construct(.$message,.$pr
141060 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 evious->getCode(),.$previous->ge
141080 74 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c 65 28 tSeverity(),.$previous->getFile(
1410a0 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 ),.$previous->getLine(),.null,.t
1410c0 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 rue,.null,.$previous->getPreviou
1410e0 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f 75 73 s().);.$this->setTrace($previous
141100 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ->getTrace());.}.}.<?php........
141120 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 ...namespace.Symfony\Component\D
141140 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 74 ebug\Exception;.......class.Cont
141160 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 72 72 6f 72 extErrorException.extends.\Error
141180 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 Exception.{.private.$context.=.a
1411a0 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 rray();..public.function.__const
1411c0 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c ruct($message,.$code,.$severity,
1411e0 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 63 6f 6e 74 65 78 74 20 3d 20 .$filename,.$lineno,.$context.=.
141200 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 array()).{.parent::__construct($
141220 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 message,.$code,.$severity,.$file
141240 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 78 74 20 3d name,.$lineno);.$this->context.=
141260 20 24 63 6f 6e 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$context;.}.....public.function
141280 20 67 65 74 43 6f 6e 74 65 78 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f .getContext().{.return.$this->co
1412a0 6e 74 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ntext;.}.}.<?php...........names
1412c0 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 pace.Symfony\Component\Debug\Exc
1412e0 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f eption;..@trigger_error('The.'._
141300 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 20 63 6c _NAMESPACE__.'\DummyException.cl
141320 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 ass.is.deprecated.since.Symfony.
141340 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.5.and.will.be.removed.in.3.0.'
141360 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 ,.E_USER_DEPRECATED);.......clas
141380 73 20 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 72 72 6f 72 45 s.DummyException.extends.\ErrorE
1413a0 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d xception.{.}.<?php...........nam
1413c0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 espace.Symfony\Component\HttpKer
1413e0 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 nel\Exception;...........class.F
141400 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 72 72 6f atalErrorException.extends.\Erro
141420 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e rException.{.}..namespace.Symfon
141440 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 y\Component\Debug\Exception;..us
141460 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 e.Symfony\Component\HttpKernel\E
141480 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 61 73 20 xception\FatalErrorException.as.
1414a0 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a LegacyFatalErrorException;......
1414c0 0a 63 6c 61 73 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e .class.FatalErrorException.exten
1414e0 64 73 20 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 ds.LegacyFatalErrorException.{.p
141500 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 ublic.function.__construct($mess
141520 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 age,.$code,.$severity,.$filename
141540 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 74 72 61 63 65 4f 66 66 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 ,.$lineno,.$traceOffset.=.null,.
141560 24 74 72 61 63 65 41 72 67 73 20 3d 20 74 72 75 65 2c 20 61 72 72 61 79 20 24 74 72 61 63 65 20 $traceArgs.=.true,.array.$trace.
141580 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 =.null,.$previous.=.null).{.pare
1415a0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c nt::__construct($message,.$code,
1415c0 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 .$severity,.$filename,.$lineno,.
1415e0 24 70 72 65 76 69 6f 75 73 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 72 61 63 65 $previous);..if.(null.!==.$trace
141600 29 20 7b 0a 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 ).{.if.(!$traceArgs).{.foreach.(
141620 24 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 66 72 61 6d $trace.as.&$frame).{.unset($fram
141640 65 5b 27 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 74 68 69 73 27 5d 2c 20 24 66 72 61 6d e['args'],.$frame['this'],.$fram
141660 65 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 74 72 61 63 65 29 e);.}.}..$this->setTrace($trace)
141680 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 72 61 63 65 4f 66 66 73 65 ;.}.elseif.(null.!==.$traceOffse
1416a0 74 29 20 7b 0a 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 78 64 65 62 75 t).{.if.(\function_exists('xdebu
1416c0 67 5f 67 65 74 5f 66 75 6e 63 74 69 6f 6e 5f 73 74 61 63 6b 27 29 29 20 7b 0a 24 74 72 61 63 65 g_get_function_stack')).{.$trace
1416e0 20 3d 20 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 69 6f 6e 5f 73 74 61 63 6b 28 29 3b 0a .=.xdebug_get_function_stack();.
141700 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 61 72 72 61 79 5f 73 70 if.(0.<.$traceOffset).{.array_sp
141720 6c 69 63 65 28 24 74 72 61 63 65 2c 20 2d 24 74 72 61 63 65 4f 66 66 73 65 74 29 3b 0a 7d 0a 0a lice($trace,.-$traceOffset);.}..
141740 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 69 66 foreach.($trace.as.&$frame).{.if
141760 20 28 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 29 29 20 7b 0a 0a 20 69 66 .(!isset($frame['type'])).{...if
141780 20 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 24 66 72 61 .(isset($frame['class'])).{.$fra
1417a0 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 me['type'].=.'::';.}.}.elseif.('
1417c0 64 79 6e 61 6d 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 29 20 7b 0a 24 dynamic'.===.$frame['type']).{.$
1417e0 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 2d 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 frame['type'].=.'->';.}.elseif.(
141800 27 73 74 61 74 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 29 20 7b 0a 24 'static'.===.$frame['type']).{.$
141820 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 frame['type'].=.'::';.}....if.(!
141840 24 74 72 61 63 65 41 72 67 73 29 20 7b 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 $traceArgs).{.unset($frame['para
141860 6d 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ms'],.$frame['args']);.}.elseif.
141880 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 29 20 26 26 20 21 69 73 73 (isset($frame['params']).&&.!iss
1418a0 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 29 20 7b 0a 24 66 72 61 6d 65 5b 27 61 72 et($frame['args'])).{.$frame['ar
1418c0 67 73 27 5d 20 3d 20 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 3b 0a 75 6e 73 65 74 28 24 gs'].=.$frame['params'];.unset($
1418e0 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 66 72 frame['params']);.}.}..unset($fr
141900 61 6d 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 72 ame);.$trace.=.array_reverse($tr
141920 61 63 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 ace);.}.elseif.(\function_exists
141940 28 27 73 79 6d 66 6f 6e 79 5f 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 27 29 29 20 7b 0a 24 ('symfony_debug_backtrace')).{.$
141960 74 72 61 63 65 20 3d 20 73 79 6d 66 6f 6e 79 5f 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 trace.=.symfony_debug_backtrace(
141980 29 3b 0a 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 61 72 72 61 79 );.if.(0.<.$traceOffset).{.array
1419a0 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 30 2c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 _splice($trace,.0,.$traceOffset)
1419c0 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 61 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d ;.}.}.else.{.$trace.=.array();.}
1419e0 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 74 72 61 63 65 29 3b 0a 7d 0a 7d 0a 0a ..$this->setTrace($trace);.}.}..
141a00 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 63 65 28 24 74 72 61 protected.function.setTrace($tra
141a20 63 65 29 0a 7b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 ce).{.$traceReflector.=.new.\Ref
141a40 6c 65 63 74 69 6f 6e 50 72 6f 70 65 72 74 79 28 27 45 78 63 65 70 74 69 6f 6e 27 2c 20 27 74 72 lectionProperty('Exception',.'tr
141a60 61 63 65 27 29 3b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f 72 2d 3e 73 65 74 41 63 63 65 73 ace');.$traceReflector->setAcces
141a80 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f 72 2d 3e 73 65 sible(true);.$traceReflector->se
141aa0 74 56 61 6c 75 65 28 24 74 68 69 73 2c 20 24 74 72 61 63 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 tValue($this,.$trace);.}.}.<?php
141ac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
141ae0 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c ponent\Debug\Exception;.......cl
141b00 61 73 73 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 20 65 78 74 65 6e 64 73 20 ass.FatalThrowableError.extends.
141b20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e FatalErrorException.{.public.fun
141b40 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 ction.__construct(\Throwable.$e)
141b60 0a 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 61 72 73 65 45 72 72 6f 72 .{.if.($e.instanceof.\ParseError
141b80 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 61 72 73 65 20 65 72 72 6f 72 3a 20 27 2e 24 ).{.$message.=.'Parse.error:.'.$
141ba0 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 50 e->getMessage();.$severity.=.E_P
141bc0 41 52 53 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 ARSE;.}.elseif.($e.instanceof.\T
141be0 79 70 65 45 72 72 6f 72 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 54 79 70 65 20 65 72 72 ypeError).{.$message.=.'Type.err
141c00 6f 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 73 65 76 65 72 69 74 or:.'.$e->getMessage();.$severit
141c20 79 20 3d 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 3b 0a 7d 20 65 6c 73 65 20 y.=.E_RECOVERABLE_ERROR;.}.else.
141c40 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 {.$message.=.$e->getMessage();.$
141c60 73 65 76 65 72 69 74 79 20 3d 20 45 5f 45 52 52 4f 52 3b 0a 7d 0a 0a 5c 45 72 72 6f 72 45 78 63 severity.=.E_ERROR;.}..\ErrorExc
141c80 65 70 74 69 6f 6e 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 eption::__construct(.$message,.$
141ca0 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 73 65 76 65 72 69 74 79 2c 0a 24 65 2d 3e 67 65 74 e->getCode(),.$severity,.$e->get
141cc0 46 69 6c 65 28 29 2c 0a 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 24 65 2d 3e 67 65 74 50 72 File(),.$e->getLine(),.$e->getPr
141ce0 65 76 69 6f 75 73 28 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 65 2d evious().);..$this->setTrace($e-
141d00 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a >getTrace());.}.}.<?php.........
141d20 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 ..namespace.Symfony\Component\Ht
141d40 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 tpKernel\Exception;..use.Symfony
141d60 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 \Component\Debug\Exception\Flatt
141d80 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 20 44 65 62 75 67 46 6c 61 74 74 65 6e 45 78 63 65 70 enException.as.DebugFlattenExcep
141da0 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6c 61 74 74 65 6e 45 78 63 tion;...........class.FlattenExc
141dc0 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 68 61 6e 64 6c 65 72 3b 0a 0a 70 75 62 6c eption.{.private.$handler;..publ
141de0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 53 74 61 74 69 63 28 ic.static.function.__callStatic(
141e00 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 21 6d 65 74 68 6f 64 5f 65 78 $method,.$args).{.if.(!method_ex
141e20 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 ists('Symfony\Component\Debug\Ex
141e40 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 27 2c 20 24 6d 65 74 68 ception\FlattenException',.$meth
141e60 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 6c 45 od)).{.throw.new.\BadMethodCallE
141e80 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 xception(sprintf('Call.to.undefi
141ea0 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 3a 3a 25 73 28 29 27 2c 20 5c 67 65 74 5f 63 61 6c 6c 65 ned.method.%s::%s()',.\get_calle
141ec0 64 5f 63 6c 61 73 73 28 29 2c 20 24 6d 65 74 68 6f 64 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 d_class(),.$method));.}..return.
141ee0 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 79 28 27 53 79 6d \call_user_func_array(array('Sym
141f00 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 fony\Component\Debug\Exception\F
141f20 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 27 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 61 72 67 lattenException',.$method),.$arg
141f40 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6d s);.}..public.function.__call($m
141f60 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 ethod,.$args).{.if.(!isset($this
141f80 2d 3e 68 61 6e 64 6c 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 3d 20 6e ->handler)).{.$this->handler.=.n
141fa0 65 77 20 44 65 62 75 67 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 ew.DebugFlattenException();.}..i
141fc0 66 20 28 21 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 f.(!method_exists($this->handler
141fe0 2c 20 24 6d 65 74 68 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d 65 74 68 ,.$method)).{.throw.new.\BadMeth
142000 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6c 6c 20 74 6f odCallException(sprintf('Call.to
142020 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 3a 3a 25 73 28 29 27 2c 20 5c 67 65 .undefined.method.%s::%s()',.\ge
142040 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 2c 20 24 6d 65 74 68 6f 64 29 29 3b 0a 7d 0a 0a 72 65 t_class($this),.$method));.}..re
142060 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 79 turn.\call_user_func_array(array
142080 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 61 72 67 73 ($this->handler,.$method),.$args
1420a0 29 3b 0a 7d 0a 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e );.}.}..namespace.Symfony\Compon
1420c0 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e ent\Debug\Exception;..use.Symfon
1420e0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e y\Component\HttpKernel\Exception
142100 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 20 4c 65 67 61 63 79 46 6c 61 74 74 \FlattenException.as.LegacyFlatt
142120 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 enException;.use.Symfony\Compone
142140 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 48 74 74 70 45 78 63 65 nt\HttpKernel\Exception\HttpExce
142160 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6c ptionInterface;.........class.Fl
142180 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 4c 65 67 61 63 79 46 6c 61 attenException.extends.LegacyFla
1421a0 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 ttenException.{.private.$message
1421c0 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 76 69 6f ;.private.$code;.private.$previo
1421e0 75 73 3b 0a 70 72 69 76 61 74 65 20 24 74 72 61 63 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6c 61 us;.private.$trace;.private.$cla
142200 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 70 72 69 76 61 74 65 ss;.private.$statusCode;.private
142220 20 24 68 65 61 64 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 70 72 69 76 61 74 .$headers;.private.$file;.privat
142240 65 20 24 6c 69 6e 65 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e e.$line;..public.static.function
142260 20 63 72 65 61 74 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 .create(\Exception.$exception,.$
142280 73 74 61 74 75 73 43 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 68 65 61 64 65 72 statusCode.=.null,.array.$header
1422a0 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 s.=.array()).{.$e.=.new.static()
1422c0 3b 0a 24 65 2d 3e 73 65 74 4d 65 73 73 61 67 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 ;.$e->setMessage($exception->get
1422e0 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 43 6f 64 65 28 24 65 78 63 65 70 74 69 Message());.$e->setCode($excepti
142300 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 on->getCode());..if.($exception.
142320 69 6e 73 74 61 6e 63 65 6f 66 20 48 74 74 70 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 instanceof.HttpExceptionInterfac
142340 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 e).{.$statusCode.=.$exception->g
142360 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 3b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 etStatusCode();.$headers.=.array
142380 5f 6d 65 72 67 65 28 24 68 65 61 64 65 72 73 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 _merge($headers,.$exception->get
1423a0 48 65 61 64 65 72 73 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 74 61 Headers());.}..if.(null.===.$sta
1423c0 74 75 73 43 6f 64 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 35 30 30 3b 0a 7d 0a tusCode).{.$statusCode.=.500;.}.
1423e0 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 73 43 6f 64 65 29 3b .$e->setStatusCode($statusCode);
142400 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b 0a 24 65 2d 3e 73 .$e->setHeaders($headers);.$e->s
142420 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 etTraceFromException($exception)
142440 3b 0a 24 65 2d 3e 73 65 74 43 6c 61 73 73 28 5c 67 65 74 5f 63 6c 61 73 73 28 24 65 78 63 65 70 ;.$e->setClass(\get_class($excep
142460 74 69 6f 6e 29 29 3b 0a 24 65 2d 3e 73 65 74 46 69 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e tion));.$e->setFile($exception->
142480 67 65 74 46 69 6c 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 4c 69 6e 65 28 24 65 78 63 65 70 74 69 getFile());.$e->setLine($excepti
1424a0 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 29 3b 0a 0a 24 70 72 65 76 69 6f 75 73 20 3d 20 24 65 78 on->getLine());..$previous.=.$ex
1424c0 63 65 70 74 69 6f 6e 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 3b 0a 0a 69 66 20 28 24 70 72 ception->getPrevious();..if.($pr
1424e0 65 76 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a evious.instanceof.\Exception).{.
142500 24 65 2d 3e 73 65 74 50 72 65 76 69 6f 75 73 28 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 28 24 $e->setPrevious(static::create($
142520 70 72 65 76 69 6f 75 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 76 69 6f 75 73 20 previous));.}.elseif.($previous.
142540 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 68 72 6f 77 61 62 6c 65 29 20 7b 0a 24 65 2d 3e 73 65 74 instanceof.\Throwable).{.$e->set
142560 50 72 65 76 69 6f 75 73 28 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 28 6e 65 77 20 46 61 74 61 Previous(static::create(new.Fata
142580 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 70 72 65 76 69 6f 75 73 29 29 29 3b 0a 7d 0a lThrowableError($previous)));.}.
1425a0 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 .return.$e;.}..public.function.t
1425c0 6f 41 72 72 61 79 28 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 oArray().{.$exceptions.=.array()
1425e0 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 74 68 ;.foreach.(array_merge(array($th
142600 69 73 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 6c 50 72 65 76 69 6f 75 73 28 29 29 20 61 73 is),.$this->getAllPrevious()).as
142620 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 5b 5d 20 3d 20 61 .$exception).{.$exceptions[].=.a
142640 72 72 61 79 28 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 rray(.'message'.=>.$exception->g
142660 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 24 65 78 63 65 70 74 69 etMessage(),.'class'.=>.$excepti
142680 6f 6e 2d 3e 67 65 74 43 6c 61 73 73 28 29 2c 0a 27 74 72 61 63 65 27 20 3d 3e 20 24 65 78 63 65 on->getClass(),.'trace'.=>.$exce
1426a0 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ption->getTrace(),.);.}..return.
1426c0 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $exceptions;.}..public.function.
1426e0 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e getStatusCode().{.return.$this->
142700 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 statusCode;.}..public.function.s
142720 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 etStatusCode($code).{.$this->sta
142740 74 75 73 43 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tusCode.=.$code;.}..public.funct
142760 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ion.getHeaders().{.return.$this-
142780 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 >headers;.}..public.function.set
1427a0 48 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 74 68 69 73 2d Headers(array.$headers).{.$this-
1427c0 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 >headers.=.$headers;.}..public.f
1427e0 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 unction.getClass().{.return.$thi
142800 73 2d 3e 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 s->class;.}..public.function.set
142820 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 20 3d 20 24 Class($class).{.$this->class.=.$
142840 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c class;.}..public.function.getFil
142860 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 3b 0a 7d 0a 0a 70 75 62 e().{.return.$this->file;.}..pub
142880 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 24 74 lic.function.setFile($file).{.$t
1428a0 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->file.=.$file;.}..public.fun
1428c0 63 74 69 6f 6e 20 67 65 74 4c 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ction.getLine().{.return.$this->
1428e0 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 69 6e 65 line;.}..public.function.setLine
142900 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 6e 65 20 3d 20 24 6c 69 6e 65 3b 0a 7d ($line).{.$this->line.=.$line;.}
142920 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 28 29 0a 7b ..public.function.getMessage().{
142940 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 .return.$this->message;.}..publi
142960 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 6d 65 73 73 61 67 65 29 0a c.function.setMessage($message).
142980 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a {.$this->message.=.$message;.}..
1429a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 public.function.getCode().{.retu
1429c0 72 6e 20 24 74 68 69 73 2d 3e 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.$this->code;.}..public.functi
1429e0 6f 6e 20 73 65 74 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 64 65 20 on.setCode($code).{.$this->code.
142a00 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 =.$code;.}..public.function.getP
142a20 72 65 76 69 6f 75 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 76 69 6f revious().{.return.$this->previo
142a40 75 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 76 69 6f us;.}..public.function.setPrevio
142a60 75 73 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b us(FlattenException.$previous).{
142a80 0a 24 74 68 69 73 2d 3e 70 72 65 76 69 6f 75 73 20 3d 20 24 70 72 65 76 69 6f 75 73 3b 0a 7d 0a .$this->previous.=.$previous;.}.
142aa0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 50 72 65 76 69 6f 75 73 28 .public.function.getAllPrevious(
142ac0 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 65 20 3d 20 ).{.$exceptions.=.array();.$e.=.
142ae0 24 74 68 69 73 3b 0a 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 6f $this;.while.($e.=.$e->getPrevio
142b00 75 73 28 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 65 3b 0a 7d 0a 0a 72 us()).{.$exceptions[].=.$e;.}..r
142b20 65 74 75 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e eturn.$exceptions;.}..public.fun
142b40 63 74 69 6f 6e 20 67 65 74 54 72 61 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ction.getTrace().{.return.$this-
142b60 3e 74 72 61 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 >trace;.}..public.function.setTr
142b80 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 aceFromException(\Exception.$exc
142ba0 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 65 78 63 65 70 eption).{.$this->setTrace($excep
142bc0 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 tion->getTrace(),.$exception->ge
142be0 74 46 69 6c 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 29 3b tFile(),.$exception->getLine());
142c00 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 63 65 28 24 74 72 .}..public.function.setTrace($tr
142c20 61 63 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 63 ace,.$file,.$line).{.$this->trac
142c40 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 5b 5d 20 3d 20 61 72 e.=.array();.$this->trace[].=.ar
142c60 72 61 79 28 0a 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 27 27 2c 0a 27 73 68 6f 72 74 5f 63 ray(.'namespace'.=>.'',.'short_c
142c80 6c 61 73 73 27 20 3d 3e 20 27 27 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 27 27 2c 0a 27 74 79 70 lass'.=>.'',.'class'.=>.'',.'typ
142ca0 65 27 20 3d 3e 20 27 27 2c 0a 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a 27 66 69 6c e'.=>.'',.'function'.=>.'',.'fil
142cc0 65 27 20 3d 3e 20 24 66 69 6c 65 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 6c 69 6e 65 2c 0a 27 61 e'.=>.$file,.'line'.=>.$line,.'a
142ce0 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 72 rgs'.=>.array(),.);.foreach.($tr
142d00 61 63 65 20 61 73 20 24 65 6e 74 72 79 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 27 27 3b 0a 24 6e ace.as.$entry).{.$class.=.'';.$n
142d20 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 6e 74 72 79 5b amespace.=.'';.if.(isset($entry[
142d40 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 5c 'class'])).{.$parts.=.explode('\
142d60 5c 27 2c 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 24 63 6c 61 73 73 20 3d 20 61 \',.$entry['class']);.$class.=.a
142d80 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 69 rray_pop($parts);.$namespace.=.i
142da0 6d 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 70 61 72 74 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e mplode('\\',.$parts);.}..$this->
142dc0 74 72 61 63 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 trace[].=.array(.'namespace'.=>.
142de0 24 6e 61 6d 65 73 70 61 63 65 2c 0a 27 73 68 6f 72 74 5f 63 6c 61 73 73 27 20 3d 3e 20 24 63 6c $namespace,.'short_class'.=>.$cl
142e00 61 73 73 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 63 6c ass,.'class'.=>.isset($entry['cl
142e20 61 73 73 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 20 3a 20 27 27 2c 0a 27 ass']).?.$entry['class'].:.'',.'
142e40 74 79 70 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 74 79 70 65 27 5d 29 20 3f type'.=>.isset($entry['type']).?
142e60 20 24 65 6e 74 72 79 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 2c 0a 27 66 75 6e 63 74 69 6f 6e 27 .$entry['type'].:.'',.'function'
142e80 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 20 3f 20 .=>.isset($entry['function']).?.
142ea0 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 66 69 6c 65 $entry['function'].:.null,.'file
142ec0 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 69 6c 65 27 5d 29 20 3f 20 24 65 6e '.=>.isset($entry['file']).?.$en
142ee0 74 72 79 5b 27 66 69 6c 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 69 73 try['file'].:.null,.'line'.=>.is
142f00 73 65 74 28 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 6c 69 set($entry['line']).?.$entry['li
142f20 6e 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 61 72 67 73 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e ne'].:.null,.'args'.=>.isset($en
142f40 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6c 61 74 74 65 6e 41 72 67 try['args']).?.$this->flattenArg
142f60 73 28 24 65 6e 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3a 20 61 72 72 61 79 28 29 2c 0a 29 3b 0a s($entry['args']).:.array(),.);.
142f80 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6c 61 74 74 65 6e 41 72 67 }.}..private.function.flattenArg
142fa0 73 28 24 61 72 67 73 2c 20 24 6c 65 76 65 6c 20 3d 20 30 2c 20 26 24 63 6f 75 6e 74 20 3d 20 30 s($args,.$level.=.0,.&$count.=.0
142fc0 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 ).{.$result.=.array();.foreach.(
142fe0 24 61 72 67 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 2b $args.as.$key.=>.$value).{.if.(+
143000 2b 24 63 6f 75 6e 74 20 3e 20 31 65 34 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 61 +$count.>.1e4).{.return.array('a
143020 72 72 61 79 27 2c 20 27 2a 53 4b 49 50 50 45 44 20 6f 76 65 72 20 31 30 30 30 30 20 65 6e 74 72 rray',.'*SKIPPED.over.10000.entr
143040 69 65 73 2a 27 29 3b 0a 7d 0a 69 66 20 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 ies*');.}.if.($value.instanceof.
143060 5c 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 29 20 7b 0a 0a 20 24 72 65 \__PHP_Incomplete_Class).{...$re
143080 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 69 6e 63 6f 6d 70 6c 65 74 65 2d 6f sult[$key].=.array('incomplete-o
1430a0 62 6a 65 63 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 49 bject',.$this->getClassNameFromI
1430c0 6e 63 6f 6d 70 6c 65 74 65 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 ncomplete($value));.}.elseif.(\i
1430e0 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 s_object($value)).{.$result[$key
143100 5d 20 3d 20 61 72 72 61 79 28 27 6f 62 6a 65 63 74 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 ].=.array('object',.\get_class($
143120 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 76 61 value));.}.elseif.(\is_array($va
143140 6c 75 65 29 29 20 7b 0a 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 31 30 29 20 7b 0a 24 72 65 73 75 lue)).{.if.($level.>.10).{.$resu
143160 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 27 2a 44 45 45 50 lt[$key].=.array('array',.'*DEEP
143180 20 4e 45 53 54 45 44 20 41 52 52 41 59 2a 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 .NESTED.ARRAY*');.}.else.{.$resu
1431a0 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 24 74 68 69 73 2d lt[$key].=.array('array',.$this-
1431c0 3e 66 6c 61 74 74 65 6e 41 72 67 73 28 24 76 61 6c 75 65 2c 20 24 6c 65 76 65 6c 20 2b 20 31 2c >flattenArgs($value,.$level.+.1,
1431e0 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 .$count));.}.}.elseif.(null.===.
143200 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 $value).{.$result[$key].=.array(
143220 27 6e 75 6c 6c 27 2c 20 6e 75 6c 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 62 6f 6f 'null',.null);.}.elseif.(\is_boo
143240 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 l($value)).{.$result[$key].=.arr
143260 61 79 28 27 62 6f 6f 6c 65 61 6e 27 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ay('boolean',.$value);.}.elseif.
143280 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 (\is_resource($value)).{.$result
1432a0 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 72 65 73 6f 75 72 63 65 27 2c 20 67 65 74 5f 72 [$key].=.array('resource',.get_r
1432c0 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a esource_type($value));.}.else.{.
1432e0 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 73 74 72 69 6e 67 27 2c 20 $result[$key].=.array('string',.
143300 28 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 (string).$value);.}.}..return.$r
143320 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c esult;.}..private.function.getCl
143340 61 73 73 4e 61 6d 65 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 5c 5f 5f 50 48 50 5f 49 6e 63 assNameFromIncomplete(\__PHP_Inc
143360 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 20 24 76 61 6c 75 65 29 0a 7b 0a 24 61 72 72 61 79 20 3d omplete_Class.$value).{.$array.=
143380 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 .new.\ArrayObject($value);..retu
1433a0 72 6e 20 24 61 72 72 61 79 5b 27 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 rn.$array['__PHP_Incomplete_Clas
1433c0 73 5f 4e 61 6d 65 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 s_Name'];.}.}.<?php...........na
1433e0 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c mespace.Symfony\Component\Debug\
143400 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 4f 66 4d 65 6d 6f Exception;.......class.OutOfMemo
143420 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 ryException.extends.FatalErrorEx
143440 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ception.{.}.<?php...........name
143460 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 space.Symfony\Component\Debug\Ex
143480 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 46 75 ception;.......class.UndefinedFu
1434a0 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 nctionException.extends.FatalErr
1434c0 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f orException.{.public.function.__
1434e0 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 construct($message,.\ErrorExcept
143500 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 ion.$previous).{.parent::__const
143520 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f ruct(.$message,.$previous->getCo
143540 64 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a de(),.$previous->getSeverity(),.
143560 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d $previous->getFile(),.$previous-
143580 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 >getLine(),.null,.true,.null,.$p
1435a0 72 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d revious->getPrevious().);.$this-
1435c0 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 >setTrace($previous->getTrace())
1435e0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
143600 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f Symfony\Component\Debug\Exceptio
143620 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 n;.......class.UndefinedMethodEx
143640 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 ception.extends.FatalErrorExcept
143660 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ion.{.public.function.__construc
143680 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 t($message,.\ErrorException.$pre
1436a0 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d vious).{.parent::__construct(.$m
1436c0 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 70 essage,.$previous->getCode(),.$p
1436e0 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f 75 revious->getSeverity(),.$previou
143700 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 s->getFile(),.$previous->getLine
143720 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 2d (),.null,.true,.null,.$previous-
143740 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 >getPrevious().);.$this->setTrac
143760 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f e($previous->getTrace());.}.}.<?
143780 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
1437a0 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Component\Debug;..use.Symfony\Co
1437c0 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 mponent\Debug\Exception\FlattenE
1437e0 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c xception;.use.Symfony\Component\
143800 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 Debug\Exception\OutOfMemoryExcep
143820 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 tion;.use.Symfony\Component\Http
143840 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 65 73 70 6f 6e 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Foundation\Response;............
143860 0a 0a 63 6c 61 73 73 20 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 ..class.ExceptionHandler.{.priva
143880 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 72 73 65 74 3b 0a 70 72 69 te.$debug;.private.$charset;.pri
1438a0 76 61 74 65 20 24 68 61 6e 64 6c 65 72 3b 0a 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 42 75 vate.$handler;.private.$caughtBu
1438c0 66 66 65 72 3b 0a 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 3b 0a 70 72 69 ffer;.private.$caughtLength;.pri
1438e0 76 61 74 65 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 vate.$fileLinkFormat;..public.fu
143900 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 62 75 67 20 3d 20 74 72 75 65 nction.__construct($debug.=.true
143920 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d ,.$charset.=.null,.$fileLinkForm
143940 61 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f at.=.null).{.if.(false.!==.strpo
143960 73 28 24 63 68 61 72 73 65 74 2c 20 27 25 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 s($charset,.'%')).{.@trigger_err
143980 6f 72 28 27 50 72 6f 76 69 64 69 6e 67 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 61 73 or('Providing.$fileLinkFormat.as
1439a0 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f .second.argument.to.'.__METHOD__
1439c0 2e 27 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 .'.is.deprecated.since.Symfony.2
1439e0 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 75 6e 73 75 70 70 6f 72 74 65 64 20 69 6e 20 33 2e .8.and.will.be.unsupported.in.3.
143a00 30 2e 20 50 6c 65 61 73 65 20 70 72 6f 76 69 64 65 20 69 74 20 61 73 20 74 68 69 72 64 20 61 72 0..Please.provide.it.as.third.ar
143a20 67 75 6d 65 6e 74 2c 20 61 66 74 65 72 20 24 63 68 61 72 73 65 74 2e 27 2c 20 45 5f 55 53 45 52 gument,.after.$charset.',.E_USER
143a40 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 20 24 70 69 76 6f 74 20 3d 20 24 66 69 6c 65 4c _DEPRECATED);....$pivot.=.$fileL
143a60 69 6e 6b 46 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 63 68 inkFormat;.$fileLinkFormat.=.$ch
143a80 61 72 73 65 74 3b 0a 24 63 68 61 72 73 65 74 20 3d 20 24 70 69 76 6f 74 3b 0a 7d 0a 24 74 68 69 arset;.$charset.=.$pivot;.}.$thi
143aa0 73 2d 3e 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 3b 0a 24 74 68 69 73 2d 3e 63 68 61 72 73 65 s->debug.=.$debug;.$this->charse
143ac0 74 20 3d 20 24 63 68 61 72 73 65 74 20 3f 3a 20 69 6e 69 5f 67 65 74 28 27 64 65 66 61 75 6c 74 t.=.$charset.?:.ini_get('default
143ae0 5f 63 68 61 72 73 65 74 27 29 20 3f 3a 20 27 55 54 46 2d 38 27 3b 0a 24 74 68 69 73 2d 3e 66 69 _charset').?:.'UTF-8';.$this->fi
143b00 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3f leLinkFormat.=.$fileLinkFormat.?
143b20 3a 20 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 66 69 6c 65 5f 6c 69 6e 6b 5f 66 6f 72 6d :.ini_get('xdebug.file_link_form
143b40 61 74 27 29 20 3f 3a 20 67 65 74 5f 63 66 67 5f 76 61 72 28 27 78 64 65 62 75 67 2e 66 69 6c 65 at').?:.get_cfg_var('xdebug.file
143b60 5f 6c 69 6e 6b 5f 66 6f 72 6d 61 74 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c _link_format');.}...........publ
143b80 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 64 65 62 ic.static.function.register($deb
143ba0 75 67 20 3d 20 74 72 75 65 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 66 69 6c ug.=.true,.$charset.=.null,.$fil
143bc0 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 68 61 6e 64 6c 65 72 20 3d eLinkFormat.=.null).{.$handler.=
143be0 20 6e 65 77 20 73 74 61 74 69 63 28 24 64 65 62 75 67 2c 20 24 63 68 61 72 73 65 74 2c 20 24 66 .new.static($debug,.$charset,.$f
143c00 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 3b 0a 0a 24 70 72 65 76 20 3d 20 73 65 74 5f 65 78 63 ileLinkFormat);..$prev.=.set_exc
143c20 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 eption_handler(array($handler,.'
143c40 68 61 6e 64 6c 65 27 29 29 3b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 handle'));.if.(\is_array($prev).
143c60 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 48 61 6e 64 &&.$prev[0].instanceof.ErrorHand
143c80 6c 65 72 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 ler).{.restore_exception_handler
143ca0 28 29 3b 0a 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 ();.$prev[0]->setExceptionHandle
143cc0 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 27 29 29 3b 0a 7d 0a r(array($handler,.'handle'));.}.
143ce0 0a 72 65 74 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .return.$handler;.}.........publ
143d00 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 61 6e 64 6c 65 72 28 24 68 61 6e 64 6c 65 72 29 ic.function.setHandler($handler)
143d20 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 20 26 26 20 21 5c 69 73 .{.if.(null.!==.$handler.&&.!\is
143d40 5f 63 61 6c 6c 61 62 6c 65 28 24 68 61 6e 64 6c 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 _callable($handler)).{.throw.new
143d60 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 .\LogicException('The.exception.
143d80 68 61 6e 64 6c 65 72 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c handler.must.be.a.valid.PHP.call
143da0 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 able.');.}.$old.=.$this->handler
143dc0 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a 0a 72 65 ;.$this->handler.=.$handler;..re
143de0 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 turn.$old;.}.........public.func
143e00 74 69 6f 6e 20 73 65 74 46 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a tion.setFileLinkFormat($format).
143e20 7b 0a 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a {.$old.=.$this->fileLinkFormat;.
143e40 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b $this->fileLinkFormat.=.$format;
143e60 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ..return.$old;.}..........public
143e80 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 .function.handle(\Exception.$exc
143ea0 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 61 eption).{.if.(null.===.$this->ha
143ec0 6e 64 6c 65 72 20 7c 7c 20 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 4f ndler.||.$exception.instanceof.O
143ee0 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 utOfMemoryException).{.$this->fa
143f00 69 6c 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 ilSafeHandle($exception);..retur
143f20 6e 3b 0a 7d 0a 0a 24 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 61 75 n;.}..$caughtLength.=.$this->cau
143f40 67 68 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 6f 62 5f 73 74 61 72 74 28 61 72 72 61 79 28 24 ghtLength.=.0;..ob_start(array($
143f60 74 68 69 73 2c 20 27 63 61 74 63 68 4f 75 74 70 75 74 27 29 29 3b 0a 24 74 68 69 73 2d 3e 66 61 this,.'catchOutput'));.$this->fa
143f80 69 6c 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 77 68 69 6c 65 20 ilSafeHandle($exception);.while.
143fa0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 26 26 (null.===.$this->caughtBuffer.&&
143fc0 20 6f 62 5f 65 6e 64 5f 66 6c 75 73 68 28 29 29 20 7b 0a 0a 20 7d 0a 69 66 20 28 69 73 73 65 74 .ob_end_flush()).{...}.if.(isset
143fe0 28 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 6f 62 5f 73 ($this->caughtBuffer[0])).{.ob_s
144000 74 61 72 74 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 6c 65 61 6e 4f 75 74 70 75 74 27 29 tart(array($this,.'cleanOutput')
144020 29 3b 0a 65 63 68 6f 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 3b 0a 24 63 61 );.echo.$this->caughtBuffer;.$ca
144040 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 6f 62 5f 67 65 74 5f 6c 65 6e 67 74 68 28 29 3b 0a 7d 0a ughtLength.=.ob_get_length();.}.
144060 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 $this->caughtBuffer.=.null;..try
144080 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 .{.\call_user_func($this->handle
1440a0 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e r,.$exception);.$this->caughtLen
1440c0 67 74 68 20 3d 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 gth.=.$caughtLength;.}.catch.(\E
1440e0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 63 61 75 67 68 74 4c 65 6e 67 74 xception.$e).{.if.(!$caughtLengt
144100 68 29 20 7b 0a 0a 20 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a h).{...throw.$exception;.}.}.}..
144120 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 53 61 66 65 .......private.function.failSafe
144140 48 61 6e 64 6c 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a Handle(\Exception.$exception).{.
144160 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e if.(class_exists('Symfony\Compon
144180 65 6e 74 5c 48 74 74 70 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 65 73 70 6f 6e 73 65 27 2c 20 66 61 ent\HttpFoundation\Response',.fa
1441a0 6c 73 65 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f 5f 20 21 3d 3d 20 5c 67 65 74 5f 63 6c 61 73 73 lse).&&.__CLASS__.!==.\get_class
1441c0 28 24 74 68 69 73 29 0a 26 26 20 28 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 ($this).&&.($reflector.=.new.\Re
1441e0 66 6c 65 63 74 69 6f 6e 4d 65 74 68 6f 64 28 24 74 68 69 73 2c 20 27 63 72 65 61 74 65 52 65 73 flectionMethod($this,.'createRes
144200 70 6f 6e 73 65 27 29 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f 5f 20 21 3d 3d 20 24 72 65 66 6c 65 ponse')).&&.__CLASS__.!==.$refle
144220 63 74 6f 72 2d 3e 63 6c 61 73 73 0a 29 20 7b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 ctor->class.).{.$response.=.$thi
144240 73 2d 3e 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 s->createResponse($exception);.$
144260 72 65 73 70 6f 6e 73 65 2d 3e 73 65 6e 64 48 65 61 64 65 72 73 28 29 3b 0a 24 72 65 73 70 6f 6e response->sendHeaders();.$respon
144280 73 65 2d 3e 73 65 6e 64 43 6f 6e 74 65 6e 74 28 29 3b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f se->sendContent();.@trigger_erro
1442a0 72 28 73 70 72 69 6e 74 66 28 22 54 68 65 20 25 73 3a 3a 63 72 65 61 74 65 52 65 73 70 6f 6e 73 r(sprintf("The.%s::createRespons
1442c0 65 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d e.method.is.deprecated.since.Sym
1442e0 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 63 61 6c 6c 65 64 20 61 6e 79 fony.2.8.and.won't.be.called.any
144300 6d 6f 72 65 20 77 68 65 6e 20 68 61 6e 64 6c 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 more.when.handling.an.exception.
144320 69 6e 20 33 2e 30 2e 22 2c 20 24 72 65 66 6c 65 63 74 6f 72 2d 3e 63 6c 61 73 73 29 2c 20 45 5f in.3.0.",.$reflector->class),.E_
144340 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 USER_DEPRECATED);..return;.}..$t
144360 68 69 73 2d 3e 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 his->sendPhpResponse($exception)
144380 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6e ;.}..........public.function.sen
1443a0 64 50 68 70 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 dPhpResponse($exception).{.if.(!
1443c0 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 $exception.instanceof.FlattenExc
1443e0 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 eption).{.$exception.=.FlattenEx
144400 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a ception::create($exception);.}..
144420 69 66 20 28 21 68 65 61 64 65 72 73 5f 73 65 6e 74 28 29 29 20 7b 0a 68 65 61 64 65 72 28 73 70 if.(!headers_sent()).{.header(sp
144440 72 69 6e 74 66 28 27 48 54 54 50 2f 31 2e 30 20 25 73 27 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d rintf('HTTP/1.0.%s',.$exception-
144460 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 78 >getStatusCode()));.foreach.($ex
144480 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d ception->getHeaders().as.$name.=
1444a0 3e 20 24 76 61 6c 75 65 29 20 7b 0a 68 65 61 64 65 72 28 24 6e 61 6d 65 2e 27 3a 20 27 2e 24 76 >.$value).{.header($name.':.'.$v
1444c0 61 6c 75 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 68 65 61 64 65 72 28 27 43 6f 6e 74 65 6e 74 2d alue,.false);.}.header('Content-
1444e0 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 27 2e 24 74 68 69 73 Type:.text/html;.charset='.$this
144500 2d 3e 63 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 65 63 68 6f 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 ->charset);.}..echo.$this->decor
144520 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 28 24 65 78 63 65 70 74 69 6f 6e ate($this->getContent($exception
144540 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 73 68 65 65 74 28 24 65 78 63 65 70 74 69 ),.$this->getStylesheet($excepti
144560 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f on));.}...........public.functio
144580 6e 20 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 40 n.createResponse($exception).{.@
1445a0 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e trigger_error('The.'.__METHOD__.
1445c0 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d '.method.is.deprecated.since.Sym
1445e0 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 fony.2.8.and.will.be.removed.in.
144600 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 3.0.',.E_USER_DEPRECATED);..if.(
144620 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 !$exception.instanceof.FlattenEx
144640 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 ception).{.$exception.=.FlattenE
144660 78 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a xception::create($exception);.}.
144680 0a 72 65 74 75 72 6e 20 52 65 73 70 6f 6e 73 65 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2d 3e .return.Response::create($this->
1446a0 67 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d getHtml($exception),.$exception-
1446c0 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 >getStatusCode(),.$exception->ge
1446e0 74 48 65 61 64 65 72 73 28 29 29 2d 3e 73 65 74 43 68 61 72 73 65 74 28 24 74 68 69 73 2d 3e 63 tHeaders())->setCharset($this->c
144700 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 harset);.}.........public.functi
144720 6f 6e 20 67 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 65 on.getHtml($exception).{.if.(!$e
144740 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 xception.instanceof.FlattenExcep
144760 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 tion).{.$exception.=.FlattenExce
144780 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 ption::create($exception);.}..re
1447a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 43 turn.$this->decorate($this->getC
1447c0 6f 6e 74 65 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 ontent($exception),.$this->getSt
1447e0 79 6c 65 73 68 65 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ylesheet($exception));.}.......p
144800 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 28 46 6c 61 74 74 65 ublic.function.getContent(Flatte
144820 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 73 77 69 74 63 68 20 nException.$exception).{.switch.
144840 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 29 20 7b 0a ($exception->getStatusCode()).{.
144860 63 61 73 65 20 34 30 34 3a 0a 24 74 69 74 6c 65 20 3d 20 27 53 6f 72 72 79 2c 20 74 68 65 20 70 case.404:.$title.=.'Sorry,.the.p
144880 61 67 65 20 79 6f 75 20 61 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 63 6f 75 6c 64 20 6e 6f age.you.are.looking.for.could.no
1448a0 74 20 62 65 20 66 6f 75 6e 64 2e 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 t.be.found.';.break;.default:.$t
1448c0 69 74 6c 65 20 3d 20 27 57 68 6f 6f 70 73 2c 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 73 6f 6d 65 74 itle.=.'Whoops,.looks.like.somet
1448e0 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 27 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d hing.went.wrong.';.}..$content.=
144900 20 27 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 74 72 79 20 7b 0a 24 .'';.if.($this->debug).{.try.{.$
144920 63 6f 75 6e 74 20 3d 20 5c 63 6f 75 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 41 6c count.=.\count($exception->getAl
144940 6c 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 24 74 6f 74 61 6c 20 3d 20 24 63 6f 75 6e 74 20 2b 20 lPrevious());.$total.=.$count.+.
144960 31 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 74 6f 41 72 72 61 79 28 1;.foreach.($exception->toArray(
144980 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 65 29 20 7b 0a 24 69 6e 64 20 3d 20 24 ).as.$position.=>.$e).{.$ind.=.$
1449a0 63 6f 75 6e 74 20 2d 20 24 70 6f 73 69 74 69 6f 6e 20 2b 20 31 3b 0a 24 63 6c 61 73 73 20 3d 20 count.-.$position.+.1;.$class.=.
1449c0 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 65 5b 27 63 6c 61 73 73 27 5d 29 3b $this->formatClass($e['class']);
1449e0 0a 24 6d 65 73 73 61 67 65 20 3d 20 6e 6c 32 62 72 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 .$message.=.nl2br($this->escapeH
144a00 74 6d 6c 28 24 65 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d tml($e['message']));.$content..=
144a20 20 73 70 72 69 6e 74 66 28 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .sprintf(<<<'EOF'...............
144a40 20 20 20 20 20 20 20 20 20 20 3c 68 32 20 63 6c 61 73 73 3d 22 62 6c 6f 63 6b 5f 65 78 63 65 70 ..........<h2.class="block_excep
144a60 74 69 6f 6e 20 63 6c 65 61 72 5f 66 69 78 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion.clear_fix">................
144a80 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 .............<span.class="except
144aa0 69 6f 6e 5f 63 6f 75 6e 74 65 72 22 3e 25 64 2f 25 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 ion_counter">%d/%d</span>.......
144ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ......................<span.clas
144ae0 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 74 69 74 6c 65 22 3e 25 73 25 73 3a 3c 2f 73 70 61 6e 3e s="exception_title">%s%s:</span>
144b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 .............................<sp
144b20 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 6d 65 73 73 61 67 65 22 3e 25 73 3c an.class="exception_message">%s<
144b40 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c /span>.........................<
144b60 2f 68 32 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 64 69 /h2>.........................<di
144b80 76 20 63 6c 61 73 73 3d 22 62 6c 6f 63 6b 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 v.class="block">................
144ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 20 63 6c 61 73 73 3d 22 74 72 61 63 65 73 20 6c .............<ol.class="traces.l
144bc0 69 73 74 5f 65 78 63 65 70 74 69 6f 6e 22 3e 0a 0a 45 4f 46 0a 2c 20 24 69 6e 64 2c 20 24 74 6f ist_exception">..EOF.,.$ind,.$to
144be0 74 61 6c 2c 20 24 63 6c 61 73 73 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 74 68 28 24 tal,.$class,.$this->formatPath($
144c00 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d 5b 27 66 69 6c 65 27 5d 2c 20 24 65 5b 27 74 72 61 63 65 e['trace'][0]['file'],.$e['trace
144c20 27 5d 5b 30 5d 5b 27 6c 69 6e 65 27 5d 29 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 66 6f 72 65 61 '][0]['line']),.$message);.forea
144c40 63 68 20 28 24 65 5b 27 74 72 61 63 65 27 5d 20 61 73 20 24 74 72 61 63 65 29 20 7b 0a 24 63 6f ch.($e['trace'].as.$trace).{.$co
144c60 6e 74 65 6e 74 20 2e 3d 20 27 20 20 20 20 20 20 20 3c 6c 69 3e 27 3b 0a 69 66 20 28 24 74 72 61 ntent..=.'.......<li>';.if.($tra
144c80 63 65 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 ce['function']).{.$content..=.sp
144ca0 72 69 6e 74 66 28 27 61 74 20 25 73 25 73 25 73 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 66 6f rintf('at.%s%s%s(%s)',.$this->fo
144cc0 72 6d 61 74 43 6c 61 73 73 28 24 74 72 61 63 65 5b 27 63 6c 61 73 73 27 5d 29 2c 20 24 74 72 61 rmatClass($trace['class']),.$tra
144ce0 63 65 5b 27 74 79 70 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 2c 20 ce['type'],.$trace['function'],.
144d00 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 72 67 73 28 24 74 72 61 63 65 5b 27 61 72 67 73 27 5d $this->formatArgs($trace['args']
144d20 29 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 72 61 63 65 5b 27 66 69 6c 65 27 5d 29 20 ));.}.if.(isset($trace['file']).
144d40 26 26 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 27 6c 69 6e 65 27 5d 29 29 20 7b 0a 24 63 6f 6e &&.isset($trace['line'])).{.$con
144d60 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 74 68 28 24 74 72 61 63 65 tent..=.$this->formatPath($trace
144d80 5b 27 66 69 6c 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 6c 69 6e 65 27 5d 29 3b 0a 7d 0a 24 63 6f ['file'],.$trace['line']);.}.$co
144da0 6e 74 65 6e 74 20 2e 3d 20 22 3c 2f 6c 69 3e 5c 6e 22 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 ntent..=."</li>\n";.}..$content.
144dc0 2e 3d 20 22 20 20 20 20 3c 2f 6f 6c 3e 5c 6e 3c 2f 64 69 76 3e 5c 6e 22 3b 0a 7d 0a 7d 20 63 61 .=."....</ol>\n</div>\n";.}.}.ca
144de0 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 tch.(\Exception.$e).{...if.($thi
144e00 73 2d 3e 64 65 62 75 67 29 20 7b 0a 24 74 69 74 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 45 78 s->debug).{.$title.=.sprintf('Ex
144e20 63 65 70 74 69 6f 6e 20 74 68 72 6f 77 6e 20 77 68 65 6e 20 68 61 6e 64 6c 69 6e 67 20 61 6e 20 ception.thrown.when.handling.an.
144e40 65 78 63 65 70 74 69 6f 6e 20 28 25 73 3a 20 25 73 29 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 exception.(%s:.%s)',.\get_class(
144e60 24 65 29 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 65 2d 3e 67 65 74 4d 65 $e),.$this->escapeHtml($e->getMe
144e80 73 73 61 67 65 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 69 74 6c 65 20 3d 20 27 57 68 ssage()));.}.else.{.$title.=.'Wh
144ea0 6f 6f 70 73 2c 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 oops,.looks.like.something.went.
144ec0 77 72 6f 6e 67 2e 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 20 20 wrong.';.}.}.}..return.<<<EOF...
144ee0 20 20 20 20 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d 22 73 66 2d 72 65 73 65 74 63 6f 6e 74 65 ..........<div.id="sf-resetconte
144f00 6e 74 22 20 63 6c 61 73 73 3d 22 73 66 2d 72 65 73 65 74 22 3e 0a 20 20 20 20 20 20 20 20 20 20 nt".class="sf-reset">...........
144f20 20 20 20 20 20 20 3c 68 31 3e 24 74 69 74 6c 65 3c 2f 68 31 3e 0a 20 20 20 20 20 20 20 20 20 20 ......<h1>$title</h1>...........
144f40 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 64 69 76 ......$content.............</div
144f60 3e 0a 45 4f 46 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 >.EOF;.}.......public.function.g
144f80 65 74 53 74 79 6c 65 73 68 65 65 74 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 etStylesheet(FlattenException.$e
144fa0 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 xception).{.return.<<<'EOF'.....
144fc0 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 7b 20 66 6f 6e 74 3a 20 31 31 70 78 20 56 .........sf-reset.{.font:.11px.V
144fe0 65 72 64 61 6e 61 2c 20 41 72 69 61 6c 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 20 63 6f 6c 6f 72 erdana,.Arial,.sans-serif;.color
145000 3a 20 23 33 33 33 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e :.#333.}..............sf-reset..
145020 63 6c 65 61 72 20 7b 20 63 6c 65 61 72 3a 62 6f 74 68 3b 20 68 65 69 67 68 74 3a 30 3b 20 66 6f clear.{.clear:both;.height:0;.fo
145040 6e 74 2d 73 69 7a 65 3a 30 3b 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 30 3b 20 7d 0a 20 20 20 20 nt-size:0;.line-height:0;.}.....
145060 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 3a 61 66 74 .........sf-reset..clear_fix:aft
145080 65 72 20 7b 20 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b 20 68 65 69 67 68 74 3a 30 3b 20 63 6c er.{.display:block;.height:0;.cl
1450a0 65 61 72 3a 62 6f 74 68 3b 20 76 69 73 69 62 69 6c 69 74 79 3a 68 69 64 64 65 6e 3b 20 7d 0a 20 ear:both;.visibility:hidden;.}..
1450c0 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 20 ............sf-reset..clear_fix.
1450e0 7b 20 64 69 73 70 6c 61 79 3a 69 6e 6c 69 6e 65 2d 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 {.display:inline-block;.}.......
145100 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2a 20 68 74 6d 6c 20 2e 63 6c 65 61 72 5f 66 69 .......sf-reset.*.html..clear_fi
145120 78 20 7b 20 68 65 69 67 68 74 3a 31 25 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 x.{.height:1%;.}..............sf
145140 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 64 69 73 70 6c 61 79 3a 62 6c 6f 63 -reset..clear_fix.{.display:bloc
145160 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 2c 20 2e 73 66 2d k;.}..............sf-reset,..sf-
145180 72 65 73 65 74 20 2e 62 6c 6f 63 6b 20 7b 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 7d 0a 20 20 reset..block.{.margin:.auto.}...
1451a0 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 62 62 72 20 7b 20 62 6f 72 64 65 ...........sf-reset.abbr.{.borde
1451c0 72 2d 62 6f 74 74 6f 6d 3a 20 31 70 78 20 64 6f 74 74 65 64 20 23 30 30 30 3b 20 63 75 72 73 6f r-bottom:.1px.dotted.#000;.curso
1451e0 72 3a 20 68 65 6c 70 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 r:.help;.}..............sf-reset
145200 20 70 20 7b 20 66 6f 6e 74 2d 73 69 7a 65 3a 31 34 70 78 3b 20 6c 69 6e 65 2d 68 65 69 67 68 74 .p.{.font-size:14px;.line-height
145220 3a 32 30 70 78 3b 20 63 6f 6c 6f 72 3a 23 38 36 38 36 38 36 3b 20 70 61 64 64 69 6e 67 2d 62 6f :20px;.color:#868686;.padding-bo
145240 74 74 6f 6d 3a 32 30 70 78 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 ttom:20px.}..............sf-rese
145260 74 20 73 74 72 6f 6e 67 20 7b 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 62 6f 6c 64 3b 20 7d 0a 20 t.strong.{.font-weight:bold;.}..
145280 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 7b 20 63 6f 6c 6f 72 3a 23 ............sf-reset.a.{.color:#
1452a0 36 63 36 31 35 39 3b 20 63 75 72 73 6f 72 3a 20 64 65 66 61 75 6c 74 3b 20 7d 0a 20 20 20 20 20 6c6159;.cursor:.default;.}......
1452c0 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 69 6d 67 20 7b 20 62 6f 72 64 65 72 3a ........sf-reset.a.img.{.border:
1452e0 6e 6f 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 3a none;.}..............sf-reset.a:
145300 68 6f 76 65 72 20 7b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e hover.{.text-decoration:underlin
145320 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 65 6d 20 7b 20 e;.}..............sf-reset.em.{.
145340 66 6f 6e 74 2d 73 74 79 6c 65 3a 69 74 61 6c 69 63 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 font-style:italic;.}............
145360 20 2e 73 66 2d 72 65 73 65 74 20 68 31 2c 20 2e 73 66 2d 72 65 73 65 74 20 68 32 20 7b 20 66 6f ..sf-reset.h1,..sf-reset.h2.{.fo
145380 6e 74 3a 20 32 30 70 78 20 47 65 6f 72 67 69 61 2c 20 22 54 69 6d 65 73 20 4e 65 77 20 52 6f 6d nt:.20px.Georgia,."Times.New.Rom
1453a0 61 6e 22 2c 20 54 69 6d 65 73 2c 20 73 65 72 69 66 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 an",.Times,.serif.}.............
1453c0 2e 73 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 63 6f 75 6e 74 65 72 20 7b 20 62 .sf-reset..exception_counter.{.b
1453e0 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 20 63 6f 6c 6f 72 3a 20 23 33 ackground-color:.#fff;.color:.#3
145400 33 33 3b 20 70 61 64 64 69 6e 67 3a 20 36 70 78 3b 20 66 6c 6f 61 74 3a 20 6c 65 66 74 3b 20 6d 33;.padding:.6px;.float:.left;.m
145420 61 72 67 69 6e 2d 72 69 67 68 74 3a 20 31 30 70 78 3b 20 66 6c 6f 61 74 3a 20 6c 65 66 74 3b 20 argin-right:.10px;.float:.left;.
145440 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 display:.block;.}..............s
145460 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 74 69 74 6c 65 20 7b 20 6d 61 72 67 69 f-reset..exception_title.{.margi
145480 6e 2d 6c 65 66 74 3a 20 33 65 6d 3b 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 30 2e 37 65 n-left:.3em;.margin-bottom:.0.7e
1454a0 6d 3b 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 m;.display:.block;.}............
1454c0 20 2e 73 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 6d 65 73 73 61 67 65 20 7b 20 ..sf-reset..exception_message.{.
1454e0 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 33 65 6d 3b 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b margin-left:.3em;.display:.block
145500 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 74 72 61 63 65 ;.}..............sf-reset..trace
145520 73 20 6c 69 20 7b 20 66 6f 6e 74 2d 73 69 7a 65 3a 31 32 70 78 3b 20 70 61 64 64 69 6e 67 3a 20 s.li.{.font-size:12px;.padding:.
145540 32 70 78 20 34 70 78 3b 20 6c 69 73 74 2d 73 74 79 6c 65 2d 74 79 70 65 3a 64 65 63 69 6d 61 6c 2px.4px;.list-style-type:decimal
145560 3b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 32 30 70 78 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ;.margin-left:20px;.}...........
145580 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 62 6c 6f 63 6b 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d ...sf-reset..block.{.background-
1455a0 63 6f 6c 6f 72 3a 23 46 46 46 46 46 46 3b 20 70 61 64 64 69 6e 67 3a 31 30 70 78 20 32 38 70 78 color:#FFFFFF;.padding:10px.28px
1455c0 3b 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 ;.margin-bottom:20px;...........
1455e0 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 72 69 67 68 ......-webkit-border-bottom-righ
145600 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-radius:.16px;.................
145620 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 6c 65 66 74 2d 72 61 64 69 75 -webkit-border-bottom-left-radiu
145640 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f s:.16px;.................-moz-bo
145660 72 64 65 72 2d 72 61 64 69 75 73 2d 62 6f 74 74 6f 6d 72 69 67 68 74 3a 20 31 36 70 78 3b 0a 20 rder-radius-bottomright:.16px;..
145680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 ...............-moz-border-radiu
1456a0 73 2d 62 6f 74 74 6f 6d 6c 65 66 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s-bottomleft:.16px;.............
1456c0 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 ....border-bottom-right-radius:.
1456e0 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 16px;.................border-bot
145700 74 6f 6d 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 tom-left-radius:.16px;..........
145720 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 3a 31 70 78 20 73 6f 6c 69 64 20 23 .......border-bottom:1px.solid.#
145740 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 69 67 68 ccc;.................border-righ
145760 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t:1px.solid.#ccc;...............
145780 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 ..border-left:1px.solid.#ccc;...
1457a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 2d 77 72 61 70 3a 20 62 72 65 61 6b 2d 77 ..............word-wrap:.break-w
1457c0 6f 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e ord;.............}..............
1457e0 73 66 2d 72 65 73 65 74 20 2e 62 6c 6f 63 6b 5f 65 78 63 65 70 74 69 6f 6e 20 7b 20 62 61 63 6b sf-reset..block_exception.{.back
145800 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 64 64 64 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 20 ground-color:#ddd;.color:.#333;.
145820 70 61 64 64 69 6e 67 3a 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 padding:20px;.................-w
145840 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 ebkit-border-top-left-radius:.16
145860 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 px;.................-webkit-bord
145880 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 er-top-right-radius:.16px;......
1458a0 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 74 6f ...........-moz-border-radius-to
1458c0 70 6c 65 66 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f pleft:.16px;.................-mo
1458e0 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 74 6f 70 72 69 67 68 74 3a 20 31 36 70 78 3b 0a z-border-radius-topright:.16px;.
145900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d ................border-top-left-
145920 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f radius:.16px;.................bo
145940 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 rder-top-right-radius:.16px;....
145960 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 3a 31 70 78 20 73 6f 6c 69 .............border-top:1px.soli
145980 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 d.#ccc;.................border-r
1459a0 69 67 68 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ight:1px.solid.#ccc;............
1459c0 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b .....border-left:1px.solid.#ccc;
1459e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 68 69 64 64 65 .................overflow:.hidde
145a00 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 2d 77 72 61 70 3a 20 62 72 n;.................word-wrap:.br
145a20 65 61 6b 2d 77 6f 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 eak-word;.............}.........
145a40 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 6e 6f 6e .....sf-reset.a.{.background:non
145a60 65 3b 20 63 6f 6c 6f 72 3a 23 38 36 38 36 38 36 3b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f e;.color:#868686;.text-decoratio
145a80 6e 3a 6e 6f 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 n:none;.}..............sf-reset.
145aa0 61 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 6e 6f 6e 65 3b 20 63 6f 6c 6f 72 a:hover.{.background:none;.color
145ac0 3a 23 33 31 33 31 33 31 3b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c :#313131;.text-decoration:underl
145ae0 69 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 6f 6c 20 ine;.}..............sf-reset.ol.
145b00 7b 20 70 61 64 64 69 6e 67 3a 20 31 30 70 78 20 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 {.padding:.10px.0;.}............
145b20 20 2e 73 66 2d 72 65 73 65 74 20 68 31 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 ..sf-reset.h1.{.background-color
145b40 3a 23 46 46 46 46 46 46 3b 20 70 61 64 64 69 6e 67 3a 20 31 35 70 78 20 32 38 70 78 3b 20 6d 61 :#FFFFFF;.padding:.15px.28px;.ma
145b60 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rgin-bottom:.20px;..............
145b80 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 3a 20 31 30 70 78 3b 0a ...-webkit-border-radius:.10px;.
145ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 ................-moz-border-radi
145bc0 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 us:.10px;.................border
145be0 2d 72 61 64 69 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 -radius:.10px;.................b
145c00 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 order:.1px.solid.#ccc;..........
145c20 20 20 20 7d 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 ...}.EOF;.}..private.function.de
145c40 63 6f 72 61 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 63 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 corate($content,.$css).{.return.
145c60 3c 3c 3c 45 4f 46 0a 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 74 6d 6c 3e 0a 20 20 <<<EOF.<!DOCTYPE.html>.<html>...
145c80 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 ..<head>.........<meta.charset="
145ca0 7b 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 7d 22 20 2f 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 {$this->charset}"./>.........<me
145cc0 74 61 20 6e 61 6d 65 3d 22 72 6f 62 6f 74 73 22 20 63 6f 6e 74 65 6e 74 3d 22 6e 6f 69 6e 64 65 ta.name="robots".content="noinde
145ce0 78 2c 6e 6f 66 6f 6c 6c 6f 77 22 20 2f 3e 0a 20 20 20 20 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 x,nofollow"./>.........<style>..
145d00 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 30 .........../*.Copyright.(c).2010
145d20 2c 20 59 61 68 6f 6f 21 20 49 6e 63 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 ,.Yahoo!.Inc..All.rights.reserve
145d40 64 2e 20 43 6f 64 65 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 42 53 44 20 4c d..Code.licensed.under.the.BSD.L
145d60 69 63 65 6e 73 65 3a 20 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 79 61 68 6f 6f 2e 63 icense:.http://developer.yahoo.c
145d80 6f 6d 2f 79 75 69 2f 6c 69 63 65 6e 73 65 2e 68 74 6d 6c 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 om/yui/license.html.*/..........
145da0 20 20 20 68 74 6d 6c 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b 62 61 63 6b 67 72 6f 75 6e 64 3a 23 46 ...html{color:#000;background:#F
145dc0 46 46 3b 7d 62 6f 64 79 2c 64 69 76 2c 64 6c 2c 64 74 2c 64 64 2c 75 6c 2c 6f 6c 2c 6c 69 2c 68 FF;}body,div,dl,dt,dd,ul,ol,li,h
145de0 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 2c 70 72 65 2c 63 6f 64 65 2c 66 6f 72 6d 2c 66 1,h2,h3,h4,h5,h6,pre,code,form,f
145e00 69 65 6c 64 73 65 74 2c 6c 65 67 65 6e 64 2c 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 70 2c ieldset,legend,input,textarea,p,
145e20 62 6c 6f 63 6b 71 75 6f 74 65 2c 74 68 2c 74 64 7b 6d 61 72 67 69 6e 3a 30 3b 70 61 64 64 69 6e blockquote,th,td{margin:0;paddin
145e40 67 3a 30 3b 7d 74 61 62 6c 65 7b 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 63 6f 6c 6c 61 g:0;}table{border-collapse:colla
145e60 70 73 65 3b 62 6f 72 64 65 72 2d 73 70 61 63 69 6e 67 3a 30 3b 7d 66 69 65 6c 64 73 65 74 2c 69 pse;border-spacing:0;}fieldset,i
145e80 6d 67 7b 62 6f 72 64 65 72 3a 30 3b 7d 61 64 64 72 65 73 73 2c 63 61 70 74 69 6f 6e 2c 63 69 74 mg{border:0;}address,caption,cit
145ea0 65 2c 63 6f 64 65 2c 64 66 6e 2c 65 6d 2c 73 74 72 6f 6e 67 2c 74 68 2c 76 61 72 7b 66 6f 6e 74 e,code,dfn,em,strong,th,var{font
145ec0 2d 73 74 79 6c 65 3a 6e 6f 72 6d 61 6c 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c -style:normal;font-weight:normal
145ee0 3b 7d 6c 69 7b 6c 69 73 74 2d 73 74 79 6c 65 3a 6e 6f 6e 65 3b 7d 63 61 70 74 69 6f 6e 2c 74 68 ;}li{list-style:none;}caption,th
145f00 7b 74 65 78 74 2d 61 6c 69 67 6e 3a 6c 65 66 74 3b 7d 68 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 {text-align:left;}h1,h2,h3,h4,h5
145f20 2c 68 36 7b 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 6e ,h6{font-size:100%;font-weight:n
145f40 6f 72 6d 61 6c 3b 7d 71 3a 62 65 66 6f 72 65 2c 71 3a 61 66 74 65 72 7b 63 6f 6e 74 65 6e 74 3a ormal;}q:before,q:after{content:
145f60 27 27 3b 7d 61 62 62 72 2c 61 63 72 6f 6e 79 6d 7b 62 6f 72 64 65 72 3a 30 3b 66 6f 6e 74 2d 76 '';}abbr,acronym{border:0;font-v
145f80 61 72 69 61 6e 74 3a 6e 6f 72 6d 61 6c 3b 7d 73 75 70 7b 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 ariant:normal;}sup{vertical-alig
145fa0 6e 3a 74 65 78 74 2d 74 6f 70 3b 7d 73 75 62 7b 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 n:text-top;}sub{vertical-align:t
145fc0 65 78 74 2d 62 6f 74 74 6f 6d 3b 7d 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 73 65 6c 65 63 ext-bottom;}input,textarea,selec
145fe0 74 7b 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 69 6e 68 65 72 69 74 3b 66 6f 6e 74 2d 73 69 7a 65 3a t{font-family:inherit;font-size:
146000 69 6e 68 65 72 69 74 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 69 6e 68 65 72 69 74 3b 7d 69 6e 70 inherit;font-weight:inherit;}inp
146020 75 74 2c 74 65 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 2a 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 ut,textarea,select{*font-size:10
146040 30 25 3b 7d 6c 65 67 65 6e 64 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b 7d 0a 0a 20 20 20 20 20 20 20 0%;}legend{color:#000;}.........
146060 20 20 20 20 20 68 74 6d 6c 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 65 65 65 3b 20 70 61 .....html.{.background:.#eee;.pa
146080 64 64 69 6e 67 3a 20 31 30 70 78 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 67 20 7b 20 dding:.10px.}.............img.{.
1460a0 62 6f 72 64 65 72 3a 20 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 73 66 2d 72 65 73 border:.0;.}.............#sf-res
1460c0 65 74 63 6f 6e 74 65 6e 74 20 7b 20 77 69 64 74 68 3a 39 37 30 70 78 3b 20 6d 61 72 67 69 6e 3a etcontent.{.width:970px;.margin:
1460e0 30 20 61 75 74 6f 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 73 73 0a 20 20 20 20 20 0.auto;.}.............$css......
146100 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 20 20 20 20 3c 2f 68 65 61 64 3e 0a 20 20 20 20 3c 62 6f 64 ...</style>.....</head>.....<bod
146120 79 3e 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 3c 2f 62 6f 64 79 3e 0a y>.........$content.....</body>.
146140 3c 2f 68 74 6d 6c 3e 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e </html>.EOF;.}..private.function
146160 20 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 .formatClass($class).{.$parts.=.
146180 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 29 3b 0a 0a 72 65 74 75 72 6e 20 73 explode('\\',.$class);..return.s
1461a0 70 72 69 6e 74 66 28 27 3c 61 62 62 72 20 74 69 74 6c 65 3d 22 25 73 22 3e 25 73 3c 2f 61 62 62 printf('<abbr.title="%s">%s</abb
1461c0 72 3e 27 2c 20 24 63 6c 61 73 73 2c 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 29 3b r>',.$class,.array_pop($parts));
1461e0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 74 68 28 .}..private.function.formatPath(
146200 24 70 61 74 68 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 65 $path,.$line).{.$path.=.$this->e
146220 73 63 61 70 65 48 74 6d 6c 28 24 70 61 74 68 29 3b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 6d scapeHtml($path);.$file.=.preg_m
146240 61 74 63 68 28 27 23 5b 5e 2f 5c 5c 5c 5c 5d 2a 24 23 27 2c 20 24 70 61 74 68 2c 20 24 66 69 6c atch('#[^/\\\\]*$#',.$path,.$fil
146260 65 29 20 3f 20 24 66 69 6c 65 5b 30 5d 20 3a 20 24 70 61 74 68 3b 0a 0a 69 66 20 28 24 6c 69 6e e).?.$file[0].:.$path;..if.($lin
146280 6b 46 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 kFormat.=.$this->fileLinkFormat)
1462a0 20 7b 0a 24 6c 69 6e 6b 20 3d 20 73 74 72 74 72 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 .{.$link.=.strtr($this->escapeHt
1462c0 6d 6c 28 24 6c 69 6e 6b 46 6f 72 6d 61 74 29 2c 20 61 72 72 61 79 28 27 25 66 27 20 3d 3e 20 24 ml($linkFormat),.array('%f'.=>.$
1462e0 70 61 74 68 2c 20 27 25 6c 27 20 3d 3e 20 28 69 6e 74 29 20 24 6c 69 6e 65 29 29 3b 0a 0a 72 65 path,.'%l'.=>.(int).$line));..re
146300 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 25 73 22 20 74 turn.sprintf('.in.<a.href="%s".t
146320 69 74 6c 65 3d 22 47 6f 20 74 6f 20 73 6f 75 72 63 65 22 3e 25 73 20 6c 69 6e 65 20 25 64 3c 2f itle="Go.to.source">%s.line.%d</
146340 61 3e 27 2c 20 24 6c 69 6e 6b 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 a>',.$link,.$file,.$line);.}..re
146360 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 20 74 69 74 6c 65 3d 22 25 73 20 6c turn.sprintf('.in.<a.title="%s.l
146380 69 6e 65 20 25 33 24 64 22 20 6f 6e 64 62 6c 63 6c 69 63 6b 3d 22 76 61 72 20 66 3d 74 68 69 73 ine.%3$d".ondblclick="var.f=this
1463a0 2e 69 6e 6e 65 72 48 54 4d 4c 3b 74 68 69 73 2e 69 6e 6e 65 72 48 54 4d 4c 3d 74 68 69 73 2e 74 .innerHTML;this.innerHTML=this.t
1463c0 69 74 6c 65 3b 74 68 69 73 2e 74 69 74 6c 65 3d 66 3b 22 3e 25 73 20 6c 69 6e 65 20 25 64 3c 2f itle;this.title=f;">%s.line.%d</
1463e0 61 3e 27 2c 20 24 70 61 74 68 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a a>',.$path,.$file,.$line);.}....
146400 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 41 72 67 73 .....private.function.formatArgs
146420 28 61 72 72 61 79 20 24 61 72 67 73 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 (array.$args).{.$result.=.array(
146440 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 69 74 );.foreach.($args.as.$key.=>.$it
146460 65 6d 29 20 7b 0a 69 66 20 28 27 6f 62 6a 65 63 74 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 em).{.if.('object'.===.$item[0])
146480 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 .{.$formattedValue.=.sprintf('<e
1464a0 6d 3e 6f 62 6a 65 63 74 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 m>object</em>(%s)',.$this->forma
1464c0 74 43 6c 61 73 73 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 61 72 tClass($item[1]));.}.elseif.('ar
1464e0 72 61 79 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 ray'.===.$item[0]).{.$formattedV
146500 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e 61 72 72 61 79 3c 2f 65 6d 3e 28 25 alue.=.sprintf('<em>array</em>(%
146520 73 29 27 2c 20 5c 69 73 5f 61 72 72 61 79 28 24 69 74 65 6d 5b 31 5d 29 20 3f 20 24 74 68 69 73 s)',.\is_array($item[1]).?.$this
146540 2d 3e 66 6f 72 6d 61 74 41 72 67 73 28 24 69 74 65 6d 5b 31 5d 29 20 3a 20 24 69 74 65 6d 5b 31 ->formatArgs($item[1]).:.$item[1
146560 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 74 72 69 6e 67 27 20 3d 3d 3d 20 24 69 74 65 6d ]);.}.elseif.('string'.===.$item
146580 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 [0]).{.$formattedValue.=.sprintf
1465a0 28 22 27 25 73 27 22 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 69 74 65 6d ("'%s'",.$this->escapeHtml($item
1465c0 5b 31 5d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 6e 75 6c 6c 27 20 3d 3d 3d 20 24 69 74 65 [1]));.}.elseif.('null'.===.$ite
1465e0 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 6e m[0]).{.$formattedValue.=.'<em>n
146600 75 6c 6c 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 6f 6f 6c 65 61 6e 27 20 3d ull</em>';.}.elseif.('boolean'.=
146620 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d ==.$item[0]).{.$formattedValue.=
146640 20 27 3c 65 6d 3e 27 2e 73 74 72 74 6f 6c 6f 77 65 72 28 76 61 72 5f 65 78 70 6f 72 74 28 24 69 .'<em>'.strtolower(var_export($i
146660 74 65 6d 5b 31 5d 2c 20 74 72 75 65 29 29 2e 27 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 tem[1],.true)).'</em>';.}.elseif
146680 20 28 27 72 65 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f .('resource'.===.$item[0]).{.$fo
1466a0 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 72 65 73 6f 75 72 63 65 3c 2f 65 6d rmattedValue.=.'<em>resource</em
1466c0 3e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 >';.}.else.{.$formattedValue.=.s
1466e0 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 tr_replace("\n",.'',.var_export(
146700 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 28 73 74 72 69 6e 67 29 20 24 69 74 65 6d $this->escapeHtml((string).$item
146720 5b 31 5d 29 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 5c 69 73 [1]),.true));.}..$result[].=.\is
146740 5f 69 6e 74 28 24 6b 65 79 29 20 3f 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3a 20 73 _int($key).?.$formattedValue.:.s
146760 70 72 69 6e 74 66 28 22 27 25 73 27 20 3d 3e 20 25 73 22 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 printf("'%s'.=>.%s",.$this->esca
146780 70 65 48 74 6d 6c 28 24 6b 65 79 29 2c 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 29 3b 0a peHtml($key),.$formattedValue);.
1467a0 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 72 65 73 75 6c 74 29 }..return.implode(',.',.$result)
1467c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 ;.}.......protected.static.funct
1467e0 69 6f 6e 20 75 74 66 38 48 74 6d 6c 69 7a 65 28 24 73 74 72 29 0a 7b 0a 40 74 72 69 67 67 65 72 ion.utf8Htmlize($str).{.@trigger
146800 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f _error('The.'.__METHOD__.'.metho
146820 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e d.is.deprecated.since.Symfony.2.
146840 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 7.and.will.be.removed.in.3.0.',.
146860 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 68 74 6d 6c E_USER_DEPRECATED);..return.html
146880 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 73 74 72 2c 20 45 4e 54 5f 51 55 4f 54 45 53 20 7c 20 specialchars($str,.ENT_QUOTES.|.
1468a0 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 3f 20 45 4e 54 5f (\PHP_VERSION_ID.>=.50400.?.ENT_
1468c0 53 55 42 53 54 49 54 55 54 45 20 3a 20 30 29 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 0a 0a SUBSTITUTE.:.0),.'UTF-8');.}....
1468e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 48 74 6d 6c 28 24 73 74 .private.function.escapeHtml($st
146900 72 29 0a 7b 0a 72 65 74 75 72 6e 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 73 74 r).{.return.htmlspecialchars($st
146920 72 2c 20 45 4e 54 5f 51 55 4f 54 45 53 20 7c 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 r,.ENT_QUOTES.|.(\PHP_VERSION_ID
146940 20 3e 3d 20 35 30 34 30 30 20 3f 20 45 4e 54 5f 53 55 42 53 54 49 54 55 54 45 20 3a 20 30 29 2c .>=.50400.?.ENT_SUBSTITUTE.:.0),
146960 20 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$this->charset);.}.....public.f
146980 75 6e 63 74 69 6f 6e 20 63 61 74 63 68 4f 75 74 70 75 74 28 24 62 75 66 66 65 72 29 0a 7b 0a 24 unction.catchOutput($buffer).{.$
1469a0 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 3d 20 24 62 75 66 66 65 72 3b 0a 0a 72 this->caughtBuffer.=.$buffer;..r
1469c0 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 eturn.'';.}.....public.function.
1469e0 63 6c 65 61 6e 4f 75 74 70 75 74 28 24 62 75 66 66 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 cleanOutput($buffer).{.if.($this
146a00 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 24 63 6c 65 61 6e 42 75 66 66 65 72 ->caughtLength).{...$cleanBuffer
146a20 20 3d 20 73 75 62 73 74 72 5f 72 65 70 6c 61 63 65 28 24 62 75 66 66 65 72 2c 20 27 27 2c 20 30 .=.substr_replace($buffer,.'',.0
146a40 2c 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 29 3b 0a 69 66 20 28 69 73 73 65 ,.$this->caughtLength);.if.(isse
146a60 74 28 24 63 6c 65 61 6e 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 24 62 75 66 66 65 72 20 3d 20 t($cleanBuffer[0])).{.$buffer.=.
146a80 24 63 6c 65 61 6e 42 75 66 66 65 72 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 66 66 65 $cleanBuffer;.}.}..return.$buffe
146aa0 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 r;.}.}.<?php...........namespace
146ac0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 .Symfony\Component\Debug\FatalEr
146ae0 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f rorHandler;..use.Composer\Autolo
146b00 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c ad\ClassLoader.as.ComposerClassL
146b20 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6c 61 oader;.use.Symfony\Component\Cla
146b40 73 73 4c 6f 61 64 65 72 5c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 53 79 6d 66 6f 6e 79 43 ssLoader\ClassLoader.as.SymfonyC
146b60 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e lassLoader;.use.Symfony\Componen
146b80 74 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 t\ClassLoader\UniversalClassLoad
146ba0 65 72 20 61 73 20 53 79 6d 66 6f 6e 79 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 er.as.SymfonyUniversalClassLoade
146bc0 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 44 r;.use.Symfony\Component\Debug\D
146be0 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ebugClassLoader;.use.Symfony\Com
146c00 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6c 61 73 73 4e 6f 74 46 ponent\Debug\Exception\ClassNotF
146c20 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f oundException;.use.Symfony\Compo
146c40 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 nent\Debug\Exception\FatalErrorE
146c60 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f xception;.......class.ClassNotFo
146c80 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 undFatalErrorHandler.implements.
146ca0 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a FatalErrorHandlerInterface.{....
146cc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 public.function.handleError(arra
146ce0 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 y.$error,.FatalErrorException.$e
146d00 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 xception).{.$messageLen.=.\strle
146d20 6e 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 n($error['message']);.$notFoundS
146d40 75 66 66 69 78 20 3d 20 27 5c 27 20 6e 6f 74 20 66 6f 75 6e 64 27 3b 0a 24 6e 6f 74 46 6f 75 6e uffix.=.'\'.not.found';.$notFoun
146d60 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 6f 74 46 6f 75 6e 64 53 75 dSuffixLen.=.\strlen($notFoundSu
146d80 66 66 69 78 29 3b 0a 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3e 20 ffix);.if.($notFoundSuffixLen.>.
146da0 24 6d 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 30 20 $messageLen).{.return;.}..if.(0.
146dc0 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 !==.substr_compare($error['messa
146de0 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 2c 20 2d 24 6e 6f 74 46 6f 75 6e ge'],.$notFoundSuffix,.-$notFoun
146e00 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 dSuffixLen)).{.return;.}..foreac
146e20 68 20 28 61 72 72 61 79 28 27 63 6c 61 73 73 27 2c 20 27 69 6e 74 65 72 66 61 63 65 27 2c 20 27 h.(array('class',.'interface',.'
146e40 74 72 61 69 74 27 29 20 61 73 20 24 74 79 70 65 4e 61 6d 65 29 20 7b 0a 24 70 72 65 66 69 78 20 trait').as.$typeName).{.$prefix.
146e60 3d 20 75 63 66 69 72 73 74 28 24 74 79 70 65 4e 61 6d 65 29 2e 27 20 5c 27 27 3b 0a 24 70 72 65 =.ucfirst($typeName).'.\'';.$pre
146e80 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 30 fixLen.=.\strlen($prefix);.if.(0
146ea0 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 .!==.strpos($error['message'],.$
146ec0 70 72 65 66 69 78 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 75 6c 6c 79 51 75 prefix)).{.continue;.}..$fullyQu
146ee0 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 alifiedClassName.=.substr($error
146f00 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f ['message'],.$prefixLen,.-$notFo
146f20 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 undSuffixLen);.if.(false.!==.$na
146f40 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 mespaceSeparatorIndex.=.strrpos(
146f60 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 $fullyQualifiedClassName,.'\\'))
146f80 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 .{.$className.=.substr($fullyQua
146fa0 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 lifiedClassName,.$namespaceSepar
146fc0 61 74 6f 72 49 6e 64 65 78 20 2b 20 31 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 atorIndex.+.1);.$namespacePrefix
146fe0 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 .=.substr($fullyQualifiedClassNa
147000 6d 65 2c 20 30 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 29 me,.0,.$namespaceSeparatorIndex)
147020 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 ;.$message.=.sprintf('Attempted.
147040 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 73 22 20 66 72 6f 6d 20 6e 61 6d 65 73 70 61 63 65 20 22 to.load.%s."%s".from.namespace."
147060 25 73 22 2e 27 2c 20 24 74 79 70 65 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6e %s".',.$typeName,.$className,.$n
147080 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 29 3b 0a 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 61 amespacePrefix);.$tail.=.'.for.a
1470a0 6e 6f 74 68 65 72 20 6e 61 6d 65 73 70 61 63 65 3f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6c nother.namespace?';.}.else.{.$cl
1470c0 61 73 73 4e 61 6d 65 20 3d 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 assName.=.$fullyQualifiedClassNa
1470e0 6d 65 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 me;.$message.=.sprintf('Attempte
147100 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 73 22 20 66 72 6f 6d 20 74 68 65 20 67 6c 6f 62 61 d.to.load.%s."%s".from.the.globa
147120 6c 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 74 79 70 65 4e 61 6d 65 2c 20 24 63 6c 61 73 73 l.namespace.',.$typeName,.$class
147140 4e 61 6d 65 29 3b 0a 24 74 61 69 6c 20 3d 20 27 3f 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 Name);.$tail.=.'?';.}..if.($cand
147160 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 61 73 73 43 61 6e 64 69 64 61 74 idates.=.$this->getClassCandidat
147180 65 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 24 74 61 69 6c 20 3d 20 61 72 72 61 79 5f es($className)).{.$tail.=.array_
1471a0 70 6f 70 28 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 24 63 61 6e 64 pop($candidates).'"?';.if.($cand
1471c0 69 64 61 74 65 73 29 20 7b 0a 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 65 2e 67 2e 20 22 27 2e idates).{.$tail.=.'.for.e.g.."'.
1471e0 69 6d 70 6c 6f 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 20 implode('",."',.$candidates).'".
147200 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 69 6c 20 3d 20 27 20 or."'.$tail;.}.else.{.$tail.=.'.
147220 66 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 7d 0a 7d 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c for."'.$tail;.}.}.$message..=."\
147240 6e 44 69 64 20 79 6f 75 20 66 6f 72 67 65 74 20 61 20 5c 22 75 73 65 5c 22 20 73 74 61 74 65 6d nDid.you.forget.a.\"use\".statem
147260 65 6e 74 22 2e 24 74 61 69 6c 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 43 6c 61 73 73 4e 6f 74 ent".$tail;..return.new.ClassNot
147280 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 FoundException($message,.$except
1472a0 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ion);.}.}............private.fun
1472c0 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 43 61 6e 64 69 64 61 74 65 73 28 24 63 6c 61 73 73 29 ction.getClassCandidates($class)
1472e0 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 73 20 3d 20 73 .{.if.(!\is_array($functions.=.s
147300 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 72 65 74 75 pl_autoload_functions())).{.retu
147320 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 rn.array();.}....$classes.=.arra
147340 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 y();..foreach.($functions.as.$fu
147360 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 nction).{.if.(!\is_array($functi
147380 6f 6e 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 24 66 75 6e 63 74 69 on)).{.continue;.}...if.($functi
1473a0 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 on[0].instanceof.DebugClassLoade
1473c0 72 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 r).{.$function.=.$function[0]->g
1473e0 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 0a 20 69 66 20 28 5c 69 73 5f 6f 62 6a 65 etClassLoader();....if.(\is_obje
147400 63 74 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 61 72 72 ct($function)).{.$function.=.arr
147420 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 ay($function);.}..if.(!\is_array
147440 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 ($function)).{.continue;.}.}..if
147460 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 .($function[0].instanceof.Compos
147480 65 72 43 6c 61 73 73 4c 6f 61 64 65 72 20 7c 7c 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e erClassLoader.||.$function[0].in
1474a0 73 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 43 6c 61 73 73 4c 6f 61 64 65 72 20 7c 7c 20 24 stanceof.SymfonyClassLoader.||.$
1474c0 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 55 6e function[0].instanceof.SymfonyUn
1474e0 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 iversalClassLoader).{.foreach.($
147500 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 50 72 65 66 69 78 65 73 28 29 20 61 73 20 24 70 function[0]->getPrefixes().as.$p
147520 72 65 66 69 78 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 refix.=>.$paths).{.foreach.($pat
147540 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f hs.as.$path).{.$classes.=.array_
147560 6d 65 72 67 65 28 24 63 6c 61 73 73 65 73 2c 20 24 74 68 69 73 2d 3e 66 69 6e 64 43 6c 61 73 73 merge($classes,.$this->findClass
147580 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 3b InPath($path,.$class,.$prefix));
1475a0 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 .}.}.}.if.($function[0].instance
1475c0 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 66 6f 72 65 61 63 of.ComposerClassLoader).{.foreac
1475e0 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 h.($function[0]->getPrefixesPsr4
147600 28 29 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 ().as.$prefix.=>.$paths).{.forea
147620 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 63 6c 61 73 73 65 73 20 ch.($paths.as.$path).{.$classes.
147640 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6c 61 73 73 65 73 2c 20 24 74 68 69 73 2d 3e 66 =.array_merge($classes,.$this->f
147660 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 indClassInPath($path,.$class,.$p
147680 72 65 66 69 78 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 75 refix));.}.}.}.}..return.array_u
1476a0 6e 69 71 75 65 28 24 63 6c 61 73 73 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 nique($classes);.}.........priva
1476c0 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 te.function.findClassInPath($pat
1476e0 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 0a 7b 0a 69 66 20 28 21 24 70 61 74 68 h,.$class,.$prefix).{.if.(!$path
147700 20 3d 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 2e 27 2f 27 2e 73 74 72 74 72 28 24 70 72 65 .=.realpath($path.'/'.strtr($pre
147720 66 69 78 2c 20 27 5c 5c 5f 27 2c 20 27 2f 2f 27 29 29 20 3f 3a 20 72 65 61 6c 70 61 74 68 28 24 fix,.'\\_',.'//')).?:.realpath($
147740 70 61 74 68 2e 27 2f 27 2e 5c 64 69 72 6e 61 6d 65 28 73 74 72 74 72 28 24 70 72 65 66 69 78 2c path.'/'.\dirname(strtr($prefix,
147760 20 27 5c 5c 5f 27 2c 20 27 2f 2f 27 29 29 29 20 3f 3a 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 .'\\_',.'//'))).?:.realpath($pat
147780 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 h)).{.return.array();.}..$classe
1477a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 63 6c 61 73 73 2e s.=.array();.$filename.=.$class.
1477c0 27 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 '.php';.foreach.(new.\RecursiveI
1477e0 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 teratorIterator(new.\RecursiveDi
147800 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 70 61 74 68 2c 20 5c 52 65 63 75 72 73 69 76 rectoryIterator($path,.\Recursiv
147820 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 2c 20 eDirectoryIterator::SKIP_DOTS),.
147840 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 4c 45 41 56 \RecursiveIteratorIterator::LEAV
147860 45 53 5f 4f 4e 4c 59 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 6e 61 ES_ONLY).as.$file).{.if.($filena
147880 6d 65 20 3d 3d 20 24 66 69 6c 65 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 20 26 26 20 24 63 me.==.$file->getFileName().&&.$c
1478a0 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 46 69 6c 65 54 6f 43 6c 61 73 73 lass.=.$this->convertFileToClass
1478c0 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 4e 61 6d 65 28 29 2c 20 24 70 ($path,.$file->getPathName(),.$p
1478e0 72 65 66 69 78 29 29 20 7b 0a 24 63 6c 61 73 73 65 73 5b 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 7d refix)).{.$classes[].=.$class;.}
147900 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .}..return.$classes;.}.........p
147920 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 46 69 6c 65 54 6f 43 6c 61 rivate.function.convertFileToCla
147940 73 73 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2c 20 24 70 72 65 66 69 78 29 0a 7b 0a 24 63 61 6e ss($path,.$file,.$prefix).{.$can
147960 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 0a 0a 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6c didates.=.array(...$namespacedCl
147980 61 73 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 24 70 61 74 68 2e 5c 44 ass.=.str_replace(array($path.\D
1479a0 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 27 2e 70 68 70 27 2c 20 27 2f 27 29 IRECTORY_SEPARATOR,.'.php',.'/')
1479c0 2c 20 61 72 72 61 79 28 27 27 2c 20 27 27 2c 20 27 5c 5c 27 29 2c 20 24 66 69 6c 65 29 2c 0a 0a ,.array('',.'',.'\\'),.$file),..
1479e0 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 2c 0a 0a 20 24 70 72 .$prefix.$namespacedClass,...$pr
147a00 65 66 69 78 2e 27 5c 5c 27 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 2c 0a 0a 20 73 74 efix.'\\'.$namespacedClass,...st
147a20 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 r_replace('\\',.'_',.$namespaced
147a40 43 6c 61 73 73 29 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c Class),...str_replace('\\',.'_',
147a60 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 0a 20 73 74 .$prefix.$namespacedClass),...st
147a80 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c 20 24 70 72 65 66 69 78 2e 27 5c 5c r_replace('\\',.'_',.$prefix.'\\
147aa0 27 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 70 72 '.$namespacedClass),.);..if.($pr
147ac0 65 66 69 78 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 efix).{.$candidates.=.array_filt
147ae0 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 63 61 6e 64 69 er($candidates,.function.($candi
147b00 64 61 74 65 29 20 75 73 65 20 28 24 70 72 65 66 69 78 29 20 7b 20 72 65 74 75 72 6e 20 30 20 3d date).use.($prefix).{.return.0.=
147b20 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 70 72 65 66 69 78 29 3b 20 ==.strpos($candidate,.$prefix);.
147b40 7d 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 });.}........foreach.($candidate
147b60 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c s.as.$candidate).{.if.($this->cl
147b80 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 assExists($candidate)).{.return.
147ba0 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 66 $candidate;.}.}..require_once.$f
147bc0 69 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 ile;..foreach.($candidates.as.$c
147be0 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 andidate).{.if.($this->classExis
147c00 74 73 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 ts($candidate)).{.return.$candid
147c20 61 74 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ate;.}.}.}.......private.functio
147c40 6e 20 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 6c 61 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 63 n.classExists($class).{.return.c
147c60 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 69 6e lass_exists($class,.false).||.in
147c80 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c terface_exists($class,.false).||
147ca0 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 74 72 61 69 74 5f 65 78 69 73 74 73 .(\function_exists('trait_exists
147cc0 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 ').&&.trait_exists($class,.false
147ce0 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ));.}.}.<?php...........namespac
147d00 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 e.Symfony\Component\Debug\FatalE
147d20 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e rrorHandler;..use.Symfony\Compon
147d40 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 ent\Debug\Exception\FatalErrorEx
147d60 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 46 61 74 61 6c 45 72 ception;.......interface.FatalEr
147d80 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 rorHandlerInterface.{.........pu
147da0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 blic.function.handleError(array.
147dc0 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 $error,.FatalErrorException.$exc
147de0 65 70 74 69 6f 6e 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 eption);.}.<?php...........names
147e00 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 pace.Symfony\Component\Debug\Fat
147e20 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d alErrorHandler;..use.Symfony\Com
147e40 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f ponent\Debug\Exception\FatalErro
147e60 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e rException;.use.Symfony\Componen
147e80 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 t\Debug\Exception\UndefinedFunct
147ea0 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 ionException;.......class.Undefi
147ec0 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 nedFunctionFatalErrorHandler.imp
147ee0 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 lements.FatalErrorHandlerInterfa
147f00 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 ce.{....public.function.handleEr
147f20 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 ror(array.$error,.FatalErrorExce
147f40 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 61 67 65 4c 65 6e 20 ption.$exception).{.$messageLen.
147f60 3d 20 5c 73 74 72 6c 65 6e 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 24 6e =.\strlen($error['message']);.$n
147f80 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 28 29 27 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 otFoundSuffix.=.'()';.$notFoundS
147fa0 75 66 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 uffixLen.=.\strlen($notFoundSuff
147fc0 69 78 29 3b 0a 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3e 20 24 6d ix);.if.($notFoundSuffixLen.>.$m
147fe0 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d essageLen).{.return;.}..if.(0.!=
148000 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 =.substr_compare($error['message
148020 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 '],.$notFoundSuffix,.-$notFoundS
148040 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 65 66 69 78 20 uffixLen)).{.return;.}..$prefix.
148060 3d 20 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 27 3b =.'Call.to.undefined.function.';
148080 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a .$prefixLen.=.\strlen($prefix);.
1480a0 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 if.(0.!==.strpos($error['message
1480c0 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 75 6c 6c '],.$prefix)).{.return;.}..$full
1480e0 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 yQualifiedFunctionName.=.substr(
148100 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 4c 65 6e 2c 20 2d $error['message'],.$prefixLen,.-
148120 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 $notFoundSuffixLen);.if.(false.!
148140 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 3d 20 73 74 ==.$namespaceSeparatorIndex.=.st
148160 72 72 70 6f 73 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d rrpos($fullyQualifiedFunctionNam
148180 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 73 75 62 73 e,.'\\')).{.$functionName.=.subs
1481a0 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 tr($fullyQualifiedFunctionName,.
1481c0 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 2b 20 31 29 3b 0a 24 $namespaceSeparatorIndex.+.1);.$
1481e0 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 namespacePrefix.=.substr($fullyQ
148200 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 30 2c 20 24 6e 61 6d 65 73 70 ualifiedFunctionName,.0,.$namesp
148220 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 aceSeparatorIndex);.$message.=.s
148240 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 63 61 6c 6c 20 66 75 6e 63 74 69 printf('Attempted.to.call.functi
148260 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 2e 27 2c 20 24 on."%s".from.namespace."%s".',.$
148280 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 29 3b functionName,.$namespacePrefix);
1482a0 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 24 66 75 6c 6c 79 .}.else.{.$functionName.=.$fully
1482c0 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 24 6d 65 73 73 61 67 65 20 QualifiedFunctionName;.$message.
1482e0 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 63 61 6c 6c 20 66 75 6e =.sprintf('Attempted.to.call.fun
148300 63 74 69 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 ction."%s".from.the.global.names
148320 70 61 63 65 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 3b 0a 7d 0a 0a 24 63 61 6e 64 pace.',.$functionName);.}..$cand
148340 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 67 65 74 5f 64 idates.=.array();.foreach.(get_d
148360 65 66 69 6e 65 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 efined_functions().as.$type.=>.$
148380 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 definedFunctionNames).{.foreach.
1483a0 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 73 20 61 73 20 24 64 65 66 69 6e ($definedFunctionNames.as.$defin
1483c0 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 edFunctionName).{.if.(false.!==.
1483e0 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 $namespaceSeparatorIndex.=.strrp
148400 6f 73 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 os($definedFunctionName,.'\\')).
148420 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 42 61 73 65 6e 61 6d 65 20 3d {.$definedFunctionNameBasename.=
148440 20 73 75 62 73 74 72 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e .substr($definedFunctionName,.$n
148460 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 2b 20 31 29 3b 0a 7d 20 65 amespaceSeparatorIndex.+.1);.}.e
148480 6c 73 65 20 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 42 61 73 65 6e 61 lse.{.$definedFunctionNameBasena
1484a0 6d 65 20 3d 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 7d 0a 0a 69 66 me.=.$definedFunctionName;.}..if
1484c0 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 42 61 73 65 6e 61 6d 65 20 3d .($definedFunctionNameBasename.=
1484e0 3d 3d 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b ==.$functionName).{.$candidates[
148500 5d 20 3d 20 27 5c 5c 27 2e 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 7d ].=.'\\'.$definedFunctionName;.}
148520 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 73 6f 72 74 28 24 63 .}.}..if.($candidates).{.sort($c
148540 61 6e 64 69 64 61 74 65 73 29 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 andidates);.$last.=.array_pop($c
148560 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 andidates).'"?';.if.($candidates
148580 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f ).{.$candidates.=.'e.g.."'.implo
1485a0 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 de('",."',.$candidates).'".or."'
1485c0 2e 24 6c 61 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 .$last;.}.else.{.$candidates.=.'
1485e0 22 27 2e 24 6c 61 73 74 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 "'.$last;.}.$message..=."\nDid.y
148600 6f 75 20 6d 65 61 6e 20 74 6f 20 63 61 6c 6c 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 7d ou.mean.to.call.".$candidates;.}
148620 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 ..return.new.UndefinedFunctionEx
148640 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d ception($message,.$exception);.}
148660 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
148680 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 fony\Component\Debug\FatalErrorH
1486a0 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 andler;..use.Symfony\Component\D
1486c0 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 ebug\Exception\FatalErrorExcepti
1486e0 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c on;.use.Symfony\Component\Debug\
148700 45 78 63 65 70 74 69 6f 6e 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 Exception\UndefinedMethodExcepti
148720 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 on;.......class.UndefinedMethodF
148740 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 46 61 74 61 atalErrorHandler.implements.Fata
148760 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c lErrorHandlerInterface.{....publ
148780 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 ic.function.handleError(array.$e
1487a0 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 rror,.FatalErrorException.$excep
1487c0 74 69 6f 6e 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 43 61 6c 6c 20 74 6f 20 75 6e tion).{.preg_match('/^Call.to.un
1487e0 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 28 2e 2a 29 3a 3a 28 2e 2a 29 5c 28 5c 29 24 2f 27 defined.method.(.*)::(.*)\(\)$/'
148800 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a ,.$error['message'],.$matches);.
148820 69 66 20 28 21 24 6d 61 74 63 68 65 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6c 61 if.(!$matches).{.return;.}..$cla
148840 73 73 4e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 24 6d 65 74 68 6f 64 4e 61 6d ssName.=.$matches[1];.$methodNam
148860 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 e.=.$matches[2];..$message.=.spr
148880 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 63 61 6c 6c 20 61 6e 20 75 6e 64 65 66 intf('Attempted.to.call.an.undef
1488a0 69 6e 65 64 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 22 25 73 22 20 6f 66 20 63 6c 61 73 73 20 ined.method.named."%s".of.class.
1488c0 22 25 73 22 2e 27 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 29 "%s".',.$methodName,.$className)
1488e0 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 ;..if.(!class_exists($className)
148900 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 74 68 6f 64 73 20 3d 20 67 65 74 5f 63 6c 61 73 .||.null.===.$methods.=.get_clas
148920 73 5f 6d 65 74 68 6f 64 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 0a 20 72 65 74 75 72 s_methods($className)).{...retur
148940 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 28 24 n.new.UndefinedMethodException($
148960 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 63 61 6e 64 69 64 message,.$exception);.}..$candid
148980 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 74 68 6f 64 ates.=.array();.foreach.($method
1489a0 73 20 61 73 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 20 7b 0a 24 6c 65 76 20 s.as.$definedMethodName).{.$lev.
1489c0 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 24 64 65 66 69 =.levenshtein($methodName,.$defi
1489e0 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 3b 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 5c 73 74 72 nedMethodName);.if.($lev.<=.\str
148a00 6c 65 6e 28 24 6d 65 74 68 6f 64 4e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 66 61 6c 73 65 20 21 3d len($methodName)./.3.||.false.!=
148a20 3d 20 73 74 72 70 6f 73 28 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 2c 20 24 6d 65 =.strpos($definedMethodName,.$me
148a40 74 68 6f 64 4e 61 6d 65 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 24 64 65 thodName)).{.$candidates[].=.$de
148a60 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 finedMethodName;.}.}..if.($candi
148a80 64 61 74 65 73 29 20 7b 0a 73 6f 72 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b 0a 24 6c 61 73 dates).{.sort($candidates);.$las
148aa0 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b t.=.array_pop($candidates).'"?';
148ac0 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 .if.($candidates).{.$candidates.
148ae0 3d 20 27 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e 64 =.'e.g.."'.implode('",."',.$cand
148b00 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 6c 61 73 74 3b 0a 7d 20 65 6c 73 65 20 7b idates).'".or."'.$last;.}.else.{
148b20 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 73 74 3b 0a 7d 0a 0a 24 6d 65 .$candidates.=.'"'.$last;.}..$me
148b40 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 6f 20 63 61 6c 6c ssage..=."\nDid.you.mean.to.call
148b60 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e .".$candidates;.}..return.new.Un
148b80 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c definedMethodException($message,
148ba0 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 .$exception);.}.}.Copyright.(c).
148bc0 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 2004-2018.Fabien.Potencier..Perm
148be0 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f ission.is.hereby.granted,.free.o
148c00 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e f.charge,.to.any.person.obtainin
148c20 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 g.a.copy.of.this.software.and.as
148c40 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 sociated.documentation.files.(th
148c60 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f e."Software"),.to.deal.in.the.So
148c80 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c ftware.without.restriction,.incl
148ca0 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 uding.without.limitation.the.rig
148cc0 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c hts.to.use,.copy,.modify,.merge,
148ce0 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 .publish,.distribute,.sublicense
148d00 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 ,.and/or.sell.copies.of.the.Soft
148d20 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 ware,.and.to.permit.persons.to.w
148d40 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f hom.the.Software.is.furnished.to
148d60 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 .do.so,.subject.to.the.following
148d80 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 .conditions:..The.above.copyrigh
148da0 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 t.notice.and.this.permission.not
148dc0 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 ice.shall.be.included.in.all.cop
148de0 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 ies.or.substantial.portions.of.t
148e00 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 he.Software...THE.SOFTWARE.IS.PR
148e20 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 OVIDED."AS.IS",.WITHOUT.WARRANTY
148e40 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 .OF.ANY.KIND,.EXPRESS.OR.IMPLIED
148e60 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 ,.INCLUDING.BUT.NOT.LIMITED.TO.T
148e80 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 HE.WARRANTIES.OF.MERCHANTABILITY
148ea0 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f ,.FITNESS.FOR.A.PARTICULAR.PURPO
148ec0 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 SE.AND.NONINFRINGEMENT..IN.NO.EV
148ee0 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 ENT.SHALL.THE.AUTHORS.OR.COPYRIG
148f00 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 HT.HOLDERS.BE.LIABLE.FOR.ANY.CLA
148f20 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 IM,.DAMAGES.OR.OTHER.LIABILITY,.
148f40 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 WHETHER.IN.AN.ACTION.OF.CONTRACT
148f60 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f ,.TORT.OR.OTHERWISE,.ARISING.FRO
148f80 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 M,.OUT.OF.OR.IN.CONNECTION.WITH.
148fa0 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 THE.SOFTWARE.OR.THE.USE.OR.OTHER
148fc0 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 .DEALINGS.IN.THE.SOFTWARE..<?php
148fe0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
149000 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a ponent\Filesystem\Exception;....
149020 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a ...interface.ExceptionInterface.
149040 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 {.}.<?php...........namespace.Sy
149060 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 mfony\Component\Filesystem\Excep
149080 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 tion;........class.FileNotFoundE
1490a0 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 4f 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 xception.extends.IOException.{.p
1490c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 ublic.function.__construct($mess
1490e0 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 63 65 70 74 69 6f age.=.null,.$code.=.0,.\Exceptio
149100 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c n.$previous.=.null,.$path.=.null
149120 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 ).{.if.(null.===.$message).{.if.
149140 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 61 74 68 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 (null.===.$path).{.$message.=.'F
149160 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 3b 0a 7d 20 65 6c 73 65 ile.could.not.be.found.';.}.else
149180 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 46 69 6c 65 20 22 25 73 22 .{.$message.=.sprintf('File."%s"
1491a0 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 2c 20 24 70 61 74 68 29 3b 0a 7d .could.not.be.found.',.$path);.}
1491c0 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 .}..parent::__construct($message
1491e0 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a ,.$code,.$previous,.$path);.}.}.
149200 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
149220 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e y\Component\Filesystem\Exception
149240 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 4f 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 ;.........class.IOException.exte
149260 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 nds.\RuntimeException.implements
149280 20 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 .IOExceptionInterface.{.private.
1492a0 24 70 61 74 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 $path;..public.function.__constr
1492c0 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 63 65 70 74 uct($message,.$code.=.0,.\Except
1492e0 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 ion.$previous.=.null,.$path.=.nu
149300 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 0a 70 61 72 65 ll).{.$this->path.=.$path;..pare
149320 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c nt::__construct($message,.$code,
149340 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$previous);.}.....public.functi
149360 6f 6e 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 on.getPath().{.return.$this->pat
149380 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 h;.}.}.<?php...........namespace
1493a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 .Symfony\Component\Filesystem\Ex
1493c0 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 4f 45 78 63 65 70 ception;.......interface.IOExcep
1493e0 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 45 78 63 65 70 74 69 6f 6e 49 tionInterface.extends.ExceptionI
149400 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nterface.{......public.function.
149420 67 65 74 50 61 74 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d getPath();.}.<?php...........nam
149440 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 espace.Symfony\Component\Filesys
149460 74 65 6d 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 tem;..use.Symfony\Component\File
149480 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 system\Exception\FileNotFoundExc
1494a0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 eption;.use.Symfony\Component\Fi
1494c0 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a lesystem\Exception\IOException;.
1494e0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 ......class.Filesystem.{.private
149500 20 73 74 61 74 69 63 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .static.$lastError;.............
149520 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 28 24 6f 72 69 67 69 6e 46 ...public.function.copy($originF
149540 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 2c 20 24 6f 76 65 72 77 72 69 74 65 4e 65 77 65 ile,.$targetFile,.$overwriteNewe
149560 72 46 69 6c 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6f 72 69 67 69 6e 49 73 4c 6f 63 61 6c rFiles.=.false).{.$originIsLocal
149580 20 3d 20 73 74 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 20 .=.stream_is_local($originFile).
1495a0 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 27 66 ||.0.===.stripos($originFile,.'f
1495c0 69 6c 65 3a 2f 2f 27 29 3b 0a 69 66 20 28 24 6f 72 69 67 69 6e 49 73 4c 6f 63 61 6c 20 26 26 20 ile://');.if.($originIsLocal.&&.
1495e0 21 69 73 5f 66 69 6c 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e !is_file($originFile)).{.throw.n
149600 65 77 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 ew.FileNotFoundException(sprintf
149620 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 62 65 63 61 75 73 65 20 66 69 ('Failed.to.copy."%s".because.fi
149640 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 le.does.not.exist.',.$originFile
149660 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 24 74 68 ),.0,.null,.$originFile);.}..$th
149680 69 73 2d 3e 6d 6b 64 69 72 28 5c 64 69 72 6e 61 6d 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 29 is->mkdir(\dirname($targetFile))
1496a0 3b 0a 0a 24 64 6f 43 6f 70 79 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 21 24 6f 76 65 72 77 72 69 ;..$doCopy.=.true;.if.(!$overwri
1496c0 74 65 4e 65 77 65 72 46 69 6c 65 73 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 70 61 72 73 65 5f 75 teNewerFiles.&&.null.===.parse_u
1496e0 72 6c 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 26 26 rl($originFile,.PHP_URL_HOST).&&
149700 20 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 29 20 7b 0a 24 64 6f 43 6f 70 79 .is_file($targetFile)).{.$doCopy
149720 20 3d 20 66 69 6c 65 6d 74 69 6d 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 20 3e 20 66 69 6c 65 .=.filemtime($originFile).>.file
149740 6d 74 69 6d 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 6f 43 6f mtime($targetFile);.}..if.($doCo
149760 70 79 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 73 6f 75 72 63 65 20 3d 20 py).{...if.(false.===.$source.=.
149780 40 66 6f 70 65 6e 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 74 68 72 6f @fopen($originFile,.'r')).{.thro
1497a0 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 w.new.IOException(sprintf('Faile
1497c0 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 62 65 63 61 75 73 65 20 73 d.to.copy."%s".to."%s".because.s
1497e0 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e 65 64 20 66 ource.file.could.not.be.opened.f
149800 6f 72 20 72 65 61 64 69 6e 67 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 or.reading.',.$originFile,.$targ
149820 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a etFile),.0,.null,.$originFile);.
149840 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 61 72 67 65 74 20 3d 20 40 66 6f }....if.(false.===.$target.=.@fo
149860 70 65 6e 28 24 74 61 72 67 65 74 46 69 6c 65 2c 20 27 77 27 2c 20 6e 75 6c 6c 2c 20 73 74 72 65 pen($targetFile,.'w',.null,.stre
149880 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 65 61 74 65 28 61 72 72 61 79 28 27 66 74 70 27 20 3d 3e am_context_create(array('ftp'.=>
1498a0 20 61 72 72 61 79 28 27 6f 76 65 72 77 72 69 74 65 27 20 3d 3e 20 74 72 75 65 29 29 29 29 29 20 .array('overwrite'.=>.true))))).
1498c0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 {.throw.new.IOException(sprintf(
1498e0 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 62 65 63 'Failed.to.copy."%s".to."%s".bec
149900 61 75 73 65 20 74 61 72 67 65 74 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 ause.target.file.could.not.be.op
149920 65 6e 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c ened.for.writing.',.$originFile,
149940 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 .$targetFile),.0,.null,.$originF
149960 69 6c 65 29 3b 0a 7d 0a 0a 24 62 79 74 65 73 43 6f 70 69 65 64 20 3d 20 73 74 72 65 61 6d 5f 63 ile);.}..$bytesCopied.=.stream_c
149980 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b opy_to_stream($source,.$target);
1499a0 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b 0a 66 63 6c 6f 73 65 28 24 74 61 72 67 65 74 .fclose($source);.fclose($target
1499c0 29 3b 0a 75 6e 73 65 74 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 0a 69 66 20 );.unset($source,.$target);..if.
1499e0 28 21 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 (!is_file($targetFile)).{.throw.
149a00 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 new.IOException(sprintf('Failed.
149a20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c 20 24 6f 72 69 67 69 6e 46 to.copy."%s".to."%s".',.$originF
149a40 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 ile,.$targetFile),.0,.null,.$ori
149a60 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 72 69 67 69 6e 49 73 4c 6f 63 61 6c 29 ginFile);.}..if.($originIsLocal)
149a80 20 7b 0a 0a 20 40 63 68 6d 6f 64 28 24 74 61 72 67 65 74 46 69 6c 65 2c 20 66 69 6c 65 70 65 72 .{...@chmod($targetFile,.fileper
149aa0 6d 73 28 24 74 61 72 67 65 74 46 69 6c 65 29 20 7c 20 28 66 69 6c 65 70 65 72 6d 73 28 24 6f 72 ms($targetFile).|.(fileperms($or
149ac0 69 67 69 6e 46 69 6c 65 29 20 26 20 30 31 31 31 29 29 3b 0a 0a 69 66 20 28 24 62 79 74 65 73 43 iginFile).&.0111));..if.($bytesC
149ae0 6f 70 69 65 64 20 21 3d 3d 20 24 62 79 74 65 73 4f 72 69 67 69 6e 20 3d 20 66 69 6c 65 73 69 7a opied.!==.$bytesOrigin.=.filesiz
149b00 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 e($originFile)).{.throw.new.IOEx
149b20 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 ception(sprintf('Failed.to.copy.
149b40 74 68 65 20 77 68 6f 6c 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 22 25 73 22 20 74 6f 20 22 25 73 the.whole.content.of."%s".to."%s
149b60 22 20 28 25 67 20 6f 66 20 25 67 20 62 79 74 65 73 20 63 6f 70 69 65 64 29 2e 27 2c 20 24 6f 72 ".(%g.of.%g.bytes.copied).',.$or
149b80 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 2c 20 24 62 79 74 65 73 43 6f 70 iginFile,.$targetFile,.$bytesCop
149ba0 69 65 64 2c 20 24 62 79 74 65 73 4f 72 69 67 69 6e 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 ied,.$bytesOrigin),.0,.null,.$or
149bc0 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c iginFile);.}.}.}.}..........publ
149be0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 6b 64 69 72 28 24 64 69 72 73 2c 20 24 6d 6f 64 65 20 3d ic.function.mkdir($dirs,.$mode.=
149c00 20 30 37 37 37 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 .0777).{.foreach.($this->toItera
149c20 74 6f 72 28 24 64 69 72 73 29 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 tor($dirs).as.$dir).{.if.(is_dir
149c40 28 24 64 69 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 73 65 6c 66 ($dir)).{.continue;.}..if.(!self
149c60 3a 3a 62 6f 78 28 27 6d 6b 64 69 72 27 2c 20 24 64 69 72 2c 20 24 6d 6f 64 65 2c 20 74 72 75 65 ::box('mkdir',.$dir,.$mode,.true
149c80 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 0a 20 69 66 20 28 )).{.if.(!is_dir($dir)).{...if.(
149ca0 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f self::$lastError).{.throw.new.IO
149cc0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 Exception(sprintf('Failed.to.cre
149ce0 61 74 65 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 64 69 72 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 ate."%s":.%s.',.$dir,.self::$las
149d00 74 45 72 72 6f 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 3b 0a 7d 0a 74 68 72 6f 77 tError),.0,.null,.$dir);.}.throw
149d20 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 .new.IOException(sprintf('Failed
149d40 20 74 6f 20 63 72 65 61 74 65 20 22 25 73 22 27 2c 20 24 64 69 72 29 2c 20 30 2c 20 6e 75 6c 6c .to.create."%s"',.$dir),.0,.null
149d60 2c 20 24 64 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ,.$dir);.}.}.}.}.........public.
149d80 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 24 66 69 6c 65 73 29 0a 7b 0a 24 6d 61 78 50 61 function.exists($files).{.$maxPa
149da0 74 68 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 54 48 4c 45 4e 20 2d 20 32 3b 0a 0a thLength.=.PHP_MAXPATHLEN.-.2;..
149dc0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 foreach.($this->toIterator($file
149de0 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 66 69 6c 65 s).as.$file).{.if.(\strlen($file
149e00 29 20 3e 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ).>.$maxPathLength).{.throw.new.
149e20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 IOException(sprintf('Could.not.c
149e40 68 65 63 6b 20 69 66 20 66 69 6c 65 20 65 78 69 73 74 20 62 65 63 61 75 73 65 20 70 61 74 68 20 heck.if.file.exist.because.path.
149e60 6c 65 6e 67 74 68 20 65 78 63 65 65 64 73 20 25 64 20 63 68 61 72 61 63 74 65 72 73 2e 27 2c 20 length.exceeds.%d.characters.',.
149e80 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 $maxPathLength),.0,.null,.$file)
149ea0 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a ;.}..if.(!file_exists($file)).{.
149ec0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a return.false;.}.}..return.true;.
149ee0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 75 63 }...........public.function.touc
149f00 68 28 24 66 69 6c 65 73 2c 20 24 74 69 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 61 74 69 6d 65 20 3d h($files,.$time.=.null,.$atime.=
149f20 20 6e 75 6c 6c 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 .null).{.foreach.($this->toItera
149f40 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 6f 75 63 68 20 3d tor($files).as.$file).{.$touch.=
149f60 20 24 74 69 6d 65 20 3f 20 40 74 6f 75 63 68 28 24 66 69 6c 65 2c 20 24 74 69 6d 65 2c 20 24 61 .$time.?.@touch($file,.$time,.$a
149f80 74 69 6d 65 29 20 3a 20 40 74 6f 75 63 68 28 24 66 69 6c 65 29 3b 0a 69 66 20 28 74 72 75 65 20 time).:.@touch($file);.if.(true.
149fa0 21 3d 3d 20 24 74 6f 75 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 !==.$touch).{.throw.new.IOExcept
149fc0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 74 6f 75 63 68 20 22 25 73 ion(sprintf('Failed.to.touch."%s
149fe0 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a ".',.$file),.0,.null,.$file);.}.
14a000 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f }.}.........public.function.remo
14a020 76 65 28 24 66 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 66 69 6c 65 73 20 69 6e 73 74 61 6e 63 65 ve($files).{.if.($files.instance
14a040 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 69 74 65 72 of.\Traversable).{.$files.=.iter
14a060 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6c 65 73 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 ator_to_array($files,.false);.}.
14a080 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 69 6c 65 73 29 29 20 7b 0a 24 66 elseif.(!\is_array($files)).{.$f
14a0a0 69 6c 65 73 20 3d 20 61 72 72 61 79 28 24 66 69 6c 65 73 29 3b 0a 7d 0a 24 66 69 6c 65 73 20 3d iles.=.array($files);.}.$files.=
14a0c0 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 66 69 6c 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 .array_reverse($files);.foreach.
14a0e0 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 ($files.as.$file).{.if.(is_link(
14a100 24 66 69 6c 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 28 73 65 6c 66 3a 3a 62 6f 78 28 27 75 6e 6c $file)).{...if.(!(self::box('unl
14a120 69 6e 6b 27 2c 20 24 66 69 6c 65 29 20 7c 7c 20 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 ink',.$file).||.'\\'.!==.\DIRECT
14a140 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 73 65 6c 66 3a 3a 62 6f 78 28 27 72 6d 64 69 ORY_SEPARATOR.||.self::box('rmdi
14a160 72 27 2c 20 24 66 69 6c 65 29 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 r',.$file)).&&.file_exists($file
14a180 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e )).{.throw.new.IOException(sprin
14a1a0 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 73 79 6d 6c 69 6e 6b 20 22 25 73 tf('Failed.to.remove.symlink."%s
14a1c0 22 3a 20 25 73 2e 27 2c 20 24 66 69 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 ":.%s.',.$file,.self::$lastError
14a1e0 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b ));.}.}.elseif.(is_dir($file)).{
14a200 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 .$this->remove(new.\FilesystemIt
14a220 65 72 61 74 6f 72 28 24 66 69 6c 65 2c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f erator($file,.\FilesystemIterato
14a240 72 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 50 41 54 48 4e 41 4d 45 20 7c 20 5c 46 69 6c 65 73 79 r::CURRENT_AS_PATHNAME.|.\Filesy
14a260 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 29 3b 0a 0a 69 66 20 28 stemIterator::SKIP_DOTS));..if.(
14a280 21 73 65 6c 66 3a 3a 62 6f 78 28 27 72 6d 64 69 72 27 2c 20 24 66 69 6c 65 29 20 26 26 20 66 69 !self::box('rmdir',.$file).&&.fi
14a2a0 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f le_exists($file)).{.throw.new.IO
14a2c0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 72 65 6d Exception(sprintf('Failed.to.rem
14a2e0 6f 76 65 20 64 69 72 65 63 74 6f 72 79 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 66 69 6c 65 2c ove.directory."%s":.%s.',.$file,
14a300 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 .self::$lastError));.}.}.elseif.
14a320 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c 65 29 20 26 26 20 (!self::box('unlink',.$file).&&.
14a340 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 file_exists($file)).{.throw.new.
14a360 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 72 IOException(sprintf('Failed.to.r
14a380 65 6d 6f 76 65 20 66 69 6c 65 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 66 69 6c 65 2c 20 73 65 emove.file."%s":.%s.',.$file,.se
14a3a0 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a lf::$lastError));.}.}.}.........
14a3c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 6d 6f 64 28 24 66 69 6c 65 73 2c ...public.function.chmod($files,
14a3e0 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 20 3d 20 30 30 30 30 2c 20 24 72 65 63 75 72 73 69 76 .$mode,.$umask.=.0000,.$recursiv
14a400 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 e.=.false).{.foreach.($this->toI
14a420 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 terator($files).as.$file).{.if.(
14a440 74 72 75 65 20 21 3d 3d 20 40 63 68 6d 6f 64 28 24 66 69 6c 65 2c 20 24 6d 6f 64 65 20 26 20 7e true.!==.@chmod($file,.$mode.&.~
14a460 24 75 6d 61 73 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e $umask)).{.throw.new.IOException
14a480 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6d 6f 64 20 66 69 6c 65 20 22 (sprintf('Failed.to.chmod.file."
14a4a0 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a %s".',.$file),.0,.null,.$file);.
14a4c0 7d 0a 69 66 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 }.if.($recursive.&&.is_dir($file
14a4e0 29 20 26 26 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 ).&&.!is_link($file)).{.$this->c
14a500 68 6d 6f 64 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 hmod(new.\FilesystemIterator($fi
14a520 6c 65 29 2c 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 7d le),.$mode,.$umask,.true);.}.}.}
14a540 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 6f 77 6e ...........public.function.chown
14a560 28 24 66 69 6c 65 73 2c 20 24 75 73 65 72 2c 20 24 72 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c ($files,.$user,.$recursive.=.fal
14a580 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 se).{.foreach.($this->toIterator
14a5a0 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 72 65 63 75 72 73 ($files).as.$file).{.if.($recurs
14a5c0 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 29 20 26 26 20 21 69 73 5f 6c 69 6e 6b ive.&&.is_dir($file).&&.!is_link
14a5e0 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 6f 77 6e 28 6e 65 77 20 5c 46 69 6c ($file)).{.$this->chown(new.\Fil
14a600 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 29 2c 20 24 75 73 65 72 2c 20 74 esystemIterator($file),.$user,.t
14a620 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 20 26 26 20 5c 66 rue);.}.if.(is_link($file).&&.\f
14a640 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6c 63 68 6f 77 6e 27 29 29 20 7b 0a 69 66 20 28 unction_exists('lchown')).{.if.(
14a660 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 6f 77 6e 28 24 66 69 6c 65 2c 20 24 75 73 65 72 29 29 20 true.!==.@lchown($file,.$user)).
14a680 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 {.throw.new.IOException(sprintf(
14a6a0 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 6e 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 'Failed.to.chown.file."%s".',.$f
14a6c0 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 ile),.0,.null,.$file);.}.}.else.
14a6e0 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 6f 77 6e 28 24 66 69 6c 65 2c 20 24 75 73 {.if.(true.!==.@chown($file,.$us
14a700 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 er)).{.throw.new.IOException(spr
14a720 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 6e 20 66 69 6c 65 20 22 25 73 22 2e intf('Failed.to.chown.file."%s".
14a740 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a ',.$file),.0,.null,.$file);.}.}.
14a760 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 }.}...........public.function.ch
14a780 67 72 70 28 24 66 69 6c 65 73 2c 20 24 67 72 6f 75 70 2c 20 24 72 65 63 75 72 73 69 76 65 20 3d grp($files,.$group,.$recursive.=
14a7a0 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 .false).{.foreach.($this->toIter
14a7c0 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 72 65 ator($files).as.$file).{.if.($re
14a7e0 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 29 20 26 26 20 21 69 73 5f cursive.&&.is_dir($file).&&.!is_
14a800 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 67 72 70 28 6e 65 77 20 link($file)).{.$this->chgrp(new.
14a820 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 29 2c 20 24 67 72 6f \FilesystemIterator($file),.$gro
14a840 75 70 2c 20 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 20 up,.true);.}.if.(is_link($file).
14a860 26 26 20 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6c 63 68 67 72 70 27 29 29 20 7b &&.\function_exists('lchgrp')).{
14a880 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 67 72 70 28 24 66 69 6c 65 2c 20 24 67 72 .if.(true.!==.@lchgrp($file,.$gr
14a8a0 6f 75 70 29 20 7c 7c 20 28 5c 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 oup).||.(\defined('HHVM_VERSION'
14a8c0 29 20 26 26 20 21 70 6f 73 69 78 5f 67 65 74 67 72 6e 61 6d 28 24 67 72 6f 75 70 29 29 29 20 7b ).&&.!posix_getgrnam($group))).{
14a8e0 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 .throw.new.IOException(sprintf('
14a900 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 70 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 Failed.to.chgrp.file."%s".',.$fi
14a920 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b le),.0,.null,.$file);.}.}.else.{
14a940 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 67 72 70 28 24 66 69 6c 65 2c 20 24 67 72 6f .if.(true.!==.@chgrp($file,.$gro
14a960 75 70 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 up)).{.throw.new.IOException(spr
14a980 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 70 20 66 69 6c 65 20 22 25 73 22 2e intf('Failed.to.chgrp.file."%s".
14a9a0 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a ',.$file),.0,.null,.$file);.}.}.
14a9c0 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 }.}............public.function.r
14a9e0 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 2c 20 24 6f 76 65 72 77 72 69 ename($origin,.$target,.$overwri
14aa00 74 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 69 66 20 28 21 24 6f 76 65 72 77 72 69 74 65 20 te.=.false).{...if.(!$overwrite.
14aa20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 24 74 61 72 67 65 74 29 29 20 7b &&.$this->isReadable($target)).{
14aa40 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 .throw.new.IOException(sprintf('
14aa60 43 61 6e 6e 6f 74 20 72 65 6e 61 6d 65 20 62 65 63 61 75 73 65 20 74 68 65 20 74 61 72 67 65 74 Cannot.rename.because.the.target
14aa80 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 74 61 72 67 65 74 29 ."%s".already.exists.',.$target)
14aaa0 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 ,.0,.null,.$target);.}..if.(true
14aac0 20 21 3d 3d 20 40 72 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 29 29 20 .!==.@rename($origin,.$target)).
14aae0 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 6f 72 69 67 69 6e 29 29 20 7b 0a 0a 20 24 74 68 69 73 {.if.(is_dir($origin)).{...$this
14ab00 2d 3e 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 2c 20 6e 75 6c 6c 2c ->mirror($origin,.$target,.null,
14ab20 20 61 72 72 61 79 28 27 6f 76 65 72 72 69 64 65 27 20 3d 3e 20 24 6f 76 65 72 77 72 69 74 65 2c .array('override'.=>.$overwrite,
14ab40 20 27 64 65 6c 65 74 65 27 20 3d 3e 20 24 6f 76 65 72 77 72 69 74 65 29 29 3b 0a 24 74 68 69 73 .'delete'.=>.$overwrite));.$this
14ab60 2d 3e 72 65 6d 6f 76 65 28 24 6f 72 69 67 69 6e 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 74 68 ->remove($origin);..return;.}.th
14ab80 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e row.new.IOException(sprintf('Can
14aba0 6e 6f 74 20 72 65 6e 61 6d 65 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c 20 24 6f 72 69 67 not.rename."%s".to."%s".',.$orig
14abc0 69 6e 2c 20 24 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b in,.$target),.0,.null,.$target);
14abe0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 .}.}...........private.function.
14ac00 69 73 52 65 61 64 61 62 6c 65 28 24 66 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 6d 61 78 50 61 74 68 isReadable($filename).{.$maxPath
14ac20 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 54 48 4c 45 4e 20 2d 20 32 3b 0a 0a 69 66 Length.=.PHP_MAXPATHLEN.-.2;..if
14ac40 20 28 5c 73 74 72 6c 65 6e 28 24 66 69 6c 65 6e 61 6d 65 29 20 3e 20 24 6d 61 78 50 61 74 68 4c .(\strlen($filename).>.$maxPathL
14ac60 65 6e 67 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 ength).{.throw.new.IOException(s
14ac80 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 68 65 63 6b 20 69 66 20 66 69 6c 65 20 printf('Could.not.check.if.file.
14aca0 69 73 20 72 65 61 64 61 62 6c 65 20 62 65 63 61 75 73 65 20 70 61 74 68 20 6c 65 6e 67 74 68 20 is.readable.because.path.length.
14acc0 65 78 63 65 65 64 73 20 25 64 20 63 68 61 72 61 63 74 65 72 73 2e 27 2c 20 24 6d 61 78 50 61 74 exceeds.%d.characters.',.$maxPat
14ace0 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d hLength),.0,.null,.$filename);.}
14ad00 0a 0a 72 65 74 75 72 6e 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 6e 61 6d 65 29 3b ..return.is_readable($filename);
14ad20 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 79 6d .}...........public.function.sym
14ad40 6c 69 6e 6b 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 63 6f link($originDir,.$targetDir,.$co
14ad60 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 pyOnWindows.=.false).{.if.('\\'.
14ad80 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 6f 72 69 ===.\DIRECTORY_SEPARATOR).{.$ori
14ada0 67 69 6e 44 69 72 20 3d 20 73 74 72 74 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 27 2f 27 2c 20 ginDir.=.strtr($originDir,.'/',.
14adc0 27 5c 5c 27 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 73 74 72 74 72 28 24 74 61 72 67 65 '\\');.$targetDir.=.strtr($targe
14ade0 74 44 69 72 2c 20 27 2f 27 2c 20 27 5c 5c 27 29 3b 0a 0a 69 66 20 28 24 63 6f 70 79 4f 6e 57 69 tDir,.'/',.'\\');..if.($copyOnWi
14ae00 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 44 69 ndows).{.$this->mirror($originDi
14ae20 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 24 74 r,.$targetDir);..return;.}.}..$t
14ae40 68 69 73 2d 3e 6d 6b 64 69 72 28 5c 64 69 72 6e 61 6d 65 28 24 74 61 72 67 65 74 44 69 72 29 29 his->mkdir(\dirname($targetDir))
14ae60 3b 0a 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 69 66 ;..if.(is_link($targetDir)).{.if
14ae80 20 28 72 65 61 64 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 20 3d 3d 3d 20 24 6f 72 69 67 .(readlink($targetDir).===.$orig
14aea0 69 6e 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 inDir).{.return;.}.$this->remove
14aec0 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 ($targetDir);.}..if.(!self::box(
14aee0 27 73 79 6d 6c 69 6e 6b 27 2c 20 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 'symlink',.$originDir,.$targetDi
14af00 72 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 r)).{.if.(null.!==.self::$lastEr
14af20 72 6f 72 29 20 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 ror).{.if.('\\'.===.\DIRECTORY_S
14af40 45 50 41 52 41 54 4f 52 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 73 65 6c EPARATOR.&&.false.!==.strpos(sel
14af60 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 2c 20 27 65 72 72 6f 72 20 63 6f 64 65 28 31 33 31 34 29 f::$lastError,.'error.code(1314)
14af80 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 ')).{.throw.new.IOException('Una
14afa0 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 73 79 6d 6c 69 6e 6b 20 64 75 65 20 74 6f 20 65 72 72 ble.to.create.symlink.due.to.err
14afc0 6f 72 20 63 6f 64 65 20 31 33 31 34 3a 20 5c 27 41 20 72 65 71 75 69 72 65 64 20 70 72 69 76 69 or.code.1314:.\'A.required.privi
14afe0 6c 65 67 65 20 69 73 20 6e 6f 74 20 68 65 6c 64 20 62 79 20 74 68 65 20 63 6c 69 65 6e 74 5c 27 lege.is.not.held.by.the.client\'
14b000 2e 20 44 6f 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 41 64 6d 69 6e ..Do.you.have.the.required.Admin
14b020 69 73 74 72 61 74 6f 72 2d 72 69 67 68 74 73 3f 27 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 istrator-rights?',.0,.null,.$tar
14b040 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 getDir);.}.}.throw.new.IOExcepti
14b060 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 73 79 6d on(sprintf('Failed.to.create.sym
14b080 62 6f 6c 69 63 20 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c 20 bolic.link.from."%s".to."%s".',.
14b0a0 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 2c 20 30 2c 20 6e 75 6c 6c $originDir,.$targetDir),.0,.null
14b0c0 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ,.$targetDir);.}.}..........publ
14b0e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 50 61 74 68 52 65 6c 61 74 69 76 65 28 24 65 6e ic.function.makePathRelative($en
14b100 64 50 61 74 68 2c 20 24 73 74 61 72 74 50 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 dPath,.$startPath).{...if.('\\'.
14b120 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 6e 64 ===.\DIRECTORY_SEPARATOR).{.$end
14b140 50 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 65 Path.=.str_replace('\\',.'/',.$e
14b160 6e 64 50 61 74 68 29 3b 0a 24 73 74 61 72 74 50 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 ndPath);.$startPath.=.str_replac
14b180 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 73 74 61 72 74 50 61 74 68 29 3b 0a 7d 0a 0a 24 73 74 e('\\',.'/',.$startPath);.}..$st
14b1a0 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 ripDriveLetter.=.function.($path
14b1c0 29 20 7b 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 70 61 74 68 29 20 3e 20 32 20 26 26 20 27 3a ).{.if.(\strlen($path).>.2.&&.':
14b1e0 27 20 3d 3d 3d 20 24 70 61 74 68 5b 31 5d 20 26 26 20 27 2f 27 20 3d 3d 3d 20 24 70 61 74 68 5b '.===.$path[1].&&.'/'.===.$path[
14b200 32 5d 20 26 26 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 70 61 74 68 5b 30 5d 29 29 20 7b 0a 72 2].&&.ctype_alpha($path[0])).{.r
14b220 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 32 29 3b 0a 7d 0a 0a 72 65 74 75 72 eturn.substr($path,.2);.}..retur
14b240 6e 20 24 70 61 74 68 3b 0a 7d 3b 0a 0a 24 65 6e 64 50 61 74 68 20 3d 20 24 73 74 72 69 70 44 72 n.$path;.};..$endPath.=.$stripDr
14b260 69 76 65 4c 65 74 74 65 72 28 24 65 6e 64 50 61 74 68 29 3b 0a 24 73 74 61 72 74 50 61 74 68 20 iveLetter($endPath);.$startPath.
14b280 3d 20 24 73 74 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 28 24 73 74 61 72 74 50 61 74 68 29 3b =.$stripDriveLetter($startPath);
14b2a0 0a 0a 0a 20 24 73 74 61 72 74 50 61 74 68 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c ....$startPathArr.=.explode('/',
14b2c0 20 74 72 69 6d 28 24 73 74 61 72 74 50 61 74 68 2c 20 27 2f 27 29 29 3b 0a 24 65 6e 64 50 61 74 .trim($startPath,.'/'));.$endPat
14b2e0 68 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 69 6d 28 24 65 6e 64 50 61 74 hArr.=.explode('/',.trim($endPat
14b300 68 2c 20 27 2f 27 29 29 3b 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 20 3d h,.'/'));..$normalizePathArray.=
14b320 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 53 65 67 6d 65 6e 74 73 2c 20 24 61 62 73 6f 6c .function.($pathSegments,.$absol
14b340 75 74 65 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 ute).{.$result.=.array();..forea
14b360 63 68 20 28 24 70 61 74 68 53 65 67 6d 65 6e 74 73 20 61 73 20 24 73 65 67 6d 65 6e 74 29 20 7b ch.($pathSegments.as.$segment).{
14b380 0a 69 66 20 28 27 2e 2e 27 20 3d 3d 3d 20 24 73 65 67 6d 65 6e 74 20 26 26 20 28 24 61 62 73 6f .if.('..'.===.$segment.&&.($abso
14b3a0 6c 75 74 65 20 7c 7c 20 5c 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 29 29 29 20 7b 0a 61 72 72 61 lute.||.\count($result))).{.arra
14b3c0 79 5f 70 6f 70 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2e 27 20 21 3d y_pop($result);.}.elseif.('.'.!=
14b3e0 3d 20 24 73 65 67 6d 65 6e 74 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 73 65 67 6d 65 =.$segment).{.$result[].=.$segme
14b400 6e 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 3b 0a 0a 24 73 74 nt;.}.}..return.$result;.};..$st
14b420 61 72 74 50 61 74 68 41 72 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 artPathArr.=.$normalizePathArray
14b440 28 24 73 74 61 72 74 50 61 74 68 41 72 72 2c 20 73 74 61 74 69 63 3a 3a 69 73 41 62 73 6f 6c 75 ($startPathArr,.static::isAbsolu
14b460 74 65 50 61 74 68 28 24 73 74 61 72 74 50 61 74 68 29 29 3b 0a 24 65 6e 64 50 61 74 68 41 72 72 tePath($startPath));.$endPathArr
14b480 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 28 24 65 6e 64 50 61 74 68 41 .=.$normalizePathArray($endPathA
14b4a0 72 72 2c 20 73 74 61 74 69 63 3a 3a 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 65 6e 64 50 rr,.static::isAbsolutePath($endP
14b4c0 61 74 68 29 29 3b 0a 0a 0a 20 24 69 6e 64 65 78 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 69 73 73 ath));....$index.=.0;.while.(iss
14b4e0 65 74 28 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 29 20 26 26 20 69 73 73 et($startPathArr[$index]).&&.iss
14b500 65 74 28 24 65 6e 64 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 29 20 26 26 20 24 73 74 61 72 et($endPathArr[$index]).&&.$star
14b520 74 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 20 3d 3d 3d 20 24 65 6e 64 50 61 74 68 41 72 72 tPathArr[$index].===.$endPathArr
14b540 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 2b 2b 24 69 6e 64 65 78 3b 0a 7d 0a 0a 0a 20 69 66 20 28 31 [$index]).{.++$index;.}....if.(1
14b560 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 73 74 61 72 74 50 61 74 68 41 72 72 29 20 26 26 20 27 27 .===.\count($startPathArr).&&.''
14b580 20 3d 3d 3d 20 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 30 5d 29 20 7b 0a 24 64 65 70 74 68 20 .===.$startPathArr[0]).{.$depth.
14b5a0 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 70 74 68 20 3d 20 5c 63 6f 75 6e 74 28 24 73 =.0;.}.else.{.$depth.=.\count($s
14b5c0 74 61 72 74 50 61 74 68 41 72 72 29 20 2d 20 24 69 6e 64 65 78 3b 0a 7d 0a 0a 0a 20 24 74 72 61 tartPathArr).-.$index;.}....$tra
14b5e0 76 65 72 73 65 72 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2e 2e 2f 27 2c 20 24 64 65 70 74 verser.=.str_repeat('../',.$dept
14b600 68 29 3b 0a 0a 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 72 20 3d 20 69 6d 70 6c 6f 64 65 h);..$endPathRemainder.=.implode
14b620 28 27 2f 27 2c 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 24 65 6e 64 50 61 74 68 41 72 72 2c 20 ('/',.\array_slice($endPathArr,.
14b640 24 69 6e 64 65 78 29 29 3b 0a 0a 0a 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 24 74 72 $index));....$relativePath.=.$tr
14b660 61 76 65 72 73 65 72 2e 28 27 27 20 21 3d 3d 20 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 averser.(''.!==.$endPathRemainde
14b680 72 20 3f 20 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 72 2e 27 2f 27 20 3a 20 27 27 29 3b r.?.$endPathRemainder.'/'.:.'');
14b6a0 0a 0a 72 65 74 75 72 6e 20 27 27 20 3d 3d 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3f 20 ..return.''.===.$relativePath.?.
14b6c0 27 2e 2f 27 20 3a 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a './'.:.$relativePath;.}.........
14b6e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 69 72 72 ............public.function.mirr
14b700 6f 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 5c 54 72 61 76 or($originDir,.$targetDir,.\Trav
14b720 65 72 73 61 62 6c 65 20 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f ersable.$iterator.=.null,.$optio
14b740 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 72 74 72 ns.=.array()).{.$targetDir.=.rtr
14b760 69 6d 28 24 74 61 72 67 65 74 44 69 72 2c 20 27 2f 5c 5c 27 29 3b 0a 24 6f 72 69 67 69 6e 44 69 im($targetDir,.'/\\');.$originDi
14b780 72 20 3d 20 72 74 72 69 6d 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 27 2f 5c 5c 27 29 3b 0a 24 6f r.=.rtrim($originDir,.'/\\');.$o
14b7a0 72 69 67 69 6e 44 69 72 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6f 72 69 67 69 6e 44 69 72 riginDirLen.=.\strlen($originDir
14b7c0 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 74 61 72 67 65 74 44 );....if.($this->exists($targetD
14b7e0 69 72 29 20 26 26 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 6c 65 74 65 27 5d 29 ir).&&.isset($options['delete'])
14b800 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 64 65 6c 65 74 65 27 5d 29 20 7b 0a 24 64 65 6c 65 74 .&&.$options['delete']).{.$delet
14b820 65 49 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 69 66 20 28 6e 75 6c 6c 20 eIterator.=.$iterator;.if.(null.
14b840 3d 3d 3d 20 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 66 6c 61 67 73 20 3d 20 ===.$deleteIterator).{.$flags.=.
14b860 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a \FilesystemIterator::SKIP_DOTS;.
14b880 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 $deleteIterator.=.new.\Recursive
14b8a0 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 IteratorIterator(new.\RecursiveD
14b8c0 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 74 61 72 67 65 74 44 69 72 2c 20 24 66 6c irectoryIterator($targetDir,.$fl
14b8e0 61 67 73 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 ags),.\RecursiveIteratorIterator
14b900 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 7d 0a 24 74 61 72 67 65 74 44 69 72 4c 65 6e 20 ::CHILD_FIRST);.}.$targetDirLen.
14b920 3d 20 5c 73 74 72 6c 65 6e 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 =.\strlen($targetDir);.foreach.(
14b940 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 6f 72 69 $deleteIterator.as.$file).{.$ori
14b960 67 69 6e 20 3d 20 24 6f 72 69 67 69 6e 44 69 72 2e 73 75 62 73 74 72 28 24 66 69 6c 65 2d 3e 67 gin.=.$originDir.substr($file->g
14b980 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 61 72 67 65 74 44 69 72 4c 65 6e 29 3b 0a 69 66 etPathname(),.$targetDirLen);.if
14b9a0 20 28 21 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 6f 72 69 67 69 6e 29 29 20 7b 0a 24 74 68 .(!$this->exists($origin)).{.$th
14b9c0 69 73 2d 3e 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 70 79 4f is->remove($file);.}.}.}..$copyO
14b9e0 6e 57 69 6e 64 6f 77 73 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 nWindows.=.false;.if.(isset($opt
14ba00 69 6f 6e 73 5b 27 63 6f 70 79 5f 6f 6e 5f 77 69 6e 64 6f 77 73 27 5d 29 29 20 7b 0a 24 63 6f 70 ions['copy_on_windows'])).{.$cop
14ba20 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 63 6f 70 79 5f 6f 6e 5f 77 yOnWindows.=.$options['copy_on_w
14ba40 69 6e 64 6f 77 73 27 5d 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 74 65 72 61 indows'];.}..if.(null.===.$itera
14ba60 74 6f 72 29 20 7b 0a 24 66 6c 61 67 73 20 3d 20 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3f tor).{.$flags.=.$copyOnWindows.?
14ba80 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 20 .\FilesystemIterator::SKIP_DOTS.
14baa0 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 |.\FilesystemIterator::FOLLOW_SY
14bac0 4d 4c 49 4e 4b 53 20 3a 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b MLINKS.:.\FilesystemIterator::SK
14bae0 49 50 5f 44 4f 54 53 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 IP_DOTS;.$iterator.=.new.\Recurs
14bb00 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 20 5c 52 65 63 75 72 73 69 iveIteratorIterator(new.\Recursi
14bb20 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 veDirectoryIterator($originDir,.
14bb40 24 66 6c 61 67 73 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 $flags),.\RecursiveIteratorItera
14bb60 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e tor::SELF_FIRST);.}..if.($this->
14bb80 65 78 69 73 74 73 28 24 6f 72 69 67 69 6e 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 exists($originDir)).{.$this->mkd
14bba0 69 72 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 ir($targetDir);.}..foreach.($ite
14bbc0 72 61 74 6f 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 74 61 72 rator.as.$file).{.$target.=.$tar
14bbe0 67 65 74 44 69 72 2e 73 75 62 73 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 getDir.substr($file->getPathname
14bc00 28 29 2c 20 24 6f 72 69 67 69 6e 44 69 72 4c 65 6e 29 3b 0a 0a 69 66 20 28 24 63 6f 70 79 4f 6e (),.$originDirLen);..if.($copyOn
14bc20 57 69 6e 64 6f 77 73 29 20 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b Windows).{.if.(is_file($file)).{
14bc40 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 2c 20 69 73 73 .$this->copy($file,.$target,.iss
14bc60 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 29 20 3f 20 24 6f 70 74 69 et($options['override']).?.$opti
14bc80 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 ons['override'].:.false);.}.else
14bca0 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 if.(is_dir($file)).{.$this->mkdi
14bcc0 72 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 r($target);.}.else.{.throw.new.I
14bce0 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 67 75 OException(sprintf('Unable.to.gu
14bd00 65 73 73 20 22 25 73 22 20 66 69 6c 65 20 74 79 70 65 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c ess."%s".file.type.',.$file),.0,
14bd20 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 .null,.$file);.}.}.else.{.if.(is
14bd40 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6d 6c 69 6e 6b 28 24 _link($file)).{.$this->symlink($
14bd60 66 69 6c 65 2d 3e 67 65 74 4c 69 6e 6b 54 61 72 67 65 74 28 29 2c 20 24 74 61 72 67 65 74 29 3b file->getLinkTarget(),.$target);
14bd80 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 .}.elseif.(is_dir($file)).{.$thi
14bda0 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f s->mkdir($target);.}.elseif.(is_
14bdc0 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 66 69 6c 65 file($file)).{.$this->copy($file
14bde0 2c 20 24 74 61 72 67 65 74 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 ,.$target,.isset($options['overr
14be00 69 64 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 20 3a 20 ide']).?.$options['override'].:.
14be20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 false);.}.else.{.throw.new.IOExc
14be40 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 67 75 65 73 73 20 eption(sprintf('Unable.to.guess.
14be60 22 25 73 22 20 66 69 6c 65 20 74 79 70 65 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c "%s".file.type.',.$file),.0,.nul
14be80 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 l,.$file);.}.}.}.}.........publi
14bea0 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 69 6c 65 29 c.function.isAbsolutePath($file)
14bec0 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 73 70 6e 28 24 66 69 6c 65 2c 20 27 2f 5c 5c 27 2c 20 30 .{.return.strspn($file,.'/\\',.0
14bee0 2c 20 31 29 0a 7c 7c 20 28 5c 73 74 72 6c 65 6e 28 24 66 69 6c 65 29 20 3e 20 33 20 26 26 20 63 ,.1).||.(\strlen($file).>.3.&&.c
14bf00 74 79 70 65 5f 61 6c 70 68 61 28 24 66 69 6c 65 5b 30 5d 29 0a 26 26 20 27 3a 27 20 3d 3d 3d 20 type_alpha($file[0]).&&.':'.===.
14bf20 73 75 62 73 74 72 28 24 66 69 6c 65 2c 20 31 2c 20 31 29 0a 26 26 20 73 74 72 73 70 6e 28 24 66 substr($file,.1,.1).&&.strspn($f
14bf40 69 6c 65 2c 20 27 2f 5c 5c 27 2c 20 32 2c 20 31 29 0a 29 0a 7c 7c 20 6e 75 6c 6c 20 21 3d 3d 20 ile,.'/\\',.2,.1).).||.null.!==.
14bf60 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 parse_url($file,.PHP_URL_SCHEME)
14bf80 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 .;.}...........public.function.t
14bfa0 65 6d 70 6e 61 6d 28 24 64 69 72 2c 20 24 70 72 65 66 69 78 29 0a 7b 0a 6c 69 73 74 28 24 73 63 empnam($dir,.$prefix).{.list($sc
14bfc0 68 65 6d 65 2c 20 24 68 69 65 72 61 72 63 68 79 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 heme,.$hierarchy).=.$this->getSc
14bfe0 68 65 6d 65 41 6e 64 48 69 65 72 61 72 63 68 79 28 24 64 69 72 29 3b 0a 0a 0a 20 69 66 20 28 6e hemeAndHierarchy($dir);....if.(n
14c000 75 6c 6c 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 7c 7c 20 27 66 69 6c 65 27 20 3d 3d 3d 20 24 73 ull.===.$scheme.||.'file'.===.$s
14c020 63 68 65 6d 65 20 7c 7c 20 27 67 73 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 29 20 7b 0a 24 74 6d cheme.||.'gs'.===.$scheme).{.$tm
14c040 70 46 69 6c 65 20 3d 20 40 74 65 6d 70 6e 61 6d 28 24 68 69 65 72 61 72 63 68 79 2c 20 24 70 72 pFile.=.@tempnam($hierarchy,.$pr
14c060 65 66 69 78 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 74 6d 70 46 69 6c 65 efix);....if.(false.!==.$tmpFile
14c080 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 63 68 65 6d 65 20 26 26 20 27 67 73 27 ).{.if.(null.!==.$scheme.&&.'gs'
14c0a0 20 21 3d 3d 20 24 73 63 68 65 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 63 68 65 6d 65 2e 27 .!==.$scheme).{.return.$scheme.'
14c0c0 3a 2f 2f 27 2e 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6d 70 46 69 6c ://'.$tmpFile;.}..return.$tmpFil
14c0e0 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 41 20 74 e;.}..throw.new.IOException('A.t
14c100 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 emporary.file.could.not.be.creat
14c120 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 31 30 ed.');.}....for.($i.=.0;.$i.<.10
14c140 3b 20 2b 2b 24 69 29 20 7b 0a 0a 20 24 74 6d 70 46 69 6c 65 20 3d 20 24 64 69 72 2e 27 2f 27 2e ;.++$i).{...$tmpFile.=.$dir.'/'.
14c160 24 70 72 65 66 69 78 2e 75 6e 69 71 69 64 28 6d 74 5f 72 61 6e 64 28 29 2c 20 74 72 75 65 29 3b $prefix.uniqid(mt_rand(),.true);
14c180 0a 0a 0a 20 0a 20 24 68 61 6e 64 6c 65 20 3d 20 40 66 6f 70 65 6e 28 24 74 6d 70 46 69 6c 65 2c ......$handle.=.@fopen($tmpFile,
14c1a0 20 27 78 2b 27 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 .'x+');....if.(false.===.$handle
14c1c0 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 40 66 63 6c 6f 73 65 28 24 68 61 6e 64 ).{.continue;.}....@fclose($hand
14c1e0 6c 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 le);..return.$tmpFile;.}..throw.
14c200 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 41 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c new.IOException('A.temporary.fil
14c220 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a e.could.not.be.created.');.}....
14c240 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 46 69 6c 65 ........public.function.dumpFile
14c260 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 6d 6f 64 65 20 3d 20 30 36 ($filename,.$content,.$mode.=.06
14c280 36 36 29 0a 7b 0a 24 64 69 72 20 3d 20 5c 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 6e 61 6d 65 29 66).{.$dir.=.\dirname($filename)
14c2a0 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d ;..if.(!is_dir($dir)).{.$this->m
14c2c0 6b 64 69 72 28 24 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 kdir($dir);.}..if.(!is_writable(
14c2e0 24 64 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 $dir)).{.throw.new.IOException(s
14c300 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 22 printf('Unable.to.write.to.the."
14c320 25 73 22 20 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 24 64 69 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c %s".directory.',.$dir),.0,.null,
14c340 20 24 64 69 72 29 3b 0a 7d 0a 0a 24 74 6d 70 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 74 65 6d .$dir);.}..$tmpFile.=.$this->tem
14c360 70 6e 61 6d 28 24 64 69 72 2c 20 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 6e 61 6d 65 29 29 3b pnam($dir,.basename($filename));
14c380 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e ..if.(false.===.@file_put_conten
14c3a0 74 73 28 24 74 6d 70 46 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 74 68 72 6f 77 20 ts($tmpFile,.$content)).{.throw.
14c3c0 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 new.IOException(sprintf('Failed.
14c3e0 74 6f 20 77 72 69 74 65 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 to.write.file."%s".',.$filename)
14c400 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 ,.0,.null,.$filename);.}..if.(nu
14c420 6c 6c 20 21 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 69 66 20 28 5c 66 75 6e 63 5f 6e 75 6d 5f 61 72 ll.!==.$mode).{.if.(\func_num_ar
14c440 67 73 28 29 20 3e 20 32 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 53 75 70 70 gs().>.2).{.@trigger_error('Supp
14c460 6f 72 74 20 66 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f ort.for.modifying.file.permissio
14c480 6e 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 ns.is.deprecated.since.Symfony.2
14c4a0 2e 33 2e 31 32 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 .3.12.and.will.be.removed.in.3.0
14c4c0 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 74 68 69 73 .',.E_USER_DEPRECATED);.}..$this
14c4e0 2d 3e 63 68 6d 6f 64 28 24 74 6d 70 46 69 6c 65 2c 20 24 6d 6f 64 65 29 3b 0a 7d 20 65 6c 73 65 ->chmod($tmpFile,.$mode);.}.else
14c500 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 40 63 if.(file_exists($filename)).{.@c
14c520 68 6d 6f 64 28 24 74 6d 70 46 69 6c 65 2c 20 66 69 6c 65 70 65 72 6d 73 28 24 66 69 6c 65 6e 61 hmod($tmpFile,.fileperms($filena
14c540 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6e 61 6d 65 28 24 74 6d 70 46 69 6c 65 2c me));.}..$this->rename($tmpFile,
14c560 20 24 66 69 6c 65 6e 61 6d 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .$filename,.true);.}.......priva
14c580 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 0a 7b te.function.toIterator($files).{
14c5a0 0a 69 66 20 28 21 24 66 69 6c 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 .if.(!$files.instanceof.\Travers
14c5c0 61 62 6c 65 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 able).{.$files.=.new.\ArrayObjec
14c5e0 74 28 5c 69 73 5f 61 72 72 61 79 28 24 66 69 6c 65 73 29 20 3f 20 24 66 69 6c 65 73 20 3a 20 61 t(\is_array($files).?.$files.:.a
14c600 72 72 61 79 28 24 66 69 6c 65 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 73 3b rray($files));.}..return.$files;
14c620 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 .}.........private.function.getS
14c640 63 68 65 6d 65 41 6e 64 48 69 65 72 61 72 63 68 79 28 24 66 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 chemeAndHierarchy($filename).{.$
14c660 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 2f 2f 27 2c 20 24 66 69 6c components.=.explode('://',.$fil
14c680 65 6e 61 6d 65 2c 20 32 29 3b 0a 0a 72 65 74 75 72 6e 20 32 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 ename,.2);..return.2.===.\count(
14c6a0 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 3f 20 61 72 72 61 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 $components).?.array($components
14c6c0 5b 30 5d 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 31 5d 29 20 3a 20 61 72 72 61 79 28 6e 75 6c [0],.$components[1]).:.array(nul
14c6e0 6c 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 l,.$components[0]);.}..private.s
14c700 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 6f 78 28 24 66 75 6e 63 29 0a 7b 0a 73 65 6c 66 tatic.function.box($func).{.self
14c720 3a 3a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 5c 73 65 74 5f 65 72 72 6f 72 5f ::$lastError.=.null;.\set_error_
14c740 68 61 6e 64 6c 65 72 28 5f 5f 43 4c 41 53 53 5f 5f 2e 27 3a 3a 68 61 6e 64 6c 65 45 72 72 6f 72 handler(__CLASS__.'::handleError
14c760 27 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 ');.try.{.$result.=.\call_user_f
14c780 75 6e 63 5f 61 72 72 61 79 28 24 66 75 6e 63 2c 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 5c 66 unc_array($func,.\array_slice(\f
14c7a0 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 2c 20 31 29 29 3b 0a 5c 72 65 73 74 6f 72 65 5f 65 72 unc_get_args(),.1));.\restore_er
14c7c0 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a ror_handler();..return.$result;.
14c7e0 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 }.catch.(\Throwable.$e).{.}.catc
14c800 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 5c 72 65 73 74 6f 72 65 5f 65 h.(\Exception.$e).{.}.\restore_e
14c820 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 0a rror_handler();..throw.$e;.}....
14c840 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 .public.static.function.handleEr
14c860 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 67 29 0a 7b 0a 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 ror($type,.$msg).{.self::$lastEr
14c880 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 ror.=.$msg;.}.}.Copyright.(c).20
14c8a0 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 04-2018.Fabien.Potencier..Permis
14c8c0 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 sion.is.hereby.granted,.free.of.
14c8e0 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 charge,.to.any.person.obtaining.
14c900 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f a.copy.of.this.software.and.asso
14c920 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 ciated.documentation.files.(the.
14c940 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 "Software"),.to.deal.in.the.Soft
14c960 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 ware.without.restriction,.includ
14c980 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 ing.without.limitation.the.right
14c9a0 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 s.to.use,.copy,.modify,.merge,.p
14c9c0 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 ublish,.distribute,.sublicense,.
14c9e0 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 and/or.sell.copies.of.the.Softwa
14ca00 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f re,.and.to.permit.persons.to.who
14ca20 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 m.the.Software.is.furnished.to.d
14ca40 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 o.so,.subject.to.the.following.c
14ca60 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 onditions:..The.above.copyright.
14ca80 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 notice.and.this.permission.notic
14caa0 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 e.shall.be.included.in.all.copie
14cac0 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 s.or.substantial.portions.of.the
14cae0 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 .Software...THE.SOFTWARE.IS.PROV
14cb00 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f IDED."AS.IS",.WITHOUT.WARRANTY.O
14cb20 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 F.ANY.KIND,.EXPRESS.OR.IMPLIED,.
14cb40 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 INCLUDING.BUT.NOT.LIMITED.TO.THE
14cb60 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a .WARRANTIES.OF.MERCHANTABILITY,.
14cb80 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
14cba0 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e .AND.NONINFRINGEMENT..IN.NO.EVEN
14cbc0 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 T.SHALL.THE.AUTHORS.OR.COPYRIGHT
14cbe0 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d .HOLDERS.BE.LIABLE.FOR.ANY.CLAIM
14cc00 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 ,.DAMAGES.OR.OTHER.LIABILITY,.WH
14cc20 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 ETHER.IN.AN.ACTION.OF.CONTRACT,.
14cc40 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c TORT.OR.OTHERWISE,.ARISING.FROM,
14cc60 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 .OUT.OF.OR.IN.CONNECTION.WITH.TH
14cc80 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 E.SOFTWARE.OR.THE.USE.OR.OTHER.D
14cca0 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a EALINGS.IN.THE.SOFTWARE..<?php..
14ccc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
14cce0 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nent\Filesystem;..use.Symfony\Co
14cd00 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 mponent\Filesystem\Exception\IOE
14cd20 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f xception;...............class.Lo
14cd40 63 6b 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 70 72 69 76 61 ckHandler.{.private.$file;.priva
14cd60 74 65 20 24 68 61 6e 64 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 te.$handle;........public.functi
14cd80 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 6c 6f 63 6b 50 61 74 68 20 on.__construct($name,.$lockPath.
14cda0 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6c 6f 63 6b 50 61 74 68 20 3d 20 24 6c 6f 63 6b 50 61 74 68 20 =.null).{.$lockPath.=.$lockPath.
14cdc0 3f 3a 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 0a 69 66 20 28 21 69 73 5f ?:.sys_get_temp_dir();..if.(!is_
14cde0 64 69 72 28 24 6c 6f 63 6b 50 61 74 68 29 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 dir($lockPath)).{.$fs.=.new.File
14ce00 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 6d 6b 64 69 72 28 24 6c 6f 63 6b 50 61 74 68 29 3b system();.$fs->mkdir($lockPath);
14ce20 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 6c 6f 63 6b 50 61 74 68 29 29 .}..if.(!is_writable($lockPath))
14ce40 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 .{.throw.new.IOException(sprintf
14ce60 28 27 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 22 25 73 22 20 69 73 20 6e 6f 74 20 77 72 69 74 ('The.directory."%s".is.not.writ
14ce80 61 62 6c 65 2e 27 2c 20 24 6c 6f 63 6b 50 61 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6c 6f able.',.$lockPath),.0,.null,.$lo
14cea0 63 6b 50 61 74 68 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 73 70 72 69 6e 74 ckPath);.}..$this->file.=.sprint
14cec0 66 28 27 25 73 2f 73 66 2e 25 73 2e 25 73 2e 6c 6f 63 6b 27 2c 20 24 6c 6f 63 6b 50 61 74 68 2c f('%s/sf.%s.%s.lock',.$lockPath,
14cee0 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d 7a 30 2d 39 5c 2e 5f 2d 5d 2b 2f 69 .preg_replace('/[^a-z0-9\._-]+/i
14cf00 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 2c 20 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 ',.'-',.$name),.hash('sha256',.$
14cf20 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 name));.}...........public.funct
14cf40 69 6f 6e 20 6c 6f 63 6b 28 24 62 6c 6f 63 6b 69 6e 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 ion.lock($blocking.=.false).{.if
14cf60 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a .($this->handle).{.return.true;.
14cf80 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 }..$error.=.null;....set_error_h
14cfa0 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 72 72 6e 6f 2c 20 24 6d 73 67 29 20 75 andler(function.($errno,.$msg).u
14cfc0 73 65 20 28 26 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 29 se.(&$error).{.$error.=.$msg;.})
14cfe0 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 ;..if.(!$this->handle.=.fopen($t
14d000 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 69 73 2d his->file,.'r+').?:.fopen($this-
14d020 3e 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 >file,.'r')).{.if.($this->handle
14d040 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 78 27 29 29 20 7b 0a 63 68 .=.fopen($this->file,.'x')).{.ch
14d060 6d 6f 64 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 30 36 36 36 29 3b 0a 7d 20 65 6c 73 65 69 66 mod($this->file,.0666);.}.elseif
14d080 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e .(!$this->handle.=.fopen($this->
14d0a0 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 file,.'r+').?:.fopen($this->file
14d0c0 2c 20 27 72 27 29 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 29 3b 20 0a 20 24 74 68 69 73 2d 3e ,.'r')).{.usleep(100);...$this->
14d0e0 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 handle.=.fopen($this->file,.'r+'
14d100 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 3b 0a 7d 0a ).?:.fopen($this->file,.'r');.}.
14d120 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 }.restore_error_handler();..if.(
14d140 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 !$this->handle).{.throw.new.IOEx
14d160 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e ception($error,.0,.null,.$this->
14d180 66 69 6c 65 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 21 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e file);.}......if.(!flock($this->
14d1a0 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 45 58 20 7c 20 28 24 62 6c 6f 63 6b 69 6e 67 20 3f 20 30 handle,.LOCK_EX.|.($blocking.?.0
14d1c0 20 3a 20 4c 4f 43 4b 5f 4e 42 29 29 29 20 7b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 68 61 .:.LOCK_NB))).{.fclose($this->ha
14d1e0 6e 64 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 ndle);.$this->handle.=.null;..re
14d200 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a turn.false;.}..return.true;.}...
14d220 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 65 61 73 65 28 29 0a 7b 0a 69 66 ..public.function.release().{.if
14d240 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e .($this->handle).{.flock($this->
14d260 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 55 4e 20 7c 20 4c 4f 43 4b 5f 4e 42 29 3b 0a 66 63 6c 6f handle,.LOCK_UN.|.LOCK_NB);.fclo
14d280 73 65 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 se($this->handle);.$this->handle
14d2a0 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .=.null;.}.}.}.<?php...........n
14d2c0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 amespace.Symfony\Component\Finde
14d2e0 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 r\Adapter;..@trigger_error('The.
14d300 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 62 73 74 72 61 63 74 41 64 61 70 74 65 '.__NAMESPACE__.'\AbstractAdapte
14d320 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 r.class.is.deprecated.since.Symf
14d340 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 ony.2.8.and.will.be.removed.in.3
14d360 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 .0..Use.directly.the.Finder.clas
14d380 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b s.instead.',.E_USER_DEPRECATED);
14d3a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 .........abstract.class.Abstract
14d3c0 41 64 61 70 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 64 61 70 74 65 72 49 6e 74 65 72 66 Adapter.implements.AdapterInterf
14d3e0 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 ace.{.protected.$followLinks.=.f
14d400 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 6f 74 65 alse;.protected.$mode.=.0;.prote
14d420 63 74 65 64 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d cted.$minDepth.=.0;.protected.$m
14d440 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 70 72 6f 74 65 63 74 65 64 axDepth.=.PHP_INT_MAX;.protected
14d460 20 24 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 .$exclude.=.array();.protected.$
14d480 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 4e names.=.array();.protected.$notN
14d4a0 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 74 61 ames.=.array();.protected.$conta
14d4c0 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 43 6f 6e ins.=.array();.protected.$notCon
14d4e0 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 69 7a 65 tains.=.array();.protected.$size
14d500 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 61 74 65 73 20 3d 20 s.=.array();.protected.$dates.=.
14d520 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 array();.protected.$filters.=.ar
14d540 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a ray();.protected.$sort.=.false;.
14d560 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 protected.$paths.=.array();.prot
14d580 65 63 74 65 64 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 ected.$notPaths.=.array();.prote
14d5a0 63 74 65 64 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 66 61 6c cted.$ignoreUnreadableDirs.=.fal
14d5c0 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 72 65 53 75 70 70 6f 72 74 65 se;..private.static.$areSupporte
14d5e0 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e d.=.array();.....public.function
14d600 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e .isSupported().{.$name.=.$this->
14d620 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 getName();..if.(!array_key_exist
14d640 73 28 24 6e 61 6d 65 2c 20 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 29 29 20 7b s($name,.self::$areSupported)).{
14d660 0a 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 .self::$areSupported[$name].=.$t
14d680 68 69 73 2d 3e 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 his->canBeUsed();.}..return.self
14d6a0 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ::$areSupported[$name];.}.....pu
14d6c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f blic.function.setFollowLinks($fo
14d6e0 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 llowLinks).{.$this->followLinks.
14d700 3d 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d =.$followLinks;..return.$this;.}
14d720 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 6f 64 65 28 24 6d 6f .....public.function.setMode($mo
14d740 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 0a 72 65 74 75 de).{.$this->mode.=.$mode;..retu
14d760 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rn.$this;.}.....public.function.
14d780 73 65 74 44 65 70 74 68 73 28 61 72 72 61 79 20 24 64 65 70 74 68 73 29 0a 7b 0a 24 74 68 69 73 setDepths(array.$depths).{.$this
14d7a0 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 ->minDepth.=.0;.$this->maxDepth.
14d7c0 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 74 68 73 =.PHP_INT_MAX;..foreach.($depths
14d7e0 20 61 73 20 24 63 6f 6d 70 61 72 61 74 6f 72 29 20 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 6d 70 .as.$comparator).{.switch.($comp
14d800 61 72 61 74 6f 72 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3e arator->getOperator()).{.case.'>
14d820 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 ':.$this->minDepth.=.$comparator
14d840 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 ->getTarget().+.1;.break;.case.'
14d860 3e 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 >=':.$this->minDepth.=.$comparat
14d880 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 or->getTarget();.break;.case.'<'
14d8a0 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d :.$this->maxDepth.=.$comparator-
14d8c0 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c >getTarget().-.1;.break;.case.'<
14d8e0 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f =':.$this->maxDepth.=.$comparato
14d900 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a r->getTarget();.break;.default:.
14d920 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 $this->minDepth.=.$this->maxDept
14d940 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a h.=.$comparator->getTarget();.}.
14d960 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 }..return.$this;.}.....public.fu
14d980 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 6c 75 64 65 28 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 nction.setExclude(array.$exclude
14d9a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 24 65 78 63 6c 75 64 65 3b 0a 0a ).{.$this->exclude.=.$exclude;..
14d9c0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 return.$this;.}.....public.funct
14d9e0 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 61 6d 65 73 29 0a 7b 0a 24 74 68 ion.setNames(array.$names).{.$th
14da00 69 73 2d 3e 6e 61 6d 65 73 20 3d 20 24 6e 61 6d 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 is->names.=.$names;..return.$thi
14da20 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 4e s;.}.....public.function.setNotN
14da40 61 6d 65 73 28 61 72 72 61 79 20 24 6e 6f 74 4e 61 6d 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e ames(array.$notNames).{.$this->n
14da60 6f 74 4e 61 6d 65 73 20 3d 20 24 6e 6f 74 4e 61 6d 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 otNames.=.$notNames;..return.$th
14da80 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e is;.}.....public.function.setCon
14daa0 74 61 69 6e 73 28 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e tains(array.$contains).{.$this->
14dac0 63 6f 6e 74 61 69 6e 73 20 3d 20 24 63 6f 6e 74 61 69 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 contains.=.$contains;..return.$t
14dae0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f his;.}.....public.function.setNo
14db00 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 0a 7b 0a tContains(array.$notContains).{.
14db20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d 20 24 6e 6f 74 43 6f 6e 74 61 69 6e $this->notContains.=.$notContain
14db40 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 s;..return.$this;.}.....public.f
14db60 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a 65 73 28 61 72 72 61 79 20 24 73 69 7a 65 73 29 0a 7b unction.setSizes(array.$sizes).{
14db80 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 20 3d 20 24 73 69 7a 65 73 3b 0a 0a 72 65 74 75 72 6e 20 .$this->sizes.=.$sizes;..return.
14dba0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 $this;.}.....public.function.set
14dbc0 44 61 74 65 73 28 61 72 72 61 79 20 24 64 61 74 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 61 74 Dates(array.$dates).{.$this->dat
14dbe0 65 73 20 3d 20 24 64 61 74 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a es.=.$dates;..return.$this;.}...
14dc00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 ..public.function.setFilters(arr
14dc20 61 79 20 24 66 69 6c 74 65 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 3d 20 ay.$filters).{.$this->filters.=.
14dc40 24 66 69 6c 74 65 72 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 $filters;..return.$this;.}.....p
14dc60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 72 74 28 24 73 6f 72 74 29 0a 7b 0a ublic.function.setSort($sort).{.
14dc80 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 73 6f 72 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 $this->sort.=.$sort;..return.$th
14dca0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 74 is;.}.....public.function.setPat
14dcc0 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 73 20 3d h(array.$paths).{.$this->paths.=
14dce0 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .$paths;..return.$this;.}.....pu
14dd00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 50 61 74 68 28 61 72 72 61 79 20 24 blic.function.setNotPath(array.$
14dd20 6e 6f 74 50 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 20 3d 20 24 6e notPaths).{.$this->notPaths.=.$n
14dd40 6f 74 50 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 otPaths;..return.$this;.}.....pu
14dd60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 blic.function.ignoreUnreadableDi
14dd80 72 73 28 24 69 67 6e 6f 72 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f rs($ignore.=.true).{.$this->igno
14dda0 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 28 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 reUnreadableDirs.=.(bool).$ignor
14ddc0 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e;..return.$this;.}.............
14dde0 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 abstract.protected.function.canB
14de00 65 55 73 65 64 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 eUsed();.}.<?php...........names
14de20 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 pace.Symfony\Component\Finder\Ad
14de40 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f apter;..@trigger_error('The.'.__
14de60 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 NAMESPACE__.'\AbstractFindAdapte
14de80 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 r.class.is.deprecated.since.Symf
14dea0 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 ony.2.8.and.will.be.removed.in.3
14dec0 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 .0..Use.directly.the.Finder.clas
14dee0 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b s.instead.',.E_USER_DEPRECATED);
14df00 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 ..use.Symfony\Component\Finder\C
14df20 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 omparator\DateComparator;.use.Sy
14df40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f mfony\Component\Finder\Comparato
14df60 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c r\NumberComparator;.use.Symfony\
14df80 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 41 63 63 65 73 Component\Finder\Exception\Acces
14dfa0 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f sDeniedException;.use.Symfony\Co
14dfc0 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 mponent\Finder\Expression\Expres
14dfe0 73 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 sion;.use.Symfony\Component\Find
14e000 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 er\Iterator;.use.Symfony\Compone
14e020 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d nt\Finder\Shell\Command;.use.Sym
14e040 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c fony\Component\Finder\Shell\Shel
14e060 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 l;.........abstract.class.Abstra
14e080 63 74 46 69 6e 64 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 41 64 ctFindAdapter.extends.AbstractAd
14e0a0 61 70 74 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 68 65 6c 6c 3b 0a 0a 70 75 62 6c 69 apter.{.protected.$shell;..publi
14e0c0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 c.function.__construct().{.$this
14e0e0 2d 3e 73 68 65 6c 6c 20 3d 20 6e 65 77 20 53 68 65 6c 6c 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ->shell.=.new.Shell();.}.....pub
14e100 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 lic.function.searchInDirectory($
14e120 64 69 72 29 0a 7b 0a 0a 20 24 64 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 29 3b 0a dir).{...$dir.=.realpath($dir);.
14e140 0a 0a 20 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 ...if.(Iterator\FileTypeFilterIt
14e160 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 erator::ONLY_DIRECTORIES.===.$th
14e180 69 73 2d 3e 6d 6f 64 65 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 is->mode.&&.($this->contains.||.
14e1a0 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 $this->notContains)).{.return.ne
14e1c0 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 28 61 72 72 w.Iterator\FilePathsIterator(arr
14e1e0 61 79 28 29 2c 20 24 64 69 72 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 43 6f 6d 6d 61 ay(),.$dir);.}..$command.=.Comma
14e200 6e 64 3a 3a 63 72 65 61 74 65 28 29 3b 0a 24 66 69 6e 64 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 nd::create();.$find.=.$this->bui
14e220 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 3b 0a 0a ldFindCommand($command,.$dir);..
14e240 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 69 6e 64 2d if.($this->followLinks).{.$find-
14e260 3e 61 64 64 28 27 2d 66 6f 6c 6c 6f 77 27 29 3b 0a 7d 0a 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 >add('-follow');.}..$find->add('
14e280 2d 6d 69 6e 64 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 -mindepth')->add($this->minDepth
14e2a0 20 2b 20 31 29 3b 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 5f 4d 41 58 20 21 3d 3d 20 24 74 68 69 .+.1);..if.(PHP_INT_MAX.!==.$thi
14e2c0 73 2d 3e 6d 61 78 44 65 70 74 68 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 61 78 64 s->maxDepth).{.$find->add('-maxd
14e2e0 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 2b 20 31 29 epth')->add($this->maxDepth.+.1)
14e300 3b 0a 7d 0a 0a 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 ;.}..if.(Iterator\FileTypeFilter
14e320 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 Iterator::ONLY_DIRECTORIES.===.$
14e340 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 this->mode).{.$find->add('-type.
14e360 64 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 d');.}.elseif.(Iterator\FileType
14e380 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 24 FilterIterator::ONLY_FILES.===.$
14e3a0 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 this->mode).{.$find->add('-type.
14e3c0 66 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 f');.}..$this->buildNamesFilteri
14e3e0 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 29 3b 0a 24 74 68 69 73 2d 3e ng($find,.$this->names);.$this->
14e400 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 buildNamesFiltering($find,.$this
14e420 2d 3e 6e 6f 74 4e 61 6d 65 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 ->notNames,.true);.$this->buildP
14e440 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 64 69 72 2c 20 24 74 68 69 73 athsFiltering($find,.$dir,.$this
14e460 2d 3e 70 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 ->paths);.$this->buildPathsFilte
14e480 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 64 69 72 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 ring($find,.$dir,.$this->notPath
14e4a0 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 s,.true);.$this->buildSizesFilte
14e4c0 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 24 74 68 69 73 ring($find,.$this->sizes);.$this
14e4e0 2d 3e 62 75 69 6c 64 44 61 74 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 ->buildDatesFiltering($find,.$th
14e500 69 73 2d 3e 64 61 74 65 73 29 3b 0a 0a 24 75 73 65 47 72 65 70 20 3d 20 24 74 68 69 73 2d 3e 73 is->dates);..$useGrep.=.$this->s
14e520 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 67 72 65 70 27 29 20 26 26 20 24 74 68 hell->testCommand('grep').&&.$th
14e540 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 78 61 72 67 73 27 29 3b is->shell->testCommand('xargs');
14e560 0a 24 75 73 65 53 6f 72 74 20 3d 20 5c 69 73 5f 69 6e 74 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 .$useSort.=.\is_int($this->sort)
14e580 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 73 .&&.$this->shell->testCommand('s
14e5a0 6f 72 74 27 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 ort').&&.$this->shell->testComma
14e5c0 6e 64 28 27 63 75 74 27 29 3b 0a 0a 69 66 20 28 24 75 73 65 47 72 65 70 20 26 26 20 28 24 74 68 nd('cut');..if.($useGrep.&&.($th
14e5e0 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 is->contains.||.$this->notContai
14e600 6e 73 29 29 20 7b 0a 24 67 72 65 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 27 67 72 ns)).{.$grep.=.$command->ins('gr
14e620 65 70 27 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 ep');.$this->buildContentFilteri
14e640 6e 67 28 24 67 72 65 70 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 29 3b 0a 24 74 68 69 ng($grep,.$this->contains);.$thi
14e660 73 2d 3e 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 24 67 72 65 70 2c 20 s->buildContentFiltering($grep,.
14e680 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 $this->notContains,.true);.}..if
14e6a0 20 28 24 75 73 65 53 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 72 74 69 6e .($useSort).{.$this->buildSortin
14e6c0 67 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 7d 0a 0a 24 63 6f g($command,.$this->sort);.}..$co
14e6e0 6d 6d 61 6e 64 2d 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 0a 24 74 68 69 73 2d 3e 69 mmand->setErrorHandler(.$this->i
14e700 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 0a 0a 20 3f 20 66 75 6e 63 74 69 6f 6e gnoreUnreadableDirs...?.function
14e720 20 28 24 73 74 64 65 72 72 29 20 7b 20 7d 0a 3a 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 74 64 65 .($stderr).{.}.:.function.($stde
14e740 72 72 29 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 rr).{.throw.new.AccessDeniedExce
14e760 70 74 69 6f 6e 28 24 73 74 64 65 72 72 29 3b 20 7d 0a 29 3b 0a 0a 24 70 61 74 68 73 20 3d 20 24 ption($stderr);.}.);..$paths.=.$
14e780 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 75 6e 69 71 27 29 this->shell->testCommand('uniq')
14e7a0 20 3f 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 7c 20 75 6e 69 71 27 29 2d 3e 65 78 65 63 .?.$command->add('|.uniq')->exec
14e7c0 75 74 65 28 29 20 3a 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6f 6d 6d 61 6e 64 2d 3e 65 ute().:.array_unique($command->e
14e7e0 78 65 63 75 74 65 28 29 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 xecute());.$iterator.=.new.Itera
14e800 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 28 24 70 61 74 68 73 2c 20 24 64 tor\FilePathsIterator($paths,.$d
14e820 69 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 ir);..if.($this->exclude).{.$ite
14e840 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 rator.=.new.Iterator\ExcludeDire
14e860 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 ctoryFilterIterator($iterator,.$
14e880 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 73 65 47 72 65 70 this->exclude);.}..if.(!$useGrep
14e8a0 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e .&&.($this->contains.||.$this->n
14e8c0 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 otContains)).{.$iterator.=.new.I
14e8e0 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f terator\FilecontentFilterIterato
14e900 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 r($iterator,.$this->contains,.$t
14e920 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d his->notContains);.}..if.($this-
14e940 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 >filters).{.$iterator.=.new.Iter
14e960 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 ator\CustomFilterIterator($itera
14e980 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 tor,.$this->filters);.}..if.(!$u
14e9a0 73 65 53 6f 72 74 20 26 26 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 seSort.&&.$this->sort).{.$iterat
14e9c0 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 orAggregate.=.new.Iterator\Sorta
14e9e0 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f bleIterator($iterator,.$this->so
14ea00 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 rt);.$iterator.=.$iteratorAggreg
14ea20 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 ate->getIterator();.}..return.$i
14ea40 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f terator;.}.....protected.functio
14ea60 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 n.canBeUsed().{.return.$this->sh
14ea80 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 66 69 6e 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a ell->testCommand('find');.}.....
14eaa0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 ...protected.function.buildFindC
14eac0 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b ommand(Command.$command,.$dir).{
14eae0 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 69 6e 73 28 27 66 69 6e 64 27 29 0a 2d .return.$command.->ins('find').-
14eb00 3e 61 64 64 28 27 66 69 6e 64 20 27 29 0a 2d 3e 61 72 67 28 24 64 69 72 29 0a 2d 3e 61 64 64 28 >add('find.').->arg($dir).->add(
14eb20 27 2d 6e 6f 6c 65 61 66 27 29 3b 20 0a 20 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 '-noleaf');...}.......private.fu
14eb40 6e 63 74 69 6f 6e 20 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 nction.buildNamesFiltering(Comma
14eb60 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6e 61 6d 65 73 2c 20 24 6e 6f 74 20 nd.$command,.array.$names,.$not.
14eb80 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 6e 61 6d =.false).{.if.(0.===.\count($nam
14eba0 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 es)).{.return;.}..$command->add(
14ebc0 24 6e 6f 74 20 3f 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c 29 2d 3e 63 6d 64 28 27 28 27 29 3b $not.?.'-not'.:.null)->cmd('(');
14ebe0 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 69 20 3d 3e 20 24 6e 61 6d 65 ..foreach.($names.as.$i.=>.$name
14ec00 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 ).{.$expr.=.Expression::create($
14ec20 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 47 6c 6f 62 28 29 20 26 26 name);....if.($expr->isGlob().&&
14ec40 20 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 73 45 78 70 61 6e 64 61 62 6c 65 28 .$expr->getGlob()->isExpandable(
14ec60 29 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 )).{.$expr.=.Expression::create(
14ec80 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f 52 65 67 65 78 28 66 61 6c 73 65 29 $expr->getGlob()->toRegex(false)
14eca0 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 );.}........if.($expr->isRegex()
14ecc0 29 20 7b 0a 24 72 65 67 65 78 20 3d 20 24 65 78 70 72 2d 3e 67 65 74 52 65 67 65 78 28 29 3b 0a ).{.$regex.=.$expr->getRegex();.
14ece0 24 72 65 67 65 78 2d 3e 70 72 65 70 65 6e 64 28 24 72 65 67 65 78 2d 3e 68 61 73 53 74 61 72 74 $regex->prepend($regex->hasStart
14ed00 46 6c 61 67 28 29 20 3f 20 27 2f 27 20 3a 20 27 2f 5b 5e 2f 5d 2a 27 29 0a 2d 3e 73 65 74 53 74 Flag().?.'/'.:.'/[^/]*').->setSt
14ed20 61 72 74 46 6c 61 67 28 66 61 6c 73 65 29 0a 2d 3e 73 65 74 53 74 61 72 74 4a 6f 6b 65 72 28 74 artFlag(false).->setStartJoker(t
14ed40 72 75 65 29 0a 2d 3e 72 65 70 6c 61 63 65 4a 6f 6b 65 72 73 28 27 5b 5e 2f 5d 27 29 3b 0a 69 66 rue).->replaceJokers('[^/]');.if
14ed60 20 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 67 28 29 20 7c 7c 20 24 72 65 67 65 .(!$regex->hasEndFlag().||.$rege
14ed80 78 2d 3e 68 61 73 45 6e 64 4a 6f 6b 65 72 28 29 29 20 7b 0a 24 72 65 67 65 78 2d 3e 73 65 74 45 x->hasEndJoker()).{.$regex->setE
14eda0 6e 64 4a 6f 6b 65 72 28 66 61 6c 73 65 29 2d 3e 61 70 70 65 6e 64 28 27 5b 5e 2f 5d 2a 27 29 3b ndJoker(false)->append('[^/]*');
14edc0 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d .}.}..$command.->add($i.>.0.?.'-
14ede0 6f 72 27 20 3a 20 6e 75 6c 6c 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 or'.:.null).->add($expr->isRegex
14ee00 28 29 0a 3f 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f ().?.($expr->isCaseSensitive().?
14ee20 20 27 2d 72 65 67 65 78 27 20 3a 20 27 2d 69 72 65 67 65 78 27 29 0a 3a 20 28 24 65 78 70 72 2d .'-regex'.:.'-iregex').:.($expr-
14ee40 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 6e 61 6d 65 27 20 3a 20 27 >isCaseSensitive().?.'-name'.:.'
14ee60 2d 69 6e 61 6d 65 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 -iname').).->arg($expr->renderPa
14ee80 74 74 65 72 6e 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 63 6d 64 28 27 29 27 29 3b ttern());.}..$command->cmd(')');
14eea0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 .}........private.function.build
14eec0 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c PathsFiltering(Command.$command,
14eee0 20 24 64 69 72 2c 20 61 72 72 61 79 20 24 70 61 74 68 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 .$dir,.array.$paths,.$not.=.fals
14ef00 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 70 61 74 68 73 29 29 20 7b e).{.if.(0.===.\count($paths)).{
14ef20 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 6e 6f 74 20 3f .return;.}..$command->add($not.?
14ef40 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c 29 2d 3e 63 6d 64 28 27 28 27 29 3b 0a 0a 66 6f 72 65 .'-not'.:.null)->cmd('(');..fore
14ef60 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 69 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 65 ach.($paths.as.$i.=>.$path).{.$e
14ef80 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 70 61 74 68 29 3b xpr.=.Expression::create($path);
14efa0 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 47 6c 6f 62 28 29 20 26 26 20 24 65 78 70 72 ....if.($expr->isGlob().&&.$expr
14efc0 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 ->getGlob()->isExpandable()).{.$
14efe0 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 2d expr.=.Expression::create($expr-
14f000 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f 52 65 67 65 78 28 66 61 6c 73 65 29 29 3b 0a 7d 0a 0a >getGlob()->toRegex(false));.}..
14f020 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 29 20 7b 0a 24 72 65 67 65 78 ..if.($expr->isRegex()).{.$regex
14f040 20 3d 20 24 65 78 70 72 2d 3e 67 65 74 52 65 67 65 78 28 29 3b 0a 24 72 65 67 65 78 2d 3e 70 72 .=.$expr->getRegex();.$regex->pr
14f060 65 70 65 6e 64 28 24 72 65 67 65 78 2d 3e 68 61 73 53 74 61 72 74 46 6c 61 67 28 29 20 3f 20 70 epend($regex->hasStartFlag().?.p
14f080 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 29 2e 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 reg_quote($dir).\DIRECTORY_SEPAR
14f0a0 41 54 4f 52 20 3a 20 27 2e 2a 27 29 2d 3e 73 65 74 45 6e 64 4a 6f 6b 65 72 28 21 24 72 65 67 65 ATOR.:.'.*')->setEndJoker(!$rege
14f0c0 78 2d 3e 68 61 73 45 6e 64 46 6c 61 67 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 70 72 x->hasEndFlag());.}.else.{.$expr
14f0e0 2d 3e 70 72 65 70 65 6e 64 28 27 2a 27 29 2d 3e 61 70 70 65 6e 64 28 27 2a 27 29 3b 0a 7d 0a 0a ->prepend('*')->append('*');.}..
14f100 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 6f 72 27 20 3a 20 $command.->add($i.>.0.?.'-or'.:.
14f120 6e 75 6c 6c 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 0a 3f 20 28 null).->add($expr->isRegex().?.(
14f140 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 72 65 67 $expr->isCaseSensitive().?.'-reg
14f160 65 78 27 20 3a 20 27 2d 69 72 65 67 65 78 27 29 0a 3a 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 ex'.:.'-iregex').:.($expr->isCas
14f180 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 70 61 74 68 27 20 3a 20 27 2d 69 70 61 74 68 eSensitive().?.'-path'.:.'-ipath
14f1a0 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 ').).->arg($expr->renderPattern(
14f1c0 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 63 6d 64 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a ));.}..$command->cmd(')');.}....
14f1e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 69 7a 65 73 46 69 6c ..private.function.buildSizesFil
14f200 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 tering(Command.$command,.array.$
14f220 73 69 7a 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 69 7a 65 73 20 61 73 20 24 69 20 3d sizes).{.foreach.($sizes.as.$i.=
14f240 3e 20 24 73 69 7a 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 >.$size).{.$command->add($i.>.0.
14f260 3f 20 27 2d 61 6e 64 27 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 73 69 7a 65 ?.'-and'.:.null);..switch.($size
14f280 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 63 ->getOperator()).{.case.'<=':.$c
14f2a0 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d 27 2e 28 24 73 69 7a 65 2d 3e 67 65 ommand->add('-size.-'.($size->ge
14f2c0 74 54 61 72 67 65 74 28 29 20 2b 20 31 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 tTarget().+.1).'c');.break;.case
14f2e0 20 27 3e 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 28 .'>=':.$command->add('-size.+'.(
14f300 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 31 29 2e 27 63 27 29 3b 0a 62 72 $size->getTarget().-.1).'c');.br
14f320 65 61 6b 3b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 eak;.case.'>':.$command->add('-s
14f340 69 7a 65 20 2b 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a ize.+'.$size->getTarget().'c');.
14f360 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 break;.case.'!=':.$command->add(
14f380 27 2d 73 69 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 '-size.-'.$size->getTarget().'c'
14f3a0 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 24 73 69 7a 65 );.$command->add('-size.+'.$size
14f3c0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 ->getTarget().'c');.break;.case.
14f3e0 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 '<':.default:.$command->add('-si
14f400 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 7d ze.-'.$size->getTarget().'c');.}
14f420 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 .}.}......private.function.build
14f440 44 61 74 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c DatesFiltering(Command.$command,
14f460 20 61 72 72 61 79 20 24 64 61 74 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 65 73 .array.$dates).{.foreach.($dates
14f480 20 61 73 20 24 69 20 3d 3e 20 24 64 61 74 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 .as.$i.=>.$date).{.$command->add
14f4a0 28 24 69 20 3e 20 30 20 3f 20 27 2d 61 6e 64 27 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 24 6d 69 6e 73 ($i.>.0.?.'-and'.:.null);..$mins
14f4c0 20 3d 20 28 69 6e 74 29 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 24 64 61 74 65 2d 3e .=.(int).round((time().-.$date->
14f4e0 67 65 74 54 61 72 67 65 74 28 29 29 20 2f 20 36 30 29 3b 0a 0a 69 66 20 28 30 20 3e 20 24 6d 69 getTarget())./.60);..if.(0.>.$mi
14f500 6e 73 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 20 2d 6d 6d 69 6e 20 2d 30 ns).{...$command->add('.-mmin.-0
14f520 27 29 3b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 64 61 74 65 2d 3e ');...return;.}..switch.($date->
14f540 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d getOperator()).{.case.'<=':.$com
14f560 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 2e 28 24 6d 69 6e 73 20 2d 20 31 29 29 mand->add('-mmin.+'.($mins.-.1))
14f580 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 ;.break;.case.'>=':.$command->ad
14f5a0 64 28 27 2d 6d 6d 69 6e 20 2d 27 2e 28 24 6d 69 6e 73 20 2b 20 31 29 29 3b 0a 62 72 65 61 6b 3b d('-mmin.-'.($mins.+.1));.break;
14f5c0 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 .case.'>':.$command->add('-mmin.
14f5e0 2d 27 2e 24 6d 69 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 24 63 6f -'.$mins);.break;.case.'!=':.$co
14f600 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 2e 24 6d 69 6e 73 2e 27 20 2d 6f 72 mmand->add('-mmin.+'.$mins.'.-or
14f620 20 2d 6d 6d 69 6e 20 2d 27 2e 24 6d 69 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c .-mmin.-'.$mins);.break;.case.'<
14f640 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e ':.default:.$command->add('-mmin
14f660 20 2b 27 2e 24 6d 69 6e 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 .+'.$mins);.}.}.}........private
14f680 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 6f 72 74 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 .function.buildSorting(Command.$
14f6a0 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 46 6f command,.$sort).{.$this->buildFo
14f6c0 72 6d 61 74 53 6f 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 3b 0a 7d 0a rmatSorting($command,.$sort);.}.
14f6e0 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .....abstract.protected.function
14f700 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d .buildFormatSorting(Command.$com
14f720 6d 61 6e 64 2c 20 24 73 6f 72 74 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f mand,.$sort);.......abstract.pro
14f740 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 tected.function.buildContentFilt
14f760 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 63 ering(Command.$command,.array.$c
14f780 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a ontains,.$not.=.false);.}.<?php.
14f7a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
14f7c0 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 onent\Finder\Adapter;.......inte
14f7e0 72 66 61 63 65 20 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 rface.AdapterInterface.{......pu
14f800 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f blic.function.setFollowLinks($fo
14f820 6c 6c 6f 77 4c 69 6e 6b 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f llowLinks);.......public.functio
14f840 6e 20 73 65 74 4d 6f 64 65 28 24 6d 6f 64 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n.setMode($mode);.....public.fun
14f860 63 74 69 6f 6e 20 73 65 74 45 78 63 6c 75 64 65 28 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 29 ction.setExclude(array.$exclude)
14f880 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 70 74 68 73 28 ;.....public.function.setDepths(
14f8a0 61 72 72 61 79 20 24 64 65 70 74 68 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 array.$depths);.....public.funct
14f8c0 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a ion.setNames(array.$names);.....
14f8e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 4e 61 6d 65 73 28 61 72 72 61 public.function.setNotNames(arra
14f900 79 20 24 6e 6f 74 4e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f y.$notNames);.....public.functio
14f920 6e 20 73 65 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 29 3b 0a n.setContains(array.$contains);.
14f940 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 43 6f 6e 74 61 69 ....public.function.setNotContai
14f960 6e 73 28 61 72 72 61 79 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c ns(array.$notContains);.....publ
14f980 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a 65 73 28 61 72 72 61 79 20 24 73 69 7a 65 ic.function.setSizes(array.$size
14f9a0 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 61 74 65 73 s);.....public.function.setDates
14f9c0 28 61 72 72 61 79 20 24 64 61 74 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 (array.$dates);.....public.funct
14f9e0 69 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 61 79 20 24 66 69 6c 74 65 72 73 29 3b 0a ion.setFilters(array.$filters);.
14fa00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 72 74 28 24 73 ......public.function.setSort($s
14fa20 6f 72 74 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 74 ort);.....public.function.setPat
14fa40 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 h(array.$paths);.....public.func
14fa60 74 69 6f 6e 20 73 65 74 4e 6f 74 50 61 74 68 28 61 72 72 61 79 20 24 6e 6f 74 50 61 74 68 73 29 tion.setNotPath(array.$notPaths)
14fa80 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 55 6e ;.......public.function.ignoreUn
14faa0 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d 20 74 72 75 65 29 3b 0a 0a 0a readableDirs($ignore.=.true);...
14fac0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 ....public.function.searchInDire
14fae0 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ctory($dir);.......public.functi
14fb00 6f 6e 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 on.isSupported();.......public.f
14fb20 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a unction.getName();.}.<?php......
14fb40 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
14fb60 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 \Finder\Adapter;..@trigger_error
14fb80 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 42 73 64 46 69 6e 64 41 ('The.'.__NAMESPACE__.'\BsdFindA
14fba0 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 dapter.class.is.deprecated.since
14fbc0 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 .Symfony.2.8.and.will.be.removed
14fbe0 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 .in.3.0..Use.directly.the.Finder
14fc00 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 .class.instead.',.E_USER_DEPRECA
14fc20 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e TED);..use.Symfony\Component\Fin
14fc40 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 75 73 65 20 53 der\Expression\Expression;.use.S
14fc60 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 ymfony\Component\Finder\Iterator
14fc80 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 \SortableIterator;.use.Symfony\C
14fca0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 omponent\Finder\Shell\Command;.u
14fcc0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c se.Symfony\Component\Finder\Shel
14fce0 6c 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 73 64 46 69 6e 64 41 64 l\Shell;.........class.BsdFindAd
14fd00 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 apter.extends.AbstractFindAdapte
14fd20 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 r.{....public.function.getName()
14fd40 0a 7b 0a 72 65 74 75 72 6e 20 27 62 73 64 5f 66 69 6e 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 .{.return.'bsd_find';.}.....prot
14fd60 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 ected.function.canBeUsed().{.ret
14fd80 75 72 6e 20 5c 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 urn.\in_array($this->shell->getT
14fda0 79 70 65 28 29 2c 20 61 72 72 61 79 28 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 42 53 44 2c 20 53 68 ype(),.array(Shell::TYPE_BSD,.Sh
14fdc0 65 6c 6c 3a 3a 54 59 50 45 5f 44 41 52 57 49 4e 29 29 20 26 26 20 70 61 72 65 6e 74 3a 3a 63 61 ell::TYPE_DARWIN)).&&.parent::ca
14fde0 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 nBeUsed();.}.....protected.funct
14fe00 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 ion.buildFormatSorting(Command.$
14fe20 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 73 6f 72 74 29 command,.$sort).{.switch.($sort)
14fe40 20 7b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 .{.case.SortableIterator::SORT_B
14fe60 59 5f 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 27 73 6f 72 74 27 29 2d 3e 61 Y_NAME:.$command->ins('sort')->a
14fe80 64 64 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 63 61 73 65 20 53 6f 72 74 dd('|.sort');..return;.case.Sort
14fea0 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 45 3a 0a 24 66 6f 72 ableIterator::SORT_BY_TYPE:.$for
14fec0 6d 61 74 20 3d 20 27 25 48 54 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c mat.=.'%HT';.break;.case.Sortabl
14fee0 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 eIterator::SORT_BY_ACCESSED_TIME
14ff00 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 61 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f :.$format.=.'%a';.break;.case.So
14ff20 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f rtableIterator::SORT_BY_CHANGED_
14ff40 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 63 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 TIME:.$format.=.'%c';.break;.cas
14ff60 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 e.SortableIterator::SORT_BY_MODI
14ff80 46 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 6d 27 3b 0a 62 72 65 61 6b FIED_TIME:.$format.=.'%m';.break
14ffa0 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 ;.default:.throw.new.\InvalidArg
14ffc0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 umentException(sprintf('Unknown.
14ffe0 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c 20 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a sort.options:.%s.',.$sort));.}..
150000 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 2d 70 72 69 6e 74 30 20 7c 20 78 61 72 67 73 20 $command.->add('-print0.|.xargs.
150020 2d 30 20 73 74 61 74 20 2d 66 27 29 0a 2d 3e 61 72 67 28 24 66 6f 72 6d 61 74 2e 27 25 74 25 4e -0.stat.-f').->arg($format.'%t%N
150040 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 63 75 74 20 2d 66 20 32 27 29 3b 0a 7d ').->add('|.sort.|.cut.-f.2');.}
150060 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e .....protected.function.buildFin
150080 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 dCommand(Command.$command,.$dir)
1500a0 0a 7b 0a 70 61 72 65 6e 74 3a 3a 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d .{.parent::buildFindCommand($com
1500c0 6d 61 6e 64 2c 20 24 64 69 72 29 2d 3e 61 64 64 41 74 49 6e 64 65 78 28 27 2d 45 27 2c 20 31 29 mand,.$dir)->addAtIndex('-E',.1)
1500e0 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ;..return.$command;.}.....protec
150100 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 ted.function.buildContentFilteri
150120 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 ng(Command.$command,.array.$cont
150140 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 ains,.$not.=.false).{.foreach.($
150160 63 6f 6e 74 61 69 6e 73 20 61 73 20 24 63 6f 6e 74 61 69 6e 29 20 7b 0a 24 65 78 70 72 20 3d 20 contains.as.$contain).{.$expr.=.
150180 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a Expression::create($contain);...
1501a0 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 7c 20 67 72 65 70 20 2d 76 20 5c 27 5e 24 5c .$command.->add('|.grep.-v.\'^$\
1501c0 27 27 29 0a 2d 3e 61 64 64 28 27 7c 20 78 61 72 67 73 20 2d 49 7b 7d 20 67 72 65 70 20 2d 49 27 '').->add('|.xargs.-I{}.grep.-I'
1501e0 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 ).->add($expr->isCaseSensitive()
150200 20 3f 20 6e 75 6c 6c 20 3a 20 27 2d 69 27 29 0a 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 4c .?.null.:.'-i').->add($not.?.'-L
150220 27 20 3a 20 27 2d 6c 27 29 0a 2d 3e 61 64 64 28 27 2d 45 65 27 29 2d 3e 61 72 67 28 24 65 78 70 '.:.'-l').->add('-Ee')->arg($exp
150240 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 0a 2d 3e 61 64 64 28 27 7b 7d 27 29 0a r->renderPattern()).->add('{}').
150260 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ;.}.}.}.<?php...........namespac
150280 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 e.Symfony\Component\Finder\Adapt
1502a0 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d er;..@trigger_error('The.'.__NAM
1502c0 45 53 50 41 43 45 5f 5f 2e 27 5c 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 ESPACE__.'\GnuFindAdapter.class.
1502e0 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 is.deprecated.since.Symfony.2.8.
150300 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 and.will.be.removed.in.3.0..Use.
150320 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 directly.the.Finder.class.instea
150340 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 d.',.E_USER_DEPRECATED);..use.Sy
150360 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f mfony\Component\Finder\Expressio
150380 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e n\Expression;.use.Symfony\Compon
1503a0 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 ent\Finder\Iterator\SortableIter
1503c0 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 ator;.use.Symfony\Component\Find
1503e0 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f er\Shell\Command;.use.Symfony\Co
150400 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a mponent\Finder\Shell\Shell;.....
150420 0a 0a 0a 0a 63 6c 61 73 73 20 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 ....class.GnuFindAdapter.extends
150440 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 .AbstractFindAdapter.{....public
150460 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 6e .function.getName().{.return.'gn
150480 75 5f 66 69 6e 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f u_find';.}.....protected.functio
1504a0 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f n.buildFormatSorting(Command.$co
1504c0 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 73 6f 72 74 29 20 7b mmand,.$sort).{.switch.($sort).{
1504e0 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f .case.SortableIterator::SORT_BY_
150500 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 27 73 6f 72 74 27 29 2d 3e 61 64 64 NAME:.$command->ins('sort')->add
150520 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 ('|.sort');..return;.case.Sortab
150540 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 45 3a 0a 24 66 6f 72 6d 61 leIterator::SORT_BY_TYPE:.$forma
150560 74 20 3d 20 27 25 79 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 t.=.'%y';.break;.case.SortableIt
150580 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 3a 0a 24 erator::SORT_BY_ACCESSED_TIME:.$
1505a0 66 6f 72 6d 61 74 20 3d 20 27 25 41 40 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 format.=.'%A@';.break;.case.Sort
1505c0 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 ableIterator::SORT_BY_CHANGED_TI
1505e0 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 43 40 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 ME:.$format.=.'%C@';.break;.case
150600 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 .SortableIterator::SORT_BY_MODIF
150620 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 54 40 27 3b 0a 62 72 65 61 6b IED_TIME:.$format.=.'%T@';.break
150640 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 ;.default:.throw.new.\InvalidArg
150660 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 umentException(sprintf('Unknown.
150680 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c 20 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a sort.options:.%s.',.$sort));.}..
1506a0 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 67 65 74 28 27 66 69 6e 64 27 29 0a 2d 3e 61 64 64 28 27 2d 70 $command.->get('find').->add('-p
1506c0 72 69 6e 74 66 27 29 0a 2d 3e 61 72 67 28 24 66 6f 72 6d 61 74 2e 27 20 25 68 2f 25 66 5c 5c 6e rintf').->arg($format.'.%h/%f\\n
1506e0 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 63 75 74 27 29 0a 2d 3e 61 72 67 28 27 ').->add('|.sort.|.cut').->arg('
150700 2d 64 20 27 29 0a 2d 3e 61 72 67 28 27 2d 66 32 2d 27 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 -d.').->arg('-f2-').;.}.....prot
150720 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 ected.function.canBeUsed().{.ret
150740 75 72 6e 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 55 4e 49 58 20 3d 3d 3d 20 24 74 68 69 73 2d 3e urn.Shell::TYPE_UNIX.===.$this->
150760 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 29 20 26 26 20 70 61 72 65 6e 74 3a 3a 63 61 6e 42 shell->getType().&&.parent::canB
150780 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f eUsed();.}.....protected.functio
1507a0 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d n.buildFindCommand(Command.$comm
1507c0 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 62 75 69 6c and,.$dir).{.return.parent::buil
1507e0 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 2d 3e 61 64 dFindCommand($command,.$dir)->ad
150800 64 28 27 2d 72 65 67 65 78 74 79 70 65 20 70 6f 73 69 78 2d 65 78 74 65 6e 64 65 64 27 29 3b 0a d('-regextype.posix-extended');.
150820 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f }.....protected.function.buildCo
150840 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c ntentFiltering(Command.$command,
150860 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a .array.$contains,.$not.=.false).
150880 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 61 69 6e 73 20 61 73 20 24 63 6f 6e 74 61 69 6e {.foreach.($contains.as.$contain
1508a0 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 ).{.$expr.=.Expression::create($
1508c0 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 7c 20 78 contain);....$command.->add('|.x
1508e0 61 72 67 73 20 2d 49 7b 7d 20 2d 72 20 67 72 65 70 20 2d 49 27 29 0a 2d 3e 61 64 64 28 24 65 78 args.-I{}.-r.grep.-I').->add($ex
150900 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 6e 75 6c 6c 20 3a 20 27 pr->isCaseSensitive().?.null.:.'
150920 2d 69 27 29 0a 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 4c 27 20 3a 20 27 2d 6c 27 29 0a 2d -i').->add($not.?.'-L'.:.'-l').-
150940 3e 61 64 64 28 27 2d 45 65 27 29 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 >add('-Ee')->arg($expr->renderPa
150960 74 74 65 72 6e 28 29 29 0a 2d 3e 61 64 64 28 27 7b 7d 27 29 0a 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 ttern()).->add('{}').;.}.}.}.<?p
150980 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
1509a0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 omponent\Finder\Adapter;..@trigg
1509c0 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c er_error('The.'.__NAMESPACE__.'\
1509e0 50 68 70 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 PhpAdapter.class.is.deprecated.s
150a00 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d ince.Symfony.2.8.and.will.be.rem
150a20 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 oved.in.3.0..Use.directly.the.Fi
150a40 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 nder.class.instead.',.E_USER_DEP
150a60 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 RECATED);..use.Symfony\Component
150a80 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 \Finder\Iterator;.........class.
150aa0 50 68 70 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 PhpAdapter.extends.AbstractAdapt
150ac0 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e er.{....public.function.searchIn
150ae0 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 24 66 6c 61 67 73 20 3d 20 5c 52 65 63 75 Directory($dir).{.$flags.=.\Recu
150b00 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 rsiveDirectoryIterator::SKIP_DOT
150b20 53 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 S;..if.($this->followLinks).{.$f
150b40 6c 61 67 73 20 7c 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 lags.|=.\RecursiveDirectoryItera
150b60 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 tor::FOLLOW_SYMLINKS;.}..$iterat
150b80 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 or.=.new.Iterator\RecursiveDirec
150ba0 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 66 6c 61 67 73 2c 20 24 74 68 69 73 toryIterator($dir,.$flags,.$this
150bc0 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 29 3b 0a 0a 69 66 20 28 24 74 ->ignoreUnreadableDirs);..if.($t
150be0 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 his->exclude).{.$iterator.=.new.
150c00 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 Iterator\ExcludeDirectoryFilterI
150c20 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 terator($iterator,.$this->exclud
150c40 65 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 e);.}..$iterator.=.new.\Recursiv
150c60 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 5c 52 65 eIteratorIterator($iterator,.\Re
150c80 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 cursiveIteratorIterator::SELF_FI
150ca0 52 53 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3e 20 30 20 7c RST);..if.($this->minDepth.>.0.|
150cc0 7c 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3c 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 |.$this->maxDepth.<.PHP_INT_MAX)
150ce0 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 65 70 74 .{.$iterator.=.new.Iterator\Dept
150d00 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 hRangeFilterIterator($iterator,.
150d20 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 2c 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 $this->minDepth,.$this->maxDepth
150d40 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 69 74 65 72 61 74 );.}..if.($this->mode).{.$iterat
150d60 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 or.=.new.Iterator\FileTypeFilter
150d80 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 Iterator($iterator,.$this->mode)
150da0 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e ;.}..if.($this->names.||.$this->
150dc0 6e 6f 74 4e 61 6d 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 notNames).{.$iterator.=.new.Iter
150de0 61 74 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 ator\FilenameFilterIterator($ite
150e00 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e rator,.$this->names,.$this->notN
150e20 61 6d 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c ames);.}..if.($this->contains.||
150e40 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 .$this->notContains).{.$iterator
150e60 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 .=.new.Iterator\FilecontentFilte
150e80 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 rIterator($iterator,.$this->cont
150ea0 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 ains,.$this->notContains);.}..if
150ec0 20 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 .($this->sizes).{.$iterator.=.ne
150ee0 77 20 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 w.Iterator\SizeRangeFilterIterat
150f00 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a or($iterator,.$this->sizes);.}..
150f20 69 66 20 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 if.($this->dates).{.$iterator.=.
150f40 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 new.Iterator\DateRangeFilterIter
150f60 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 7d ator($iterator,.$this->dates);.}
150f80 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f ..if.($this->filters).{.$iterato
150fa0 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 r.=.new.Iterator\CustomFilterIte
150fc0 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 rator($iterator,.$this->filters)
150fe0 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 74 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e ;.}..if.($this->paths.||.$this->
151000 6e 6f 74 50 61 74 68 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 notPaths).{.$iterator.=.new.Iter
151020 61 74 6f 72 5c 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f ator\PathFilterIterator($iterato
151040 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 r,.$this->paths,.$this->notPaths
151060 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 );.}..if.($this->sort).{.$iterat
151080 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 orAggregate.=.new.Iterator\Sorta
1510a0 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f bleIterator($iterator,.$this->so
1510c0 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 rt);.$iterator.=.$iteratorAggreg
1510e0 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 ate->getIterator();.}..return.$i
151100 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 terator;.}.....public.function.g
151120 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 68 70 27 3b 0a 7d 0a 0a 0a 0a 0a 70 etName().{.return.'php';.}.....p
151140 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a rotected.function.canBeUsed().{.
151160 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a return.true;.}.}.<?php..........
151180 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
1511a0 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 der\Comparator;.......class.Comp
1511c0 61 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 61 72 67 65 74 3b 0a 70 72 69 76 61 74 arator.{.private.$target;.privat
1511e0 65 20 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3d 3d 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 e.$operator.=.'==';.......public
151200 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 .function.getTarget().{.return.$
151220 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e this->target;.}.......public.fun
151240 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 74 28 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 ction.setTarget($target).{.$this
151260 2d 3e 74 61 72 67 65 74 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ->target.=.$target;.}.......publ
151280 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 ic.function.getOperator().{.retu
1512a0 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 rn.$this->operator;.}.........pu
1512c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 65 72 61 74 6f 72 28 24 6f 70 65 72 61 blic.function.setOperator($opera
1512e0 74 6f 72 29 0a 7b 0a 69 66 20 28 21 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 61 74 tor).{.if.(!$operator).{.$operat
151300 6f 72 20 3d 20 27 3d 3d 27 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 6e 5f 61 72 72 61 79 28 24 6f 70 or.=.'==';.}..if.(!\in_array($op
151320 65 72 61 74 6f 72 2c 20 61 72 72 61 79 28 27 3e 27 2c 20 27 3c 27 2c 20 27 3e 3d 27 2c 20 27 3c erator,.array('>',.'<',.'>=',.'<
151340 3d 27 2c 20 27 3d 3d 27 2c 20 27 21 3d 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 =',.'==',.'!='))).{.throw.new.\I
151360 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 nvalidArgumentException(sprintf(
151380 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 2e 27 2c 20 24 6f 70 65 72 61 'Invalid.operator."%s".',.$opera
1513a0 74 6f 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 3d 20 24 6f 70 65 tor));.}..$this->operator.=.$ope
1513c0 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rator;.}.........public.function
1513e0 20 74 65 73 74 28 24 74 65 73 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 .test($test).{.switch.($this->op
151400 65 72 61 74 6f 72 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 erator).{.case.'>':.return.$test
151420 20 3e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 72 65 74 .>.$this->target;.case.'>=':.ret
151440 75 72 6e 20 24 74 65 73 74 20 3e 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 urn.$test.>=.$this->target;.case
151460 20 27 3c 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3c 20 24 74 68 69 73 2d 3e 74 61 72 67 .'<':.return.$test.<.$this->targ
151480 65 74 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3c 3d 20 24 et;.case.'<=':.return.$test.<=.$
1514a0 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 72 65 74 75 72 6e 20 this->target;.case.'!=':.return.
1514c0 24 74 65 73 74 20 21 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 72 65 74 75 72 $test.!=.$this->target;.}..retur
1514e0 6e 20 24 74 65 73 74 20 3d 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f n.$test.==.$this->target;.}.}.<?
151500 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
151520 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a Component\Finder\Comparator;....
151540 0a 0a 0a 63 6c 61 73 73 20 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 ...class.DateComparator.extends.
151560 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f Comparator.{......public.functio
151580 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 65 73 74 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 n.__construct($test).{.if.(!preg
1515a0 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 28 3d 3d 7c 21 3d 7c 5b 3c 3e 5d 3d 3f 7c 61 66 74 65 72 _match('#^\s*(==|!=|[<>]=?|after
1515c0 7c 73 69 6e 63 65 7c 62 65 66 6f 72 65 7c 75 6e 74 69 6c 29 3f 5c 73 2a 28 2e 2b 3f 29 5c 73 2a |since|before|until)?\s*(.+?)\s*
1515e0 24 23 69 27 2c 20 24 74 65 73 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 $#i',.$test,.$matches)).{.throw.
151600 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 new.\InvalidArgumentException(sp
151620 72 69 6e 74 66 28 27 44 6f 6e 5c 27 74 20 75 6e 64 65 72 73 74 61 6e 64 20 22 25 73 22 20 61 73 rintf('Don\'t.understand."%s".as
151640 20 61 20 64 61 74 65 20 74 65 73 74 2e 27 2c 20 24 74 65 73 74 29 29 3b 0a 7d 0a 0a 74 72 79 20 .a.date.test.',.$test));.}..try.
151660 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 6d 61 74 63 68 65 73 {.$date.=.new.\DateTime($matches
151680 5b 32 5d 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 24 64 61 74 65 2d 3e 66 6f 72 6d 61 74 28 27 55 [2]);.$target.=.$date->format('U
1516a0 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 ');.}.catch.(\Exception.$e).{.th
1516c0 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
1516e0 6e 28 73 70 72 69 6e 74 66 28 27 22 25 73 22 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 64 n(sprintf('"%s".is.not.a.valid.d
151700 61 74 65 2e 27 2c 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 3b 0a 7d 0a 0a 24 6f 70 65 72 61 74 ate.',.$matches[2]));.}..$operat
151720 6f 72 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 3f 20 24 6d 61 74 63 68 or.=.isset($matches[1]).?.$match
151740 65 73 5b 31 5d 20 3a 20 27 3d 3d 27 3b 0a 69 66 20 28 27 73 69 6e 63 65 27 20 3d 3d 3d 20 24 6f es[1].:.'==';.if.('since'.===.$o
151760 70 65 72 61 74 6f 72 20 7c 7c 20 27 61 66 74 65 72 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 perator.||.'after'.===.$operator
151780 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3e 27 3b 0a 7d 0a 0a 69 66 20 28 27 75 6e 74 ).{.$operator.=.'>';.}..if.('unt
1517a0 69 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 20 7c 7c 20 27 62 65 66 6f 72 65 27 20 3d 3d il'.===.$operator.||.'before'.==
1517c0 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3c 27 3b 0a =.$operator).{.$operator.=.'<';.
1517e0 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f 72 28 24 6f 70 65 72 61 74 6f 72 29 }..$this->setOperator($operator)
151800 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d ;.$this->setTarget($target);.}.}
151820 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
151840 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 3b 0a ny\Component\Finder\Comparator;.
151860 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 ......................class.Numb
151880 65 72 43 6f 6d 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a erComparator.extends.Comparator.
1518a0 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 {......public.function.__constru
1518c0 63 74 28 24 74 65 73 74 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c ct($test).{.if.(!preg_match('#^\
1518e0 73 2a 28 3d 3d 7c 21 3d 7c 5b 3c 3e 5d 3d 3f 29 3f 5c 73 2a 28 5b 30 2d 39 5c 2e 5d 2b 29 5c 73 s*(==|!=|[<>]=?)?\s*([0-9\.]+)\s
151900 2a 28 5b 6b 6d 67 5d 69 3f 29 3f 5c 73 2a 24 23 69 27 2c 20 24 74 65 73 74 2c 20 24 6d 61 74 63 *([kmg]i?)?\s*$#i',.$test,.$matc
151920 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 hes)).{.throw.new.\InvalidArgume
151940 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 44 6f 6e 5c 27 74 20 75 6e 64 65 ntException(sprintf('Don\'t.unde
151960 72 73 74 61 6e 64 20 22 25 73 22 20 61 73 20 61 20 6e 75 6d 62 65 72 20 74 65 73 74 2e 27 2c 20 rstand."%s".as.a.number.test.',.
151980 24 74 65 73 74 29 29 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 $test));.}..$target.=.$matches[2
1519a0 5d 3b 0a 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 74 61 72 67 65 74 29 29 20 7b 0a 74 ];.if.(!is_numeric($target)).{.t
1519c0 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
1519e0 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 20 22 25 73 22 2e on(sprintf('Invalid.number."%s".
151a00 27 2c 20 24 74 61 72 67 65 74 29 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 ',.$target));.}.if.(isset($match
151a20 65 73 5b 33 5d 29 29 20 7b 0a 0a 20 73 77 69 74 63 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 es[3])).{...switch.(strtolower($
151a40 6d 61 74 63 68 65 73 5b 33 5d 29 29 20 7b 0a 63 61 73 65 20 27 6b 27 3a 0a 24 74 61 72 67 65 74 matches[3])).{.case.'k':.$target
151a60 20 2a 3d 20 31 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6b 69 27 3a 0a 24 74 61 72 .*=.1000;.break;.case.'ki':.$tar
151a80 67 65 74 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6d 27 3a 0a 24 74 get.*=.1024;.break;.case.'m':.$t
151aa0 61 72 67 65 74 20 2a 3d 20 31 30 30 30 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6d arget.*=.1000000;.break;.case.'m
151ac0 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 62 72 65 61 i':.$target.*=.1024.*.1024;.brea
151ae0 6b 3b 0a 63 61 73 65 20 27 67 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 30 30 30 30 30 30 k;.case.'g':.$target.*=.10000000
151b00 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 67 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 00;.break;.case.'gi':.$target.*=
151b20 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a .1024.*.1024.*.1024;.break;.}.}.
151b40 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 .$this->setTarget($target);.$thi
151b60 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f 72 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 31 5d s->setOperator(isset($matches[1]
151b80 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3a 20 27 3d 3d 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 ).?.$matches[1].:.'==');.}.}.<?p
151ba0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
151bc0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 omponent\Finder\Exception;.....c
151be0 6c 61 73 73 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e lass.AccessDeniedException.exten
151c00 64 73 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d ds.\UnexpectedValueException.{.}
151c20 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
151c40 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a ny\Component\Finder\Exception;..
151c60 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 @trigger_error('The.'.__NAMESPAC
151c80 45 5f 5f 2e 27 5c 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 63 6c E__.'\AdapterFailureException.cl
151ca0 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 ass.is.deprecated.since.Symfony.
151cc0 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.8.and.will.be.removed.in.3.0.'
151ce0 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f ,.E_USER_DEPRECATED);..use.Symfo
151d00 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 41 64 61 70 ny\Component\Finder\Adapter\Adap
151d20 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 64 61 70 terInterface;.........class.Adap
151d40 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e terFailureException.extends.\Run
151d60 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 timeException.implements.Excepti
151d80 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 64 61 70 74 65 72 3b 0a onInterface.{.private.$adapter;.
151da0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
151dc0 74 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 2c 20 24 6d 65 t(AdapterInterface.$adapter,.$me
151de0 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f ssage.=.null,.\Exception.$previo
151e00 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 20 3d 20 24 61 us.=.null).{.$this->adapter.=.$a
151e20 64 61 70 74 65 72 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 dapter;.parent::__construct($mes
151e40 73 61 67 65 20 3f 3a 20 27 53 65 61 72 63 68 20 66 61 69 6c 65 64 20 77 69 74 68 20 22 27 2e 24 sage.?:.'Search.failed.with."'.$
151e60 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 22 20 61 64 61 70 74 65 72 2e 27 2c adapter->getName().'".adapter.',
151e80 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$previous);.}.....public.functi
151ea0 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e on.getAdapter().{.return.$this->
151ec0 61 64 61 70 74 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d adapter;.}.}.<?php...........nam
151ee0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
151f00 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 Exception;.....interface.Excepti
151f20 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e onInterface.{....public.function
151f40 20 67 65 74 41 64 61 70 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .getAdapter();.}.<?php..........
151f60 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
151f80 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 der\Exception;..@trigger_error('
151fa0 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 4f 70 65 72 61 74 69 6f 6e 4e The.'.__NAMESPACE__.'\OperationN
151fc0 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 otPermitedException.class.is.dep
151fe0 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 recated.since.Symfony.2.8.and.wi
152000 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 ll.be.removed.in.3.0.',.E_USER_D
152020 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 70 65 72 61 74 69 6f EPRECATED);.......class.Operatio
152040 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 41 64 nNotPermitedException.extends.Ad
152060 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a apterFailureException.{.}.<?php.
152080 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
1520a0 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 onent\Finder\Exception;..@trigge
1520c0 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 53 r_error('The.'.__NAMESPACE__.'\S
1520e0 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 hellCommandFailureException.clas
152100 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e s.is.deprecated.since.Symfony.2.
152120 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 8.and.will.be.removed.in.3.0.',.
152140 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 E_USER_DEPRECATED);..use.Symfony
152160 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 \Component\Finder\Adapter\Adapte
152180 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e rInterface;.use.Symfony\Componen
1521a0 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 63 6c t\Finder\Shell\Command;.......cl
1521c0 61 73 73 20 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e ass.ShellCommandFailureException
1521e0 20 65 78 74 65 6e 64 73 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e .extends.AdapterFailureException
152200 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e .{.private.$command;..public.fun
152220 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 ction.__construct(AdapterInterfa
152240 63 65 20 24 61 64 61 70 74 65 72 2c 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 5c ce.$adapter,.Command.$command,.\
152260 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 Exception.$previous.=.null).{.$t
152280 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 70 61 72 65 6e 74 3a his->command.=.$command;.parent:
1522a0 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 64 61 70 74 65 72 2c 20 27 53 68 65 6c 6c 20 63 6f :__construct($adapter,.'Shell.co
1522c0 6d 6d 61 6e 64 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 63 6f 6d 6d 61 6e 64 2d 3e 6a 6f 69 6e 28 mmand.failed:."'.$command->join(
1522e0 29 2e 27 22 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ).'".',.$previous);.}.....public
152300 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .function.getCommand().{.return.
152320 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a $this->command;.}.}.<?php.......
152340 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
152360 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 Finder\Expression;..@trigger_err
152380 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 45 78 70 72 65 73 or('The.'.__NAMESPACE__.'\Expres
1523a0 73 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 sion.class.is.deprecated.since.S
1523c0 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 ymfony.2.8.and.will.be.removed.i
1523e0 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a n.3.0.',.E_USER_DEPRECATED);....
152400 0a 63 6c 61 73 73 20 45 78 70 72 65 73 73 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c .class.Expression.implements.Val
152420 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 52 45 47 45 58 20 3d ueInterface.{.const.TYPE_REGEX.=
152440 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 47 4c 4f 42 20 3d 20 32 3b 0a 0a 0a 0a 0a 70 72 69 .1;.const.TYPE_GLOB.=.2;.....pri
152460 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 vate.$value;.......public.static
152480 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 70 72 29 0a 7b 0a 72 65 74 75 72 6e .function.create($expr).{.return
1524a0 20 6e 65 77 20 73 65 6c 66 28 24 65 78 70 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .new.self($expr);.}.....public.f
1524c0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 78 70 72 29 0a 7b 0a 74 72 79 unction.__construct($expr).{.try
1524e0 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 52 65 67 65 78 3a 3a 63 72 65 61 74 65 28 .{.$this->value.=.Regex::create(
152500 24 65 78 70 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e $expr);.}.catch.(\InvalidArgumen
152520 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 tException.$e).{.$this->value.=.
152540 6e 65 77 20 47 6c 6f 62 28 24 65 78 70 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 new.Glob($expr);.}.}.....public.
152560 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.__toString().{.return.$
152580 74 68 69 73 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e this->render();.}.....public.fun
1525a0 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 ction.render().{.return.$this->v
1525c0 61 6c 75 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e alue->render();.}.....public.fun
1525e0 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.renderPattern().{.return.$
152600 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 3b 0a 7d 0a this->value->renderPattern();.}.
152620 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 ....public.function.isCaseSensit
152640 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 69 73 43 ive().{.return.$this->value->isC
152660 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e aseSensitive();.}.....public.fun
152680 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ction.getType().{.return.$this->
1526a0 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 value->getType();.}.....public.f
1526c0 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e unction.prepend($expr).{.$this->
1526e0 76 61 6c 75 65 2d 3e 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 value->prepend($expr);..return.$
152700 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 this;.}.....public.function.appe
152720 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 61 70 70 65 6e 64 nd($expr).{.$this->value->append
152740 28 24 65 78 70 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ($expr);..return.$this;.}.....pu
152760 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 67 65 78 28 29 0a 7b 0a 72 65 74 75 72 6e blic.function.isRegex().{.return
152780 20 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c .self::TYPE_REGEX.===.$this->val
1527a0 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ue->getType();.}.....public.func
1527c0 74 69 6f 6e 20 69 73 47 6c 6f 62 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 tion.isGlob().{.return.self::TYP
1527e0 45 5f 47 4c 4f 42 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 E_GLOB.===.$this->value->getType
152800 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 ();.}.......public.function.getG
152820 6c 6f 62 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 50 45 5f 47 4c 4f 42 20 21 3d 3d 20 lob().{.if.(self::TYPE_GLOB.!==.
152840 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 74 68 72 6f 77 $this->value->getType()).{.throw
152860 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 52 65 67 65 78 20 63 61 6e 5c .new.\LogicException('Regex.can\
152880 27 74 20 62 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 74 6f 20 67 6c 6f 62 2e 27 29 3b 0a 7d 0a 't.be.transformed.to.glob.');.}.
1528a0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .return.$this->value;.}.....publ
1528c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 67 65 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ic.function.getRegex().{.return.
1528e0 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 self::TYPE_REGEX.===.$this->valu
152900 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3f 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3a 20 24 74 e->getType().?.$this->value.:.$t
152920 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 74 6f 52 65 67 65 78 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 his->value->toRegex();.}.}.<?php
152940 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
152960 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 ponent\Finder\Expression;..@trig
152980 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 ger_error('The.'.__NAMESPACE__.'
1529a0 5c 47 6c 6f 62 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 \Glob.class.is.deprecated.since.
1529c0 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.8.and.will.be.removed.
1529e0 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 in.3.0.',.E_USER_DEPRECATED);..u
152a00 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 47 6c 6f 62 se.Symfony\Component\Finder\Glob
152a20 20 61 73 20 46 69 6e 64 65 72 47 6c 6f 62 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 20 69 .as.FinderGlob;.....class.Glob.i
152a40 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 mplements.ValueInterface.{.priva
152a60 74 65 20 24 70 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e te.$pattern;.....public.function
152a80 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e .__construct($pattern).{.$this->
152aa0 70 61 74 74 65 72 6e 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 pattern.=.$pattern;.}.....public
152ac0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 .function.render().{.return.$thi
152ae0 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s->pattern;.}.....public.functio
152b00 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 n.renderPattern().{.return.$this
152b20 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->pattern;.}.....public.function
152b40 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a .getType().{.return.Expression::
152b60 54 59 50 45 5f 47 4c 4f 42 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e TYPE_GLOB;.}.....public.function
152b80 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 .isCaseSensitive().{.return.true
152ba0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 ;.}.....public.function.prepend(
152bc0 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 65 78 70 72 2e $expr).{.$this->pattern.=.$expr.
152be0 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d $this->pattern;..return.$this;.}
152c00 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 .....public.function.append($exp
152c20 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 r).{.$this->pattern..=.$expr;..r
152c40 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
152c60 74 69 6f 6e 20 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c tion.isExpandable().{.return.fal
152c80 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 27 7b se.!==.strpos($this->pattern,.'{
152ca0 27 29 0a 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 70 61 ').&&.false.!==.strpos($this->pa
152cc0 74 74 65 72 6e 2c 20 27 7d 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ttern,.'}');.}........public.fun
152ce0 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 ction.toRegex($strictLeadingDot.
152d00 3d 20 74 72 75 65 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3d 20 74 =.true,.$strictWildcardSlash.=.t
152d20 72 75 65 29 0a 7b 0a 24 72 65 67 65 78 20 3d 20 46 69 6e 64 65 72 47 6c 6f 62 3a 3a 74 6f 52 65 rue).{.$regex.=.FinderGlob::toRe
152d40 67 65 78 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 24 73 74 72 69 63 74 4c 65 61 64 69 gex($this->pattern,.$strictLeadi
152d60 6e 67 44 6f 74 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 2c 20 27 27 29 ngDot,.$strictWildcardSlash,.'')
152d80 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 65 67 65 78 28 24 72 65 67 65 78 29 3b 0a 7d 0a 7d ;..return.new.Regex($regex);.}.}
152da0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
152dc0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a ny\Component\Finder\Expression;.
152de0 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 .@trigger_error('The.'.__NAMESPA
152e00 43 45 5f 5f 2e 27 5c 52 65 67 65 78 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 CE__.'\Regex.class.is.deprecated
152e20 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 .since.Symfony.2.8.and.will.be.r
152e40 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 emoved.in.3.0.',.E_USER_DEPRECAT
152e60 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 67 65 78 20 69 6d 70 6c 65 6d 65 6e 74 73 20 ED);.....class.Regex.implements.
152e80 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 53 54 41 52 54 5f 46 4c 41 ValueInterface.{.const.START_FLA
152ea0 47 20 3d 20 27 5e 27 3b 0a 63 6f 6e 73 74 20 45 4e 44 5f 46 4c 41 47 20 3d 20 27 24 27 3b 0a 63 G.=.'^';.const.END_FLAG.=.'$';.c
152ec0 6f 6e 73 74 20 42 4f 55 4e 44 41 52 59 20 3d 20 27 7e 27 3b 0a 63 6f 6e 73 74 20 4a 4f 4b 45 52 onst.BOUNDARY.=.'~';.const.JOKER
152ee0 20 3d 20 27 2e 2a 27 3b 0a 63 6f 6e 73 74 20 45 53 43 41 50 49 4e 47 20 3d 20 27 5c 5c 27 3b 0a .=.'.*';.const.ESCAPING.=.'\\';.
152f00 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 ....private.$pattern;.....privat
152f20 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 46 6c e.$options;.....private.$startFl
152f40 61 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6e 64 46 6c 61 67 3b 0a 0a 0a 0a 0a 70 72 ag;.....private.$endFlag;.....pr
152f60 69 76 61 74 65 20 24 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 ivate.$startJoker;.....private.$
152f80 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 endJoker;.........public.static.
152fa0 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 70 72 29 0a 7b 0a 69 66 20 28 70 72 65 function.create($expr).{.if.(pre
152fc0 67 5f 6d 61 74 63 68 28 27 2f 5e 28 2e 7b 33 2c 7d 3f 29 28 5b 69 6d 73 78 75 41 44 55 5d 2a 29 g_match('/^(.{3,}?)([imsxuADU]*)
152fe0 24 2f 27 2c 20 24 65 78 70 72 2c 20 24 6d 29 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 73 75 62 73 $/',.$expr,.$m)).{.$start.=.subs
153000 74 72 28 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 3b 0a 24 65 6e 64 20 3d 20 73 75 62 73 74 72 28 24 tr($m[1],.0,.1);.$end.=.substr($
153020 6d 5b 31 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 28 0a 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 65 6e m[1],.-1);..if.(.($start.===.$en
153040 64 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 2a 3f 5b 3a 61 6c 6e 75 6d 3a 5d 20 d.&&.!preg_match('/[*?[:alnum:].
153060 5c 5c 5c 5c 5d 2f 27 2c 20 24 73 74 61 72 74 29 29 0a 7c 7c 20 28 27 7b 27 20 3d 3d 3d 20 24 73 \\\\]/',.$start)).||.('{'.===.$s
153080 74 61 72 74 20 26 26 20 27 7d 27 20 3d 3d 3d 20 24 65 6e 64 29 0a 7c 7c 20 28 27 28 27 20 3d 3d tart.&&.'}'.===.$end).||.('('.==
1530a0 3d 20 24 73 74 61 72 74 20 26 26 20 27 29 27 20 3d 3d 3d 20 24 65 6e 64 29 0a 29 20 7b 0a 72 65 =.$start.&&.')'.===.$end).).{.re
1530c0 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 31 2c 20 2d turn.new.self(substr($m[1],.1,.-
1530e0 31 29 2c 20 24 6d 5b 32 5d 2c 20 24 65 6e 64 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 1),.$m[2],.$end);.}.}..throw.new
153100 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 47 69 76 65 .\InvalidArgumentException('Give
153120 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 20 72 65 67 65 78 2e 27 29 3b 0a n.expression.is.not.a.regex.');.
153140 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 }.......public.function.__constr
153160 75 63 74 28 24 70 61 74 74 65 72 6e 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 27 27 2c 20 24 64 65 uct($pattern,.$options.=.'',.$de
153180 6c 69 6d 69 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 limiter.=.null).{.if.(null.!==.$
1531a0 64 65 6c 69 6d 69 74 65 72 29 20 7b 0a 0a 20 24 70 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 delimiter).{...$pattern.=.str_re
1531c0 70 6c 61 63 65 28 27 5c 5c 27 2e 24 64 65 6c 69 6d 69 74 65 72 2c 20 24 64 65 6c 69 6d 69 74 65 place('\\'.$delimiter,.$delimite
1531e0 72 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 50 61 74 r,.$pattern);.}..$this->parsePat
153200 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d tern($pattern);.$this->options.=
153220 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$options;.}.....public.function
153240 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 .__toString().{.return.$this->re
153260 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 nder();.}.....public.function.re
153280 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 0a 2e nder().{.return.self::BOUNDARY..
1532a0 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 2e 73 65 6c 66 3a 3a 42 4f $this->renderPattern()..self::BO
1532c0 55 4e 44 41 52 59 0a 2e 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 UNDARY..$this->options;.}.....pu
1532e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a blic.function.renderPattern().{.
153300 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 20 3f 20 73 65 6c 66 3a return.($this->startFlag.?.self:
153320 3a 53 54 41 52 54 5f 46 4c 41 47 20 3a 20 27 27 29 0a 2e 28 24 74 68 69 73 2d 3e 73 74 61 72 74 :START_FLAG.:.'')..($this->start
153340 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3a 20 27 27 29 0a 2e 73 74 72 5f 72 Joker.?.self::JOKER.:.'')..str_r
153360 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 2c 20 27 5c 5c 27 2e 73 65 6c 66 eplace(self::BOUNDARY,.'\\'.self
153380 3a 3a 42 4f 55 4e 44 41 52 59 2c 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 29 0a 2e 28 24 74 ::BOUNDARY,.$this->pattern)..($t
1533a0 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3a 20 27 27 his->endJoker.?.self::JOKER.:.''
1533c0 29 0a 2e 28 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3f 20 73 65 6c 66 3a 3a 45 4e 44 5f 46 )..($this->endFlag.?.self::END_F
1533e0 4c 41 47 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e LAG.:.'');.}.....public.function
153400 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 .isCaseSensitive().{.return.!$th
153420 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 69 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 is->hasOption('i');.}.....public
153440 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 45 78 70 .function.getType().{.return.Exp
153460 72 65 73 73 69 6f 6e 3a 3a 54 59 50 45 5f 52 45 47 45 58 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ression::TYPE_REGEX;.}.....publi
153480 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 c.function.prepend($expr).{.$thi
1534a0 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 65 78 70 72 2e 24 74 68 69 73 2d 3e 70 61 74 74 65 72 s->pattern.=.$expr.$this->patter
1534c0 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 n;..return.$this;.}.....public.f
1534e0 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 unction.append($expr).{.$this->p
153500 61 74 74 65 72 6e 20 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a attern..=.$expr;..return.$this;.
153520 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f }.......public.function.hasOptio
153540 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 n($option).{.return.false.!==.st
153560 72 70 6f 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 29 3b 0a 7d rpos($this->options,.$option);.}
153580 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e .......public.function.addOption
1535a0 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f ($option).{.if.(!$this->hasOptio
1535c0 6e 28 24 6f 70 74 69 6f 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 2e 3d 20 n($option)).{.$this->options..=.
1535e0 24 6f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a $option;.}..return.$this;.}.....
153600 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4f 70 74 69 6f 6e 28 24 ..public.function.removeOption($
153620 6f 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 73 74 72 5f 72 option).{.$this->options.=.str_r
153640 65 70 6c 61 63 65 28 24 6f 70 74 69 6f 6e 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f eplace($option,.'',.$this->optio
153660 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ns);..return.$this;.}.......publ
153680 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 46 6c 61 67 28 24 73 74 61 72 74 46 ic.function.setStartFlag($startF
1536a0 6c 61 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 20 3d 20 24 73 74 61 72 74 lag).{.$this->startFlag.=.$start
1536c0 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 Flag;..return.$this;.}.....publi
1536e0 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 46 6c 61 67 28 29 0a 7b 0a 72 65 74 75 c.function.hasStartFlag().{.retu
153700 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 rn.$this->startFlag;.}.......pub
153720 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 64 46 6c 61 67 28 24 65 6e 64 46 6c 61 67 lic.function.setEndFlag($endFlag
153740 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 64 ).{.$this->endFlag.=.(bool).$end
153760 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 Flag;..return.$this;.}.....publi
153780 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 6e 64 46 6c 61 67 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.hasEndFlag().{.return
1537a0 20 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->endFlag;.}.......public.
1537c0 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 4a 6f 6b 65 72 28 24 73 74 61 72 74 4a 6f 6b function.setStartJoker($startJok
1537e0 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 20 3d 20 24 73 74 61 72 74 er).{.$this->startJoker.=.$start
153800 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c Joker;..return.$this;.}.....publ
153820 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 4a 6f 6b 65 72 28 29 0a 7b 0a 72 65 ic.function.hasStartJoker().{.re
153840 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a turn.$this->startJoker;.}.......
153860 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 64 4a 6f 6b 65 72 28 24 65 6e 64 public.function.setEndJoker($end
153880 4a 6f 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3d 20 28 62 6f 6f 6c Joker).{.$this->endJoker.=.(bool
1538a0 29 20 24 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a ).$endJoker;..return.$this;.}...
1538c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 6e 64 4a 6f 6b 65 72 28 29 0a ..public.function.hasEndJoker().
1538e0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a {.return.$this->endJoker;.}.....
153900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 4a 6f 6b 65 72 73 28 24 72 public.function.replaceJokers($r
153920 65 70 6c 61 63 65 6d 65 6e 74 29 0a 7b 0a 24 72 65 70 6c 61 63 65 20 3d 20 66 75 6e 63 74 69 6f eplacement).{.$replace.=.functio
153940 6e 20 28 24 73 75 62 6a 65 63 74 29 20 75 73 65 20 28 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 20 n.($subject).use.($replacement).
153960 7b 0a 24 73 75 62 6a 65 63 74 20 3d 20 24 73 75 62 6a 65 63 74 5b 30 5d 3b 0a 24 72 65 70 6c 61 {.$subject.=.$subject[0];.$repla
153980 63 65 20 3d 20 30 20 3d 3d 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 73 75 62 6a 65 63 74 ce.=.0.===.substr_count($subject
1539a0 2c 20 27 5c 5c 27 29 20 25 20 32 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 70 6c 61 63 65 20 3f 20 ,.'\\').%.2;..return.$replace.?.
1539c0 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 24 str_replace('.',.$replacement,.$
1539e0 73 75 62 6a 65 63 74 29 20 3a 20 24 73 75 62 6a 65 63 74 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e subject).:.$subject;.};..$this->
153a00 70 61 74 74 65 72 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 pattern.=.preg_replace_callback(
153a20 27 7e 5b 5c 5c 5c 5c 5d 2a 5c 5c 2e 7e 27 2c 20 24 72 65 70 6c 61 63 65 2c 20 24 74 68 69 73 2d '~[\\\\]*\\.~',.$replace,.$this-
153a40 3e 70 61 74 74 65 72 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a >pattern);..return.$this;.}.....
153a60 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 50 61 74 74 65 72 6e 28 24 70 private.function.parsePattern($p
153a80 61 74 74 65 72 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 20 3d attern).{.if.($this->startFlag.=
153aa0 20 73 65 6c 66 3a 3a 53 54 41 52 54 5f 46 4c 41 47 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 .self::START_FLAG.===.substr($pa
153ac0 74 74 65 72 6e 2c 20 30 2c 20 31 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 ttern,.0,.1)).{.$pattern.=.subst
153ae0 72 28 24 70 61 74 74 65 72 6e 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 r($pattern,.1);.}..if.($this->st
153b00 61 72 74 4a 6f 6b 65 72 20 3d 20 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3d 3d 3d 20 73 75 62 73 74 artJoker.=.self::JOKER.===.subst
153b20 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 32 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 r($pattern,.0,.2)).{.$pattern.=.
153b40 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 32 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 substr($pattern,.2);.}..if.($thi
153b60 73 2d 3e 65 6e 64 46 6c 61 67 20 3d 20 28 73 65 6c 66 3a 3a 45 4e 44 5f 46 4c 41 47 20 3d 3d 3d s->endFlag.=.(self::END_FLAG.===
153b80 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 31 29 20 26 26 20 73 65 6c 66 3a 3a 45 .substr($pattern,.-1).&&.self::E
153ba0 53 43 41 50 49 4e 47 20 21 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 32 2c SCAPING.!==.substr($pattern,.-2,
153bc0 20 2d 31 29 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 .-1))).{.$pattern.=.substr($patt
153be0 65 72 6e 2c 20 30 2c 20 2d 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 64 4a 6f ern,.0,.-1);.}..if.($this->endJo
153c00 6b 65 72 20 3d 20 28 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 ker.=.(self::JOKER.===.substr($p
153c20 61 74 74 65 72 6e 2c 20 2d 32 29 20 26 26 20 73 65 6c 66 3a 3a 45 53 43 41 50 49 4e 47 20 21 3d attern,.-2).&&.self::ESCAPING.!=
153c40 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 33 2c 20 2d 32 29 29 29 20 7b 0a 24 =.substr($pattern,.-3,.-2))).{.$
153c60 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 2d 32 pattern.=.substr($pattern,.0,.-2
153c80 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 70 61 74 74 65 72 6e 3b );.}..$this->pattern.=.$pattern;
153ca0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
153cc0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 ymfony\Component\Finder\Expressi
153ce0 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d on;..@trigger_error('The.'.__NAM
153d00 45 53 50 41 43 45 5f 5f 2e 27 5c 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 20 69 6e 74 65 72 66 ESPACE__.'\ValueInterface.interf
153d20 61 63 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 ace.is.deprecated.since.Symfony.
153d40 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.8.and.will.be.removed.in.3.0.'
153d60 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 ,.E_USER_DEPRECATED);.....interf
153d80 61 63 65 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ace.ValueInterface.{......public
153da0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .function.render();.......public
153dc0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 3b 0a 0a 0a 0a 0a 0a .function.renderPattern();......
153de0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 .public.function.isCaseSensitive
153e00 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 ();.......public.function.getTyp
153e20 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 e();.......public.function.prepe
153e40 6e 64 28 24 65 78 70 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e nd($expr);.......public.function
153e60 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a .append($expr);.}.<?php.........
153e80 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 ..namespace.Symfony\Component\Fi
153ea0 6e 64 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e nder;..use.Symfony\Component\Fin
153ec0 64 65 72 5c 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 der\Adapter\AdapterInterface;.us
153ee0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 e.Symfony\Component\Finder\Adapt
153f00 65 72 5c 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 er\BsdFindAdapter;.use.Symfony\C
153f20 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 47 6e 75 46 69 6e 64 41 omponent\Finder\Adapter\GnuFindA
153f40 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 dapter;.use.Symfony\Component\Fi
153f60 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 50 68 70 41 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d nder\Adapter\PhpAdapter;.use.Sym
153f80 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 fony\Component\Finder\Comparator
153fa0 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \DateComparator;.use.Symfony\Com
153fc0 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 ponent\Finder\Comparator\NumberC
153fe0 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 omparator;.use.Symfony\Component
154000 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 \Finder\Exception\ExceptionInter
154020 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 face;.use.Symfony\Component\Find
154040 65 72 5c 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 er\Iterator\CustomFilterIterator
154060 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 ;.use.Symfony\Component\Finder\I
154080 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b terator\DateRangeFilterIterator;
1540a0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 .use.Symfony\Component\Finder\It
1540c0 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b erator\DepthRangeFilterIterator;
1540e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 .use.Symfony\Component\Finder\It
154100 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 erator\ExcludeDirectoryFilterIte
154120 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e rator;.use.Symfony\Component\Fin
154140 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 der\Iterator\FilecontentFilterIt
154160 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 erator;.use.Symfony\Component\Fi
154180 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 nder\Iterator\FilenameFilterIter
1541a0 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 ator;.use.Symfony\Component\Find
1541c0 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 er\Iterator\SizeRangeFilterItera
1541e0 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 tor;.use.Symfony\Component\Finde
154200 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a r\Iterator\SortableIterator;....
154220 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6e 64 65 72 20 69 6d 70 6c 65 6d 65 6e ...........class.Finder.implemen
154240 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2c 20 5c 43 6f 75 6e 74 61 62 6c ts.\IteratorAggregate,.\Countabl
154260 65 0a 7b 0a 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 3d 20 31 3b 0a e.{.const.IGNORE_VCS_FILES.=.1;.
154280 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 3d 20 32 3b 0a 0a 70 72 69 const.IGNORE_DOT_FILES.=.2;..pri
1542a0 76 61 74 65 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 20 3d vate.$mode.=.0;.private.$names.=
1542c0 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 4e 61 6d 65 73 20 3d 20 61 72 .array();.private.$notNames.=.ar
1542e0 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 ray();.private.$exclude.=.array(
154300 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 );.private.$filters.=.array();.p
154320 72 69 76 61 74 65 20 24 64 65 70 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 rivate.$depths.=.array();.privat
154340 65 20 24 73 69 7a 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 6c e.$sizes.=.array();.private.$fol
154360 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 73 6f 72 74 20 lowLinks.=.false;.private.$sort.
154380 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 20 3d 20 30 3b 0a 70 72 =.false;.private.$ignore.=.0;.pr
1543a0 69 76 61 74 65 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 ivate.$dirs.=.array();.private.$
1543c0 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 dates.=.array();.private.$iterat
1543e0 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 61 69 6e 73 ors.=.array();.private.$contains
154400 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 .=.array();.private.$notContains
154420 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 61 64 61 70 74 65 72 73 20 3d 20 .=.array();.private.$adapters.=.
154440 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a null;.private.$paths.=.array();.
154460 70 72 69 76 61 74 65 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 private.$notPaths.=.array();.pri
154480 76 61 74 65 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 66 61 6c vate.$ignoreUnreadableDirs.=.fal
1544a0 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 63 73 50 61 74 74 65 72 6e 73 se;..private.static.$vcsPatterns
1544c0 20 3d 20 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 27 5f 73 76 6e 27 2c 20 27 43 56 53 27 2c 20 .=.array('.svn',.'_svn',.'CVS',.
1544e0 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d 70 61 72 61 6d 73 27 2c 20 27 2e 6d 6f 6e 6f '_darcs',.'.arch-params',.'.mono
154500 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e 67 69 74 27 2c 20 27 2e 68 67 27 29 3b 0a 0a tone',.'.bzr',.'.git',.'.hg');..
154520 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a public.function.__construct().{.
154540 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 $this->ignore.=.static::IGNORE_V
154560 43 53 5f 46 49 4c 45 53 20 7c 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 CS_FILES.|.static::IGNORE_DOT_FI
154580 4c 45 53 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 LES;.}.......public.static.funct
1545a0 69 6f 6e 20 63 72 65 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 ion.create().{.return.new.static
1545c0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ();.}............public.function
1545e0 20 61 64 64 41 64 61 70 74 65 72 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 .addAdapter(AdapterInterface.$ad
154600 61 70 74 65 72 2c 20 24 70 72 69 6f 72 69 74 79 20 3d 20 30 29 0a 7b 0a 40 74 72 69 67 67 65 72 apter,.$priority.=.0).{.@trigger
154620 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f _error('The.'.__METHOD__.'.metho
154640 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e d.is.deprecated.since.Symfony.2.
154660 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 8.and.will.be.removed.in.3.0.',.
154680 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 E_USER_DEPRECATED);..$this->init
1546a0 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 DefaultAdapters();..$this->adapt
1546c0 65 72 73 5b 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 61 72 72 61 79 ers[$adapter->getName()].=.array
1546e0 28 0a 27 61 64 61 70 74 65 72 27 20 3d 3e 20 24 61 64 61 70 74 65 72 2c 0a 27 70 72 69 6f 72 69 (.'adapter'.=>.$adapter,.'priori
154700 74 79 27 20 3d 3e 20 24 70 72 69 6f 72 69 74 79 2c 0a 27 73 65 6c 65 63 74 65 64 27 20 3d 3e 20 ty'.=>.$priority,.'selected'.=>.
154720 66 61 6c 73 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 72 74 41 64 61 false,.);..return.$this->sortAda
154740 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 pters();.}.........public.functi
154760 6f 6e 20 75 73 65 42 65 73 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 on.useBestAdapter().{.@trigger_e
154780 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 rror('The.'.__METHOD__.'.method.
1547a0 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 is.deprecated.since.Symfony.2.8.
1547c0 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f and.will.be.removed.in.3.0.',.E_
1547e0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 USER_DEPRECATED);..$this->initDe
154800 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 41 64 faultAdapters();..$this->resetAd
154820 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d apterSelection();..return.$this-
154840 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 >sortAdapters();.}.............p
154860 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 61 70 74 65 72 28 24 6e 61 6d 65 29 ublic.function.setAdapter($name)
154880 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f .{.@trigger_error('The.'.__METHO
1548a0 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 D__.'.method.is.deprecated.since
1548c0 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 .Symfony.2.8.and.will.be.removed
1548e0 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a .in.3.0.',.E_USER_DEPRECATED);..
154900 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 69 $this->initDefaultAdapters();..i
154920 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 6e 61 6d 65 5d f.(!isset($this->adapters[$name]
154940 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 )).{.throw.new.\InvalidArgumentE
154960 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 64 61 70 74 65 72 20 22 25 73 22 20 64 xception(sprintf('Adapter."%s".d
154980 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 oes.not.exist.',.$name));.}..$th
1549a0 69 73 2d 3e 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a 24 74 68 is->resetAdapterSelection();.$th
1549c0 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 6e 61 6d 65 5d 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 is->adapters[$name]['selected'].
1549e0 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 72 74 41 64 61 70 74 =.true;..return.$this->sortAdapt
154a00 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ers();.}.........public.function
154a20 20 72 65 6d 6f 76 65 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 .removeAdapters().{.@trigger_err
154a40 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 or('The.'.__METHOD__.'.method.is
154a60 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e .deprecated.since.Symfony.2.8.an
154a80 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 d.will.be.removed.in.3.0.',.E_US
154aa0 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 ER_DEPRECATED);..$this->adapters
154ac0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a .=.array();..return.$this;.}....
154ae0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 73 .....public.function.getAdapters
154b00 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 ().{.@trigger_error('The.'.__MET
154b20 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e HOD__.'.method.is.deprecated.sin
154b40 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 ce.Symfony.2.8.and.will.be.remov
154b60 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b ed.in.3.0.',.E_USER_DEPRECATED);
154b80 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a ..$this->initDefaultAdapters();.
154ba0 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 72 72 61 79 5f 6d 61 70 28 66 .return.array_values(array_map(f
154bc0 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 64 61 70 74 65 72 29 20 7b 0a 72 65 74 75 72 unction.(array.$adapter).{.retur
154be0 6e 20 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d n.$adapter['adapter'];.},.$this-
154c00 3e 61 64 61 70 74 65 72 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 >adapters));.}.......public.func
154c20 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 69 65 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 tion.directories().{.$this->mode
154c40 20 3d 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 .=.Iterator\FileTypeFilterIterat
154c60 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 3b 0a 0a 72 65 74 75 72 6e 20 24 74 or::ONLY_DIRECTORIES;..return.$t
154c80 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c his;.}.......public.function.fil
154ca0 65 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 49 74 65 72 61 74 6f 72 5c 46 69 es().{.$this->mode.=.Iterator\Fi
154cc0 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 leTypeFilterIterator::ONLY_FILES
154ce0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;..return.$this;.}..............
154d00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 70 74 68 28 24 6c 65 76 65 6c 29 ...public.function.depth($level)
154d20 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 70 74 68 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 70 61 72 61 .{.$this->depths[].=.new.Compara
154d40 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 28 24 6c 65 76 65 6c 29 3b 0a 0a 72 tor\NumberComparator($level);..r
154d60 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eturn.$this;.}..................
154d80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 61 74 65 28 24 64 61 74 65 29 0a 7b 0a ..public.function.date($date).{.
154da0 24 74 68 69 73 2d 3e 64 61 74 65 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 70 61 72 61 74 6f 72 5c $this->dates[].=.new.Comparator\
154dc0 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 28 24 64 61 74 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 DateComparator($date);..return.$
154de0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 this;.}.................public.f
154e00 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e unction.name($pattern).{.$this->
154e20 6e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 names[].=.$pattern;..return.$thi
154e40 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e s;.}...........public.function.n
154e60 6f 74 4e 61 6d 65 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d otName($pattern).{.$this->notNam
154e80 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a es[].=.$pattern;..return.$this;.
154ea0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e }................public.function
154ec0 20 63 6f 6e 74 61 69 6e 73 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e .contains($pattern).{.$this->con
154ee0 74 61 69 6e 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 tains[].=.$pattern;..return.$thi
154f00 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s;.}................public.funct
154f20 69 6f 6e 20 6e 6f 74 43 6f 6e 74 61 69 6e 73 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 ion.notContains($pattern).{.$thi
154f40 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 s->notContains[].=.$pattern;..re
154f60 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 turn.$this;.}..................p
154f80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 68 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a ublic.function.path($pattern).{.
154fa0 24 74 68 69 73 2d 3e 70 61 74 68 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 $this->paths[].=.$pattern;..retu
154fc0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 rn.$this;.}..................pub
154fe0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 50 61 74 68 28 24 70 61 74 74 65 72 6e 29 0a 7b lic.function.notPath($pattern).{
155000 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a .$this->notPaths[].=.$pattern;..
155020 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 return.$this;.}................p
155040 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 24 73 69 7a 65 29 0a 7b 0a 24 74 68 ublic.function.size($size).{.$th
155060 69 73 2d 3e 73 69 7a 65 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d is->sizes[].=.new.Comparator\Num
155080 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 28 24 73 69 7a 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 berComparator($size);..return.$t
1550a0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his;.}...............public.func
1550c0 74 69 6f 6e 20 65 78 63 6c 75 64 65 28 24 64 69 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 tion.exclude($dirs).{.$this->exc
1550e0 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 lude.=.array_merge($this->exclud
155100 65 2c 20 28 61 72 72 61 79 29 20 24 64 69 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 e,.(array).$dirs);..return.$this
155120 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
155140 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 24 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 29 0a ignoreDotFiles($ignoreDotFiles).
155160 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e {.if.($ignoreDotFiles).{.$this->
155180 69 67 6e 6f 72 65 20 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c ignore.|=.static::IGNORE_DOT_FIL
1551a0 45 53 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 26 3d 20 7e 73 ES;.}.else.{.$this->ignore.&=.~s
1551c0 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 72 65 74 75 tatic::IGNORE_DOT_FILES;.}..retu
1551e0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 rn.$this;.}.............public.f
155200 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 43 53 28 24 69 67 6e 6f 72 65 56 43 53 29 0a 7b 0a unction.ignoreVCS($ignoreVCS).{.
155220 69 66 20 28 24 69 67 6e 6f 72 65 56 43 53 29 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 if.($ignoreVCS).{.$this->ignore.
155240 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 3b 0a 7d 20 65 |=.static::IGNORE_VCS_FILES;.}.e
155260 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 26 3d 20 7e 73 74 61 74 69 63 3a 3a lse.{.$this->ignore.&=.~static::
155280 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 IGNORE_VCS_FILES;.}..return.$thi
1552a0 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 s;.}.........public.static.funct
1552c0 69 6f 6e 20 61 64 64 56 43 53 50 61 74 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 66 6f ion.addVCSPattern($pattern).{.fo
1552e0 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 70 61 74 74 65 72 6e 20 61 73 20 24 70 29 20 7b reach.((array).$pattern.as.$p).{
155300 0a 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 5b 5d 20 3d 20 24 70 3b 0a 7d 0a 0a 73 .self::$vcsPatterns[].=.$p;.}..s
155320 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 5f 75 6e 69 71 75 65 elf::$vcsPatterns.=.array_unique
155340 28 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a (self::$vcsPatterns);.}.........
155360 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 28 5c 43 6c 6f 73 75 72 ....public.function.sort(\Closur
155380 65 20 24 63 6c 6f 73 75 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 63 6c 6f e.$closure).{.$this->sort.=.$clo
1553a0 73 75 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a sure;..return.$this;.}..........
1553c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 4e 61 6d 65 28 29 0a 7b 0a .public.function.sortByName().{.
1553e0 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 $this->sort.=.Iterator\SortableI
155400 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 terator::SORT_BY_NAME;..return.$
155420 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this;.}...........public.functio
155440 6e 20 73 6f 72 74 42 79 54 79 70 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 n.sortByType().{.$this->sort.=.I
155460 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 terator\SortableIterator::SORT_B
155480 59 5f 54 59 50 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a Y_TYPE;..return.$this;.}........
1554a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 41 63 63 65 73 .....public.function.sortByAcces
1554c0 73 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 sedTime().{.$this->sort.=.Iterat
1554e0 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 or\SortableIterator::SORT_BY_ACC
155500 45 53 53 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a ESSED_TIME;..return.$this;.}....
155520 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 ...........public.function.sortB
155540 79 43 68 61 6e 67 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 yChangedTime().{.$this->sort.=.I
155560 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 terator\SortableIterator::SORT_B
155580 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d Y_CHANGED_TIME;..return.$this;.}
1555a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 .............public.function.sor
1555c0 74 42 79 4d 6f 64 69 66 69 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 tByModifiedTime().{.$this->sort.
1555e0 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 =.Iterator\SortableIterator::SOR
155600 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 T_BY_MODIFIED_TIME;..return.$thi
155620 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 s;.}............public.function.
155640 66 69 6c 74 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f 73 75 72 65 29 0a 7b 0a 24 74 68 69 filter(\Closure.$closure).{.$thi
155660 73 2d 3e 66 69 6c 74 65 72 73 5b 5d 20 3d 20 24 63 6c 6f 73 75 72 65 3b 0a 0a 72 65 74 75 72 6e s->filters[].=.$closure;..return
155680 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$this;.}.......public.function.
1556a0 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e followLinks().{.$this->followLin
1556c0 6b 73 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a ks.=.true;..return.$this;.}.....
1556e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 55 6e 72 65 ......public.function.ignoreUnre
155700 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 adableDirs($ignore.=.true).{.$th
155720 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 28 62 6f 6f 6c is->ignoreUnreadableDirs.=.(bool
155740 29 20 24 69 67 6e 6f 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a ).$ignore;..return.$this;.}.....
155760 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 28 24 64 69 72 73 29 0a ......public.function.in($dirs).
155780 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 {.$resolvedDirs.=.array();..fore
1557a0 61 63 68 20 28 28 61 72 72 61 79 29 20 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 ach.((array).$dirs.as.$dir).{.if
1557c0 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 5b .(is_dir($dir)).{.$resolvedDirs[
1557e0 5d 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 44 69 72 28 24 64 69 72 29 3b 0a 7d ].=.$this->normalizeDir($dir);.}
155800 20 65 6c 73 65 69 66 20 28 24 67 6c 6f 62 20 3d 20 67 6c 6f 62 28 24 64 69 72 2c 20 28 5c 64 65 .elseif.($glob.=.glob($dir,.(\de
155820 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 20 3f 20 47 4c 4f 42 5f 42 52 41 43 45 fined('GLOB_BRACE').?.GLOB_BRACE
155840 20 3a 20 30 29 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 29 29 20 7b 0a 24 72 65 73 6f 6c 76 .:.0).|.GLOB_ONLYDIR)).{.$resolv
155860 65 64 44 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 6f 6c 76 65 64 44 69 edDirs.=.array_merge($resolvedDi
155880 72 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6e 6f 72 6d rs,.array_map(array($this,.'norm
1558a0 61 6c 69 7a 65 44 69 72 27 29 2c 20 24 67 6c 6f 62 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 alizeDir'),.$glob));.}.else.{.th
1558c0 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
1558e0 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 64 69 72 65 63 74 6f 72 79 20 64 6f n(sprintf('The."%s".directory.do
155900 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 64 69 72 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 es.not.exist.',.$dir));.}.}..$th
155920 69 73 2d 3e 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 64 69 is->dirs.=.array_merge($this->di
155940 72 73 2c 20 24 72 65 73 6f 6c 76 65 64 44 69 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 rs,.$resolvedDirs);..return.$thi
155960 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 s;.}...........public.function.g
155980 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 etIterator().{.if.(0.===.\count(
1559a0 24 74 68 69 73 2d 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 $this->dirs).&&.0.===.\count($th
1559c0 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 is->iterators)).{.throw.new.\Log
1559e0 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 63 61 6c 6c 20 6f 6e 65 20 6f icException('You.must.call.one.o
155a00 66 20 69 6e 28 29 20 6f 72 20 61 70 70 65 6e 64 28 29 20 6d 65 74 68 6f 64 73 20 62 65 66 6f 72 f.in().or.append().methods.befor
155a20 65 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 61 20 46 69 6e 64 65 72 2e 27 29 3b 0a 7d 0a e.iterating.over.a.Finder.');.}.
155a40 0a 69 66 20 28 31 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 69 72 73 29 20 26 .if.(1.===.\count($this->dirs).&
155a60 26 20 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 29 &.0.===.\count($this->iterators)
155a80 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 ).{.return.$this->searchInDirect
155aa0 6f 72 79 28 24 74 68 69 73 2d 3e 64 69 72 73 5b 30 5d 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f ory($this->dirs[0]);.}..$iterato
155ac0 72 20 3d 20 6e 65 77 20 5c 41 70 70 65 6e 64 49 74 65 72 61 74 6f 72 28 29 3b 0a 66 6f 72 65 61 r.=.new.\AppendIterator();.forea
155ae0 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 24 69 74 65 72 ch.($this->dirs.as.$dir).{.$iter
155b00 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 49 6e 44 69 72 65 ator->append($this->searchInDire
155b20 63 74 6f 72 79 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d ctory($dir));.}..foreach.($this-
155b40 3e 69 74 65 72 61 74 6f 72 73 20 61 73 20 24 69 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e >iterators.as.$it).{.$iterator->
155b60 61 70 70 65 6e 64 28 24 69 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 append($it);.}..return.$iterator
155b80 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
155ba0 61 70 70 65 6e 64 28 24 69 74 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 24 69 74 65 72 61 74 6f append($iterator).{.if.($iterato
155bc0 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 29 r.instanceof.\IteratorAggregate)
155be0 20 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 65 72 61 74 6f .{.$this->iterators[].=.$iterato
155c00 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 74 65 r->getIterator();.}.elseif.($ite
155c20 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 74 rator.instanceof.\Iterator).{.$t
155c40 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 20 his->iterators[].=.$iterator;.}.
155c60 65 6c 73 65 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 elseif.($iterator.instanceof.\Tr
155c80 61 76 65 72 73 61 62 6c 65 20 7c 7c 20 5c 69 73 5f 61 72 72 61 79 28 24 69 74 65 72 61 74 6f 72 aversable.||.\is_array($iterator
155ca0 29 29 20 7b 0a 24 69 74 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 29 3b )).{.$it.=.new.\ArrayIterator();
155cc0 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a .foreach.($iterator.as.$file).{.
155ce0 24 69 74 2d 3e 61 70 70 65 6e 64 28 24 66 69 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 53 70 $it->append($file.instanceof.\Sp
155d00 6c 46 69 6c 65 49 6e 66 6f 20 3f 20 24 66 69 6c 65 20 3a 20 6e 65 77 20 5c 53 70 6c 46 69 6c 65 lFileInfo.?.$file.:.new.\SplFile
155d20 49 6e 66 6f 28 24 66 69 6c 65 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 Info($file));.}.$this->iterators
155d40 5b 5d 20 3d 20 24 69 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e [].=.$it;.}.else.{.throw.new.\In
155d60 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 46 69 6e 64 65 72 3a 3a validArgumentException('Finder::
155d80 61 70 70 65 6e 64 28 29 20 6d 65 74 68 6f 64 20 77 72 6f 6e 67 20 61 72 67 75 6d 65 6e 74 20 74 append().method.wrong.argument.t
155da0 79 70 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a ype.');.}..return.$this;.}......
155dc0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 .public.function.count().{.retur
155de0 6e 20 69 74 65 72 61 74 6f 72 5f 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 74 65 72 61 n.iterator_count($this->getItera
155e00 74 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 tor());.}.....private.function.s
155e20 6f 72 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 75 61 73 6f 72 74 28 24 74 68 69 73 2d 3e 61 64 ortAdapters().{.uasort($this->ad
155e40 61 70 74 65 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 2c 20 61 72 72 61 apters,.function.(array.$a,.arra
155e60 79 20 24 62 29 20 7b 0a 69 66 20 28 24 61 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 7c 7c 20 24 62 y.$b).{.if.($a['selected'].||.$b
155e80 5b 27 73 65 6c 65 63 74 65 64 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 5b 27 73 65 6c 65 63 ['selected']).{.return.$a['selec
155ea0 74 65 64 27 5d 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 5b 27 70 72 ted'].?.-1.:.1;.}..return.$a['pr
155ec0 69 6f 72 69 74 79 27 5d 20 3e 20 24 62 5b 27 70 72 69 6f 72 69 74 79 27 5d 20 3f 20 2d 31 20 3a iority'].>.$b['priority'].?.-1.:
155ee0 20 31 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .1;.});..return.$this;.}.......p
155f00 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 rivate.function.searchInDirector
155f20 79 28 24 64 69 72 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 y($dir).{.if.(static::IGNORE_VCS
155f40 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 _FILES.===.(static::IGNORE_VCS_F
155f60 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e ILES.&.$this->ignore)).{.$this->
155f80 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 78 63 exclude.=.array_merge($this->exc
155fa0 6c 75 64 65 2c 20 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 3b 0a 7d 0a 0a 69 66 lude,.self::$vcsPatterns);.}..if
155fc0 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 .(static::IGNORE_DOT_FILES.===.(
155fe0 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 26 20 24 74 68 69 73 static::IGNORE_DOT_FILES.&.$this
156000 2d 3e 69 67 6e 6f 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 5b 5d 20 3d ->ignore)).{.$this->notPaths[].=
156020 20 27 23 28 5e 7c 2f 29 5c 2e 2e 2b 28 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 .'#(^|/)\..+(/|$)#';.}..if.($thi
156040 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 s->adapters).{.foreach.($this->a
156060 64 61 70 74 65 72 73 20 61 73 20 24 61 64 61 70 74 65 72 29 20 7b 0a 69 66 20 28 24 61 64 61 70 dapters.as.$adapter).{.if.($adap
156080 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 2d 3e 69 73 53 75 70 70 6f 72 74 65 64 28 29 29 20 7b ter['adapter']->isSupported()).{
1560a0 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 0a 2d 3e 62 75 69 6c 64 41 64 61 70 74 .try.{.return.$this.->buildAdapt
1560c0 65 72 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 29 0a 2d 3e 73 65 61 72 63 68 er($adapter['adapter']).->search
1560e0 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 78 63 65 InDirectory($dir);.}.catch.(Exce
156100 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 6d ptionInterface.$e).{.}.}.}.}..$m
156120 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 24 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 inDepth.=.0;.$maxDepth.=.PHP_INT
156140 5f 4d 41 58 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 70 74 68 73 20 61 73 _MAX;..foreach.($this->depths.as
156160 20 24 63 6f 6d 70 61 72 61 74 6f 72 29 20 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 6d 70 61 72 61 .$comparator).{.switch.($compara
156180 74 6f 72 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a tor->getOperator()).{.case.'>':.
1561a0 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 $minDepth.=.$comparator->getTarg
1561c0 65 74 28 29 20 2b 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 6d 69 6e et().+.1;.break;.case.'>=':.$min
1561e0 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 Depth.=.$comparator->getTarget()
156200 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 24 6d 61 78 44 65 70 74 68 20 3d 20 24 ;.break;.case.'<':.$maxDepth.=.$
156220 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 31 3b 0a 62 72 65 comparator->getTarget().-.1;.bre
156240 61 6b 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 ak;.case.'<=':.$maxDepth.=.$comp
156260 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 arator->getTarget();.break;.defa
156280 75 6c 74 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f ult:.$minDepth.=.$maxDepth.=.$co
1562a0 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 0a 24 66 6c 61 mparator->getTarget();.}.}..$fla
1562c0 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 gs.=.\RecursiveDirectoryIterator
1562e0 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c ::SKIP_DOTS;..if.($this->followL
156300 69 6e 6b 73 29 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 inks).{.$flags.|=.\RecursiveDire
156320 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 3b 0a ctoryIterator::FOLLOW_SYMLINKS;.
156340 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 52 65 63 75 }..$iterator.=.new.Iterator\Recu
156360 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 66 6c rsiveDirectoryIterator($dir,.$fl
156380 61 67 73 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 ags,.$this->ignoreUnreadableDirs
1563a0 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 72 61 );..if.($this->exclude).{.$itera
1563c0 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 tor.=.new.Iterator\ExcludeDirect
1563e0 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 oryFilterIterator($iterator,.$th
156400 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 is->exclude);.}..$iterator.=.new
156420 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 .\RecursiveIteratorIterator($ite
156440 72 61 74 6f 72 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f rator,.\RecursiveIteratorIterato
156460 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 28 24 6d 69 6e 44 65 70 74 68 20 3e r::SELF_FIRST);..if.($minDepth.>
156480 20 30 20 7c 7c 20 24 6d 61 78 44 65 70 74 68 20 3c 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 20 7b .0.||.$maxDepth.<.PHP_INT_MAX).{
1564a0 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 .$iterator.=.new.Iterator\DepthR
1564c0 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 6d angeFilterIterator($iterator,.$m
1564e0 69 6e 44 65 70 74 68 2c 20 24 6d 61 78 44 65 70 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 inDepth,.$maxDepth);.}..if.($thi
156500 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 s->mode).{.$iterator.=.new.Itera
156520 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 tor\FileTypeFilterIterator($iter
156540 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 ator,.$this->mode);.}..if.($this
156560 2d 3e 6e 61 6d 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 20 7b 0a 24 69 ->names.||.$this->notNames).{.$i
156580 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 terator.=.new.Iterator\FilenameF
1565a0 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e ilterIterator($iterator,.$this->
1565c0 6e 61 6d 65 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 names,.$this->notNames);.}..if.(
1565e0 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e $this->contains.||.$this->notCon
156600 74 61 69 6e 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f tains).{.$iterator.=.new.Iterato
156620 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 r\FilecontentFilterIterator($ite
156640 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e rator,.$this->contains,.$this->n
156660 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 otContains);.}..if.($this->sizes
156680 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 69 7a ).{.$iterator.=.new.Iterator\Siz
1566a0 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 eRangeFilterIterator($iterator,.
1566c0 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 61 74 $this->sizes);.}..if.($this->dat
1566e0 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 es).{.$iterator.=.new.Iterator\D
156700 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 ateRangeFilterIterator($iterator
156720 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 ,.$this->dates);.}..if.($this->f
156740 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 ilters).{.$iterator.=.new.Iterat
156760 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f or\CustomFilterIterator($iterato
156780 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 r,.$this->filters);.}..if.($this
1567a0 2d 3e 70 61 74 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 20 7b 0a 24 69 ->paths.||.$this->notPaths).{.$i
1567c0 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 50 61 74 68 46 69 6c 74 65 terator.=.new.Iterator\PathFilte
1567e0 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 rIterator($iterator,.$this->path
156800 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 s,.$this->notPaths);.}..if.($thi
156820 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 s->sort).{.$iteratorAggregate.=.
156840 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 new.Iterator\SortableIterator($i
156860 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 terator,.$this->sort);.$iterator
156880 20 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 .=.$iteratorAggregate->getIterat
1568a0 6f 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a or();.}..return.$iterator;.}....
1568c0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 41 64 61 70 74 65 72 28 41 .private.function.buildAdapter(A
1568e0 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 29 0a 7b 0a 72 65 74 75 dapterInterface.$adapter).{.retu
156900 72 6e 20 24 61 64 61 70 74 65 72 0a 2d 3e 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 74 68 rn.$adapter.->setFollowLinks($th
156920 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 2d 3e 73 65 74 44 65 70 74 68 73 28 24 74 68 is->followLinks).->setDepths($th
156940 69 73 2d 3e 64 65 70 74 68 73 29 0a 2d 3e 73 65 74 4d 6f 64 65 28 24 74 68 69 73 2d 3e 6d 6f 64 is->depths).->setMode($this->mod
156960 65 29 0a 2d 3e 73 65 74 45 78 63 6c 75 64 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 0a e).->setExclude($this->exclude).
156980 2d 3e 73 65 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 29 0a 2d 3e 73 65 74 4e 6f ->setNames($this->names).->setNo
1569a0 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 0a 2d 3e 73 65 74 43 6f 6e tNames($this->notNames).->setCon
1569c0 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 29 0a 2d 3e 73 65 74 4e 6f 74 43 tains($this->contains).->setNotC
1569e0 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 0a 2d 3e 73 65 ontains($this->notContains).->se
156a00 74 53 69 7a 65 73 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 0a 2d 3e 73 65 74 44 61 74 65 73 28 tSizes($this->sizes).->setDates(
156a20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 0a 2d 3e 73 65 74 46 69 6c 74 65 72 73 28 24 74 68 69 73 $this->dates).->setFilters($this
156a40 2d 3e 66 69 6c 74 65 72 73 29 0a 2d 3e 73 65 74 53 6f 72 74 28 24 74 68 69 73 2d 3e 73 6f 72 74 ->filters).->setSort($this->sort
156a60 29 0a 2d 3e 73 65 74 50 61 74 68 28 24 74 68 69 73 2d 3e 70 61 74 68 73 29 0a 2d 3e 73 65 74 4e ).->setPath($this->paths).->setN
156a80 6f 74 50 61 74 68 28 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 0a 2d 3e 69 67 6e 6f 72 65 otPath($this->notPaths).->ignore
156aa0 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 UnreadableDirs($this->ignoreUnre
156ac0 61 64 61 62 6c 65 44 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 adableDirs);.}.....private.funct
156ae0 69 6f 6e 20 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 29 0a 7b 0a 24 74 ion.resetAdapterSelection().{.$t
156b00 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 his->adapters.=.array_map(functi
156b20 6f 6e 20 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 24 70 72 6f 70 65 72 on.(array.$properties).{.$proper
156b40 74 69 65 73 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 ties['selected'].=.false;..retur
156b60 6e 20 24 70 72 6f 70 65 72 74 69 65 73 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 n.$properties;.},.$this->adapter
156b80 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 44 65 66 61 s);.}..private.function.initDefa
156ba0 75 6c 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 ultAdapters().{.if.(null.===.$th
156bc0 69 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 is->adapters).{.$this->adapters.
156be0 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 0a 2d 3e 61 64 64 41 64 61 70 74 65 72 28 6e 65 =.array();.$this.->addAdapter(ne
156c00 77 20 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 28 29 29 0a 2d 3e 61 64 64 41 64 61 70 74 65 72 w.GnuFindAdapter()).->addAdapter
156c20 28 6e 65 77 20 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 28 29 29 0a 2d 3e 61 64 64 41 64 61 70 (new.BsdFindAdapter()).->addAdap
156c40 74 65 72 28 6e 65 77 20 50 68 70 41 64 61 70 74 65 72 28 29 2c 20 2d 35 30 29 0a 2d 3e 73 65 74 ter(new.PhpAdapter(),.-50).->set
156c60 41 64 61 70 74 65 72 28 27 70 68 70 27 29 0a 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 Adapter('php').;.}.}.........pri
156c80 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 44 69 72 28 24 64 69 72 29 vate.function.normalizeDir($dir)
156ca0 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 64 69 72 2c 20 27 2f 27 2e 5c 44 49 52 45 43 .{.return.rtrim($dir,.'/'.\DIREC
156cc0 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a TORY_SEPARATOR);.}.}.<?php......
156ce0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
156d00 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a \Finder;........................
156d20 63 6c 61 73 73 20 47 6c 6f 62 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 class.Glob.{...........public.st
156d40 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 67 6c 6f 62 2c 20 24 73 74 atic.function.toRegex($glob,.$st
156d60 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 3d 20 74 72 75 65 2c 20 24 73 74 72 69 63 74 57 69 rictLeadingDot.=.true,.$strictWi
156d80 6c 64 63 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d ldcardSlash.=.true,.$delimiter.=
156da0 20 27 23 27 29 0a 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 61 .'#').{.$firstByte.=.true;.$esca
156dc0 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 24 69 6e 43 75 72 6c 69 65 73 20 3d 20 30 3b 0a 24 72 ping.=.false;.$inCurlies.=.0;.$r
156de0 65 67 65 78 20 3d 20 27 27 3b 0a 24 73 69 7a 65 47 6c 6f 62 20 3d 20 5c 73 74 72 6c 65 6e 28 24 egex.=.'';.$sizeGlob.=.\strlen($
156e00 67 6c 6f 62 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 73 69 7a 65 47 6c glob);.for.($i.=.0;.$i.<.$sizeGl
156e20 6f 62 3b 20 2b 2b 24 69 29 20 7b 0a 24 63 61 72 20 3d 20 24 67 6c 6f 62 5b 24 69 5d 3b 0a 69 66 ob;.++$i).{.$car.=.$glob[$i];.if
156e40 20 28 24 66 69 72 73 74 42 79 74 65 29 20 7b 0a 69 66 20 28 24 73 74 72 69 63 74 4c 65 61 64 69 .($firstByte).{.if.($strictLeadi
156e60 6e 67 44 6f 74 20 26 26 20 27 2e 27 20 21 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 ngDot.&&.'.'.!==.$car).{.$regex.
156e80 2e 3d 20 27 28 3f 3d 5b 5e 5c 2e 5d 29 27 3b 0a 7d 0a 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 .=.'(?=[^\.])';.}..$firstByte.=.
156ea0 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 66 false;.}..if.('/'.===.$car).{.$f
156ec0 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 6c 69 6d 69 74 irstByte.=.true;.}..if.($delimit
156ee0 65 72 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 er.===.$car.||.'.'.===.$car.||.'
156f00 28 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 29 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 ('.===.$car.||.')'.===.$car.||.'
156f20 7c 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2b 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 |'.===.$car.||.'+'.===.$car.||.'
156f40 5e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 24 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 ^'.===.$car.||.'$'.===.$car).{.$
156f60 72 65 67 65 78 20 2e 3d 20 22 5c 5c 24 63 61 72 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2a 27 regex..=."\\$car";.}.elseif.('*'
156f80 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 .===.$car).{.$regex..=.$escaping
156fa0 20 3f 20 27 5c 5c 2a 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 .?.'\\*'.:.($strictWildcardSlash
156fc0 20 3f 20 27 5b 5e 2f 5d 2a 27 20 3a 20 27 2e 2a 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 3f .?.'[^/]*'.:.'.*');.}.elseif.('?
156fe0 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e '.===.$car).{.$regex..=.$escapin
157000 67 20 3f 20 27 5c 5c 3f 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 g.?.'\\?'.:.($strictWildcardSlas
157020 68 20 3f 20 27 5b 5e 2f 5d 27 20 3a 20 27 2e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 h.?.'[^/]'.:.'.');.}.elseif.('{'
157040 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 .===.$car).{.$regex..=.$escaping
157060 20 3f 20 27 5c 5c 7b 27 20 3a 20 27 28 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 20 .?.'\\{'.:.'(';.if.(!$escaping).
157080 7b 0a 2b 2b 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7d 27 20 {.++$inCurlies;.}.}.elseif.('}'.
1570a0 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 65 73 29 20 7b 0a 24 72 65 67 65 78 ===.$car.&&.$inCurlies).{.$regex
1570c0 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 7d 27 20 3a 20 27 29 27 3b 0a 69 66 20 28 21 ..=.$escaping.?.'}'.:.')';.if.(!
1570e0 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2d 2d 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 $escaping).{.--$inCurlies;.}.}.e
157100 6c 73 65 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 65 lseif.(','.===.$car.&&.$inCurlie
157120 73 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 2c 27 20 3a s).{.$regex..=.$escaping.?.','.:
157140 20 27 7c 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b .'|';.}.elseif.('\\'.===.$car).{
157160 0a 69 66 20 28 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 27 5c 5c 5c .if.($escaping).{.$regex..=.'\\\
157180 5c 27 3b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a \';.$escaping.=.false;.}.else.{.
1571a0 24 65 73 63 61 70 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d $escaping.=.true;.}..continue;.}
1571c0 20 65 6c 73 65 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 63 61 72 3b 0a 7d 0a 24 65 73 63 61 70 .else.{.$regex..=.$car;.}.$escap
1571e0 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 6c 69 6d 69 74 65 ing.=.false;.}..return.$delimite
157200 72 2e 27 5e 27 2e 24 72 65 67 65 78 2e 27 24 27 2e 24 64 65 6c 69 6d 69 74 65 72 3b 0a 7d 0a 7d r.'^'.$regex.'$'.$delimiter;.}.}
157220 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
157240 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a ny\Component\Finder\Iterator;...
157260 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f .......class.CustomFilterIterato
157280 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 r.extends.FilterIterator.{.priva
1572a0 74 65 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 te.$filters.=.array();........pu
1572c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 blic.function.__construct(\Itera
1572e0 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 66 69 6c 74 65 72 73 29 0a 7b tor.$iterator,.array.$filters).{
157300 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 73 20 61 73 20 24 66 69 6c 74 65 72 29 20 7b .foreach.($filters.as.$filter).{
157320 0a 69 66 20 28 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 66 69 6c 74 65 72 29 29 20 7b 0a 74 .if.(!\is_callable($filter)).{.t
157340 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
157360 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c 62 61 63 6b 2e 27 29 3b 0a 7d 0a 7d on('Invalid.PHP.callback.');.}.}
157380 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 3d 20 24 66 69 6c 74 65 72 73 3b 0a 0a 70 61 72 .$this->filters.=.$filters;..par
1573a0 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a ent::__construct($iterator);.}..
1573c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a .....public.function.accept().{.
1573e0 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 66 $fileinfo.=.$this->current();..f
157400 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 61 73 20 24 66 69 6c 74 65 oreach.($this->filters.as.$filte
157420 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 r).{.if.(false.===.\call_user_fu
157440 6e 63 28 24 66 69 6c 74 65 72 2c 20 24 66 69 6c 65 69 6e 66 6f 29 29 20 7b 0a 72 65 74 75 72 6e nc($filter,.$fileinfo)).{.return
157460 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f .false;.}.}..return.true;.}.}.<?
157480 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
1574a0 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 73 65 20 Component\Finder\Iterator;..use.
1574c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 Symfony\Component\Finder\Compara
1574e0 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tor\DateComparator;.......class.
157500 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 DateRangeFilterIterator.extends.
157520 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 61 72 FilterIterator.{.private.$compar
157540 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ators.=.array();......public.fun
157560 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 ction.__construct(\Iterator.$ite
157580 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 29 0a 7b 0a 24 74 68 rator,.array.$comparators).{.$th
1575a0 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 3b 0a is->comparators.=.$comparators;.
1575c0 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b .parent::__construct($iterator);
1575e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 .}.......public.function.accept(
157600 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 ).{.$fileinfo.=.$this->current()
157620 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 ;..if.(!file_exists($fileinfo->g
157640 65 74 50 61 74 68 6e 61 6d 65 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d etPathname())).{.return.false;.}
157660 0a 0a 24 66 69 6c 65 64 61 74 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 4d 54 69 6d ..$filedate.=.$fileinfo->getMTim
157680 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 e();.foreach.($this->comparators
1576a0 20 61 73 20 24 63 6f 6d 70 61 72 65 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 72 65 2d 3e 74 .as.$compare).{.if.(!$compare->t
1576c0 65 73 74 28 24 66 69 6c 65 64 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a est($filedate)).{.return.false;.
1576e0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a }.}..return.true;.}.}.<?php.....
157700 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
157720 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 t\Finder\Iterator;.......class.D
157740 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 epthRangeFilterIterator.extends.
157760 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6d 69 6e 44 65 70 FilterIterator.{.private.$minDep
157780 74 68 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f th.=.0;.......public.function.__
1577a0 63 6f 6e 73 74 72 75 63 74 28 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 construct(\RecursiveIteratorIter
1577c0 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 2c 20 24 ator.$iterator,.$minDepth.=.0,.$
1577e0 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 0a 7b 0a 24 74 68 69 73 2d maxDepth.=.PHP_INT_MAX).{.$this-
157800 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 69 6e 44 65 70 74 68 3b 0a 24 69 74 65 72 61 74 6f 72 >minDepth.=.$minDepth;.$iterator
157820 2d 3e 73 65 74 4d 61 78 44 65 70 74 68 28 50 48 50 5f 49 4e 54 5f 4d 41 58 20 3d 3d 3d 20 24 6d ->setMaxDepth(PHP_INT_MAX.===.$m
157840 61 78 44 65 70 74 68 20 3f 20 2d 31 20 3a 20 24 6d 61 78 44 65 70 74 68 29 3b 0a 0a 70 61 72 65 axDepth.?.-1.:.$maxDepth);..pare
157860 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a nt::__construct($iterator);.}...
157880 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 72 ....public.function.accept().{.r
1578a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 2d eturn.$this->getInnerIterator()-
1578c0 3e 67 65 74 44 65 70 74 68 28 29 20 3e 3d 20 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 3b 0a >getDepth().>=.$this->minDepth;.
1578e0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
157900 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b mfony\Component\Finder\Iterator;
157920 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c .......class.ExcludeDirectoryFil
157940 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 terIterator.extends.FilterIterat
157960 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 or.implements.\RecursiveIterator
157980 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 69 .{.private.$iterator;.private.$i
1579a0 73 52 65 63 75 72 73 69 76 65 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c 75 64 65 64 44 69 72 sRecursive;.private.$excludedDir
1579c0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c 75 64 65 64 50 61 s.=.array();.private.$excludedPa
1579e0 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ttern;......public.function.__co
157a00 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 nstruct(\Iterator.$iterator,.arr
157a20 61 79 20 24 64 69 72 65 63 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 ay.$directories).{.$this->iterat
157a40 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 or.=.$iterator;.$this->isRecursi
157a60 76 65 20 3d 20 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 52 65 63 75 72 ve.=.$iterator.instanceof.\Recur
157a80 73 69 76 65 49 74 65 72 61 74 6f 72 3b 0a 24 70 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 siveIterator;.$patterns.=.array(
157aa0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 20 61 73 20 24 64 69 72 );.foreach.($directories.as.$dir
157ac0 65 63 74 6f 72 79 29 20 7b 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 72 74 72 69 6d 28 24 64 69 ectory).{.$directory.=.rtrim($di
157ae0 72 65 63 74 6f 72 79 2c 20 27 2f 27 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 52 65 63 rectory,.'/');.if.(!$this->isRec
157b00 75 72 73 69 76 65 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 64 69 72 65 ursive.||.false.!==.strpos($dire
157b20 63 74 6f 72 79 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 73 5b 5d 20 3d 20 70 72 65 ctory,.'/')).{.$patterns[].=.pre
157b40 67 5f 71 75 6f 74 65 28 24 64 69 72 65 63 74 6f 72 79 2c 20 27 23 27 29 3b 0a 7d 20 65 6c 73 65 g_quote($directory,.'#');.}.else
157b60 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 5b 24 64 69 72 65 63 74 6f 72 .{.$this->excludedDirs[$director
157b80 79 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 69 66 20 28 24 70 61 74 74 65 72 6e 73 29 20 7b 0a y].=.true;.}.}.if.($patterns).{.
157ba0 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 20 3d 20 27 23 28 3f 3a 5e 7c $this->excludedPattern.=.'#(?:^|
157bc0 2f 29 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 70 61 74 74 65 72 6e 73 29 2e 27 /)(?:'.implode('|',.$patterns).'
157be0 29 28 3f 3a 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 )(?:/|$)#';.}..parent::__constru
157c00 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ct($iterator);.}.......public.fu
157c20 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 nction.accept().{.if.($this->isR
157c40 65 63 75 72 73 69 76 65 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 ecursive.&&.isset($this->exclude
157c60 64 44 69 72 73 5b 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 5d 29 20 26 26 20 dDirs[$this->getFilename()]).&&.
157c80 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a $this->isDir()).{.return.false;.
157ca0 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 29 20 7b }..if.($this->excludedPattern).{
157cc0 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 20 3f 20 24 74 68 69 73 2d .$path.=.$this->isDir().?.$this-
157ce0 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 >current()->getRelativePathname(
157d00 29 20 3a 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 ).:.$this->current()->getRelativ
157d20 65 50 61 74 68 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c ePath();.$path.=.str_replace('\\
157d40 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 21 70 72 65 67 5f 6d 61 ',.'/',.$path);..return.!preg_ma
157d60 74 63 68 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 2c 20 24 70 61 74 tch($this->excludedPattern,.$pat
157d80 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 h);.}..return.true;.}..public.fu
157da0 6e 63 74 69 6f 6e 20 68 61 73 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.hasChildren().{.return.$t
157dc0 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 26 26 20 24 74 68 69 73 2d 3e 69 74 65 72 61 his->isRecursive.&&.$this->itera
157de0 74 6f 72 2d 3e 68 61 73 43 68 69 6c 64 72 65 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 tor->hasChildren();.}..public.fu
157e00 6e 63 74 69 6f 6e 20 67 65 74 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 24 63 68 69 6c 64 72 65 6e nction.getChildren().{.$children
157e20 20 3d 20 6e 65 77 20 73 65 6c 66 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 .=.new.self($this->iterator->get
157e40 43 68 69 6c 64 72 65 6e 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 63 68 69 6c 64 72 65 6e 2d Children(),.array());.$children-
157e60 3e 65 78 63 6c 75 64 65 64 44 69 72 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 44 >excludedDirs.=.$this->excludedD
157e80 69 72 73 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 20 irs;.$children->excludedPattern.
157ea0 3d 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 =.$this->excludedPattern;..retur
157ec0 6e 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a n.$children;.}.}.<?php..........
157ee0 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
157f00 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 der\Iterator;..@trigger_error('T
157f20 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 46 69 6c 65 50 61 74 68 73 49 74 he.'.__NAMESPACE__.'\FilePathsIt
157f40 65 72 61 74 6f 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 erator.class.is.deprecated.since
157f60 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 .Symfony.2.8.and.will.be.removed
157f80 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a .in.3.0.',.E_USER_DEPRECATED);..
157fa0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c use.Symfony\Component\Finder\Spl
157fc0 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 50 61 74 68 FileInfo;.........class.FilePath
157fe0 73 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 41 72 72 61 79 49 74 65 72 61 74 6f 72 sIterator.extends.\ArrayIterator
158000 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 61 73 65 44 69 72 3b 0a 0a 0a 0a 0a 70 72 69 76 .{....private.$baseDir;.....priv
158020 61 74 65 20 24 62 61 73 65 44 69 72 4c 65 6e 67 74 68 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ate.$baseDirLength;.....private.
158040 24 73 75 62 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 75 62 50 61 74 68 6e 61 $subPath;.....private.$subPathna
158060 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 3b 0a 0a 0a 0a 0a 0a 70 me;.....private.$current;......p
158080 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 ublic.function.__construct(array
1580a0 20 24 70 61 74 68 73 2c 20 24 62 61 73 65 44 69 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 73 65 .$paths,.$baseDir).{.$this->base
1580c0 44 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 4c 65 Dir.=.$baseDir;.$this->baseDirLe
1580e0 6e 67 74 68 20 3d 20 5c 73 74 72 6c 65 6e 28 24 62 61 73 65 44 69 72 29 3b 0a 0a 70 61 72 65 6e ngth.=.\strlen($baseDir);..paren
158100 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a t::__construct($paths);.}.......
158120 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6e 61 6d 65 2c 20 61 .public.function.__call($name,.a
158140 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f rray.$arguments).{.return.\call_
158160 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 75 72 user_func_array(array($this->cur
158180 72 65 6e 74 28 29 2c 20 24 6e 61 6d 65 29 2c 20 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a rent(),.$name),.$arguments);.}..
1581a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b .....public.function.current().{
1581c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .return.$this->current;.}.....pu
1581e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 blic.function.key().{.return.$th
158200 69 73 2d 3e 63 75 72 72 65 6e 74 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 3b 0a 7d 0a 0a 70 is->current->getPathname();.}..p
158220 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a ublic.function.next().{.parent::
158240 6e 65 78 74 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 29 next();.$this->buildProperties()
158260 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a ;.}..public.function.rewind().{.
158280 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 72 parent::rewind();.$this->buildPr
1582a0 6f 70 65 72 74 69 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f operties();.}.....public.functio
1582c0 6e 20 67 65 74 53 75 62 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 n.getSubPath().{.return.$this->s
1582e0 75 62 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ubPath;.}.....public.function.ge
158300 74 53 75 62 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 tSubPathname().{.return.$this->s
158320 75 62 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ubPathname;.}..private.function.
158340 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 29 0a 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 74 buildProperties().{.$absolutePat
158360 68 20 3d 20 70 61 72 65 6e 74 3a 3a 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 h.=.parent::current();..if.($thi
158380 73 2d 3e 62 61 73 65 44 69 72 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 61 62 73 6f 6c 75 74 65 50 s->baseDir.===.substr($absoluteP
1583a0 61 74 68 2c 20 30 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 4c 65 6e 67 74 68 29 29 20 7b ath,.0,.$this->baseDirLength)).{
1583c0 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 6c 74 72 69 6d 28 73 75 62 73 .$this->subPathname.=.ltrim(subs
1583e0 74 72 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 tr($absolutePath,.$this->baseDir
158400 4c 65 6e 67 74 68 29 2c 20 27 2f 5c 5c 27 29 3b 0a 24 64 69 72 20 3d 20 5c 64 69 72 6e 61 6d 65 Length),.'/\\');.$dir.=.\dirname
158420 28 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 73 75 62 ($this->subPathname);.$this->sub
158440 50 61 74 68 20 3d 20 27 2e 27 20 3d 3d 3d 20 24 64 69 72 20 3f 20 27 27 20 3a 20 24 64 69 72 3b Path.=.'.'.===.$dir.?.''.:.$dir;
158460 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 20 3d 20 24 74 68 69 73 .}.else.{.$this->subPath.=.$this
158480 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 27 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 ->subPathname.=.'';.}..$this->cu
1584a0 72 72 65 6e 74 20 3d 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 70 61 72 65 6e 74 3a 3a rrent.=.new.SplFileInfo(parent::
1584c0 63 75 72 72 65 6e 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 2c 20 24 74 68 69 73 current(),.$this->subPath,.$this
1584e0 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ->subPathname);.}.}.<?php.......
158500 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
158520 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c Finder\Iterator;.......class.Fil
158540 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 eTypeFilterIterator.extends.Filt
158560 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 20 erIterator.{.const.ONLY_FILES.=.
158580 31 3b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 20 32 3b 0a 0a 1;.const.ONLY_DIRECTORIES.=.2;..
1585a0 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 private.$mode;......public.funct
1585c0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 ion.__construct(\Iterator.$itera
1585e0 74 6f 72 2c 20 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 tor,.$mode).{.$this->mode.=.$mod
158600 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f e;..parent::__construct($iterato
158620 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 r);.}.......public.function.acce
158640 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e pt().{.$fileinfo.=.$this->curren
158660 74 28 29 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 t();.if.(self::ONLY_DIRECTORIES.
158680 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 26 20 24 74 ===.(self::ONLY_DIRECTORIES.&.$t
1586a0 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 his->mode).&&.$fileinfo->isFile(
1586c0 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c )).{.return.false;.}.elseif.(sel
1586e0 66 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 46 49 f::ONLY_FILES.===.(self::ONLY_FI
158700 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 6e 66 6f 2d LES.&.$this->mode).&&.$fileinfo-
158720 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 >isDir()).{.return.false;.}..ret
158740 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 urn.true;.}.}.<?php...........na
158760 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 mespace.Symfony\Component\Finder
158780 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 63 6f 6e 74 \Iterator;........class.Filecont
1587a0 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 entFilterIterator.extends.Multip
1587c0 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c lePcreFilterIterator.{......publ
1587e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 ic.function.accept().{.if.(!$thi
158800 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 26 26 20 21 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 s->matchRegexps.&&.!$this->noMat
158820 63 68 52 65 67 65 78 70 73 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 chRegexps).{.return.true;.}..$fi
158840 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 leinfo.=.$this->current();..if.(
158860 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 44 69 72 28 29 20 7c 7c 20 21 24 66 69 6c 65 69 6e 66 6f $fileinfo->isDir().||.!$fileinfo
158880 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ->isReadable()).{.return.false;.
1588a0 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 43 6f 6e 74 }..$content.=.$fileinfo->getCont
1588c0 65 6e 74 73 28 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 ents();.if.(!$content).{.return.
1588e0 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 41 63 63 65 70 74 false;.}..return.$this->isAccept
158900 65 64 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ed($content);.}.........protecte
158920 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 d.function.toRegex($str).{.retur
158940 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 n.$this->isRegex($str).?.$str.:.
158960 27 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 74 72 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d '/'.preg_quote($str,.'/').'/';.}
158980 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
1589a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a fony\Component\Finder\Iterator;.
1589c0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 47 6c .use.Symfony\Component\Finder\Gl
1589e0 6f 62 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 ob;.......class.FilenameFilterIt
158a00 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 erator.extends.MultiplePcreFilte
158a20 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rIterator.{......public.function
158a40 20 61 63 63 65 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 41 63 63 65 .accept().{.return.$this->isAcce
158a60 70 74 65 64 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 46 69 6c 65 6e 61 pted($this->current()->getFilena
158a80 6d 65 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 me());.}............protected.fu
158aa0 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.toRegex($str).{.return.$t
158ac0 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 47 6c 6f 62 his->isRegex($str).?.$str.:.Glob
158ae0 3a 3a 74 6f 52 65 67 65 78 28 24 73 74 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ::toRegex($str);.}.}.<?php......
158b00 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
158b20 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 \Finder\Iterator;..........abstr
158b40 61 63 74 20 63 6c 61 73 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 act.class.FilterIterator.extends
158b60 20 5c 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .\FilterIterator.{.......public.
158b80 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 function.rewind().{.if.(\PHP_VER
158ba0 53 49 4f 4e 5f 49 44 20 3e 20 35 30 36 30 37 20 7c 7c 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e SION_ID.>.50607.||.(\PHP_VERSION
158bc0 5f 49 44 20 3e 20 35 30 35 32 33 20 26 26 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c _ID.>.50523.&&.\PHP_VERSION_ID.<
158be0 20 35 30 36 30 30 29 29 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 0a 72 65 .50600)).{.parent::rewind();..re
158c00 74 75 72 6e 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 3b 0a 77 68 69 6c turn;.}..$iterator.=.$this;.whil
158c20 65 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 4f 75 74 65 72 49 74 e.($iterator.instanceof.\OuterIt
158c40 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 erator).{.$innerIterator.=.$iter
158c60 61 74 6f 72 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 ator->getInnerIterator();..if.($
158c80 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 63 75 72 73 69 innerIterator.instanceof.Recursi
158ca0 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 29 20 7b 0a 0a 20 69 66 20 28 24 69 6e veDirectoryIterator).{...if.($in
158cc0 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 69 73 52 65 77 69 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 nerIterator->isRewindable()).{.$
158ce0 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 24 69 6e 6e 65 72 49 74 65 innerIterator->next();.$innerIte
158d00 72 61 74 6f 72 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e rator->rewind();.}.}.elseif.($in
158d20 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 46 69 6c 65 73 79 73 74 nerIterator.instanceof.\Filesyst
158d40 65 6d 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 6e 65 emIterator).{.$innerIterator->ne
158d60 78 74 28 29 3b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 72 65 77 69 6e 64 28 29 3b 0a xt();.$innerIterator->rewind();.
158d80 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 3b 0a 7d }..$iterator.=.$innerIterator;.}
158da0 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ..parent::rewind();.}.}.<?php...
158dc0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
158de0 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 ent\Finder\Iterator;.......abstr
158e00 61 63 74 20 63 6c 61 73 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 act.class.MultiplePcreFilterIter
158e20 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 ator.extends.FilterIterator.{.pr
158e40 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 29 3b otected.$matchRegexps.=.array();
158e60 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 .protected.$noMatchRegexps.=.arr
158e80 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ay();.......public.function.__co
158ea0 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 nstruct(\Iterator.$iterator,.arr
158ec0 61 79 20 24 6d 61 74 63 68 50 61 74 74 65 72 6e 73 2c 20 61 72 72 61 79 20 24 6e 6f 4d 61 74 63 ay.$matchPatterns,.array.$noMatc
158ee0 68 50 61 74 74 65 72 6e 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 50 61 74 74 hPatterns).{.foreach.($matchPatt
158f00 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 erns.as.$pattern).{.$this->match
158f20 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 52 65 67 65 78 28 24 70 61 74 74 Regexps[].=.$this->toRegex($patt
158f40 65 72 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 6f 4d 61 74 63 68 50 61 74 74 65 72 ern);.}..foreach.($noMatchPatter
158f60 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 ns.as.$pattern).{.$this->noMatch
158f80 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 52 65 67 65 78 28 24 70 61 74 74 Regexps[].=.$this->toRegex($patt
158fa0 65 72 6e 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 ern);.}..parent::__construct($it
158fc0 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 erator);.}.............protected
158fe0 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 63 63 65 70 74 65 64 28 24 73 74 72 69 6e 67 29 0a 7b 0a .function.isAccepted($string).{.
159000 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 ..foreach.($this->noMatchRegexps
159020 20 61 73 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 .as.$regex).{.if.(preg_match($re
159040 67 65 78 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d gex,.$string)).{.return.false;.}
159060 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 29 20 7b .}....if.($this->matchRegexps).{
159080 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 61 73 .foreach.($this->matchRegexps.as
1590a0 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 .$regex).{.if.(preg_match($regex
1590c0 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a ,.$string)).{.return.true;.}.}..
1590e0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a return.false;.}....return.true;.
159100 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 }.........protected.function.isR
159120 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 egex($str).{.if.(preg_match('/^(
159140 2e 7b 33 2c 7d 3f 29 5b 69 6d 73 78 75 41 44 55 5d 2a 24 2f 27 2c 20 24 73 74 72 2c 20 24 6d 29 .{3,}?)[imsxuADU]*$/',.$str,.$m)
159160 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 ).{.$start.=.substr($m[1],.0,.1)
159180 3b 0a 24 65 6e 64 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 ;.$end.=.substr($m[1],.-1);..if.
1591a0 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 65 6e 64 29 20 7b 0a 72 65 74 75 72 6e 20 21 70 72 65 67 ($start.===.$end).{.return.!preg
1591c0 5f 6d 61 74 63 68 28 27 2f 5b 2a 3f 5b 3a 61 6c 6e 75 6d 3a 5d 20 5c 5c 5c 5c 5d 2f 27 2c 20 24 _match('/[*?[:alnum:].\\\\]/',.$
1591e0 73 74 61 72 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 61 72 72 61 79 28 start);.}..foreach.(array(array(
159200 27 7b 27 2c 20 27 7d 27 29 2c 20 61 72 72 61 79 28 27 28 27 2c 20 27 29 27 29 2c 20 61 72 72 61 '{',.'}'),.array('(',.')'),.arra
159220 79 28 27 5b 27 2c 20 27 5d 27 29 2c 20 61 72 72 61 79 28 27 3c 27 2c 20 27 3e 27 29 29 20 61 73 y('[',.']'),.array('<',.'>')).as
159240 20 24 64 65 6c 69 6d 69 74 65 72 73 29 20 7b 0a 69 66 20 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 .$delimiters).{.if.($start.===.$
159260 64 65 6c 69 6d 69 74 65 72 73 5b 30 5d 20 26 26 20 24 65 6e 64 20 3d 3d 3d 20 24 64 65 6c 69 6d delimiters[0].&&.$end.===.$delim
159280 69 74 65 72 73 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a iters[1]).{.return.true;.}.}.}..
1592a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 return.false;.}.........abstract
1592c0 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 .protected.function.toRegex($str
1592e0 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 );.}.<?php...........namespace.S
159300 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 ymfony\Component\Finder\Iterator
159320 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f ;........class.PathFilterIterato
159340 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 r.extends.MultiplePcreFilterIter
159360 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 ator.{......public.function.acce
159380 70 74 28 29 0a 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e pt().{.$filename.=.$this->curren
1593a0 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 3b 0a 0a 69 66 20 t()->getRelativePathname();..if.
1593c0 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 ('\\'.===.\DIRECTORY_SEPARATOR).
1593e0 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 {.$filename.=.str_replace('\\',.
159400 27 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 '/',.$filename);.}..return.$this
159420 2d 3e 69 73 41 63 63 65 70 74 65 64 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ->isAccepted($filename);.}......
159440 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 ..........protected.function.toR
159460 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 egex($str).{.return.$this->isReg
159480 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 27 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 ex($str).?.$str.:.'/'.preg_quote
1594a0 28 24 73 74 72 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ($str,.'/').'/';.}.}.<?php......
1594c0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
1594e0 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 \Finder\Iterator;..use.Symfony\C
159500 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 41 63 63 65 73 73 omponent\Finder\Exception\Access
159520 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d DeniedException;.use.Symfony\Com
159540 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a ponent\Finder\SplFileInfo;......
159560 0a 63 6c 61 73 73 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f .class.RecursiveDirectoryIterato
159580 72 20 65 78 74 65 6e 64 73 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 r.extends.\RecursiveDirectoryIte
1595a0 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 rator.{....private.$ignoreUnread
1595c0 61 62 6c 65 44 69 72 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 77 69 6e 64 61 62 6c ableDirs;.....private.$rewindabl
1595e0 65 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 72 6f 6f 74 50 61 74 68 3b 0a 70 72 69 76 61 74 65 e;....private.$rootPath;.private
159600 20 24 73 75 62 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 69 72 65 63 74 6f 72 79 53 65 70 .$subPath;.private.$directorySep
159620 61 72 61 74 6f 72 20 3d 20 27 2f 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e arator.=.'/';.........public.fun
159640 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 24 66 6c 61 67 73 2c ction.__construct($path,.$flags,
159660 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 29 0a .$ignoreUnreadableDirs.=.false).
159680 7b 0a 69 66 20 28 24 66 6c 61 67 73 20 26 20 28 73 65 6c 66 3a 3a 43 55 52 52 45 4e 54 5f 41 53 {.if.($flags.&.(self::CURRENT_AS
1596a0 5f 50 41 54 48 4e 41 4d 45 20 7c 20 73 65 6c 66 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 53 45 4c _PATHNAME.|.self::CURRENT_AS_SEL
1596c0 46 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f F)).{.throw.new.\RuntimeExceptio
1596e0 6e 28 27 54 68 69 73 20 69 74 65 72 61 74 6f 72 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 20 72 65 n('This.iterator.only.support.re
159700 74 75 72 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 61 73 20 66 69 6c 65 69 6e 66 6f 2e 27 29 3b 0a turning.current.as.fileinfo.');.
159720 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 24 66 }..parent::__construct($path,.$f
159740 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 lags);.$this->ignoreUnreadableDi
159760 72 73 20 3d 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 3b 0a 24 74 68 69 rs.=.$ignoreUnreadableDirs;.$thi
159780 73 2d 3e 72 6f 6f 74 50 61 74 68 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 74 68 3b 0a 69 66 s->rootPath.=.(string).$path;.if
1597a0 20 28 27 2f 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 26 .('/'.!==.\DIRECTORY_SEPARATOR.&
1597c0 26 20 21 28 24 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 55 4e 49 58 5f 50 41 54 48 53 29 29 20 &.!($flags.&.self::UNIX_PATHS)).
1597e0 7b 0a 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 20 3d 20 5c 44 {.$this->directorySeparator.=.\D
159800 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 IRECTORY_SEPARATOR;.}.}.......pu
159820 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 0a 0a 69 66 20 28 blic.function.current().{...if.(
159840 6e 75 6c 6c 20 3d 3d 3d 20 24 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 73 null.===.$subPathname.=.$this->s
159860 75 62 50 61 74 68 29 20 7b 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e ubPath).{.$subPathname.=.$this->
159880 73 75 62 50 61 74 68 20 3d 20 28 73 74 72 69 6e 67 29 20 24 74 68 69 73 2d 3e 67 65 74 53 75 62 subPath.=.(string).$this->getSub
1598a0 50 61 74 68 28 29 3b 0a 7d 0a 69 66 20 28 27 27 20 21 3d 3d 20 24 73 75 62 50 61 74 68 6e 61 6d Path();.}.if.(''.!==.$subPathnam
1598c0 65 29 20 7b 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 2e 3d 20 24 74 68 69 73 2d 3e 64 69 72 65 e).{.$subPathname..=.$this->dire
1598e0 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 3b 0a 7d 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 2e ctorySeparator;.}.$subPathname..
159900 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 =.$this->getFilename();..return.
159920 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 74 68 2e new.SplFileInfo($this->rootPath.
159940 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 2e 24 73 75 62 50 61 $this->directorySeparator.$subPa
159960 74 68 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 2c 20 24 73 75 62 50 61 74 68 thname,.$this->subPath,.$subPath
159980 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 name);.}.......public.function.g
1599a0 65 74 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 74 72 79 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d etChildren().{.try.{.$children.=
1599c0 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 68 69 6c 64 72 65 6e 28 29 3b 0a 0a 69 66 20 28 24 63 68 .parent::getChildren();..if.($ch
1599e0 69 6c 64 72 65 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 0a 20 24 63 68 69 ildren.instanceof.self).{...$chi
159a00 6c 64 72 65 6e 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 24 74 ldren->ignoreUnreadableDirs.=.$t
159a20 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 3b 0a 0a 0a 20 24 63 his->ignoreUnreadableDirs;....$c
159a40 68 69 6c 64 72 65 6e 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 26 24 74 68 69 73 2d 3e 72 65 hildren->rewindable.=.&$this->re
159a60 77 69 6e 64 61 62 6c 65 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 72 6f 6f 74 50 61 74 68 20 3d 20 windable;.$children->rootPath.=.
159a80 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 74 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 68 69 6c $this->rootPath;.}..return.$chil
159aa0 64 72 65 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 dren;.}.catch.(\UnexpectedValueE
159ac0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 xception.$e).{.if.($this->ignore
159ae0 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 5c UnreadableDirs).{...return.new.\
159b00 52 65 63 75 72 73 69 76 65 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 61 72 72 61 79 28 29 29 3b RecursiveArrayIterator(array());
159b20 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 41 63 63 65 73 73 44 65 6e 69 65 64 .}.else.{.throw.new.AccessDenied
159b40 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 65 2d 3e Exception($e->getMessage(),.$e->
159b60 67 65 74 43 6f 64 65 28 29 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 getCode(),.$e);.}.}.}.....public
159b80 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d .function.rewind().{.if.(false.=
159ba0 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 65 77 69 6e 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 74 75 ==.$this->isRewindable()).{.retu
159bc0 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 rn;.}....if.(\PHP_VERSION_ID.<.5
159be0 30 35 32 33 20 7c 7c 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 0523.||.\PHP_VERSION_ID.>=.50600
159c00 20 26 26 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 37 29 20 7b 0a 70 .&&.\PHP_VERSION_ID.<.50607).{.p
159c20 61 72 65 6e 74 3a 3a 6e 65 78 74 28 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 arent::next();.}..parent::rewind
159c40 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 ();.}.......public.function.isRe
159c60 77 69 6e 64 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d windable().{.if.(null.!==.$this-
159c80 3e 72 65 77 69 6e 64 61 62 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 >rewindable).{.return.$this->rew
159ca0 69 6e 64 61 62 6c 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e indable;.}....if.(''.===.$this->
159cc0 67 65 74 50 61 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e getPath()).{.return.$this->rewin
159ce0 64 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 dable.=.false;.}..if.(false.!==.
159d00 24 73 74 72 65 61 6d 20 3d 20 40 6f 70 65 6e 64 69 72 28 24 74 68 69 73 2d 3e 67 65 74 50 61 74 $stream.=.@opendir($this->getPat
159d20 68 28 29 29 29 20 7b 0a 24 69 6e 66 6f 73 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 6d 65 74 61 h())).{.$infos.=.stream_get_meta
159d40 5f 64 61 74 61 28 24 73 74 72 65 61 6d 29 3b 0a 63 6c 6f 73 65 64 69 72 28 24 73 74 72 65 61 6d _data($stream);.closedir($stream
159d60 29 3b 0a 0a 69 66 20 28 24 69 6e 66 6f 73 5b 27 73 65 65 6b 61 62 6c 65 27 5d 29 20 7b 0a 72 65 );..if.($infos['seekable']).{.re
159d80 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 74 72 75 65 3b 0a 7d turn.$this->rewindable.=.true;.}
159da0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 66 .}..return.$this->rewindable.=.f
159dc0 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 alse;.}.}.<?php...........namesp
159de0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 ace.Symfony\Component\Finder\Ite
159e00 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 rator;..use.Symfony\Component\Fi
159e20 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 nder\Comparator\NumberComparator
159e40 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 ;.......class.SizeRangeFilterIte
159e60 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 rator.extends.FilterIterator.{.p
159e80 72 69 76 61 74 65 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a rivate.$comparators.=.array();..
159ea0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
159ec0 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 63 6f 6d 70 \Iterator.$iterator,.array.$comp
159ee0 61 72 61 74 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 arators).{.$this->comparators.=.
159f00 24 63 6f 6d 70 61 72 61 74 6f 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 $comparators;..parent::__constru
159f20 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ct($iterator);.}.......public.fu
159f40 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 nction.accept().{.$fileinfo.=.$t
159f60 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 69 6e 66 6f 2d 3e his->current();.if.(!$fileinfo->
159f80 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 6c isFile()).{.return.true;.}..$fil
159fa0 65 73 69 7a 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 66 6f esize.=.$fileinfo->getSize();.fo
159fc0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 61 73 20 24 63 6f reach.($this->comparators.as.$co
159fe0 6d 70 61 72 65 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 72 65 2d 3e 74 65 73 74 28 24 66 69 mpare).{.if.(!$compare->test($fi
15a000 6c 65 73 69 7a 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 lesize)).{.return.false;.}.}..re
15a020 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e turn.true;.}.}.<?php...........n
15a040 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 amespace.Symfony\Component\Finde
15a060 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 72 74 61 62 6c 65 r\Iterator;.......class.Sortable
15a080 49 74 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 Iterator.implements.\IteratorAgg
15a0a0 72 65 67 61 74 65 0a 7b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 3d 20 31 3b regate.{.const.SORT_BY_NAME.=.1;
15a0c0 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 54 59 50 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 53 .const.SORT_BY_TYPE.=.2;.const.S
15a0e0 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 ORT_BY_ACCESSED_TIME.=.3;.const.
15a100 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 SORT_BY_CHANGED_TIME.=.4;.const.
15a120 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d 20 35 3b 0a 0a 70 72 69 76 SORT_BY_MODIFIED_TIME.=.5;..priv
15a140 61 74 65 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 73 6f 72 74 3b 0a 0a 0a ate.$iterator;.private.$sort;...
15a160 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
15a180 28 5c 54 72 61 76 65 72 73 61 62 6c 65 20 24 69 74 65 72 61 74 6f 72 2c 20 24 73 6f 72 74 29 0a (\Traversable.$iterator,.$sort).
15a1a0 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 0a {.$this->iterator.=.$iterator;..
15a1c0 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 if.(self::SORT_BY_NAME.===.$sort
15a1e0 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 ).{.$this->sort.=.function.($a,.
15a200 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 $b).{.return.strcmp($a->getRealp
15a220 61 74 68 28 29 20 3f 3a 20 24 61 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 62 2d 3e ath().?:.$a->getPathname(),.$b->
15a240 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 62 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 getRealpath().?:.$b->getPathname
15a260 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f ());.};.}.elseif.(self::SORT_BY_
15a280 54 59 50 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 TYPE.===.$sort).{.$this->sort.=.
15a2a0 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 69 66 20 28 24 61 2d 3e 69 73 44 69 function.($a,.$b).{.if.($a->isDi
15a2c0 72 28 29 20 26 26 20 24 62 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 r().&&.$b->isFile()).{.return.-1
15a2e0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 2d 3e 69 73 46 69 6c 65 28 29 20 26 26 20 24 62 2d 3e ;.}.elseif.($a->isFile().&&.$b->
15a300 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 isDir()).{.return.1;.}..return.s
15a320 74 72 63 6d 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 61 2d 3e 67 trcmp($a->getRealpath().?:.$a->g
15a340 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 62 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 etPathname(),.$b->getRealpath().
15a360 3f 3a 20 24 62 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 ?:.$b->getPathname());.};.}.else
15a380 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 20 if.(self::SORT_BY_ACCESSED_TIME.
15a3a0 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 ===.$sort).{.$this->sort.=.funct
15a3c0 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 41 54 69 ion.($a,.$b).{.return.$a->getATi
15a3e0 6d 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 41 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 me().-.$b->getATime();.};.}.else
15a400 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d if.(self::SORT_BY_CHANGED_TIME.=
15a420 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 ==.$sort).{.$this->sort.=.functi
15a440 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 43 54 69 6d on.($a,.$b).{.return.$a->getCTim
15a460 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 43 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 e().-.$b->getCTime();.};.}.elsei
15a480 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d f.(self::SORT_BY_MODIFIED_TIME.=
15a4a0 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 ==.$sort).{.$this->sort.=.functi
15a4c0 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 4d 54 69 6d on.($a,.$b).{.return.$a->getMTim
15a4e0 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 4d 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 e().-.$b->getMTime();.};.}.elsei
15a500 66 20 28 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 73 6f 72 74 29 29 20 7b 0a 24 74 68 69 73 2d f.(\is_callable($sort)).{.$this-
15a520 3e 73 6f 72 74 20 3d 20 24 73 6f 72 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 >sort.=.$sort;.}.else.{.throw.ne
15a540 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 w.\InvalidArgumentException('The
15a560 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 20 74 61 6b 65 73 20 61 20 50 48 50 20 63 61 .SortableIterator.takes.a.PHP.ca
15a580 6c 6c 61 62 6c 65 20 6f 72 20 61 20 76 61 6c 69 64 20 62 75 69 6c 74 2d 69 6e 20 73 6f 72 74 20 llable.or.a.valid.built-in.sort.
15a5a0 61 6c 67 6f 72 69 74 68 6d 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 7d algorithm.as.an.argument.');.}.}
15a5c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a ..public.function.getIterator().
15a5e0 7b 0a 24 61 72 72 61 79 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 74 68 {.$array.=.iterator_to_array($th
15a600 69 73 2d 3e 69 74 65 72 61 74 6f 72 2c 20 74 72 75 65 29 3b 0a 75 61 73 6f 72 74 28 24 61 72 72 is->iterator,.true);.uasort($arr
15a620 61 79 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 41 ay,.$this->sort);..return.new.\A
15a640 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 61 72 72 61 79 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 rrayIterator($array);.}.}.Copyri
15a660 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 ght.(c).2004-2018.Fabien.Potenci
15a680 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 er..Permission.is.hereby.granted
15a6a0 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 ,.free.of.charge,.to.any.person.
15a6c0 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 obtaining.a.copy.of.this.softwar
15a6e0 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 e.and.associated.documentation.f
15a700 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 iles.(the."Software"),.to.deal.i
15a720 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 n.the.Software.without.restricti
15a740 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e on,.including.without.limitation
15a760 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 .the.rights.to.use,.copy,.modify
15a780 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 ,.merge,.publish,.distribute,.su
15a7a0 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 blicense,.and/or.sell.copies.of.
15a7c0 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 the.Software,.and.to.permit.pers
15a7e0 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e ons.to.whom.the.Software.is.furn
15a800 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 ished.to.do.so,.subject.to.the.f
15a820 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 ollowing.conditions:..The.above.
15a840 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 copyright.notice.and.this.permis
15a860 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e sion.notice.shall.be.included.in
15a880 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 .all.copies.or.substantial.porti
15a8a0 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 ons.of.the.Software...THE.SOFTWA
15a8c0 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 RE.IS.PROVIDED."AS.IS",.WITHOUT.
15a8e0 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 WARRANTY.OF.ANY.KIND,.EXPRESS.OR
15a900 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 .IMPLIED,.INCLUDING.BUT.NOT.LIMI
15a920 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e TED.TO.THE.WARRANTIES.OF.MERCHAN
15a940 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c TABILITY,.FITNESS.FOR.A.PARTICUL
15a960 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 AR.PURPOSE.AND.NONINFRINGEMENT..
15a980 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 IN.NO.EVENT.SHALL.THE.AUTHORS.OR
15a9a0 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 .COPYRIGHT.HOLDERS.BE.LIABLE.FOR
15a9c0 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 .ANY.CLAIM,.DAMAGES.OR.OTHER.LIA
15a9e0 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 BILITY,.WHETHER.IN.AN.ACTION.OF.
15aa00 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 CONTRACT,.TORT.OR.OTHERWISE,.ARI
15aa20 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 SING.FROM,.OUT.OF.OR.IN.CONNECTI
15aa40 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 ON.WITH.THE.SOFTWARE.OR.THE.USE.
15aa60 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 OR.OTHER.DEALINGS.IN.THE.SOFTWAR
15aa80 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d E..<?php...........namespace.Sym
15aaa0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 40 74 fony\Component\Finder\Shell;..@t
15aac0 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f rigger_error('The.'.__NAMESPACE_
15aae0 5f 2e 27 5c 43 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 _.'\Command.class.is.deprecated.
15ab00 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 since.Symfony.2.8.and.will.be.re
15ab20 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 moved.in.3.0.',.E_USER_DEPRECATE
15ab40 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 D);.......class.Command.{.privat
15ab60 65 20 24 70 61 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 62 69 74 73 20 3d 20 61 72 72 61 79 e.$parent;.private.$bits.=.array
15ab80 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 62 65 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ();.private.$labels.=.array();..
15aba0 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 70 75 62 6c 69 ...private.$errorHandler;..publi
15abc0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 c.function.__construct(Command.$
15abe0 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 20 3d parent.=.null).{.$this->parent.=
15ac00 20 24 70 61 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$parent;.}.......public.functio
15ac20 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6a n.__toString().{.return.$this->j
15ac40 6f 69 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e oin();.}.......public.static.fun
15ac60 63 74 69 6f 6e 20 63 72 65 61 74 65 28 43 6f 6d 6d 61 6e 64 20 24 70 61 72 65 6e 74 20 3d 20 6e ction.create(Command.$parent.=.n
15ac80 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 70 61 72 65 6e 74 29 3b ull).{.return.new.self($parent);
15aca0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .}.........public.static.functio
15acc0 6e 20 65 73 63 61 70 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 n.escape($input).{.return.escape
15ace0 73 68 65 6c 6c 63 6d 64 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c shellcmd($input);.}.........publ
15ad00 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 69 6e 70 75 74 29 ic.static.function.quote($input)
15ad20 0a 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 6e 70 75 74 29 .{.return.escapeshellarg($input)
15ad40 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 ;.}.........public.function.add(
15ad60 24 62 69 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 24 62 69 74 3b 0a 0a 72 $bit).{.$this->bits[].=.$bit;..r
15ad80 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this;.}.........public.fu
15ada0 6e 63 74 69 6f 6e 20 74 6f 70 28 24 62 69 74 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 nction.top($bit).{.array_unshift
15adc0 28 24 74 68 69 73 2d 3e 62 69 74 73 2c 20 24 62 69 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 ($this->bits,.$bit);..foreach.($
15ade0 74 68 69 73 2d 3e 6c 61 62 65 6c 73 20 61 73 20 24 6c 61 62 65 6c 20 3d 3e 20 24 69 6e 64 65 78 this->labels.as.$label.=>.$index
15ae00 29 20 7b 0a 2b 2b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 3b 0a 7d 0a 0a ).{.++$this->labels[$label];.}..
15ae20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 return.$this;.}.........public.f
15ae40 75 6e 63 74 69 6f 6e 20 61 72 67 28 24 61 72 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b unction.arg($arg).{.$this->bits[
15ae60 5d 20 3d 20 73 65 6c 66 3a 3a 71 75 6f 74 65 28 24 61 72 67 29 3b 0a 0a 72 65 74 75 72 6e 20 24 ].=.self::quote($arg);..return.$
15ae80 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
15aea0 63 6d 64 28 24 65 73 63 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 cmd($esc).{.$this->bits[].=.self
15aec0 3a 3a 65 73 63 61 70 65 28 24 65 73 63 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ::escape($esc);..return.$this;.}
15aee0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 28 24 ...........public.function.ins($
15af00 6c 61 62 65 6c 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 label).{.if.(isset($this->labels
15af20 5b 24 6c 61 62 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 [$label])).{.throw.new.\RuntimeE
15af40 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 62 65 6c 20 22 25 73 22 20 61 6c 72 xception(sprintf('Label."%s".alr
15af60 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 6c 61 62 65 6c 29 29 3b 0a 7d 0a 0a 24 74 68 69 eady.exists.',.$label));.}..$thi
15af80 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 29 3b s->bits[].=.self::create($this);
15afa0 0a 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 20 3d 20 5c 63 6f 75 6e 74 28 .$this->labels[$label].=.\count(
15afc0 24 74 68 69 73 2d 3e 62 69 74 73 29 20 2d 20 31 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d $this->bits).-.1;..return.$this-
15afe0 3e 62 69 74 73 5b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 5d 3b 0a 7d 0a >bits[$this->labels[$label]];.}.
15b000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6c ..........public.function.get($l
15b020 61 62 65 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 abel).{.if.(!isset($this->labels
15b040 5b 24 6c 61 62 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 [$label])).{.throw.new.\RuntimeE
15b060 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 62 65 6c 20 22 25 73 22 20 64 6f 65 xception(sprintf('Label."%s".doe
15b080 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6c 61 62 65 6c 29 29 3b 0a 7d 0a 0a 72 65 74 75 s.not.exist.',.$label));.}..retu
15b0a0 72 6e 20 24 74 68 69 73 2d 3e 62 69 74 73 5b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 rn.$this->bits[$this->labels[$la
15b0c0 62 65 6c 5d 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e bel]];.}.........public.function
15b0e0 20 65 6e 64 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 72 .end().{.if.(null.===.$this->par
15b100 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ent).{.throw.new.\RuntimeExcepti
15b120 6f 6e 28 27 43 61 6c 6c 69 6e 67 20 65 6e 64 20 6f 6e 20 72 6f 6f 74 20 63 6f 6d 6d 61 6e 64 20 on('Calling.end.on.root.command.
15b140 64 6f 65 73 6e 5c 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 doesn\'t.make.sense.');.}..retur
15b160 6e 20 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$this->parent;.}.......public.
15b180 66 75 6e 63 74 69 6f 6e 20 6c 65 6e 67 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 5c 63 6f 75 6e function.length().{.return.\coun
15b1a0 74 28 24 74 68 69 73 2d 3e 62 69 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e t($this->bits);.}.....public.fun
15b1c0 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 ction.setErrorHandler(\Closure.$
15b1e0 65 72 72 6f 72 48 61 6e 64 6c 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 errorHandler).{.$this->errorHand
15b200 6c 65 72 20 3d 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ler.=.$errorHandler;..return.$th
15b220 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 is;.}.....public.function.getErr
15b240 6f 72 48 61 6e 64 6c 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f orHandler().{.return.$this->erro
15b260 72 48 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rHandler;.}.........public.funct
15b280 69 6f 6e 20 65 78 65 63 75 74 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 ion.execute().{.if.(null.===.$er
15b2a0 72 6f 72 48 61 6e 64 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 rorHandler.=.$this->errorHandler
15b2c0 29 20 7b 0a 65 78 65 63 28 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 2c 20 24 6f 75 74 70 75 74 29 ).{.exec($this->join(),.$output)
15b2e0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 ;.}.else.{.$process.=.proc_open(
15b300 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 2c 20 61 72 72 61 79 28 30 20 3d 3e 20 61 72 72 61 79 28 $this->join(),.array(0.=>.array(
15b320 27 70 69 70 65 27 2c 20 27 72 27 29 2c 20 31 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 'pipe',.'r'),.1.=>.array('pipe',
15b340 20 27 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 2c .'w'),.2.=>.array('pipe',.'w')),
15b360 20 24 70 69 70 65 73 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 .$pipes);.$output.=.preg_split('
15b380 7e 28 5c 72 5c 6e 7c 5c 72 7c 5c 6e 29 7e 27 2c 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 ~(\r\n|\r|\n)~',.stream_get_cont
15b3a0 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f ents($pipes[1]),.-1,.PREG_SPLIT_
15b3c0 4e 4f 5f 45 4d 50 54 59 29 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 20 3d 20 73 74 72 65 61 6d 5f NO_EMPTY);..if.($error.=.stream_
15b3e0 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 32 5d 29 29 20 7b 0a 24 65 72 72 6f get_contents($pipes[2])).{.$erro
15b400 72 48 61 6e 64 6c 65 72 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 rHandler($error);.}..proc_close(
15b420 24 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 20 3f 3a 20 $process);.}..return.$output.?:.
15b440 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e array();.}.......public.function
15b460 20 6a 6f 69 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 .join().{.return.implode('.',.ar
15b480 72 61 79 5f 66 69 6c 74 65 72 28 0a 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 ray_filter(.array_map(function.(
15b4a0 24 62 69 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 69 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 $bit).{.return.$bit.instanceof.C
15b4c0 6f 6d 6d 61 6e 64 20 3f 20 24 62 69 74 2d 3e 6a 6f 69 6e 28 29 20 3a 20 28 24 62 69 74 20 3f 3a ommand.?.$bit->join().:.($bit.?:
15b4e0 20 6e 75 6c 6c 29 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 62 69 74 73 29 2c 0a 66 75 6e 63 74 69 6f .null);.},.$this->bits),.functio
15b500 6e 20 28 24 62 69 74 29 20 7b 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 62 69 74 3b n.($bit).{.return.null.!==.$bit;
15b520 20 7d 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .}.));.}..........public.functio
15b540 6e 20 61 64 64 41 74 49 6e 64 65 78 28 24 62 69 74 2c 20 24 69 6e 64 65 78 29 0a 7b 0a 61 72 72 n.addAtIndex($bit,.$index).{.arr
15b560 61 79 5f 73 70 6c 69 63 65 28 24 74 68 69 73 2d 3e 62 69 74 73 2c 20 24 69 6e 64 65 78 2c 20 30 ay_splice($this->bits,.$index,.0
15b580 2c 20 24 62 69 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 20 3f 20 61 72 72 61 79 28 24 ,.$bit.instanceof.self.?.array($
15b5a0 62 69 74 29 20 3a 20 24 62 69 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d bit).:.$bit);..return.$this;.}.}
15b5c0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
15b5e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 40 74 72 69 ny\Component\Finder\Shell;..@tri
15b600 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e gger_error('The.'.__NAMESPACE__.
15b620 27 5c 53 68 65 6c 6c 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 '\Shell.class.is.deprecated.sinc
15b640 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
15b660 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
15b680 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 0a 7b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 55 ......class.Shell.{.const.TYPE_U
15b6a0 4e 49 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 44 41 52 57 49 4e 20 3d 20 32 3b 0a NIX.=.1;.const.TYPE_DARWIN.=.2;.
15b6c0 63 6f 6e 73 74 20 54 59 50 45 5f 43 59 47 57 49 4e 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 54 59 50 const.TYPE_CYGWIN.=.3;.const.TYP
15b6e0 45 5f 57 49 4e 44 4f 57 53 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 42 53 44 20 3d 20 E_WINDOWS.=.4;.const.TYPE_BSD.=.
15b700 35 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 5;.....private.$type;.......publ
15b720 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c ic.function.getType().{.if.(null
15b740 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 .===.$this->type).{.$this->type.
15b760 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 54 79 70 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 =.$this->guessType();.}..return.
15b780 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this->type;.}.........public.fu
15b7a0 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 69 nction.testCommand($command).{.i
15b7c0 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 65 78 65 63 27 29 29 20 7b 0a f.(!\function_exists('exec')).{.
15b7e0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 74 65 73 74 43 6f 6d 6d 61 6e 64 20 return.false;.}....$testCommand.
15b800 3d 20 27 77 68 69 63 68 20 27 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 50 45 5f 57 49 4e 44 4f =.'which.';.if.(self::TYPE_WINDO
15b820 57 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a 24 74 65 73 74 43 6f 6d 6d 61 WS.===.$this->type).{.$testComma
15b840 6e 64 20 3d 20 27 77 68 65 72 65 20 27 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 65 73 63 nd.=.'where.';.}..$command.=.esc
15b860 61 70 65 73 68 65 6c 6c 63 6d 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 65 78 65 63 28 24 74 65 apeshellcmd($command);..exec($te
15b880 73 74 43 6f 6d 6d 61 6e 64 2e 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f stCommand.$command,.$output,.$co
15b8a0 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 24 63 6f 64 65 20 26 26 20 5c 63 6f 75 de);..return.0.===.$code.&&.\cou
15b8c0 6e 74 28 24 6f 75 74 70 75 74 29 20 3e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 nt($output).>.0;.}.......private
15b8e0 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 54 79 70 65 28 29 0a 7b 0a 24 6f 73 20 3d 20 73 74 .function.guessType().{.$os.=.st
15b900 72 74 6f 6c 6f 77 65 72 28 50 48 50 5f 4f 53 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d rtolower(PHP_OS);..if.(false.!==
15b920 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 63 79 67 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e .strpos($os,.'cygwin')).{.return
15b940 20 73 65 6c 66 3a 3a 54 59 50 45 5f 43 59 47 57 49 4e 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 .self::TYPE_CYGWIN;.}..if.(false
15b960 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a 72 65 .!==.strpos($os,.'darwin')).{.re
15b980 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 44 41 52 57 49 4e 3b 0a 7d 0a 0a 69 66 20 28 66 turn.self::TYPE_DARWIN;.}..if.(f
15b9a0 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 62 73 64 27 29 29 20 7b 0a 72 alse.!==.strpos($os,.'bsd')).{.r
15b9c0 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 42 53 44 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d eturn.self::TYPE_BSD;.}..if.(0.=
15b9e0 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 ==.strpos($os,.'win')).{.return.
15ba00 73 65 6c 66 3a 3a 54 59 50 45 5f 57 49 4e 44 4f 57 53 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 self::TYPE_WINDOWS;.}..return.se
15ba20 6c 66 3a 3a 54 59 50 45 5f 55 4e 49 58 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a lf::TYPE_UNIX;.}.}.<?php........
15ba40 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 ...namespace.Symfony\Component\F
15ba60 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 70 6c 46 69 6c 65 49 6e 66 6f 20 65 inder;.......class.SplFileInfo.e
15ba80 78 74 65 6e 64 73 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 xtends.\SplFileInfo.{.private.$r
15baa0 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 61 74 69 76 65 50 61 elativePath;.private.$relativePa
15bac0 74 68 6e 61 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f thname;.......public.function.__
15bae0 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 construct($file,.$relativePath,.
15bb00 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 $relativePathname).{.parent::__c
15bb20 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 onstruct($file);.$this->relative
15bb40 50 61 74 68 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 24 74 68 69 73 2d 3e 72 65 6c Path.=.$relativePath;.$this->rel
15bb60 61 74 69 76 65 50 61 74 68 6e 61 6d 65 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d ativePathname.=.$relativePathnam
15bb80 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 e;.}.........public.function.get
15bba0 52 65 6c 61 74 69 76 65 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 RelativePath().{.return.$this->r
15bbc0 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 elativePath;.}.........public.fu
15bbe0 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 nction.getRelativePathname().{.r
15bc00 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 7d eturn.$this->relativePathname;.}
15bc20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 .........public.function.getCont
15bc40 65 6e 74 73 28 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 ents().{.set_error_handler(funct
15bc60 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 29 20 ion.($type,.$msg).use.(&$error).
15bc80 7b 20 24 65 72 72 6f 72 20 3d 20 24 6d 73 67 3b 20 7d 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 {.$error.=.$msg;.});.$content.=.
15bca0 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 file_get_contents($this->getPath
15bcc0 6e 61 6d 65 28 29 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 name());.restore_error_handler()
15bce0 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f ;.if.(false.===.$content).{.thro
15bd00 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b w.new.\RuntimeException($error);
15bd20 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a .}..return.$content;.}.}.<?php..
15bd40 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 .........namespace.Symfony\Polyf
15bd60 69 6c 6c 5c 43 74 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 43 ill\Ctype;.........final.class.C
15bd80 74 79 70 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 type.{..........public.static.fu
15bda0 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 nction.ctype_alnum($text).{.$tex
15bdc0 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f t.=.self::convert_int_to_char_fo
15bde0 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 r_ctype($text);..return.\is_stri
15be00 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 ng($text).&&.''.!==.$text.&&.!pr
15be20 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 eg_match('/[^A-Za-z0-9]/',.$text
15be40 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e );.}...........public.static.fun
15be60 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 ction.ctype_alpha($text).{.$text
15be80 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 .=.self::convert_int_to_char_for
15bea0 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e _ctype($text);..return.\is_strin
15bec0 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 g($text).&&.''.!==.$text.&&.!pre
15bee0 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d g_match('/[^A-Za-z]/',.$text);.}
15bf00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ...........public.static.functio
15bf20 6e 20 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 n.ctype_cntrl($text).{.$text.=.s
15bf40 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 elf::convert_int_to_char_for_cty
15bf60 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 pe($text);..return.\is_string($t
15bf80 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 ext).&&.''.!==.$text.&&.!preg_ma
15bfa0 74 63 68 28 27 2f 5b 5e 5c 78 30 30 2d 5c 78 31 66 5c 78 37 66 5d 2f 27 2c 20 24 74 65 78 74 29 tch('/[^\x00-\x1f\x7f]/',.$text)
15bfc0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ;.}...........public.static.func
15bfe0 74 69 6f 6e 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 tion.ctype_digit($text).{.$text.
15c000 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f =.self::convert_int_to_char_for_
15c020 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 ctype($text);..return.\is_string
15c040 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 ($text).&&.''.!==.$text.&&.!preg
15c060 5f 6d 61 74 63 68 28 27 2f 5b 5e 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a _match('/[^0-9]/',.$text);.}....
15c080 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 .......public.static.function.ct
15c0a0 79 70 65 5f 67 72 61 70 68 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a ype_graph($text).{.$text.=.self:
15c0c0 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 :convert_int_to_char_for_ctype($
15c0e0 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 text);..return.\is_string($text)
15c100 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 .&&.''.!==.$text.&&.!preg_match(
15c120 27 2f 5b 5e 21 2d 7e 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a '/[^!-~]/',.$text);.}...........
15c140 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 6c 6f 77 public.static.function.ctype_low
15c160 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 er($text).{.$text.=.self::conver
15c180 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a t_int_to_char_for_ctype($text);.
15c1a0 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 .return.\is_string($text).&&.''.
15c1c0 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 61 2d 7a !==.$text.&&.!preg_match('/[^a-z
15c1e0 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ]/',.$text);.}...........public.
15c200 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 72 69 6e 74 28 24 74 65 78 static.function.ctype_print($tex
15c220 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 t).{.$text.=.self::convert_int_t
15c240 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e o_char_for_ctype($text);..return
15c260 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 .\is_string($text).&&.''.!==.$te
15c280 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 20 2d 7e 5d 2f 27 2c 20 24 74 xt.&&.!preg_match('/[^.-~]/',.$t
15c2a0 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ext);.}...........public.static.
15c2c0 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 75 6e 63 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 function.ctype_punct($text).{.$t
15c2e0 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f ext.=.self::convert_int_to_char_
15c300 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 for_ctype($text);..return.\is_st
15c320 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 ring($text).&&.''.!==.$text.&&.!
15c340 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 21 2d 5c 2f 5c 3a 2d 40 5c 5b 2d 60 5c 7b 2d 7e 5d preg_match('/[^!-\/\:-@\[-`\{-~]
15c360 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 /',.$text);.}...........public.s
15c380 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 tatic.function.ctype_space($text
15c3a0 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f ).{.$text.=.self::convert_int_to
15c3c0 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 _char_for_ctype($text);..return.
15c3e0 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 \is_string($text).&&.''.!==.$tex
15c400 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 5c 73 5d 2f 27 2c 20 24 74 65 78 t.&&.!preg_match('/[^\s]/',.$tex
15c420 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 t);.}...........public.static.fu
15c440 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 nction.ctype_upper($text).{.$tex
15c460 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f t.=.self::convert_int_to_char_fo
15c480 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 r_ctype($text);..return.\is_stri
15c4a0 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 ng($text).&&.''.!==.$text.&&.!pr
15c4c0 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a eg_match('/[^A-Z]/',.$text);.}..
15c4e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
15c500 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 ctype_xdigit($text).{.$text.=.se
15c520 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 lf::convert_int_to_char_for_ctyp
15c540 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 e($text);..return.\is_string($te
15c560 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 xt).&&.''.!==.$text.&&.!preg_mat
15c580 63 68 28 27 2f 5b 5e 41 2d 46 61 2d 66 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a ch('/[^A-Fa-f0-9]/',.$text);.}..
15c5a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 ............private.static.funct
15c5c0 69 6f 6e 20 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 ion.convert_int_to_char_for_ctyp
15c5e0 65 28 24 69 6e 74 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 69 6e 74 28 24 69 6e 74 29 29 20 7b 0a e($int).{.if.(!\is_int($int)).{.
15c600 72 65 74 75 72 6e 20 24 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 74 20 3c 20 2d 31 32 38 20 return.$int;.}..if.($int.<.-128.
15c620 7c 7c 20 24 69 6e 74 20 3e 20 32 35 35 29 20 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 ||.$int.>.255).{.return.(string)
15c640 20 24 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 74 20 3c 20 30 29 20 7b 0a 24 69 6e 74 20 2b .$int;.}..if.($int.<.0).{.$int.+
15c660 3d 20 32 35 36 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c 63 68 72 28 24 69 6e 74 29 3b 0a 7d 0a 7d =.256;.}..return.\chr($int);.}.}
15c680 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e .Copyright.(c).2018.Fabien.Poten
15c6a0 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 cier..Permission.is.hereby.grant
15c6c0 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f ed,.free.of.charge,.to.any.perso
15c6e0 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 n.obtaining.a.copy.of.this.softw
15c700 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e are.and.associated.documentation
15c720 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c .files.(the."Software"),.to.deal
15c740 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 .in.the.Software.without.restric
15c760 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 tion,.including.without.limitati
15c780 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 on.the.rights.to.use,.copy,.modi
15c7a0 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 fy,.merge,.publish,.distribute,.
15c7c0 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f sublicense,.and/or.sell.copies.o
15c7e0 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 f.the.Software,.and.to.permit.pe
15c800 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 rsons.to.whom.the.Software.is.fu
15c820 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 rnished.to.do.so,.subject.to.the
15c840 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 .following.conditions:..The.abov
15c860 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
15c880 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
15c8a0 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 in.all.copies.or.substantial.por
15c8c0 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 tions.of.the.Software...THE.SOFT
15c8e0 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
15c900 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
15c920 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 OR.IMPLIED,.INCLUDING.BUT.NOT.LI
15c940 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
15c960 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 ANTABILITY,.FITNESS.FOR.A.PARTIC
15c980 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 ULAR.PURPOSE.AND.NONINFRINGEMENT
15c9a0 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 ..IN.NO.EVENT.SHALL.THE.AUTHORS.
15c9c0 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 OR.COPYRIGHT.HOLDERS.BE.LIABLE.F
15c9e0 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c OR.ANY.CLAIM,.DAMAGES.OR.OTHER.L
15ca00 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f IABILITY,.WHETHER.IN.AN.ACTION.O
15ca20 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 F.CONTRACT,.TORT.OR.OTHERWISE,.A
15ca40 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 RISING.FROM,.OUT.OF.OR.IN.CONNEC
15ca60 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 TION.WITH.THE.SOFTWARE.OR.THE.US
15ca80 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 E.OR.OTHER.DEALINGS.IN.THE.SOFTW
15caa0 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ARE..<?php...........use.Symfony
15cac0 5c 50 6f 6c 79 66 69 6c 6c 5c 43 74 79 70 65 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 \Polyfill\Ctype.as.p;..if.(!func
15cae0 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 74 79 70 65 5f 61 6c 6e 75 6d 27 29 29 20 7b 0a 66 75 tion_exists('ctype_alnum')).{.fu
15cb00 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 nction.ctype_alnum($text).{.retu
15cb20 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 3b 20 rn.p\Ctype::ctype_alnum($text);.
15cb40 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 20 7b 20 }.function.ctype_alpha($text).{.
15cb60 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 return.p\Ctype::ctype_alpha($tex
15cb80 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 t);.}.function.ctype_cntrl($text
15cba0 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 63 6e 74 72 6c 28 ).{.return.p\Ctype::ctype_cntrl(
15cbc0 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 $text);.}.function.ctype_digit($
15cbe0 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 64 69 text).{.return.p\Ctype::ctype_di
15cc00 67 69 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 67 72 61 git($text);.}.function.ctype_gra
15cc20 70 68 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 ph($text).{.return.p\Ctype::ctyp
15cc40 65 5f 67 72 61 70 68 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 e_graph($text);.}.function.ctype
15cc60 5f 6c 6f 77 65 72 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a _lower($text).{.return.p\Ctype::
15cc80 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 ctype_lower($text);.}.function.c
15cca0 74 79 70 65 5f 70 72 69 6e 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 type_print($text).{.return.p\Cty
15ccc0 70 65 3a 3a 63 74 79 70 65 5f 70 72 69 6e 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 pe::ctype_print($text);.}.functi
15cce0 6f 6e 20 63 74 79 70 65 5f 70 75 6e 63 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 on.ctype_punct($text).{.return.p
15cd00 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 70 75 6e 63 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 \Ctype::ctype_punct($text);.}.fu
15cd20 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 nction.ctype_space($text).{.retu
15cd40 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 3b 20 rn.p\Ctype::ctype_space($text);.
15cd60 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 20 7b 20 }.function.ctype_upper($text).{.
15cd80 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 return.p\Ctype::ctype_upper($tex
15cda0 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 t);.}.function.ctype_xdigit($tex
15cdc0 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 78 64 69 67 69 t).{.return.p\Ctype::ctype_xdigi
15cde0 74 28 24 74 65 78 74 29 3b 20 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 t($text);.}.}.Copyright.(c).2015
15ce00 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 -2018.Fabien.Potencier..Permissi
15ce20 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 on.is.hereby.granted,.free.of.ch
15ce40 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 arge,.to.any.person.obtaining.a.
15ce60 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 copy.of.this.software.and.associ
15ce80 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 ated.documentation.files.(the."S
15cea0 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 oftware"),.to.deal.in.the.Softwa
15cec0 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e re.without.restriction,.includin
15cee0 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a g.without.limitation.the.rights.
15cf00 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 to.use,.copy,.modify,.merge,.pub
15cf20 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e lish,.distribute,.sublicense,.an
15cf40 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 d/or.sell.copies.of.the.Software
15cf60 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 ,.and.to.permit.persons.to.whom.
15cf80 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 the.Software.is.furnished.to.do.
15cfa0 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e so,.subject.to.the.following.con
15cfc0 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f ditions:..The.above.copyright.no
15cfe0 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 tice.and.this.permission.notice.
15d000 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 shall.be.included.in.all.copies.
15d020 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 or.substantial.portions.of.the.S
15d040 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 oftware...THE.SOFTWARE.IS.PROVID
15d060 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 ED."AS.IS",.WITHOUT.WARRANTY.OF.
15d080 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e ANY.KIND,.EXPRESS.OR.IMPLIED,.IN
15d0a0 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 CLUDING.BUT.NOT.LIMITED.TO.THE.W
15d0c0 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 ARRANTIES.OF.MERCHANTABILITY,.FI
15d0e0 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 TNESS.FOR.A.PARTICULAR.PURPOSE.A
15d100 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 ND.NONINFRINGEMENT..IN.NO.EVENT.
15d120 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 SHALL.THE.AUTHORS.OR.COPYRIGHT.H
15d140 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 OLDERS.BE.LIABLE.FOR.ANY.CLAIM,.
15d160 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 DAMAGES.OR.OTHER.LIABILITY,.WHET
15d180 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f HER.IN.AN.ACTION.OF.CONTRACT,.TO
15d1a0 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f RT.OR.OTHERWISE,.ARISING.FROM,.O
15d1c0 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 UT.OF.OR.IN.CONNECTION.WITH.THE.
15d1e0 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 SOFTWARE.OR.THE.USE.OR.OTHER.DEA
15d200 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a LINGS.IN.THE.SOFTWARE..<?php....
15d220 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c .......namespace.Symfony\Polyfil
15d240 6c 5c 4d 62 73 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a l\Mbstring;.....................
15d260 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
15d280 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 4d 62 73 74 72 69 6e 67 0a 7b 0a 63 6f 6e 73 74 20 4d ..final.class.Mbstring.{.const.M
15d2a0 42 5f 43 41 53 45 5f 46 4f 4c 44 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 70 72 69 76 B_CASE_FOLD.=.PHP_INT_MAX;..priv
15d2c0 61 74 65 20 73 74 61 74 69 63 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 ate.static.$encodingList.=.array
15d2e0 28 27 41 53 43 49 49 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 ('ASCII',.'UTF-8');.private.stat
15d300 69 63 20 24 6c 61 6e 67 75 61 67 65 20 3d 20 27 6e 65 75 74 72 61 6c 27 3b 0a 70 72 69 76 61 74 ic.$language.=.'neutral';.privat
15d320 65 20 73 74 61 74 69 63 20 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 e.static.$internalEncoding.=.'UT
15d340 46 2d 38 27 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 46 6f 6c 64 20 3d F-8';.private.static.$caseFold.=
15d360 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 c2 b5 27 2c 20 27 c5 bf 27 2c 20 22 5c 78 43 44 5c .array(.array('..',.'..',."\xCD\
15d380 78 38 35 22 2c 20 27 cf 82 27 2c 20 22 5c 78 43 46 5c 78 39 30 22 2c 20 22 5c 78 43 46 5c 78 39 x85",.'..',."\xCF\x90",."\xCF\x9
15d3a0 31 22 2c 20 22 5c 78 43 46 5c 78 39 35 22 2c 20 22 5c 78 43 46 5c 78 39 36 22 2c 20 22 5c 78 43 1",."\xCF\x95",."\xCF\x96",."\xC
15d3c0 46 5c 78 42 30 22 2c 20 22 5c 78 43 46 5c 78 42 31 22 2c 20 22 5c 78 43 46 5c 78 42 35 22 2c 20 F\xB0",."\xCF\xB1",."\xCF\xB5",.
15d3e0 22 5c 78 45 31 5c 78 42 41 5c 78 39 42 22 2c 20 22 5c 78 45 31 5c 78 42 45 5c 78 42 45 22 29 2c "\xE1\xBA\x9B",."\xE1\xBE\xBE"),
15d400 0a 61 72 72 61 79 28 27 ce bc 27 2c 20 27 73 27 2c 20 27 ce b9 27 2c 20 27 cf 83 27 2c 20 27 ce .array('..',.'s',.'..',.'..',.'.
15d420 b2 27 2c 20 27 ce b8 27 2c 20 27 cf 86 27 2c 20 27 cf 80 27 2c 20 27 ce ba 27 2c 20 27 cf 81 27 .',.'..',.'..',.'..',.'..',.'..'
15d440 2c 20 27 ce b5 27 2c 20 22 5c 78 45 31 5c 78 42 39 5c 78 41 31 22 2c 20 27 ce b9 27 29 2c 0a 29 ,.'..',."\xE1\xB9\xA1",.'..'),.)
15d460 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e ;..public.static.function.mb_con
15d480 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 vert_encoding($s,.$toEncoding,.$
15d4a0 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 5c 69 73 5f 61 fromEncoding.=.null).{.if.(\is_a
15d4c0 72 72 61 79 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d rray($fromEncoding).||.false.!==
15d4e0 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 2c 27 29 29 20 7b 0a 24 .strpos($fromEncoding,.',')).{.$
15d500 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 fromEncoding.=.self::mb_detect_e
15d520 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 20 65 6c ncoding($s,.$fromEncoding);.}.el
15d540 73 65 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e se.{.$fromEncoding.=.self::getEn
15d560 63 6f 64 69 6e 67 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 24 74 6f 45 6e 63 coding($fromEncoding);.}..$toEnc
15d580 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 74 6f 45 6e 63 oding.=.self::getEncoding($toEnc
15d5a0 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 42 41 53 45 36 34 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 oding);..if.('BASE64'.===.$fromE
15d5c0 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 73 ncoding).{.$s.=.base64_decode($s
15d5e0 29 3b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 3b 0a );.$fromEncoding.=.$toEncoding;.
15d600 7d 0a 0a 69 66 20 28 27 42 41 53 45 36 34 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 }..if.('BASE64'.===.$toEncoding)
15d620 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 73 29 3b 0a 7d 0a 0a .{.return.base64_encode($s);.}..
15d640 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 if.('HTML-ENTITIES'.===.$toEncod
15d660 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 20 7b ing.||.'HTML'.===.$toEncoding).{
15d680 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e .if.('HTML-ENTITIES'.===.$fromEn
15d6a0 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 coding.||.'HTML'.===.$fromEncodi
15d6c0 6e 67 29 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 27 57 69 6e 64 6f 77 73 2d 31 ng).{.$fromEncoding.=.'Windows-1
15d6e0 32 35 32 27 3b 0a 7d 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 66 72 6f 6d 45 6e 63 252';.}.if.('UTF-8'.!==.$fromEnc
15d700 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e oding).{.$s.=.iconv($fromEncodin
15d720 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 72 65 74 75 g,.'UTF-8//IGNORE',.$s);.}..retu
15d740 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 5b 5c 78 38 30 rn.preg_replace_callback('/[\x80
15d760 2d 5c 78 46 46 5d 2b 2f 27 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 68 74 6d -\xFF]+/',.array(__CLASS__,.'htm
15d780 6c 5f 65 6e 63 6f 64 69 6e 67 5f 63 61 6c 6c 62 61 63 6b 27 29 2c 20 24 73 29 3b 0a 7d 0a 0a 69 l_encoding_callback'),.$s);.}..i
15d7a0 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f f.('HTML-ENTITIES'.===.$fromEnco
15d7c0 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 68 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 ding).{.$s.=.html_entity_decode(
15d7e0 24 73 2c 20 45 4e 54 5f 43 4f 4d 50 41 54 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 66 72 6f 6d 45 $s,.ENT_COMPAT,.'UTF-8');.$fromE
15d800 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f ncoding.=.'UTF-8';.}..return.ico
15d820 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2e 27 2f nv($fromEncoding,.$toEncoding.'/
15d840 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 /IGNORE',.$s);.}..public.static.
15d860 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 74 function.mb_convert_variables($t
15d880 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 26 24 61 20 3d 20 oEncoding,.$fromEncoding,.&$a.=.
15d8a0 6e 75 6c 6c 2c 20 26 24 62 20 3d 20 6e 75 6c 6c 2c 20 26 24 63 20 3d 20 6e 75 6c 6c 2c 20 26 24 null,.&$b.=.null,.&$c.=.null,.&$
15d8c0 64 20 3d 20 6e 75 6c 6c 2c 20 26 24 65 20 3d 20 6e 75 6c 6c 2c 20 26 24 66 20 3d 20 6e 75 6c 6c d.=.null,.&$e.=.null,.&$f.=.null
15d8e0 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 26 24 61 2c 20 26 24 62 2c 20 26 24 63 2c ).{.$vars.=.array(&$a,.&$b,.&$c,
15d900 20 26 24 64 2c 20 26 24 65 2c 20 26 24 66 29 3b 0a 0a 24 6f 6b 20 3d 20 74 72 75 65 3b 0a 61 72 .&$d,.&$e,.&$f);..$ok.=.true;.ar
15d920 72 61 79 5f 77 61 6c 6b 5f 72 65 63 75 72 73 69 76 65 28 24 76 61 72 73 2c 20 66 75 6e 63 74 69 ray_walk_recursive($vars,.functi
15d940 6f 6e 20 28 26 24 76 29 20 75 73 65 20 28 26 24 6f 6b 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c on.(&$v).use.(&$ok,.$toEncoding,
15d960 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 .$fromEncoding).{.if.(false.===.
15d980 24 76 20 3d 20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 $v.=.Mbstring::mb_convert_encodi
15d9a0 6e 67 28 24 76 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e ng($v,.$toEncoding,.$fromEncodin
15d9c0 67 29 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e g)).{.$ok.=.false;.}.});..return
15d9e0 20 24 6f 6b 20 3f 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a .$ok.?.$fromEncoding.:.false;.}.
15da00 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 .public.static.function.mb_decod
15da20 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 0a 7b 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 5f e_mimeheader($s).{.return.iconv_
15da40 6d 69 6d 65 5f 64 65 63 6f 64 65 28 24 73 2c 20 32 2c 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e mime_decode($s,.2,.self::$intern
15da60 61 6c 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 alEncoding);.}..public.static.fu
15da80 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 nction.mb_encode_mimeheader($s,.
15daa0 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 6f 64 69 $charset.=.null,.$transferEncodi
15dac0 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 6c 69 6e 65 66 65 65 64 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e ng.=.null,.$linefeed.=.null,.$in
15dae0 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 dent.=.null).{.trigger_error('mb
15db00 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 29 20 69 73 20 62 75 67 67 65 64 2e 20 _encode_mimeheader().is.bugged..
15db20 50 6c 65 61 73 65 20 75 73 65 20 69 63 6f 6e 76 5f 6d 69 6d 65 5f 65 6e 63 6f 64 65 28 29 20 69 Please.use.iconv_mime_encode().i
15db40 6e 73 74 65 61 64 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 7d 0a 0a 70 75 62 nstead',.E_USER_WARNING);.}..pub
15db60 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 lic.static.function.mb_decode_nu
15db80 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 6f 64 mericentity($s,.$convmap,.$encod
15dba0 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 20 26 26 ing.=.null).{.if.(null.!==.$s.&&
15dbc0 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 73 29 20 26 26 20 21 28 5c 69 73 5f 6f 62 6a 65 63 74 .!\is_scalar($s).&&.!(\is_object
15dbe0 28 24 73 29 20 26 26 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 73 2c 20 27 5f 5f 74 6f ($s).&&.\method_exists($s,.'__to
15dc00 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 64 String'))).{.trigger_error('mb_d
15dc20 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 ecode_numericentity().expects.pa
15dc40 72 61 6d 65 74 65 72 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 rameter.1.to.be.string,.'.\getty
15dc60 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 pe($s).'.given',.E_USER_WARNING)
15dc80 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 ;..return.null;.}..if.(!\is_arra
15dca0 79 28 24 63 6f 6e 76 6d 61 70 29 20 7c 7c 20 21 24 63 6f 6e 76 6d 61 70 29 20 7b 0a 72 65 74 75 y($convmap).||.!$convmap).{.retu
15dcc0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f 64 rn.false;.}..if.(null.!==.$encod
15dce0 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b ing.&&.!\is_scalar($encoding)).{
15dd00 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 .trigger_error('mb_decode_numeri
15dd20 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 33 20 74 6f centity().expects.parameter.3.to
15dd40 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 .be.string,.'.\gettype($s).'.giv
15dd60 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 27 27 en',.E_USER_WARNING);..return.''
15dd80 3b 20 0a 20 7d 0a 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 ;...}..$s.=.(string).$s;.if.(''.
15dda0 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e ===.$s).{.return.'';.}..$encodin
15ddc0 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 g.=.self::getEncoding($encoding)
15dde0 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a ;..if.('UTF-8'.===.$encoding).{.
15de00 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 $encoding.=.null;.if.(!preg_matc
15de20 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 h('//u',.$s)).{.$s.=.@iconv('UTF
15de40 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 -8',.'UTF-8//IGNORE',.$s);.}.}.e
15de60 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 lse.{.$s.=.iconv($encoding,.'UTF
15de80 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 24 63 6e 74 20 3d 20 66 6c 6f 6f -8//IGNORE',.$s);.}..$cnt.=.floo
15dea0 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 6d 61 70 29 20 2f 20 34 29 20 2a 20 34 3b 0a 0a 66 6f r(\count($convmap)./.4).*.4;..fo
15dec0 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 20 2b 3d 20 34 29 20 7b r.($i.=.0;.$i.<.$cnt;.$i.+=.4).{
15dee0 0a 0a 20 24 63 6f 6e 76 6d 61 70 5b 24 69 5d 20 2b 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b ...$convmap[$i].+=.$convmap[$i.+
15df00 20 32 5d 3b 0a 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 31 5d 20 2b 3d 20 24 63 6f 6e 76 6d 61 .2];.$convmap[$i.+.1].+=.$convma
15df20 70 5b 24 69 20 2b 20 32 5d 3b 0a 7d 0a 0a 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f p[$i.+.2];.}..$s.=.preg_replace_
15df40 63 61 6c 6c 62 61 63 6b 28 27 2f 26 23 28 3f 3a 30 2a 28 5b 30 2d 39 5d 2b 29 7c 78 30 2a 28 5b callback('/&#(?:0*([0-9]+)|x0*([
15df60 30 2d 39 61 2d 66 41 2d 46 5d 2b 29 29 28 3f 21 26 29 3b 3f 2f 27 2c 20 66 75 6e 63 74 69 6f 6e 0-9a-fA-F]+))(?!&);?/',.function
15df80 20 28 61 72 72 61 79 20 24 6d 29 20 75 73 65 20 28 24 63 6e 74 2c 20 24 63 6f 6e 76 6d 61 70 29 .(array.$m).use.($cnt,.$convmap)
15dfa0 20 7b 0a 24 63 20 3d 20 69 73 73 65 74 28 24 6d 5b 32 5d 29 20 3f 20 28 69 6e 74 29 20 68 65 78 .{.$c.=.isset($m[2]).?.(int).hex
15dfc0 64 65 63 28 24 6d 5b 32 5d 29 20 3a 20 24 6d 5b 31 5d 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b dec($m[2]).:.$m[1];.for.($i.=.0;
15dfe0 20 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 20 2b 3d 20 34 29 20 7b 0a 69 66 20 28 24 63 20 3e 3d .$i.<.$cnt;.$i.+=.4).{.if.($c.>=
15e000 20 24 63 6f 6e 76 6d 61 70 5b 24 69 5d 20 26 26 20 24 63 20 3c 3d 20 24 63 6f 6e 76 6d 61 70 5b .$convmap[$i].&&.$c.<=.$convmap[
15e020 24 69 20 2b 20 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 $i.+.1]).{.return.Mbstring::mb_c
15e040 68 72 28 24 63 20 2d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 32 5d 29 3b 0a 7d 0a 7d 0a 0a hr($c.-.$convmap[$i.+.2]);.}.}..
15e060 72 65 74 75 72 6e 20 24 6d 5b 30 5d 3b 0a 7d 2c 20 24 73 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 return.$m[0];.},.$s);..if.(null.
15e080 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d 0a 0a 72 ===.$encoding).{.return.$s;.}..r
15e0a0 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 2e 27 eturn.iconv('UTF-8',.$encoding.'
15e0c0 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 //IGNORE',.$s);.}..public.static
15e0e0 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 .function.mb_encode_numericentit
15e100 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c y($s,.$convmap,.$encoding.=.null
15e120 2c 20 24 69 73 5f 68 65 78 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d ,.$is_hex.=.false).{.if.(null.!=
15e140 3d 20 24 73 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 73 29 20 26 26 20 21 28 5c 69 73 =.$s.&&.!\is_scalar($s).&&.!(\is
15e160 5f 6f 62 6a 65 63 74 28 24 73 29 20 26 26 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 73 _object($s).&&.\method_exists($s
15e180 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f ,.'__toString'))).{.trigger_erro
15e1a0 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 r('mb_encode_numericentity().exp
15e1c0 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 ects.parameter.1.to.be.string,.'
15e1e0 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 .\gettype($s).'.given',.E_USER_W
15e200 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 21 5c ARNING);..return.null;.}..if.(!\
15e220 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 76 6d 61 70 29 20 7c 7c 20 21 24 63 6f 6e 76 6d 61 70 29 is_array($convmap).||.!$convmap)
15e240 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d .{.return.false;.}..if.(null.!==
15e260 20 24 65 6e 63 6f 64 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 65 6e 63 6f 64 .$encoding.&&.!\is_scalar($encod
15e280 69 6e 67 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 ing)).{.trigger_error('mb_encode
15e2a0 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 _numericentity().expects.paramet
15e2c0 65 72 20 33 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 er.3.to.be.string,.'.\gettype($s
15e2e0 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 ).'.given',.E_USER_WARNING);..re
15e300 74 75 72 6e 20 6e 75 6c 6c 3b 20 0a 20 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 73 turn.null;...}..if.(null.!==.$is
15e320 5f 68 65 78 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 69 73 5f 68 65 78 29 29 20 7b 0a _hex.&&.!\is_scalar($is_hex)).{.
15e340 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 trigger_error('mb_encode_numeric
15e360 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 34 20 74 6f 20 entity().expects.parameter.4.to.
15e380 62 65 20 62 6f 6f 6c 65 61 6e 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 be.boolean,.'.\gettype($s).'.giv
15e3a0 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 en',.E_USER_WARNING);..return.nu
15e3c0 6c 6c 3b 0a 7d 0a 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 ll;.}..$s.=.(string).$s;.if.(''.
15e3e0 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e ===.$s).{.return.'';.}..$encodin
15e400 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 g.=.self::getEncoding($encoding)
15e420 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a ;..if.('UTF-8'.===.$encoding).{.
15e440 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 $encoding.=.null;.if.(!preg_matc
15e460 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 h('//u',.$s)).{.$s.=.@iconv('UTF
15e480 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 -8',.'UTF-8//IGNORE',.$s);.}.}.e
15e4a0 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 lse.{.$s.=.iconv($encoding,.'UTF
15e4c0 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 -8//IGNORE',.$s);.}..static.$ule
15e4e0 6e 4d 61 73 6b 20 3d 20 61 72 72 61 79 28 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 nMask.=.array("\xC0".=>.2,."\xD0
15e500 22 20 3d 3e 20 32 2c 20 22 5c 78 45 30 22 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 ".=>.2,."\xE0".=>.3,."\xF0".=>.4
15e520 29 3b 0a 0a 24 63 6e 74 20 3d 20 66 6c 6f 6f 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 6d 61 70 );..$cnt.=.floor(\count($convmap
15e540 29 20 2f 20 34 29 20 2a 20 34 3b 0a 24 69 20 3d 20 30 3b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c )./.4).*.4;.$i.=.0;.$len.=.\strl
15e560 65 6e 28 24 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 27 27 3b 0a 0a 77 68 69 6c 65 20 28 24 69 en($s);.$result.=.'';..while.($i
15e580 20 3c 20 24 6c 65 6e 29 20 7b 0a 24 75 6c 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 .<.$len).{.$ulen.=.$s[$i].<."\x8
15e5a0 30 22 20 3f 20 31 20 3a 20 24 75 6c 65 6e 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 0".?.1.:.$ulenMask[$s[$i].&."\xF
15e5c0 30 22 5d 3b 0a 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 24 75 6c 65 0"];.$uchr.=.substr($s,.$i,.$ule
15e5e0 6e 29 3b 0a 24 69 20 2b 3d 20 24 75 6c 65 6e 3b 0a 24 63 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 6f n);.$i.+=.$ulen;.$c.=.self::mb_o
15e600 72 64 28 24 75 63 68 72 29 3b 0a 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 63 rd($uchr);..for.($j.=.0;.$j.<.$c
15e620 6e 74 3b 20 24 6a 20 2b 3d 20 34 29 20 7b 0a 69 66 20 28 24 63 20 3e 3d 20 24 63 6f 6e 76 6d 61 nt;.$j.+=.4).{.if.($c.>=.$convma
15e640 70 5b 24 6a 5d 20 26 26 20 24 63 20 3c 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 31 5d 29 p[$j].&&.$c.<=.$convmap[$j.+.1])
15e660 20 7b 0a 24 63 4f 66 66 73 65 74 20 3d 20 28 24 63 20 2b 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 .{.$cOffset.=.($c.+.$convmap[$j.
15e680 2b 20 32 5d 29 20 26 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 33 5d 3b 0a 24 72 65 73 75 6c +.2]).&.$convmap[$j.+.3];.$resul
15e6a0 74 20 2e 3d 20 24 69 73 5f 68 65 78 20 3f 20 73 70 72 69 6e 74 66 28 27 26 23 78 25 58 3b 27 2c t..=.$is_hex.?.sprintf('&#x%X;',
15e6c0 20 24 63 4f 66 66 73 65 74 29 20 3a 20 27 26 23 27 2e 24 63 4f 66 66 73 65 74 2e 27 3b 27 3b 0a .$cOffset).:.'&#'.$cOffset.';';.
15e6e0 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 75 63 68 72 continue.2;.}.}.$result..=.$uchr
15e700 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 ;.}..if.(null.===.$encoding).{.r
15e720 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 eturn.$result;.}..return.iconv('
15e740 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 72 UTF-8',.$encoding.'//IGNORE',.$r
15e760 65 73 75 6c 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f esult);.}..public.static.functio
15e780 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e n.mb_convert_case($s,.$mode,.$en
15e7a0 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 coding.=.null).{.$s.=.(string).$
15e7c0 73 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d s;.if.(''.===.$s).{.return.'';.}
15e7e0 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 ..$encoding.=.self::getEncoding(
15e800 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e $encoding);..if.('UTF-8'.===.$en
15e820 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 coding).{.$encoding.=.null;.if.(
15e840 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 !preg_match('//u',.$s)).{.$s.=.@
15e860 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 iconv('UTF-8',.'UTF-8//IGNORE',.
15e880 24 73 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f $s);.}.}.else.{.$s.=.iconv($enco
15e8a0 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 69 ding,.'UTF-8//IGNORE',.$s);.}..i
15e8c0 66 20 28 4d 42 5f 43 41 53 45 5f 54 49 54 4c 45 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 73 74 61 f.(MB_CASE_TITLE.==.$mode).{.sta
15e8e0 74 69 63 20 24 74 69 74 6c 65 52 65 67 65 78 70 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c tic.$titleRegexp.=.null;.if.(nul
15e900 6c 20 3d 3d 3d 20 24 74 69 74 6c 65 52 65 67 65 78 70 29 20 7b 0a 24 74 69 74 6c 65 52 65 67 65 l.===.$titleRegexp).{.$titleRege
15e920 78 70 20 3d 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 28 27 74 69 74 6c 65 43 61 73 65 52 65 67 xp.=.self::getData('titleCaseReg
15e940 65 78 70 27 29 3b 0a 7d 0a 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 exp');.}.$s.=.preg_replace_callb
15e960 61 63 6b 28 24 74 69 74 6c 65 52 65 67 65 78 70 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f ack($titleRegexp,.array(__CLASS_
15e980 5f 2c 20 27 74 69 74 6c 65 5f 63 61 73 65 27 29 2c 20 24 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a _,.'title_case'),.$s);.}.else.{.
15e9a0 69 66 20 28 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 73 74 if.(MB_CASE_UPPER.==.$mode).{.st
15e9c0 61 74 69 63 20 24 75 70 70 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d atic.$upper.=.null;.if.(null.===
15e9e0 20 24 75 70 70 65 72 29 20 7b 0a 24 75 70 70 65 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 .$upper).{.$upper.=.self::getDat
15ea00 61 28 27 75 70 70 65 72 43 61 73 65 27 29 3b 0a 7d 0a 24 6d 61 70 20 3d 20 24 75 70 70 65 72 3b a('upperCase');.}.$map.=.$upper;
15ea20 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 .}.else.{.if.(self::MB_CASE_FOLD
15ea40 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 73 .===.$mode).{.$s.=.str_replace(s
15ea60 65 6c 66 3a 3a 24 63 61 73 65 46 6f 6c 64 5b 30 5d 2c 20 73 65 6c 66 3a 3a 24 63 61 73 65 46 6f elf::$caseFold[0],.self::$caseFo
15ea80 6c 64 5b 31 5d 2c 20 24 73 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 6c 6f 77 65 72 20 3d 20 6e ld[1],.$s);.}..static.$lower.=.n
15eaa0 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 6f 77 65 72 29 20 7b 0a 24 6c 6f 77 ull;.if.(null.===.$lower).{.$low
15eac0 65 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 28 27 6c 6f 77 65 72 43 61 73 65 27 29 3b er.=.self::getData('lowerCase');
15eae0 0a 7d 0a 24 6d 61 70 20 3d 20 24 6c 6f 77 65 72 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 .}.$map.=.$lower;.}..static.$ule
15eb00 6e 4d 61 73 6b 20 3d 20 61 72 72 61 79 28 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 nMask.=.array("\xC0".=>.2,."\xD0
15eb20 22 20 3d 3e 20 32 2c 20 22 5c 78 45 30 22 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 ".=>.2,."\xE0".=>.3,."\xF0".=>.4
15eb40 29 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 73 29 3b 0a );..$i.=.0;.$len.=.\strlen($s);.
15eb60 0a 77 68 69 6c 65 20 28 24 69 20 3c 20 24 6c 65 6e 29 20 7b 0a 24 75 6c 65 6e 20 3d 20 24 73 5b .while.($i.<.$len).{.$ulen.=.$s[
15eb80 24 69 5d 20 3c 20 22 5c 78 38 30 22 20 3f 20 31 20 3a 20 24 75 6c 65 6e 4d 61 73 6b 5b 24 73 5b $i].<."\x80".?.1.:.$ulenMask[$s[
15eba0 24 69 5d 20 26 20 22 5c 78 46 30 22 5d 3b 0a 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 $i].&."\xF0"];.$uchr.=.substr($s
15ebc0 2c 20 24 69 2c 20 24 75 6c 65 6e 29 3b 0a 24 69 20 2b 3d 20 24 75 6c 65 6e 3b 0a 0a 69 66 20 28 ,.$i,.$ulen);.$i.+=.$ulen;..if.(
15ebe0 69 73 73 65 74 28 24 6d 61 70 5b 24 75 63 68 72 5d 29 29 20 7b 0a 24 75 63 68 72 20 3d 20 24 6d isset($map[$uchr])).{.$uchr.=.$m
15ec00 61 70 5b 24 75 63 68 72 5d 3b 0a 24 6e 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 75 63 68 72 ap[$uchr];.$nlen.=.\strlen($uchr
15ec20 29 3b 0a 0a 69 66 20 28 24 6e 6c 65 6e 20 3d 3d 20 24 75 6c 65 6e 29 20 7b 0a 24 6e 6c 65 6e 20 );..if.($nlen.==.$ulen).{.$nlen.
15ec40 3d 20 24 69 3b 0a 64 6f 20 7b 0a 24 73 5b 2d 2d 24 6e 6c 65 6e 5d 20 3d 20 24 75 63 68 72 5b 2d =.$i;.do.{.$s[--$nlen].=.$uchr[-
15ec60 2d 24 75 6c 65 6e 5d 3b 0a 7d 20 77 68 69 6c 65 20 28 24 75 6c 65 6e 29 3b 0a 7d 20 65 6c 73 65 -$ulen];.}.while.($ulen);.}.else
15ec80 20 7b 0a 24 73 20 3d 20 73 75 62 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 2c 20 24 75 63 68 72 .{.$s.=.substr_replace($s,.$uchr
15eca0 2c 20 24 69 20 2d 20 24 75 6c 65 6e 2c 20 24 75 6c 65 6e 29 3b 0a 24 6c 65 6e 20 2b 3d 20 24 6e ,.$i.-.$ulen,.$ulen);.$len.+=.$n
15ecc0 6c 65 6e 20 2d 20 24 75 6c 65 6e 3b 0a 24 69 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 6e len.-.$ulen;.$i.+=.$nlen.-.$ulen
15ece0 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e ;.}.}.}.}..if.(null.===.$encodin
15ed00 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 g).{.return.$s;.}..return.iconv(
15ed20 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 'UTF-8',.$encoding.'//IGNORE',.$
15ed40 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 s);.}..public.static.function.mb
15ed60 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e _internal_encoding($encoding.=.n
15ed80 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b ull).{.if.(null.===.$encoding).{
15eda0 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b .return.self::$internalEncoding;
15edc0 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e .}..$encoding.=.self::getEncodin
15ede0 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 g($encoding);..if.('UTF-8'.===.$
15ee00 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e encoding.||.false.!==.@iconv($en
15ee20 63 6f 64 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 27 20 27 29 29 20 7b 0a 73 65 6c 66 3a coding,.$encoding,.'.')).{.self:
15ee40 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 20 3d 20 24 65 6e 63 6f 64 69 6e 67 3b 0a :$internalEncoding.=.$encoding;.
15ee60 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d .return.true;.}..return.false;.}
15ee80 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 ..public.static.function.mb_lang
15eea0 75 61 67 65 28 24 6c 61 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d uage($lang.=.null).{.if.(null.==
15eec0 3d 20 24 6c 61 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 =.$lang).{.return.self::$languag
15eee0 65 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 6c 61 6e 67 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 e;.}..switch.($lang.=.strtolower
15ef00 28 24 6c 61 6e 67 29 29 20 7b 0a 63 61 73 65 20 27 75 6e 69 27 3a 0a 63 61 73 65 20 27 6e 65 75 ($lang)).{.case.'uni':.case.'neu
15ef20 74 72 61 6c 27 3a 0a 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 65 20 3d 20 24 6c 61 6e 67 3b 0a tral':.self::$language.=.$lang;.
15ef40 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d .return.true;.}..return.false;.}
15ef60 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 73 74 ..public.static.function.mb_list
15ef80 5f 65 6e 63 6f 64 69 6e 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 55 54 46 _encodings().{.return.array('UTF
15efa0 2d 38 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 -8');.}..public.static.function.
15efc0 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 0a 7b mb_encoding_aliases($encoding).{
15efe0 0a 73 77 69 74 63 68 20 28 73 74 72 74 6f 75 70 70 65 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 .switch.(strtoupper($encoding)).
15f000 7b 0a 63 61 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 72 65 74 {.case.'UTF8':.case.'UTF-8':.ret
15f020 75 72 6e 20 61 72 72 61 79 28 27 75 74 66 38 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c urn.array('utf8');.}..return.fal
15f040 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 se;.}..public.static.function.mb
15f060 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 20 3d 20 6e 75 6c 6c 2c 20 24 65 6e _check_encoding($var.=.null,.$en
15f080 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 coding.=.null).{.if.(null.===.$e
15f0a0 6e 63 6f 64 69 6e 67 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 72 29 20 7b 0a ncoding).{.if.(null.===.$var).{.
15f0c0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 return.false;.}.$encoding.=.self
15f0e0 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 ::$internalEncoding;.}..return.s
15f100 65 6c 66 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c 20 61 72 elf::mb_detect_encoding($var,.ar
15f120 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 ray($encoding)).||.false.!==.@ic
15f140 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 24 76 61 72 29 3b onv($encoding,.$encoding,.$var);
15f160 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 .}..public.static.function.mb_de
15f180 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 tect_encoding($str,.$encodingLis
15f1a0 74 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 72 69 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 t.=.null,.$strict.=.false).{.if.
15f1c0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 20 7b 0a 24 65 6e 63 6f (null.===.$encodingList).{.$enco
15f1e0 64 69 6e 67 4c 69 73 74 20 3d 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a dingList.=.self::$encodingList;.
15f200 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e }.else.{.if.(!\is_array($encodin
15f220 67 4c 69 73 74 29 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f gList)).{.$encodingList.=.array_
15f240 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 map('trim',.explode(',',.$encodi
15f260 6e 67 4c 69 73 74 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 ngList));.}.$encodingList.=.arra
15f280 79 5f 6d 61 70 28 27 73 74 72 74 6f 75 70 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 y_map('strtoupper',.$encodingLis
15f2a0 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 61 73 t);.}..foreach.($encodingList.as
15f2c0 20 24 65 6e 63 29 20 7b 0a 73 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 63 61 73 65 20 27 41 .$enc).{.switch.($enc).{.case.'A
15f2e0 53 43 49 49 27 3a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5c 78 38 30 2d 5c SCII':.if.(!preg_match('/[\x80-\
15f300 78 46 46 5d 2f 27 2c 20 24 73 74 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a xFF]/',.$str)).{.return.$enc;.}.
15f320 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 break;..case.'UTF8':.case.'UTF-8
15f340 27 3a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 74 72 29 29 20 ':.if.(preg_match('//u',.$str)).
15f360 7b 0a 72 65 74 75 72 6e 20 27 55 54 46 2d 38 27 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 {.return.'UTF-8';.}.break;..defa
15f380 75 6c 74 3a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 ult:.if.(0.===.strncmp($enc,.'IS
15f3a0 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a 7d O-8859-',.9)).{.return.$enc;.}.}
15f3c0 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 .}..return.false;.}..public.stat
15f3e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 ic.function.mb_detect_order($enc
15f400 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d odingList.=.null).{.if.(null.===
15f420 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 .$encodingList).{.return.self::$
15f440 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 encodingList;.}..if.(!\is_array(
15f460 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 $encodingList)).{.$encodingList.
15f480 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c =.array_map('trim',.explode(',',
15f4a0 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 .$encodingList));.}.$encodingLis
15f4c0 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 75 70 70 65 72 27 2c 20 24 65 6e 63 t.=.array_map('strtoupper',.$enc
15f4e0 6f 64 69 6e 67 4c 69 73 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c odingList);..foreach.($encodingL
15f500 69 73 74 20 61 73 20 24 65 6e 63 29 20 7b 0a 73 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 64 ist.as.$enc).{.switch.($enc).{.d
15f520 65 66 61 75 6c 74 3a 0a 69 66 20 28 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 efault:.if.(strncmp($enc,.'ISO-8
15f540 38 35 39 2d 27 2c 20 39 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 20 63 859-',.9)).{.return.false;.}...c
15f560 61 73 65 20 27 41 53 43 49 49 27 3a 0a 63 61 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 ase.'ASCII':.case.'UTF8':.case.'
15f580 55 54 46 2d 38 27 3a 0a 7d 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 UTF-8':.}.}..self::$encodingList
15f5a0 20 3d 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a .=.$encodingList;..return.true;.
15f5c0 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 }..public.static.function.mb_str
15f5e0 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 len($s,.$encoding.=.null).{.$enc
15f600 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 oding.=.self::getEncoding($encod
15f620 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 ing);.if.('CP850'.===.$encoding.
15f640 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 ||.'ASCII'.===.$encoding).{.retu
15f660 72 6e 20 5c 73 74 72 6c 65 6e 28 24 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 40 69 63 6f 6e 76 rn.\strlen($s);.}..return.@iconv
15f680 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 _strlen($s,.$encoding);.}..publi
15f6a0 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 68 61 79 c.static.function.mb_strpos($hay
15f6c0 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e stack,.$needle,.$offset.=.0,.$en
15f6e0 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c coding.=.null).{.$encoding.=.sel
15f700 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 f::getEncoding($encoding);.if.('
15f720 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 CP850'.===.$encoding.||.'ASCII'.
15f740 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 70 6f 73 28 24 ===.$encoding).{.return.strpos($
15f760 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 0a haystack,.$needle,.$offset);.}..
15f780 24 6e 65 65 64 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 65 65 64 6c 65 3b 0a 69 66 20 28 $needle.=.(string).$needle;.if.(
15f7a0 27 27 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 ''.===.$needle).{.trigger_error(
15f7c0 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 3a 20 45 6d 70 74 79 20 64 65 6c 69 6d 69 74 65 72 27 2c 20 __METHOD__.':.Empty.delimiter',.
15f7e0 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a E_USER_WARNING);..return.false;.
15f800 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b }..return.iconv_strpos($haystack
15f820 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a ,.$needle,.$offset,.$encoding);.
15f840 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 }..public.static.function.mb_str
15f860 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 rpos($haystack,.$needle,.$offset
15f880 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 .=.0,.$encoding.=.null).{.$encod
15f8a0 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e ing.=.self::getEncoding($encodin
15f8c0 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c g);.if.('CP850'.===.$encoding.||
15f8e0 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e .'ASCII'.===.$encoding).{.return
15f900 20 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 .strrpos($haystack,.$needle,.$of
15f920 66 73 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 66 66 73 65 74 20 21 3d 20 28 69 6e 74 29 20 24 fset);.}..if.($offset.!=.(int).$
15f940 6f 66 66 73 65 74 29 20 7b 0a 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 66 20 offset).{.$offset.=.0;.}.elseif.
15f960 28 24 6f 66 66 73 65 74 20 3d 20 28 69 6e 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 69 66 20 28 ($offset.=.(int).$offset).{.if.(
15f980 24 6f 66 66 73 65 74 20 3c 20 30 29 20 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a $offset.<.0).{.$haystack.=.self:
15f9a0 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 6f 66 66 73 65 74 :mb_substr($haystack,.0,.$offset
15f9c0 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 ,.$encoding);.$offset.=.0;.}.els
15f9e0 65 20 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 e.{.$haystack.=.self::mb_substr(
15fa00 24 68 61 79 73 74 61 63 6b 2c 20 24 6f 66 66 73 65 74 2c 20 32 31 34 37 34 38 33 36 34 37 2c 20 $haystack,.$offset,.2147483647,.
15fa20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 7d 0a 0a 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 $encoding);.}.}..$pos.=.iconv_st
15fa40 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 rrpos($haystack,.$needle,.$encod
15fa60 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3f 20 24 ing);..return.false.!==.$pos.?.$
15fa80 6f 66 66 73 65 74 20 2b 20 24 70 6f 73 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 offset.+.$pos.:.false;.}..public
15faa0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 .static.function.mb_strtolower($
15fac0 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 s,.$encoding.=.null).{.return.se
15fae0 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f lf::mb_convert_case($s,.MB_CASE_
15fb00 4c 4f 57 45 52 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 LOWER,.$encoding);.}..public.sta
15fb20 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 24 tic.function.mb_strtoupper($s,.$
15fb40 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a encoding.=.null).{.return.self::
15fb60 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 mb_convert_case($s,.MB_CASE_UPPE
15fb80 52 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 R,.$encoding);.}..public.static.
15fba0 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 function.mb_substitute_character
15fbc0 28 24 63 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 63 ($c.=.null).{.if.(0.===.strcasec
15fbe0 6d 70 28 24 63 2c 20 27 6e 6f 6e 65 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d mp($c,.'none')).{.return.true;.}
15fc00 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 63 20 3f 20 66 61 6c 73 65 20 3a 20 27 ..return.null.!==.$c.?.false.:.'
15fc20 6e 6f 6e 65 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e none';.}..public.static.function
15fc40 20 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d .mb_substr($s,.$start,.$length.=
15fc60 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f .null,.$encoding.=.null).{.$enco
15fc80 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 ding.=.self::getEncoding($encodi
15fca0 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c ng);.if.('CP850'.===.$encoding.|
15fcc0 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 |.'ASCII'.===.$encoding).{.retur
15fce0 6e 20 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c n.substr($s,.$start,.null.===.$l
15fd00 65 6e 67 74 68 20 3f 20 32 31 34 37 34 38 33 36 34 37 20 3a 20 24 6c 65 6e 67 74 68 29 3b 0a 7d ength.?.2147483647.:.$length);.}
15fd20 0a 0a 69 66 20 28 24 73 74 61 72 74 20 3c 20 30 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 69 63 6f ..if.($start.<.0).{.$start.=.ico
15fd40 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 20 2b 20 24 73 74 61 72 nv_strlen($s,.$encoding).+.$star
15fd60 74 3b 0a 69 66 20 28 24 73 74 61 72 74 20 3c 20 30 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 30 3b t;.if.($start.<.0).{.$start.=.0;
15fd80 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6c .}.}..if.(null.===.$length).{.$l
15fda0 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 34 37 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c ength.=.2147483647;.}.elseif.($l
15fdc0 65 6e 67 74 68 20 3c 20 30 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 69 63 6f 6e 76 5f 73 74 72 ength.<.0).{.$length.=.iconv_str
15fde0 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 20 2b 20 24 6c 65 6e 67 74 68 20 2d 20 24 len($s,.$encoding).+.$length.-.$
15fe00 73 74 61 72 74 3b 0a 69 66 20 28 24 6c 65 6e 67 74 68 20 3c 20 30 29 20 7b 0a 72 65 74 75 72 6e start;.if.($length.<.0).{.return
15fe20 20 27 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 69 63 6f 6e 76 5f .'';.}.}..return.(string).iconv_
15fe40 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 2c 20 24 65 6e 63 substr($s,.$start,.$length,.$enc
15fe60 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f oding);.}..public.static.functio
15fe80 6e 20 6d 62 5f 73 74 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c n.mb_stripos($haystack,.$needle,
15fea0 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a .$offset.=.0,.$encoding.=.null).
15fec0 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 {.$haystack.=.self::mb_convert_c
15fee0 61 73 65 28 24 68 61 79 73 74 61 63 6b 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c ase($haystack,.self::MB_CASE_FOL
15ff00 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d D,.$encoding);.$needle.=.self::m
15ff20 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 6e 65 65 64 6c 65 2c 20 73 65 6c 66 3a 3a 4d 42 b_convert_case($needle,.self::MB
15ff40 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 _CASE_FOLD,.$encoding);..return.
15ff60 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 self::mb_strpos($haystack,.$need
15ff80 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c le,.$offset,.$encoding);.}..publ
15ffa0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 73 74 72 28 24 68 ic.static.function.mb_stristr($h
15ffc0 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c aystack,.$needle,.$part.=.false,
15ffe0 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 65 6c 66 .$encoding.=.null).{.$pos.=.self
160000 3a 3a 6d 62 5f 73 74 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c ::mb_stripos($haystack,.$needle,
160020 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 .0,.$encoding);..return.self::ge
160040 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c tSubpart($pos,.$part,.$haystack,
160060 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 .$encoding);.}..public.static.fu
160080 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 63 68 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 nction.mb_strrchr($haystack,.$ne
1600a0 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d edle,.$part.=.false,.$encoding.=
1600c0 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e .null).{.$encoding.=.self::getEn
1600e0 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d coding($encoding);.if.('CP850'.=
160100 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 ==.$encoding.||.'ASCII'.===.$enc
160120 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 72 63 68 72 28 24 68 61 79 73 74 61 63 oding).{.return.strrchr($haystac
160140 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 29 3b 0a 7d 0a 24 6e 65 65 64 6c 65 20 3d 20 k,.$needle,.$part);.}.$needle.=.
160160 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 6e 65 65 64 6c 65 2c 20 30 2c 20 31 2c 20 24 self::mb_substr($needle,.0,.1,.$
160180 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f 73 28 encoding);.$pos.=.iconv_strrpos(
1601a0 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a $haystack,.$needle,.$encoding);.
1601c0 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 .return.self::getSubpart($pos,.$
1601e0 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a part,.$haystack,.$encoding);.}..
160200 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 public.static.function.mb_strric
160220 68 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 hr($haystack,.$needle,.$part.=.f
160240 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 65 65 64 6c alse,.$encoding.=.null).{.$needl
160260 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 6e 65 65 64 6c 65 2c 20 30 2c 20 e.=.self::mb_substr($needle,.0,.
160280 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 70 6f 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 1,.$encoding);.$pos.=.self::mb_s
1602a0 74 72 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 trripos($haystack,.$needle,.$enc
1602c0 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 oding);..return.self::getSubpart
1602e0 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 ($pos,.$part,.$haystack,.$encodi
160300 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d ng);.}..public.static.function.m
160320 62 5f 73 74 72 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 b_strripos($haystack,.$needle,.$
160340 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a offset.=.0,.$encoding.=.null).{.
160360 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 $haystack.=.self::mb_convert_cas
160380 65 28 24 68 61 79 73 74 61 63 6b 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c e($haystack,.self::MB_CASE_FOLD,
1603a0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f .$encoding);.$needle.=.self::mb_
1603c0 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 6e 65 65 64 6c 65 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 convert_case($needle,.self::MB_C
1603e0 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 ASE_FOLD,.$encoding);..return.se
160400 6c 66 3a 3a 6d 62 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c lf::mb_strrpos($haystack,.$needl
160420 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 e,.$offset,.$encoding);.}..publi
160440 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 73 74 72 28 24 68 61 79 c.static.function.mb_strstr($hay
160460 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 stack,.$needle,.$part.=.false,.$
160480 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 encoding.=.null).{.$pos.=.strpos
1604a0 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 ($haystack,.$needle);.if.(false.
1604c0 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 ===.$pos).{.return.false;.}.if.(
1604e0 24 70 61 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b $part).{.return.substr($haystack
160500 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 ,.0,.$pos);.}..return.substr($ha
160520 79 73 74 61 63 6b 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ystack,.$pos);.}..public.static.
160540 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 20 3d 20 27 61 6c function.mb_get_info($type.=.'al
160560 6c 27 29 0a 7b 0a 24 69 6e 66 6f 20 3d 20 61 72 72 61 79 28 0a 27 69 6e 74 65 72 6e 61 6c 5f 65 l').{.$info.=.array(.'internal_e
160580 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 ncoding'.=>.self::$internalEncod
1605a0 69 6e 67 2c 0a 27 68 74 74 70 5f 6f 75 74 70 75 74 27 20 3d 3e 20 27 70 61 73 73 27 2c 0a 27 68 ing,.'http_output'.=>.'pass',.'h
1605c0 74 74 70 5f 6f 75 74 70 75 74 5f 63 6f 6e 76 5f 6d 69 6d 65 74 79 70 65 73 27 20 3d 3e 20 27 5e ttp_output_conv_mimetypes'.=>.'^
1605e0 28 74 65 78 74 2f 7c 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 5c 2b 78 6d 6c 29 27 2c (text/|application/xhtml\+xml)',
160600 0a 27 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 27 20 3d 3e 20 30 2c 0a 27 66 75 6e 63 5f 6f 76 65 .'func_overload'.=>.0,.'func_ove
160620 72 6c 6f 61 64 5f 6c 69 73 74 27 20 3d 3e 20 27 6e 6f 20 6f 76 65 72 6c 6f 61 64 27 2c 0a 27 6d rload_list'.=>.'no.overload',.'m
160640 61 69 6c 5f 63 68 61 72 73 65 74 27 20 3d 3e 20 27 55 54 46 2d 38 27 2c 0a 27 6d 61 69 6c 5f 68 ail_charset'.=>.'UTF-8',.'mail_h
160660 65 61 64 65 72 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 27 42 41 53 45 36 34 27 2c 0a 27 6d 61 eader_encoding'.=>.'BASE64',.'ma
160680 69 6c 5f 62 6f 64 79 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 27 42 41 53 45 36 34 27 2c 0a 27 il_body_encoding'.=>.'BASE64',.'
1606a0 69 6c 6c 65 67 61 6c 5f 63 68 61 72 73 27 20 3d 3e 20 30 2c 0a 27 65 6e 63 6f 64 69 6e 67 5f 74 illegal_chars'.=>.0,.'encoding_t
1606c0 72 61 6e 73 6c 61 74 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 27 6c 61 6e 67 75 61 67 65 27 ranslation'.=>.'Off',.'language'
1606e0 20 3d 3e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 65 2c 0a 27 64 65 74 65 63 74 5f 6f 72 64 .=>.self::$language,.'detect_ord
160700 65 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 0a 27 73 75 62 er'.=>.self::$encodingList,.'sub
160720 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 27 20 3d 3e 20 27 6e 6f 6e 65 27 2c 0a 27 73 stitute_character'.=>.'none',.'s
160740 74 72 69 63 74 5f 64 65 74 65 63 74 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 29 3b 0a 0a 69 trict_detection'.=>.'Off',.);..i
160760 66 20 28 27 61 6c 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e f.('all'.===.$type).{.return.$in
160780 66 6f 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 66 6f 5b 24 74 79 70 65 5d 29 29 20 7b fo;.}.if.(isset($info[$type])).{
1607a0 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .return.$info[$type];.}..return.
1607c0 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e false;.}..public.static.function
1607e0 20 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 20 3d 20 27 27 29 0a 7b 0a 72 65 74 .mb_http_input($type.=.'').{.ret
160800 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 urn.false;.}..public.static.func
160820 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 tion.mb_http_output($encoding.=.
160840 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e null).{.return.null.!==.$encodin
160860 67 20 3f 20 27 70 61 73 73 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3a 20 27 70 61 73 73 g.?.'pass'.===.$encoding.:.'pass
160880 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ';.}..public.static.function.mb_
1608a0 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b strwidth($s,.$encoding.=.null).{
1608c0 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 .$encoding.=.self::getEncoding($
1608e0 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 encoding);..if.('UTF-8'.!==.$enc
160900 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 oding).{.$s.=.iconv($encoding,.'
160920 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 24 73 20 3d 20 70 72 65 UTF-8//IGNORE',.$s);.}..$s.=.pre
160940 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5c 78 7b 31 31 30 30 7d 2d 5c 78 7b 31 31 35 46 7d 5c 78 g_replace('/[\x{1100}-\x{115F}\x
160960 7b 32 33 32 39 7d 5c 78 7b 32 33 32 41 7d 5c 78 7b 32 45 38 30 7d 2d 5c 78 7b 33 30 33 45 7d 5c {2329}\x{232A}\x{2E80}-\x{303E}\
160980 78 7b 33 30 34 30 7d 2d 5c 78 7b 41 34 43 46 7d 5c 78 7b 41 43 30 30 7d 2d 5c 78 7b 44 37 41 33 x{3040}-\x{A4CF}\x{AC00}-\x{D7A3
1609a0 7d 5c 78 7b 46 39 30 30 7d 2d 5c 78 7b 46 41 46 46 7d 5c 78 7b 46 45 31 30 7d 2d 5c 78 7b 46 45 }\x{F900}-\x{FAFF}\x{FE10}-\x{FE
1609c0 31 39 7d 5c 78 7b 46 45 33 30 7d 2d 5c 78 7b 46 45 36 46 7d 5c 78 7b 46 46 30 30 7d 2d 5c 78 7b 19}\x{FE30}-\x{FE6F}\x{FF00}-\x{
1609e0 46 46 36 30 7d 5c 78 7b 46 46 45 30 7d 2d 5c 78 7b 46 46 45 36 7d 5c 78 7b 32 30 30 30 30 7d 2d FF60}\x{FFE0}-\x{FFE6}\x{20000}-
160a00 5c 78 7b 32 46 46 46 44 7d 5c 78 7b 33 30 30 30 30 7d 2d 5c 78 7b 33 46 46 46 44 7d 5d 2f 75 27 \x{2FFFD}\x{30000}-\x{3FFFD}]/u'
160a20 2c 20 27 27 2c 20 24 73 2c 20 2d 31 2c 20 24 77 69 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 ,.'',.$s,.-1,.$wide);..return.($
160a40 77 69 64 65 20 3c 3c 20 31 29 20 2b 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 27 55 wide.<<.1).+.iconv_strlen($s,.'U
160a60 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f TF-8');.}..public.static.functio
160a80 6e 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 n.mb_substr_count($haystack,.$ne
160aa0 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e edle,.$encoding.=.null).{.return
160ac0 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 .substr_count($haystack,.$needle
160ae0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f );.}..public.static.function.mb_
160b00 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 61 74 75 output_handler($contents,.$statu
160b20 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 s).{.return.$contents;.}..public
160b40 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 .static.function.mb_chr($code,.$
160b60 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 78 38 30 20 3e 20 24 63 encoding.=.null).{.if.(0x80.>.$c
160b80 6f 64 65 20 25 3d 20 30 78 32 30 30 30 30 30 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 24 63 6f ode.%=.0x200000).{.$s.=.\chr($co
160ba0 64 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 78 38 30 30 20 3e 20 24 63 6f 64 65 29 20 7b 0a de);.}.elseif.(0x800.>.$code).{.
160bc0 24 73 20 3d 20 5c 63 68 72 28 30 78 43 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 29 2e 5c 63 68 $s.=.\chr(0xC0.|.$code.>>.6).\ch
160be0 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 20 65 6c 73 65 69 66 r(0x80.|.$code.&.0x3F);.}.elseif
160c00 20 28 30 78 31 30 30 30 30 20 3e 20 24 63 6f 64 65 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 30 .(0x10000.>.$code).{.$s.=.\chr(0
160c20 78 45 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 32 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 xE0.|.$code.>>.12).\chr(0x80.|.$
160c40 63 6f 64 65 20 3e 3e 20 36 20 26 20 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 code.>>.6.&.0x3F).\chr(0x80.|.$c
160c60 6f 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 ode.&.0x3F);.}.else.{.$s.=.\chr(
160c80 30 78 46 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 38 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 0xF0.|.$code.>>.18).\chr(0x80.|.
160ca0 24 63 6f 64 65 20 3e 3e 20 31 32 20 26 20 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 $code.>>.12.&.0x3F).\chr(0x80.|.
160cc0 24 63 6f 64 65 20 3e 3e 20 36 20 26 20 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 $code.>>.6.&.0x3F).\chr(0x80.|.$
160ce0 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d code.&.0x3F);.}..if.('UTF-8'.!==
160d00 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 .$encoding.=.self::getEncoding($
160d20 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 24 73 20 3d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 encoding)).{.$s.=.mb_convert_enc
160d40 6f 64 69 6e 67 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d oding($s,.$encoding,.'UTF-8');.}
160d60 0a 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ..return.$s;.}..public.static.fu
160d80 6e 63 74 69 6f 6e 20 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 nction.mb_ord($s,.$encoding.=.nu
160da0 6c 6c 29 0a 7b 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 ll).{.if.('UTF-8'.!==.$encoding.
160dc0 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 =.self::getEncoding($encoding)).
160de0 7b 0a 24 73 20 3d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 27 {.$s.=.mb_convert_encoding($s,.'
160e00 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d UTF-8',.$encoding);.}..if.(1.===
160e20 20 5c 73 74 72 6c 65 6e 28 24 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 5c 6f 72 64 28 24 73 29 3b .\strlen($s)).{.return.\ord($s);
160e40 0a 7d 0a 0a 24 63 6f 64 65 20 3d 20 28 24 73 20 3d 20 75 6e 70 61 63 6b 28 27 43 2a 27 2c 20 73 .}..$code.=.($s.=.unpack('C*',.s
160e60 75 62 73 74 72 28 24 73 2c 20 30 2c 20 34 29 29 29 20 3f 20 24 73 5b 31 5d 20 3a 20 30 3b 0a 69 ubstr($s,.0,.4))).?.$s[1].:.0;.i
160e80 66 20 28 30 78 46 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f f.(0xF0.<=.$code).{.return.(($co
160ea0 64 65 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 28 28 24 73 5b 32 5d 20 2d 20 30 78 de.-.0xF0).<<.18).+.(($s[2].-.0x
160ec0 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 33 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 80).<<.12).+.(($s[3].-.0x80).<<.
160ee0 36 29 20 2b 20 24 73 5b 34 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 28 30 78 45 30 20 3c 3d 6).+.$s[4].-.0x80;.}.if.(0xE0.<=
160f00 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 20 2d 20 30 78 45 30 29 .$code).{.return.(($code.-.0xE0)
160f20 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 32 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 .<<.12).+.(($s[2].-.0x80).<<.6).
160f40 2b 20 24 73 5b 33 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 28 30 78 43 30 20 3c 3d 20 24 63 +.$s[3].-.0x80;.}.if.(0xC0.<=.$c
160f60 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 20 2d 20 30 78 43 30 29 20 3c 3c ode).{.return.(($code.-.0xC0).<<
160f80 20 36 29 20 2b 20 24 73 5b 32 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 .6).+.$s[2].-.0x80;.}..return.$c
160fa0 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ode;.}..private.static.function.
160fc0 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 getSubpart($pos,.$part,.$haystac
160fe0 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 k,.$encoding).{.if.(false.===.$p
161000 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 70 61 72 74 29 os).{.return.false;.}.if.($part)
161020 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 74 .{.return.self::mb_substr($hayst
161040 61 63 6b 2c 20 30 2c 20 24 70 6f 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 ack,.0,.$pos,.$encoding);.}..ret
161060 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 urn.self::mb_substr($haystack,.$
161080 70 6f 73 2c 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 pos,.null,.$encoding);.}..privat
1610a0 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 74 6d 6c 5f 65 6e 63 6f 64 69 6e 67 5f e.static.function.html_encoding_
1610c0 63 61 6c 6c 62 61 63 6b 28 61 72 72 61 79 20 24 6d 29 0a 7b 0a 24 69 20 3d 20 31 3b 0a 24 65 6e callback(array.$m).{.$i.=.1;.$en
1610e0 74 69 74 69 65 73 20 3d 20 27 27 3b 0a 24 6d 20 3d 20 75 6e 70 61 63 6b 28 27 43 2a 27 2c 20 68 tities.=.'';.$m.=.unpack('C*',.h
161100 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 6d 5b 30 5d 2c 20 45 4e 54 5f 43 4f 4d 50 41 54 2c 20 27 tmlentities($m[0],.ENT_COMPAT,.'
161120 55 54 46 2d 38 27 29 29 3b 0a 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 6d 5b 24 69 5d 29 29 UTF-8'));..while.(isset($m[$i]))
161140 20 7b 0a 69 66 20 28 30 78 38 30 20 3e 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 65 6e 74 69 74 69 65 .{.if.(0x80.>.$m[$i]).{.$entitie
161160 73 20 2e 3d 20 5c 63 68 72 28 24 6d 5b 24 69 2b 2b 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d s..=.\chr($m[$i++]);.continue;.}
161180 0a 69 66 20 28 30 78 46 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 63 20 3d 20 28 28 24 6d .if.(0xF0.<=.$m[$i]).{.$c.=.(($m
1611a0 5b 24 69 2b 2b 5d 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 28 28 24 6d 5b 24 69 2b [$i++].-.0xF0).<<.18).+.(($m[$i+
1611c0 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d +].-.0x80).<<.12).+.(($m[$i++].-
1611e0 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 3b 0a .0x80).<<.6).+.$m[$i++].-.0x80;.
161200 7d 20 65 6c 73 65 69 66 20 28 30 78 45 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 63 20 3d }.elseif.(0xE0.<=.$m[$i]).{.$c.=
161220 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 45 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 .(($m[$i++].-.0xE0).<<.12).+.(($
161240 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d m[$i++].-.0x80).<<.6).+.$m[$i++]
161260 20 2d 20 30 78 38 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b .-.0x80;.}.else.{.$c.=.(($m[$i++
161280 5d 20 2d 20 30 78 43 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 ].-.0xC0).<<.6).+.$m[$i++].-.0x8
1612a0 30 3b 0a 7d 0a 0a 24 65 6e 74 69 74 69 65 73 20 2e 3d 20 27 26 23 27 2e 24 63 2e 27 3b 27 3b 0a 0;.}..$entities..=.'&#'.$c.';';.
1612c0 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 74 69 74 69 65 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 }..return.$entities;.}..private.
1612e0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 5f 63 61 73 65 28 61 72 72 61 79 static.function.title_case(array
161300 20 24 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 .$s).{.return.self::mb_convert_c
161320 61 73 65 28 24 73 5b 31 5d 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 2c 20 27 55 54 46 2d 38 ase($s[1],.MB_CASE_UPPER,.'UTF-8
161340 27 29 2e 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 5b 32 5d 2c 20 ').self::mb_convert_case($s[2],.
161360 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 72 69 76 MB_CASE_LOWER,.'UTF-8');.}..priv
161380 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 28 24 66 69 6c ate.static.function.getData($fil
1613a0 65 29 0a 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 5f 5f 44 e).{.if.(file_exists($file.=.__D
1613c0 49 52 5f 5f 2e 27 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 27 2e 24 66 69 6c 65 IR__.'/Resources/unidata/'.$file
1613e0 2e 27 2e 70 68 70 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 72 65 71 75 69 72 65 20 24 66 69 6c 65 .'.php')).{.return.require.$file
161400 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 ;.}..return.false;.}..private.st
161420 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 atic.function.getEncoding($encod
161440 69 6e 67 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b ing).{.if.(null.===.$encoding).{
161460 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b .return.self::$internalEncoding;
161480 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 24 65 6e 63 6f .}..$encoding.=.strtoupper($enco
1614a0 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 38 42 49 54 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 ding);..if.('8BIT'.===.$encoding
1614c0 20 7c 7c 20 27 42 49 4e 41 52 59 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 .||.'BINARY'.===.$encoding).{.re
1614e0 74 75 72 6e 20 27 43 50 38 35 30 27 3b 0a 7d 0a 69 66 20 28 27 55 54 46 38 27 20 3d 3d 3d 20 24 turn.'CP850';.}.if.('UTF8'.===.$
161500 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 54 46 2d 38 27 3b 0a 7d 0a 0a 72 encoding).{.return.'UTF-8';.}..r
161520 65 74 75 72 6e 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 72 65 74 75 eturn.$encoding;.}.}.<?php..retu
161540 72 6e 20 61 72 72 61 79 28 0a 27 41 27 20 3d 3e 20 27 61 27 2c 0a 27 42 27 20 3d 3e 20 27 62 27 rn.array(.'A'.=>.'a',.'B'.=>.'b'
161560 2c 0a 27 43 27 20 3d 3e 20 27 63 27 2c 0a 27 44 27 20 3d 3e 20 27 64 27 2c 0a 27 45 27 20 3d 3e ,.'C'.=>.'c',.'D'.=>.'d',.'E'.=>
161580 20 27 65 27 2c 0a 27 46 27 20 3d 3e 20 27 66 27 2c 0a 27 47 27 20 3d 3e 20 27 67 27 2c 0a 27 48 .'e',.'F'.=>.'f',.'G'.=>.'g',.'H
1615a0 27 20 3d 3e 20 27 68 27 2c 0a 27 49 27 20 3d 3e 20 27 69 27 2c 0a 27 4a 27 20 3d 3e 20 27 6a 27 '.=>.'h',.'I'.=>.'i',.'J'.=>.'j'
1615c0 2c 0a 27 4b 27 20 3d 3e 20 27 6b 27 2c 0a 27 4c 27 20 3d 3e 20 27 6c 27 2c 0a 27 4d 27 20 3d 3e ,.'K'.=>.'k',.'L'.=>.'l',.'M'.=>
1615e0 20 27 6d 27 2c 0a 27 4e 27 20 3d 3e 20 27 6e 27 2c 0a 27 4f 27 20 3d 3e 20 27 6f 27 2c 0a 27 50 .'m',.'N'.=>.'n',.'O'.=>.'o',.'P
161600 27 20 3d 3e 20 27 70 27 2c 0a 27 51 27 20 3d 3e 20 27 71 27 2c 0a 27 52 27 20 3d 3e 20 27 72 27 '.=>.'p',.'Q'.=>.'q',.'R'.=>.'r'
161620 2c 0a 27 53 27 20 3d 3e 20 27 73 27 2c 0a 27 54 27 20 3d 3e 20 27 74 27 2c 0a 27 55 27 20 3d 3e ,.'S'.=>.'s',.'T'.=>.'t',.'U'.=>
161640 20 27 75 27 2c 0a 27 56 27 20 3d 3e 20 27 76 27 2c 0a 27 57 27 20 3d 3e 20 27 77 27 2c 0a 27 58 .'u',.'V'.=>.'v',.'W'.=>.'w',.'X
161660 27 20 3d 3e 20 27 78 27 2c 0a 27 59 27 20 3d 3e 20 27 79 27 2c 0a 27 5a 27 20 3d 3e 20 27 7a 27 '.=>.'x',.'Y'.=>.'y',.'Z'.=>.'z'
161680 2c 0a 27 c3 80 27 20 3d 3e 20 27 c3 a0 27 2c 0a 27 c3 81 27 20 3d 3e 20 27 c3 a1 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
1616a0 82 27 20 3d 3e 20 27 c3 a2 27 2c 0a 27 c3 83 27 20 3d 3e 20 27 c3 a3 27 2c 0a 27 c3 84 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1616c0 3e 20 27 c3 a4 27 2c 0a 27 c3 85 27 20 3d 3e 20 27 c3 a5 27 2c 0a 27 c3 86 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
1616e0 a6 27 2c 0a 27 c3 87 27 20 3d 3e 20 27 c3 a7 27 2c 0a 27 c3 88 27 20 3d 3e 20 27 c3 a8 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
161700 27 c3 89 27 20 3d 3e 20 27 c3 a9 27 2c 0a 27 c3 8a 27 20 3d 3e 20 27 c3 aa 27 2c 0a 27 c3 8b 27 '..'.=>.'..',.'..'.=>.'..',.'..'
161720 20 3d 3e 20 27 c3 ab 27 2c 0a 27 c3 8c 27 20 3d 3e 20 27 c3 ac 27 2c 0a 27 c3 8d 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
161740 27 c3 ad 27 2c 0a 27 c3 8e 27 20 3d 3e 20 27 c3 ae 27 2c 0a 27 c3 8f 27 20 3d 3e 20 27 c3 af 27 '..',.'..'.=>.'..',.'..'.=>.'..'
161760 2c 0a 27 c3 90 27 20 3d 3e 20 27 c3 b0 27 2c 0a 27 c3 91 27 20 3d 3e 20 27 c3 b1 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
161780 92 27 20 3d 3e 20 27 c3 b2 27 2c 0a 27 c3 93 27 20 3d 3e 20 27 c3 b3 27 2c 0a 27 c3 94 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1617a0 3e 20 27 c3 b4 27 2c 0a 27 c3 95 27 20 3d 3e 20 27 c3 b5 27 2c 0a 27 c3 96 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
1617c0 b6 27 2c 0a 27 c3 98 27 20 3d 3e 20 27 c3 b8 27 2c 0a 27 c3 99 27 20 3d 3e 20 27 c3 b9 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1617e0 27 c3 9a 27 20 3d 3e 20 27 c3 ba 27 2c 0a 27 c3 9b 27 20 3d 3e 20 27 c3 bb 27 2c 0a 27 c3 9c 27 '..'.=>.'..',.'..'.=>.'..',.'..'
161800 20 3d 3e 20 27 c3 bc 27 2c 0a 27 c3 9d 27 20 3d 3e 20 27 c3 bd 27 2c 0a 27 c3 9e 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
161820 27 c3 be 27 2c 0a 27 c4 80 27 20 3d 3e 20 27 c4 81 27 2c 0a 27 c4 82 27 20 3d 3e 20 27 c4 83 27 '..',.'..'.=>.'..',.'..'.=>.'..'
161840 2c 0a 27 c4 84 27 20 3d 3e 20 27 c4 85 27 2c 0a 27 c4 86 27 20 3d 3e 20 27 c4 87 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
161860 88 27 20 3d 3e 20 27 c4 89 27 2c 0a 27 c4 8a 27 20 3d 3e 20 27 c4 8b 27 2c 0a 27 c4 8c 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
161880 3e 20 27 c4 8d 27 2c 0a 27 c4 8e 27 20 3d 3e 20 27 c4 8f 27 2c 0a 27 c4 90 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
1618a0 91 27 2c 0a 27 c4 92 27 20 3d 3e 20 27 c4 93 27 2c 0a 27 c4 94 27 20 3d 3e 20 27 c4 95 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1618c0 27 c4 96 27 20 3d 3e 20 27 c4 97 27 2c 0a 27 c4 98 27 20 3d 3e 20 27 c4 99 27 2c 0a 27 c4 9a 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1618e0 20 3d 3e 20 27 c4 9b 27 2c 0a 27 c4 9c 27 20 3d 3e 20 27 c4 9d 27 2c 0a 27 c4 9e 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
161900 27 c4 9f 27 2c 0a 27 c4 a0 27 20 3d 3e 20 27 c4 a1 27 2c 0a 27 c4 a2 27 20 3d 3e 20 27 c4 a3 27 '..',.'..'.=>.'..',.'..'.=>.'..'
161920 2c 0a 27 c4 a4 27 20 3d 3e 20 27 c4 a5 27 2c 0a 27 c4 a6 27 20 3d 3e 20 27 c4 a7 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
161940 a8 27 20 3d 3e 20 27 c4 a9 27 2c 0a 27 c4 aa 27 20 3d 3e 20 27 c4 ab 27 2c 0a 27 c4 ac 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
161960 3e 20 27 c4 ad 27 2c 0a 27 c4 ae 27 20 3d 3e 20 27 c4 af 27 2c 0a 27 c4 b0 27 20 3d 3e 20 27 69 >.'..',.'..'.=>.'..',.'..'.=>.'i
161980 27 2c 0a 27 c4 b2 27 20 3d 3e 20 27 c4 b3 27 2c 0a 27 c4 b4 27 20 3d 3e 20 27 c4 b5 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1619a0 c4 b6 27 20 3d 3e 20 27 c4 b7 27 2c 0a 27 c4 b9 27 20 3d 3e 20 27 c4 ba 27 2c 0a 27 c4 bb 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1619c0 3d 3e 20 27 c4 bc 27 2c 0a 27 c4 bd 27 20 3d 3e 20 27 c4 be 27 2c 0a 27 c4 bf 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1619e0 c5 80 27 2c 0a 27 c5 81 27 20 3d 3e 20 27 c5 82 27 2c 0a 27 c5 83 27 20 3d 3e 20 27 c5 84 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161a00 0a 27 c5 85 27 20 3d 3e 20 27 c5 86 27 2c 0a 27 c5 87 27 20 3d 3e 20 27 c5 88 27 2c 0a 27 c5 8a .'..'.=>.'..',.'..'.=>.'..',.'..
161a20 27 20 3d 3e 20 27 c5 8b 27 2c 0a 27 c5 8c 27 20 3d 3e 20 27 c5 8d 27 2c 0a 27 c5 8e 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161a40 20 27 c5 8f 27 2c 0a 27 c5 90 27 20 3d 3e 20 27 c5 91 27 2c 0a 27 c5 92 27 20 3d 3e 20 27 c5 93 .'..',.'..'.=>.'..',.'..'.=>.'..
161a60 27 2c 0a 27 c5 94 27 20 3d 3e 20 27 c5 95 27 2c 0a 27 c5 96 27 20 3d 3e 20 27 c5 97 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161a80 c5 98 27 20 3d 3e 20 27 c5 99 27 2c 0a 27 c5 9a 27 20 3d 3e 20 27 c5 9b 27 2c 0a 27 c5 9c 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161aa0 3d 3e 20 27 c5 9d 27 2c 0a 27 c5 9e 27 20 3d 3e 20 27 c5 9f 27 2c 0a 27 c5 a0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161ac0 c5 a1 27 2c 0a 27 c5 a2 27 20 3d 3e 20 27 c5 a3 27 2c 0a 27 c5 a4 27 20 3d 3e 20 27 c5 a5 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161ae0 0a 27 c5 a6 27 20 3d 3e 20 27 c5 a7 27 2c 0a 27 c5 a8 27 20 3d 3e 20 27 c5 a9 27 2c 0a 27 c5 aa .'..'.=>.'..',.'..'.=>.'..',.'..
161b00 27 20 3d 3e 20 27 c5 ab 27 2c 0a 27 c5 ac 27 20 3d 3e 20 27 c5 ad 27 2c 0a 27 c5 ae 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161b20 20 27 c5 af 27 2c 0a 27 c5 b0 27 20 3d 3e 20 27 c5 b1 27 2c 0a 27 c5 b2 27 20 3d 3e 20 27 c5 b3 .'..',.'..'.=>.'..',.'..'.=>.'..
161b40 27 2c 0a 27 c5 b4 27 20 3d 3e 20 27 c5 b5 27 2c 0a 27 c5 b6 27 20 3d 3e 20 27 c5 b7 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161b60 c5 b8 27 20 3d 3e 20 27 c3 bf 27 2c 0a 27 c5 b9 27 20 3d 3e 20 27 c5 ba 27 2c 0a 27 c5 bb 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161b80 3d 3e 20 27 c5 bc 27 2c 0a 27 c5 bd 27 20 3d 3e 20 27 c5 be 27 2c 0a 27 c6 81 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161ba0 c9 93 27 2c 0a 27 c6 82 27 20 3d 3e 20 27 c6 83 27 2c 0a 27 c6 84 27 20 3d 3e 20 27 c6 85 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161bc0 0a 27 c6 86 27 20 3d 3e 20 27 c9 94 27 2c 0a 27 c6 87 27 20 3d 3e 20 27 c6 88 27 2c 0a 27 c6 89 .'..'.=>.'..',.'..'.=>.'..',.'..
161be0 27 20 3d 3e 20 27 c9 96 27 2c 0a 27 c6 8a 27 20 3d 3e 20 27 c9 97 27 2c 0a 27 c6 8b 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161c00 20 27 c6 8c 27 2c 0a 27 c6 8e 27 20 3d 3e 20 27 c7 9d 27 2c 0a 27 c6 8f 27 20 3d 3e 20 27 c9 99 .'..',.'..'.=>.'..',.'..'.=>.'..
161c20 27 2c 0a 27 c6 90 27 20 3d 3e 20 27 c9 9b 27 2c 0a 27 c6 91 27 20 3d 3e 20 27 c6 92 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161c40 c6 93 27 20 3d 3e 20 27 c9 a0 27 2c 0a 27 c6 94 27 20 3d 3e 20 27 c9 a3 27 2c 0a 27 c6 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161c60 3d 3e 20 27 c9 a9 27 2c 0a 27 c6 97 27 20 3d 3e 20 27 c9 a8 27 2c 0a 27 c6 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161c80 c6 99 27 2c 0a 27 c6 9c 27 20 3d 3e 20 27 c9 af 27 2c 0a 27 c6 9d 27 20 3d 3e 20 27 c9 b2 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161ca0 0a 27 c6 9f 27 20 3d 3e 20 27 c9 b5 27 2c 0a 27 c6 a0 27 20 3d 3e 20 27 c6 a1 27 2c 0a 27 c6 a2 .'..'.=>.'..',.'..'.=>.'..',.'..
161cc0 27 20 3d 3e 20 27 c6 a3 27 2c 0a 27 c6 a4 27 20 3d 3e 20 27 c6 a5 27 2c 0a 27 c6 a6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161ce0 20 27 ca 80 27 2c 0a 27 c6 a7 27 20 3d 3e 20 27 c6 a8 27 2c 0a 27 c6 a9 27 20 3d 3e 20 27 ca 83 .'..',.'..'.=>.'..',.'..'.=>.'..
161d00 27 2c 0a 27 c6 ac 27 20 3d 3e 20 27 c6 ad 27 2c 0a 27 c6 ae 27 20 3d 3e 20 27 ca 88 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161d20 c6 af 27 20 3d 3e 20 27 c6 b0 27 2c 0a 27 c6 b1 27 20 3d 3e 20 27 ca 8a 27 2c 0a 27 c6 b2 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161d40 3d 3e 20 27 ca 8b 27 2c 0a 27 c6 b3 27 20 3d 3e 20 27 c6 b4 27 2c 0a 27 c6 b5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161d60 c6 b6 27 2c 0a 27 c6 b7 27 20 3d 3e 20 27 ca 92 27 2c 0a 27 c6 b8 27 20 3d 3e 20 27 c6 b9 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161d80 0a 27 c6 bc 27 20 3d 3e 20 27 c6 bd 27 2c 0a 27 c7 84 27 20 3d 3e 20 27 c7 86 27 2c 0a 27 c7 85 .'..'.=>.'..',.'..'.=>.'..',.'..
161da0 27 20 3d 3e 20 27 c7 86 27 2c 0a 27 c7 87 27 20 3d 3e 20 27 c7 89 27 2c 0a 27 c7 88 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161dc0 20 27 c7 89 27 2c 0a 27 c7 8a 27 20 3d 3e 20 27 c7 8c 27 2c 0a 27 c7 8b 27 20 3d 3e 20 27 c7 8c .'..',.'..'.=>.'..',.'..'.=>.'..
161de0 27 2c 0a 27 c7 8d 27 20 3d 3e 20 27 c7 8e 27 2c 0a 27 c7 8f 27 20 3d 3e 20 27 c7 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161e00 c7 91 27 20 3d 3e 20 27 c7 92 27 2c 0a 27 c7 93 27 20 3d 3e 20 27 c7 94 27 2c 0a 27 c7 95 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161e20 3d 3e 20 27 c7 96 27 2c 0a 27 c7 97 27 20 3d 3e 20 27 c7 98 27 2c 0a 27 c7 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161e40 c7 9a 27 2c 0a 27 c7 9b 27 20 3d 3e 20 27 c7 9c 27 2c 0a 27 c7 9e 27 20 3d 3e 20 27 c7 9f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161e60 0a 27 c7 a0 27 20 3d 3e 20 27 c7 a1 27 2c 0a 27 c7 a2 27 20 3d 3e 20 27 c7 a3 27 2c 0a 27 c7 a4 .'..'.=>.'..',.'..'.=>.'..',.'..
161e80 27 20 3d 3e 20 27 c7 a5 27 2c 0a 27 c7 a6 27 20 3d 3e 20 27 c7 a7 27 2c 0a 27 c7 a8 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161ea0 20 27 c7 a9 27 2c 0a 27 c7 aa 27 20 3d 3e 20 27 c7 ab 27 2c 0a 27 c7 ac 27 20 3d 3e 20 27 c7 ad .'..',.'..'.=>.'..',.'..'.=>.'..
161ec0 27 2c 0a 27 c7 ae 27 20 3d 3e 20 27 c7 af 27 2c 0a 27 c7 b1 27 20 3d 3e 20 27 c7 b3 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161ee0 c7 b2 27 20 3d 3e 20 27 c7 b3 27 2c 0a 27 c7 b4 27 20 3d 3e 20 27 c7 b5 27 2c 0a 27 c7 b6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161f00 3d 3e 20 27 c6 95 27 2c 0a 27 c7 b7 27 20 3d 3e 20 27 c6 bf 27 2c 0a 27 c7 b8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161f20 c7 b9 27 2c 0a 27 c7 ba 27 20 3d 3e 20 27 c7 bb 27 2c 0a 27 c7 bc 27 20 3d 3e 20 27 c7 bd 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161f40 0a 27 c7 be 27 20 3d 3e 20 27 c7 bf 27 2c 0a 27 c8 80 27 20 3d 3e 20 27 c8 81 27 2c 0a 27 c8 82 .'..'.=>.'..',.'..'.=>.'..',.'..
161f60 27 20 3d 3e 20 27 c8 83 27 2c 0a 27 c8 84 27 20 3d 3e 20 27 c8 85 27 2c 0a 27 c8 86 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161f80 20 27 c8 87 27 2c 0a 27 c8 88 27 20 3d 3e 20 27 c8 89 27 2c 0a 27 c8 8a 27 20 3d 3e 20 27 c8 8b .'..',.'..'.=>.'..',.'..'.=>.'..
161fa0 27 2c 0a 27 c8 8c 27 20 3d 3e 20 27 c8 8d 27 2c 0a 27 c8 8e 27 20 3d 3e 20 27 c8 8f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161fc0 c8 90 27 20 3d 3e 20 27 c8 91 27 2c 0a 27 c8 92 27 20 3d 3e 20 27 c8 93 27 2c 0a 27 c8 94 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161fe0 3d 3e 20 27 c8 95 27 2c 0a 27 c8 96 27 20 3d 3e 20 27 c8 97 27 2c 0a 27 c8 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162000 c8 99 27 2c 0a 27 c8 9a 27 20 3d 3e 20 27 c8 9b 27 2c 0a 27 c8 9c 27 20 3d 3e 20 27 c8 9d 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162020 0a 27 c8 9e 27 20 3d 3e 20 27 c8 9f 27 2c 0a 27 c8 a0 27 20 3d 3e 20 27 c6 9e 27 2c 0a 27 c8 a2 .'..'.=>.'..',.'..'.=>.'..',.'..
162040 27 20 3d 3e 20 27 c8 a3 27 2c 0a 27 c8 a4 27 20 3d 3e 20 27 c8 a5 27 2c 0a 27 c8 a6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162060 20 27 c8 a7 27 2c 0a 27 c8 a8 27 20 3d 3e 20 27 c8 a9 27 2c 0a 27 c8 aa 27 20 3d 3e 20 27 c8 ab .'..',.'..'.=>.'..',.'..'.=>.'..
162080 27 2c 0a 27 c8 ac 27 20 3d 3e 20 27 c8 ad 27 2c 0a 27 c8 ae 27 20 3d 3e 20 27 c8 af 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1620a0 c8 b0 27 20 3d 3e 20 27 c8 b1 27 2c 0a 27 c8 b2 27 20 3d 3e 20 27 c8 b3 27 2c 0a 27 c8 ba 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1620c0 3d 3e 20 27 e2 b1 a5 27 2c 0a 27 c8 bb 27 20 3d 3e 20 27 c8 bc 27 2c 0a 27 c8 bd 27 20 3d 3e 20 =>.'...',.'..'.=>.'..',.'..'.=>.
1620e0 27 c6 9a 27 2c 0a 27 c8 be 27 20 3d 3e 20 27 e2 b1 a6 27 2c 0a 27 c9 81 27 20 3d 3e 20 27 c9 82 '..',.'..'.=>.'...',.'..'.=>.'..
162100 27 2c 0a 27 c9 83 27 20 3d 3e 20 27 c6 80 27 2c 0a 27 c9 84 27 20 3d 3e 20 27 ca 89 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162120 c9 85 27 20 3d 3e 20 27 ca 8c 27 2c 0a 27 c9 86 27 20 3d 3e 20 27 c9 87 27 2c 0a 27 c9 88 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162140 3d 3e 20 27 c9 89 27 2c 0a 27 c9 8a 27 20 3d 3e 20 27 c9 8b 27 2c 0a 27 c9 8c 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162160 c9 8d 27 2c 0a 27 c9 8e 27 20 3d 3e 20 27 c9 8f 27 2c 0a 27 cd b0 27 20 3d 3e 20 27 cd b1 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162180 0a 27 cd b2 27 20 3d 3e 20 27 cd b3 27 2c 0a 27 cd b6 27 20 3d 3e 20 27 cd b7 27 2c 0a 27 cd bf .'..'.=>.'..',.'..'.=>.'..',.'..
1621a0 27 20 3d 3e 20 27 cf b3 27 2c 0a 27 ce 86 27 20 3d 3e 20 27 ce ac 27 2c 0a 27 ce 88 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1621c0 20 27 ce ad 27 2c 0a 27 ce 89 27 20 3d 3e 20 27 ce ae 27 2c 0a 27 ce 8a 27 20 3d 3e 20 27 ce af .'..',.'..'.=>.'..',.'..'.=>.'..
1621e0 27 2c 0a 27 ce 8c 27 20 3d 3e 20 27 cf 8c 27 2c 0a 27 ce 8e 27 20 3d 3e 20 27 cf 8d 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162200 ce 8f 27 20 3d 3e 20 27 cf 8e 27 2c 0a 27 ce 91 27 20 3d 3e 20 27 ce b1 27 2c 0a 27 ce 92 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162220 3d 3e 20 27 ce b2 27 2c 0a 27 ce 93 27 20 3d 3e 20 27 ce b3 27 2c 0a 27 ce 94 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162240 ce b4 27 2c 0a 27 ce 95 27 20 3d 3e 20 27 ce b5 27 2c 0a 27 ce 96 27 20 3d 3e 20 27 ce b6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162260 0a 27 ce 97 27 20 3d 3e 20 27 ce b7 27 2c 0a 27 ce 98 27 20 3d 3e 20 27 ce b8 27 2c 0a 27 ce 99 .'..'.=>.'..',.'..'.=>.'..',.'..
162280 27 20 3d 3e 20 27 ce b9 27 2c 0a 27 ce 9a 27 20 3d 3e 20 27 ce ba 27 2c 0a 27 ce 9b 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1622a0 20 27 ce bb 27 2c 0a 27 ce 9c 27 20 3d 3e 20 27 ce bc 27 2c 0a 27 ce 9d 27 20 3d 3e 20 27 ce bd .'..',.'..'.=>.'..',.'..'.=>.'..
1622c0 27 2c 0a 27 ce 9e 27 20 3d 3e 20 27 ce be 27 2c 0a 27 ce 9f 27 20 3d 3e 20 27 ce bf 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1622e0 ce a0 27 20 3d 3e 20 27 cf 80 27 2c 0a 27 ce a1 27 20 3d 3e 20 27 cf 81 27 2c 0a 27 ce a3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162300 3d 3e 20 27 cf 83 27 2c 0a 27 ce a4 27 20 3d 3e 20 27 cf 84 27 2c 0a 27 ce a5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162320 cf 85 27 2c 0a 27 ce a6 27 20 3d 3e 20 27 cf 86 27 2c 0a 27 ce a7 27 20 3d 3e 20 27 cf 87 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162340 0a 27 ce a8 27 20 3d 3e 20 27 cf 88 27 2c 0a 27 ce a9 27 20 3d 3e 20 27 cf 89 27 2c 0a 27 ce aa .'..'.=>.'..',.'..'.=>.'..',.'..
162360 27 20 3d 3e 20 27 cf 8a 27 2c 0a 27 ce ab 27 20 3d 3e 20 27 cf 8b 27 2c 0a 27 cf 8f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162380 20 27 cf 97 27 2c 0a 27 cf 98 27 20 3d 3e 20 27 cf 99 27 2c 0a 27 cf 9a 27 20 3d 3e 20 27 cf 9b .'..',.'..'.=>.'..',.'..'.=>.'..
1623a0 27 2c 0a 27 cf 9c 27 20 3d 3e 20 27 cf 9d 27 2c 0a 27 cf 9e 27 20 3d 3e 20 27 cf 9f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1623c0 cf a0 27 20 3d 3e 20 27 cf a1 27 2c 0a 27 cf a2 27 20 3d 3e 20 27 cf a3 27 2c 0a 27 cf a4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1623e0 3d 3e 20 27 cf a5 27 2c 0a 27 cf a6 27 20 3d 3e 20 27 cf a7 27 2c 0a 27 cf a8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162400 cf a9 27 2c 0a 27 cf aa 27 20 3d 3e 20 27 cf ab 27 2c 0a 27 cf ac 27 20 3d 3e 20 27 cf ad 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162420 0a 27 cf ae 27 20 3d 3e 20 27 cf af 27 2c 0a 27 cf b4 27 20 3d 3e 20 27 ce b8 27 2c 0a 27 cf b7 .'..'.=>.'..',.'..'.=>.'..',.'..
162440 27 20 3d 3e 20 27 cf b8 27 2c 0a 27 cf b9 27 20 3d 3e 20 27 cf b2 27 2c 0a 27 cf ba 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162460 20 27 cf bb 27 2c 0a 27 cf bd 27 20 3d 3e 20 27 cd bb 27 2c 0a 27 cf be 27 20 3d 3e 20 27 cd bc .'..',.'..'.=>.'..',.'..'.=>.'..
162480 27 2c 0a 27 cf bf 27 20 3d 3e 20 27 cd bd 27 2c 0a 27 d0 80 27 20 3d 3e 20 27 d1 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1624a0 d0 81 27 20 3d 3e 20 27 d1 91 27 2c 0a 27 d0 82 27 20 3d 3e 20 27 d1 92 27 2c 0a 27 d0 83 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1624c0 3d 3e 20 27 d1 93 27 2c 0a 27 d0 84 27 20 3d 3e 20 27 d1 94 27 2c 0a 27 d0 85 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1624e0 d1 95 27 2c 0a 27 d0 86 27 20 3d 3e 20 27 d1 96 27 2c 0a 27 d0 87 27 20 3d 3e 20 27 d1 97 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162500 0a 27 d0 88 27 20 3d 3e 20 27 d1 98 27 2c 0a 27 d0 89 27 20 3d 3e 20 27 d1 99 27 2c 0a 27 d0 8a .'..'.=>.'..',.'..'.=>.'..',.'..
162520 27 20 3d 3e 20 27 d1 9a 27 2c 0a 27 d0 8b 27 20 3d 3e 20 27 d1 9b 27 2c 0a 27 d0 8c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162540 20 27 d1 9c 27 2c 0a 27 d0 8d 27 20 3d 3e 20 27 d1 9d 27 2c 0a 27 d0 8e 27 20 3d 3e 20 27 d1 9e .'..',.'..'.=>.'..',.'..'.=>.'..
162560 27 2c 0a 27 d0 8f 27 20 3d 3e 20 27 d1 9f 27 2c 0a 27 d0 90 27 20 3d 3e 20 27 d0 b0 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162580 d0 91 27 20 3d 3e 20 27 d0 b1 27 2c 0a 27 d0 92 27 20 3d 3e 20 27 d0 b2 27 2c 0a 27 d0 93 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1625a0 3d 3e 20 27 d0 b3 27 2c 0a 27 d0 94 27 20 3d 3e 20 27 d0 b4 27 2c 0a 27 d0 95 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1625c0 d0 b5 27 2c 0a 27 d0 96 27 20 3d 3e 20 27 d0 b6 27 2c 0a 27 d0 97 27 20 3d 3e 20 27 d0 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1625e0 0a 27 d0 98 27 20 3d 3e 20 27 d0 b8 27 2c 0a 27 d0 99 27 20 3d 3e 20 27 d0 b9 27 2c 0a 27 d0 9a .'..'.=>.'..',.'..'.=>.'..',.'..
162600 27 20 3d 3e 20 27 d0 ba 27 2c 0a 27 d0 9b 27 20 3d 3e 20 27 d0 bb 27 2c 0a 27 d0 9c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162620 20 27 d0 bc 27 2c 0a 27 d0 9d 27 20 3d 3e 20 27 d0 bd 27 2c 0a 27 d0 9e 27 20 3d 3e 20 27 d0 be .'..',.'..'.=>.'..',.'..'.=>.'..
162640 27 2c 0a 27 d0 9f 27 20 3d 3e 20 27 d0 bf 27 2c 0a 27 d0 a0 27 20 3d 3e 20 27 d1 80 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162660 d0 a1 27 20 3d 3e 20 27 d1 81 27 2c 0a 27 d0 a2 27 20 3d 3e 20 27 d1 82 27 2c 0a 27 d0 a3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162680 3d 3e 20 27 d1 83 27 2c 0a 27 d0 a4 27 20 3d 3e 20 27 d1 84 27 2c 0a 27 d0 a5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1626a0 d1 85 27 2c 0a 27 d0 a6 27 20 3d 3e 20 27 d1 86 27 2c 0a 27 d0 a7 27 20 3d 3e 20 27 d1 87 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1626c0 0a 27 d0 a8 27 20 3d 3e 20 27 d1 88 27 2c 0a 27 d0 a9 27 20 3d 3e 20 27 d1 89 27 2c 0a 27 d0 aa .'..'.=>.'..',.'..'.=>.'..',.'..
1626e0 27 20 3d 3e 20 27 d1 8a 27 2c 0a 27 d0 ab 27 20 3d 3e 20 27 d1 8b 27 2c 0a 27 d0 ac 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162700 20 27 d1 8c 27 2c 0a 27 d0 ad 27 20 3d 3e 20 27 d1 8d 27 2c 0a 27 d0 ae 27 20 3d 3e 20 27 d1 8e .'..',.'..'.=>.'..',.'..'.=>.'..
162720 27 2c 0a 27 d0 af 27 20 3d 3e 20 27 d1 8f 27 2c 0a 27 d1 a0 27 20 3d 3e 20 27 d1 a1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162740 d1 a2 27 20 3d 3e 20 27 d1 a3 27 2c 0a 27 d1 a4 27 20 3d 3e 20 27 d1 a5 27 2c 0a 27 d1 a6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162760 3d 3e 20 27 d1 a7 27 2c 0a 27 d1 a8 27 20 3d 3e 20 27 d1 a9 27 2c 0a 27 d1 aa 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162780 d1 ab 27 2c 0a 27 d1 ac 27 20 3d 3e 20 27 d1 ad 27 2c 0a 27 d1 ae 27 20 3d 3e 20 27 d1 af 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1627a0 0a 27 d1 b0 27 20 3d 3e 20 27 d1 b1 27 2c 0a 27 d1 b2 27 20 3d 3e 20 27 d1 b3 27 2c 0a 27 d1 b4 .'..'.=>.'..',.'..'.=>.'..',.'..
1627c0 27 20 3d 3e 20 27 d1 b5 27 2c 0a 27 d1 b6 27 20 3d 3e 20 27 d1 b7 27 2c 0a 27 d1 b8 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1627e0 20 27 d1 b9 27 2c 0a 27 d1 ba 27 20 3d 3e 20 27 d1 bb 27 2c 0a 27 d1 bc 27 20 3d 3e 20 27 d1 bd .'..',.'..'.=>.'..',.'..'.=>.'..
162800 27 2c 0a 27 d1 be 27 20 3d 3e 20 27 d1 bf 27 2c 0a 27 d2 80 27 20 3d 3e 20 27 d2 81 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162820 d2 8a 27 20 3d 3e 20 27 d2 8b 27 2c 0a 27 d2 8c 27 20 3d 3e 20 27 d2 8d 27 2c 0a 27 d2 8e 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162840 3d 3e 20 27 d2 8f 27 2c 0a 27 d2 90 27 20 3d 3e 20 27 d2 91 27 2c 0a 27 d2 92 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162860 d2 93 27 2c 0a 27 d2 94 27 20 3d 3e 20 27 d2 95 27 2c 0a 27 d2 96 27 20 3d 3e 20 27 d2 97 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162880 0a 27 d2 98 27 20 3d 3e 20 27 d2 99 27 2c 0a 27 d2 9a 27 20 3d 3e 20 27 d2 9b 27 2c 0a 27 d2 9c .'..'.=>.'..',.'..'.=>.'..',.'..
1628a0 27 20 3d 3e 20 27 d2 9d 27 2c 0a 27 d2 9e 27 20 3d 3e 20 27 d2 9f 27 2c 0a 27 d2 a0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1628c0 20 27 d2 a1 27 2c 0a 27 d2 a2 27 20 3d 3e 20 27 d2 a3 27 2c 0a 27 d2 a4 27 20 3d 3e 20 27 d2 a5 .'..',.'..'.=>.'..',.'..'.=>.'..
1628e0 27 2c 0a 27 d2 a6 27 20 3d 3e 20 27 d2 a7 27 2c 0a 27 d2 a8 27 20 3d 3e 20 27 d2 a9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162900 d2 aa 27 20 3d 3e 20 27 d2 ab 27 2c 0a 27 d2 ac 27 20 3d 3e 20 27 d2 ad 27 2c 0a 27 d2 ae 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162920 3d 3e 20 27 d2 af 27 2c 0a 27 d2 b0 27 20 3d 3e 20 27 d2 b1 27 2c 0a 27 d2 b2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162940 d2 b3 27 2c 0a 27 d2 b4 27 20 3d 3e 20 27 d2 b5 27 2c 0a 27 d2 b6 27 20 3d 3e 20 27 d2 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162960 0a 27 d2 b8 27 20 3d 3e 20 27 d2 b9 27 2c 0a 27 d2 ba 27 20 3d 3e 20 27 d2 bb 27 2c 0a 27 d2 bc .'..'.=>.'..',.'..'.=>.'..',.'..
162980 27 20 3d 3e 20 27 d2 bd 27 2c 0a 27 d2 be 27 20 3d 3e 20 27 d2 bf 27 2c 0a 27 d3 80 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1629a0 20 27 d3 8f 27 2c 0a 27 d3 81 27 20 3d 3e 20 27 d3 82 27 2c 0a 27 d3 83 27 20 3d 3e 20 27 d3 84 .'..',.'..'.=>.'..',.'..'.=>.'..
1629c0 27 2c 0a 27 d3 85 27 20 3d 3e 20 27 d3 86 27 2c 0a 27 d3 87 27 20 3d 3e 20 27 d3 88 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1629e0 d3 89 27 20 3d 3e 20 27 d3 8a 27 2c 0a 27 d3 8b 27 20 3d 3e 20 27 d3 8c 27 2c 0a 27 d3 8d 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162a00 3d 3e 20 27 d3 8e 27 2c 0a 27 d3 90 27 20 3d 3e 20 27 d3 91 27 2c 0a 27 d3 92 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162a20 d3 93 27 2c 0a 27 d3 94 27 20 3d 3e 20 27 d3 95 27 2c 0a 27 d3 96 27 20 3d 3e 20 27 d3 97 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162a40 0a 27 d3 98 27 20 3d 3e 20 27 d3 99 27 2c 0a 27 d3 9a 27 20 3d 3e 20 27 d3 9b 27 2c 0a 27 d3 9c .'..'.=>.'..',.'..'.=>.'..',.'..
162a60 27 20 3d 3e 20 27 d3 9d 27 2c 0a 27 d3 9e 27 20 3d 3e 20 27 d3 9f 27 2c 0a 27 d3 a0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162a80 20 27 d3 a1 27 2c 0a 27 d3 a2 27 20 3d 3e 20 27 d3 a3 27 2c 0a 27 d3 a4 27 20 3d 3e 20 27 d3 a5 .'..',.'..'.=>.'..',.'..'.=>.'..
162aa0 27 2c 0a 27 d3 a6 27 20 3d 3e 20 27 d3 a7 27 2c 0a 27 d3 a8 27 20 3d 3e 20 27 d3 a9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162ac0 d3 aa 27 20 3d 3e 20 27 d3 ab 27 2c 0a 27 d3 ac 27 20 3d 3e 20 27 d3 ad 27 2c 0a 27 d3 ae 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162ae0 3d 3e 20 27 d3 af 27 2c 0a 27 d3 b0 27 20 3d 3e 20 27 d3 b1 27 2c 0a 27 d3 b2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162b00 d3 b3 27 2c 0a 27 d3 b4 27 20 3d 3e 20 27 d3 b5 27 2c 0a 27 d3 b6 27 20 3d 3e 20 27 d3 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162b20 0a 27 d3 b8 27 20 3d 3e 20 27 d3 b9 27 2c 0a 27 d3 ba 27 20 3d 3e 20 27 d3 bb 27 2c 0a 27 d3 bc .'..'.=>.'..',.'..'.=>.'..',.'..
162b40 27 20 3d 3e 20 27 d3 bd 27 2c 0a 27 d3 be 27 20 3d 3e 20 27 d3 bf 27 2c 0a 27 d4 80 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162b60 20 27 d4 81 27 2c 0a 27 d4 82 27 20 3d 3e 20 27 d4 83 27 2c 0a 27 d4 84 27 20 3d 3e 20 27 d4 85 .'..',.'..'.=>.'..',.'..'.=>.'..
162b80 27 2c 0a 27 d4 86 27 20 3d 3e 20 27 d4 87 27 2c 0a 27 d4 88 27 20 3d 3e 20 27 d4 89 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162ba0 d4 8a 27 20 3d 3e 20 27 d4 8b 27 2c 0a 27 d4 8c 27 20 3d 3e 20 27 d4 8d 27 2c 0a 27 d4 8e 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162bc0 3d 3e 20 27 d4 8f 27 2c 0a 27 d4 90 27 20 3d 3e 20 27 d4 91 27 2c 0a 27 d4 92 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162be0 d4 93 27 2c 0a 27 d4 94 27 20 3d 3e 20 27 d4 95 27 2c 0a 27 d4 96 27 20 3d 3e 20 27 d4 97 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162c00 0a 27 d4 98 27 20 3d 3e 20 27 d4 99 27 2c 0a 27 d4 9a 27 20 3d 3e 20 27 d4 9b 27 2c 0a 27 d4 9c .'..'.=>.'..',.'..'.=>.'..',.'..
162c20 27 20 3d 3e 20 27 d4 9d 27 2c 0a 27 d4 9e 27 20 3d 3e 20 27 d4 9f 27 2c 0a 27 d4 a0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162c40 20 27 d4 a1 27 2c 0a 27 d4 a2 27 20 3d 3e 20 27 d4 a3 27 2c 0a 27 d4 a4 27 20 3d 3e 20 27 d4 a5 .'..',.'..'.=>.'..',.'..'.=>.'..
162c60 27 2c 0a 27 d4 a6 27 20 3d 3e 20 27 d4 a7 27 2c 0a 27 d4 a8 27 20 3d 3e 20 27 d4 a9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162c80 d4 aa 27 20 3d 3e 20 27 d4 ab 27 2c 0a 27 d4 ac 27 20 3d 3e 20 27 d4 ad 27 2c 0a 27 d4 ae 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162ca0 3d 3e 20 27 d4 af 27 2c 0a 27 d4 b1 27 20 3d 3e 20 27 d5 a1 27 2c 0a 27 d4 b2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162cc0 d5 a2 27 2c 0a 27 d4 b3 27 20 3d 3e 20 27 d5 a3 27 2c 0a 27 d4 b4 27 20 3d 3e 20 27 d5 a4 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162ce0 0a 27 d4 b5 27 20 3d 3e 20 27 d5 a5 27 2c 0a 27 d4 b6 27 20 3d 3e 20 27 d5 a6 27 2c 0a 27 d4 b7 .'..'.=>.'..',.'..'.=>.'..',.'..
162d00 27 20 3d 3e 20 27 d5 a7 27 2c 0a 27 d4 b8 27 20 3d 3e 20 27 d5 a8 27 2c 0a 27 d4 b9 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162d20 20 27 d5 a9 27 2c 0a 27 d4 ba 27 20 3d 3e 20 27 d5 aa 27 2c 0a 27 d4 bb 27 20 3d 3e 20 27 d5 ab .'..',.'..'.=>.'..',.'..'.=>.'..
162d40 27 2c 0a 27 d4 bc 27 20 3d 3e 20 27 d5 ac 27 2c 0a 27 d4 bd 27 20 3d 3e 20 27 d5 ad 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162d60 d4 be 27 20 3d 3e 20 27 d5 ae 27 2c 0a 27 d4 bf 27 20 3d 3e 20 27 d5 af 27 2c 0a 27 d5 80 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162d80 3d 3e 20 27 d5 b0 27 2c 0a 27 d5 81 27 20 3d 3e 20 27 d5 b1 27 2c 0a 27 d5 82 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162da0 d5 b2 27 2c 0a 27 d5 83 27 20 3d 3e 20 27 d5 b3 27 2c 0a 27 d5 84 27 20 3d 3e 20 27 d5 b4 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162dc0 0a 27 d5 85 27 20 3d 3e 20 27 d5 b5 27 2c 0a 27 d5 86 27 20 3d 3e 20 27 d5 b6 27 2c 0a 27 d5 87 .'..'.=>.'..',.'..'.=>.'..',.'..
162de0 27 20 3d 3e 20 27 d5 b7 27 2c 0a 27 d5 88 27 20 3d 3e 20 27 d5 b8 27 2c 0a 27 d5 89 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
162e00 20 27 d5 b9 27 2c 0a 27 d5 8a 27 20 3d 3e 20 27 d5 ba 27 2c 0a 27 d5 8b 27 20 3d 3e 20 27 d5 bb .'..',.'..'.=>.'..',.'..'.=>.'..
162e20 27 2c 0a 27 d5 8c 27 20 3d 3e 20 27 d5 bc 27 2c 0a 27 d5 8d 27 20 3d 3e 20 27 d5 bd 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
162e40 d5 8e 27 20 3d 3e 20 27 d5 be 27 2c 0a 27 d5 8f 27 20 3d 3e 20 27 d5 bf 27 2c 0a 27 d5 90 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
162e60 3d 3e 20 27 d6 80 27 2c 0a 27 d5 91 27 20 3d 3e 20 27 d6 81 27 2c 0a 27 d5 92 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
162e80 d6 82 27 2c 0a 27 d5 93 27 20 3d 3e 20 27 d6 83 27 2c 0a 27 d5 94 27 20 3d 3e 20 27 d6 84 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
162ea0 0a 27 d5 95 27 20 3d 3e 20 27 d6 85 27 2c 0a 27 d5 96 27 20 3d 3e 20 27 d6 86 27 2c 0a 27 e1 82 .'..'.=>.'..',.'..'.=>.'..',.'..
162ec0 a0 27 20 3d 3e 20 27 e2 b4 80 27 2c 0a 27 e1 82 a1 27 20 3d 3e 20 27 e2 b4 81 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162ee0 a2 27 20 3d 3e 20 27 e2 b4 82 27 2c 0a 27 e1 82 a3 27 20 3d 3e 20 27 e2 b4 83 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162f00 a4 27 20 3d 3e 20 27 e2 b4 84 27 2c 0a 27 e1 82 a5 27 20 3d 3e 20 27 e2 b4 85 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162f20 a6 27 20 3d 3e 20 27 e2 b4 86 27 2c 0a 27 e1 82 a7 27 20 3d 3e 20 27 e2 b4 87 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162f40 a8 27 20 3d 3e 20 27 e2 b4 88 27 2c 0a 27 e1 82 a9 27 20 3d 3e 20 27 e2 b4 89 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162f60 aa 27 20 3d 3e 20 27 e2 b4 8a 27 2c 0a 27 e1 82 ab 27 20 3d 3e 20 27 e2 b4 8b 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162f80 ac 27 20 3d 3e 20 27 e2 b4 8c 27 2c 0a 27 e1 82 ad 27 20 3d 3e 20 27 e2 b4 8d 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162fa0 ae 27 20 3d 3e 20 27 e2 b4 8e 27 2c 0a 27 e1 82 af 27 20 3d 3e 20 27 e2 b4 8f 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162fc0 b0 27 20 3d 3e 20 27 e2 b4 90 27 2c 0a 27 e1 82 b1 27 20 3d 3e 20 27 e2 b4 91 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
162fe0 b2 27 20 3d 3e 20 27 e2 b4 92 27 2c 0a 27 e1 82 b3 27 20 3d 3e 20 27 e2 b4 93 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
163000 b4 27 20 3d 3e 20 27 e2 b4 94 27 2c 0a 27 e1 82 b5 27 20 3d 3e 20 27 e2 b4 95 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
163020 b6 27 20 3d 3e 20 27 e2 b4 96 27 2c 0a 27 e1 82 b7 27 20 3d 3e 20 27 e2 b4 97 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
163040 b8 27 20 3d 3e 20 27 e2 b4 98 27 2c 0a 27 e1 82 b9 27 20 3d 3e 20 27 e2 b4 99 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
163060 ba 27 20 3d 3e 20 27 e2 b4 9a 27 2c 0a 27 e1 82 bb 27 20 3d 3e 20 27 e2 b4 9b 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
163080 bc 27 20 3d 3e 20 27 e2 b4 9c 27 2c 0a 27 e1 82 bd 27 20 3d 3e 20 27 e2 b4 9d 27 2c 0a 27 e1 82 .'.=>.'...',.'...'.=>.'...',.'..
1630a0 be 27 20 3d 3e 20 27 e2 b4 9e 27 2c 0a 27 e1 82 bf 27 20 3d 3e 20 27 e2 b4 9f 27 2c 0a 27 e1 83 .'.=>.'...',.'...'.=>.'...',.'..
1630c0 80 27 20 3d 3e 20 27 e2 b4 a0 27 2c 0a 27 e1 83 81 27 20 3d 3e 20 27 e2 b4 a1 27 2c 0a 27 e1 83 .'.=>.'...',.'...'.=>.'...',.'..
1630e0 82 27 20 3d 3e 20 27 e2 b4 a2 27 2c 0a 27 e1 83 83 27 20 3d 3e 20 27 e2 b4 a3 27 2c 0a 27 e1 83 .'.=>.'...',.'...'.=>.'...',.'..
163100 84 27 20 3d 3e 20 27 e2 b4 a4 27 2c 0a 27 e1 83 85 27 20 3d 3e 20 27 e2 b4 a5 27 2c 0a 27 e1 83 .'.=>.'...',.'...'.=>.'...',.'..
163120 87 27 20 3d 3e 20 27 e2 b4 a7 27 2c 0a 27 e1 83 8d 27 20 3d 3e 20 27 e2 b4 ad 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163140 80 27 20 3d 3e 20 27 e1 b8 81 27 2c 0a 27 e1 b8 82 27 20 3d 3e 20 27 e1 b8 83 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163160 84 27 20 3d 3e 20 27 e1 b8 85 27 2c 0a 27 e1 b8 86 27 20 3d 3e 20 27 e1 b8 87 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163180 88 27 20 3d 3e 20 27 e1 b8 89 27 2c 0a 27 e1 b8 8a 27 20 3d 3e 20 27 e1 b8 8b 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1631a0 8c 27 20 3d 3e 20 27 e1 b8 8d 27 2c 0a 27 e1 b8 8e 27 20 3d 3e 20 27 e1 b8 8f 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1631c0 90 27 20 3d 3e 20 27 e1 b8 91 27 2c 0a 27 e1 b8 92 27 20 3d 3e 20 27 e1 b8 93 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1631e0 94 27 20 3d 3e 20 27 e1 b8 95 27 2c 0a 27 e1 b8 96 27 20 3d 3e 20 27 e1 b8 97 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163200 98 27 20 3d 3e 20 27 e1 b8 99 27 2c 0a 27 e1 b8 9a 27 20 3d 3e 20 27 e1 b8 9b 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163220 9c 27 20 3d 3e 20 27 e1 b8 9d 27 2c 0a 27 e1 b8 9e 27 20 3d 3e 20 27 e1 b8 9f 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163240 a0 27 20 3d 3e 20 27 e1 b8 a1 27 2c 0a 27 e1 b8 a2 27 20 3d 3e 20 27 e1 b8 a3 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163260 a4 27 20 3d 3e 20 27 e1 b8 a5 27 2c 0a 27 e1 b8 a6 27 20 3d 3e 20 27 e1 b8 a7 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163280 a8 27 20 3d 3e 20 27 e1 b8 a9 27 2c 0a 27 e1 b8 aa 27 20 3d 3e 20 27 e1 b8 ab 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1632a0 ac 27 20 3d 3e 20 27 e1 b8 ad 27 2c 0a 27 e1 b8 ae 27 20 3d 3e 20 27 e1 b8 af 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1632c0 b0 27 20 3d 3e 20 27 e1 b8 b1 27 2c 0a 27 e1 b8 b2 27 20 3d 3e 20 27 e1 b8 b3 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
1632e0 b4 27 20 3d 3e 20 27 e1 b8 b5 27 2c 0a 27 e1 b8 b6 27 20 3d 3e 20 27 e1 b8 b7 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163300 b8 27 20 3d 3e 20 27 e1 b8 b9 27 2c 0a 27 e1 b8 ba 27 20 3d 3e 20 27 e1 b8 bb 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
163320 bc 27 20 3d 3e 20 27 e1 b8 bd 27 2c 0a 27 e1 b8 be 27 20 3d 3e 20 27 e1 b8 bf 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163340 80 27 20 3d 3e 20 27 e1 b9 81 27 2c 0a 27 e1 b9 82 27 20 3d 3e 20 27 e1 b9 83 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163360 84 27 20 3d 3e 20 27 e1 b9 85 27 2c 0a 27 e1 b9 86 27 20 3d 3e 20 27 e1 b9 87 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163380 88 27 20 3d 3e 20 27 e1 b9 89 27 2c 0a 27 e1 b9 8a 27 20 3d 3e 20 27 e1 b9 8b 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1633a0 8c 27 20 3d 3e 20 27 e1 b9 8d 27 2c 0a 27 e1 b9 8e 27 20 3d 3e 20 27 e1 b9 8f 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1633c0 90 27 20 3d 3e 20 27 e1 b9 91 27 2c 0a 27 e1 b9 92 27 20 3d 3e 20 27 e1 b9 93 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1633e0 94 27 20 3d 3e 20 27 e1 b9 95 27 2c 0a 27 e1 b9 96 27 20 3d 3e 20 27 e1 b9 97 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163400 98 27 20 3d 3e 20 27 e1 b9 99 27 2c 0a 27 e1 b9 9a 27 20 3d 3e 20 27 e1 b9 9b 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163420 9c 27 20 3d 3e 20 27 e1 b9 9d 27 2c 0a 27 e1 b9 9e 27 20 3d 3e 20 27 e1 b9 9f 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163440 a0 27 20 3d 3e 20 27 e1 b9 a1 27 2c 0a 27 e1 b9 a2 27 20 3d 3e 20 27 e1 b9 a3 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163460 a4 27 20 3d 3e 20 27 e1 b9 a5 27 2c 0a 27 e1 b9 a6 27 20 3d 3e 20 27 e1 b9 a7 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163480 a8 27 20 3d 3e 20 27 e1 b9 a9 27 2c 0a 27 e1 b9 aa 27 20 3d 3e 20 27 e1 b9 ab 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1634a0 ac 27 20 3d 3e 20 27 e1 b9 ad 27 2c 0a 27 e1 b9 ae 27 20 3d 3e 20 27 e1 b9 af 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1634c0 b0 27 20 3d 3e 20 27 e1 b9 b1 27 2c 0a 27 e1 b9 b2 27 20 3d 3e 20 27 e1 b9 b3 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
1634e0 b4 27 20 3d 3e 20 27 e1 b9 b5 27 2c 0a 27 e1 b9 b6 27 20 3d 3e 20 27 e1 b9 b7 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163500 b8 27 20 3d 3e 20 27 e1 b9 b9 27 2c 0a 27 e1 b9 ba 27 20 3d 3e 20 27 e1 b9 bb 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
163520 bc 27 20 3d 3e 20 27 e1 b9 bd 27 2c 0a 27 e1 b9 be 27 20 3d 3e 20 27 e1 b9 bf 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
163540 80 27 20 3d 3e 20 27 e1 ba 81 27 2c 0a 27 e1 ba 82 27 20 3d 3e 20 27 e1 ba 83 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
163560 84 27 20 3d 3e 20 27 e1 ba 85 27 2c 0a 27 e1 ba 86 27 20 3d 3e 20 27 e1 ba 87 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
163580 88 27 20 3d 3e 20 27 e1 ba 89 27 2c 0a 27 e1 ba 8a 27 20 3d 3e 20 27 e1 ba 8b 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
1635a0 8c 27 20 3d 3e 20 27 e1 ba 8d 27 2c 0a 27 e1 ba 8e 27 20 3d 3e 20 27 e1 ba 8f 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
1635c0 90 27 20 3d 3e 20 27 e1 ba 91 27 2c 0a 27 e1 ba 92 27 20 3d 3e 20 27 e1 ba 93 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
1635e0 94 27 20 3d 3e 20 27 e1 ba 95 27 2c 0a 27 e1 ba 9e 27 20 3d 3e 20 27 c3 9f 27 2c 0a 27 e1 ba a0 .'.=>.'...',.'...'.=>.'..',.'...
163600 27 20 3d 3e 20 27 e1 ba a1 27 2c 0a 27 e1 ba a2 27 20 3d 3e 20 27 e1 ba a3 27 2c 0a 27 e1 ba a4 '.=>.'...',.'...'.=>.'...',.'...
163620 27 20 3d 3e 20 27 e1 ba a5 27 2c 0a 27 e1 ba a6 27 20 3d 3e 20 27 e1 ba a7 27 2c 0a 27 e1 ba a8 '.=>.'...',.'...'.=>.'...',.'...
163640 27 20 3d 3e 20 27 e1 ba a9 27 2c 0a 27 e1 ba aa 27 20 3d 3e 20 27 e1 ba ab 27 2c 0a 27 e1 ba ac '.=>.'...',.'...'.=>.'...',.'...
163660 27 20 3d 3e 20 27 e1 ba ad 27 2c 0a 27 e1 ba ae 27 20 3d 3e 20 27 e1 ba af 27 2c 0a 27 e1 ba b0 '.=>.'...',.'...'.=>.'...',.'...
163680 27 20 3d 3e 20 27 e1 ba b1 27 2c 0a 27 e1 ba b2 27 20 3d 3e 20 27 e1 ba b3 27 2c 0a 27 e1 ba b4 '.=>.'...',.'...'.=>.'...',.'...
1636a0 27 20 3d 3e 20 27 e1 ba b5 27 2c 0a 27 e1 ba b6 27 20 3d 3e 20 27 e1 ba b7 27 2c 0a 27 e1 ba b8 '.=>.'...',.'...'.=>.'...',.'...
1636c0 27 20 3d 3e 20 27 e1 ba b9 27 2c 0a 27 e1 ba ba 27 20 3d 3e 20 27 e1 ba bb 27 2c 0a 27 e1 ba bc '.=>.'...',.'...'.=>.'...',.'...
1636e0 27 20 3d 3e 20 27 e1 ba bd 27 2c 0a 27 e1 ba be 27 20 3d 3e 20 27 e1 ba bf 27 2c 0a 27 e1 bb 80 '.=>.'...',.'...'.=>.'...',.'...
163700 27 20 3d 3e 20 27 e1 bb 81 27 2c 0a 27 e1 bb 82 27 20 3d 3e 20 27 e1 bb 83 27 2c 0a 27 e1 bb 84 '.=>.'...',.'...'.=>.'...',.'...
163720 27 20 3d 3e 20 27 e1 bb 85 27 2c 0a 27 e1 bb 86 27 20 3d 3e 20 27 e1 bb 87 27 2c 0a 27 e1 bb 88 '.=>.'...',.'...'.=>.'...',.'...
163740 27 20 3d 3e 20 27 e1 bb 89 27 2c 0a 27 e1 bb 8a 27 20 3d 3e 20 27 e1 bb 8b 27 2c 0a 27 e1 bb 8c '.=>.'...',.'...'.=>.'...',.'...
163760 27 20 3d 3e 20 27 e1 bb 8d 27 2c 0a 27 e1 bb 8e 27 20 3d 3e 20 27 e1 bb 8f 27 2c 0a 27 e1 bb 90 '.=>.'...',.'...'.=>.'...',.'...
163780 27 20 3d 3e 20 27 e1 bb 91 27 2c 0a 27 e1 bb 92 27 20 3d 3e 20 27 e1 bb 93 27 2c 0a 27 e1 bb 94 '.=>.'...',.'...'.=>.'...',.'...
1637a0 27 20 3d 3e 20 27 e1 bb 95 27 2c 0a 27 e1 bb 96 27 20 3d 3e 20 27 e1 bb 97 27 2c 0a 27 e1 bb 98 '.=>.'...',.'...'.=>.'...',.'...
1637c0 27 20 3d 3e 20 27 e1 bb 99 27 2c 0a 27 e1 bb 9a 27 20 3d 3e 20 27 e1 bb 9b 27 2c 0a 27 e1 bb 9c '.=>.'...',.'...'.=>.'...',.'...
1637e0 27 20 3d 3e 20 27 e1 bb 9d 27 2c 0a 27 e1 bb 9e 27 20 3d 3e 20 27 e1 bb 9f 27 2c 0a 27 e1 bb a0 '.=>.'...',.'...'.=>.'...',.'...
163800 27 20 3d 3e 20 27 e1 bb a1 27 2c 0a 27 e1 bb a2 27 20 3d 3e 20 27 e1 bb a3 27 2c 0a 27 e1 bb a4 '.=>.'...',.'...'.=>.'...',.'...
163820 27 20 3d 3e 20 27 e1 bb a5 27 2c 0a 27 e1 bb a6 27 20 3d 3e 20 27 e1 bb a7 27 2c 0a 27 e1 bb a8 '.=>.'...',.'...'.=>.'...',.'...
163840 27 20 3d 3e 20 27 e1 bb a9 27 2c 0a 27 e1 bb aa 27 20 3d 3e 20 27 e1 bb ab 27 2c 0a 27 e1 bb ac '.=>.'...',.'...'.=>.'...',.'...
163860 27 20 3d 3e 20 27 e1 bb ad 27 2c 0a 27 e1 bb ae 27 20 3d 3e 20 27 e1 bb af 27 2c 0a 27 e1 bb b0 '.=>.'...',.'...'.=>.'...',.'...
163880 27 20 3d 3e 20 27 e1 bb b1 27 2c 0a 27 e1 bb b2 27 20 3d 3e 20 27 e1 bb b3 27 2c 0a 27 e1 bb b4 '.=>.'...',.'...'.=>.'...',.'...
1638a0 27 20 3d 3e 20 27 e1 bb b5 27 2c 0a 27 e1 bb b6 27 20 3d 3e 20 27 e1 bb b7 27 2c 0a 27 e1 bb b8 '.=>.'...',.'...'.=>.'...',.'...
1638c0 27 20 3d 3e 20 27 e1 bb b9 27 2c 0a 27 e1 bb ba 27 20 3d 3e 20 27 e1 bb bb 27 2c 0a 27 e1 bb bc '.=>.'...',.'...'.=>.'...',.'...
1638e0 27 20 3d 3e 20 27 e1 bb bd 27 2c 0a 27 e1 bb be 27 20 3d 3e 20 27 e1 bb bf 27 2c 0a 27 e1 bc 88 '.=>.'...',.'...'.=>.'...',.'...
163900 27 20 3d 3e 20 27 e1 bc 80 27 2c 0a 27 e1 bc 89 27 20 3d 3e 20 27 e1 bc 81 27 2c 0a 27 e1 bc 8a '.=>.'...',.'...'.=>.'...',.'...
163920 27 20 3d 3e 20 27 e1 bc 82 27 2c 0a 27 e1 bc 8b 27 20 3d 3e 20 27 e1 bc 83 27 2c 0a 27 e1 bc 8c '.=>.'...',.'...'.=>.'...',.'...
163940 27 20 3d 3e 20 27 e1 bc 84 27 2c 0a 27 e1 bc 8d 27 20 3d 3e 20 27 e1 bc 85 27 2c 0a 27 e1 bc 8e '.=>.'...',.'...'.=>.'...',.'...
163960 27 20 3d 3e 20 27 e1 bc 86 27 2c 0a 27 e1 bc 8f 27 20 3d 3e 20 27 e1 bc 87 27 2c 0a 27 e1 bc 98 '.=>.'...',.'...'.=>.'...',.'...
163980 27 20 3d 3e 20 27 e1 bc 90 27 2c 0a 27 e1 bc 99 27 20 3d 3e 20 27 e1 bc 91 27 2c 0a 27 e1 bc 9a '.=>.'...',.'...'.=>.'...',.'...
1639a0 27 20 3d 3e 20 27 e1 bc 92 27 2c 0a 27 e1 bc 9b 27 20 3d 3e 20 27 e1 bc 93 27 2c 0a 27 e1 bc 9c '.=>.'...',.'...'.=>.'...',.'...
1639c0 27 20 3d 3e 20 27 e1 bc 94 27 2c 0a 27 e1 bc 9d 27 20 3d 3e 20 27 e1 bc 95 27 2c 0a 27 e1 bc a8 '.=>.'...',.'...'.=>.'...',.'...
1639e0 27 20 3d 3e 20 27 e1 bc a0 27 2c 0a 27 e1 bc a9 27 20 3d 3e 20 27 e1 bc a1 27 2c 0a 27 e1 bc aa '.=>.'...',.'...'.=>.'...',.'...
163a00 27 20 3d 3e 20 27 e1 bc a2 27 2c 0a 27 e1 bc ab 27 20 3d 3e 20 27 e1 bc a3 27 2c 0a 27 e1 bc ac '.=>.'...',.'...'.=>.'...',.'...
163a20 27 20 3d 3e 20 27 e1 bc a4 27 2c 0a 27 e1 bc ad 27 20 3d 3e 20 27 e1 bc a5 27 2c 0a 27 e1 bc ae '.=>.'...',.'...'.=>.'...',.'...
163a40 27 20 3d 3e 20 27 e1 bc a6 27 2c 0a 27 e1 bc af 27 20 3d 3e 20 27 e1 bc a7 27 2c 0a 27 e1 bc b8 '.=>.'...',.'...'.=>.'...',.'...
163a60 27 20 3d 3e 20 27 e1 bc b0 27 2c 0a 27 e1 bc b9 27 20 3d 3e 20 27 e1 bc b1 27 2c 0a 27 e1 bc ba '.=>.'...',.'...'.=>.'...',.'...
163a80 27 20 3d 3e 20 27 e1 bc b2 27 2c 0a 27 e1 bc bb 27 20 3d 3e 20 27 e1 bc b3 27 2c 0a 27 e1 bc bc '.=>.'...',.'...'.=>.'...',.'...
163aa0 27 20 3d 3e 20 27 e1 bc b4 27 2c 0a 27 e1 bc bd 27 20 3d 3e 20 27 e1 bc b5 27 2c 0a 27 e1 bc be '.=>.'...',.'...'.=>.'...',.'...
163ac0 27 20 3d 3e 20 27 e1 bc b6 27 2c 0a 27 e1 bc bf 27 20 3d 3e 20 27 e1 bc b7 27 2c 0a 27 e1 bd 88 '.=>.'...',.'...'.=>.'...',.'...
163ae0 27 20 3d 3e 20 27 e1 bd 80 27 2c 0a 27 e1 bd 89 27 20 3d 3e 20 27 e1 bd 81 27 2c 0a 27 e1 bd 8a '.=>.'...',.'...'.=>.'...',.'...
163b00 27 20 3d 3e 20 27 e1 bd 82 27 2c 0a 27 e1 bd 8b 27 20 3d 3e 20 27 e1 bd 83 27 2c 0a 27 e1 bd 8c '.=>.'...',.'...'.=>.'...',.'...
163b20 27 20 3d 3e 20 27 e1 bd 84 27 2c 0a 27 e1 bd 8d 27 20 3d 3e 20 27 e1 bd 85 27 2c 0a 27 e1 bd 99 '.=>.'...',.'...'.=>.'...',.'...
163b40 27 20 3d 3e 20 27 e1 bd 91 27 2c 0a 27 e1 bd 9b 27 20 3d 3e 20 27 e1 bd 93 27 2c 0a 27 e1 bd 9d '.=>.'...',.'...'.=>.'...',.'...
163b60 27 20 3d 3e 20 27 e1 bd 95 27 2c 0a 27 e1 bd 9f 27 20 3d 3e 20 27 e1 bd 97 27 2c 0a 27 e1 bd a8 '.=>.'...',.'...'.=>.'...',.'...
163b80 27 20 3d 3e 20 27 e1 bd a0 27 2c 0a 27 e1 bd a9 27 20 3d 3e 20 27 e1 bd a1 27 2c 0a 27 e1 bd aa '.=>.'...',.'...'.=>.'...',.'...
163ba0 27 20 3d 3e 20 27 e1 bd a2 27 2c 0a 27 e1 bd ab 27 20 3d 3e 20 27 e1 bd a3 27 2c 0a 27 e1 bd ac '.=>.'...',.'...'.=>.'...',.'...
163bc0 27 20 3d 3e 20 27 e1 bd a4 27 2c 0a 27 e1 bd ad 27 20 3d 3e 20 27 e1 bd a5 27 2c 0a 27 e1 bd ae '.=>.'...',.'...'.=>.'...',.'...
163be0 27 20 3d 3e 20 27 e1 bd a6 27 2c 0a 27 e1 bd af 27 20 3d 3e 20 27 e1 bd a7 27 2c 0a 27 e1 be 88 '.=>.'...',.'...'.=>.'...',.'...
163c00 27 20 3d 3e 20 27 e1 be 80 27 2c 0a 27 e1 be 89 27 20 3d 3e 20 27 e1 be 81 27 2c 0a 27 e1 be 8a '.=>.'...',.'...'.=>.'...',.'...
163c20 27 20 3d 3e 20 27 e1 be 82 27 2c 0a 27 e1 be 8b 27 20 3d 3e 20 27 e1 be 83 27 2c 0a 27 e1 be 8c '.=>.'...',.'...'.=>.'...',.'...
163c40 27 20 3d 3e 20 27 e1 be 84 27 2c 0a 27 e1 be 8d 27 20 3d 3e 20 27 e1 be 85 27 2c 0a 27 e1 be 8e '.=>.'...',.'...'.=>.'...',.'...
163c60 27 20 3d 3e 20 27 e1 be 86 27 2c 0a 27 e1 be 8f 27 20 3d 3e 20 27 e1 be 87 27 2c 0a 27 e1 be 98 '.=>.'...',.'...'.=>.'...',.'...
163c80 27 20 3d 3e 20 27 e1 be 90 27 2c 0a 27 e1 be 99 27 20 3d 3e 20 27 e1 be 91 27 2c 0a 27 e1 be 9a '.=>.'...',.'...'.=>.'...',.'...
163ca0 27 20 3d 3e 20 27 e1 be 92 27 2c 0a 27 e1 be 9b 27 20 3d 3e 20 27 e1 be 93 27 2c 0a 27 e1 be 9c '.=>.'...',.'...'.=>.'...',.'...
163cc0 27 20 3d 3e 20 27 e1 be 94 27 2c 0a 27 e1 be 9d 27 20 3d 3e 20 27 e1 be 95 27 2c 0a 27 e1 be 9e '.=>.'...',.'...'.=>.'...',.'...
163ce0 27 20 3d 3e 20 27 e1 be 96 27 2c 0a 27 e1 be 9f 27 20 3d 3e 20 27 e1 be 97 27 2c 0a 27 e1 be a8 '.=>.'...',.'...'.=>.'...',.'...
163d00 27 20 3d 3e 20 27 e1 be a0 27 2c 0a 27 e1 be a9 27 20 3d 3e 20 27 e1 be a1 27 2c 0a 27 e1 be aa '.=>.'...',.'...'.=>.'...',.'...
163d20 27 20 3d 3e 20 27 e1 be a2 27 2c 0a 27 e1 be ab 27 20 3d 3e 20 27 e1 be a3 27 2c 0a 27 e1 be ac '.=>.'...',.'...'.=>.'...',.'...
163d40 27 20 3d 3e 20 27 e1 be a4 27 2c 0a 27 e1 be ad 27 20 3d 3e 20 27 e1 be a5 27 2c 0a 27 e1 be ae '.=>.'...',.'...'.=>.'...',.'...
163d60 27 20 3d 3e 20 27 e1 be a6 27 2c 0a 27 e1 be af 27 20 3d 3e 20 27 e1 be a7 27 2c 0a 27 e1 be b8 '.=>.'...',.'...'.=>.'...',.'...
163d80 27 20 3d 3e 20 27 e1 be b0 27 2c 0a 27 e1 be b9 27 20 3d 3e 20 27 e1 be b1 27 2c 0a 27 e1 be ba '.=>.'...',.'...'.=>.'...',.'...
163da0 27 20 3d 3e 20 27 e1 bd b0 27 2c 0a 27 e1 be bb 27 20 3d 3e 20 27 e1 bd b1 27 2c 0a 27 e1 be bc '.=>.'...',.'...'.=>.'...',.'...
163dc0 27 20 3d 3e 20 27 e1 be b3 27 2c 0a 27 e1 bf 88 27 20 3d 3e 20 27 e1 bd b2 27 2c 0a 27 e1 bf 89 '.=>.'...',.'...'.=>.'...',.'...
163de0 27 20 3d 3e 20 27 e1 bd b3 27 2c 0a 27 e1 bf 8a 27 20 3d 3e 20 27 e1 bd b4 27 2c 0a 27 e1 bf 8b '.=>.'...',.'...'.=>.'...',.'...
163e00 27 20 3d 3e 20 27 e1 bd b5 27 2c 0a 27 e1 bf 8c 27 20 3d 3e 20 27 e1 bf 83 27 2c 0a 27 e1 bf 98 '.=>.'...',.'...'.=>.'...',.'...
163e20 27 20 3d 3e 20 27 e1 bf 90 27 2c 0a 27 e1 bf 99 27 20 3d 3e 20 27 e1 bf 91 27 2c 0a 27 e1 bf 9a '.=>.'...',.'...'.=>.'...',.'...
163e40 27 20 3d 3e 20 27 e1 bd b6 27 2c 0a 27 e1 bf 9b 27 20 3d 3e 20 27 e1 bd b7 27 2c 0a 27 e1 bf a8 '.=>.'...',.'...'.=>.'...',.'...
163e60 27 20 3d 3e 20 27 e1 bf a0 27 2c 0a 27 e1 bf a9 27 20 3d 3e 20 27 e1 bf a1 27 2c 0a 27 e1 bf aa '.=>.'...',.'...'.=>.'...',.'...
163e80 27 20 3d 3e 20 27 e1 bd ba 27 2c 0a 27 e1 bf ab 27 20 3d 3e 20 27 e1 bd bb 27 2c 0a 27 e1 bf ac '.=>.'...',.'...'.=>.'...',.'...
163ea0 27 20 3d 3e 20 27 e1 bf a5 27 2c 0a 27 e1 bf b8 27 20 3d 3e 20 27 e1 bd b8 27 2c 0a 27 e1 bf b9 '.=>.'...',.'...'.=>.'...',.'...
163ec0 27 20 3d 3e 20 27 e1 bd b9 27 2c 0a 27 e1 bf ba 27 20 3d 3e 20 27 e1 bd bc 27 2c 0a 27 e1 bf bb '.=>.'...',.'...'.=>.'...',.'...
163ee0 27 20 3d 3e 20 27 e1 bd bd 27 2c 0a 27 e1 bf bc 27 20 3d 3e 20 27 e1 bf b3 27 2c 0a 27 e2 84 a6 '.=>.'...',.'...'.=>.'...',.'...
163f00 27 20 3d 3e 20 27 cf 89 27 2c 0a 27 e2 84 aa 27 20 3d 3e 20 27 6b 27 2c 0a 27 e2 84 ab 27 20 3d '.=>.'..',.'...'.=>.'k',.'...'.=
163f20 3e 20 27 c3 a5 27 2c 0a 27 e2 84 b2 27 20 3d 3e 20 27 e2 85 8e 27 2c 0a 27 e2 85 a0 27 20 3d 3e >.'..',.'...'.=>.'...',.'...'.=>
163f40 20 27 e2 85 b0 27 2c 0a 27 e2 85 a1 27 20 3d 3e 20 27 e2 85 b1 27 2c 0a 27 e2 85 a2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
163f60 20 27 e2 85 b2 27 2c 0a 27 e2 85 a3 27 20 3d 3e 20 27 e2 85 b3 27 2c 0a 27 e2 85 a4 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
163f80 20 27 e2 85 b4 27 2c 0a 27 e2 85 a5 27 20 3d 3e 20 27 e2 85 b5 27 2c 0a 27 e2 85 a6 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
163fa0 20 27 e2 85 b6 27 2c 0a 27 e2 85 a7 27 20 3d 3e 20 27 e2 85 b7 27 2c 0a 27 e2 85 a8 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
163fc0 20 27 e2 85 b8 27 2c 0a 27 e2 85 a9 27 20 3d 3e 20 27 e2 85 b9 27 2c 0a 27 e2 85 aa 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
163fe0 20 27 e2 85 ba 27 2c 0a 27 e2 85 ab 27 20 3d 3e 20 27 e2 85 bb 27 2c 0a 27 e2 85 ac 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164000 20 27 e2 85 bc 27 2c 0a 27 e2 85 ad 27 20 3d 3e 20 27 e2 85 bd 27 2c 0a 27 e2 85 ae 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164020 20 27 e2 85 be 27 2c 0a 27 e2 85 af 27 20 3d 3e 20 27 e2 85 bf 27 2c 0a 27 e2 86 83 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164040 20 27 e2 86 84 27 2c 0a 27 e2 92 b6 27 20 3d 3e 20 27 e2 93 90 27 2c 0a 27 e2 92 b7 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164060 20 27 e2 93 91 27 2c 0a 27 e2 92 b8 27 20 3d 3e 20 27 e2 93 92 27 2c 0a 27 e2 92 b9 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164080 20 27 e2 93 93 27 2c 0a 27 e2 92 ba 27 20 3d 3e 20 27 e2 93 94 27 2c 0a 27 e2 92 bb 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1640a0 20 27 e2 93 95 27 2c 0a 27 e2 92 bc 27 20 3d 3e 20 27 e2 93 96 27 2c 0a 27 e2 92 bd 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1640c0 20 27 e2 93 97 27 2c 0a 27 e2 92 be 27 20 3d 3e 20 27 e2 93 98 27 2c 0a 27 e2 92 bf 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1640e0 20 27 e2 93 99 27 2c 0a 27 e2 93 80 27 20 3d 3e 20 27 e2 93 9a 27 2c 0a 27 e2 93 81 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164100 20 27 e2 93 9b 27 2c 0a 27 e2 93 82 27 20 3d 3e 20 27 e2 93 9c 27 2c 0a 27 e2 93 83 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164120 20 27 e2 93 9d 27 2c 0a 27 e2 93 84 27 20 3d 3e 20 27 e2 93 9e 27 2c 0a 27 e2 93 85 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164140 20 27 e2 93 9f 27 2c 0a 27 e2 93 86 27 20 3d 3e 20 27 e2 93 a0 27 2c 0a 27 e2 93 87 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164160 20 27 e2 93 a1 27 2c 0a 27 e2 93 88 27 20 3d 3e 20 27 e2 93 a2 27 2c 0a 27 e2 93 89 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164180 20 27 e2 93 a3 27 2c 0a 27 e2 93 8a 27 20 3d 3e 20 27 e2 93 a4 27 2c 0a 27 e2 93 8b 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1641a0 20 27 e2 93 a5 27 2c 0a 27 e2 93 8c 27 20 3d 3e 20 27 e2 93 a6 27 2c 0a 27 e2 93 8d 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1641c0 20 27 e2 93 a7 27 2c 0a 27 e2 93 8e 27 20 3d 3e 20 27 e2 93 a8 27 2c 0a 27 e2 93 8f 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1641e0 20 27 e2 93 a9 27 2c 0a 27 e2 b0 80 27 20 3d 3e 20 27 e2 b0 b0 27 2c 0a 27 e2 b0 81 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164200 20 27 e2 b0 b1 27 2c 0a 27 e2 b0 82 27 20 3d 3e 20 27 e2 b0 b2 27 2c 0a 27 e2 b0 83 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164220 20 27 e2 b0 b3 27 2c 0a 27 e2 b0 84 27 20 3d 3e 20 27 e2 b0 b4 27 2c 0a 27 e2 b0 85 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164240 20 27 e2 b0 b5 27 2c 0a 27 e2 b0 86 27 20 3d 3e 20 27 e2 b0 b6 27 2c 0a 27 e2 b0 87 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164260 20 27 e2 b0 b7 27 2c 0a 27 e2 b0 88 27 20 3d 3e 20 27 e2 b0 b8 27 2c 0a 27 e2 b0 89 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164280 20 27 e2 b0 b9 27 2c 0a 27 e2 b0 8a 27 20 3d 3e 20 27 e2 b0 ba 27 2c 0a 27 e2 b0 8b 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1642a0 20 27 e2 b0 bb 27 2c 0a 27 e2 b0 8c 27 20 3d 3e 20 27 e2 b0 bc 27 2c 0a 27 e2 b0 8d 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1642c0 20 27 e2 b0 bd 27 2c 0a 27 e2 b0 8e 27 20 3d 3e 20 27 e2 b0 be 27 2c 0a 27 e2 b0 8f 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1642e0 20 27 e2 b0 bf 27 2c 0a 27 e2 b0 90 27 20 3d 3e 20 27 e2 b1 80 27 2c 0a 27 e2 b0 91 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164300 20 27 e2 b1 81 27 2c 0a 27 e2 b0 92 27 20 3d 3e 20 27 e2 b1 82 27 2c 0a 27 e2 b0 93 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164320 20 27 e2 b1 83 27 2c 0a 27 e2 b0 94 27 20 3d 3e 20 27 e2 b1 84 27 2c 0a 27 e2 b0 95 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164340 20 27 e2 b1 85 27 2c 0a 27 e2 b0 96 27 20 3d 3e 20 27 e2 b1 86 27 2c 0a 27 e2 b0 97 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164360 20 27 e2 b1 87 27 2c 0a 27 e2 b0 98 27 20 3d 3e 20 27 e2 b1 88 27 2c 0a 27 e2 b0 99 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164380 20 27 e2 b1 89 27 2c 0a 27 e2 b0 9a 27 20 3d 3e 20 27 e2 b1 8a 27 2c 0a 27 e2 b0 9b 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1643a0 20 27 e2 b1 8b 27 2c 0a 27 e2 b0 9c 27 20 3d 3e 20 27 e2 b1 8c 27 2c 0a 27 e2 b0 9d 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1643c0 20 27 e2 b1 8d 27 2c 0a 27 e2 b0 9e 27 20 3d 3e 20 27 e2 b1 8e 27 2c 0a 27 e2 b0 9f 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1643e0 20 27 e2 b1 8f 27 2c 0a 27 e2 b0 a0 27 20 3d 3e 20 27 e2 b1 90 27 2c 0a 27 e2 b0 a1 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164400 20 27 e2 b1 91 27 2c 0a 27 e2 b0 a2 27 20 3d 3e 20 27 e2 b1 92 27 2c 0a 27 e2 b0 a3 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164420 20 27 e2 b1 93 27 2c 0a 27 e2 b0 a4 27 20 3d 3e 20 27 e2 b1 94 27 2c 0a 27 e2 b0 a5 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164440 20 27 e2 b1 95 27 2c 0a 27 e2 b0 a6 27 20 3d 3e 20 27 e2 b1 96 27 2c 0a 27 e2 b0 a7 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164460 20 27 e2 b1 97 27 2c 0a 27 e2 b0 a8 27 20 3d 3e 20 27 e2 b1 98 27 2c 0a 27 e2 b0 a9 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
164480 20 27 e2 b1 99 27 2c 0a 27 e2 b0 aa 27 20 3d 3e 20 27 e2 b1 9a 27 2c 0a 27 e2 b0 ab 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1644a0 20 27 e2 b1 9b 27 2c 0a 27 e2 b0 ac 27 20 3d 3e 20 27 e2 b1 9c 27 2c 0a 27 e2 b0 ad 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1644c0 20 27 e2 b1 9d 27 2c 0a 27 e2 b0 ae 27 20 3d 3e 20 27 e2 b1 9e 27 2c 0a 27 e2 b1 a0 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1644e0 20 27 e2 b1 a1 27 2c 0a 27 e2 b1 a2 27 20 3d 3e 20 27 c9 ab 27 2c 0a 27 e2 b1 a3 27 20 3d 3e 20 .'...',.'...'.=>.'..',.'...'.=>.
164500 27 e1 b5 bd 27 2c 0a 27 e2 b1 a4 27 20 3d 3e 20 27 c9 bd 27 2c 0a 27 e2 b1 a7 27 20 3d 3e 20 27 '...',.'...'.=>.'..',.'...'.=>.'
164520 e2 b1 a8 27 2c 0a 27 e2 b1 a9 27 20 3d 3e 20 27 e2 b1 aa 27 2c 0a 27 e2 b1 ab 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
164540 e2 b1 ac 27 2c 0a 27 e2 b1 ad 27 20 3d 3e 20 27 c9 91 27 2c 0a 27 e2 b1 ae 27 20 3d 3e 20 27 c9 ...',.'...'.=>.'..',.'...'.=>.'.
164560 b1 27 2c 0a 27 e2 b1 af 27 20 3d 3e 20 27 c9 90 27 2c 0a 27 e2 b1 b0 27 20 3d 3e 20 27 c9 92 27 .',.'...'.=>.'..',.'...'.=>.'..'
164580 2c 0a 27 e2 b1 b2 27 20 3d 3e 20 27 e2 b1 b3 27 2c 0a 27 e2 b1 b5 27 20 3d 3e 20 27 e2 b1 b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
1645a0 2c 0a 27 e2 b1 be 27 20 3d 3e 20 27 c8 bf 27 2c 0a 27 e2 b1 bf 27 20 3d 3e 20 27 c9 80 27 2c 0a ,.'...'.=>.'..',.'...'.=>.'..',.
1645c0 27 e2 b2 80 27 20 3d 3e 20 27 e2 b2 81 27 2c 0a 27 e2 b2 82 27 20 3d 3e 20 27 e2 b2 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1645e0 27 e2 b2 84 27 20 3d 3e 20 27 e2 b2 85 27 2c 0a 27 e2 b2 86 27 20 3d 3e 20 27 e2 b2 87 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164600 27 e2 b2 88 27 20 3d 3e 20 27 e2 b2 89 27 2c 0a 27 e2 b2 8a 27 20 3d 3e 20 27 e2 b2 8b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164620 27 e2 b2 8c 27 20 3d 3e 20 27 e2 b2 8d 27 2c 0a 27 e2 b2 8e 27 20 3d 3e 20 27 e2 b2 8f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164640 27 e2 b2 90 27 20 3d 3e 20 27 e2 b2 91 27 2c 0a 27 e2 b2 92 27 20 3d 3e 20 27 e2 b2 93 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164660 27 e2 b2 94 27 20 3d 3e 20 27 e2 b2 95 27 2c 0a 27 e2 b2 96 27 20 3d 3e 20 27 e2 b2 97 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164680 27 e2 b2 98 27 20 3d 3e 20 27 e2 b2 99 27 2c 0a 27 e2 b2 9a 27 20 3d 3e 20 27 e2 b2 9b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1646a0 27 e2 b2 9c 27 20 3d 3e 20 27 e2 b2 9d 27 2c 0a 27 e2 b2 9e 27 20 3d 3e 20 27 e2 b2 9f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1646c0 27 e2 b2 a0 27 20 3d 3e 20 27 e2 b2 a1 27 2c 0a 27 e2 b2 a2 27 20 3d 3e 20 27 e2 b2 a3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1646e0 27 e2 b2 a4 27 20 3d 3e 20 27 e2 b2 a5 27 2c 0a 27 e2 b2 a6 27 20 3d 3e 20 27 e2 b2 a7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164700 27 e2 b2 a8 27 20 3d 3e 20 27 e2 b2 a9 27 2c 0a 27 e2 b2 aa 27 20 3d 3e 20 27 e2 b2 ab 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164720 27 e2 b2 ac 27 20 3d 3e 20 27 e2 b2 ad 27 2c 0a 27 e2 b2 ae 27 20 3d 3e 20 27 e2 b2 af 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164740 27 e2 b2 b0 27 20 3d 3e 20 27 e2 b2 b1 27 2c 0a 27 e2 b2 b2 27 20 3d 3e 20 27 e2 b2 b3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164760 27 e2 b2 b4 27 20 3d 3e 20 27 e2 b2 b5 27 2c 0a 27 e2 b2 b6 27 20 3d 3e 20 27 e2 b2 b7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164780 27 e2 b2 b8 27 20 3d 3e 20 27 e2 b2 b9 27 2c 0a 27 e2 b2 ba 27 20 3d 3e 20 27 e2 b2 bb 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1647a0 27 e2 b2 bc 27 20 3d 3e 20 27 e2 b2 bd 27 2c 0a 27 e2 b2 be 27 20 3d 3e 20 27 e2 b2 bf 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1647c0 27 e2 b3 80 27 20 3d 3e 20 27 e2 b3 81 27 2c 0a 27 e2 b3 82 27 20 3d 3e 20 27 e2 b3 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1647e0 27 e2 b3 84 27 20 3d 3e 20 27 e2 b3 85 27 2c 0a 27 e2 b3 86 27 20 3d 3e 20 27 e2 b3 87 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164800 27 e2 b3 88 27 20 3d 3e 20 27 e2 b3 89 27 2c 0a 27 e2 b3 8a 27 20 3d 3e 20 27 e2 b3 8b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164820 27 e2 b3 8c 27 20 3d 3e 20 27 e2 b3 8d 27 2c 0a 27 e2 b3 8e 27 20 3d 3e 20 27 e2 b3 8f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164840 27 e2 b3 90 27 20 3d 3e 20 27 e2 b3 91 27 2c 0a 27 e2 b3 92 27 20 3d 3e 20 27 e2 b3 93 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164860 27 e2 b3 94 27 20 3d 3e 20 27 e2 b3 95 27 2c 0a 27 e2 b3 96 27 20 3d 3e 20 27 e2 b3 97 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164880 27 e2 b3 98 27 20 3d 3e 20 27 e2 b3 99 27 2c 0a 27 e2 b3 9a 27 20 3d 3e 20 27 e2 b3 9b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1648a0 27 e2 b3 9c 27 20 3d 3e 20 27 e2 b3 9d 27 2c 0a 27 e2 b3 9e 27 20 3d 3e 20 27 e2 b3 9f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1648c0 27 e2 b3 a0 27 20 3d 3e 20 27 e2 b3 a1 27 2c 0a 27 e2 b3 a2 27 20 3d 3e 20 27 e2 b3 a3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1648e0 27 e2 b3 ab 27 20 3d 3e 20 27 e2 b3 ac 27 2c 0a 27 e2 b3 ad 27 20 3d 3e 20 27 e2 b3 ae 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164900 27 e2 b3 b2 27 20 3d 3e 20 27 e2 b3 b3 27 2c 0a 27 ea 99 80 27 20 3d 3e 20 27 ea 99 81 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164920 27 ea 99 82 27 20 3d 3e 20 27 ea 99 83 27 2c 0a 27 ea 99 84 27 20 3d 3e 20 27 ea 99 85 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164940 27 ea 99 86 27 20 3d 3e 20 27 ea 99 87 27 2c 0a 27 ea 99 88 27 20 3d 3e 20 27 ea 99 89 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164960 27 ea 99 8a 27 20 3d 3e 20 27 ea 99 8b 27 2c 0a 27 ea 99 8c 27 20 3d 3e 20 27 ea 99 8d 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164980 27 ea 99 8e 27 20 3d 3e 20 27 ea 99 8f 27 2c 0a 27 ea 99 90 27 20 3d 3e 20 27 ea 99 91 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1649a0 27 ea 99 92 27 20 3d 3e 20 27 ea 99 93 27 2c 0a 27 ea 99 94 27 20 3d 3e 20 27 ea 99 95 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1649c0 27 ea 99 96 27 20 3d 3e 20 27 ea 99 97 27 2c 0a 27 ea 99 98 27 20 3d 3e 20 27 ea 99 99 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1649e0 27 ea 99 9a 27 20 3d 3e 20 27 ea 99 9b 27 2c 0a 27 ea 99 9c 27 20 3d 3e 20 27 ea 99 9d 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164a00 27 ea 99 9e 27 20 3d 3e 20 27 ea 99 9f 27 2c 0a 27 ea 99 a0 27 20 3d 3e 20 27 ea 99 a1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164a20 27 ea 99 a2 27 20 3d 3e 20 27 ea 99 a3 27 2c 0a 27 ea 99 a4 27 20 3d 3e 20 27 ea 99 a5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164a40 27 ea 99 a6 27 20 3d 3e 20 27 ea 99 a7 27 2c 0a 27 ea 99 a8 27 20 3d 3e 20 27 ea 99 a9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164a60 27 ea 99 aa 27 20 3d 3e 20 27 ea 99 ab 27 2c 0a 27 ea 99 ac 27 20 3d 3e 20 27 ea 99 ad 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164a80 27 ea 9a 80 27 20 3d 3e 20 27 ea 9a 81 27 2c 0a 27 ea 9a 82 27 20 3d 3e 20 27 ea 9a 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164aa0 27 ea 9a 84 27 20 3d 3e 20 27 ea 9a 85 27 2c 0a 27 ea 9a 86 27 20 3d 3e 20 27 ea 9a 87 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164ac0 27 ea 9a 88 27 20 3d 3e 20 27 ea 9a 89 27 2c 0a 27 ea 9a 8a 27 20 3d 3e 20 27 ea 9a 8b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164ae0 27 ea 9a 8c 27 20 3d 3e 20 27 ea 9a 8d 27 2c 0a 27 ea 9a 8e 27 20 3d 3e 20 27 ea 9a 8f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164b00 27 ea 9a 90 27 20 3d 3e 20 27 ea 9a 91 27 2c 0a 27 ea 9a 92 27 20 3d 3e 20 27 ea 9a 93 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164b20 27 ea 9a 94 27 20 3d 3e 20 27 ea 9a 95 27 2c 0a 27 ea 9a 96 27 20 3d 3e 20 27 ea 9a 97 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164b40 27 ea 9a 98 27 20 3d 3e 20 27 ea 9a 99 27 2c 0a 27 ea 9a 9a 27 20 3d 3e 20 27 ea 9a 9b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164b60 27 ea 9c a2 27 20 3d 3e 20 27 ea 9c a3 27 2c 0a 27 ea 9c a4 27 20 3d 3e 20 27 ea 9c a5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164b80 27 ea 9c a6 27 20 3d 3e 20 27 ea 9c a7 27 2c 0a 27 ea 9c a8 27 20 3d 3e 20 27 ea 9c a9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164ba0 27 ea 9c aa 27 20 3d 3e 20 27 ea 9c ab 27 2c 0a 27 ea 9c ac 27 20 3d 3e 20 27 ea 9c ad 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164bc0 27 ea 9c ae 27 20 3d 3e 20 27 ea 9c af 27 2c 0a 27 ea 9c b2 27 20 3d 3e 20 27 ea 9c b3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164be0 27 ea 9c b4 27 20 3d 3e 20 27 ea 9c b5 27 2c 0a 27 ea 9c b6 27 20 3d 3e 20 27 ea 9c b7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164c00 27 ea 9c b8 27 20 3d 3e 20 27 ea 9c b9 27 2c 0a 27 ea 9c ba 27 20 3d 3e 20 27 ea 9c bb 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164c20 27 ea 9c bc 27 20 3d 3e 20 27 ea 9c bd 27 2c 0a 27 ea 9c be 27 20 3d 3e 20 27 ea 9c bf 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164c40 27 ea 9d 80 27 20 3d 3e 20 27 ea 9d 81 27 2c 0a 27 ea 9d 82 27 20 3d 3e 20 27 ea 9d 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164c60 27 ea 9d 84 27 20 3d 3e 20 27 ea 9d 85 27 2c 0a 27 ea 9d 86 27 20 3d 3e 20 27 ea 9d 87 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164c80 27 ea 9d 88 27 20 3d 3e 20 27 ea 9d 89 27 2c 0a 27 ea 9d 8a 27 20 3d 3e 20 27 ea 9d 8b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164ca0 27 ea 9d 8c 27 20 3d 3e 20 27 ea 9d 8d 27 2c 0a 27 ea 9d 8e 27 20 3d 3e 20 27 ea 9d 8f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164cc0 27 ea 9d 90 27 20 3d 3e 20 27 ea 9d 91 27 2c 0a 27 ea 9d 92 27 20 3d 3e 20 27 ea 9d 93 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164ce0 27 ea 9d 94 27 20 3d 3e 20 27 ea 9d 95 27 2c 0a 27 ea 9d 96 27 20 3d 3e 20 27 ea 9d 97 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164d00 27 ea 9d 98 27 20 3d 3e 20 27 ea 9d 99 27 2c 0a 27 ea 9d 9a 27 20 3d 3e 20 27 ea 9d 9b 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164d20 27 ea 9d 9c 27 20 3d 3e 20 27 ea 9d 9d 27 2c 0a 27 ea 9d 9e 27 20 3d 3e 20 27 ea 9d 9f 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164d40 27 ea 9d a0 27 20 3d 3e 20 27 ea 9d a1 27 2c 0a 27 ea 9d a2 27 20 3d 3e 20 27 ea 9d a3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164d60 27 ea 9d a4 27 20 3d 3e 20 27 ea 9d a5 27 2c 0a 27 ea 9d a6 27 20 3d 3e 20 27 ea 9d a7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164d80 27 ea 9d a8 27 20 3d 3e 20 27 ea 9d a9 27 2c 0a 27 ea 9d aa 27 20 3d 3e 20 27 ea 9d ab 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164da0 27 ea 9d ac 27 20 3d 3e 20 27 ea 9d ad 27 2c 0a 27 ea 9d ae 27 20 3d 3e 20 27 ea 9d af 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164dc0 27 ea 9d b9 27 20 3d 3e 20 27 ea 9d ba 27 2c 0a 27 ea 9d bb 27 20 3d 3e 20 27 ea 9d bc 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164de0 27 ea 9d bd 27 20 3d 3e 20 27 e1 b5 b9 27 2c 0a 27 ea 9d be 27 20 3d 3e 20 27 ea 9d bf 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164e00 27 ea 9e 80 27 20 3d 3e 20 27 ea 9e 81 27 2c 0a 27 ea 9e 82 27 20 3d 3e 20 27 ea 9e 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164e20 27 ea 9e 84 27 20 3d 3e 20 27 ea 9e 85 27 2c 0a 27 ea 9e 86 27 20 3d 3e 20 27 ea 9e 87 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
164e40 27 ea 9e 8b 27 20 3d 3e 20 27 ea 9e 8c 27 2c 0a 27 ea 9e 8d 27 20 3d 3e 20 27 c9 a5 27 2c 0a 27 '...'.=>.'...',.'...'.=>.'..',.'
164e60 ea 9e 90 27 20 3d 3e 20 27 ea 9e 91 27 2c 0a 27 ea 9e 92 27 20 3d 3e 20 27 ea 9e 93 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164e80 ea 9e 96 27 20 3d 3e 20 27 ea 9e 97 27 2c 0a 27 ea 9e 98 27 20 3d 3e 20 27 ea 9e 99 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164ea0 ea 9e 9a 27 20 3d 3e 20 27 ea 9e 9b 27 2c 0a 27 ea 9e 9c 27 20 3d 3e 20 27 ea 9e 9d 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164ec0 ea 9e 9e 27 20 3d 3e 20 27 ea 9e 9f 27 2c 0a 27 ea 9e a0 27 20 3d 3e 20 27 ea 9e a1 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164ee0 ea 9e a2 27 20 3d 3e 20 27 ea 9e a3 27 2c 0a 27 ea 9e a4 27 20 3d 3e 20 27 ea 9e a5 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164f00 ea 9e a6 27 20 3d 3e 20 27 ea 9e a7 27 2c 0a 27 ea 9e a8 27 20 3d 3e 20 27 ea 9e a9 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
164f20 ea 9e aa 27 20 3d 3e 20 27 c9 a6 27 2c 0a 27 ea 9e ab 27 20 3d 3e 20 27 c9 9c 27 2c 0a 27 ea 9e ...'.=>.'..',.'...'.=>.'..',.'..
164f40 ac 27 20 3d 3e 20 27 c9 a1 27 2c 0a 27 ea 9e ad 27 20 3d 3e 20 27 c9 ac 27 2c 0a 27 ea 9e b0 27 .'.=>.'..',.'...'.=>.'..',.'...'
164f60 20 3d 3e 20 27 ca 9e 27 2c 0a 27 ea 9e b1 27 20 3d 3e 20 27 ca 87 27 2c 0a 27 ef bc a1 27 20 3d .=>.'..',.'...'.=>.'..',.'...'.=
164f80 3e 20 27 ef bd 81 27 2c 0a 27 ef bc a2 27 20 3d 3e 20 27 ef bd 82 27 2c 0a 27 ef bc a3 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
164fa0 3e 20 27 ef bd 83 27 2c 0a 27 ef bc a4 27 20 3d 3e 20 27 ef bd 84 27 2c 0a 27 ef bc a5 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
164fc0 3e 20 27 ef bd 85 27 2c 0a 27 ef bc a6 27 20 3d 3e 20 27 ef bd 86 27 2c 0a 27 ef bc a7 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
164fe0 3e 20 27 ef bd 87 27 2c 0a 27 ef bc a8 27 20 3d 3e 20 27 ef bd 88 27 2c 0a 27 ef bc a9 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165000 3e 20 27 ef bd 89 27 2c 0a 27 ef bc aa 27 20 3d 3e 20 27 ef bd 8a 27 2c 0a 27 ef bc ab 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165020 3e 20 27 ef bd 8b 27 2c 0a 27 ef bc ac 27 20 3d 3e 20 27 ef bd 8c 27 2c 0a 27 ef bc ad 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165040 3e 20 27 ef bd 8d 27 2c 0a 27 ef bc ae 27 20 3d 3e 20 27 ef bd 8e 27 2c 0a 27 ef bc af 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165060 3e 20 27 ef bd 8f 27 2c 0a 27 ef bc b0 27 20 3d 3e 20 27 ef bd 90 27 2c 0a 27 ef bc b1 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165080 3e 20 27 ef bd 91 27 2c 0a 27 ef bc b2 27 20 3d 3e 20 27 ef bd 92 27 2c 0a 27 ef bc b3 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
1650a0 3e 20 27 ef bd 93 27 2c 0a 27 ef bc b4 27 20 3d 3e 20 27 ef bd 94 27 2c 0a 27 ef bc b5 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
1650c0 3e 20 27 ef bd 95 27 2c 0a 27 ef bc b6 27 20 3d 3e 20 27 ef bd 96 27 2c 0a 27 ef bc b7 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
1650e0 3e 20 27 ef bd 97 27 2c 0a 27 ef bc b8 27 20 3d 3e 20 27 ef bd 98 27 2c 0a 27 ef bc b9 27 20 3d >.'...',.'...'.=>.'...',.'...'.=
165100 3e 20 27 ef bd 99 27 2c 0a 27 ef bc ba 27 20 3d 3e 20 27 ef bd 9a 27 2c 0a 27 f0 90 90 80 27 20 >.'...',.'...'.=>.'...',.'....'.
165120 3d 3e 20 27 f0 90 90 a8 27 2c 0a 27 f0 90 90 81 27 20 3d 3e 20 27 f0 90 90 a9 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
165140 90 82 27 20 3d 3e 20 27 f0 90 90 aa 27 2c 0a 27 f0 90 90 83 27 20 3d 3e 20 27 f0 90 90 ab 27 2c ..'.=>.'....',.'....'.=>.'....',
165160 0a 27 f0 90 90 84 27 20 3d 3e 20 27 f0 90 90 ac 27 2c 0a 27 f0 90 90 85 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
165180 90 ad 27 2c 0a 27 f0 90 90 86 27 20 3d 3e 20 27 f0 90 90 ae 27 2c 0a 27 f0 90 90 87 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
1651a0 20 27 f0 90 90 af 27 2c 0a 27 f0 90 90 88 27 20 3d 3e 20 27 f0 90 90 b0 27 2c 0a 27 f0 90 90 89 .'....',.'....'.=>.'....',.'....
1651c0 27 20 3d 3e 20 27 f0 90 90 b1 27 2c 0a 27 f0 90 90 8a 27 20 3d 3e 20 27 f0 90 90 b2 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
1651e0 f0 90 90 8b 27 20 3d 3e 20 27 f0 90 90 b3 27 2c 0a 27 f0 90 90 8c 27 20 3d 3e 20 27 f0 90 90 b4 ....'.=>.'....',.'....'.=>.'....
165200 27 2c 0a 27 f0 90 90 8d 27 20 3d 3e 20 27 f0 90 90 b5 27 2c 0a 27 f0 90 90 8e 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
165220 f0 90 90 b6 27 2c 0a 27 f0 90 90 8f 27 20 3d 3e 20 27 f0 90 90 b7 27 2c 0a 27 f0 90 90 90 27 20 ....',.'....'.=>.'....',.'....'.
165240 3d 3e 20 27 f0 90 90 b8 27 2c 0a 27 f0 90 90 91 27 20 3d 3e 20 27 f0 90 90 b9 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
165260 90 92 27 20 3d 3e 20 27 f0 90 90 ba 27 2c 0a 27 f0 90 90 93 27 20 3d 3e 20 27 f0 90 90 bb 27 2c ..'.=>.'....',.'....'.=>.'....',
165280 0a 27 f0 90 90 94 27 20 3d 3e 20 27 f0 90 90 bc 27 2c 0a 27 f0 90 90 95 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
1652a0 90 bd 27 2c 0a 27 f0 90 90 96 27 20 3d 3e 20 27 f0 90 90 be 27 2c 0a 27 f0 90 90 97 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
1652c0 20 27 f0 90 90 bf 27 2c 0a 27 f0 90 90 98 27 20 3d 3e 20 27 f0 90 91 80 27 2c 0a 27 f0 90 90 99 .'....',.'....'.=>.'....',.'....
1652e0 27 20 3d 3e 20 27 f0 90 91 81 27 2c 0a 27 f0 90 90 9a 27 20 3d 3e 20 27 f0 90 91 82 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
165300 f0 90 90 9b 27 20 3d 3e 20 27 f0 90 91 83 27 2c 0a 27 f0 90 90 9c 27 20 3d 3e 20 27 f0 90 91 84 ....'.=>.'....',.'....'.=>.'....
165320 27 2c 0a 27 f0 90 90 9d 27 20 3d 3e 20 27 f0 90 91 85 27 2c 0a 27 f0 90 90 9e 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
165340 f0 90 91 86 27 2c 0a 27 f0 90 90 9f 27 20 3d 3e 20 27 f0 90 91 87 27 2c 0a 27 f0 90 90 a0 27 20 ....',.'....'.=>.'....',.'....'.
165360 3d 3e 20 27 f0 90 91 88 27 2c 0a 27 f0 90 90 a1 27 20 3d 3e 20 27 f0 90 91 89 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
165380 90 a2 27 20 3d 3e 20 27 f0 90 91 8a 27 2c 0a 27 f0 90 90 a3 27 20 3d 3e 20 27 f0 90 91 8b 27 2c ..'.=>.'....',.'....'.=>.'....',
1653a0 0a 27 f0 90 90 a4 27 20 3d 3e 20 27 f0 90 91 8c 27 2c 0a 27 f0 90 90 a5 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
1653c0 91 8d 27 2c 0a 27 f0 90 90 a6 27 20 3d 3e 20 27 f0 90 91 8e 27 2c 0a 27 f0 90 90 a7 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
1653e0 20 27 f0 90 91 8f 27 2c 0a 27 f0 91 a2 a0 27 20 3d 3e 20 27 f0 91 a3 80 27 2c 0a 27 f0 91 a2 a1 .'....',.'....'.=>.'....',.'....
165400 27 20 3d 3e 20 27 f0 91 a3 81 27 2c 0a 27 f0 91 a2 a2 27 20 3d 3e 20 27 f0 91 a3 82 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
165420 f0 91 a2 a3 27 20 3d 3e 20 27 f0 91 a3 83 27 2c 0a 27 f0 91 a2 a4 27 20 3d 3e 20 27 f0 91 a3 84 ....'.=>.'....',.'....'.=>.'....
165440 27 2c 0a 27 f0 91 a2 a5 27 20 3d 3e 20 27 f0 91 a3 85 27 2c 0a 27 f0 91 a2 a6 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
165460 f0 91 a3 86 27 2c 0a 27 f0 91 a2 a7 27 20 3d 3e 20 27 f0 91 a3 87 27 2c 0a 27 f0 91 a2 a8 27 20 ....',.'....'.=>.'....',.'....'.
165480 3d 3e 20 27 f0 91 a3 88 27 2c 0a 27 f0 91 a2 a9 27 20 3d 3e 20 27 f0 91 a3 89 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
1654a0 a2 aa 27 20 3d 3e 20 27 f0 91 a3 8a 27 2c 0a 27 f0 91 a2 ab 27 20 3d 3e 20 27 f0 91 a3 8b 27 2c ..'.=>.'....',.'....'.=>.'....',
1654c0 0a 27 f0 91 a2 ac 27 20 3d 3e 20 27 f0 91 a3 8c 27 2c 0a 27 f0 91 a2 ad 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
1654e0 a3 8d 27 2c 0a 27 f0 91 a2 ae 27 20 3d 3e 20 27 f0 91 a3 8e 27 2c 0a 27 f0 91 a2 af 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
165500 20 27 f0 91 a3 8f 27 2c 0a 27 f0 91 a2 b0 27 20 3d 3e 20 27 f0 91 a3 90 27 2c 0a 27 f0 91 a2 b1 .'....',.'....'.=>.'....',.'....
165520 27 20 3d 3e 20 27 f0 91 a3 91 27 2c 0a 27 f0 91 a2 b2 27 20 3d 3e 20 27 f0 91 a3 92 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
165540 f0 91 a2 b3 27 20 3d 3e 20 27 f0 91 a3 93 27 2c 0a 27 f0 91 a2 b4 27 20 3d 3e 20 27 f0 91 a3 94 ....'.=>.'....',.'....'.=>.'....
165560 27 2c 0a 27 f0 91 a2 b5 27 20 3d 3e 20 27 f0 91 a3 95 27 2c 0a 27 f0 91 a2 b6 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
165580 f0 91 a3 96 27 2c 0a 27 f0 91 a2 b7 27 20 3d 3e 20 27 f0 91 a3 97 27 2c 0a 27 f0 91 a2 b8 27 20 ....',.'....'.=>.'....',.'....'.
1655a0 3d 3e 20 27 f0 91 a3 98 27 2c 0a 27 f0 91 a2 b9 27 20 3d 3e 20 27 f0 91 a3 99 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
1655c0 a2 ba 27 20 3d 3e 20 27 f0 91 a3 9a 27 2c 0a 27 f0 91 a2 bb 27 20 3d 3e 20 27 f0 91 a3 9b 27 2c ..'.=>.'....',.'....'.=>.'....',
1655e0 0a 27 f0 91 a2 bc 27 20 3d 3e 20 27 f0 91 a3 9c 27 2c 0a 27 f0 91 a2 bd 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
165600 a3 9d 27 2c 0a 27 f0 91 a2 be 27 20 3d 3e 20 27 f0 91 a3 9e 27 2c 0a 27 f0 91 a2 bf 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
165620 20 27 f0 91 a3 9f 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 72 65 74 75 72 6e 20 27 2f 28 3f .'....',.);.<?php....return.'/(?
165640 3c 21 5b 5c 78 7b 30 30 32 37 7d 5c 78 7b 30 30 32 45 7d 5c 78 7b 30 30 33 41 7d 5c 78 7b 30 30 <![\x{0027}\x{002E}\x{003A}\x{00
165660 35 45 7d 5c 78 7b 30 30 36 30 7d 5c 78 7b 30 30 41 38 7d 5c 78 7b 30 30 41 44 7d 5c 78 7b 30 30 5E}\x{0060}\x{00A8}\x{00AD}\x{00
165680 41 46 7d 5c 78 7b 30 30 42 34 7d 5c 78 7b 30 30 42 37 7d 5c 78 7b 30 30 42 38 7d 5c 78 7b 30 32 AF}\x{00B4}\x{00B7}\x{00B8}\x{02
1656a0 42 30 7d 2d 5c 78 7b 30 32 43 31 7d 5c 78 7b 30 32 43 32 7d 2d 5c 78 7b 30 32 43 35 7d 5c 78 7b B0}-\x{02C1}\x{02C2}-\x{02C5}\x{
1656c0 30 32 43 36 7d 2d 5c 78 7b 30 32 44 31 7d 5c 78 7b 30 32 44 32 7d 2d 5c 78 7b 30 32 44 46 7d 5c 02C6}-\x{02D1}\x{02D2}-\x{02DF}\
1656e0 78 7b 30 32 45 30 7d 2d 5c 78 7b 30 32 45 34 7d 5c 78 7b 30 32 45 35 7d 2d 5c 78 7b 30 32 45 42 x{02E0}-\x{02E4}\x{02E5}-\x{02EB
165700 7d 5c 78 7b 30 32 45 43 7d 5c 78 7b 30 32 45 44 7d 5c 78 7b 30 32 45 45 7d 5c 78 7b 30 32 45 46 }\x{02EC}\x{02ED}\x{02EE}\x{02EF
165720 7d 2d 5c 78 7b 30 32 46 46 7d 5c 78 7b 30 33 30 30 7d 2d 5c 78 7b 30 33 36 46 7d 5c 78 7b 30 33 }-\x{02FF}\x{0300}-\x{036F}\x{03
165740 37 34 7d 5c 78 7b 30 33 37 35 7d 5c 78 7b 30 33 37 41 7d 5c 78 7b 30 33 38 34 7d 2d 5c 78 7b 30 74}\x{0375}\x{037A}\x{0384}-\x{0
165760 33 38 35 7d 5c 78 7b 30 33 38 37 7d 5c 78 7b 30 34 38 33 7d 2d 5c 78 7b 30 34 38 37 7d 5c 78 7b 385}\x{0387}\x{0483}-\x{0487}\x{
165780 30 34 38 38 7d 2d 5c 78 7b 30 34 38 39 7d 5c 78 7b 30 35 35 39 7d 5c 78 7b 30 35 39 31 7d 2d 5c 0488}-\x{0489}\x{0559}\x{0591}-\
1657a0 78 7b 30 35 42 44 7d 5c 78 7b 30 35 42 46 7d 5c 78 7b 30 35 43 31 7d 2d 5c 78 7b 30 35 43 32 7d x{05BD}\x{05BF}\x{05C1}-\x{05C2}
1657c0 5c 78 7b 30 35 43 34 7d 2d 5c 78 7b 30 35 43 35 7d 5c 78 7b 30 35 43 37 7d 5c 78 7b 30 35 46 34 \x{05C4}-\x{05C5}\x{05C7}\x{05F4
1657e0 7d 5c 78 7b 30 36 30 30 7d 2d 5c 78 7b 30 36 30 35 7d 5c 78 7b 30 36 31 30 7d 2d 5c 78 7b 30 36 }\x{0600}-\x{0605}\x{0610}-\x{06
165800 31 41 7d 5c 78 7b 30 36 31 43 7d 5c 78 7b 30 36 34 30 7d 5c 78 7b 30 36 34 42 7d 2d 5c 78 7b 30 1A}\x{061C}\x{0640}\x{064B}-\x{0
165820 36 35 46 7d 5c 78 7b 30 36 37 30 7d 5c 78 7b 30 36 44 36 7d 2d 5c 78 7b 30 36 44 43 7d 5c 78 7b 65F}\x{0670}\x{06D6}-\x{06DC}\x{
165840 30 36 44 44 7d 5c 78 7b 30 36 44 46 7d 2d 5c 78 7b 30 36 45 34 7d 5c 78 7b 30 36 45 35 7d 2d 5c 06DD}\x{06DF}-\x{06E4}\x{06E5}-\
165860 78 7b 30 36 45 36 7d 5c 78 7b 30 36 45 37 7d 2d 5c 78 7b 30 36 45 38 7d 5c 78 7b 30 36 45 41 7d x{06E6}\x{06E7}-\x{06E8}\x{06EA}
165880 2d 5c 78 7b 30 36 45 44 7d 5c 78 7b 30 37 30 46 7d 5c 78 7b 30 37 31 31 7d 5c 78 7b 30 37 33 30 -\x{06ED}\x{070F}\x{0711}\x{0730
1658a0 7d 2d 5c 78 7b 30 37 34 41 7d 5c 78 7b 30 37 41 36 7d 2d 5c 78 7b 30 37 42 30 7d 5c 78 7b 30 37 }-\x{074A}\x{07A6}-\x{07B0}\x{07
1658c0 45 42 7d 2d 5c 78 7b 30 37 46 33 7d 5c 78 7b 30 37 46 34 7d 2d 5c 78 7b 30 37 46 35 7d 5c 78 7b EB}-\x{07F3}\x{07F4}-\x{07F5}\x{
1658e0 30 37 46 41 7d 5c 78 7b 30 37 46 44 7d 5c 78 7b 30 38 31 36 7d 2d 5c 78 7b 30 38 31 39 7d 5c 78 07FA}\x{07FD}\x{0816}-\x{0819}\x
165900 7b 30 38 31 41 7d 5c 78 7b 30 38 31 42 7d 2d 5c 78 7b 30 38 32 33 7d 5c 78 7b 30 38 32 34 7d 5c {081A}\x{081B}-\x{0823}\x{0824}\
165920 78 7b 30 38 32 35 7d 2d 5c 78 7b 30 38 32 37 7d 5c 78 7b 30 38 32 38 7d 5c 78 7b 30 38 32 39 7d x{0825}-\x{0827}\x{0828}\x{0829}
165940 2d 5c 78 7b 30 38 32 44 7d 5c 78 7b 30 38 35 39 7d 2d 5c 78 7b 30 38 35 42 7d 5c 78 7b 30 38 44 -\x{082D}\x{0859}-\x{085B}\x{08D
165960 33 7d 2d 5c 78 7b 30 38 45 31 7d 5c 78 7b 30 38 45 32 7d 5c 78 7b 30 38 45 33 7d 2d 5c 78 7b 30 3}-\x{08E1}\x{08E2}\x{08E3}-\x{0
165980 39 30 32 7d 5c 78 7b 30 39 33 41 7d 5c 78 7b 30 39 33 43 7d 5c 78 7b 30 39 34 31 7d 2d 5c 78 7b 902}\x{093A}\x{093C}\x{0941}-\x{
1659a0 30 39 34 38 7d 5c 78 7b 30 39 34 44 7d 5c 78 7b 30 39 35 31 7d 2d 5c 78 7b 30 39 35 37 7d 5c 78 0948}\x{094D}\x{0951}-\x{0957}\x
1659c0 7b 30 39 36 32 7d 2d 5c 78 7b 30 39 36 33 7d 5c 78 7b 30 39 37 31 7d 5c 78 7b 30 39 38 31 7d 5c {0962}-\x{0963}\x{0971}\x{0981}\
1659e0 78 7b 30 39 42 43 7d 5c 78 7b 30 39 43 31 7d 2d 5c 78 7b 30 39 43 34 7d 5c 78 7b 30 39 43 44 7d x{09BC}\x{09C1}-\x{09C4}\x{09CD}
165a00 5c 78 7b 30 39 45 32 7d 2d 5c 78 7b 30 39 45 33 7d 5c 78 7b 30 39 46 45 7d 5c 78 7b 30 41 30 31 \x{09E2}-\x{09E3}\x{09FE}\x{0A01
165a20 7d 2d 5c 78 7b 30 41 30 32 7d 5c 78 7b 30 41 33 43 7d 5c 78 7b 30 41 34 31 7d 2d 5c 78 7b 30 41 }-\x{0A02}\x{0A3C}\x{0A41}-\x{0A
165a40 34 32 7d 5c 78 7b 30 41 34 37 7d 2d 5c 78 7b 30 41 34 38 7d 5c 78 7b 30 41 34 42 7d 2d 5c 78 7b 42}\x{0A47}-\x{0A48}\x{0A4B}-\x{
165a60 30 41 34 44 7d 5c 78 7b 30 41 35 31 7d 5c 78 7b 30 41 37 30 7d 2d 5c 78 7b 30 41 37 31 7d 5c 78 0A4D}\x{0A51}\x{0A70}-\x{0A71}\x
165a80 7b 30 41 37 35 7d 5c 78 7b 30 41 38 31 7d 2d 5c 78 7b 30 41 38 32 7d 5c 78 7b 30 41 42 43 7d 5c {0A75}\x{0A81}-\x{0A82}\x{0ABC}\
165aa0 78 7b 30 41 43 31 7d 2d 5c 78 7b 30 41 43 35 7d 5c 78 7b 30 41 43 37 7d 2d 5c 78 7b 30 41 43 38 x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8
165ac0 7d 5c 78 7b 30 41 43 44 7d 5c 78 7b 30 41 45 32 7d 2d 5c 78 7b 30 41 45 33 7d 5c 78 7b 30 41 46 }\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF
165ae0 41 7d 2d 5c 78 7b 30 41 46 46 7d 5c 78 7b 30 42 30 31 7d 5c 78 7b 30 42 33 43 7d 5c 78 7b 30 42 A}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B
165b00 33 46 7d 5c 78 7b 30 42 34 31 7d 2d 5c 78 7b 30 42 34 34 7d 5c 78 7b 30 42 34 44 7d 5c 78 7b 30 3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0
165b20 42 35 36 7d 5c 78 7b 30 42 36 32 7d 2d 5c 78 7b 30 42 36 33 7d 5c 78 7b 30 42 38 32 7d 5c 78 7b B56}\x{0B62}-\x{0B63}\x{0B82}\x{
165b40 30 42 43 30 7d 5c 78 7b 30 42 43 44 7d 5c 78 7b 30 43 30 30 7d 5c 78 7b 30 43 30 34 7d 5c 78 7b 0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{
165b60 30 43 33 45 7d 2d 5c 78 7b 30 43 34 30 7d 5c 78 7b 30 43 34 36 7d 2d 5c 78 7b 30 43 34 38 7d 5c 0C3E}-\x{0C40}\x{0C46}-\x{0C48}\
165b80 78 7b 30 43 34 41 7d 2d 5c 78 7b 30 43 34 44 7d 5c 78 7b 30 43 35 35 7d 2d 5c 78 7b 30 43 35 36 x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56
165ba0 7d 5c 78 7b 30 43 36 32 7d 2d 5c 78 7b 30 43 36 33 7d 5c 78 7b 30 43 38 31 7d 5c 78 7b 30 43 42 }\x{0C62}-\x{0C63}\x{0C81}\x{0CB
165bc0 43 7d 5c 78 7b 30 43 42 46 7d 5c 78 7b 30 43 43 36 7d 5c 78 7b 30 43 43 43 7d 2d 5c 78 7b 30 43 C}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0C
165be0 43 44 7d 5c 78 7b 30 43 45 32 7d 2d 5c 78 7b 30 43 45 33 7d 5c 78 7b 30 44 30 30 7d 2d 5c 78 7b CD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{
165c00 30 44 30 31 7d 5c 78 7b 30 44 33 42 7d 2d 5c 78 7b 30 44 33 43 7d 5c 78 7b 30 44 34 31 7d 2d 5c 0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\
165c20 78 7b 30 44 34 34 7d 5c 78 7b 30 44 34 44 7d 5c 78 7b 30 44 36 32 7d 2d 5c 78 7b 30 44 36 33 7d x{0D44}\x{0D4D}\x{0D62}-\x{0D63}
165c40 5c 78 7b 30 44 43 41 7d 5c 78 7b 30 44 44 32 7d 2d 5c 78 7b 30 44 44 34 7d 5c 78 7b 30 44 44 36 \x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6
165c60 7d 5c 78 7b 30 45 33 31 7d 5c 78 7b 30 45 33 34 7d 2d 5c 78 7b 30 45 33 41 7d 5c 78 7b 30 45 34 }\x{0E31}\x{0E34}-\x{0E3A}\x{0E4
165c80 36 7d 5c 78 7b 30 45 34 37 7d 2d 5c 78 7b 30 45 34 45 7d 5c 78 7b 30 45 42 31 7d 5c 78 7b 30 45 6}\x{0E47}-\x{0E4E}\x{0EB1}\x{0E
165ca0 42 34 7d 2d 5c 78 7b 30 45 42 39 7d 5c 78 7b 30 45 42 42 7d 2d 5c 78 7b 30 45 42 43 7d 5c 78 7b B4}-\x{0EB9}\x{0EBB}-\x{0EBC}\x{
165cc0 30 45 43 36 7d 5c 78 7b 30 45 43 38 7d 2d 5c 78 7b 30 45 43 44 7d 5c 78 7b 30 46 31 38 7d 2d 5c 0EC6}\x{0EC8}-\x{0ECD}\x{0F18}-\
165ce0 78 7b 30 46 31 39 7d 5c 78 7b 30 46 33 35 7d 5c 78 7b 30 46 33 37 7d 5c 78 7b 30 46 33 39 7d 5c x{0F19}\x{0F35}\x{0F37}\x{0F39}\
165d00 78 7b 30 46 37 31 7d 2d 5c 78 7b 30 46 37 45 7d 5c 78 7b 30 46 38 30 7d 2d 5c 78 7b 30 46 38 34 x{0F71}-\x{0F7E}\x{0F80}-\x{0F84
165d20 7d 5c 78 7b 30 46 38 36 7d 2d 5c 78 7b 30 46 38 37 7d 5c 78 7b 30 46 38 44 7d 2d 5c 78 7b 30 46 }\x{0F86}-\x{0F87}\x{0F8D}-\x{0F
165d40 39 37 7d 5c 78 7b 30 46 39 39 7d 2d 5c 78 7b 30 46 42 43 7d 5c 78 7b 30 46 43 36 7d 5c 78 7b 31 97}\x{0F99}-\x{0FBC}\x{0FC6}\x{1
165d60 30 32 44 7d 2d 5c 78 7b 31 30 33 30 7d 5c 78 7b 31 30 33 32 7d 2d 5c 78 7b 31 30 33 37 7d 5c 78 02D}-\x{1030}\x{1032}-\x{1037}\x
165d80 7b 31 30 33 39 7d 2d 5c 78 7b 31 30 33 41 7d 5c 78 7b 31 30 33 44 7d 2d 5c 78 7b 31 30 33 45 7d {1039}-\x{103A}\x{103D}-\x{103E}
165da0 5c 78 7b 31 30 35 38 7d 2d 5c 78 7b 31 30 35 39 7d 5c 78 7b 31 30 35 45 7d 2d 5c 78 7b 31 30 36 \x{1058}-\x{1059}\x{105E}-\x{106
165dc0 30 7d 5c 78 7b 31 30 37 31 7d 2d 5c 78 7b 31 30 37 34 7d 5c 78 7b 31 30 38 32 7d 5c 78 7b 31 30 0}\x{1071}-\x{1074}\x{1082}\x{10
165de0 38 35 7d 2d 5c 78 7b 31 30 38 36 7d 5c 78 7b 31 30 38 44 7d 5c 78 7b 31 30 39 44 7d 5c 78 7b 31 85}-\x{1086}\x{108D}\x{109D}\x{1
165e00 30 46 43 7d 5c 78 7b 31 33 35 44 7d 2d 5c 78 7b 31 33 35 46 7d 5c 78 7b 31 37 31 32 7d 2d 5c 78 0FC}\x{135D}-\x{135F}\x{1712}-\x
165e20 7b 31 37 31 34 7d 5c 78 7b 31 37 33 32 7d 2d 5c 78 7b 31 37 33 34 7d 5c 78 7b 31 37 35 32 7d 2d {1714}\x{1732}-\x{1734}\x{1752}-
165e40 5c 78 7b 31 37 35 33 7d 5c 78 7b 31 37 37 32 7d 2d 5c 78 7b 31 37 37 33 7d 5c 78 7b 31 37 42 34 \x{1753}\x{1772}-\x{1773}\x{17B4
165e60 7d 2d 5c 78 7b 31 37 42 35 7d 5c 78 7b 31 37 42 37 7d 2d 5c 78 7b 31 37 42 44 7d 5c 78 7b 31 37 }-\x{17B5}\x{17B7}-\x{17BD}\x{17
165e80 43 36 7d 5c 78 7b 31 37 43 39 7d 2d 5c 78 7b 31 37 44 33 7d 5c 78 7b 31 37 44 37 7d 5c 78 7b 31 C6}\x{17C9}-\x{17D3}\x{17D7}\x{1
165ea0 37 44 44 7d 5c 78 7b 31 38 30 42 7d 2d 5c 78 7b 31 38 30 44 7d 5c 78 7b 31 38 30 45 7d 5c 78 7b 7DD}\x{180B}-\x{180D}\x{180E}\x{
165ec0 31 38 34 33 7d 5c 78 7b 31 38 38 35 7d 2d 5c 78 7b 31 38 38 36 7d 5c 78 7b 31 38 41 39 7d 5c 78 1843}\x{1885}-\x{1886}\x{18A9}\x
165ee0 7b 31 39 32 30 7d 2d 5c 78 7b 31 39 32 32 7d 5c 78 7b 31 39 32 37 7d 2d 5c 78 7b 31 39 32 38 7d {1920}-\x{1922}\x{1927}-\x{1928}
165f00 5c 78 7b 31 39 33 32 7d 5c 78 7b 31 39 33 39 7d 2d 5c 78 7b 31 39 33 42 7d 5c 78 7b 31 41 31 37 \x{1932}\x{1939}-\x{193B}\x{1A17
165f20 7d 2d 5c 78 7b 31 41 31 38 7d 5c 78 7b 31 41 31 42 7d 5c 78 7b 31 41 35 36 7d 5c 78 7b 31 41 35 }-\x{1A18}\x{1A1B}\x{1A56}\x{1A5
165f40 38 7d 2d 5c 78 7b 31 41 35 45 7d 5c 78 7b 31 41 36 30 7d 5c 78 7b 31 41 36 32 7d 5c 78 7b 31 41 8}-\x{1A5E}\x{1A60}\x{1A62}\x{1A
165f60 36 35 7d 2d 5c 78 7b 31 41 36 43 7d 5c 78 7b 31 41 37 33 7d 2d 5c 78 7b 31 41 37 43 7d 5c 78 7b 65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{
165f80 31 41 37 46 7d 5c 78 7b 31 41 41 37 7d 5c 78 7b 31 41 42 30 7d 2d 5c 78 7b 31 41 42 44 7d 5c 78 1A7F}\x{1AA7}\x{1AB0}-\x{1ABD}\x
165fa0 7b 31 41 42 45 7d 5c 78 7b 31 42 30 30 7d 2d 5c 78 7b 31 42 30 33 7d 5c 78 7b 31 42 33 34 7d 5c {1ABE}\x{1B00}-\x{1B03}\x{1B34}\
165fc0 78 7b 31 42 33 36 7d 2d 5c 78 7b 31 42 33 41 7d 5c 78 7b 31 42 33 43 7d 5c 78 7b 31 42 34 32 7d x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}
165fe0 5c 78 7b 31 42 36 42 7d 2d 5c 78 7b 31 42 37 33 7d 5c 78 7b 31 42 38 30 7d 2d 5c 78 7b 31 42 38 \x{1B6B}-\x{1B73}\x{1B80}-\x{1B8
166000 31 7d 5c 78 7b 31 42 41 32 7d 2d 5c 78 7b 31 42 41 35 7d 5c 78 7b 31 42 41 38 7d 2d 5c 78 7b 31 1}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1
166020 42 41 39 7d 5c 78 7b 31 42 41 42 7d 2d 5c 78 7b 31 42 41 44 7d 5c 78 7b 31 42 45 36 7d 5c 78 7b BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{
166040 31 42 45 38 7d 2d 5c 78 7b 31 42 45 39 7d 5c 78 7b 31 42 45 44 7d 5c 78 7b 31 42 45 46 7d 2d 5c 1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\
166060 78 7b 31 42 46 31 7d 5c 78 7b 31 43 32 43 7d 2d 5c 78 7b 31 43 33 33 7d 5c 78 7b 31 43 33 36 7d x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}
166080 2d 5c 78 7b 31 43 33 37 7d 5c 78 7b 31 43 37 38 7d 2d 5c 78 7b 31 43 37 44 7d 5c 78 7b 31 43 44 -\x{1C37}\x{1C78}-\x{1C7D}\x{1CD
1660a0 30 7d 2d 5c 78 7b 31 43 44 32 7d 5c 78 7b 31 43 44 34 7d 2d 5c 78 7b 31 43 45 30 7d 5c 78 7b 31 0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1
1660c0 43 45 32 7d 2d 5c 78 7b 31 43 45 38 7d 5c 78 7b 31 43 45 44 7d 5c 78 7b 31 43 46 34 7d 5c 78 7b CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{
1660e0 31 43 46 38 7d 2d 5c 78 7b 31 43 46 39 7d 5c 78 7b 31 44 32 43 7d 2d 5c 78 7b 31 44 36 41 7d 5c 1CF8}-\x{1CF9}\x{1D2C}-\x{1D6A}\
166100 78 7b 31 44 37 38 7d 5c 78 7b 31 44 39 42 7d 2d 5c 78 7b 31 44 42 46 7d 5c 78 7b 31 44 43 30 7d x{1D78}\x{1D9B}-\x{1DBF}\x{1DC0}
166120 2d 5c 78 7b 31 44 46 39 7d 5c 78 7b 31 44 46 42 7d 2d 5c 78 7b 31 44 46 46 7d 5c 78 7b 31 46 42 -\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FB
166140 44 7d 5c 78 7b 31 46 42 46 7d 2d 5c 78 7b 31 46 43 31 7d 5c 78 7b 31 46 43 44 7d 2d 5c 78 7b 31 D}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1
166160 46 43 46 7d 5c 78 7b 31 46 44 44 7d 2d 5c 78 7b 31 46 44 46 7d 5c 78 7b 31 46 45 44 7d 2d 5c 78 FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x
166180 7b 31 46 45 46 7d 5c 78 7b 31 46 46 44 7d 2d 5c 78 7b 31 46 46 45 7d 5c 78 7b 32 30 30 42 7d 2d {1FEF}\x{1FFD}-\x{1FFE}\x{200B}-
1661a0 5c 78 7b 32 30 30 46 7d 5c 78 7b 32 30 31 38 7d 5c 78 7b 32 30 31 39 7d 5c 78 7b 32 30 32 34 7d \x{200F}\x{2018}\x{2019}\x{2024}
1661c0 5c 78 7b 32 30 32 37 7d 5c 78 7b 32 30 32 41 7d 2d 5c 78 7b 32 30 32 45 7d 5c 78 7b 32 30 36 30 \x{2027}\x{202A}-\x{202E}\x{2060
1661e0 7d 2d 5c 78 7b 32 30 36 34 7d 5c 78 7b 32 30 36 36 7d 2d 5c 78 7b 32 30 36 46 7d 5c 78 7b 32 30 }-\x{2064}\x{2066}-\x{206F}\x{20
166200 37 31 7d 5c 78 7b 32 30 37 46 7d 5c 78 7b 32 30 39 30 7d 2d 5c 78 7b 32 30 39 43 7d 5c 78 7b 32 71}\x{207F}\x{2090}-\x{209C}\x{2
166220 30 44 30 7d 2d 5c 78 7b 32 30 44 43 7d 5c 78 7b 32 30 44 44 7d 2d 5c 78 7b 32 30 45 30 7d 5c 78 0D0}-\x{20DC}\x{20DD}-\x{20E0}\x
166240 7b 32 30 45 31 7d 5c 78 7b 32 30 45 32 7d 2d 5c 78 7b 32 30 45 34 7d 5c 78 7b 32 30 45 35 7d 2d {20E1}\x{20E2}-\x{20E4}\x{20E5}-
166260 5c 78 7b 32 30 46 30 7d 5c 78 7b 32 43 37 43 7d 2d 5c 78 7b 32 43 37 44 7d 5c 78 7b 32 43 45 46 \x{20F0}\x{2C7C}-\x{2C7D}\x{2CEF
166280 7d 2d 5c 78 7b 32 43 46 31 7d 5c 78 7b 32 44 36 46 7d 5c 78 7b 32 44 37 46 7d 5c 78 7b 32 44 45 }-\x{2CF1}\x{2D6F}\x{2D7F}\x{2DE
1662a0 30 7d 2d 5c 78 7b 32 44 46 46 7d 5c 78 7b 32 45 32 46 7d 5c 78 7b 33 30 30 35 7d 5c 78 7b 33 30 0}-\x{2DFF}\x{2E2F}\x{3005}\x{30
1662c0 32 41 7d 2d 5c 78 7b 33 30 32 44 7d 5c 78 7b 33 30 33 31 7d 2d 5c 78 7b 33 30 33 35 7d 5c 78 7b 2A}-\x{302D}\x{3031}-\x{3035}\x{
1662e0 33 30 33 42 7d 5c 78 7b 33 30 39 39 7d 2d 5c 78 7b 33 30 39 41 7d 5c 78 7b 33 30 39 42 7d 2d 5c 303B}\x{3099}-\x{309A}\x{309B}-\
166300 78 7b 33 30 39 43 7d 5c 78 7b 33 30 39 44 7d 2d 5c 78 7b 33 30 39 45 7d 5c 78 7b 33 30 46 43 7d x{309C}\x{309D}-\x{309E}\x{30FC}
166320 2d 5c 78 7b 33 30 46 45 7d 5c 78 7b 41 30 31 35 7d 5c 78 7b 41 34 46 38 7d 2d 5c 78 7b 41 34 46 -\x{30FE}\x{A015}\x{A4F8}-\x{A4F
166340 44 7d 5c 78 7b 41 36 30 43 7d 5c 78 7b 41 36 36 46 7d 5c 78 7b 41 36 37 30 7d 2d 5c 78 7b 41 36 D}\x{A60C}\x{A66F}\x{A670}-\x{A6
166360 37 32 7d 5c 78 7b 41 36 37 34 7d 2d 5c 78 7b 41 36 37 44 7d 5c 78 7b 41 36 37 46 7d 5c 78 7b 41 72}\x{A674}-\x{A67D}\x{A67F}\x{A
166380 36 39 43 7d 2d 5c 78 7b 41 36 39 44 7d 5c 78 7b 41 36 39 45 7d 2d 5c 78 7b 41 36 39 46 7d 5c 78 69C}-\x{A69D}\x{A69E}-\x{A69F}\x
1663a0 7b 41 36 46 30 7d 2d 5c 78 7b 41 36 46 31 7d 5c 78 7b 41 37 30 30 7d 2d 5c 78 7b 41 37 31 36 7d {A6F0}-\x{A6F1}\x{A700}-\x{A716}
1663c0 5c 78 7b 41 37 31 37 7d 2d 5c 78 7b 41 37 31 46 7d 5c 78 7b 41 37 32 30 7d 2d 5c 78 7b 41 37 32 \x{A717}-\x{A71F}\x{A720}-\x{A72
1663e0 31 7d 5c 78 7b 41 37 37 30 7d 5c 78 7b 41 37 38 38 7d 5c 78 7b 41 37 38 39 7d 2d 5c 78 7b 41 37 1}\x{A770}\x{A788}\x{A789}-\x{A7
166400 38 41 7d 5c 78 7b 41 37 46 38 7d 2d 5c 78 7b 41 37 46 39 7d 5c 78 7b 41 38 30 32 7d 5c 78 7b 41 8A}\x{A7F8}-\x{A7F9}\x{A802}\x{A
166420 38 30 36 7d 5c 78 7b 41 38 30 42 7d 5c 78 7b 41 38 32 35 7d 2d 5c 78 7b 41 38 32 36 7d 5c 78 7b 806}\x{A80B}\x{A825}-\x{A826}\x{
166440 41 38 43 34 7d 2d 5c 78 7b 41 38 43 35 7d 5c 78 7b 41 38 45 30 7d 2d 5c 78 7b 41 38 46 31 7d 5c A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\
166460 78 7b 41 38 46 46 7d 5c 78 7b 41 39 32 36 7d 2d 5c 78 7b 41 39 32 44 7d 5c 78 7b 41 39 34 37 7d x{A8FF}\x{A926}-\x{A92D}\x{A947}
166480 2d 5c 78 7b 41 39 35 31 7d 5c 78 7b 41 39 38 30 7d 2d 5c 78 7b 41 39 38 32 7d 5c 78 7b 41 39 42 -\x{A951}\x{A980}-\x{A982}\x{A9B
1664a0 33 7d 5c 78 7b 41 39 42 36 7d 2d 5c 78 7b 41 39 42 39 7d 5c 78 7b 41 39 42 43 7d 5c 78 7b 41 39 3}\x{A9B6}-\x{A9B9}\x{A9BC}\x{A9
1664c0 43 46 7d 5c 78 7b 41 39 45 35 7d 5c 78 7b 41 39 45 36 7d 5c 78 7b 41 41 32 39 7d 2d 5c 78 7b 41 CF}\x{A9E5}\x{A9E6}\x{AA29}-\x{A
1664e0 41 32 45 7d 5c 78 7b 41 41 33 31 7d 2d 5c 78 7b 41 41 33 32 7d 5c 78 7b 41 41 33 35 7d 2d 5c 78 A2E}\x{AA31}-\x{AA32}\x{AA35}-\x
166500 7b 41 41 33 36 7d 5c 78 7b 41 41 34 33 7d 5c 78 7b 41 41 34 43 7d 5c 78 7b 41 41 37 30 7d 5c 78 {AA36}\x{AA43}\x{AA4C}\x{AA70}\x
166520 7b 41 41 37 43 7d 5c 78 7b 41 41 42 30 7d 5c 78 7b 41 41 42 32 7d 2d 5c 78 7b 41 41 42 34 7d 5c {AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\
166540 78 7b 41 41 42 37 7d 2d 5c 78 7b 41 41 42 38 7d 5c 78 7b 41 41 42 45 7d 2d 5c 78 7b 41 41 42 46 x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF
166560 7d 5c 78 7b 41 41 43 31 7d 5c 78 7b 41 41 44 44 7d 5c 78 7b 41 41 45 43 7d 2d 5c 78 7b 41 41 45 }\x{AAC1}\x{AADD}\x{AAEC}-\x{AAE
166580 44 7d 5c 78 7b 41 41 46 33 7d 2d 5c 78 7b 41 41 46 34 7d 5c 78 7b 41 41 46 36 7d 5c 78 7b 41 42 D}\x{AAF3}-\x{AAF4}\x{AAF6}\x{AB
1665a0 35 42 7d 5c 78 7b 41 42 35 43 7d 2d 5c 78 7b 41 42 35 46 7d 5c 78 7b 41 42 45 35 7d 5c 78 7b 41 5B}\x{AB5C}-\x{AB5F}\x{ABE5}\x{A
1665c0 42 45 38 7d 5c 78 7b 41 42 45 44 7d 5c 78 7b 46 42 31 45 7d 5c 78 7b 46 42 42 32 7d 2d 5c 78 7b BE8}\x{ABED}\x{FB1E}\x{FBB2}-\x{
1665e0 46 42 43 31 7d 5c 78 7b 46 45 30 30 7d 2d 5c 78 7b 46 45 30 46 7d 5c 78 7b 46 45 31 33 7d 5c 78 FBC1}\x{FE00}-\x{FE0F}\x{FE13}\x
166600 7b 46 45 32 30 7d 2d 5c 78 7b 46 45 32 46 7d 5c 78 7b 46 45 35 32 7d 5c 78 7b 46 45 35 35 7d 5c {FE20}-\x{FE2F}\x{FE52}\x{FE55}\
166620 78 7b 46 45 46 46 7d 5c 78 7b 46 46 30 37 7d 5c 78 7b 46 46 30 45 7d 5c 78 7b 46 46 31 41 7d 5c x{FEFF}\x{FF07}\x{FF0E}\x{FF1A}\
166640 78 7b 46 46 33 45 7d 5c 78 7b 46 46 34 30 7d 5c 78 7b 46 46 37 30 7d 5c 78 7b 46 46 39 45 7d 2d x{FF3E}\x{FF40}\x{FF70}\x{FF9E}-
166660 5c 78 7b 46 46 39 46 7d 5c 78 7b 46 46 45 33 7d 5c 78 7b 46 46 46 39 7d 2d 5c 78 7b 46 46 46 42 \x{FF9F}\x{FFE3}\x{FFF9}-\x{FFFB
166680 7d 5c 78 7b 31 30 31 46 44 7d 5c 78 7b 31 30 32 45 30 7d 5c 78 7b 31 30 33 37 36 7d 2d 5c 78 7b }\x{101FD}\x{102E0}\x{10376}-\x{
1666a0 31 30 33 37 41 7d 5c 78 7b 31 30 41 30 31 7d 2d 5c 78 7b 31 30 41 30 33 7d 5c 78 7b 31 30 41 30 1037A}\x{10A01}-\x{10A03}\x{10A0
1666c0 35 7d 2d 5c 78 7b 31 30 41 30 36 7d 5c 78 7b 31 30 41 30 43 7d 2d 5c 78 7b 31 30 41 30 46 7d 5c 5}-\x{10A06}\x{10A0C}-\x{10A0F}\
1666e0 78 7b 31 30 41 33 38 7d 2d 5c 78 7b 31 30 41 33 41 7d 5c 78 7b 31 30 41 33 46 7d 5c 78 7b 31 30 x{10A38}-\x{10A3A}\x{10A3F}\x{10
166700 41 45 35 7d 2d 5c 78 7b 31 30 41 45 36 7d 5c 78 7b 31 30 44 32 34 7d 2d 5c 78 7b 31 30 44 32 37 AE5}-\x{10AE6}\x{10D24}-\x{10D27
166720 7d 5c 78 7b 31 30 46 34 36 7d 2d 5c 78 7b 31 30 46 35 30 7d 5c 78 7b 31 31 30 30 31 7d 5c 78 7b }\x{10F46}-\x{10F50}\x{11001}\x{
166740 31 31 30 33 38 7d 2d 5c 78 7b 31 31 30 34 36 7d 5c 78 7b 31 31 30 37 46 7d 2d 5c 78 7b 31 31 30 11038}-\x{11046}\x{1107F}-\x{110
166760 38 31 7d 5c 78 7b 31 31 30 42 33 7d 2d 5c 78 7b 31 31 30 42 36 7d 5c 78 7b 31 31 30 42 39 7d 2d 81}\x{110B3}-\x{110B6}\x{110B9}-
166780 5c 78 7b 31 31 30 42 41 7d 5c 78 7b 31 31 30 42 44 7d 5c 78 7b 31 31 30 43 44 7d 5c 78 7b 31 31 \x{110BA}\x{110BD}\x{110CD}\x{11
1667a0 31 30 30 7d 2d 5c 78 7b 31 31 31 30 32 7d 5c 78 7b 31 31 31 32 37 7d 2d 5c 78 7b 31 31 31 32 42 100}-\x{11102}\x{11127}-\x{1112B
1667c0 7d 5c 78 7b 31 31 31 32 44 7d 2d 5c 78 7b 31 31 31 33 34 7d 5c 78 7b 31 31 31 37 33 7d 5c 78 7b }\x{1112D}-\x{11134}\x{11173}\x{
1667e0 31 31 31 38 30 7d 2d 5c 78 7b 31 31 31 38 31 7d 5c 78 7b 31 31 31 42 36 7d 2d 5c 78 7b 31 31 31 11180}-\x{11181}\x{111B6}-\x{111
166800 42 45 7d 5c 78 7b 31 31 31 43 39 7d 2d 5c 78 7b 31 31 31 43 43 7d 5c 78 7b 31 31 32 32 46 7d 2d BE}\x{111C9}-\x{111CC}\x{1122F}-
166820 5c 78 7b 31 31 32 33 31 7d 5c 78 7b 31 31 32 33 34 7d 5c 78 7b 31 31 32 33 36 7d 2d 5c 78 7b 31 \x{11231}\x{11234}\x{11236}-\x{1
166840 31 32 33 37 7d 5c 78 7b 31 31 32 33 45 7d 5c 78 7b 31 31 32 44 46 7d 5c 78 7b 31 31 32 45 33 7d 1237}\x{1123E}\x{112DF}\x{112E3}
166860 2d 5c 78 7b 31 31 32 45 41 7d 5c 78 7b 31 31 33 30 30 7d 2d 5c 78 7b 31 31 33 30 31 7d 5c 78 7b -\x{112EA}\x{11300}-\x{11301}\x{
166880 31 31 33 33 42 7d 2d 5c 78 7b 31 31 33 33 43 7d 5c 78 7b 31 31 33 34 30 7d 5c 78 7b 31 31 33 36 1133B}-\x{1133C}\x{11340}\x{1136
1668a0 36 7d 2d 5c 78 7b 31 31 33 36 43 7d 5c 78 7b 31 31 33 37 30 7d 2d 5c 78 7b 31 31 33 37 34 7d 5c 6}-\x{1136C}\x{11370}-\x{11374}\
1668c0 78 7b 31 31 34 33 38 7d 2d 5c 78 7b 31 31 34 33 46 7d 5c 78 7b 31 31 34 34 32 7d 2d 5c 78 7b 31 x{11438}-\x{1143F}\x{11442}-\x{1
1668e0 31 34 34 34 7d 5c 78 7b 31 31 34 34 36 7d 5c 78 7b 31 31 34 35 45 7d 5c 78 7b 31 31 34 42 33 7d 1444}\x{11446}\x{1145E}\x{114B3}
166900 2d 5c 78 7b 31 31 34 42 38 7d 5c 78 7b 31 31 34 42 41 7d 5c 78 7b 31 31 34 42 46 7d 2d 5c 78 7b -\x{114B8}\x{114BA}\x{114BF}-\x{
166920 31 31 34 43 30 7d 5c 78 7b 31 31 34 43 32 7d 2d 5c 78 7b 31 31 34 43 33 7d 5c 78 7b 31 31 35 42 114C0}\x{114C2}-\x{114C3}\x{115B
166940 32 7d 2d 5c 78 7b 31 31 35 42 35 7d 5c 78 7b 31 31 35 42 43 7d 2d 5c 78 7b 31 31 35 42 44 7d 5c 2}-\x{115B5}\x{115BC}-\x{115BD}\
166960 78 7b 31 31 35 42 46 7d 2d 5c 78 7b 31 31 35 43 30 7d 5c 78 7b 31 31 35 44 43 7d 2d 5c 78 7b 31 x{115BF}-\x{115C0}\x{115DC}-\x{1
166980 31 35 44 44 7d 5c 78 7b 31 31 36 33 33 7d 2d 5c 78 7b 31 31 36 33 41 7d 5c 78 7b 31 31 36 33 44 15DD}\x{11633}-\x{1163A}\x{1163D
1669a0 7d 5c 78 7b 31 31 36 33 46 7d 2d 5c 78 7b 31 31 36 34 30 7d 5c 78 7b 31 31 36 41 42 7d 5c 78 7b }\x{1163F}-\x{11640}\x{116AB}\x{
1669c0 31 31 36 41 44 7d 5c 78 7b 31 31 36 42 30 7d 2d 5c 78 7b 31 31 36 42 35 7d 5c 78 7b 31 31 36 42 116AD}\x{116B0}-\x{116B5}\x{116B
1669e0 37 7d 5c 78 7b 31 31 37 31 44 7d 2d 5c 78 7b 31 31 37 31 46 7d 5c 78 7b 31 31 37 32 32 7d 2d 5c 7}\x{1171D}-\x{1171F}\x{11722}-\
166a00 78 7b 31 31 37 32 35 7d 5c 78 7b 31 31 37 32 37 7d 2d 5c 78 7b 31 31 37 32 42 7d 5c 78 7b 31 31 x{11725}\x{11727}-\x{1172B}\x{11
166a20 38 32 46 7d 2d 5c 78 7b 31 31 38 33 37 7d 5c 78 7b 31 31 38 33 39 7d 2d 5c 78 7b 31 31 38 33 41 82F}-\x{11837}\x{11839}-\x{1183A
166a40 7d 5c 78 7b 31 31 41 30 31 7d 2d 5c 78 7b 31 31 41 30 41 7d 5c 78 7b 31 31 41 33 33 7d 2d 5c 78 }\x{11A01}-\x{11A0A}\x{11A33}-\x
166a60 7b 31 31 41 33 38 7d 5c 78 7b 31 31 41 33 42 7d 2d 5c 78 7b 31 31 41 33 45 7d 5c 78 7b 31 31 41 {11A38}\x{11A3B}-\x{11A3E}\x{11A
166a80 34 37 7d 5c 78 7b 31 31 41 35 31 7d 2d 5c 78 7b 31 31 41 35 36 7d 5c 78 7b 31 31 41 35 39 7d 2d 47}\x{11A51}-\x{11A56}\x{11A59}-
166aa0 5c 78 7b 31 31 41 35 42 7d 5c 78 7b 31 31 41 38 41 7d 2d 5c 78 7b 31 31 41 39 36 7d 5c 78 7b 31 \x{11A5B}\x{11A8A}-\x{11A96}\x{1
166ac0 31 41 39 38 7d 2d 5c 78 7b 31 31 41 39 39 7d 5c 78 7b 31 31 43 33 30 7d 2d 5c 78 7b 31 31 43 33 1A98}-\x{11A99}\x{11C30}-\x{11C3
166ae0 36 7d 5c 78 7b 31 31 43 33 38 7d 2d 5c 78 7b 31 31 43 33 44 7d 5c 78 7b 31 31 43 33 46 7d 5c 78 6}\x{11C38}-\x{11C3D}\x{11C3F}\x
166b00 7b 31 31 43 39 32 7d 2d 5c 78 7b 31 31 43 41 37 7d 5c 78 7b 31 31 43 41 41 7d 2d 5c 78 7b 31 31 {11C92}-\x{11CA7}\x{11CAA}-\x{11
166b20 43 42 30 7d 5c 78 7b 31 31 43 42 32 7d 2d 5c 78 7b 31 31 43 42 33 7d 5c 78 7b 31 31 43 42 35 7d CB0}\x{11CB2}-\x{11CB3}\x{11CB5}
166b40 2d 5c 78 7b 31 31 43 42 36 7d 5c 78 7b 31 31 44 33 31 7d 2d 5c 78 7b 31 31 44 33 36 7d 5c 78 7b -\x{11CB6}\x{11D31}-\x{11D36}\x{
166b60 31 31 44 33 41 7d 5c 78 7b 31 31 44 33 43 7d 2d 5c 78 7b 31 31 44 33 44 7d 5c 78 7b 31 31 44 33 11D3A}\x{11D3C}-\x{11D3D}\x{11D3
166b80 46 7d 2d 5c 78 7b 31 31 44 34 35 7d 5c 78 7b 31 31 44 34 37 7d 5c 78 7b 31 31 44 39 30 7d 2d 5c F}-\x{11D45}\x{11D47}\x{11D90}-\
166ba0 78 7b 31 31 44 39 31 7d 5c 78 7b 31 31 44 39 35 7d 5c 78 7b 31 31 44 39 37 7d 5c 78 7b 31 31 45 x{11D91}\x{11D95}\x{11D97}\x{11E
166bc0 46 33 7d 2d 5c 78 7b 31 31 45 46 34 7d 5c 78 7b 31 36 41 46 30 7d 2d 5c 78 7b 31 36 41 46 34 7d F3}-\x{11EF4}\x{16AF0}-\x{16AF4}
166be0 5c 78 7b 31 36 42 33 30 7d 2d 5c 78 7b 31 36 42 33 36 7d 5c 78 7b 31 36 42 34 30 7d 2d 5c 78 7b \x{16B30}-\x{16B36}\x{16B40}-\x{
166c00 31 36 42 34 33 7d 5c 78 7b 31 36 46 38 46 7d 2d 5c 78 7b 31 36 46 39 32 7d 5c 78 7b 31 36 46 39 16B43}\x{16F8F}-\x{16F92}\x{16F9
166c20 33 7d 2d 5c 78 7b 31 36 46 39 46 7d 5c 78 7b 31 36 46 45 30 7d 2d 5c 78 7b 31 36 46 45 31 7d 5c 3}-\x{16F9F}\x{16FE0}-\x{16FE1}\
166c40 78 7b 31 42 43 39 44 7d 2d 5c 78 7b 31 42 43 39 45 7d 5c 78 7b 31 42 43 41 30 7d 2d 5c 78 7b 31 x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1
166c60 42 43 41 33 7d 5c 78 7b 31 44 31 36 37 7d 2d 5c 78 7b 31 44 31 36 39 7d 5c 78 7b 31 44 31 37 33 BCA3}\x{1D167}-\x{1D169}\x{1D173
166c80 7d 2d 5c 78 7b 31 44 31 37 41 7d 5c 78 7b 31 44 31 37 42 7d 2d 5c 78 7b 31 44 31 38 32 7d 5c 78 }-\x{1D17A}\x{1D17B}-\x{1D182}\x
166ca0 7b 31 44 31 38 35 7d 2d 5c 78 7b 31 44 31 38 42 7d 5c 78 7b 31 44 31 41 41 7d 2d 5c 78 7b 31 44 {1D185}-\x{1D18B}\x{1D1AA}-\x{1D
166cc0 31 41 44 7d 5c 78 7b 31 44 32 34 32 7d 2d 5c 78 7b 31 44 32 34 34 7d 5c 78 7b 31 44 41 30 30 7d 1AD}\x{1D242}-\x{1D244}\x{1DA00}
166ce0 2d 5c 78 7b 31 44 41 33 36 7d 5c 78 7b 31 44 41 33 42 7d 2d 5c 78 7b 31 44 41 36 43 7d 5c 78 7b -\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{
166d00 31 44 41 37 35 7d 5c 78 7b 31 44 41 38 34 7d 5c 78 7b 31 44 41 39 42 7d 2d 5c 78 7b 31 44 41 39 1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9
166d20 46 7d 5c 78 7b 31 44 41 41 31 7d 2d 5c 78 7b 31 44 41 41 46 7d 5c 78 7b 31 45 30 30 30 7d 2d 5c F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\
166d40 78 7b 31 45 30 30 36 7d 5c 78 7b 31 45 30 30 38 7d 2d 5c 78 7b 31 45 30 31 38 7d 5c 78 7b 31 45 x{1E006}\x{1E008}-\x{1E018}\x{1E
166d60 30 31 42 7d 2d 5c 78 7b 31 45 30 32 31 7d 5c 78 7b 31 45 30 32 33 7d 2d 5c 78 7b 31 45 30 32 34 01B}-\x{1E021}\x{1E023}-\x{1E024
166d80 7d 5c 78 7b 31 45 30 32 36 7d 2d 5c 78 7b 31 45 30 32 41 7d 5c 78 7b 31 45 38 44 30 7d 2d 5c 78 }\x{1E026}-\x{1E02A}\x{1E8D0}-\x
166da0 7b 31 45 38 44 36 7d 5c 78 7b 31 45 39 34 34 7d 2d 5c 78 7b 31 45 39 34 41 7d 5c 78 7b 31 46 33 {1E8D6}\x{1E944}-\x{1E94A}\x{1F3
166dc0 46 42 7d 2d 5c 78 7b 31 46 33 46 46 7d 5c 78 7b 45 30 30 30 31 7d 5c 78 7b 45 30 30 32 30 7d 2d FB}-\x{1F3FF}\x{E0001}\x{E0020}-
166de0 5c 78 7b 45 30 30 37 46 7d 5c 78 7b 45 30 31 30 30 7d 2d 5c 78 7b 45 30 31 45 46 7d 5d 29 28 5c \x{E007F}\x{E0100}-\x{E01EF}])(\
166e00 70 4c 29 28 5c 70 4c 2a 2b 29 2f 75 27 3b 0a 3c 3f 70 68 70 0a 0a 72 65 74 75 72 6e 20 61 72 72 pL)(\pL*+)/u';.<?php..return.arr
166e20 61 79 28 0a 27 61 27 20 3d 3e 20 27 41 27 2c 0a 27 62 27 20 3d 3e 20 27 42 27 2c 0a 27 63 27 20 ay(.'a'.=>.'A',.'b'.=>.'B',.'c'.
166e40 3d 3e 20 27 43 27 2c 0a 27 64 27 20 3d 3e 20 27 44 27 2c 0a 27 65 27 20 3d 3e 20 27 45 27 2c 0a =>.'C',.'d'.=>.'D',.'e'.=>.'E',.
166e60 27 66 27 20 3d 3e 20 27 46 27 2c 0a 27 67 27 20 3d 3e 20 27 47 27 2c 0a 27 68 27 20 3d 3e 20 27 'f'.=>.'F',.'g'.=>.'G',.'h'.=>.'
166e80 48 27 2c 0a 27 69 27 20 3d 3e 20 27 49 27 2c 0a 27 6a 27 20 3d 3e 20 27 4a 27 2c 0a 27 6b 27 20 H',.'i'.=>.'I',.'j'.=>.'J',.'k'.
166ea0 3d 3e 20 27 4b 27 2c 0a 27 6c 27 20 3d 3e 20 27 4c 27 2c 0a 27 6d 27 20 3d 3e 20 27 4d 27 2c 0a =>.'K',.'l'.=>.'L',.'m'.=>.'M',.
166ec0 27 6e 27 20 3d 3e 20 27 4e 27 2c 0a 27 6f 27 20 3d 3e 20 27 4f 27 2c 0a 27 70 27 20 3d 3e 20 27 'n'.=>.'N',.'o'.=>.'O',.'p'.=>.'
166ee0 50 27 2c 0a 27 71 27 20 3d 3e 20 27 51 27 2c 0a 27 72 27 20 3d 3e 20 27 52 27 2c 0a 27 73 27 20 P',.'q'.=>.'Q',.'r'.=>.'R',.'s'.
166f00 3d 3e 20 27 53 27 2c 0a 27 74 27 20 3d 3e 20 27 54 27 2c 0a 27 75 27 20 3d 3e 20 27 55 27 2c 0a =>.'S',.'t'.=>.'T',.'u'.=>.'U',.
166f20 27 76 27 20 3d 3e 20 27 56 27 2c 0a 27 77 27 20 3d 3e 20 27 57 27 2c 0a 27 78 27 20 3d 3e 20 27 'v'.=>.'V',.'w'.=>.'W',.'x'.=>.'
166f40 58 27 2c 0a 27 79 27 20 3d 3e 20 27 59 27 2c 0a 27 7a 27 20 3d 3e 20 27 5a 27 2c 0a 27 c2 b5 27 X',.'y'.=>.'Y',.'z'.=>.'Z',.'..'
166f60 20 3d 3e 20 27 ce 9c 27 2c 0a 27 c3 a0 27 20 3d 3e 20 27 c3 80 27 2c 0a 27 c3 a1 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
166f80 27 c3 81 27 2c 0a 27 c3 a2 27 20 3d 3e 20 27 c3 82 27 2c 0a 27 c3 a3 27 20 3d 3e 20 27 c3 83 27 '..',.'..'.=>.'..',.'..'.=>.'..'
166fa0 2c 0a 27 c3 a4 27 20 3d 3e 20 27 c3 84 27 2c 0a 27 c3 a5 27 20 3d 3e 20 27 c3 85 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
166fc0 a6 27 20 3d 3e 20 27 c3 86 27 2c 0a 27 c3 a7 27 20 3d 3e 20 27 c3 87 27 2c 0a 27 c3 a8 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
166fe0 3e 20 27 c3 88 27 2c 0a 27 c3 a9 27 20 3d 3e 20 27 c3 89 27 2c 0a 27 c3 aa 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
167000 8a 27 2c 0a 27 c3 ab 27 20 3d 3e 20 27 c3 8b 27 2c 0a 27 c3 ac 27 20 3d 3e 20 27 c3 8c 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
167020 27 c3 ad 27 20 3d 3e 20 27 c3 8d 27 2c 0a 27 c3 ae 27 20 3d 3e 20 27 c3 8e 27 2c 0a 27 c3 af 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167040 20 3d 3e 20 27 c3 8f 27 2c 0a 27 c3 b0 27 20 3d 3e 20 27 c3 90 27 2c 0a 27 c3 b1 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167060 27 c3 91 27 2c 0a 27 c3 b2 27 20 3d 3e 20 27 c3 92 27 2c 0a 27 c3 b3 27 20 3d 3e 20 27 c3 93 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167080 2c 0a 27 c3 b4 27 20 3d 3e 20 27 c3 94 27 2c 0a 27 c3 b5 27 20 3d 3e 20 27 c3 95 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
1670a0 b6 27 20 3d 3e 20 27 c3 96 27 2c 0a 27 c3 b8 27 20 3d 3e 20 27 c3 98 27 2c 0a 27 c3 b9 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1670c0 3e 20 27 c3 99 27 2c 0a 27 c3 ba 27 20 3d 3e 20 27 c3 9a 27 2c 0a 27 c3 bb 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
1670e0 9b 27 2c 0a 27 c3 bc 27 20 3d 3e 20 27 c3 9c 27 2c 0a 27 c3 bd 27 20 3d 3e 20 27 c3 9d 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
167100 27 c3 be 27 20 3d 3e 20 27 c3 9e 27 2c 0a 27 c3 bf 27 20 3d 3e 20 27 c5 b8 27 2c 0a 27 c4 81 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167120 20 3d 3e 20 27 c4 80 27 2c 0a 27 c4 83 27 20 3d 3e 20 27 c4 82 27 2c 0a 27 c4 85 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167140 27 c4 84 27 2c 0a 27 c4 87 27 20 3d 3e 20 27 c4 86 27 2c 0a 27 c4 89 27 20 3d 3e 20 27 c4 88 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167160 2c 0a 27 c4 8b 27 20 3d 3e 20 27 c4 8a 27 2c 0a 27 c4 8d 27 20 3d 3e 20 27 c4 8c 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167180 8f 27 20 3d 3e 20 27 c4 8e 27 2c 0a 27 c4 91 27 20 3d 3e 20 27 c4 90 27 2c 0a 27 c4 93 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1671a0 3e 20 27 c4 92 27 2c 0a 27 c4 95 27 20 3d 3e 20 27 c4 94 27 2c 0a 27 c4 97 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
1671c0 96 27 2c 0a 27 c4 99 27 20 3d 3e 20 27 c4 98 27 2c 0a 27 c4 9b 27 20 3d 3e 20 27 c4 9a 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1671e0 27 c4 9d 27 20 3d 3e 20 27 c4 9c 27 2c 0a 27 c4 9f 27 20 3d 3e 20 27 c4 9e 27 2c 0a 27 c4 a1 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167200 20 3d 3e 20 27 c4 a0 27 2c 0a 27 c4 a3 27 20 3d 3e 20 27 c4 a2 27 2c 0a 27 c4 a5 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167220 27 c4 a4 27 2c 0a 27 c4 a7 27 20 3d 3e 20 27 c4 a6 27 2c 0a 27 c4 a9 27 20 3d 3e 20 27 c4 a8 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167240 2c 0a 27 c4 ab 27 20 3d 3e 20 27 c4 aa 27 2c 0a 27 c4 ad 27 20 3d 3e 20 27 c4 ac 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167260 af 27 20 3d 3e 20 27 c4 ae 27 2c 0a 27 c4 b1 27 20 3d 3e 20 27 49 27 2c 0a 27 c4 b3 27 20 3d 3e .'.=>.'..',.'..'.=>.'I',.'..'.=>
167280 20 27 c4 b2 27 2c 0a 27 c4 b5 27 20 3d 3e 20 27 c4 b4 27 2c 0a 27 c4 b7 27 20 3d 3e 20 27 c4 b6 .'..',.'..'.=>.'..',.'..'.=>.'..
1672a0 27 2c 0a 27 c4 ba 27 20 3d 3e 20 27 c4 b9 27 2c 0a 27 c4 bc 27 20 3d 3e 20 27 c4 bb 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1672c0 c4 be 27 20 3d 3e 20 27 c4 bd 27 2c 0a 27 c5 80 27 20 3d 3e 20 27 c4 bf 27 2c 0a 27 c5 82 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1672e0 3d 3e 20 27 c5 81 27 2c 0a 27 c5 84 27 20 3d 3e 20 27 c5 83 27 2c 0a 27 c5 86 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167300 c5 85 27 2c 0a 27 c5 88 27 20 3d 3e 20 27 c5 87 27 2c 0a 27 c5 8b 27 20 3d 3e 20 27 c5 8a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167320 0a 27 c5 8d 27 20 3d 3e 20 27 c5 8c 27 2c 0a 27 c5 8f 27 20 3d 3e 20 27 c5 8e 27 2c 0a 27 c5 91 .'..'.=>.'..',.'..'.=>.'..',.'..
167340 27 20 3d 3e 20 27 c5 90 27 2c 0a 27 c5 93 27 20 3d 3e 20 27 c5 92 27 2c 0a 27 c5 95 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167360 20 27 c5 94 27 2c 0a 27 c5 97 27 20 3d 3e 20 27 c5 96 27 2c 0a 27 c5 99 27 20 3d 3e 20 27 c5 98 .'..',.'..'.=>.'..',.'..'.=>.'..
167380 27 2c 0a 27 c5 9b 27 20 3d 3e 20 27 c5 9a 27 2c 0a 27 c5 9d 27 20 3d 3e 20 27 c5 9c 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1673a0 c5 9f 27 20 3d 3e 20 27 c5 9e 27 2c 0a 27 c5 a1 27 20 3d 3e 20 27 c5 a0 27 2c 0a 27 c5 a3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1673c0 3d 3e 20 27 c5 a2 27 2c 0a 27 c5 a5 27 20 3d 3e 20 27 c5 a4 27 2c 0a 27 c5 a7 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1673e0 c5 a6 27 2c 0a 27 c5 a9 27 20 3d 3e 20 27 c5 a8 27 2c 0a 27 c5 ab 27 20 3d 3e 20 27 c5 aa 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167400 0a 27 c5 ad 27 20 3d 3e 20 27 c5 ac 27 2c 0a 27 c5 af 27 20 3d 3e 20 27 c5 ae 27 2c 0a 27 c5 b1 .'..'.=>.'..',.'..'.=>.'..',.'..
167420 27 20 3d 3e 20 27 c5 b0 27 2c 0a 27 c5 b3 27 20 3d 3e 20 27 c5 b2 27 2c 0a 27 c5 b5 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167440 20 27 c5 b4 27 2c 0a 27 c5 b7 27 20 3d 3e 20 27 c5 b6 27 2c 0a 27 c5 ba 27 20 3d 3e 20 27 c5 b9 .'..',.'..'.=>.'..',.'..'.=>.'..
167460 27 2c 0a 27 c5 bc 27 20 3d 3e 20 27 c5 bb 27 2c 0a 27 c5 be 27 20 3d 3e 20 27 c5 bd 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167480 c5 bf 27 20 3d 3e 20 27 53 27 2c 0a 27 c6 80 27 20 3d 3e 20 27 c9 83 27 2c 0a 27 c6 83 27 20 3d ..'.=>.'S',.'..'.=>.'..',.'..'.=
1674a0 3e 20 27 c6 82 27 2c 0a 27 c6 85 27 20 3d 3e 20 27 c6 84 27 2c 0a 27 c6 88 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
1674c0 87 27 2c 0a 27 c6 8c 27 20 3d 3e 20 27 c6 8b 27 2c 0a 27 c6 92 27 20 3d 3e 20 27 c6 91 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1674e0 27 c6 95 27 20 3d 3e 20 27 c7 b6 27 2c 0a 27 c6 99 27 20 3d 3e 20 27 c6 98 27 2c 0a 27 c6 9a 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167500 20 3d 3e 20 27 c8 bd 27 2c 0a 27 c6 9e 27 20 3d 3e 20 27 c8 a0 27 2c 0a 27 c6 a1 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167520 27 c6 a0 27 2c 0a 27 c6 a3 27 20 3d 3e 20 27 c6 a2 27 2c 0a 27 c6 a5 27 20 3d 3e 20 27 c6 a4 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167540 2c 0a 27 c6 a8 27 20 3d 3e 20 27 c6 a7 27 2c 0a 27 c6 ad 27 20 3d 3e 20 27 c6 ac 27 2c 0a 27 c6 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167560 b0 27 20 3d 3e 20 27 c6 af 27 2c 0a 27 c6 b4 27 20 3d 3e 20 27 c6 b3 27 2c 0a 27 c6 b6 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
167580 3e 20 27 c6 b5 27 2c 0a 27 c6 b9 27 20 3d 3e 20 27 c6 b8 27 2c 0a 27 c6 bd 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
1675a0 bc 27 2c 0a 27 c6 bf 27 20 3d 3e 20 27 c7 b7 27 2c 0a 27 c7 85 27 20 3d 3e 20 27 c7 84 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1675c0 27 c7 86 27 20 3d 3e 20 27 c7 84 27 2c 0a 27 c7 88 27 20 3d 3e 20 27 c7 87 27 2c 0a 27 c7 89 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1675e0 20 3d 3e 20 27 c7 87 27 2c 0a 27 c7 8b 27 20 3d 3e 20 27 c7 8a 27 2c 0a 27 c7 8c 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167600 27 c7 8a 27 2c 0a 27 c7 8e 27 20 3d 3e 20 27 c7 8d 27 2c 0a 27 c7 90 27 20 3d 3e 20 27 c7 8f 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167620 2c 0a 27 c7 92 27 20 3d 3e 20 27 c7 91 27 2c 0a 27 c7 94 27 20 3d 3e 20 27 c7 93 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167640 96 27 20 3d 3e 20 27 c7 95 27 2c 0a 27 c7 98 27 20 3d 3e 20 27 c7 97 27 2c 0a 27 c7 9a 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
167660 3e 20 27 c7 99 27 2c 0a 27 c7 9c 27 20 3d 3e 20 27 c7 9b 27 2c 0a 27 c7 9d 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
167680 8e 27 2c 0a 27 c7 9f 27 20 3d 3e 20 27 c7 9e 27 2c 0a 27 c7 a1 27 20 3d 3e 20 27 c7 a0 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1676a0 27 c7 a3 27 20 3d 3e 20 27 c7 a2 27 2c 0a 27 c7 a5 27 20 3d 3e 20 27 c7 a4 27 2c 0a 27 c7 a7 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1676c0 20 3d 3e 20 27 c7 a6 27 2c 0a 27 c7 a9 27 20 3d 3e 20 27 c7 a8 27 2c 0a 27 c7 ab 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1676e0 27 c7 aa 27 2c 0a 27 c7 ad 27 20 3d 3e 20 27 c7 ac 27 2c 0a 27 c7 af 27 20 3d 3e 20 27 c7 ae 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167700 2c 0a 27 c7 b2 27 20 3d 3e 20 27 c7 b1 27 2c 0a 27 c7 b3 27 20 3d 3e 20 27 c7 b1 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167720 b5 27 20 3d 3e 20 27 c7 b4 27 2c 0a 27 c7 b9 27 20 3d 3e 20 27 c7 b8 27 2c 0a 27 c7 bb 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
167740 3e 20 27 c7 ba 27 2c 0a 27 c7 bd 27 20 3d 3e 20 27 c7 bc 27 2c 0a 27 c7 bf 27 20 3d 3e 20 27 c7 >.'..',.'..'.=>.'..',.'..'.=>.'.
167760 be 27 2c 0a 27 c8 81 27 20 3d 3e 20 27 c8 80 27 2c 0a 27 c8 83 27 20 3d 3e 20 27 c8 82 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
167780 27 c8 85 27 20 3d 3e 20 27 c8 84 27 2c 0a 27 c8 87 27 20 3d 3e 20 27 c8 86 27 2c 0a 27 c8 89 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1677a0 20 3d 3e 20 27 c8 88 27 2c 0a 27 c8 8b 27 20 3d 3e 20 27 c8 8a 27 2c 0a 27 c8 8d 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1677c0 27 c8 8c 27 2c 0a 27 c8 8f 27 20 3d 3e 20 27 c8 8e 27 2c 0a 27 c8 91 27 20 3d 3e 20 27 c8 90 27 '..',.'..'.=>.'..',.'..'.=>.'..'
1677e0 2c 0a 27 c8 93 27 20 3d 3e 20 27 c8 92 27 2c 0a 27 c8 95 27 20 3d 3e 20 27 c8 94 27 2c 0a 27 c8 ,.'..'.=>.'..',.'..'.=>.'..',.'.
167800 97 27 20 3d 3e 20 27 c8 96 27 2c 0a 27 c8 99 27 20 3d 3e 20 27 c8 98 27 2c 0a 27 c8 9b 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
167820 3e 20 27 c8 9a 27 2c 0a 27 c8 9d 27 20 3d 3e 20 27 c8 9c 27 2c 0a 27 c8 9f 27 20 3d 3e 20 27 c8 >.'..',.'..'.=>.'..',.'..'.=>.'.
167840 9e 27 2c 0a 27 c8 a3 27 20 3d 3e 20 27 c8 a2 27 2c 0a 27 c8 a5 27 20 3d 3e 20 27 c8 a4 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
167860 27 c8 a7 27 20 3d 3e 20 27 c8 a6 27 2c 0a 27 c8 a9 27 20 3d 3e 20 27 c8 a8 27 2c 0a 27 c8 ab 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167880 20 3d 3e 20 27 c8 aa 27 2c 0a 27 c8 ad 27 20 3d 3e 20 27 c8 ac 27 2c 0a 27 c8 af 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1678a0 27 c8 ae 27 2c 0a 27 c8 b1 27 20 3d 3e 20 27 c8 b0 27 2c 0a 27 c8 b3 27 20 3d 3e 20 27 c8 b2 27 '..',.'..'.=>.'..',.'..'.=>.'..'
1678c0 2c 0a 27 c8 bc 27 20 3d 3e 20 27 c8 bb 27 2c 0a 27 c8 bf 27 20 3d 3e 20 27 e2 b1 be 27 2c 0a 27 ,.'..'.=>.'..',.'..'.=>.'...',.'
1678e0 c9 80 27 20 3d 3e 20 27 e2 b1 bf 27 2c 0a 27 c9 82 27 20 3d 3e 20 27 c9 81 27 2c 0a 27 c9 87 27 ..'.=>.'...',.'..'.=>.'..',.'..'
167900 20 3d 3e 20 27 c9 86 27 2c 0a 27 c9 89 27 20 3d 3e 20 27 c9 88 27 2c 0a 27 c9 8b 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
167920 27 c9 8a 27 2c 0a 27 c9 8d 27 20 3d 3e 20 27 c9 8c 27 2c 0a 27 c9 8f 27 20 3d 3e 20 27 c9 8e 27 '..',.'..'.=>.'..',.'..'.=>.'..'
167940 2c 0a 27 c9 90 27 20 3d 3e 20 27 e2 b1 af 27 2c 0a 27 c9 91 27 20 3d 3e 20 27 e2 b1 ad 27 2c 0a ,.'..'.=>.'...',.'..'.=>.'...',.
167960 27 c9 92 27 20 3d 3e 20 27 e2 b1 b0 27 2c 0a 27 c9 93 27 20 3d 3e 20 27 c6 81 27 2c 0a 27 c9 94 '..'.=>.'...',.'..'.=>.'..',.'..
167980 27 20 3d 3e 20 27 c6 86 27 2c 0a 27 c9 96 27 20 3d 3e 20 27 c6 89 27 2c 0a 27 c9 97 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1679a0 20 27 c6 8a 27 2c 0a 27 c9 99 27 20 3d 3e 20 27 c6 8f 27 2c 0a 27 c9 9b 27 20 3d 3e 20 27 c6 90 .'..',.'..'.=>.'..',.'..'.=>.'..
1679c0 27 2c 0a 27 c9 9c 27 20 3d 3e 20 27 ea 9e ab 27 2c 0a 27 c9 a0 27 20 3d 3e 20 27 c6 93 27 2c 0a ',.'..'.=>.'...',.'..'.=>.'..',.
1679e0 27 c9 a1 27 20 3d 3e 20 27 ea 9e ac 27 2c 0a 27 c9 a3 27 20 3d 3e 20 27 c6 94 27 2c 0a 27 c9 a5 '..'.=>.'...',.'..'.=>.'..',.'..
167a00 27 20 3d 3e 20 27 ea 9e 8d 27 2c 0a 27 c9 a6 27 20 3d 3e 20 27 ea 9e aa 27 2c 0a 27 c9 a8 27 20 '.=>.'...',.'..'.=>.'...',.'..'.
167a20 3d 3e 20 27 c6 97 27 2c 0a 27 c9 a9 27 20 3d 3e 20 27 c6 96 27 2c 0a 27 c9 ab 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167a40 e2 b1 a2 27 2c 0a 27 c9 ac 27 20 3d 3e 20 27 ea 9e ad 27 2c 0a 27 c9 af 27 20 3d 3e 20 27 c6 9c ...',.'..'.=>.'...',.'..'.=>.'..
167a60 27 2c 0a 27 c9 b1 27 20 3d 3e 20 27 e2 b1 ae 27 2c 0a 27 c9 b2 27 20 3d 3e 20 27 c6 9d 27 2c 0a ',.'..'.=>.'...',.'..'.=>.'..',.
167a80 27 c9 b5 27 20 3d 3e 20 27 c6 9f 27 2c 0a 27 c9 bd 27 20 3d 3e 20 27 e2 b1 a4 27 2c 0a 27 ca 80 '..'.=>.'..',.'..'.=>.'...',.'..
167aa0 27 20 3d 3e 20 27 c6 a6 27 2c 0a 27 ca 83 27 20 3d 3e 20 27 c6 a9 27 2c 0a 27 ca 87 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167ac0 20 27 ea 9e b1 27 2c 0a 27 ca 88 27 20 3d 3e 20 27 c6 ae 27 2c 0a 27 ca 89 27 20 3d 3e 20 27 c9 .'...',.'..'.=>.'..',.'..'.=>.'.
167ae0 84 27 2c 0a 27 ca 8a 27 20 3d 3e 20 27 c6 b1 27 2c 0a 27 ca 8b 27 20 3d 3e 20 27 c6 b2 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
167b00 27 ca 8c 27 20 3d 3e 20 27 c9 85 27 2c 0a 27 ca 92 27 20 3d 3e 20 27 c6 b7 27 2c 0a 27 ca 9e 27 '..'.=>.'..',.'..'.=>.'..',.'..'
167b20 20 3d 3e 20 27 ea 9e b0 27 2c 0a 27 cd 85 27 20 3d 3e 20 27 ce 99 27 2c 0a 27 cd b1 27 20 3d 3e .=>.'...',.'..'.=>.'..',.'..'.=>
167b40 20 27 cd b0 27 2c 0a 27 cd b3 27 20 3d 3e 20 27 cd b2 27 2c 0a 27 cd b7 27 20 3d 3e 20 27 cd b6 .'..',.'..'.=>.'..',.'..'.=>.'..
167b60 27 2c 0a 27 cd bb 27 20 3d 3e 20 27 cf bd 27 2c 0a 27 cd bc 27 20 3d 3e 20 27 cf be 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167b80 cd bd 27 20 3d 3e 20 27 cf bf 27 2c 0a 27 ce ac 27 20 3d 3e 20 27 ce 86 27 2c 0a 27 ce ad 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
167ba0 3d 3e 20 27 ce 88 27 2c 0a 27 ce ae 27 20 3d 3e 20 27 ce 89 27 2c 0a 27 ce af 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167bc0 ce 8a 27 2c 0a 27 ce b1 27 20 3d 3e 20 27 ce 91 27 2c 0a 27 ce b2 27 20 3d 3e 20 27 ce 92 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167be0 0a 27 ce b3 27 20 3d 3e 20 27 ce 93 27 2c 0a 27 ce b4 27 20 3d 3e 20 27 ce 94 27 2c 0a 27 ce b5 .'..'.=>.'..',.'..'.=>.'..',.'..
167c00 27 20 3d 3e 20 27 ce 95 27 2c 0a 27 ce b6 27 20 3d 3e 20 27 ce 96 27 2c 0a 27 ce b7 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167c20 20 27 ce 97 27 2c 0a 27 ce b8 27 20 3d 3e 20 27 ce 98 27 2c 0a 27 ce b9 27 20 3d 3e 20 27 ce 99 .'..',.'..'.=>.'..',.'..'.=>.'..
167c40 27 2c 0a 27 ce ba 27 20 3d 3e 20 27 ce 9a 27 2c 0a 27 ce bb 27 20 3d 3e 20 27 ce 9b 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167c60 ce bc 27 20 3d 3e 20 27 ce 9c 27 2c 0a 27 ce bd 27 20 3d 3e 20 27 ce 9d 27 2c 0a 27 ce be 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
167c80 3d 3e 20 27 ce 9e 27 2c 0a 27 ce bf 27 20 3d 3e 20 27 ce 9f 27 2c 0a 27 cf 80 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167ca0 ce a0 27 2c 0a 27 cf 81 27 20 3d 3e 20 27 ce a1 27 2c 0a 27 cf 82 27 20 3d 3e 20 27 ce a3 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167cc0 0a 27 cf 83 27 20 3d 3e 20 27 ce a3 27 2c 0a 27 cf 84 27 20 3d 3e 20 27 ce a4 27 2c 0a 27 cf 85 .'..'.=>.'..',.'..'.=>.'..',.'..
167ce0 27 20 3d 3e 20 27 ce a5 27 2c 0a 27 cf 86 27 20 3d 3e 20 27 ce a6 27 2c 0a 27 cf 87 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167d00 20 27 ce a7 27 2c 0a 27 cf 88 27 20 3d 3e 20 27 ce a8 27 2c 0a 27 cf 89 27 20 3d 3e 20 27 ce a9 .'..',.'..'.=>.'..',.'..'.=>.'..
167d20 27 2c 0a 27 cf 8a 27 20 3d 3e 20 27 ce aa 27 2c 0a 27 cf 8b 27 20 3d 3e 20 27 ce ab 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167d40 cf 8c 27 20 3d 3e 20 27 ce 8c 27 2c 0a 27 cf 8d 27 20 3d 3e 20 27 ce 8e 27 2c 0a 27 cf 8e 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
167d60 3d 3e 20 27 ce 8f 27 2c 0a 27 cf 90 27 20 3d 3e 20 27 ce 92 27 2c 0a 27 cf 91 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167d80 ce 98 27 2c 0a 27 cf 95 27 20 3d 3e 20 27 ce a6 27 2c 0a 27 cf 96 27 20 3d 3e 20 27 ce a0 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167da0 0a 27 cf 97 27 20 3d 3e 20 27 cf 8f 27 2c 0a 27 cf 99 27 20 3d 3e 20 27 cf 98 27 2c 0a 27 cf 9b .'..'.=>.'..',.'..'.=>.'..',.'..
167dc0 27 20 3d 3e 20 27 cf 9a 27 2c 0a 27 cf 9d 27 20 3d 3e 20 27 cf 9c 27 2c 0a 27 cf 9f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167de0 20 27 cf 9e 27 2c 0a 27 cf a1 27 20 3d 3e 20 27 cf a0 27 2c 0a 27 cf a3 27 20 3d 3e 20 27 cf a2 .'..',.'..'.=>.'..',.'..'.=>.'..
167e00 27 2c 0a 27 cf a5 27 20 3d 3e 20 27 cf a4 27 2c 0a 27 cf a7 27 20 3d 3e 20 27 cf a6 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167e20 cf a9 27 20 3d 3e 20 27 cf a8 27 2c 0a 27 cf ab 27 20 3d 3e 20 27 cf aa 27 2c 0a 27 cf ad 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
167e40 3d 3e 20 27 cf ac 27 2c 0a 27 cf af 27 20 3d 3e 20 27 cf ae 27 2c 0a 27 cf b0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167e60 ce 9a 27 2c 0a 27 cf b1 27 20 3d 3e 20 27 ce a1 27 2c 0a 27 cf b2 27 20 3d 3e 20 27 cf b9 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167e80 0a 27 cf b3 27 20 3d 3e 20 27 cd bf 27 2c 0a 27 cf b5 27 20 3d 3e 20 27 ce 95 27 2c 0a 27 cf b8 .'..'.=>.'..',.'..'.=>.'..',.'..
167ea0 27 20 3d 3e 20 27 cf b7 27 2c 0a 27 cf bb 27 20 3d 3e 20 27 cf ba 27 2c 0a 27 d0 b0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167ec0 20 27 d0 90 27 2c 0a 27 d0 b1 27 20 3d 3e 20 27 d0 91 27 2c 0a 27 d0 b2 27 20 3d 3e 20 27 d0 92 .'..',.'..'.=>.'..',.'..'.=>.'..
167ee0 27 2c 0a 27 d0 b3 27 20 3d 3e 20 27 d0 93 27 2c 0a 27 d0 b4 27 20 3d 3e 20 27 d0 94 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167f00 d0 b5 27 20 3d 3e 20 27 d0 95 27 2c 0a 27 d0 b6 27 20 3d 3e 20 27 d0 96 27 2c 0a 27 d0 b7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
167f20 3d 3e 20 27 d0 97 27 2c 0a 27 d0 b8 27 20 3d 3e 20 27 d0 98 27 2c 0a 27 d0 b9 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
167f40 d0 99 27 2c 0a 27 d0 ba 27 20 3d 3e 20 27 d0 9a 27 2c 0a 27 d0 bb 27 20 3d 3e 20 27 d0 9b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
167f60 0a 27 d0 bc 27 20 3d 3e 20 27 d0 9c 27 2c 0a 27 d0 bd 27 20 3d 3e 20 27 d0 9d 27 2c 0a 27 d0 be .'..'.=>.'..',.'..'.=>.'..',.'..
167f80 27 20 3d 3e 20 27 d0 9e 27 2c 0a 27 d0 bf 27 20 3d 3e 20 27 d0 9f 27 2c 0a 27 d1 80 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
167fa0 20 27 d0 a0 27 2c 0a 27 d1 81 27 20 3d 3e 20 27 d0 a1 27 2c 0a 27 d1 82 27 20 3d 3e 20 27 d0 a2 .'..',.'..'.=>.'..',.'..'.=>.'..
167fc0 27 2c 0a 27 d1 83 27 20 3d 3e 20 27 d0 a3 27 2c 0a 27 d1 84 27 20 3d 3e 20 27 d0 a4 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
167fe0 d1 85 27 20 3d 3e 20 27 d0 a5 27 2c 0a 27 d1 86 27 20 3d 3e 20 27 d0 a6 27 2c 0a 27 d1 87 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168000 3d 3e 20 27 d0 a7 27 2c 0a 27 d1 88 27 20 3d 3e 20 27 d0 a8 27 2c 0a 27 d1 89 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168020 d0 a9 27 2c 0a 27 d1 8a 27 20 3d 3e 20 27 d0 aa 27 2c 0a 27 d1 8b 27 20 3d 3e 20 27 d0 ab 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168040 0a 27 d1 8c 27 20 3d 3e 20 27 d0 ac 27 2c 0a 27 d1 8d 27 20 3d 3e 20 27 d0 ad 27 2c 0a 27 d1 8e .'..'.=>.'..',.'..'.=>.'..',.'..
168060 27 20 3d 3e 20 27 d0 ae 27 2c 0a 27 d1 8f 27 20 3d 3e 20 27 d0 af 27 2c 0a 27 d1 90 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168080 20 27 d0 80 27 2c 0a 27 d1 91 27 20 3d 3e 20 27 d0 81 27 2c 0a 27 d1 92 27 20 3d 3e 20 27 d0 82 .'..',.'..'.=>.'..',.'..'.=>.'..
1680a0 27 2c 0a 27 d1 93 27 20 3d 3e 20 27 d0 83 27 2c 0a 27 d1 94 27 20 3d 3e 20 27 d0 84 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1680c0 d1 95 27 20 3d 3e 20 27 d0 85 27 2c 0a 27 d1 96 27 20 3d 3e 20 27 d0 86 27 2c 0a 27 d1 97 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1680e0 3d 3e 20 27 d0 87 27 2c 0a 27 d1 98 27 20 3d 3e 20 27 d0 88 27 2c 0a 27 d1 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168100 d0 89 27 2c 0a 27 d1 9a 27 20 3d 3e 20 27 d0 8a 27 2c 0a 27 d1 9b 27 20 3d 3e 20 27 d0 8b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168120 0a 27 d1 9c 27 20 3d 3e 20 27 d0 8c 27 2c 0a 27 d1 9d 27 20 3d 3e 20 27 d0 8d 27 2c 0a 27 d1 9e .'..'.=>.'..',.'..'.=>.'..',.'..
168140 27 20 3d 3e 20 27 d0 8e 27 2c 0a 27 d1 9f 27 20 3d 3e 20 27 d0 8f 27 2c 0a 27 d1 a1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168160 20 27 d1 a0 27 2c 0a 27 d1 a3 27 20 3d 3e 20 27 d1 a2 27 2c 0a 27 d1 a5 27 20 3d 3e 20 27 d1 a4 .'..',.'..'.=>.'..',.'..'.=>.'..
168180 27 2c 0a 27 d1 a7 27 20 3d 3e 20 27 d1 a6 27 2c 0a 27 d1 a9 27 20 3d 3e 20 27 d1 a8 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1681a0 d1 ab 27 20 3d 3e 20 27 d1 aa 27 2c 0a 27 d1 ad 27 20 3d 3e 20 27 d1 ac 27 2c 0a 27 d1 af 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1681c0 3d 3e 20 27 d1 ae 27 2c 0a 27 d1 b1 27 20 3d 3e 20 27 d1 b0 27 2c 0a 27 d1 b3 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1681e0 d1 b2 27 2c 0a 27 d1 b5 27 20 3d 3e 20 27 d1 b4 27 2c 0a 27 d1 b7 27 20 3d 3e 20 27 d1 b6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168200 0a 27 d1 b9 27 20 3d 3e 20 27 d1 b8 27 2c 0a 27 d1 bb 27 20 3d 3e 20 27 d1 ba 27 2c 0a 27 d1 bd .'..'.=>.'..',.'..'.=>.'..',.'..
168220 27 20 3d 3e 20 27 d1 bc 27 2c 0a 27 d1 bf 27 20 3d 3e 20 27 d1 be 27 2c 0a 27 d2 81 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168240 20 27 d2 80 27 2c 0a 27 d2 8b 27 20 3d 3e 20 27 d2 8a 27 2c 0a 27 d2 8d 27 20 3d 3e 20 27 d2 8c .'..',.'..'.=>.'..',.'..'.=>.'..
168260 27 2c 0a 27 d2 8f 27 20 3d 3e 20 27 d2 8e 27 2c 0a 27 d2 91 27 20 3d 3e 20 27 d2 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
168280 d2 93 27 20 3d 3e 20 27 d2 92 27 2c 0a 27 d2 95 27 20 3d 3e 20 27 d2 94 27 2c 0a 27 d2 97 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1682a0 3d 3e 20 27 d2 96 27 2c 0a 27 d2 99 27 20 3d 3e 20 27 d2 98 27 2c 0a 27 d2 9b 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1682c0 d2 9a 27 2c 0a 27 d2 9d 27 20 3d 3e 20 27 d2 9c 27 2c 0a 27 d2 9f 27 20 3d 3e 20 27 d2 9e 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1682e0 0a 27 d2 a1 27 20 3d 3e 20 27 d2 a0 27 2c 0a 27 d2 a3 27 20 3d 3e 20 27 d2 a2 27 2c 0a 27 d2 a5 .'..'.=>.'..',.'..'.=>.'..',.'..
168300 27 20 3d 3e 20 27 d2 a4 27 2c 0a 27 d2 a7 27 20 3d 3e 20 27 d2 a6 27 2c 0a 27 d2 a9 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168320 20 27 d2 a8 27 2c 0a 27 d2 ab 27 20 3d 3e 20 27 d2 aa 27 2c 0a 27 d2 ad 27 20 3d 3e 20 27 d2 ac .'..',.'..'.=>.'..',.'..'.=>.'..
168340 27 2c 0a 27 d2 af 27 20 3d 3e 20 27 d2 ae 27 2c 0a 27 d2 b1 27 20 3d 3e 20 27 d2 b0 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
168360 d2 b3 27 20 3d 3e 20 27 d2 b2 27 2c 0a 27 d2 b5 27 20 3d 3e 20 27 d2 b4 27 2c 0a 27 d2 b7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168380 3d 3e 20 27 d2 b6 27 2c 0a 27 d2 b9 27 20 3d 3e 20 27 d2 b8 27 2c 0a 27 d2 bb 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1683a0 d2 ba 27 2c 0a 27 d2 bd 27 20 3d 3e 20 27 d2 bc 27 2c 0a 27 d2 bf 27 20 3d 3e 20 27 d2 be 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1683c0 0a 27 d3 82 27 20 3d 3e 20 27 d3 81 27 2c 0a 27 d3 84 27 20 3d 3e 20 27 d3 83 27 2c 0a 27 d3 86 .'..'.=>.'..',.'..'.=>.'..',.'..
1683e0 27 20 3d 3e 20 27 d3 85 27 2c 0a 27 d3 88 27 20 3d 3e 20 27 d3 87 27 2c 0a 27 d3 8a 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168400 20 27 d3 89 27 2c 0a 27 d3 8c 27 20 3d 3e 20 27 d3 8b 27 2c 0a 27 d3 8e 27 20 3d 3e 20 27 d3 8d .'..',.'..'.=>.'..',.'..'.=>.'..
168420 27 2c 0a 27 d3 8f 27 20 3d 3e 20 27 d3 80 27 2c 0a 27 d3 91 27 20 3d 3e 20 27 d3 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
168440 d3 93 27 20 3d 3e 20 27 d3 92 27 2c 0a 27 d3 95 27 20 3d 3e 20 27 d3 94 27 2c 0a 27 d3 97 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168460 3d 3e 20 27 d3 96 27 2c 0a 27 d3 99 27 20 3d 3e 20 27 d3 98 27 2c 0a 27 d3 9b 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168480 d3 9a 27 2c 0a 27 d3 9d 27 20 3d 3e 20 27 d3 9c 27 2c 0a 27 d3 9f 27 20 3d 3e 20 27 d3 9e 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1684a0 0a 27 d3 a1 27 20 3d 3e 20 27 d3 a0 27 2c 0a 27 d3 a3 27 20 3d 3e 20 27 d3 a2 27 2c 0a 27 d3 a5 .'..'.=>.'..',.'..'.=>.'..',.'..
1684c0 27 20 3d 3e 20 27 d3 a4 27 2c 0a 27 d3 a7 27 20 3d 3e 20 27 d3 a6 27 2c 0a 27 d3 a9 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1684e0 20 27 d3 a8 27 2c 0a 27 d3 ab 27 20 3d 3e 20 27 d3 aa 27 2c 0a 27 d3 ad 27 20 3d 3e 20 27 d3 ac .'..',.'..'.=>.'..',.'..'.=>.'..
168500 27 2c 0a 27 d3 af 27 20 3d 3e 20 27 d3 ae 27 2c 0a 27 d3 b1 27 20 3d 3e 20 27 d3 b0 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
168520 d3 b3 27 20 3d 3e 20 27 d3 b2 27 2c 0a 27 d3 b5 27 20 3d 3e 20 27 d3 b4 27 2c 0a 27 d3 b7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168540 3d 3e 20 27 d3 b6 27 2c 0a 27 d3 b9 27 20 3d 3e 20 27 d3 b8 27 2c 0a 27 d3 bb 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168560 d3 ba 27 2c 0a 27 d3 bd 27 20 3d 3e 20 27 d3 bc 27 2c 0a 27 d3 bf 27 20 3d 3e 20 27 d3 be 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168580 0a 27 d4 81 27 20 3d 3e 20 27 d4 80 27 2c 0a 27 d4 83 27 20 3d 3e 20 27 d4 82 27 2c 0a 27 d4 85 .'..'.=>.'..',.'..'.=>.'..',.'..
1685a0 27 20 3d 3e 20 27 d4 84 27 2c 0a 27 d4 87 27 20 3d 3e 20 27 d4 86 27 2c 0a 27 d4 89 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1685c0 20 27 d4 88 27 2c 0a 27 d4 8b 27 20 3d 3e 20 27 d4 8a 27 2c 0a 27 d4 8d 27 20 3d 3e 20 27 d4 8c .'..',.'..'.=>.'..',.'..'.=>.'..
1685e0 27 2c 0a 27 d4 8f 27 20 3d 3e 20 27 d4 8e 27 2c 0a 27 d4 91 27 20 3d 3e 20 27 d4 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
168600 d4 93 27 20 3d 3e 20 27 d4 92 27 2c 0a 27 d4 95 27 20 3d 3e 20 27 d4 94 27 2c 0a 27 d4 97 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168620 3d 3e 20 27 d4 96 27 2c 0a 27 d4 99 27 20 3d 3e 20 27 d4 98 27 2c 0a 27 d4 9b 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168640 d4 9a 27 2c 0a 27 d4 9d 27 20 3d 3e 20 27 d4 9c 27 2c 0a 27 d4 9f 27 20 3d 3e 20 27 d4 9e 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168660 0a 27 d4 a1 27 20 3d 3e 20 27 d4 a0 27 2c 0a 27 d4 a3 27 20 3d 3e 20 27 d4 a2 27 2c 0a 27 d4 a5 .'..'.=>.'..',.'..'.=>.'..',.'..
168680 27 20 3d 3e 20 27 d4 a4 27 2c 0a 27 d4 a7 27 20 3d 3e 20 27 d4 a6 27 2c 0a 27 d4 a9 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1686a0 20 27 d4 a8 27 2c 0a 27 d4 ab 27 20 3d 3e 20 27 d4 aa 27 2c 0a 27 d4 ad 27 20 3d 3e 20 27 d4 ac .'..',.'..'.=>.'..',.'..'.=>.'..
1686c0 27 2c 0a 27 d4 af 27 20 3d 3e 20 27 d4 ae 27 2c 0a 27 d5 a1 27 20 3d 3e 20 27 d4 b1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1686e0 d5 a2 27 20 3d 3e 20 27 d4 b2 27 2c 0a 27 d5 a3 27 20 3d 3e 20 27 d4 b3 27 2c 0a 27 d5 a4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
168700 3d 3e 20 27 d4 b4 27 2c 0a 27 d5 a5 27 20 3d 3e 20 27 d4 b5 27 2c 0a 27 d5 a6 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168720 d4 b6 27 2c 0a 27 d5 a7 27 20 3d 3e 20 27 d4 b7 27 2c 0a 27 d5 a8 27 20 3d 3e 20 27 d4 b8 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168740 0a 27 d5 a9 27 20 3d 3e 20 27 d4 b9 27 2c 0a 27 d5 aa 27 20 3d 3e 20 27 d4 ba 27 2c 0a 27 d5 ab .'..'.=>.'..',.'..'.=>.'..',.'..
168760 27 20 3d 3e 20 27 d4 bb 27 2c 0a 27 d5 ac 27 20 3d 3e 20 27 d4 bc 27 2c 0a 27 d5 ad 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168780 20 27 d4 bd 27 2c 0a 27 d5 ae 27 20 3d 3e 20 27 d4 be 27 2c 0a 27 d5 af 27 20 3d 3e 20 27 d4 bf .'..',.'..'.=>.'..',.'..'.=>.'..
1687a0 27 2c 0a 27 d5 b0 27 20 3d 3e 20 27 d5 80 27 2c 0a 27 d5 b1 27 20 3d 3e 20 27 d5 81 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1687c0 d5 b2 27 20 3d 3e 20 27 d5 82 27 2c 0a 27 d5 b3 27 20 3d 3e 20 27 d5 83 27 2c 0a 27 d5 b4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1687e0 3d 3e 20 27 d5 84 27 2c 0a 27 d5 b5 27 20 3d 3e 20 27 d5 85 27 2c 0a 27 d5 b6 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
168800 d5 86 27 2c 0a 27 d5 b7 27 20 3d 3e 20 27 d5 87 27 2c 0a 27 d5 b8 27 20 3d 3e 20 27 d5 88 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
168820 0a 27 d5 b9 27 20 3d 3e 20 27 d5 89 27 2c 0a 27 d5 ba 27 20 3d 3e 20 27 d5 8a 27 2c 0a 27 d5 bb .'..'.=>.'..',.'..'.=>.'..',.'..
168840 27 20 3d 3e 20 27 d5 8b 27 2c 0a 27 d5 bc 27 20 3d 3e 20 27 d5 8c 27 2c 0a 27 d5 bd 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
168860 20 27 d5 8d 27 2c 0a 27 d5 be 27 20 3d 3e 20 27 d5 8e 27 2c 0a 27 d5 bf 27 20 3d 3e 20 27 d5 8f .'..',.'..'.=>.'..',.'..'.=>.'..
168880 27 2c 0a 27 d6 80 27 20 3d 3e 20 27 d5 90 27 2c 0a 27 d6 81 27 20 3d 3e 20 27 d5 91 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1688a0 d6 82 27 20 3d 3e 20 27 d5 92 27 2c 0a 27 d6 83 27 20 3d 3e 20 27 d5 93 27 2c 0a 27 d6 84 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1688c0 3d 3e 20 27 d5 94 27 2c 0a 27 d6 85 27 20 3d 3e 20 27 d5 95 27 2c 0a 27 d6 86 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1688e0 d5 96 27 2c 0a 27 e1 b5 b9 27 20 3d 3e 20 27 ea 9d bd 27 2c 0a 27 e1 b5 bd 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
168900 b1 a3 27 2c 0a 27 e1 b8 81 27 20 3d 3e 20 27 e1 b8 80 27 2c 0a 27 e1 b8 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168920 b8 82 27 2c 0a 27 e1 b8 85 27 20 3d 3e 20 27 e1 b8 84 27 2c 0a 27 e1 b8 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168940 b8 86 27 2c 0a 27 e1 b8 89 27 20 3d 3e 20 27 e1 b8 88 27 2c 0a 27 e1 b8 8b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168960 b8 8a 27 2c 0a 27 e1 b8 8d 27 20 3d 3e 20 27 e1 b8 8c 27 2c 0a 27 e1 b8 8f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168980 b8 8e 27 2c 0a 27 e1 b8 91 27 20 3d 3e 20 27 e1 b8 90 27 2c 0a 27 e1 b8 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1689a0 b8 92 27 2c 0a 27 e1 b8 95 27 20 3d 3e 20 27 e1 b8 94 27 2c 0a 27 e1 b8 97 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1689c0 b8 96 27 2c 0a 27 e1 b8 99 27 20 3d 3e 20 27 e1 b8 98 27 2c 0a 27 e1 b8 9b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1689e0 b8 9a 27 2c 0a 27 e1 b8 9d 27 20 3d 3e 20 27 e1 b8 9c 27 2c 0a 27 e1 b8 9f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168a00 b8 9e 27 2c 0a 27 e1 b8 a1 27 20 3d 3e 20 27 e1 b8 a0 27 2c 0a 27 e1 b8 a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168a20 b8 a2 27 2c 0a 27 e1 b8 a5 27 20 3d 3e 20 27 e1 b8 a4 27 2c 0a 27 e1 b8 a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168a40 b8 a6 27 2c 0a 27 e1 b8 a9 27 20 3d 3e 20 27 e1 b8 a8 27 2c 0a 27 e1 b8 ab 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168a60 b8 aa 27 2c 0a 27 e1 b8 ad 27 20 3d 3e 20 27 e1 b8 ac 27 2c 0a 27 e1 b8 af 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168a80 b8 ae 27 2c 0a 27 e1 b8 b1 27 20 3d 3e 20 27 e1 b8 b0 27 2c 0a 27 e1 b8 b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168aa0 b8 b2 27 2c 0a 27 e1 b8 b5 27 20 3d 3e 20 27 e1 b8 b4 27 2c 0a 27 e1 b8 b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ac0 b8 b6 27 2c 0a 27 e1 b8 b9 27 20 3d 3e 20 27 e1 b8 b8 27 2c 0a 27 e1 b8 bb 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ae0 b8 ba 27 2c 0a 27 e1 b8 bd 27 20 3d 3e 20 27 e1 b8 bc 27 2c 0a 27 e1 b8 bf 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168b00 b8 be 27 2c 0a 27 e1 b9 81 27 20 3d 3e 20 27 e1 b9 80 27 2c 0a 27 e1 b9 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168b20 b9 82 27 2c 0a 27 e1 b9 85 27 20 3d 3e 20 27 e1 b9 84 27 2c 0a 27 e1 b9 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168b40 b9 86 27 2c 0a 27 e1 b9 89 27 20 3d 3e 20 27 e1 b9 88 27 2c 0a 27 e1 b9 8b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168b60 b9 8a 27 2c 0a 27 e1 b9 8d 27 20 3d 3e 20 27 e1 b9 8c 27 2c 0a 27 e1 b9 8f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168b80 b9 8e 27 2c 0a 27 e1 b9 91 27 20 3d 3e 20 27 e1 b9 90 27 2c 0a 27 e1 b9 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ba0 b9 92 27 2c 0a 27 e1 b9 95 27 20 3d 3e 20 27 e1 b9 94 27 2c 0a 27 e1 b9 97 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168bc0 b9 96 27 2c 0a 27 e1 b9 99 27 20 3d 3e 20 27 e1 b9 98 27 2c 0a 27 e1 b9 9b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168be0 b9 9a 27 2c 0a 27 e1 b9 9d 27 20 3d 3e 20 27 e1 b9 9c 27 2c 0a 27 e1 b9 9f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168c00 b9 9e 27 2c 0a 27 e1 b9 a1 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 27 e1 b9 a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168c20 b9 a2 27 2c 0a 27 e1 b9 a5 27 20 3d 3e 20 27 e1 b9 a4 27 2c 0a 27 e1 b9 a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168c40 b9 a6 27 2c 0a 27 e1 b9 a9 27 20 3d 3e 20 27 e1 b9 a8 27 2c 0a 27 e1 b9 ab 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168c60 b9 aa 27 2c 0a 27 e1 b9 ad 27 20 3d 3e 20 27 e1 b9 ac 27 2c 0a 27 e1 b9 af 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168c80 b9 ae 27 2c 0a 27 e1 b9 b1 27 20 3d 3e 20 27 e1 b9 b0 27 2c 0a 27 e1 b9 b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ca0 b9 b2 27 2c 0a 27 e1 b9 b5 27 20 3d 3e 20 27 e1 b9 b4 27 2c 0a 27 e1 b9 b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168cc0 b9 b6 27 2c 0a 27 e1 b9 b9 27 20 3d 3e 20 27 e1 b9 b8 27 2c 0a 27 e1 b9 bb 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ce0 b9 ba 27 2c 0a 27 e1 b9 bd 27 20 3d 3e 20 27 e1 b9 bc 27 2c 0a 27 e1 b9 bf 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168d00 b9 be 27 2c 0a 27 e1 ba 81 27 20 3d 3e 20 27 e1 ba 80 27 2c 0a 27 e1 ba 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168d20 ba 82 27 2c 0a 27 e1 ba 85 27 20 3d 3e 20 27 e1 ba 84 27 2c 0a 27 e1 ba 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168d40 ba 86 27 2c 0a 27 e1 ba 89 27 20 3d 3e 20 27 e1 ba 88 27 2c 0a 27 e1 ba 8b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168d60 ba 8a 27 2c 0a 27 e1 ba 8d 27 20 3d 3e 20 27 e1 ba 8c 27 2c 0a 27 e1 ba 8f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168d80 ba 8e 27 2c 0a 27 e1 ba 91 27 20 3d 3e 20 27 e1 ba 90 27 2c 0a 27 e1 ba 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168da0 ba 92 27 2c 0a 27 e1 ba 95 27 20 3d 3e 20 27 e1 ba 94 27 2c 0a 27 e1 ba 9b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168dc0 b9 a0 27 2c 0a 27 e1 ba a1 27 20 3d 3e 20 27 e1 ba a0 27 2c 0a 27 e1 ba a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168de0 ba a2 27 2c 0a 27 e1 ba a5 27 20 3d 3e 20 27 e1 ba a4 27 2c 0a 27 e1 ba a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168e00 ba a6 27 2c 0a 27 e1 ba a9 27 20 3d 3e 20 27 e1 ba a8 27 2c 0a 27 e1 ba ab 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168e20 ba aa 27 2c 0a 27 e1 ba ad 27 20 3d 3e 20 27 e1 ba ac 27 2c 0a 27 e1 ba af 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168e40 ba ae 27 2c 0a 27 e1 ba b1 27 20 3d 3e 20 27 e1 ba b0 27 2c 0a 27 e1 ba b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168e60 ba b2 27 2c 0a 27 e1 ba b5 27 20 3d 3e 20 27 e1 ba b4 27 2c 0a 27 e1 ba b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168e80 ba b6 27 2c 0a 27 e1 ba b9 27 20 3d 3e 20 27 e1 ba b8 27 2c 0a 27 e1 ba bb 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ea0 ba ba 27 2c 0a 27 e1 ba bd 27 20 3d 3e 20 27 e1 ba bc 27 2c 0a 27 e1 ba bf 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ec0 ba be 27 2c 0a 27 e1 bb 81 27 20 3d 3e 20 27 e1 bb 80 27 2c 0a 27 e1 bb 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168ee0 bb 82 27 2c 0a 27 e1 bb 85 27 20 3d 3e 20 27 e1 bb 84 27 2c 0a 27 e1 bb 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168f00 bb 86 27 2c 0a 27 e1 bb 89 27 20 3d 3e 20 27 e1 bb 88 27 2c 0a 27 e1 bb 8b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168f20 bb 8a 27 2c 0a 27 e1 bb 8d 27 20 3d 3e 20 27 e1 bb 8c 27 2c 0a 27 e1 bb 8f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168f40 bb 8e 27 2c 0a 27 e1 bb 91 27 20 3d 3e 20 27 e1 bb 90 27 2c 0a 27 e1 bb 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168f60 bb 92 27 2c 0a 27 e1 bb 95 27 20 3d 3e 20 27 e1 bb 94 27 2c 0a 27 e1 bb 97 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168f80 bb 96 27 2c 0a 27 e1 bb 99 27 20 3d 3e 20 27 e1 bb 98 27 2c 0a 27 e1 bb 9b 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168fa0 bb 9a 27 2c 0a 27 e1 bb 9d 27 20 3d 3e 20 27 e1 bb 9c 27 2c 0a 27 e1 bb 9f 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168fc0 bb 9e 27 2c 0a 27 e1 bb a1 27 20 3d 3e 20 27 e1 bb a0 27 2c 0a 27 e1 bb a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
168fe0 bb a2 27 2c 0a 27 e1 bb a5 27 20 3d 3e 20 27 e1 bb a4 27 2c 0a 27 e1 bb a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169000 bb a6 27 2c 0a 27 e1 bb a9 27 20 3d 3e 20 27 e1 bb a8 27 2c 0a 27 e1 bb ab 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169020 bb aa 27 2c 0a 27 e1 bb ad 27 20 3d 3e 20 27 e1 bb ac 27 2c 0a 27 e1 bb af 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169040 bb ae 27 2c 0a 27 e1 bb b1 27 20 3d 3e 20 27 e1 bb b0 27 2c 0a 27 e1 bb b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169060 bb b2 27 2c 0a 27 e1 bb b5 27 20 3d 3e 20 27 e1 bb b4 27 2c 0a 27 e1 bb b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169080 bb b6 27 2c 0a 27 e1 bb b9 27 20 3d 3e 20 27 e1 bb b8 27 2c 0a 27 e1 bb bb 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1690a0 bb ba 27 2c 0a 27 e1 bb bd 27 20 3d 3e 20 27 e1 bb bc 27 2c 0a 27 e1 bb bf 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1690c0 bb be 27 2c 0a 27 e1 bc 80 27 20 3d 3e 20 27 e1 bc 88 27 2c 0a 27 e1 bc 81 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1690e0 bc 89 27 2c 0a 27 e1 bc 82 27 20 3d 3e 20 27 e1 bc 8a 27 2c 0a 27 e1 bc 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169100 bc 8b 27 2c 0a 27 e1 bc 84 27 20 3d 3e 20 27 e1 bc 8c 27 2c 0a 27 e1 bc 85 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169120 bc 8d 27 2c 0a 27 e1 bc 86 27 20 3d 3e 20 27 e1 bc 8e 27 2c 0a 27 e1 bc 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169140 bc 8f 27 2c 0a 27 e1 bc 90 27 20 3d 3e 20 27 e1 bc 98 27 2c 0a 27 e1 bc 91 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169160 bc 99 27 2c 0a 27 e1 bc 92 27 20 3d 3e 20 27 e1 bc 9a 27 2c 0a 27 e1 bc 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169180 bc 9b 27 2c 0a 27 e1 bc 94 27 20 3d 3e 20 27 e1 bc 9c 27 2c 0a 27 e1 bc 95 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1691a0 bc 9d 27 2c 0a 27 e1 bc a0 27 20 3d 3e 20 27 e1 bc a8 27 2c 0a 27 e1 bc a1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1691c0 bc a9 27 2c 0a 27 e1 bc a2 27 20 3d 3e 20 27 e1 bc aa 27 2c 0a 27 e1 bc a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1691e0 bc ab 27 2c 0a 27 e1 bc a4 27 20 3d 3e 20 27 e1 bc ac 27 2c 0a 27 e1 bc a5 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169200 bc ad 27 2c 0a 27 e1 bc a6 27 20 3d 3e 20 27 e1 bc ae 27 2c 0a 27 e1 bc a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169220 bc af 27 2c 0a 27 e1 bc b0 27 20 3d 3e 20 27 e1 bc b8 27 2c 0a 27 e1 bc b1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169240 bc b9 27 2c 0a 27 e1 bc b2 27 20 3d 3e 20 27 e1 bc ba 27 2c 0a 27 e1 bc b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169260 bc bb 27 2c 0a 27 e1 bc b4 27 20 3d 3e 20 27 e1 bc bc 27 2c 0a 27 e1 bc b5 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169280 bc bd 27 2c 0a 27 e1 bc b6 27 20 3d 3e 20 27 e1 bc be 27 2c 0a 27 e1 bc b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1692a0 bc bf 27 2c 0a 27 e1 bd 80 27 20 3d 3e 20 27 e1 bd 88 27 2c 0a 27 e1 bd 81 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1692c0 bd 89 27 2c 0a 27 e1 bd 82 27 20 3d 3e 20 27 e1 bd 8a 27 2c 0a 27 e1 bd 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1692e0 bd 8b 27 2c 0a 27 e1 bd 84 27 20 3d 3e 20 27 e1 bd 8c 27 2c 0a 27 e1 bd 85 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169300 bd 8d 27 2c 0a 27 e1 bd 91 27 20 3d 3e 20 27 e1 bd 99 27 2c 0a 27 e1 bd 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169320 bd 9b 27 2c 0a 27 e1 bd 95 27 20 3d 3e 20 27 e1 bd 9d 27 2c 0a 27 e1 bd 97 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169340 bd 9f 27 2c 0a 27 e1 bd a0 27 20 3d 3e 20 27 e1 bd a8 27 2c 0a 27 e1 bd a1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169360 bd a9 27 2c 0a 27 e1 bd a2 27 20 3d 3e 20 27 e1 bd aa 27 2c 0a 27 e1 bd a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169380 bd ab 27 2c 0a 27 e1 bd a4 27 20 3d 3e 20 27 e1 bd ac 27 2c 0a 27 e1 bd a5 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1693a0 bd ad 27 2c 0a 27 e1 bd a6 27 20 3d 3e 20 27 e1 bd ae 27 2c 0a 27 e1 bd a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1693c0 bd af 27 2c 0a 27 e1 bd b0 27 20 3d 3e 20 27 e1 be ba 27 2c 0a 27 e1 bd b1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1693e0 be bb 27 2c 0a 27 e1 bd b2 27 20 3d 3e 20 27 e1 bf 88 27 2c 0a 27 e1 bd b3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169400 bf 89 27 2c 0a 27 e1 bd b4 27 20 3d 3e 20 27 e1 bf 8a 27 2c 0a 27 e1 bd b5 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169420 bf 8b 27 2c 0a 27 e1 bd b6 27 20 3d 3e 20 27 e1 bf 9a 27 2c 0a 27 e1 bd b7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169440 bf 9b 27 2c 0a 27 e1 bd b8 27 20 3d 3e 20 27 e1 bf b8 27 2c 0a 27 e1 bd b9 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169460 bf b9 27 2c 0a 27 e1 bd ba 27 20 3d 3e 20 27 e1 bf aa 27 2c 0a 27 e1 bd bb 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169480 bf ab 27 2c 0a 27 e1 bd bc 27 20 3d 3e 20 27 e1 bf ba 27 2c 0a 27 e1 bd bd 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1694a0 bf bb 27 2c 0a 27 e1 be 80 27 20 3d 3e 20 27 e1 be 88 27 2c 0a 27 e1 be 81 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1694c0 be 89 27 2c 0a 27 e1 be 82 27 20 3d 3e 20 27 e1 be 8a 27 2c 0a 27 e1 be 83 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1694e0 be 8b 27 2c 0a 27 e1 be 84 27 20 3d 3e 20 27 e1 be 8c 27 2c 0a 27 e1 be 85 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169500 be 8d 27 2c 0a 27 e1 be 86 27 20 3d 3e 20 27 e1 be 8e 27 2c 0a 27 e1 be 87 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169520 be 8f 27 2c 0a 27 e1 be 90 27 20 3d 3e 20 27 e1 be 98 27 2c 0a 27 e1 be 91 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169540 be 99 27 2c 0a 27 e1 be 92 27 20 3d 3e 20 27 e1 be 9a 27 2c 0a 27 e1 be 93 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169560 be 9b 27 2c 0a 27 e1 be 94 27 20 3d 3e 20 27 e1 be 9c 27 2c 0a 27 e1 be 95 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169580 be 9d 27 2c 0a 27 e1 be 96 27 20 3d 3e 20 27 e1 be 9e 27 2c 0a 27 e1 be 97 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1695a0 be 9f 27 2c 0a 27 e1 be a0 27 20 3d 3e 20 27 e1 be a8 27 2c 0a 27 e1 be a1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1695c0 be a9 27 2c 0a 27 e1 be a2 27 20 3d 3e 20 27 e1 be aa 27 2c 0a 27 e1 be a3 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1695e0 be ab 27 2c 0a 27 e1 be a4 27 20 3d 3e 20 27 e1 be ac 27 2c 0a 27 e1 be a5 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169600 be ad 27 2c 0a 27 e1 be a6 27 20 3d 3e 20 27 e1 be ae 27 2c 0a 27 e1 be a7 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169620 be af 27 2c 0a 27 e1 be b0 27 20 3d 3e 20 27 e1 be b8 27 2c 0a 27 e1 be b1 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
169640 be b9 27 2c 0a 27 e1 be b3 27 20 3d 3e 20 27 e1 be bc 27 2c 0a 27 e1 be be 27 20 3d 3e 20 27 ce ..',.'...'.=>.'...',.'...'.=>.'.
169660 99 27 2c 0a 27 e1 bf 83 27 20 3d 3e 20 27 e1 bf 8c 27 2c 0a 27 e1 bf 90 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
169680 98 27 2c 0a 27 e1 bf 91 27 20 3d 3e 20 27 e1 bf 99 27 2c 0a 27 e1 bf a0 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
1696a0 a8 27 2c 0a 27 e1 bf a1 27 20 3d 3e 20 27 e1 bf a9 27 2c 0a 27 e1 bf a5 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
1696c0 ac 27 2c 0a 27 e1 bf b3 27 20 3d 3e 20 27 e1 bf bc 27 2c 0a 27 e2 85 8e 27 20 3d 3e 20 27 e2 84 .',.'...'.=>.'...',.'...'.=>.'..
1696e0 b2 27 2c 0a 27 e2 85 b0 27 20 3d 3e 20 27 e2 85 a0 27 2c 0a 27 e2 85 b1 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
169700 a1 27 2c 0a 27 e2 85 b2 27 20 3d 3e 20 27 e2 85 a2 27 2c 0a 27 e2 85 b3 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
169720 a3 27 2c 0a 27 e2 85 b4 27 20 3d 3e 20 27 e2 85 a4 27 2c 0a 27 e2 85 b5 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
169740 a5 27 2c 0a 27 e2 85 b6 27 20 3d 3e 20 27 e2 85 a6 27 2c 0a 27 e2 85 b7 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
169760 a7 27 2c 0a 27 e2 85 b8 27 20 3d 3e 20 27 e2 85 a8 27 2c 0a 27 e2 85 b9 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
169780 a9 27 2c 0a 27 e2 85 ba 27 20 3d 3e 20 27 e2 85 aa 27 2c 0a 27 e2 85 bb 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
1697a0 ab 27 2c 0a 27 e2 85 bc 27 20 3d 3e 20 27 e2 85 ac 27 2c 0a 27 e2 85 bd 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
1697c0 ad 27 2c 0a 27 e2 85 be 27 20 3d 3e 20 27 e2 85 ae 27 2c 0a 27 e2 85 bf 27 20 3d 3e 20 27 e2 85 .',.'...'.=>.'...',.'...'.=>.'..
1697e0 af 27 2c 0a 27 e2 86 84 27 20 3d 3e 20 27 e2 86 83 27 2c 0a 27 e2 93 90 27 20 3d 3e 20 27 e2 92 .',.'...'.=>.'...',.'...'.=>.'..
169800 b6 27 2c 0a 27 e2 93 91 27 20 3d 3e 20 27 e2 92 b7 27 2c 0a 27 e2 93 92 27 20 3d 3e 20 27 e2 92 .',.'...'.=>.'...',.'...'.=>.'..
169820 b8 27 2c 0a 27 e2 93 93 27 20 3d 3e 20 27 e2 92 b9 27 2c 0a 27 e2 93 94 27 20 3d 3e 20 27 e2 92 .',.'...'.=>.'...',.'...'.=>.'..
169840 ba 27 2c 0a 27 e2 93 95 27 20 3d 3e 20 27 e2 92 bb 27 2c 0a 27 e2 93 96 27 20 3d 3e 20 27 e2 92 .',.'...'.=>.'...',.'...'.=>.'..
169860 bc 27 2c 0a 27 e2 93 97 27 20 3d 3e 20 27 e2 92 bd 27 2c 0a 27 e2 93 98 27 20 3d 3e 20 27 e2 92 .',.'...'.=>.'...',.'...'.=>.'..
169880 be 27 2c 0a 27 e2 93 99 27 20 3d 3e 20 27 e2 92 bf 27 2c 0a 27 e2 93 9a 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
1698a0 80 27 2c 0a 27 e2 93 9b 27 20 3d 3e 20 27 e2 93 81 27 2c 0a 27 e2 93 9c 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
1698c0 82 27 2c 0a 27 e2 93 9d 27 20 3d 3e 20 27 e2 93 83 27 2c 0a 27 e2 93 9e 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
1698e0 84 27 2c 0a 27 e2 93 9f 27 20 3d 3e 20 27 e2 93 85 27 2c 0a 27 e2 93 a0 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
169900 86 27 2c 0a 27 e2 93 a1 27 20 3d 3e 20 27 e2 93 87 27 2c 0a 27 e2 93 a2 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
169920 88 27 2c 0a 27 e2 93 a3 27 20 3d 3e 20 27 e2 93 89 27 2c 0a 27 e2 93 a4 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
169940 8a 27 2c 0a 27 e2 93 a5 27 20 3d 3e 20 27 e2 93 8b 27 2c 0a 27 e2 93 a6 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
169960 8c 27 2c 0a 27 e2 93 a7 27 20 3d 3e 20 27 e2 93 8d 27 2c 0a 27 e2 93 a8 27 20 3d 3e 20 27 e2 93 .',.'...'.=>.'...',.'...'.=>.'..
169980 8e 27 2c 0a 27 e2 93 a9 27 20 3d 3e 20 27 e2 93 8f 27 2c 0a 27 e2 b0 b0 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
1699a0 80 27 2c 0a 27 e2 b0 b1 27 20 3d 3e 20 27 e2 b0 81 27 2c 0a 27 e2 b0 b2 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
1699c0 82 27 2c 0a 27 e2 b0 b3 27 20 3d 3e 20 27 e2 b0 83 27 2c 0a 27 e2 b0 b4 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
1699e0 84 27 2c 0a 27 e2 b0 b5 27 20 3d 3e 20 27 e2 b0 85 27 2c 0a 27 e2 b0 b6 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169a00 86 27 2c 0a 27 e2 b0 b7 27 20 3d 3e 20 27 e2 b0 87 27 2c 0a 27 e2 b0 b8 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169a20 88 27 2c 0a 27 e2 b0 b9 27 20 3d 3e 20 27 e2 b0 89 27 2c 0a 27 e2 b0 ba 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169a40 8a 27 2c 0a 27 e2 b0 bb 27 20 3d 3e 20 27 e2 b0 8b 27 2c 0a 27 e2 b0 bc 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169a60 8c 27 2c 0a 27 e2 b0 bd 27 20 3d 3e 20 27 e2 b0 8d 27 2c 0a 27 e2 b0 be 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169a80 8e 27 2c 0a 27 e2 b0 bf 27 20 3d 3e 20 27 e2 b0 8f 27 2c 0a 27 e2 b1 80 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169aa0 90 27 2c 0a 27 e2 b1 81 27 20 3d 3e 20 27 e2 b0 91 27 2c 0a 27 e2 b1 82 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169ac0 92 27 2c 0a 27 e2 b1 83 27 20 3d 3e 20 27 e2 b0 93 27 2c 0a 27 e2 b1 84 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169ae0 94 27 2c 0a 27 e2 b1 85 27 20 3d 3e 20 27 e2 b0 95 27 2c 0a 27 e2 b1 86 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169b00 96 27 2c 0a 27 e2 b1 87 27 20 3d 3e 20 27 e2 b0 97 27 2c 0a 27 e2 b1 88 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169b20 98 27 2c 0a 27 e2 b1 89 27 20 3d 3e 20 27 e2 b0 99 27 2c 0a 27 e2 b1 8a 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169b40 9a 27 2c 0a 27 e2 b1 8b 27 20 3d 3e 20 27 e2 b0 9b 27 2c 0a 27 e2 b1 8c 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169b60 9c 27 2c 0a 27 e2 b1 8d 27 20 3d 3e 20 27 e2 b0 9d 27 2c 0a 27 e2 b1 8e 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169b80 9e 27 2c 0a 27 e2 b1 8f 27 20 3d 3e 20 27 e2 b0 9f 27 2c 0a 27 e2 b1 90 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169ba0 a0 27 2c 0a 27 e2 b1 91 27 20 3d 3e 20 27 e2 b0 a1 27 2c 0a 27 e2 b1 92 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169bc0 a2 27 2c 0a 27 e2 b1 93 27 20 3d 3e 20 27 e2 b0 a3 27 2c 0a 27 e2 b1 94 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169be0 a4 27 2c 0a 27 e2 b1 95 27 20 3d 3e 20 27 e2 b0 a5 27 2c 0a 27 e2 b1 96 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169c00 a6 27 2c 0a 27 e2 b1 97 27 20 3d 3e 20 27 e2 b0 a7 27 2c 0a 27 e2 b1 98 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169c20 a8 27 2c 0a 27 e2 b1 99 27 20 3d 3e 20 27 e2 b0 a9 27 2c 0a 27 e2 b1 9a 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169c40 aa 27 2c 0a 27 e2 b1 9b 27 20 3d 3e 20 27 e2 b0 ab 27 2c 0a 27 e2 b1 9c 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169c60 ac 27 2c 0a 27 e2 b1 9d 27 20 3d 3e 20 27 e2 b0 ad 27 2c 0a 27 e2 b1 9e 27 20 3d 3e 20 27 e2 b0 .',.'...'.=>.'...',.'...'.=>.'..
169c80 ae 27 2c 0a 27 e2 b1 a1 27 20 3d 3e 20 27 e2 b1 a0 27 2c 0a 27 e2 b1 a5 27 20 3d 3e 20 27 c8 ba .',.'...'.=>.'...',.'...'.=>.'..
169ca0 27 2c 0a 27 e2 b1 a6 27 20 3d 3e 20 27 c8 be 27 2c 0a 27 e2 b1 a8 27 20 3d 3e 20 27 e2 b1 a7 27 ',.'...'.=>.'..',.'...'.=>.'...'
169cc0 2c 0a 27 e2 b1 aa 27 20 3d 3e 20 27 e2 b1 a9 27 2c 0a 27 e2 b1 ac 27 20 3d 3e 20 27 e2 b1 ab 27 ,.'...'.=>.'...',.'...'.=>.'...'
169ce0 2c 0a 27 e2 b1 b3 27 20 3d 3e 20 27 e2 b1 b2 27 2c 0a 27 e2 b1 b6 27 20 3d 3e 20 27 e2 b1 b5 27 ,.'...'.=>.'...',.'...'.=>.'...'
169d00 2c 0a 27 e2 b2 81 27 20 3d 3e 20 27 e2 b2 80 27 2c 0a 27 e2 b2 83 27 20 3d 3e 20 27 e2 b2 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
169d20 2c 0a 27 e2 b2 85 27 20 3d 3e 20 27 e2 b2 84 27 2c 0a 27 e2 b2 87 27 20 3d 3e 20 27 e2 b2 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
169d40 2c 0a 27 e2 b2 89 27 20 3d 3e 20 27 e2 b2 88 27 2c 0a 27 e2 b2 8b 27 20 3d 3e 20 27 e2 b2 8a 27 ,.'...'.=>.'...',.'...'.=>.'...'
169d60 2c 0a 27 e2 b2 8d 27 20 3d 3e 20 27 e2 b2 8c 27 2c 0a 27 e2 b2 8f 27 20 3d 3e 20 27 e2 b2 8e 27 ,.'...'.=>.'...',.'...'.=>.'...'
169d80 2c 0a 27 e2 b2 91 27 20 3d 3e 20 27 e2 b2 90 27 2c 0a 27 e2 b2 93 27 20 3d 3e 20 27 e2 b2 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
169da0 2c 0a 27 e2 b2 95 27 20 3d 3e 20 27 e2 b2 94 27 2c 0a 27 e2 b2 97 27 20 3d 3e 20 27 e2 b2 96 27 ,.'...'.=>.'...',.'...'.=>.'...'
169dc0 2c 0a 27 e2 b2 99 27 20 3d 3e 20 27 e2 b2 98 27 2c 0a 27 e2 b2 9b 27 20 3d 3e 20 27 e2 b2 9a 27 ,.'...'.=>.'...',.'...'.=>.'...'
169de0 2c 0a 27 e2 b2 9d 27 20 3d 3e 20 27 e2 b2 9c 27 2c 0a 27 e2 b2 9f 27 20 3d 3e 20 27 e2 b2 9e 27 ,.'...'.=>.'...',.'...'.=>.'...'
169e00 2c 0a 27 e2 b2 a1 27 20 3d 3e 20 27 e2 b2 a0 27 2c 0a 27 e2 b2 a3 27 20 3d 3e 20 27 e2 b2 a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
169e20 2c 0a 27 e2 b2 a5 27 20 3d 3e 20 27 e2 b2 a4 27 2c 0a 27 e2 b2 a7 27 20 3d 3e 20 27 e2 b2 a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
169e40 2c 0a 27 e2 b2 a9 27 20 3d 3e 20 27 e2 b2 a8 27 2c 0a 27 e2 b2 ab 27 20 3d 3e 20 27 e2 b2 aa 27 ,.'...'.=>.'...',.'...'.=>.'...'
169e60 2c 0a 27 e2 b2 ad 27 20 3d 3e 20 27 e2 b2 ac 27 2c 0a 27 e2 b2 af 27 20 3d 3e 20 27 e2 b2 ae 27 ,.'...'.=>.'...',.'...'.=>.'...'
169e80 2c 0a 27 e2 b2 b1 27 20 3d 3e 20 27 e2 b2 b0 27 2c 0a 27 e2 b2 b3 27 20 3d 3e 20 27 e2 b2 b2 27 ,.'...'.=>.'...',.'...'.=>.'...'
169ea0 2c 0a 27 e2 b2 b5 27 20 3d 3e 20 27 e2 b2 b4 27 2c 0a 27 e2 b2 b7 27 20 3d 3e 20 27 e2 b2 b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
169ec0 2c 0a 27 e2 b2 b9 27 20 3d 3e 20 27 e2 b2 b8 27 2c 0a 27 e2 b2 bb 27 20 3d 3e 20 27 e2 b2 ba 27 ,.'...'.=>.'...',.'...'.=>.'...'
169ee0 2c 0a 27 e2 b2 bd 27 20 3d 3e 20 27 e2 b2 bc 27 2c 0a 27 e2 b2 bf 27 20 3d 3e 20 27 e2 b2 be 27 ,.'...'.=>.'...',.'...'.=>.'...'
169f00 2c 0a 27 e2 b3 81 27 20 3d 3e 20 27 e2 b3 80 27 2c 0a 27 e2 b3 83 27 20 3d 3e 20 27 e2 b3 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
169f20 2c 0a 27 e2 b3 85 27 20 3d 3e 20 27 e2 b3 84 27 2c 0a 27 e2 b3 87 27 20 3d 3e 20 27 e2 b3 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
169f40 2c 0a 27 e2 b3 89 27 20 3d 3e 20 27 e2 b3 88 27 2c 0a 27 e2 b3 8b 27 20 3d 3e 20 27 e2 b3 8a 27 ,.'...'.=>.'...',.'...'.=>.'...'
169f60 2c 0a 27 e2 b3 8d 27 20 3d 3e 20 27 e2 b3 8c 27 2c 0a 27 e2 b3 8f 27 20 3d 3e 20 27 e2 b3 8e 27 ,.'...'.=>.'...',.'...'.=>.'...'
169f80 2c 0a 27 e2 b3 91 27 20 3d 3e 20 27 e2 b3 90 27 2c 0a 27 e2 b3 93 27 20 3d 3e 20 27 e2 b3 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
169fa0 2c 0a 27 e2 b3 95 27 20 3d 3e 20 27 e2 b3 94 27 2c 0a 27 e2 b3 97 27 20 3d 3e 20 27 e2 b3 96 27 ,.'...'.=>.'...',.'...'.=>.'...'
169fc0 2c 0a 27 e2 b3 99 27 20 3d 3e 20 27 e2 b3 98 27 2c 0a 27 e2 b3 9b 27 20 3d 3e 20 27 e2 b3 9a 27 ,.'...'.=>.'...',.'...'.=>.'...'
169fe0 2c 0a 27 e2 b3 9d 27 20 3d 3e 20 27 e2 b3 9c 27 2c 0a 27 e2 b3 9f 27 20 3d 3e 20 27 e2 b3 9e 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a000 2c 0a 27 e2 b3 a1 27 20 3d 3e 20 27 e2 b3 a0 27 2c 0a 27 e2 b3 a3 27 20 3d 3e 20 27 e2 b3 a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a020 2c 0a 27 e2 b3 ac 27 20 3d 3e 20 27 e2 b3 ab 27 2c 0a 27 e2 b3 ae 27 20 3d 3e 20 27 e2 b3 ad 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a040 2c 0a 27 e2 b3 b3 27 20 3d 3e 20 27 e2 b3 b2 27 2c 0a 27 e2 b4 80 27 20 3d 3e 20 27 e1 82 a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a060 2c 0a 27 e2 b4 81 27 20 3d 3e 20 27 e1 82 a1 27 2c 0a 27 e2 b4 82 27 20 3d 3e 20 27 e1 82 a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a080 2c 0a 27 e2 b4 83 27 20 3d 3e 20 27 e1 82 a3 27 2c 0a 27 e2 b4 84 27 20 3d 3e 20 27 e1 82 a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a0a0 2c 0a 27 e2 b4 85 27 20 3d 3e 20 27 e1 82 a5 27 2c 0a 27 e2 b4 86 27 20 3d 3e 20 27 e1 82 a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a0c0 2c 0a 27 e2 b4 87 27 20 3d 3e 20 27 e1 82 a7 27 2c 0a 27 e2 b4 88 27 20 3d 3e 20 27 e1 82 a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a0e0 2c 0a 27 e2 b4 89 27 20 3d 3e 20 27 e1 82 a9 27 2c 0a 27 e2 b4 8a 27 20 3d 3e 20 27 e1 82 aa 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a100 2c 0a 27 e2 b4 8b 27 20 3d 3e 20 27 e1 82 ab 27 2c 0a 27 e2 b4 8c 27 20 3d 3e 20 27 e1 82 ac 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a120 2c 0a 27 e2 b4 8d 27 20 3d 3e 20 27 e1 82 ad 27 2c 0a 27 e2 b4 8e 27 20 3d 3e 20 27 e1 82 ae 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a140 2c 0a 27 e2 b4 8f 27 20 3d 3e 20 27 e1 82 af 27 2c 0a 27 e2 b4 90 27 20 3d 3e 20 27 e1 82 b0 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a160 2c 0a 27 e2 b4 91 27 20 3d 3e 20 27 e1 82 b1 27 2c 0a 27 e2 b4 92 27 20 3d 3e 20 27 e1 82 b2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a180 2c 0a 27 e2 b4 93 27 20 3d 3e 20 27 e1 82 b3 27 2c 0a 27 e2 b4 94 27 20 3d 3e 20 27 e1 82 b4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a1a0 2c 0a 27 e2 b4 95 27 20 3d 3e 20 27 e1 82 b5 27 2c 0a 27 e2 b4 96 27 20 3d 3e 20 27 e1 82 b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a1c0 2c 0a 27 e2 b4 97 27 20 3d 3e 20 27 e1 82 b7 27 2c 0a 27 e2 b4 98 27 20 3d 3e 20 27 e1 82 b8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a1e0 2c 0a 27 e2 b4 99 27 20 3d 3e 20 27 e1 82 b9 27 2c 0a 27 e2 b4 9a 27 20 3d 3e 20 27 e1 82 ba 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a200 2c 0a 27 e2 b4 9b 27 20 3d 3e 20 27 e1 82 bb 27 2c 0a 27 e2 b4 9c 27 20 3d 3e 20 27 e1 82 bc 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a220 2c 0a 27 e2 b4 9d 27 20 3d 3e 20 27 e1 82 bd 27 2c 0a 27 e2 b4 9e 27 20 3d 3e 20 27 e1 82 be 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a240 2c 0a 27 e2 b4 9f 27 20 3d 3e 20 27 e1 82 bf 27 2c 0a 27 e2 b4 a0 27 20 3d 3e 20 27 e1 83 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a260 2c 0a 27 e2 b4 a1 27 20 3d 3e 20 27 e1 83 81 27 2c 0a 27 e2 b4 a2 27 20 3d 3e 20 27 e1 83 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a280 2c 0a 27 e2 b4 a3 27 20 3d 3e 20 27 e1 83 83 27 2c 0a 27 e2 b4 a4 27 20 3d 3e 20 27 e1 83 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a2a0 2c 0a 27 e2 b4 a5 27 20 3d 3e 20 27 e1 83 85 27 2c 0a 27 e2 b4 a7 27 20 3d 3e 20 27 e1 83 87 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a2c0 2c 0a 27 e2 b4 ad 27 20 3d 3e 20 27 e1 83 8d 27 2c 0a 27 ea 99 81 27 20 3d 3e 20 27 ea 99 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a2e0 2c 0a 27 ea 99 83 27 20 3d 3e 20 27 ea 99 82 27 2c 0a 27 ea 99 85 27 20 3d 3e 20 27 ea 99 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a300 2c 0a 27 ea 99 87 27 20 3d 3e 20 27 ea 99 86 27 2c 0a 27 ea 99 89 27 20 3d 3e 20 27 ea 99 88 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a320 2c 0a 27 ea 99 8b 27 20 3d 3e 20 27 ea 99 8a 27 2c 0a 27 ea 99 8d 27 20 3d 3e 20 27 ea 99 8c 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a340 2c 0a 27 ea 99 8f 27 20 3d 3e 20 27 ea 99 8e 27 2c 0a 27 ea 99 91 27 20 3d 3e 20 27 ea 99 90 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a360 2c 0a 27 ea 99 93 27 20 3d 3e 20 27 ea 99 92 27 2c 0a 27 ea 99 95 27 20 3d 3e 20 27 ea 99 94 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a380 2c 0a 27 ea 99 97 27 20 3d 3e 20 27 ea 99 96 27 2c 0a 27 ea 99 99 27 20 3d 3e 20 27 ea 99 98 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a3a0 2c 0a 27 ea 99 9b 27 20 3d 3e 20 27 ea 99 9a 27 2c 0a 27 ea 99 9d 27 20 3d 3e 20 27 ea 99 9c 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a3c0 2c 0a 27 ea 99 9f 27 20 3d 3e 20 27 ea 99 9e 27 2c 0a 27 ea 99 a1 27 20 3d 3e 20 27 ea 99 a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a3e0 2c 0a 27 ea 99 a3 27 20 3d 3e 20 27 ea 99 a2 27 2c 0a 27 ea 99 a5 27 20 3d 3e 20 27 ea 99 a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a400 2c 0a 27 ea 99 a7 27 20 3d 3e 20 27 ea 99 a6 27 2c 0a 27 ea 99 a9 27 20 3d 3e 20 27 ea 99 a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a420 2c 0a 27 ea 99 ab 27 20 3d 3e 20 27 ea 99 aa 27 2c 0a 27 ea 99 ad 27 20 3d 3e 20 27 ea 99 ac 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a440 2c 0a 27 ea 9a 81 27 20 3d 3e 20 27 ea 9a 80 27 2c 0a 27 ea 9a 83 27 20 3d 3e 20 27 ea 9a 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a460 2c 0a 27 ea 9a 85 27 20 3d 3e 20 27 ea 9a 84 27 2c 0a 27 ea 9a 87 27 20 3d 3e 20 27 ea 9a 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a480 2c 0a 27 ea 9a 89 27 20 3d 3e 20 27 ea 9a 88 27 2c 0a 27 ea 9a 8b 27 20 3d 3e 20 27 ea 9a 8a 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a4a0 2c 0a 27 ea 9a 8d 27 20 3d 3e 20 27 ea 9a 8c 27 2c 0a 27 ea 9a 8f 27 20 3d 3e 20 27 ea 9a 8e 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a4c0 2c 0a 27 ea 9a 91 27 20 3d 3e 20 27 ea 9a 90 27 2c 0a 27 ea 9a 93 27 20 3d 3e 20 27 ea 9a 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a4e0 2c 0a 27 ea 9a 95 27 20 3d 3e 20 27 ea 9a 94 27 2c 0a 27 ea 9a 97 27 20 3d 3e 20 27 ea 9a 96 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a500 2c 0a 27 ea 9a 99 27 20 3d 3e 20 27 ea 9a 98 27 2c 0a 27 ea 9a 9b 27 20 3d 3e 20 27 ea 9a 9a 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a520 2c 0a 27 ea 9c a3 27 20 3d 3e 20 27 ea 9c a2 27 2c 0a 27 ea 9c a5 27 20 3d 3e 20 27 ea 9c a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a540 2c 0a 27 ea 9c a7 27 20 3d 3e 20 27 ea 9c a6 27 2c 0a 27 ea 9c a9 27 20 3d 3e 20 27 ea 9c a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a560 2c 0a 27 ea 9c ab 27 20 3d 3e 20 27 ea 9c aa 27 2c 0a 27 ea 9c ad 27 20 3d 3e 20 27 ea 9c ac 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a580 2c 0a 27 ea 9c af 27 20 3d 3e 20 27 ea 9c ae 27 2c 0a 27 ea 9c b3 27 20 3d 3e 20 27 ea 9c b2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a5a0 2c 0a 27 ea 9c b5 27 20 3d 3e 20 27 ea 9c b4 27 2c 0a 27 ea 9c b7 27 20 3d 3e 20 27 ea 9c b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a5c0 2c 0a 27 ea 9c b9 27 20 3d 3e 20 27 ea 9c b8 27 2c 0a 27 ea 9c bb 27 20 3d 3e 20 27 ea 9c ba 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a5e0 2c 0a 27 ea 9c bd 27 20 3d 3e 20 27 ea 9c bc 27 2c 0a 27 ea 9c bf 27 20 3d 3e 20 27 ea 9c be 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a600 2c 0a 27 ea 9d 81 27 20 3d 3e 20 27 ea 9d 80 27 2c 0a 27 ea 9d 83 27 20 3d 3e 20 27 ea 9d 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a620 2c 0a 27 ea 9d 85 27 20 3d 3e 20 27 ea 9d 84 27 2c 0a 27 ea 9d 87 27 20 3d 3e 20 27 ea 9d 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a640 2c 0a 27 ea 9d 89 27 20 3d 3e 20 27 ea 9d 88 27 2c 0a 27 ea 9d 8b 27 20 3d 3e 20 27 ea 9d 8a 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a660 2c 0a 27 ea 9d 8d 27 20 3d 3e 20 27 ea 9d 8c 27 2c 0a 27 ea 9d 8f 27 20 3d 3e 20 27 ea 9d 8e 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a680 2c 0a 27 ea 9d 91 27 20 3d 3e 20 27 ea 9d 90 27 2c 0a 27 ea 9d 93 27 20 3d 3e 20 27 ea 9d 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a6a0 2c 0a 27 ea 9d 95 27 20 3d 3e 20 27 ea 9d 94 27 2c 0a 27 ea 9d 97 27 20 3d 3e 20 27 ea 9d 96 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a6c0 2c 0a 27 ea 9d 99 27 20 3d 3e 20 27 ea 9d 98 27 2c 0a 27 ea 9d 9b 27 20 3d 3e 20 27 ea 9d 9a 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a6e0 2c 0a 27 ea 9d 9d 27 20 3d 3e 20 27 ea 9d 9c 27 2c 0a 27 ea 9d 9f 27 20 3d 3e 20 27 ea 9d 9e 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a700 2c 0a 27 ea 9d a1 27 20 3d 3e 20 27 ea 9d a0 27 2c 0a 27 ea 9d a3 27 20 3d 3e 20 27 ea 9d a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a720 2c 0a 27 ea 9d a5 27 20 3d 3e 20 27 ea 9d a4 27 2c 0a 27 ea 9d a7 27 20 3d 3e 20 27 ea 9d a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a740 2c 0a 27 ea 9d a9 27 20 3d 3e 20 27 ea 9d a8 27 2c 0a 27 ea 9d ab 27 20 3d 3e 20 27 ea 9d aa 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a760 2c 0a 27 ea 9d ad 27 20 3d 3e 20 27 ea 9d ac 27 2c 0a 27 ea 9d af 27 20 3d 3e 20 27 ea 9d ae 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a780 2c 0a 27 ea 9d ba 27 20 3d 3e 20 27 ea 9d b9 27 2c 0a 27 ea 9d bc 27 20 3d 3e 20 27 ea 9d bb 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a7a0 2c 0a 27 ea 9d bf 27 20 3d 3e 20 27 ea 9d be 27 2c 0a 27 ea 9e 81 27 20 3d 3e 20 27 ea 9e 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a7c0 2c 0a 27 ea 9e 83 27 20 3d 3e 20 27 ea 9e 82 27 2c 0a 27 ea 9e 85 27 20 3d 3e 20 27 ea 9e 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a7e0 2c 0a 27 ea 9e 87 27 20 3d 3e 20 27 ea 9e 86 27 2c 0a 27 ea 9e 8c 27 20 3d 3e 20 27 ea 9e 8b 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a800 2c 0a 27 ea 9e 91 27 20 3d 3e 20 27 ea 9e 90 27 2c 0a 27 ea 9e 93 27 20 3d 3e 20 27 ea 9e 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a820 2c 0a 27 ea 9e 97 27 20 3d 3e 20 27 ea 9e 96 27 2c 0a 27 ea 9e 99 27 20 3d 3e 20 27 ea 9e 98 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a840 2c 0a 27 ea 9e 9b 27 20 3d 3e 20 27 ea 9e 9a 27 2c 0a 27 ea 9e 9d 27 20 3d 3e 20 27 ea 9e 9c 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a860 2c 0a 27 ea 9e 9f 27 20 3d 3e 20 27 ea 9e 9e 27 2c 0a 27 ea 9e a1 27 20 3d 3e 20 27 ea 9e a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a880 2c 0a 27 ea 9e a3 27 20 3d 3e 20 27 ea 9e a2 27 2c 0a 27 ea 9e a5 27 20 3d 3e 20 27 ea 9e a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a8a0 2c 0a 27 ea 9e a7 27 20 3d 3e 20 27 ea 9e a6 27 2c 0a 27 ea 9e a9 27 20 3d 3e 20 27 ea 9e a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a8c0 2c 0a 27 ef bd 81 27 20 3d 3e 20 27 ef bc a1 27 2c 0a 27 ef bd 82 27 20 3d 3e 20 27 ef bc a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a8e0 2c 0a 27 ef bd 83 27 20 3d 3e 20 27 ef bc a3 27 2c 0a 27 ef bd 84 27 20 3d 3e 20 27 ef bc a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a900 2c 0a 27 ef bd 85 27 20 3d 3e 20 27 ef bc a5 27 2c 0a 27 ef bd 86 27 20 3d 3e 20 27 ef bc a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a920 2c 0a 27 ef bd 87 27 20 3d 3e 20 27 ef bc a7 27 2c 0a 27 ef bd 88 27 20 3d 3e 20 27 ef bc a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a940 2c 0a 27 ef bd 89 27 20 3d 3e 20 27 ef bc a9 27 2c 0a 27 ef bd 8a 27 20 3d 3e 20 27 ef bc aa 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a960 2c 0a 27 ef bd 8b 27 20 3d 3e 20 27 ef bc ab 27 2c 0a 27 ef bd 8c 27 20 3d 3e 20 27 ef bc ac 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a980 2c 0a 27 ef bd 8d 27 20 3d 3e 20 27 ef bc ad 27 2c 0a 27 ef bd 8e 27 20 3d 3e 20 27 ef bc ae 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a9a0 2c 0a 27 ef bd 8f 27 20 3d 3e 20 27 ef bc af 27 2c 0a 27 ef bd 90 27 20 3d 3e 20 27 ef bc b0 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a9c0 2c 0a 27 ef bd 91 27 20 3d 3e 20 27 ef bc b1 27 2c 0a 27 ef bd 92 27 20 3d 3e 20 27 ef bc b2 27 ,.'...'.=>.'...',.'...'.=>.'...'
16a9e0 2c 0a 27 ef bd 93 27 20 3d 3e 20 27 ef bc b3 27 2c 0a 27 ef bd 94 27 20 3d 3e 20 27 ef bc b4 27 ,.'...'.=>.'...',.'...'.=>.'...'
16aa00 2c 0a 27 ef bd 95 27 20 3d 3e 20 27 ef bc b5 27 2c 0a 27 ef bd 96 27 20 3d 3e 20 27 ef bc b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
16aa20 2c 0a 27 ef bd 97 27 20 3d 3e 20 27 ef bc b7 27 2c 0a 27 ef bd 98 27 20 3d 3e 20 27 ef bc b8 27 ,.'...'.=>.'...',.'...'.=>.'...'
16aa40 2c 0a 27 ef bd 99 27 20 3d 3e 20 27 ef bc b9 27 2c 0a 27 ef bd 9a 27 20 3d 3e 20 27 ef bc ba 27 ,.'...'.=>.'...',.'...'.=>.'...'
16aa60 2c 0a 27 f0 90 90 a8 27 20 3d 3e 20 27 f0 90 90 80 27 2c 0a 27 f0 90 90 a9 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16aa80 90 90 81 27 2c 0a 27 f0 90 90 aa 27 20 3d 3e 20 27 f0 90 90 82 27 2c 0a 27 f0 90 90 ab 27 20 3d ...',.'....'.=>.'....',.'....'.=
16aaa0 3e 20 27 f0 90 90 83 27 2c 0a 27 f0 90 90 ac 27 20 3d 3e 20 27 f0 90 90 84 27 2c 0a 27 f0 90 90 >.'....',.'....'.=>.'....',.'...
16aac0 ad 27 20 3d 3e 20 27 f0 90 90 85 27 2c 0a 27 f0 90 90 ae 27 20 3d 3e 20 27 f0 90 90 86 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16aae0 27 f0 90 90 af 27 20 3d 3e 20 27 f0 90 90 87 27 2c 0a 27 f0 90 90 b0 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
16ab00 88 27 2c 0a 27 f0 90 90 b1 27 20 3d 3e 20 27 f0 90 90 89 27 2c 0a 27 f0 90 90 b2 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16ab20 27 f0 90 90 8a 27 2c 0a 27 f0 90 90 b3 27 20 3d 3e 20 27 f0 90 90 8b 27 2c 0a 27 f0 90 90 b4 27 '....',.'....'.=>.'....',.'....'
16ab40 20 3d 3e 20 27 f0 90 90 8c 27 2c 0a 27 f0 90 90 b5 27 20 3d 3e 20 27 f0 90 90 8d 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16ab60 90 90 b6 27 20 3d 3e 20 27 f0 90 90 8e 27 2c 0a 27 f0 90 90 b7 27 20 3d 3e 20 27 f0 90 90 8f 27 ...'.=>.'....',.'....'.=>.'....'
16ab80 2c 0a 27 f0 90 90 b8 27 20 3d 3e 20 27 f0 90 90 90 27 2c 0a 27 f0 90 90 b9 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16aba0 90 90 91 27 2c 0a 27 f0 90 90 ba 27 20 3d 3e 20 27 f0 90 90 92 27 2c 0a 27 f0 90 90 bb 27 20 3d ...',.'....'.=>.'....',.'....'.=
16abc0 3e 20 27 f0 90 90 93 27 2c 0a 27 f0 90 90 bc 27 20 3d 3e 20 27 f0 90 90 94 27 2c 0a 27 f0 90 90 >.'....',.'....'.=>.'....',.'...
16abe0 bd 27 20 3d 3e 20 27 f0 90 90 95 27 2c 0a 27 f0 90 90 be 27 20 3d 3e 20 27 f0 90 90 96 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16ac00 27 f0 90 90 bf 27 20 3d 3e 20 27 f0 90 90 97 27 2c 0a 27 f0 90 91 80 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
16ac20 98 27 2c 0a 27 f0 90 91 81 27 20 3d 3e 20 27 f0 90 90 99 27 2c 0a 27 f0 90 91 82 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16ac40 27 f0 90 90 9a 27 2c 0a 27 f0 90 91 83 27 20 3d 3e 20 27 f0 90 90 9b 27 2c 0a 27 f0 90 91 84 27 '....',.'....'.=>.'....',.'....'
16ac60 20 3d 3e 20 27 f0 90 90 9c 27 2c 0a 27 f0 90 91 85 27 20 3d 3e 20 27 f0 90 90 9d 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16ac80 90 91 86 27 20 3d 3e 20 27 f0 90 90 9e 27 2c 0a 27 f0 90 91 87 27 20 3d 3e 20 27 f0 90 90 9f 27 ...'.=>.'....',.'....'.=>.'....'
16aca0 2c 0a 27 f0 90 91 88 27 20 3d 3e 20 27 f0 90 90 a0 27 2c 0a 27 f0 90 91 89 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16acc0 90 90 a1 27 2c 0a 27 f0 90 91 8a 27 20 3d 3e 20 27 f0 90 90 a2 27 2c 0a 27 f0 90 91 8b 27 20 3d ...',.'....'.=>.'....',.'....'.=
16ace0 3e 20 27 f0 90 90 a3 27 2c 0a 27 f0 90 91 8c 27 20 3d 3e 20 27 f0 90 90 a4 27 2c 0a 27 f0 90 91 >.'....',.'....'.=>.'....',.'...
16ad00 8d 27 20 3d 3e 20 27 f0 90 90 a5 27 2c 0a 27 f0 90 91 8e 27 20 3d 3e 20 27 f0 90 90 a6 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16ad20 27 f0 90 91 8f 27 20 3d 3e 20 27 f0 90 90 a7 27 2c 0a 27 f0 91 a3 80 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
16ad40 a0 27 2c 0a 27 f0 91 a3 81 27 20 3d 3e 20 27 f0 91 a2 a1 27 2c 0a 27 f0 91 a3 82 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16ad60 27 f0 91 a2 a2 27 2c 0a 27 f0 91 a3 83 27 20 3d 3e 20 27 f0 91 a2 a3 27 2c 0a 27 f0 91 a3 84 27 '....',.'....'.=>.'....',.'....'
16ad80 20 3d 3e 20 27 f0 91 a2 a4 27 2c 0a 27 f0 91 a3 85 27 20 3d 3e 20 27 f0 91 a2 a5 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16ada0 91 a3 86 27 20 3d 3e 20 27 f0 91 a2 a6 27 2c 0a 27 f0 91 a3 87 27 20 3d 3e 20 27 f0 91 a2 a7 27 ...'.=>.'....',.'....'.=>.'....'
16adc0 2c 0a 27 f0 91 a3 88 27 20 3d 3e 20 27 f0 91 a2 a8 27 2c 0a 27 f0 91 a3 89 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16ade0 91 a2 a9 27 2c 0a 27 f0 91 a3 8a 27 20 3d 3e 20 27 f0 91 a2 aa 27 2c 0a 27 f0 91 a3 8b 27 20 3d ...',.'....'.=>.'....',.'....'.=
16ae00 3e 20 27 f0 91 a2 ab 27 2c 0a 27 f0 91 a3 8c 27 20 3d 3e 20 27 f0 91 a2 ac 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
16ae20 8d 27 20 3d 3e 20 27 f0 91 a2 ad 27 2c 0a 27 f0 91 a3 8e 27 20 3d 3e 20 27 f0 91 a2 ae 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16ae40 27 f0 91 a3 8f 27 20 3d 3e 20 27 f0 91 a2 af 27 2c 0a 27 f0 91 a3 90 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
16ae60 b0 27 2c 0a 27 f0 91 a3 91 27 20 3d 3e 20 27 f0 91 a2 b1 27 2c 0a 27 f0 91 a3 92 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16ae80 27 f0 91 a2 b2 27 2c 0a 27 f0 91 a3 93 27 20 3d 3e 20 27 f0 91 a2 b3 27 2c 0a 27 f0 91 a3 94 27 '....',.'....'.=>.'....',.'....'
16aea0 20 3d 3e 20 27 f0 91 a2 b4 27 2c 0a 27 f0 91 a3 95 27 20 3d 3e 20 27 f0 91 a2 b5 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16aec0 91 a3 96 27 20 3d 3e 20 27 f0 91 a2 b6 27 2c 0a 27 f0 91 a3 97 27 20 3d 3e 20 27 f0 91 a2 b7 27 ...'.=>.'....',.'....'.=>.'....'
16aee0 2c 0a 27 f0 91 a3 98 27 20 3d 3e 20 27 f0 91 a2 b8 27 2c 0a 27 f0 91 a3 99 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16af00 91 a2 b9 27 2c 0a 27 f0 91 a3 9a 27 20 3d 3e 20 27 f0 91 a2 ba 27 2c 0a 27 f0 91 a3 9b 27 20 3d ...',.'....'.=>.'....',.'....'.=
16af20 3e 20 27 f0 91 a2 bb 27 2c 0a 27 f0 91 a3 9c 27 20 3d 3e 20 27 f0 91 a2 bc 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
16af40 9d 27 20 3d 3e 20 27 f0 91 a2 bd 27 2c 0a 27 f0 91 a3 9e 27 20 3d 3e 20 27 f0 91 a2 be 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16af60 27 f0 91 a3 9f 27 20 3d 3e 20 27 f0 91 a2 bf 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a '....'.=>.'....',.);.<?php......
16af80 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 4d 62 73 74 72 69 .....use.Symfony\Polyfill\Mbstri
16afa0 6e 67 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 ng.as.p;..if.(!function_exists('
16afc0 6d 62 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 55 mb_strlen')).{.define('MB_CASE_U
16afe0 50 50 45 52 27 2c 20 30 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 PPER',.0);.define('MB_CASE_LOWER
16b000 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 54 49 54 4c 45 27 2c 20 32 ',.1);.define('MB_CASE_TITLE',.2
16b020 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 );..function.mb_convert_encoding
16b040 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e ($s,.$to,.$from.=.null).{.return
16b060 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 .p\Mbstring::mb_convert_encoding
16b080 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ($s,.$to,.$from);.}.function.mb_
16b0a0 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 20 7b 20 72 65 74 75 72 6e 20 70 decode_mimeheader($s).{.return.p
16b0c0 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 \Mbstring::mb_decode_mimeheader(
16b0e0 24 73 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 $s);.}.function.mb_encode_mimehe
16b100 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 ader($s,.$charset.=.null,.$trans
16b120 66 65 72 45 6e 63 20 3d 20 6e 75 6c 6c 2c 20 24 6c 66 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 65 ferEnc.=.null,.$lf.=.null,.$inde
16b140 6e 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a nt.=.null).{.return.p\Mbstring::
16b160 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 mb_encode_mimeheader($s,.$charse
16b180 74 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 2c 20 24 6c 66 2c 20 24 69 6e 64 65 6e 74 29 3b 20 t,.$transferEnc,.$lf,.$indent);.
16b1a0 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 }.function.mb_decode_numericenti
16b1c0 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 ty($s,.$convmap,.$enc.=.null).{.
16b1e0 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d return.p\Mbstring::mb_decode_num
16b200 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 29 3b 20 ericentity($s,.$convmap,.$enc);.
16b220 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 }.function.mb_encode_numericenti
16b240 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 2c 20 24 69 ty($s,.$convmap,.$enc.=.null,.$i
16b260 73 5f 68 65 78 20 3d 20 66 61 6c 73 65 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 s_hex.=.false).{.return.p\Mbstri
16b280 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 ng::mb_encode_numericentity($s,.
16b2a0 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 2c 20 24 69 73 5f 68 65 78 29 3b 20 7d 0a 66 75 6e 63 $convmap,.$enc,.$is_hex);.}.func
16b2c0 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 tion.mb_convert_case($s,.$mode,.
16b2e0 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 $enc.=.null).{.return.p\Mbstring
16b300 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e ::mb_convert_case($s,.$mode,.$en
16b320 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 c);.}.function.mb_internal_encod
16b340 69 6e 67 28 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 ing($enc.=.null).{.return.p\Mbst
16b360 72 69 6e 67 3a 3a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 65 6e 63 29 ring::mb_internal_encoding($enc)
16b380 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 20 3d ;.}.function.mb_language($lang.=
16b3a0 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6c .null).{.return.p\Mbstring::mb_l
16b3c0 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 anguage($lang);.}.function.mb_li
16b3e0 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 st_encodings().{.return.p\Mbstri
16b400 6e 67 3a 3a 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 3b 20 7d 0a 66 75 6e 63 74 ng::mb_list_encodings();.}.funct
16b420 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e ion.mb_encoding_aliases($encodin
16b440 67 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 g).{.return.p\Mbstring::mb_encod
16b460 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 ing_aliases($encoding);.}.functi
16b480 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 20 3d 20 6e 75 6c 6c on.mb_check_encoding($var.=.null
16b4a0 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d ,.$encoding.=.null).{.return.p\M
16b4c0 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c bstring::mb_check_encoding($var,
16b4e0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 .$encoding);.}.function.mb_detec
16b500 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d t_encoding($str,.$encodingList.=
16b520 20 6e 75 6c 6c 2c 20 24 73 74 72 69 63 74 20 3d 20 66 61 6c 73 65 29 20 7b 20 72 65 74 75 72 6e .null,.$strict.=.false).{.return
16b540 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 .p\Mbstring::mb_detect_encoding(
16b560 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 20 24 73 74 72 69 63 74 29 3b 20 7d $str,.$encodingList,.$strict);.}
16b580 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 .function.mb_detect_order($encod
16b5a0 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 ingList.=.null).{.return.p\Mbstr
16b5c0 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 69 6e 67 4c 69 ing::mb_detect_order($encodingLi
16b5e0 73 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 70 61 72 73 65 5f 73 74 72 28 24 73 2c st);.}.function.mb_parse_str($s,
16b600 20 26 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 29 20 7b 20 70 61 72 73 65 5f 73 74 72 .&$result.=.array()).{.parse_str
16b620 28 24 73 2c 20 24 72 65 73 75 6c 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 ($s,.$result);.}.function.mb_str
16b640 6c 65 6e 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c len($s,.$enc.=.null).{.return.p\
16b660 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d Mbstring::mb_strlen($s,.$enc);.}
16b680 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c .function.mb_strpos($s,.$needle,
16b6a0 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 .$offset.=.0,.$enc.=.null).{.ret
16b6c0 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 24 6e urn.p\Mbstring::mb_strpos($s,.$n
16b6e0 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f eedle,.$offset,.$enc);.}.functio
16b700 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 n.mb_strtolower($s,.$enc.=.null)
16b720 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 74 6f 6c 6f .{.return.p\Mbstring::mb_strtolo
16b740 77 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 wer($s,.$enc);.}.function.mb_str
16b760 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 toupper($s,.$enc.=.null).{.retur
16b780 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 n.p\Mbstring::mb_strtoupper($s,.
16b7a0 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f $enc);.}.function.mb_substitute_
16b7c0 63 68 61 72 61 63 74 65 72 28 24 63 68 61 72 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e character($char.=.null).{.return
16b7e0 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 .p\Mbstring::mb_substitute_chara
16b800 63 74 65 72 28 24 63 68 61 72 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 cter($char);.}.function.mb_subst
16b820 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 r($s,.$start,.$length.=.21474836
16b840 34 37 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 47,.$enc.=.null).{.return.p\Mbst
16b860 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e ring::mb_substr($s,.$start,.$len
16b880 67 74 68 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 70 6f gth,.$enc);.}.function.mb_stripo
16b8a0 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 s($s,.$needle,.$offset.=.0,.$enc
16b8c0 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 .=.null).{.return.p\Mbstring::mb
16b8e0 5f 73 74 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 _stripos($s,.$needle,.$offset,.$
16b900 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 73 74 72 28 24 73 2c 20 enc);.}.function.mb_stristr($s,.
16b920 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e $needle,.$part.=.false,.$enc.=.n
16b940 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 ull).{.return.p\Mbstring::mb_str
16b960 69 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 istr($s,.$needle,.$part,.$enc);.
16b980 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 63 68 72 28 24 73 2c 20 24 6e 65 65 64 6c }.function.mb_strrchr($s,.$needl
16b9a0 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b e,.$part.=.false,.$enc.=.null).{
16b9c0 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 63 68 72 28 24 .return.p\Mbstring::mb_strrchr($
16b9e0 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 s,.$needle,.$part,.$enc);.}.func
16ba00 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 tion.mb_strrichr($s,.$needle,.$p
16ba20 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 art.=.false,.$enc.=.null).{.retu
16ba40 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 rn.p\Mbstring::mb_strrichr($s,.$
16ba60 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e needle,.$part,.$enc);.}.function
16ba80 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 .mb_strripos($s,.$needle,.$offse
16baa0 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d t.=.0,.$enc.=.null).{.return.p\M
16bac0 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 bstring::mb_strripos($s,.$needle
16bae0 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ,.$offset,.$enc);.}.function.mb_
16bb00 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 strrpos($s,.$needle,.$offset.=.0
16bb20 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 ,.$enc.=.null).{.return.p\Mbstri
16bb40 6e 67 3a 3a 6d 62 5f 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 ng::mb_strrpos($s,.$needle,.$off
16bb60 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 73 74 72 set,.$enc);.}.function.mb_strstr
16bb80 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e ($s,.$needle,.$part.=.false,.$en
16bba0 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d c.=.null).{.return.p\Mbstring::m
16bbc0 62 5f 73 74 72 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e b_strstr($s,.$needle,.$part,.$en
16bbe0 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 c);.}.function.mb_get_info($type
16bc00 20 3d 20 27 61 6c 6c 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d .=.'all').{.return.p\Mbstring::m
16bc20 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 b_get_info($type);.}.function.mb
16bc40 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 _http_output($enc.=.null).{.retu
16bc60 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 rn.p\Mbstring::mb_http_output($e
16bc80 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 nc);.}.function.mb_strwidth($s,.
16bca0 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 $enc.=.null).{.return.p\Mbstring
16bcc0 3a 3a 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 ::mb_strwidth($s,.$enc);.}.funct
16bce0 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 ion.mb_substr_count($haystack,.$
16bd00 6e 65 65 64 6c 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c needle,.$enc.=.null).{.return.p\
16bd20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 Mbstring::mb_substr_count($hayst
16bd40 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 ack,.$needle,.$enc);.}.function.
16bd60 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 mb_output_handler($contents,.$st
16bd80 61 74 75 73 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6f 75 atus).{.return.p\Mbstring::mb_ou
16bda0 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 61 74 75 73 29 tput_handler($contents,.$status)
16bdc0 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 ;.}.function.mb_http_input($type
16bde0 20 3d 20 27 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 .=.'').{.return.p\Mbstring::mb_h
16be00 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ttp_input($type);.}.function.mb_
16be20 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 convert_variables($toEncoding,.$
16be40 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 26 24 61 20 3d 20 6e 75 6c 6c 2c 20 26 24 62 20 3d 20 fromEncoding,.&$a.=.null,.&$b.=.
16be60 6e 75 6c 6c 2c 20 26 24 63 20 3d 20 6e 75 6c 6c 2c 20 26 24 64 20 3d 20 6e 75 6c 6c 2c 20 26 24 null,.&$c.=.null,.&$d.=.null,.&$
16be80 65 20 3d 20 6e 75 6c 6c 2c 20 26 24 66 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 e.=.null,.&$f.=.null).{.return.p
16bea0 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 \Mbstring::mb_convert_variables(
16bec0 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 24 61 2c 20 $toEncoding,.$fromEncoding,.$a,.
16bee0 24 62 2c 20 24 63 2c 20 24 64 2c 20 24 65 2c 20 24 66 29 3b 20 7d 0a 7d 0a 69 66 20 28 21 66 75 $b,.$c,.$d,.$e,.$f);.}.}.if.(!fu
16bf00 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 63 68 72 27 29 29 20 7b 0a 66 75 6e 63 74 nction_exists('mb_chr')).{.funct
16bf20 69 6f 6e 20 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 ion.mb_ord($s,.$enc.=.null).{.re
16bf40 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 turn.p\Mbstring::mb_ord($s,.$enc
16bf60 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 );.}.function.mb_chr($code,.$enc
16bf80 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 .=.null).{.return.p\Mbstring::mb
16bfa0 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 _chr($code,.$enc);.}.function.mb
16bfc0 5f 73 63 72 75 62 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 24 65 6e 63 20 3d _scrub($s,.$enc.=.null).{.$enc.=
16bfe0 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 20 3f 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 .null.===.$enc.?.mb_internal_enc
16c000 6f 64 69 6e 67 28 29 20 3a 20 24 65 6e 63 3b 20 72 65 74 75 72 6e 20 6d 62 5f 63 6f 6e 76 65 72 oding().:.$enc;.return.mb_conver
16c020 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 65 6e 63 2c 20 24 65 6e 63 29 3b 20 7d 0a 7d 0a t_encoding($s,.$enc,.$enc);.}.}.
16c040 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
16c060 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a y\Component\Process\Exception;..
16c080 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 .....interface.ExceptionInterfac
16c0a0 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 e.{.}.<?php...........namespace.
16c0c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 Symfony\Component\Process\Except
16c0e0 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ion;.......class.InvalidArgument
16c100 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 Exception.extends.\InvalidArgume
16c120 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e ntException.implements.Exception
16c140 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 Interface.{.}.<?php...........na
16c160 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 mespace.Symfony\Component\Proces
16c180 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 s\Exception;.......class.LogicEx
16c1a0 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 ception.extends.\LogicException.
16c1c0 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a implements.ExceptionInterface.{.
16c1e0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
16c200 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b ony\Component\Process\Exception;
16c220 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ..use.Symfony\Component\Process\
16c240 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 46 61 69 6c Process;.......class.ProcessFail
16c260 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 edException.extends.RuntimeExcep
16c280 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 tion.{.private.$process;..public
16c2a0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 .function.__construct(Process.$p
16c2c0 72 6f 63 65 73 73 29 0a 7b 0a 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 rocess).{.if.($process->isSucces
16c2e0 73 66 75 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d sful()).{.throw.new.InvalidArgum
16c300 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 61 20 66 61 69 6c 65 64 20 entException('Expected.a.failed.
16c320 70 72 6f 63 65 73 73 2c 20 62 75 74 20 74 68 65 20 67 69 76 65 6e 20 70 72 6f 63 65 73 73 20 77 process,.but.the.given.process.w
16c340 61 73 20 73 75 63 63 65 73 73 66 75 6c 2e 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 73 70 as.successful.');.}..$error.=.sp
16c360 72 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 22 25 73 22 20 66 61 69 6c 65 64 2e 27 rintf('The.command."%s".failed.'
16c380 2e 22 5c 6e 5c 6e 45 78 69 74 20 43 6f 64 65 3a 20 25 73 28 25 73 29 5c 6e 5c 6e 57 6f 72 6b 69 ."\n\nExit.Code:.%s(%s)\n\nWorki
16c3a0 6e 67 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 ng.directory:.%s",.$process->get
16c3c0 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 CommandLine(),.$process->getExit
16c3e0 43 6f 64 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 Code(),.$process->getExitCodeTex
16c400 74 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f t(),.$process->getWorkingDirecto
16c420 72 79 28 29 0a 29 3b 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 ry().);..if.(!$process->isOutput
16c440 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 2e 3d 20 73 70 72 69 6e 74 66 28 Disabled()).{.$error..=.sprintf(
16c460 22 5c 6e 5c 6e 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e "\n\nOutput:\n================\n
16c480 25 73 5c 6e 5c 6e 45 72 72 6f 72 20 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d %s\n\nError.Output:\n===========
16c4a0 3d 3d 3d 3d 3d 5c 6e 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 =====\n%s",.$process->getOutput(
16c4c0 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b ),.$process->getErrorOutput().);
16c4e0 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 72 72 6f 72 29 3b .}..parent::__construct($error);
16c500 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a ..$this->process.=.$process;.}..
16c520 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a 72 public.function.getProcess().{.r
16c540 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a eturn.$this->process;.}.}.<?php.
16c560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
16c580 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 onent\Process\Exception;..use.Sy
16c5a0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b mfony\Component\Process\Process;
16c5c0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 .......class.ProcessTimedOutExce
16c5e0 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b ption.extends.RuntimeException.{
16c600 0a 63 6f 6e 73 74 20 54 59 50 45 5f 47 45 4e 45 52 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 .const.TYPE_GENERAL.=.1;.const.T
16c620 59 50 45 5f 49 44 4c 45 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b YPE_IDLE.=.2;..private.$process;
16c640 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 75 62 6c 69 63 20 66 .private.$timeoutType;..public.f
16c660 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 72 6f unction.__construct(Process.$pro
16c680 63 65 73 73 2c 20 24 74 69 6d 65 6f 75 74 54 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f cess,.$timeoutType).{.$this->pro
16c6a0 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 cess.=.$process;.$this->timeoutT
16c6c0 79 70 65 20 3d 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 ype.=.$timeoutType;..parent::__c
16c6e0 6f 6e 73 74 72 75 63 74 28 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 70 72 6f 63 65 73 73 20 22 onstruct(sprintf(.'The.process."
16c700 25 73 22 20 65 78 63 65 65 64 65 64 20 74 68 65 20 74 69 6d 65 6f 75 74 20 6f 66 20 25 73 20 73 %s".exceeded.the.timeout.of.%s.s
16c720 65 63 6f 6e 64 73 2e 27 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 econds.',.$process->getCommandLi
16c740 6e 65 28 29 2c 0a 24 74 68 69 73 2d 3e 67 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 ne(),.$this->getExceededTimeout(
16c760 29 0a 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 ).));.}..public.function.getProc
16c780 65 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d ess().{.return.$this->process;.}
16c7a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 47 65 6e 65 72 61 6c 54 69 6d 65 6f ..public.function.isGeneralTimeo
16c7c0 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 45 4e 45 52 41 4c ut().{.return.self::TYPE_GENERAL
16c7e0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c .===.$this->timeoutType;.}..publ
16c800 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 ic.function.isIdleTimeout().{.re
16c820 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 49 44 4c 45 20 3d 3d 3d 20 24 74 68 69 73 2d 3e turn.self::TYPE_IDLE.===.$this->
16c840 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 timeoutType;.}..public.function.
16c860 67 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 getExceededTimeout().{.switch.($
16c880 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a this->timeoutType).{.case.self::
16c8a0 54 59 50 45 5f 47 45 4e 45 52 41 4c 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 TYPE_GENERAL:.return.$this->proc
16c8c0 65 73 73 2d 3e 67 65 74 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 54 ess->getTimeout();..case.self::T
16c8e0 59 50 45 5f 49 44 4c 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d YPE_IDLE:.return.$this->process-
16c900 3e 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 >getIdleTimeout();..default:.thr
16c920 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 ow.new.\LogicException(sprintf('
16c940 55 6e 6b 6e 6f 77 6e 20 74 69 6d 65 6f 75 74 20 74 79 70 65 20 22 25 64 22 2e 27 2c 20 24 74 68 Unknown.timeout.type."%d".',.$th
16c960 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a is->timeoutType));.}.}.}.<?php..
16c980 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
16c9a0 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c nent\Process\Exception;.......cl
16c9c0 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 ass.RuntimeException.extends.\Ru
16c9e0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 ntimeException.implements.Except
16ca00 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ionInterface.{.}.<?php..........
16ca20 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f .namespace.Symfony\Component\Pro
16ca40 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e cess;........class.ExecutableFin
16ca60 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 der.{.private.$suffixes.=.array(
16ca80 27 2e 65 78 65 27 2c 20 27 2e 62 61 74 27 2c 20 27 2e 63 6d 64 27 2c 20 27 2e 63 6f 6d 27 29 3b '.exe',.'.bat',.'.cmd',.'.com');
16caa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 66 66 69 78 65 73 .....public.function.setSuffixes
16cac0 28 61 72 72 61 79 20 24 73 75 66 66 69 78 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 66 66 69 (array.$suffixes).{.$this->suffi
16cae0 78 65 73 20 3d 20 24 73 75 66 66 69 78 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 xes.=.$suffixes;.}.......public.
16cb00 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 66 66 69 78 28 24 73 75 66 66 69 78 29 0a 7b 0a 24 74 function.addSuffix($suffix).{.$t
16cb20 68 69 73 2d 3e 73 75 66 66 69 78 65 73 5b 5d 20 3d 20 24 73 75 66 66 69 78 3b 0a 7d 0a 0a 0a 0a his->suffixes[].=.$suffix;.}....
16cb40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d .......public.function.find($nam
16cb60 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 78 74 72 61 e,.$default.=.null,.array.$extra
16cb80 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 6f Dirs.=.array()).{.if.(ini_get('o
16cba0 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 20 7b 0a 24 73 65 61 72 63 68 50 61 74 68 20 3d 20 65 pen_basedir')).{.$searchPath.=.e
16cbc0 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 69 6e 69 5f 67 65 74 28 27 xplode(PATH_SEPARATOR,.ini_get('
16cbe0 6f 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 3b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 open_basedir'));.$dirs.=.array()
16cc00 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 72 63 68 50 61 74 68 20 61 73 20 24 70 61 74 68 29 ;.foreach.($searchPath.as.$path)
16cc20 20 7b 0a 0a 20 69 66 20 28 40 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 64 69 72 73 .{...if.(@is_dir($path)).{.$dirs
16cc40 5b 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 62 61 73 65 6e 61 6d [].=.$path;.}.else.{.if.(basenam
16cc60 65 28 24 70 61 74 68 29 20 3d 3d 20 24 6e 61 6d 65 20 26 26 20 40 69 73 5f 65 78 65 63 75 74 61 e($path).==.$name.&&.@is_executa
16cc80 62 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a ble($path)).{.return.$path;.}.}.
16cca0 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a }.}.else.{.$dirs.=.array_merge(.
16ccc0 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 67 65 74 65 6e 76 28 27 explode(PATH_SEPARATOR,.getenv('
16cce0 50 41 54 48 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 50 61 74 68 27 29 29 2c 0a 24 65 78 74 72 PATH').?:.getenv('Path')),.$extr
16cd00 61 44 69 72 73 0a 29 3b 0a 7d 0a 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 27 27 aDirs.);.}..$suffixes.=.array(''
16cd20 29 3b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 );.if.('\\'.===.\DIRECTORY_SEPAR
16cd40 41 54 4f 52 29 20 7b 0a 24 70 61 74 68 45 78 74 20 3d 20 67 65 74 65 6e 76 28 27 50 41 54 48 45 ATOR).{.$pathExt.=.getenv('PATHE
16cd60 58 54 27 29 3b 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 XT');.$suffixes.=.array_merge($p
16cd80 61 74 68 45 78 74 20 3f 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c athExt.?.explode(PATH_SEPARATOR,
16cda0 20 24 70 61 74 68 45 78 74 29 20 3a 20 24 74 68 69 73 2d 3e 73 75 66 66 69 78 65 73 2c 20 24 73 .$pathExt).:.$this->suffixes,.$s
16cdc0 75 66 66 69 78 65 73 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 73 75 66 66 69 78 65 73 20 61 uffixes);.}.foreach.($suffixes.a
16cde0 73 20 24 73 75 66 66 69 78 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 s.$suffix).{.foreach.($dirs.as.$
16ce00 64 69 72 29 20 7b 0a 69 66 20 28 40 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 20 3d 20 24 64 69 72 dir).{.if.(@is_file($file.=.$dir
16ce20 2e 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2e 24 6e 61 6d 65 2e 24 73 75 66 .\DIRECTORY_SEPARATOR.$name.$suf
16ce40 66 69 78 29 20 26 26 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 fix).&&.('\\'.===.\DIRECTORY_SEP
16ce60 41 52 41 54 4f 52 20 7c 7c 20 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 66 69 6c 65 29 29 ARATOR.||.@is_executable($file))
16ce80 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 ).{.return.$file;.}.}.}..return.
16cea0 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 $default;.}.}.Copyright.(c).2004
16cec0 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 -2018.Fabien.Potencier..Permissi
16cee0 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 on.is.hereby.granted,.free.of.ch
16cf00 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 arge,.to.any.person.obtaining.a.
16cf20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 copy.of.this.software.and.associ
16cf40 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 ated.documentation.files.(the."S
16cf60 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 oftware"),.to.deal.in.the.Softwa
16cf80 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e re.without.restriction,.includin
16cfa0 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a g.without.limitation.the.rights.
16cfc0 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 to.use,.copy,.modify,.merge,.pub
16cfe0 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e lish,.distribute,.sublicense,.an
16d000 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 d/or.sell.copies.of.the.Software
16d020 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 ,.and.to.permit.persons.to.whom.
16d040 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 the.Software.is.furnished.to.do.
16d060 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e so,.subject.to.the.following.con
16d080 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f ditions:..The.above.copyright.no
16d0a0 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 tice.and.this.permission.notice.
16d0c0 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 shall.be.included.in.all.copies.
16d0e0 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 or.substantial.portions.of.the.S
16d100 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 oftware...THE.SOFTWARE.IS.PROVID
16d120 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 ED."AS.IS",.WITHOUT.WARRANTY.OF.
16d140 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e ANY.KIND,.EXPRESS.OR.IMPLIED,.IN
16d160 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 CLUDING.BUT.NOT.LIMITED.TO.THE.W
16d180 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 ARRANTIES.OF.MERCHANTABILITY,.FI
16d1a0 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 TNESS.FOR.A.PARTICULAR.PURPOSE.A
16d1c0 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 ND.NONINFRINGEMENT..IN.NO.EVENT.
16d1e0 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 SHALL.THE.AUTHORS.OR.COPYRIGHT.H
16d200 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 OLDERS.BE.LIABLE.FOR.ANY.CLAIM,.
16d220 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 DAMAGES.OR.OTHER.LIABILITY,.WHET
16d240 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f HER.IN.AN.ACTION.OF.CONTRACT,.TO
16d260 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f RT.OR.OTHERWISE,.ARISING.FROM,.O
16d280 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 UT.OF.OR.IN.CONNECTION.WITH.THE.
16d2a0 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 SOFTWARE.OR.THE.USE.OR.OTHER.DEA
16d2c0 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a LINGS.IN.THE.SOFTWARE..<?php....
16d2e0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
16d300 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 45 78 65 63 nt\Process;........class.PhpExec
16d320 75 74 61 62 6c 65 46 69 6e 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 65 63 75 74 61 62 utableFinder.{.private.$executab
16d340 6c 65 46 69 6e 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e leFinder;..public.function.__con
16d360 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 struct().{.$this->executableFind
16d380 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 7d 0a 0a er.=.new.ExecutableFinder();.}..
16d3a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 69 6e 63 .......public.function.find($inc
16d3c0 6c 75 64 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 61 72 67 73 20 3d 20 24 74 68 69 73 ludeArgs.=.true).{.$args.=.$this
16d3e0 2d 3e 66 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 61 72 67 73 20 3d 20 24 69 6e 63 6c ->findArguments();.$args.=.$incl
16d400 75 64 65 41 72 67 73 20 26 26 20 24 61 72 67 73 20 3f 20 27 20 27 2e 69 6d 70 6c 6f 64 65 28 27 udeArgs.&&.$args.?.'.'.implode('
16d420 20 27 2c 20 24 61 72 67 73 29 20 3a 20 27 27 3b 0a 0a 0a 20 69 66 20 28 5c 64 65 66 69 6e 65 64 .',.$args).:.'';....if.(\defined
16d440 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 67 65 74 65 ('HHVM_VERSION')).{.return.(gete
16d460 6e 76 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 20 3f 3a 20 50 48 50 5f 42 49 4e 41 52 59 29 2e nv('PHP_BINARY').?:.PHP_BINARY).
16d480 24 61 72 67 73 3b 0a 7d 0a 0a 0a 20 69 66 20 28 5c 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 $args;.}....if.(\defined('PHP_BI
16d4a0 4e 41 52 59 27 29 20 26 26 20 50 48 50 5f 42 49 4e 41 52 59 20 26 26 20 5c 69 6e 5f 61 72 72 61 NARY').&&.PHP_BINARY.&&.\in_arra
16d4c0 79 28 5c 50 48 50 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c 69 27 2c 20 27 63 6c 69 2d 73 y(\PHP_SAPI,.array('cli',.'cli-s
16d4e0 65 72 76 65 72 27 2c 20 27 70 68 70 64 62 67 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 erver',.'phpdbg'),.true)).{.retu
16d500 72 6e 20 50 48 50 5f 42 49 4e 41 52 59 2e 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 rn.PHP_BINARY.$args;.}..if.($php
16d520 20 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 41 54 48 27 29 29 20 7b 0a 69 66 20 28 21 40 69 .=.getenv('PHP_PATH')).{.if.(!@i
16d540 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c s_executable($php)).{.return.fal
16d560 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 se;.}..return.$php;.}..if.($php.
16d580 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 45 41 52 5f 50 48 50 5f 42 49 4e 27 29 29 20 7b 0a =.getenv('PHP_PEAR_PHP_BIN')).{.
16d5a0 69 66 20 28 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 if.(@is_executable($php)).{.retu
16d5c0 72 6e 20 24 70 68 70 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 rn.$php;.}.}..if.(@is_executable
16d5e0 28 24 70 68 70 20 3d 20 50 48 50 5f 42 49 4e 44 49 52 2e 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 ($php.=.PHP_BINDIR.('\\'.===.\DI
16d600 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3f 20 27 5c 5c 70 68 70 2e 65 78 65 27 20 RECTORY_SEPARATOR.?.'\\php.exe'.
16d620 3a 20 27 2f 70 68 70 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 24 64 :.'/php'))).{.return.$php;.}..$d
16d640 69 72 73 20 3d 20 61 72 72 61 79 28 50 48 50 5f 42 49 4e 44 49 52 29 3b 0a 69 66 20 28 27 5c 5c irs.=.array(PHP_BINDIR);.if.('\\
16d660 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 64 '.===.\DIRECTORY_SEPARATOR).{.$d
16d680 69 72 73 5b 5d 20 3d 20 27 43 3a 5c 78 61 6d 70 70 5c 70 68 70 5c 5c 27 3b 0a 7d 0a 0a 72 65 74 irs[].=.'C:\xampp\php\\';.}..ret
16d6a0 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2d 3e 66 69 6e urn.$this->executableFinder->fin
16d6c0 64 28 27 70 68 70 27 2c 20 66 61 6c 73 65 2c 20 24 64 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a d('php',.false,.$dirs);.}.......
16d6e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 0a public.function.findArguments().
16d700 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 5c 64 65 {.$arguments.=.array();..if.(\de
16d720 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 61 72 67 75 6d 65 fined('HHVM_VERSION')).{.$argume
16d740 6e 74 73 5b 5d 20 3d 20 27 2d 2d 70 68 70 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 68 70 64 nts[].=.'--php';.}.elseif.('phpd
16d760 62 67 27 20 3d 3d 3d 20 5c 50 48 50 5f 53 41 50 49 29 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b bg'.===.\PHP_SAPI).{.$arguments[
16d780 5d 20 3d 20 27 2d 71 72 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 75 6d 65 6e 74 73 ].=.'-qrr';.}..return.$arguments
16d7a0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
16d7c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 Symfony\Component\Process;..use.
16d7e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 Symfony\Component\Process\Except
16d800 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ion\RuntimeException;...........
16d820 63 6c 61 73 73 20 50 68 70 50 72 6f 63 65 73 73 20 65 78 74 65 6e 64 73 20 50 72 6f 63 65 73 73 class.PhpProcess.extends.Process
16d840 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 .{........public.function.__cons
16d860 74 72 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 truct($script,.$cwd.=.null,.arra
16d880 79 20 24 65 6e 76 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 y.$env.=.null,.$timeout.=.60,.ar
16d8a0 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 78 65 63 75 ray.$options.=.array()).{.$execu
16d8c0 74 61 62 6c 65 46 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 tableFinder.=.new.PhpExecutableF
16d8e0 69 6e 64 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 70 20 3d 20 24 65 inder();.if.(false.===.$php.=.$e
16d900 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2d 3e 66 69 6e 64 28 29 29 20 7b 0a 24 70 68 70 20 xecutableFinder->find()).{.$php.
16d920 3d 20 6e 75 6c 6c 3b 0a 7d 0a 69 66 20 28 27 70 68 70 64 62 67 27 20 3d 3d 3d 20 5c 50 48 50 5f =.null;.}.if.('phpdbg'.===.\PHP_
16d940 53 41 50 49 29 20 7b 0a 24 66 69 6c 65 20 3d 20 74 65 6d 70 6e 61 6d 28 73 79 73 5f 67 65 74 5f SAPI).{.$file.=.tempnam(sys_get_
16d960 74 65 6d 70 5f 64 69 72 28 29 2c 20 27 64 62 67 27 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e temp_dir(),.'dbg');.file_put_con
16d980 74 65 6e 74 73 28 24 66 69 6c 65 2c 20 24 73 63 72 69 70 74 29 3b 0a 72 65 67 69 73 74 65 72 5f tents($file,.$script);.register_
16d9a0 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c shutdown_function('unlink',.$fil
16d9c0 65 29 3b 0a 24 70 68 70 20 2e 3d 20 27 20 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 e);.$php..=.'.'.ProcessUtils::es
16d9e0 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 66 69 6c 65 29 3b 0a 24 73 63 72 69 70 74 20 3d 20 6e capeArgument($file);.$script.=.n
16da00 75 6c 6c 3b 0a 7d 0a 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 ull;.}.if.('\\'.!==.\DIRECTORY_S
16da20 45 50 41 52 41 54 4f 52 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 68 70 29 20 7b 0a 0a 20 0a EPARATOR.&&.null.!==.$php).{....
16da40 20 0a 20 24 70 68 70 20 3d 20 27 65 78 65 63 20 27 2e 24 70 68 70 3b 0a 7d 0a 0a 70 61 72 65 6e ...$php.=.'exec.'.$php;.}..paren
16da60 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 68 70 2c 20 24 63 77 64 2c 20 24 65 6e 76 2c t::__construct($php,.$cwd,.$env,
16da80 20 24 73 63 72 69 70 74 2c 20 24 74 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d .$script,.$timeout,.$options);.}
16daa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 68 70 42 69 6e 61 72 .....public.function.setPhpBinar
16dac0 79 28 24 70 68 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 y($php).{.$this->setCommandLine(
16dae0 24 70 68 70 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 $php);.}.....public.function.sta
16db00 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 rt($callback.=.null).{.if.(null.
16db20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 29 20 7b 0a 74 ===.$this->getCommandLine()).{.t
16db40 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c hrow.new.RuntimeException('Unabl
16db60 65 20 74 6f 20 66 69 6e 64 20 74 68 65 20 50 48 50 20 65 78 65 63 75 74 61 62 6c 65 2e 27 29 3b e.to.find.the.PHP.executable.');
16db80 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a .}..parent::start($callback);.}.
16dba0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
16dbc0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a ony\Component\Process\Pipes;....
16dbe0 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 20 ...abstract.class.AbstractPipes.
16dc00 69 6d 70 6c 65 6d 65 6e 74 73 20 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c implements.PipesInterface.{.publ
16dc20 69 63 20 24 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 ic.$pipes.=.array();..private.$i
16dc40 6e 70 75 74 42 75 66 66 65 72 20 3d 20 27 27 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b nputBuffer.=.'';.private.$input;
16dc60 0a 70 72 69 76 61 74 65 20 24 62 6c 6f 63 6b 65 64 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 .private.$blocked.=.true;.privat
16dc80 65 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f e.$lastError;.....public.functio
16dca0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 5c 69 73 5f n.__construct($input).{.if.(\is_
16dcc0 72 65 73 6f 75 72 63 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 resource($input)).{.$this->input
16dce0 20 3d 20 24 69 6e 70 75 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 73 74 72 69 6e 67 28 .=.$input;.}.elseif.(\is_string(
16dd00 24 69 6e 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 $input)).{.$this->inputBuffer.=.
16dd20 24 69 6e 70 75 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 $input;.}.else.{.$this->inputBuf
16dd40 66 65 72 20 3d 20 28 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 fer.=.(string).$input;.}.}.....p
16dd60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 0a 7b 0a 66 6f 72 65 61 63 68 ublic.function.close().{.foreach
16dd80 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 66 63 6c 6f 73 .($this->pipes.as.$pipe).{.fclos
16dda0 65 28 24 70 69 70 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 79 e($pipe);.}.$this->pipes.=.array
16ddc0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 ();.}.......protected.function.h
16dde0 61 73 53 79 73 74 65 6d 43 61 6c 6c 42 65 65 6e 49 6e 74 65 72 72 75 70 74 65 64 28 29 0a 7b 0a asSystemCallBeenInterrupted().{.
16de00 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 3b 0a 24 $lastError.=.$this->lastError;.$
16de20 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 72 65 74 75 72 this->lastError.=.null;....retur
16de40 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 6c 61 73 74 45 72 72 6f 72 20 26 26 20 66 61 6c 73 65 20 21 n.null.!==.$lastError.&&.false.!
16de60 3d 3d 20 73 74 72 69 70 6f 73 28 24 6c 61 73 74 45 72 72 6f 72 2c 20 27 69 6e 74 65 72 72 75 70 ==.stripos($lastError,.'interrup
16de80 74 65 64 20 73 79 73 74 65 6d 20 63 61 6c 6c 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ted.system.call');.}.....protect
16dea0 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 6e 62 6c 6f 63 6b 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 ed.function.unblock().{.if.(!$th
16dec0 69 73 2d 3e 62 6c 6f 63 6b 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 is->blocked).{.return;.}..foreac
16dee0 68 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 73 74 72 65 h.($this->pipes.as.$pipe).{.stre
16df00 61 6d 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 24 70 69 70 65 2c 20 30 29 3b 0a 7d 0a 69 66 20 am_set_blocking($pipe,.0);.}.if.
16df20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 29 20 7b 0a 73 74 72 65 61 6d (null.!==.$this->input).{.stream
16df40 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 30 29 3b 0a _set_blocking($this->input,.0);.
16df60 7d 0a 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a }..$this->blocked.=.false;.}....
16df80 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 69 66 .protected.function.write().{.if
16dfa0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 29 20 7b 0a 72 65 74 .(!isset($this->pipes[0])).{.ret
16dfc0 75 72 6e 3b 0a 7d 0a 24 69 6e 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 24 72 urn;.}.$input.=.$this->input;.$r
16dfe0 20 3d 20 24 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 20 3d 20 61 72 72 61 79 28 24 74 68 69 .=.$e.=.array();.$w.=.array($thi
16e000 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 s->pipes[0]);....if.(false.===.@
16e020 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 30 29 29 stream_select($r,.$w,.$e,.0,.0))
16e040 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 77 20 61 73 20 24 73 74 .{.return;.}..foreach.($w.as.$st
16e060 64 69 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 din).{.if.(isset($this->inputBuf
16e080 66 65 72 5b 30 5d 29 29 20 7b 0a 24 77 72 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 73 74 fer[0])).{.$written.=.fwrite($st
16e0a0 64 69 6e 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 29 3b 0a 24 74 68 69 73 2d din,.$this->inputBuffer);.$this-
16e0c0 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 >inputBuffer.=.substr($this->inp
16e0e0 75 74 42 75 66 66 65 72 2c 20 24 77 72 69 74 74 65 6e 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 utBuffer,.$written);.if.(isset($
16e100 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 this->inputBuffer[0])).{.return.
16e120 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 array($this->pipes[0]);.}.}..if.
16e140 28 24 69 6e 70 75 74 29 20 7b 0a 66 6f 72 20 28 3b 3b 29 20 7b 0a 24 64 61 74 61 20 3d 20 66 72 ($input).{.for.(;;).{.$data.=.fr
16e160 65 61 64 28 24 69 6e 70 75 74 2c 20 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 29 3b 0a 69 ead($input,.self::CHUNK_SIZE);.i
16e180 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a f.(!isset($data[0])).{.break;.}.
16e1a0 24 77 72 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 73 74 64 69 6e 2c 20 24 64 61 74 61 29 $written.=.fwrite($stdin,.$data)
16e1c0 3b 0a 24 64 61 74 61 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 24 77 72 69 74 74 65 6e ;.$data.=.substr($data,.$written
16e1e0 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d );.if.(isset($data[0])).{.$this-
16e200 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 24 64 61 74 61 3b 0a 0a 72 65 74 75 72 6e 20 61 72 >inputBuffer.=.$data;..return.ar
16e220 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 66 65 ray($this->pipes[0]);.}.}.if.(fe
16e240 6f 66 28 24 69 6e 70 75 74 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d of($input)).{.....$this->input.=
16e260 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 .null;.}.}.}....if.(null.===.$th
16e280 69 73 2d 3e 69 6e 70 75 74 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 is->input.&&.!isset($this->input
16e2a0 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 69 70 65 Buffer[0])).{.fclose($this->pipe
16e2c0 73 5b 30 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d s[0]);.unset($this->pipes[0]);.}
16e2e0 20 65 6c 73 65 69 66 20 28 21 24 77 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 .elseif.(!$w).{.return.array($th
16e300 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 is->pipes[0]);.}.}.....public.fu
16e320 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 67 29 0a nction.handleError($type,.$msg).
16e340 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a 7d 0a 3c {.$this->lastError.=.$msg;.}.}.<
16e360 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
16e380 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a \Component\Process\Pipes;.......
16e3a0 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e ..interface.PipesInterface.{.con
16e3c0 73 74 20 43 48 55 4e 4b 5f 53 49 5a 45 20 3d 20 31 36 33 38 34 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 st.CHUNK_SIZE.=.16384;.......pub
16e3e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a lic.function.getDescriptors();..
16e400 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 3b .....public.function.getFiles();
16e420 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 41 6e ..........public.function.readAn
16e440 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 20 3d 20 66 61 6c 73 65 dWrite($blocking,.$close.=.false
16e460 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e );.......public.function.areOpen
16e480 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 3b ();.....public.function.close();
16e4a0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
16e4c0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 fony\Component\Process\Pipes;..u
16e4e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f se.Symfony\Component\Process\Pro
16e500 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 69 78 50 69 70 65 73 20 65 78 cess;.........class.UnixPipes.ex
16e520 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 tends.AbstractPipes.{.private.$t
16e540 74 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 70 74 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 tyMode;.private.$ptyMode;.privat
16e560 65 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e.$disableOutput;..public.functi
16e580 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 74 79 4d 6f 64 65 2c 20 24 70 74 79 4d 6f 64 on.__construct($ttyMode,.$ptyMod
16e5a0 65 2c 20 24 69 6e 70 75 74 2c 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 0a 7b 0a 24 74 68 e,.$input,.$disableOutput).{.$th
16e5c0 69 73 2d 3e 74 74 79 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 74 74 79 4d 6f 64 65 3b 0a 24 is->ttyMode.=.(bool).$ttyMode;.$
16e5e0 74 68 69 73 2d 3e 70 74 79 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 74 79 4d 6f 64 65 3b this->ptyMode.=.(bool).$ptyMode;
16e600 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 20 3d 20 28 62 6f 6f 6c 29 20 24 .$this->disableOutput.=.(bool).$
16e620 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 disableOutput;..parent::__constr
16e640 75 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 uct($input);.}..public.function.
16e660 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d __destruct().{.$this->close();.}
16e680 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 .....public.function.getDescript
16e6a0 6f 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 ors().{.if.($this->disableOutput
16e6c0 29 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 20 3d 20 66 6f 70 65 6e 28 27 2f 64 65 76 2f 6e 75 ).{.$nullstream.=.fopen('/dev/nu
16e6e0 6c 6c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 ll',.'c');..return.array(.array(
16e700 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 24 6e 75 6c 6c 'pipe',.'r'),.$nullstream,.$null
16e720 73 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 74 79 4d 6f 64 65 stream,.);.}..if.($this->ttyMode
16e740 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 ).{.return.array(.array('file',.
16e760 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 '/dev/tty',.'r'),.array('file',.
16e780 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 '/dev/tty',.'w'),.array('file',.
16e7a0 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 '/dev/tty',.'w'),.);.}..if.($thi
16e7c0 73 2d 3e 70 74 79 4d 6f 64 65 20 26 26 20 50 72 6f 63 65 73 73 3a 3a 69 73 50 74 79 53 75 70 70 s->ptyMode.&&.Process::isPtySupp
16e7e0 6f 72 74 65 64 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 orted()).{.return.array(.array('
16e800 70 74 79 27 29 2c 0a 61 72 72 61 79 28 27 70 74 79 27 29 2c 0a 61 72 72 61 79 28 27 70 74 79 27 pty'),.array('pty'),.array('pty'
16e820 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 ),.);.}..return.array(.array('pi
16e840 70 65 27 2c 20 27 72 27 29 2c 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a pe',.'r'),.array('pipe',.'w'),..
16e860 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a 20 29 3b 0a 7d 0a 0a 0a 0a 0a .array('pipe',.'w'),...);.}.....
16e880 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 public.function.getFiles().{.ret
16e8a0 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urn.array();.}.....public.functi
16e8c0 6f 6e 20 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 on.readAndWrite($blocking,.$clos
16e8e0 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 29 3b 0a 24 e.=.false).{.$this->unblock();.$
16e900 77 20 3d 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 29 3b 0a 0a 24 72 65 61 64 20 3d 20 24 65 20 w.=.$this->write();..$read.=.$e.
16e920 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 70 69 70 65 73 3b 0a 75 6e =.array();.$r.=.$this->pipes;.un
16e940 73 65 74 28 24 72 5b 30 5d 29 3b 0a 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 set($r[0]);....set_error_handler
16e960 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a 69 (array($this,.'handleError'));.i
16e980 66 20 28 28 24 72 20 7c 7c 20 24 77 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 65 61 f.(($r.||.$w).&&.false.===.strea
16e9a0 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 24 62 6c 6f 63 6b 69 6e m_select($r,.$w,.$e,.0,.$blockin
16e9c0 67 20 3f 20 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a g.?.Process::TIMEOUT_PRECISION.*
16e9e0 20 31 45 36 20 3a 20 30 29 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c .1E6.:.0)).{.restore_error_handl
16ea00 65 72 28 29 3b 0a 0a 20 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 53 79 73 74 65 6d 43 er();.....if.(!$this->hasSystemC
16ea20 61 6c 6c 42 65 65 6e 49 6e 74 65 72 72 75 70 74 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 allBeenInterrupted()).{.$this->p
16ea40 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b ipes.=.array();.}..return.$read;
16ea60 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 66 6f 72 .}.restore_error_handler();..for
16ea80 65 61 63 68 20 28 24 72 20 61 73 20 24 70 69 70 65 29 20 7b 0a 0a 20 0a 20 24 72 65 61 64 5b 24 each.($r.as.$pipe).{.....$read[$
16eaa0 74 79 70 65 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 70 69 70 65 2c 20 24 74 68 69 73 type.=.array_search($pipe,.$this
16eac0 2d 3e 70 69 70 65 73 2c 20 74 72 75 65 29 5d 20 3d 20 27 27 3b 0a 0a 64 6f 20 7b 0a 24 64 61 74 ->pipes,.true)].=.'';..do.{.$dat
16eae0 61 20 3d 20 66 72 65 61 64 28 24 70 69 70 65 2c 20 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a a.=.fread($pipe,.self::CHUNK_SIZ
16eb00 45 29 3b 0a 24 72 65 61 64 5b 24 74 79 70 65 5d 20 2e 3d 20 24 64 61 74 61 3b 0a 7d 20 77 68 69 E);.$read[$type]..=.$data;.}.whi
16eb20 6c 65 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 20 26 26 20 28 24 63 6c 6f 73 65 20 7c le.(isset($data[0]).&&.($close.|
16eb40 7c 20 69 73 73 65 74 28 24 64 61 74 61 5b 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 20 2d |.isset($data[self::CHUNK_SIZE.-
16eb60 20 31 5d 29 29 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 61 64 5b 24 74 79 70 65 5d .1])));..if.(!isset($read[$type]
16eb80 5b 30 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 72 65 61 64 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 0a [0])).{.unset($read[$type]);.}..
16eba0 69 66 20 28 24 63 6c 6f 73 65 20 26 26 20 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 66 63 6c if.($close.&&.feof($pipe)).{.fcl
16ebc0 6f 73 65 28 24 70 69 70 65 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 24 ose($pipe);.unset($this->pipes[$
16ebe0 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 0a 0a 0a type]);.}.}..return.$read;.}....
16ec00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 29 0a 7b 0a 72 65 74 .public.function.areOpen().{.ret
16ec20 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 70 69 70 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a urn.(bool).$this->pipes;.}......
16ec40 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 ....public.static.function.creat
16ec60 65 28 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 e(Process.$process,.$input).{.re
16ec80 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 54 74 79 28 turn.new.static($process->isTty(
16eca0 29 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 50 74 79 28 29 2c 20 24 69 6e 70 75 74 2c 20 24 70 ),.$process->isPty(),.$input,.$p
16ecc0 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 29 29 3b 0a 7d 0a 7d rocess->isOutputDisabled());.}.}
16ece0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
16ed00 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 73 65 ny\Component\Process\Pipes;..use
16ed20 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 .Symfony\Component\Process\Excep
16ed40 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f tion\RuntimeException;.use.Symfo
16ed60 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a ny\Component\Process\Process;...
16ed80 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 57 69 6e 64 6f 77 73 50 69 70 65 73 20 65 78 74 65 .........class.WindowsPipes.exte
16eda0 6e 64 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c nds.AbstractPipes.{.private.$fil
16edc0 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 48 61 6e 64 6c es.=.array();.private.$fileHandl
16ede0 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 48 61 6e 64 6c es.=.array();.private.$lockHandl
16ee00 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 42 79 74 65 73 es.=.array();.private.$readBytes
16ee20 20 3d 20 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 30 2c 0a .=.array(.Process::STDOUT.=>.0,.
16ee40 50 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 52 20 3d 3e 20 30 2c 0a 29 3b 0a 70 72 69 76 61 74 65 Process::STDERR.=>.0,.);.private
16ee60 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$disableOutput;..public.functio
16ee80 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 2c 20 24 69 n.__construct($disableOutput,.$i
16eea0 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 20 3d 20 28 nput).{.$this->disableOutput.=.(
16eec0 62 6f 6f 6c 29 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 69 66 20 28 21 24 74 68 69 bool).$disableOutput;..if.(!$thi
16eee0 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 70 69 70 s->disableOutput).{.........$pip
16ef00 65 73 20 3d 20 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 50 es.=.array(.Process::STDOUT.=>.P
16ef20 72 6f 63 65 73 73 3a 3a 4f 55 54 2c 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 52 20 3d 3e 20 rocess::OUT,.Process::STDERR.=>.
16ef40 50 72 6f 63 65 73 73 3a 3a 45 52 52 2c 0a 29 3b 0a 24 74 6d 70 44 69 72 20 3d 20 73 79 73 5f 67 Process::ERR,.);.$tmpDir.=.sys_g
16ef60 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 27 75 6e 6b et_temp_dir();.$lastError.=.'unk
16ef80 6e 6f 77 6e 20 72 65 61 73 6f 6e 27 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 nown.reason';.set_error_handler(
16efa0 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 6c 61 function.($type,.$msg).use.(&$la
16efc0 73 74 45 72 72 6f 72 29 20 7b 20 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 20 7d 29 stError).{.$lastError.=.$msg;.})
16efe0 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 3b 20 2b 2b 24 69 29 20 7b 0a 66 6f 72 65 61 63 68 20 ;.for.($i.=.0;;.++$i).{.foreach.
16f000 28 24 70 69 70 65 73 20 61 73 20 24 70 69 70 65 20 3d 3e 20 24 6e 61 6d 65 29 20 7b 0a 24 66 69 ($pipes.as.$pipe.=>.$name).{.$fi
16f020 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 5c 5c 73 66 5f 70 72 6f 63 5f 25 30 32 58 2e 25 le.=.sprintf('%s\\sf_proc_%02X.%
16f040 73 27 2c 20 24 74 6d 70 44 69 72 2c 20 24 69 2c 20 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 24 s',.$tmpDir,.$i,.$name);..if.(!$
16f060 68 20 3d 20 66 6f 70 65 6e 28 24 66 69 6c 65 2e 27 2e 6c 6f 63 6b 27 2c 20 27 77 27 29 29 20 7b h.=.fopen($file.'.lock',.'w')).{
16f080 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 74 68 72 6f 77 20 .restore_error_handler();.throw.
16f0a0 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 20 new.RuntimeException(sprintf('A.
16f0c0 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e temporary.file.could.not.be.open
16f0e0 65 64 20 74 6f 20 77 72 69 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 75 74 70 75 74 3a 20 ed.to.write.the.process.output:.
16f100 25 73 27 2c 20 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 69 66 20 28 21 66 6c 6f 63 6b 28 %s',.$lastError));.}.if.(!flock(
16f120 24 68 2c 20 4c 4f 43 4b 5f 45 58 20 7c 20 4c 4f 43 4b 5f 4e 42 29 29 20 7b 0a 63 6f 6e 74 69 6e $h,.LOCK_EX.|.LOCK_NB)).{.contin
16f140 75 65 20 32 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e ue.2;.}.if.(isset($this->lockHan
16f160 64 6c 65 73 5b 24 70 69 70 65 5d 29 29 20 7b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 dles[$pipe])).{.flock($this->loc
16f180 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 kHandles[$pipe],.LOCK_UN);.fclos
16f1a0 65 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 29 3b 0a 7d 0a e($this->lockHandles[$pipe]);.}.
16f1c0 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 68 3b 0a $this->lockHandles[$pipe].=.$h;.
16f1e0 0a 69 66 20 28 21 66 63 6c 6f 73 65 28 66 6f 70 65 6e 28 24 66 69 6c 65 2c 20 27 77 27 29 29 20 .if.(!fclose(fopen($file,.'w')).
16f200 7c 7c 20 21 24 68 20 3d 20 66 6f 70 65 6e 28 24 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 66 6c ||.!$h.=.fopen($file,.'r')).{.fl
16f220 6f 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 2c 20 4c ock($this->lockHandles[$pipe],.L
16f240 4f 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c OCK_UN);.fclose($this->lockHandl
16f260 65 73 5b 24 70 69 70 65 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e es[$pipe]);.unset($this->lockHan
16f280 64 6c 65 73 5b 24 70 69 70 65 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 24 74 68 69 dles[$pipe]);.continue.2;.}.$thi
16f2a0 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 68 3b 0a 24 74 68 69 s->fileHandles[$pipe].=.$h;.$thi
16f2c0 73 2d 3e 66 69 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 62 72 65 61 6b s->files[$pipe].=.$file;.}.break
16f2e0 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 7d 0a 0a ;.}.restore_error_handler();.}..
16f300 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a parent::__construct($input);.}..
16f320 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 24 public.function.__destruct().{.$
16f340 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->close();.}.....public.func
16f360 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 tion.getDescriptors().{.if.($thi
16f380 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 20 s->disableOutput).{.$nullstream.
16f3a0 3d 20 66 6f 70 65 6e 28 27 4e 55 4c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 =.fopen('NUL',.'c');..return.arr
16f3c0 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 24 6e 75 6c 6c 73 74 72 ay(.array('pipe',.'r'),.$nullstr
16f3e0 65 61 6d 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 72 65 eam,.$nullstream,.);.}........re
16f400 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a turn.array(.array('pipe',.'r'),.
16f420 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 61 72 72 61 79 array('file',.'NUL',.'w'),.array
16f440 28 27 66 69 6c 65 27 2c 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ('file',.'NUL',.'w'),.);.}.....p
16f460 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 75 ublic.function.getFiles().{.retu
16f480 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rn.$this->files;.}.....public.fu
16f4a0 6e 63 74 69 6f 6e 20 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 nction.readAndWrite($blocking,.$
16f4c0 63 6c 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 close.=.false).{.$this->unblock(
16f4e0 29 3b 0a 24 77 20 3d 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 29 3b 0a 24 72 65 61 64 20 3d 20 );.$w.=.$this->write();.$read.=.
16f500 24 72 20 3d 20 24 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 62 6c 6f 63 6b 69 6e $r.=.$e.=.array();..if.($blockin
16f520 67 29 20 7b 0a 69 66 20 28 24 77 29 20 7b 0a 40 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 g).{.if.($w).{.@stream_select($r
16f540 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 ,.$w,.$e,.0,.Process::TIMEOUT_PR
16f560 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d ECISION.*.1E6);.}.elseif.($this-
16f580 3e 66 69 6c 65 48 61 6e 64 6c 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 50 72 6f 63 65 73 73 3a 3a >fileHandles).{.usleep(Process::
16f5a0 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 3b 0a 7d 0a 7d 0a 66 6f TIMEOUT_PRECISION.*.1E6);.}.}.fo
16f5c0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 61 73 20 24 74 79 reach.($this->fileHandles.as.$ty
16f5e0 70 65 20 3d 3e 20 24 66 69 6c 65 48 61 6e 64 6c 65 29 20 7b 0a 24 64 61 74 61 20 3d 20 73 74 72 pe.=>.$fileHandle).{.$data.=.str
16f600 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 2d 31 eam_get_contents($fileHandle,.-1
16f620 2c 20 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 73 5b 24 74 79 70 65 5d 29 3b 0a 0a 69 66 20 ,.$this->readBytes[$type]);..if.
16f640 28 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 42 (isset($data[0])).{.$this->readB
16f660 79 74 65 73 5b 24 74 79 70 65 5d 20 2b 3d 20 5c 73 74 72 6c 65 6e 28 24 64 61 74 61 29 3b 0a 24 ytes[$type].+=.\strlen($data);.$
16f680 72 65 61 64 5b 24 74 79 70 65 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 69 66 20 28 24 63 6c 6f 73 read[$type].=.$data;.}.if.($clos
16f6a0 65 29 20 7b 0a 66 74 72 75 6e 63 61 74 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 30 29 3b 0a e).{.ftruncate($fileHandle,.0);.
16f6c0 66 63 6c 6f 73 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 29 3b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 fclose($fileHandle);.flock($this
16f6e0 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a ->lockHandles[$type],.LOCK_UN);.
16f700 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d fclose($this->lockHandles[$type]
16f720 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 24 74 79 70 );.unset($this->fileHandles[$typ
16f740 65 5d 2c 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a e],.$this->lockHandles[$type]);.
16f760 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 }.}..return.$read;.}.....public.
16f780 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 function.areOpen().{.return.$thi
16f7a0 73 2d 3e 70 69 70 65 73 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 3b 0a s->pipes.&&.$this->fileHandles;.
16f7c0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 0a 7b 0a }.....public.function.close().{.
16f7e0 70 61 72 65 6e 74 3a 3a 63 6c 6f 73 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d parent::close();.foreach.($this-
16f800 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 68 61 6e 64 6c 65 >fileHandles.as.$type.=>.$handle
16f820 29 20 7b 0a 66 74 72 75 6e 63 61 74 65 28 24 68 61 6e 64 6c 65 2c 20 30 29 3b 0a 66 63 6c 6f 73 ).{.ftruncate($handle,.0);.fclos
16f840 65 28 24 68 61 6e 64 6c 65 29 3b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e e($handle);.flock($this->lockHan
16f860 64 6c 65 73 5b 24 74 79 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 65 28 24 74 dles[$type],.LOCK_UN);.fclose($t
16f880 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 24 74 68 69 his->lockHandles[$type]);.}.$thi
16f8a0 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 s->fileHandles.=.$this->lockHand
16f8c0 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 les.=.array();.}..........public
16f8e0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 50 72 6f 63 65 73 73 20 .static.function.create(Process.
16f900 24 70 72 6f 63 65 73 73 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 $process,.$input).{.return.new.s
16f920 74 61 74 69 63 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 tatic($process->isOutputDisabled
16f940 28 29 2c 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a (),.$input);.}.}.<?php..........
16f960 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f .namespace.Symfony\Component\Pro
16f980 63 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f cess;..use.Symfony\Component\Pro
16f9a0 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 cess\Exception\InvalidArgumentEx
16f9c0 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 ception;.use.Symfony\Component\P
16f9e0 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b rocess\Exception\LogicException;
16fa00 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 .use.Symfony\Component\Process\E
16fa20 78 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 3b xception\ProcessFailedException;
16fa40 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 .use.Symfony\Component\Process\E
16fa60 78 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f xception\ProcessTimedOutExceptio
16fa80 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 n;.use.Symfony\Component\Process
16faa0 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 \Exception\RuntimeException;.use
16fac0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 .Symfony\Component\Process\Pipes
16fae0 5c 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \PipesInterface;.use.Symfony\Com
16fb00 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 5c 55 6e 69 78 50 69 70 65 73 3b 0a ponent\Process\Pipes\UnixPipes;.
16fb20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 use.Symfony\Component\Process\Pi
16fb40 70 65 73 5c 57 69 6e 64 6f 77 73 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 pes\WindowsPipes;.........class.
16fb60 50 72 6f 63 65 73 73 0a 7b 0a 63 6f 6e 73 74 20 45 52 52 20 3d 20 27 65 72 72 27 3b 0a 63 6f 6e Process.{.const.ERR.=.'err';.con
16fb80 73 74 20 4f 55 54 20 3d 20 27 6f 75 74 27 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 52 45 st.OUT.=.'out';..const.STATUS_RE
16fba0 41 44 59 20 3d 20 27 72 65 61 64 79 27 3b 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 53 54 41 52 ADY.=.'ready';.const.STATUS_STAR
16fbc0 54 45 44 20 3d 20 27 73 74 61 72 74 65 64 27 3b 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 54 45 TED.=.'started';.const.STATUS_TE
16fbe0 52 4d 49 4e 41 54 45 44 20 3d 20 27 74 65 72 6d 69 6e 61 74 65 64 27 3b 0a 0a 63 6f 6e 73 74 20 RMINATED.=.'terminated';..const.
16fc00 53 54 44 49 4e 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 44 4f 55 54 20 3d 20 31 3b 0a 63 6f 6e STDIN.=.0;.const.STDOUT.=.1;.con
16fc20 73 74 20 53 54 44 45 52 52 20 3d 20 32 3b 0a 0a 0a 20 63 6f 6e 73 74 20 54 49 4d 45 4f 55 54 5f st.STDERR.=.2;....const.TIMEOUT_
16fc40 50 52 45 43 49 53 49 4f 4e 20 3d 20 30 2e 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 61 6c 6c 62 PRECISION.=.0.2;..private.$callb
16fc60 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 70 72 69 76 61 ack;.private.$commandline;.priva
16fc80 74 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 3b 0a 70 72 69 76 61 74 65 20 24 te.$cwd;.private.$env;.private.$
16fca0 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 74 69 6d 65 3b 0a 70 72 69 76 61 input;.private.$starttime;.priva
16fcc0 74 65 20 24 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d te.$lastOutputTime;.private.$tim
16fce0 65 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 69 64 6c 65 54 69 6d 65 6f 75 74 3b 0a 70 72 69 76 eout;.private.$idleTimeout;.priv
16fd00 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 63 6f 64 65 3b ate.$options;.private.$exitcode;
16fd20 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 3d 20 61 72 72 61 79 .private.$fallbackStatus.=.array
16fd40 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b ();.private.$processInformation;
16fd60 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 .private.$outputDisabled.=.false
16fd80 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 65 ;.private.$stdout;.private.$stde
16fda0 72 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 rr;.private.$enhanceWindowsCompa
16fdc0 74 69 62 69 6c 69 74 79 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 tibility.=.true;.private.$enhanc
16fde0 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 eSigchildCompatibility;.private.
16fe00 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 20 3d 20 73 65 6c 66 $process;.private.$status.=.self
16fe20 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 63 72 65 6d 65 ::STATUS_READY;.private.$increme
16fe40 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 69 ntalOutputOffset.=.0;.private.$i
16fe60 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b ncrementalErrorOutputOffset.=.0;
16fe80 0a 70 72 69 76 61 74 65 20 24 74 74 79 3b 0a 70 72 69 76 61 74 65 20 24 70 74 79 3b 0a 0a 70 72 .private.$tty;.private.$pty;..pr
16fea0 69 76 61 74 65 20 24 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a ivate.$useFileHandles.=.false;..
16fec0 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 50 69 70 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 private.$processPipes;..private.
16fee0 24 6c 61 74 65 73 74 53 69 67 6e 61 6c 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 $latestSignal;..private.static.$
16ff00 73 69 67 63 68 69 6c 64 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 65 sigchild;.......public.static.$e
16ff20 78 69 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d 3e 20 27 4f 4b 27 2c 0a 31 20 3d xitCodes.=.array(.0.=>.'OK',.1.=
16ff40 3e 20 27 47 65 6e 65 72 61 6c 20 65 72 72 6f 72 27 2c 0a 32 20 3d 3e 20 27 4d 69 73 75 73 65 20 >.'General.error',.2.=>.'Misuse.
16ff60 6f 66 20 73 68 65 6c 6c 20 62 75 69 6c 74 69 6e 73 27 2c 0a 0a 31 32 36 20 3d 3e 20 27 49 6e 76 of.shell.builtins',..126.=>.'Inv
16ff80 6f 6b 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 6e 6f 74 20 65 78 65 63 75 74 65 27 2c 0a 31 32 oked.command.cannot.execute',.12
16ffa0 37 20 3d 3e 20 27 43 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e 64 27 2c 0a 31 32 38 20 3d 3e 7.=>.'Command.not.found',.128.=>
16ffc0 20 27 49 6e 76 61 6c 69 64 20 65 78 69 74 20 61 72 67 75 6d 65 6e 74 27 2c 0a 0a 0a 20 31 32 39 .'Invalid.exit.argument',....129
16ffe0 20 3d 3e 20 27 48 61 6e 67 75 70 27 2c 0a 31 33 30 20 3d 3e 20 27 49 6e 74 65 72 72 75 70 74 27 .=>.'Hangup',.130.=>.'Interrupt'
170000 2c 0a 31 33 31 20 3d 3e 20 27 51 75 69 74 20 61 6e 64 20 64 75 6d 70 20 63 6f 72 65 27 2c 0a 31 ,.131.=>.'Quit.and.dump.core',.1
170020 33 32 20 3d 3e 20 27 49 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 63 74 69 6f 6e 27 2c 0a 31 33 33 32.=>.'Illegal.instruction',.133
170040 20 3d 3e 20 27 54 72 61 63 65 2f 62 72 65 61 6b 70 6f 69 6e 74 20 74 72 61 70 27 2c 0a 31 33 34 .=>.'Trace/breakpoint.trap',.134
170060 20 3d 3e 20 27 50 72 6f 63 65 73 73 20 61 62 6f 72 74 65 64 27 2c 0a 31 33 35 20 3d 3e 20 27 42 .=>.'Process.aborted',.135.=>.'B
170080 75 73 20 65 72 72 6f 72 3a 20 22 61 63 63 65 73 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 70 us.error:."access.to.undefined.p
1700a0 6f 72 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 6f 62 6a 65 63 74 22 27 2c 0a 31 33 36 20 3d ortion.of.memory.object"',.136.=
1700c0 3e 20 27 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 65 78 63 65 70 74 69 6f 6e 3a 20 22 65 72 >.'Floating.point.exception:."er
1700e0 72 6f 6e 65 6f 75 73 20 61 72 69 74 68 6d 65 74 69 63 20 6f 70 65 72 61 74 69 6f 6e 22 27 2c 0a roneous.arithmetic.operation"',.
170100 31 33 37 20 3d 3e 20 27 4b 69 6c 6c 20 28 74 65 72 6d 69 6e 61 74 65 20 69 6d 6d 65 64 69 61 74 137.=>.'Kill.(terminate.immediat
170120 65 6c 79 29 27 2c 0a 31 33 38 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 20 31 27 2c 0a ely)',.138.=>.'User-defined.1',.
170140 31 33 39 20 3d 3e 20 27 53 65 67 6d 65 6e 74 61 74 69 6f 6e 20 76 69 6f 6c 61 74 69 6f 6e 27 2c 139.=>.'Segmentation.violation',
170160 0a 31 34 30 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 20 32 27 2c 0a 31 34 31 20 3d 3e .140.=>.'User-defined.2',.141.=>
170180 20 27 57 72 69 74 65 20 74 6f 20 70 69 70 65 20 77 69 74 68 20 6e 6f 20 6f 6e 65 20 72 65 61 64 .'Write.to.pipe.with.no.one.read
1701a0 69 6e 67 27 2c 0a 31 34 32 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 73 65 64 20 62 79 20 61 ing',.142.=>.'Signal.raised.by.a
1701c0 6c 61 72 6d 27 2c 0a 31 34 33 20 3d 3e 20 27 54 65 72 6d 69 6e 61 74 69 6f 6e 20 28 72 65 71 75 larm',.143.=>.'Termination.(requ
1701e0 65 73 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 29 27 2c 0a 0a 20 31 34 35 20 3d 3e 20 27 43 68 est.to.terminate)',...145.=>.'Ch
170200 69 6c 64 20 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 2c 20 73 74 6f 70 70 65 64 20 ild.process.terminated,.stopped.
170220 28 6f 72 20 63 6f 6e 74 69 6e 75 65 64 2a 29 27 2c 0a 31 34 36 20 3d 3e 20 27 43 6f 6e 74 69 6e (or.continued*)',.146.=>.'Contin
170240 75 65 20 69 66 20 73 74 6f 70 70 65 64 27 2c 0a 31 34 37 20 3d 3e 20 27 53 74 6f 70 20 65 78 65 ue.if.stopped',.147.=>.'Stop.exe
170260 63 75 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 69 6c 79 27 2c 0a 31 34 38 20 3d 3e 20 27 54 65 72 cuting.temporarily',.148.=>.'Ter
170280 6d 69 6e 61 6c 20 73 74 6f 70 20 73 69 67 6e 61 6c 27 2c 0a 31 34 39 20 3d 3e 20 27 42 61 63 6b minal.stop.signal',.149.=>.'Back
1702a0 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 72 65 61 ground.process.attempting.to.rea
1702c0 64 20 66 72 6f 6d 20 74 74 79 20 28 22 69 6e 22 29 27 2c 0a 31 35 30 20 3d 3e 20 27 42 61 63 6b d.from.tty.("in")',.150.=>.'Back
1702e0 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 77 72 69 ground.process.attempting.to.wri
170300 74 65 20 74 6f 20 74 74 79 20 28 22 6f 75 74 22 29 27 2c 0a 31 35 31 20 3d 3e 20 27 55 72 67 65 te.to.tty.("out")',.151.=>.'Urge
170320 6e 74 20 64 61 74 61 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 73 6f 63 6b 65 74 27 2c 0a 31 35 nt.data.available.on.socket',.15
170340 32 20 3d 3e 20 27 43 50 55 20 74 69 6d 65 20 6c 69 6d 69 74 20 65 78 63 65 65 64 65 64 27 2c 0a 2.=>.'CPU.time.limit.exceeded',.
170360 31 35 33 20 3d 3e 20 27 46 69 6c 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 65 78 63 65 65 64 65 64 153.=>.'File.size.limit.exceeded
170380 27 2c 0a 31 35 34 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 73 65 64 20 62 79 20 74 69 6d 65 ',.154.=>.'Signal.raised.by.time
1703a0 72 20 63 6f 75 6e 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 69 6d 65 3a 20 22 76 69 72 74 75 61 r.counting.virtual.time:."virtua
1703c0 6c 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 22 27 2c 0a 31 35 35 20 3d 3e 20 27 50 72 6f 66 69 l.timer.expired"',.155.=>.'Profi
1703e0 6c 69 6e 67 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 27 2c 0a 0a 20 31 35 37 20 3d 3e 20 27 50 ling.timer.expired',...157.=>.'P
170400 6f 6c 6c 61 62 6c 65 20 65 76 65 6e 74 27 2c 0a 0a 20 31 35 39 20 3d 3e 20 27 42 61 64 20 73 79 ollable.event',...159.=>.'Bad.sy
170420 73 63 61 6c 6c 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e scall',.);............public.fun
170440 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 ction.__construct($commandline,.
170460 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 6e 76 20 3d 20 6e 75 6c 6c 2c 20 $cwd.=.null,.array.$env.=.null,.
170480 24 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 $input.=.null,.$timeout.=.60,.ar
1704a0 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 21 5c ray.$options.=.array()).{.if.(!\
1704c0 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a function_exists('proc_open')).{.
1704e0 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 throw.new.RuntimeException('The.
170500 50 72 6f 63 65 73 73 20 63 6c 61 73 73 20 72 65 6c 69 65 73 20 6f 6e 20 70 72 6f 63 5f 6f 70 65 Process.class.relies.on.proc_ope
170520 6e 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 79 6f 75 n,.which.is.not.available.on.you
170540 72 20 50 48 50 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d r.PHP.installation.');.}..$this-
170560 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 24 74 68 >commandline.=.$commandline;.$th
170580 69 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 6e 75 6c is->cwd.=.$cwd;..........if.(nul
1705a0 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 77 64 20 26 26 20 28 5c 64 65 66 69 6e 65 64 28 27 5a l.===.$this->cwd.&&.(\defined('Z
1705c0 45 4e 44 5f 54 48 52 45 41 44 5f 53 41 46 45 27 29 20 7c 7c 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 END_THREAD_SAFE').||.'\\'.===.\D
1705e0 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 77 IRECTORY_SEPARATOR)).{.$this->cw
170600 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e d.=.getcwd();.}.if.(null.!==.$en
170620 76 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 28 24 65 6e 76 29 3b 0a 7d 0a 0a 24 74 68 v).{.$this->setEnv($env);.}..$th
170640 69 73 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 is->setInput($input);.$this->set
170660 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 24 74 68 69 73 2d 3e 75 73 65 46 69 6c Timeout($timeout);.$this->useFil
170680 65 48 61 6e 64 6c 65 73 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 eHandles.=.'\\'.===.\DIRECTORY_S
1706a0 45 50 41 52 41 54 4f 52 3b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 66 61 6c 73 65 3b 0a 24 74 EPARATOR;.$this->pty.=.false;.$t
1706c0 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 his->enhanceSigchildCompatibilit
1706e0 79 20 3d 20 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f y.=.'\\'.!==.\DIRECTORY_SEPARATO
170700 52 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 3b R.&&.$this->isSigchildEnabled();
170720 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 28 .$this->options.=.array_replace(
170740 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 2c array('suppress_errors'.=>.true,
170760 20 27 62 69 6e 61 72 79 5f 70 69 70 65 73 27 20 3d 3e 20 74 72 75 65 29 2c 20 24 6f 70 74 69 6f .'binary_pipes'.=>.true),.$optio
170780 6e 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 ns);.}..public.function.__destru
1707a0 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 ct().{.$this->stop(0);.}..public
1707c0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 73 .function.__clone().{.$this->res
1707e0 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a etProcessData();.}..............
170800 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 24 63 61 6c 6c .......public.function.run($call
170820 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 28 24 63 61 6c back.=.null).{.$this->start($cal
170840 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 69 74 28 29 3b 0a 7d lback);..return.$this->wait();.}
170860 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d ...............public.function.m
170880 75 73 74 52 75 6e 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 ustRun($callback.=.null).{.if.(!
1708a0 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c $this->enhanceSigchildCompatibil
1708c0 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 ity.&&.$this->isSigchildEnabled(
1708e0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 )).{.throw.new.RuntimeException(
170900 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 'This.PHP.has.been.compiled.with
170920 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 73 74 20 75 73 65 .--enable-sigchild..You.must.use
170940 20 73 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 .setEnhanceSigchildCompatibility
170960 28 29 20 74 6f 20 75 73 65 20 74 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 ().to.use.this.method.');.}..if.
170980 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 29 29 20 7b 0a (0.!==.$this->run($callback)).{.
1709a0 74 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e throw.new.ProcessFailedException
1709c0 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a ($this);.}..return.$this;.}.....
1709e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ................public.function.
170a00 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 start($callback.=.null).{.if.($t
170a20 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 his->isRunning()).{.throw.new.Ru
170a40 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 ntimeException('Process.is.alrea
170a60 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 dy.running');.}.if.($this->outpu
170a80 74 44 69 73 61 62 6c 65 64 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c 6c 62 61 63 6b 29 tDisabled.&&.null.!==.$callback)
170aa0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 .{.throw.new.LogicException('Out
170ac0 70 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 20 69 74 put.has.been.disabled,.enable.it
170ae0 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 63 61 6c 6c 62 61 63 6b 2e .to.allow.the.use.of.a.callback.
170b00 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 ');.}..$this->resetProcessData()
170b20 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 ;.$this->starttime.=.$this->last
170b40 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 OutputTime.=.microtime(true);.$t
170b60 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 61 6c 6c his->callback.=.$this->buildCall
170b80 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 73 20 3d 20 back($callback);.$descriptors.=.
170ba0 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a 24 63 6f 6d 6d 61 $this->getDescriptors();..$comma
170bc0 6e 64 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 0a 69 66 ndline.=.$this->commandline;..if
170be0 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 .('\\'.===.\DIRECTORY_SEPARATOR.
170c00 26 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 &&.$this->enhanceWindowsCompatib
170c20 69 6c 69 74 79 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 27 63 6d 64 20 2f 56 3a ility).{.$commandline.=.'cmd./V:
170c40 4f 4e 20 2f 45 3a 4f 4e 20 2f 44 20 2f 43 20 22 28 27 2e 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e ON./E:ON./D./C."('.$commandline.
170c60 27 29 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 ')';.foreach.($this->processPipe
170c80 73 2d 3e 67 65 74 46 69 6c 65 73 28 29 20 61 73 20 24 6f 66 66 73 65 74 20 3d 3e 20 24 66 69 6c s->getFiles().as.$offset.=>.$fil
170ca0 65 6e 61 6d 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 20 27 2e 24 6f 66 ename).{.$commandline..=.'.'.$of
170cc0 66 73 65 74 2e 27 3e 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 61 70 65 41 72 67 fset.'>'.ProcessUtils::escapeArg
170ce0 75 6d 65 6e 74 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 ument($filename);.}.$commandline
170d00 20 2e 3d 20 27 22 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 ..=.'"';..if.(!isset($this->opti
170d20 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f ons['bypass_shell'])).{.$this->o
170d40 70 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 20 3d 20 74 72 75 65 3b 0a 7d ptions['bypass_shell'].=.true;.}
170d60 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 .}.elseif.(!$this->useFileHandle
170d80 73 20 26 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 s.&&.$this->enhanceSigchildCompa
170da0 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 tibility.&&.$this->isSigchildEna
170dc0 62 6c 65 64 28 29 29 20 7b 0a 0a 20 24 64 65 73 63 72 69 70 74 6f 72 73 5b 33 5d 20 3d 20 61 72 bled()).{...$descriptors[3].=.ar
170de0 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e ray('pipe',.'w');....$commandlin
170e00 65 20 3d 20 27 7b 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e 27 29 20 e.=.'{.('.$this->commandline.').
170e20 3c 26 33 20 33 3c 26 2d 20 33 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 20 7d 20 33 3c 26 30 3b 27 3b <&3.3<&-.3>/dev/null.&.}.3<&0;';
170e40 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 70 69 64 3d 24 21 3b 20 65 63 68 6f 20 24 .$commandline..=.'pid=$!;.echo.$
170e60 70 69 64 20 3e 26 33 3b 20 77 61 69 74 20 24 70 69 64 3b 20 63 6f 64 65 3d 24 3f 3b 20 65 63 68 pid.>&3;.wait.$pid;.code=$?;.ech
170e80 6f 20 24 63 6f 64 65 20 3e 26 33 3b 20 65 78 69 74 20 24 63 6f 64 65 27 3b 0a 0a 0a 20 0a 20 24 o.$code.>&3;.exit.$code';......$
170ea0 70 74 73 57 6f 72 6b 61 72 6f 75 6e 64 20 3d 20 66 6f 70 65 6e 28 5f 5f 46 49 4c 45 5f 5f 2c 20 ptsWorkaround.=.fopen(__FILE__,.
170ec0 27 72 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 'r');.}..$this->process.=.proc_o
170ee0 70 65 6e 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 64 65 73 63 72 69 70 74 6f 72 73 2c 20 pen($commandline,.$descriptors,.
170f00 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 2c 20 24 74 68 69 $this->processPipes->pipes,.$thi
170f20 73 2d 3e 63 77 64 2c 20 24 74 68 69 73 2d 3e 65 6e 76 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f s->cwd,.$this->env,.$this->optio
170f40 6e 73 29 3b 0a 0a 69 66 20 28 21 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 ns);..if.(!\is_resource($this->p
170f60 72 6f 63 65 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 rocess)).{.throw.new.RuntimeExce
170f80 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 6c 61 75 6e 63 68 20 61 20 6e 65 77 20 70 72 ption('Unable.to.launch.a.new.pr
170fa0 6f 63 65 73 73 2e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 ocess.');.}.$this->status.=.self
170fc0 3a 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 ::STATUS_STARTED;..if.(isset($de
170fe0 73 63 72 69 70 74 6f 72 73 5b 33 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b scriptors[3])).{.$this->fallback
171000 53 74 61 74 75 73 5b 27 70 69 64 27 5d 20 3d 20 28 69 6e 74 29 20 66 67 65 74 73 28 24 74 68 69 Status['pid'].=.(int).fgets($thi
171020 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 5b 33 5d 29 3b 0a 7d 0a 0a 69 s->processPipes->pipes[3]);.}..i
171040 66 20 28 24 74 68 69 73 2d 3e 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 f.($this->tty).{.return;.}..$thi
171060 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 63 s->updateStatus(false);.$this->c
171080 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a heckTimeout();.}................
1710a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 61 6c 6c 62 61 .public.function.restart($callba
1710c0 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e ck.=.null).{.if.($this->isRunnin
1710e0 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f g()).{.throw.new.RuntimeExceptio
171100 6e 28 27 50 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b n('Process.is.already.running');
171120 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 70 72 6f .}..$process.=.clone.$this;.$pro
171140 63 65 73 73 2d 3e 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 cess->start($callback);..return.
171160 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c $process;.}.................publ
171180 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 69 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c ic.function.wait($callback.=.nul
1711a0 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 53 74 61 72 l).{.$this->requireProcessIsStar
1711c0 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 ted(__FUNCTION__);..$this->updat
1711e0 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 eStatus(false);.if.(null.!==.$ca
171200 6c 6c 62 61 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 llback).{.$this->callback.=.$thi
171220 73 2d 3e 62 75 69 6c 64 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a s->buildCallback($callback);.}..
171240 64 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a 24 72 75 6e do.{.$this->checkTimeout();.$run
171260 6e 69 6e 67 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 ning.=.'\\'.===.\DIRECTORY_SEPAR
171280 41 54 4f 52 20 3f 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 3a 20 24 74 68 69 ATOR.?.$this->isRunning().:.$thi
1712a0 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 61 72 65 4f 70 65 6e 28 29 3b 0a 24 74 68 69 s->processPipes->areOpen();.$thi
1712c0 73 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e 6e 69 6e 67 2c 20 27 5c 5c 27 20 21 3d 3d 20 s->readPipes($running,.'\\'.!==.
1712e0 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e 69 6e \DIRECTORY_SEPARATOR.||.!$runnin
171300 67 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 72 75 6e 6e 69 6e 67 29 3b 0a 0a 77 68 69 6c 65 20 28 g);.}.while.($running);..while.(
171320 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 $this->isRunning()).{.usleep(100
171340 30 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 0);.}..if.($this->processInforma
171360 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 tion['signaled'].&&.$this->proce
171380 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 20 21 3d 3d 20 24 74 68 ssInformation['termsig'].!==.$th
1713a0 69 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 is->latestSignal).{.throw.new.Ru
1713c0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 70 72 6f 63 ntimeException(sprintf('The.proc
1713e0 65 73 73 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 61 6c 65 64 20 77 69 74 68 20 73 69 67 6e 61 ess.has.been.signaled.with.signa
171400 6c 20 22 25 73 22 2e 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 l."%s".',.$this->processInformat
171420 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ion['termsig']));.}..return.$thi
171440 73 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->exitcode;.}.......public.func
171460 74 69 6f 6e 20 67 65 74 50 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 tion.getPid().{.return.$this->is
171480 52 75 6e 6e 69 6e 67 28 29 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d Running().?.$this->processInform
1714a0 61 74 69 6f 6e 5b 27 70 69 64 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ation['pid'].:.null;.}..........
1714c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 67 6e 61 6c 28 24 73 69 67 6e 61 ...public.function.signal($signa
1714e0 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c 20 74 72 l).{.$this->doSignal($signal,.tr
171500 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ue);..return.$this;.}..........p
171520 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b ublic.function.disableOutput().{
171540 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 .if.($this->isRunning()).{.throw
171560 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 44 69 73 61 62 6c 69 6e 67 .new.RuntimeException('Disabling
171580 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 72 75 6e .output.while.the.process.is.run
1715a0 6e 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 27 29 3b 0a 7d 0a 69 66 20 28 6e ning.is.not.possible.');.}.if.(n
1715c0 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 29 20 7b 0a 74 68 ull.!==.$this->idleTimeout).{.th
1715e0 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 75 74 20 63 row.new.LogicException('Output.c
171600 61 6e 20 6e 6f 74 20 62 65 20 64 69 73 61 62 6c 65 64 20 77 68 69 6c 65 20 61 6e 20 69 64 6c 65 an.not.be.disabled.while.an.idle
171620 20 74 69 6d 65 6f 75 74 20 69 73 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 .timeout.is.set.');.}..$this->ou
171640 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 tputDisabled.=.true;..return.$th
171660 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e is;.}.........public.function.en
171680 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e ableOutput().{.if.($this->isRunn
1716a0 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 ing()).{.throw.new.RuntimeExcept
1716c0 69 6f 6e 28 27 45 6e 61 62 6c 69 6e 67 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 70 ion('Enabling.output.while.the.p
1716e0 72 6f 63 65 73 73 20 69 73 20 72 75 6e 6e 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c rocess.is.running.is.not.possibl
171700 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d e.');.}..$this->outputDisabled.=
171720 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .false;..return.$this;.}.......p
171740 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 ublic.function.isOutputDisabled(
171760 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 ).{.return.$this->outputDisabled
171780 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ;.}..........public.function.get
1717a0 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 Output().{.$this->readPipesForOu
1717c0 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d tput(__FUNCTION__);..if.(false.=
1717e0 3d 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 ==.$ret.=.stream_get_contents($t
171800 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 2d 31 2c 20 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 his->stdout,.-1,.0)).{.return.''
171820 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;.}..return.$ret;.}.............
171840 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 public.function.getIncrementalOu
171860 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 74 70 tput().{.$this->readPipesForOutp
171880 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 6c 61 74 65 73 74 20 3d 20 73 74 72 ut(__FUNCTION__);..$latest.=.str
1718a0 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 eam_get_contents($this->stdout,.
1718c0 2d 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 -1,.$this->incrementalOutputOffs
1718e0 65 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 et);.$this->incrementalOutputOff
171900 73 65 74 20 3d 20 66 74 65 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 29 3b 0a 0a 69 66 20 set.=.ftell($this->stdout);..if.
171920 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b (false.===.$latest).{.return.'';
171940 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .}..return.$latest;.}.......publ
171960 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 72 75 ic.function.clearOutput().{.ftru
171980 6e 63 61 74 65 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 66 73 65 65 6b 28 24 ncate($this->stdout,.0);.fseek($
1719a0 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 this->stdout,.0);.$this->increme
1719c0 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 6e 20 24 74 ntalOutputOffset.=.0;..return.$t
1719e0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 his;.}..........public.function.
171a00 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 getErrorOutput().{.$this->readPi
171a20 70 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 pesForOutput(__FUNCTION__);..if.
171a40 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e (false.===.$ret.=.stream_get_con
171a60 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 30 29 29 20 7b 0a 72 tents($this->stderr,.-1,.0)).{.r
171a80 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a eturn.'';.}..return.$ret;.}.....
171aa0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 72 .........public.function.getIncr
171ac0 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 ementalErrorOutput().{.$this->re
171ae0 61 64 50 69 70 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a adPipesForOutput(__FUNCTION__);.
171b00 0a 24 6c 61 74 65 73 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 .$latest.=.stream_get_contents($
171b20 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 this->stderr,.-1,.$this->increme
171b40 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 69 ntalErrorOutputOffset);.$this->i
171b60 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 66 74 ncrementalErrorOutputOffset.=.ft
171b80 65 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d ell($this->stderr);..if.(false.=
171ba0 3d 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 ==.$latest).{.return.'';.}..retu
171bc0 72 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$latest;.}.......public.funct
171be0 69 6f 6e 20 63 6c 65 61 72 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 72 75 6e 63 61 ion.clearErrorOutput().{.ftrunca
171c00 74 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 te($this->stderr,.0);.fseek($thi
171c20 73 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 s->stderr,.0);.$this->incrementa
171c40 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 6e 20 lErrorOutputOffset.=.0;..return.
171c60 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $this;.}.........public.function
171c80 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 .getExitCode().{.if.(!$this->enh
171ca0 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 anceSigchildCompatibility.&&.$th
171cc0 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 is->isSigchildEnabled()).{.throw
171ce0 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 .new.RuntimeException('This.PHP.
171d00 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d has.been.compiled.with.--enable-
171d20 73 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 73 74 20 75 73 65 20 73 65 74 45 6e 68 61 6e 63 sigchild..You.must.use.setEnhanc
171d40 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 20 74 6f 20 75 73 65 20 eSigchildCompatibility().to.use.
171d60 74 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 this.method.');.}..$this->update
171d80 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 Status(false);..return.$this->ex
171da0 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e itcode;.}.............public.fun
171dc0 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 74 28 29 0a 7b 0a 69 66 20 28 6e 75 ction.getExitCodeText().{.if.(nu
171de0 6c 6c 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 ll.===.$exitcode.=.$this->getExi
171e00 74 43 6f 64 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 tCode()).{.return;.}..return.iss
171e20 65 74 28 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 29 20 et(self::$exitCodes[$exitcode]).
171e40 3f 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 20 3a 20 ?.self::$exitCodes[$exitcode].:.
171e60 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 'Unknown.error';.}.......public.
171e80 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 0a 7b 0a 72 65 74 75 72 6e function.isSuccessful().{.return
171ea0 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a .0.===.$this->getExitCode();.}..
171ec0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 ..........public.function.hasBee
171ee0 6e 53 69 67 6e 61 6c 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 nSignaled().{.$this->requireProc
171f00 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a essIsTerminated(__FUNCTION__);..
171f20 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 if.(!$this->enhanceSigchildCompa
171f40 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 tibility.&&.$this->isSigchildEna
171f60 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 bled()).{.throw.new.RuntimeExcep
171f80 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 tion('This.PHP.has.been.compiled
171fa0 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d 20 73 69 .with.--enable-sigchild..Term.si
171fc0 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b 0a 7d 0a gnal.can.not.be.retrieved.');.}.
171fe0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f .return.$this->processInformatio
172000 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c n['signaled'];.}............publ
172020 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 53 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 ic.function.getTermSignal().{.$t
172040 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 his->requireProcessIsTerminated(
172060 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 __FUNCTION__);..if.($this->isSig
172080 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 20 26 26 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e childEnabled().&&.(!$this->enhan
1720a0 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 7c 7c 20 2d 31 20 3d 3d ceSigchildCompatibility.||.-1.==
1720c0 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 =.$this->processInformation['ter
1720e0 6d 73 69 67 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 msig'])).{.throw.new.RuntimeExce
172100 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 ption('This.PHP.has.been.compile
172120 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d 20 73 d.with.--enable-sigchild..Term.s
172140 69 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b 0a 7d ignal.can.not.be.retrieved.');.}
172160 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 ..return.$this->processInformati
172180 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 on['termsig'];.}...........publi
1721a0 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 6e 53 74 6f 70 70 65 64 28 29 0a 7b 0a 24 74 c.function.hasBeenStopped().{.$t
1721c0 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 his->requireProcessIsTerminated(
1721e0 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 __FUNCTION__);..return.$this->pr
172200 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 74 6f 70 70 65 64 27 5d 3b 0a 7d 0a 0a ocessInformation['stopped'];.}..
172220 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 6f 70 .........public.function.getStop
172240 53 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 Signal().{.$this->requireProcess
172260 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 65 74 IsTerminated(__FUNCTION__);..ret
172280 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 urn.$this->processInformation['s
1722a0 74 6f 70 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f topsig'];.}.......public.functio
1722c0 6e 20 69 73 52 75 6e 6e 69 6e 67 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 55 53 n.isRunning().{.if.(self::STATUS
1722e0 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a 72 65 _STARTED.!==.$this->status).{.re
172300 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 turn.false;.}..$this->updateStat
172320 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 us(false);..return.$this->proces
172340 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e 69 6e 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a sInformation['running'];.}......
172360 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 74 61 72 74 65 64 28 29 0a 7b 0a 72 .public.function.isStarted().{.r
172380 65 74 75 72 6e 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 20 21 3d 20 24 74 68 69 eturn.self::STATUS_READY.!=.$thi
1723a0 73 2d 3e 73 74 61 74 75 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s->status;.}.......public.functi
1723c0 6f 6e 20 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 on.isTerminated().{.$this->updat
1723e0 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 53 54 eStatus(false);..return.self::ST
172400 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 20 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 ATUS_TERMINATED.==.$this->status
172420 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 ;.}.........public.function.getS
172440 74 61 74 75 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 66 61 tatus().{.$this->updateStatus(fa
172460 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 3b 0a 7d 0a 0a lse);..return.$this->status;.}..
172480 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 74 69 ........public.function.stop($ti
1724a0 6d 65 6f 75 74 20 3d 20 31 30 2c 20 24 73 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 meout.=.10,.$signal.=.null).{.$t
1724c0 69 6d 65 6f 75 74 4d 69 63 72 6f 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2b 20 imeoutMicro.=.microtime(true).+.
1724e0 24 74 69 6d 65 6f 75 74 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 $timeout;.if.($this->isRunning()
172500 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 31 35 2c 20 66 61 6c 73 65 29 ).{...$this->doSignal(15,.false)
172520 3b 0a 64 6f 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 74 ;.do.{.usleep(1000);.}.while.($t
172540 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 26 26 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 his->isRunning().&&.microtime(tr
172560 75 65 29 20 3c 20 24 74 69 6d 65 6f 75 74 4d 69 63 72 6f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 ue).<.$timeoutMicro);..if.($this
172580 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 64 6f 53 69 ->isRunning()).{.....$this->doSi
1725a0 67 6e 61 6c 28 24 73 69 67 6e 61 6c 20 3f 3a 20 39 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a gnal($signal.?:.9,.false);.}.}..
1725c0 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 69 66 20 28 69 73 if.($this->isRunning()).{.if.(is
1725e0 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 70 69 64 27 5d set($this->fallbackStatus['pid']
172600 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 )).{.unset($this->fallbackStatus
172620 5b 27 70 69 64 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 2c ['pid']);..return.$this->stop(0,
172640 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a .$signal);.}.$this->close();.}..
172660 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a return.$this->exitcode;.}.......
172680 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 75 74 70 75 74 28 24 6c 69 6e ..public.function.addOutput($lin
1726a0 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 e).{.$this->lastOutputTime.=.mic
1726c0 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 6f rotime(true);..fseek($this->stdo
1726e0 75 74 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e ut,.0,.SEEK_END);.fwrite($this->
172700 73 74 64 6f 75 74 2c 20 24 6c 69 6e 65 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 stdout,.$line);.fseek($this->std
172720 6f 75 74 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 out,.$this->incrementalOutputOff
172740 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 set);.}.........public.function.
172760 61 64 64 45 72 72 6f 72 4f 75 74 70 75 74 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c addErrorOutput($line).{.$this->l
172780 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b astOutputTime.=.microtime(true);
1727a0 0a 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 2c 20 53 45 45 4b 5f 45 ..fseek($this->stderr,.0,.SEEK_E
1727c0 4e 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 6c 69 6e 65 ND);.fwrite($this->stderr,.$line
1727e0 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 74 68 69 73 2d 3e 69 );.fseek($this->stderr,.$this->i
172800 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 7d 0a ncrementalErrorOutputOffset);.}.
172820 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 ......public.function.getCommand
172840 4c 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 Line().{.return.$this->commandli
172860 6e 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ne;.}.........public.function.se
172880 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 29 0a 7b 0a 24 74 68 tCommandLine($commandline).{.$th
1728a0 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a is->commandline.=.$commandline;.
1728c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .return.$this;.}.......public.fu
1728e0 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getTimeout().{.return.$th
172900 69 73 2d 3e 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->timeout;.}.......public.func
172920 74 69 6f 6e 20 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 tion.getIdleTimeout().{.return.$
172940 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a this->idleTimeout;.}............
172960 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d .public.function.setTimeout($tim
172980 65 6f 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 68 69 73 2d 3e eout).{.$this->timeout.=.$this->
1729a0 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 0a 72 65 74 75 validateTimeout($timeout);..retu
1729c0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rn.$this;.}..............public.
1729e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 function.setIdleTimeout($timeout
172a00 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 ).{.if.(null.!==.$timeout.&&.$th
172a20 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 is->outputDisabled).{.throw.new.
172a40 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 64 6c 65 20 74 69 6d 65 6f 75 74 20 63 61 6e LogicException('Idle.timeout.can
172a60 20 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 .not.be.set.while.the.output.is.
172a80 64 69 73 61 62 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f disabled.');.}..$this->idleTimeo
172aa0 75 74 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d ut.=.$this->validateTimeout($tim
172ac0 65 6f 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a eout);..return.$this;.}.........
172ae0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 74 79 28 24 74 74 79 29 0a 7b ..public.function.setTty($tty).{
172b00 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 .if.('\\'.===.\DIRECTORY_SEPARAT
172b20 4f 52 20 26 26 20 24 74 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 OR.&&.$tty).{.throw.new.RuntimeE
172b40 78 63 65 70 74 69 6f 6e 28 27 54 54 59 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 xception('TTY.mode.is.not.suppor
172b60 74 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 27 29 3b 0a 7d 0a 69 66 ted.on.Windows.platform.');.}.if
172b80 20 28 24 74 74 79 29 20 7b 0a 73 74 61 74 69 63 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 .($tty).{.static.$isTtySupported
172ba0 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 29 ;..if.(null.===.$isTtySupported)
172bc0 20 7b 0a 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 6f .{.$isTtySupported.=.(bool).@pro
172be0 63 5f 6f 70 65 6e 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 61 c_open('echo.1.>/dev/null',.arra
172c00 79 28 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 27 29 y(array('file',.'/dev/tty',.'r')
172c20 2c 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 ,.array('file',.'/dev/tty',.'w')
172c40 2c 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 ,.array('file',.'/dev/tty',.'w')
172c60 29 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 54 74 79 53 75 70 70 6f 72 ),.$pipes);.}..if.(!$isTtySuppor
172c80 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ted).{.throw.new.RuntimeExceptio
172ca0 6e 28 27 54 54 59 20 6d 6f 64 65 20 72 65 71 75 69 72 65 73 20 2f 64 65 76 2f 74 74 79 20 74 6f n('TTY.mode.requires./dev/tty.to
172cc0 20 62 65 20 72 65 61 64 2f 77 72 69 74 61 62 6c 65 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 .be.read/writable.');.}.}..$this
172ce0 2d 3e 74 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 74 74 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ->tty.=.(bool).$tty;..return.$th
172d00 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 74 is;.}.......public.function.isTt
172d20 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a y().{.return.$this->tty;.}......
172d40 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 74 79 28 24 62 6f 6f 6c 29 ...public.function.setPty($bool)
172d60 0a 7b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 3b 0a 0a 72 .{.$this->pty.=.(bool).$bool;..r
172d80 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
172da0 74 69 6f 6e 20 69 73 50 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 74 79 tion.isPty().{.return.$this->pty
172dc0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 6f 72 ;.}.......public.function.getWor
172de0 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 kingDirectory().{.if.(null.===.$
172e00 74 68 69 73 2d 3e 63 77 64 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 67 65 74 63 77 64 28 29 this->cwd).{.....return.getcwd()
172e20 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 77 64 3b 0a .?:.null;.}..return.$this->cwd;.
172e40 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 6f 72 }.........public.function.setWor
172e60 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 77 64 kingDirectory($cwd).{.$this->cwd
172e80 20 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .=.$cwd;..return.$this;.}.......
172ea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 28 29 0a 7b 0a 72 65 74 75 72 public.function.getEnv().{.retur
172ec0 6e 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 n.$this->env;.}...............pu
172ee0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 61 72 72 61 79 20 24 65 6e 76 29 blic.function.setEnv(array.$env)
172f00 0a 7b 0a 0a 20 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 65 6e 76 2c 20 66 .{...$env.=.array_filter($env,.f
172f20 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 21 5c 69 73 5f 61 unction.($value).{.return.!\is_a
172f40 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 rray($value);.});..$this->env.=.
172f60 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 76 20 61 73 20 24 6b 65 79 20 3d array();.foreach.($env.as.$key.=
172f80 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 24 6b 65 79 5d 20 3d 20 28 >.$value).{.$this->env[$key].=.(
172fa0 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b string).$value;.}..return.$this;
172fc0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .}...........public.function.get
172fe0 53 74 64 69 6e 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e Stdin().{.@trigger_error('The.'.
173000 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 __METHOD__.'.method.is.deprecate
173020 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.5.and.will.be.
173040 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 67 65 74 49 6e 70 75 74 removed.in.3.0..Use.the.getInput
173060 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 ().method.instead.',.E_USER_DEPR
173080 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 ECATED);..return.$this->getInput
1730a0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 ();.}.......public.function.getI
1730c0 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a nput().{.return.$this->input;.}.
1730e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ..............public.function.se
173100 74 53 74 64 69 6e 28 24 73 74 64 69 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 tStdin($stdin).{.@trigger_error(
173120 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 'The.'.__METHOD__.'.method.is.de
173140 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 precated.since.Symfony.2.5.and.w
173160 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 ill.be.removed.in.3.0..Use.the.s
173180 65 74 49 6e 70 75 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 etInput().method.instead.',.E_US
1731a0 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 ER_DEPRECATED);..return.$this->s
1731c0 65 74 49 6e 70 75 74 28 24 73 74 64 69 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a etInput($stdin);.}..............
1731e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 .public.function.setInput($input
173200 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 ).{.if.($this->isRunning()).{.th
173220 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 75 74 20 63 61 row.new.LogicException('Input.ca
173240 6e 20 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 n.not.be.set.while.the.process.i
173260 73 20 72 75 6e 6e 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 s.running.');.}..$this->input.=.
173280 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 5f 5f 4d 45 ProcessUtils::validateInput(__ME
1732a0 54 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a THOD__,.$input);..return.$this;.
1732c0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f }.......public.function.getOptio
1732e0 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a ns().{.return.$this->options;.}.
173300 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f ........public.function.setOptio
173320 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 ns(array.$options).{.$this->opti
173340 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ons.=.$options;..return.$this;.}
173360 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 .........public.function.getEnha
173380 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 nceWindowsCompatibility().{.retu
1733a0 72 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 rn.$this->enhanceWindowsCompatib
1733c0 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ility;.}.........public.function
1733e0 20 73 65 74 45 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 .setEnhanceWindowsCompatibility(
173400 24 65 6e 68 61 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 $enhance).{.$this->enhanceWindow
173420 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 sCompatibility.=.(bool).$enhance
173440 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
173460 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 function.getEnhanceSigchildCompa
173480 74 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e tibility().{.return.$this->enhan
1734a0 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a ceSigchildCompatibility;.}......
1734c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 68 61 6e 63 .......public.function.setEnhanc
1734e0 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 24 65 6e 68 61 6e 63 65 29 eSigchildCompatibility($enhance)
173500 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 .{.$this->enhanceSigchildCompati
173520 62 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 3b 0a 0a 72 65 74 75 72 bility.=.(bool).$enhance;..retur
173540 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.$this;.}..........public.funct
173560 69 6f 6e 20 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 ion.checkTimeout().{.if.(self::S
173580 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 TATUS_STARTED.!==.$this->status)
1735a0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 .{.return;.}..if.(null.!==.$this
1735c0 2d 3e 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3c 20 6d 69 ->timeout.&&.$this->timeout.<.mi
1735e0 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 crotime(true).-.$this->starttime
173600 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 ).{.$this->stop(0);..throw.new.P
173620 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2c 20 50 rocessTimedOutException($this,.P
173640 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 3a 3a 54 59 50 45 5f 47 45 rocessTimedOutException::TYPE_GE
173660 4e 45 52 41 4c 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 NERAL);.}..if.(null.!==.$this->i
173680 64 6c 65 54 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 dleTimeout.&&.$this->idleTimeout
1736a0 20 3c 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 6c 61 73 74 .<.microtime(true).-.$this->last
1736c0 4f 75 74 70 75 74 54 69 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 OutputTime).{.$this->stop(0);..t
1736e0 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f hrow.new.ProcessTimedOutExceptio
173700 6e 28 24 74 68 69 73 2c 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f n($this,.ProcessTimedOutExceptio
173720 6e 3a 3a 54 59 50 45 5f 49 44 4c 45 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n::TYPE_IDLE);.}.}.......public.
173740 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 74 79 53 75 70 70 6f 72 74 65 64 28 29 static.function.isPtySupported()
173760 0a 7b 0a 73 74 61 74 69 63 20 24 72 65 73 75 6c 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d .{.static.$result;..if.(null.!==
173780 20 24 72 65 73 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 .$result).{.return.$result;.}..i
1737a0 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 f.('\\'.===.\DIRECTORY_SEPARATOR
1737c0 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 ).{.return.$result.=.false;.}..r
1737e0 65 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 6f 63 5f 6f 70 65 eturn.$result.=.(bool).@proc_ope
173800 6e 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 61 79 28 61 72 72 n('echo.1.>/dev/null',.array(arr
173820 61 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 ay('pty'),.array('pty'),.array('
173840 70 74 79 27 29 29 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 pty')),.$pipes);.}.......private
173860 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 .function.getDescriptors().{.if.
173880 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 ('\\'.===.\DIRECTORY_SEPARATOR).
1738a0 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 3d 20 57 69 6e 64 6f 77 73 50 {.$this->processPipes.=.WindowsP
1738c0 69 70 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 ipes::create($this,.$this->input
1738e0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 );.}.else.{.$this->processPipes.
173900 3d 20 55 6e 69 78 50 69 70 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 =.UnixPipes::create($this,.$this
173920 2d 3e 69 6e 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 ->input);.}..return.$this->proce
173940 73 73 50 69 70 65 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 7d 0a 0a 0a 0a ssPipes->getDescriptors();.}....
173960 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 ........protected.function.build
173980 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 Callback($callback).{.$that.=.$t
1739a0 68 69 73 3b 0a 24 6f 75 74 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 3b 0a 24 63 61 6c 6c 62 61 63 6b his;.$out.=.self::OUT;.$callback
1739c0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 .=.function.($type,.$data).use.(
1739e0 24 74 68 61 74 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 6f 75 74 29 20 7b 0a 69 66 20 28 24 6f $that,.$callback,.$out).{.if.($o
173a00 75 74 20 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 4f 75 74 70 75 74 28 ut.==.$type).{.$that->addOutput(
173a20 24 64 61 74 61 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 45 72 72 6f 72 $data);.}.else.{.$that->addError
173a40 4f 75 74 70 75 74 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 Output($data);.}..if.(null.!==.$
173a60 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c callback).{.\call_user_func($cal
173a80 6c 62 61 63 6b 2c 20 24 74 79 70 65 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 7d 3b 0a 0a 72 65 74 75 lback,.$type,.$data);.}.};..retu
173aa0 72 6e 20 24 63 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 rn.$callback;.}.......protected.
173ac0 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 74 75 73 28 24 62 6c 6f 63 6b 69 6e 67 29 function.updateStatus($blocking)
173ae0 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 .{.if.(self::STATUS_STARTED.!==.
173b00 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 $this->status).{.return;.}..$thi
173b20 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 70 72 6f 63 5f 67 65 74 s->processInformation.=.proc_get
173b40 5f 73 74 61 74 75 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 72 75 6e 6e 69 6e _status($this->process);.$runnin
173b60 67 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 g.=.$this->processInformation['r
173b80 75 6e 6e 69 6e 67 27 5d 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e unning'];..$this->readPipes($run
173ba0 6e 69 6e 67 20 26 26 20 24 62 6c 6f 63 6b 69 6e 67 2c 20 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 ning.&&.$blocking,.'\\'.!==.\DIR
173bc0 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e 69 6e 67 29 3b 0a ECTORY_SEPARATOR.||.!$running);.
173be0 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 26 26 20 24 74 .if.($this->fallbackStatus.&&.$t
173c00 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 his->enhanceSigchildCompatibilit
173c20 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 y.&&.$this->isSigchildEnabled())
173c40 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 24 .{.$this->processInformation.=.$
173c60 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 2b 20 24 74 68 69 73 2d 3e 70 72 this->fallbackStatus.+.$this->pr
173c80 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 75 6e 6e 69 ocessInformation;.}..if.(!$runni
173ca0 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ng).{.$this->close();.}.}.......
173cc0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 69 67 63 68 69 6c 64 45 6e 61 protected.function.isSigchildEna
173ce0 62 6c 65 64 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 69 67 bled().{.if.(null.!==.self::$sig
173d00 63 68 69 6c 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 3b child).{.return.self::$sigchild;
173d20 0a 7d 0a 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 69 6e .}..if.(!\function_exists('phpin
173d40 66 6f 27 29 20 7c 7c 20 5c 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 fo').||.\defined('HHVM_VERSION')
173d60 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 20 3d 20 66 61 6c ).{.return.self::$sigchild.=.fal
173d80 73 65 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 70 68 70 69 6e 66 6f 28 49 4e 46 4f 5f se;.}..ob_start();.phpinfo(INFO_
173da0 47 45 4e 45 52 41 4c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c GENERAL);..return.self::$sigchil
173dc0 64 20 3d 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 6f 62 5f 67 65 74 5f 63 6c 65 61 d.=.false.!==.strpos(ob_get_clea
173de0 6e 28 29 2c 20 27 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 27 29 3b 0a 7d 0a 0a 0a 0a n(),.'--enable-sigchild');.}....
173e00 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 69 70 65 73 46 .....private.function.readPipesF
173e20 6f 72 4f 75 74 70 75 74 28 24 63 61 6c 6c 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f orOutput($caller).{.if.($this->o
173e40 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 utputDisabled).{.throw.new.Logic
173e60 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 Exception('Output.has.been.disab
173e80 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 led.');.}..$this->requireProcess
173ea0 49 73 53 74 61 72 74 65 64 28 24 63 61 6c 6c 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 IsStarted($caller);..$this->upda
173ec0 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 teStatus(false);.}...........pri
173ee0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 vate.function.validateTimeout($t
173f00 69 6d 65 6f 75 74 29 0a 7b 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 imeout).{.$timeout.=.(float).$ti
173f20 6d 65 6f 75 74 3b 0a 0a 69 66 20 28 30 2e 30 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a meout;..if.(0.0.===.$timeout).{.
173f40 24 74 69 6d 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 69 6d 65 $timeout.=.null;.}.elseif.($time
173f60 6f 75 74 20 3c 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 out.<.0).{.throw.new.InvalidArgu
173f80 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 mentException('The.timeout.value
173fa0 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 .must.be.a.valid.positive.intege
173fc0 72 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 r.or.float.number.');.}..return.
173fe0 24 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 $timeout;.}........private.funct
174000 69 6f 6e 20 72 65 61 64 50 69 70 65 73 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 29 ion.readPipes($blocking,.$close)
174020 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 .{.$result.=.$this->processPipes
174040 2d 3e 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 ->readAndWrite($blocking,.$close
174060 29 3b 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 3b );..$callback.=.$this->callback;
174080 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 64 .foreach.($result.as.$type.=>.$d
1740a0 61 74 61 29 20 7b 0a 69 66 20 28 33 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 63 61 6c 6c 62 ata).{.if.(3.!==.$type).{.$callb
1740c0 61 63 6b 28 73 65 6c 66 3a 3a 53 54 44 4f 55 54 20 3d 3d 3d 20 24 74 79 70 65 20 3f 20 73 65 6c ack(self::STDOUT.===.$type.?.sel
1740e0 66 3a 3a 4f 55 54 20 3a 20 73 65 6c 66 3a 3a 45 52 52 2c 20 24 64 61 74 61 29 3b 0a 7d 20 65 6c f::OUT.:.self::ERR,.$data);.}.el
174100 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 seif.(!isset($this->fallbackStat
174120 75 73 5b 27 73 69 67 6e 61 6c 65 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 us['signaled'])).{.$this->fallba
174140 63 6b 53 74 61 74 75 73 5b 27 65 78 69 74 63 6f 64 65 27 5d 20 3d 20 28 69 6e 74 29 20 24 64 61 ckStatus['exitcode'].=.(int).$da
174160 74 61 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ta;.}.}.}.......private.function
174180 20 63 6c 6f 73 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e .close().{.$this->processPipes->
1741a0 63 6c 6f 73 65 28 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d close();.if.(\is_resource($this-
1741c0 3e 70 72 6f 63 65 73 73 29 29 20 7b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 >process)).{.proc_close($this->p
1741e0 72 6f 63 65 73 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 rocess);.}.$this->exitcode.=.$th
174200 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 is->processInformation['exitcode
174220 27 5d 3b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 '];.$this->status.=.self::STATUS
174240 5f 54 45 52 4d 49 4e 41 54 45 44 3b 0a 0a 69 66 20 28 2d 31 20 3d 3d 3d 20 24 74 68 69 73 2d 3e _TERMINATED;..if.(-1.===.$this->
174260 65 78 69 74 63 6f 64 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e exitcode).{.if.($this->processIn
174280 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 30 20 3c 20 24 74 68 formation['signaled'].&&.0.<.$th
1742a0 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 is->processInformation['termsig'
1742c0 5d 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 31 32 38 20 2b 20 24 ]).{...$this->exitcode.=.128.+.$
1742e0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 this->processInformation['termsi
174300 67 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 g'];.}.elseif.($this->enhanceSig
174320 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 childCompatibility.&&.$this->isS
174340 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 igchildEnabled()).{.$this->proce
174360 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 3d 20 74 72 75 65 ssInformation['signaled'].=.true
174380 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 ;.$this->processInformation['ter
1743a0 6d 73 69 67 27 5d 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 msig'].=.-1;.}.}........$this->c
1743c0 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 allback.=.null;..return.$this->e
1743e0 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 xitcode;.}.....private.function.
174400 72 65 73 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 resetProcessData().{.$this->star
174420 74 74 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 ttime.=.null;.$this->callback.=.
174440 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 null;.$this->exitcode.=.null;.$t
174460 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 his->fallbackStatus.=.array();.$
174480 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b this->processInformation.=.null;
1744a0 0a 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 74 65 .$this->stdout.=.fopen('php://te
1744c0 6d 70 2f 6d 61 78 6d 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 29 2c 20 27 77 mp/maxmemory:'.(1024.*.1024),.'w
1744e0 2b 62 27 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 +b');.$this->stderr.=.fopen('php
174500 3a 2f 2f 74 65 6d 70 2f 6d 61 78 6d 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 ://temp/maxmemory:'.(1024.*.1024
174520 29 2c 20 27 77 2b 62 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c ),.'w+b');.$this->process.=.null
174540 3b 0a 24 74 68 69 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 74 ;.$this->latestSignal.=.null;.$t
174560 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 his->status.=.self::STATUS_READY
174580 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 ;.$this->incrementalOutputOffset
1745a0 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 .=.0;.$this->incrementalErrorOut
1745c0 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 putOffset.=.0;.}..............pr
1745e0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c ivate.function.doSignal($signal,
174600 20 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d .$throwException).{.if.(null.===
174620 20 24 70 69 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 69 64 28 29 29 20 7b 0a 69 66 20 28 24 .$pid.=.$this->getPid()).{.if.($
174640 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 throwException).{.throw.new.Logi
174660 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 73 65 6e 64 20 73 69 67 6e 61 6c 20 cException('Can.not.send.signal.
174680 6f 6e 20 61 20 6e 6f 6e 20 72 75 6e 6e 69 6e 67 20 70 72 6f 63 65 73 73 2e 27 29 3b 0a 7d 0a 0a on.a.non.running.process.');.}..
1746a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 return.false;.}..if.('\\'.===.\D
1746c0 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 65 78 65 63 28 73 70 72 69 6e IRECTORY_SEPARATOR).{.exec(sprin
1746e0 74 66 28 27 74 61 73 6b 6b 69 6c 6c 20 2f 46 20 2f 54 20 2f 50 49 44 20 25 64 20 32 3e 26 31 27 tf('taskkill./F./T./PID.%d.2>&1'
174700 2c 20 24 70 69 64 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 69 66 ,.$pid),.$output,.$exitCode);.if
174720 20 28 24 65 78 69 74 43 6f 64 65 20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 .($exitCode.&&.$this->isRunning(
174740 29 29 20 7b 0a 69 66 20 28 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f )).{.if.($throwException).{.thro
174760 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 w.new.RuntimeException(sprintf('
174780 55 6e 61 62 6c 65 20 74 6f 20 6b 69 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 25 73 29 2e Unable.to.kill.the.process.(%s).
1747a0 27 2c 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 6f 75 74 70 75 74 29 29 29 3b 0a 7d 0a 0a 72 ',.implode('.',.$output)));.}..r
1747c0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 74 68 eturn.false;.}.}.else.{.if.(!$th
1747e0 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 is->enhanceSigchildCompatibility
174800 20 7c 7c 20 21 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 .||.!$this->isSigchildEnabled())
174820 20 7b 0a 24 6f 6b 20 3d 20 40 70 72 6f 63 5f 74 65 72 6d 69 6e 61 74 65 28 24 74 68 69 73 2d 3e .{.$ok.=.@proc_terminate($this->
174840 70 72 6f 63 65 73 73 2c 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 process,.$signal);.}.elseif.(\fu
174860 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 6b 69 6c 6c 27 29 29 20 7b 0a 24 nction_exists('posix_kill')).{.$
174880 6f 6b 20 3d 20 40 70 6f 73 69 78 5f 6b 69 6c 6c 28 24 70 69 64 2c 20 24 73 69 67 6e 61 6c 29 3b ok.=.@posix_kill($pid,.$signal);
1748a0 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 6b 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 73 70 72 69 6e .}.elseif.($ok.=.proc_open(sprin
1748c0 74 66 28 27 6b 69 6c 6c 20 2d 25 64 20 25 64 27 2c 20 24 73 69 67 6e 61 6c 2c 20 24 70 69 64 29 tf('kill.-%d.%d',.$signal,.$pid)
1748e0 2c 20 61 72 72 61 79 28 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 ,.array(2.=>.array('pipe',.'w'))
174900 2c 20 24 70 69 70 65 73 29 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 66 67 65 ,.$pipes)).{.$ok.=.false.===.fge
174920 74 73 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 7d 0a 69 66 20 28 21 24 6f 6b 29 20 7b 0a 69 66 20 ts($pipes[2]);.}.if.(!$ok).{.if.
174940 28 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 ($throwException).{.throw.new.Ru
174960 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 45 72 72 6f 72 20 77 68 ntimeException(sprintf('Error.wh
174980 69 6c 65 20 73 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 20 60 25 73 60 2e 27 2c 20 24 73 69 67 6e ile.sending.signal.`%s`.',.$sign
1749a0 61 6c 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 al));.}..return.false;.}.}..$thi
1749c0 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 20 3d 20 28 69 6e 74 29 20 24 73 69 67 6e 61 6c 3b s->latestSignal.=.(int).$signal;
1749e0 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 73 69 67 6e 61 6c 65 64 .$this->fallbackStatus['signaled
174a00 27 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 '].=.true;.$this->fallbackStatus
174a20 5b 27 65 78 69 74 63 6f 64 65 27 5d 20 3d 20 2d 31 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 ['exitcode'].=.-1;.$this->fallba
174a40 63 6b 53 74 61 74 75 73 5b 27 74 65 72 6d 73 69 67 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 61 74 ckStatus['termsig'].=.$this->lat
174a60 65 73 74 53 69 67 6e 61 6c 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a estSignal;..return.true;.}......
174a80 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 65 ...private.function.requireProce
174aa0 73 73 49 73 53 74 61 72 74 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b 0a 69 66 20 ssIsStarted($functionName).{.if.
174ac0 28 21 24 74 68 69 73 2d 3e 69 73 53 74 61 72 74 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 (!$this->isStarted()).{.throw.ne
174ae0 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 72 6f 63 65 73 w.LogicException(sprintf('Proces
174b00 73 20 6d 75 73 74 20 62 65 20 73 74 61 72 74 65 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 s.must.be.started.before.calling
174b20 20 25 73 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a .%s.',.$functionName));.}.}.....
174b40 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 ....private.function.requireProc
174b60 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b essIsTerminated($functionName).{
174b80 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 29 20 7b 0a 74 .if.(!$this->isTerminated()).{.t
174ba0 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 hrow.new.LogicException(sprintf(
174bc0 27 50 72 6f 63 65 73 73 20 6d 75 73 74 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 62 65 66 6f 'Process.must.be.terminated.befo
174be0 72 65 20 63 61 6c 6c 69 6e 67 20 25 73 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 re.calling.%s.',.$functionName))
174c00 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ;.}.}.}.<?php...........namespac
174c20 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 e.Symfony\Component\Process;..us
174c40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 e.Symfony\Component\Process\Exce
174c60 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a ption\InvalidArgumentException;.
174c80 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
174ca0 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 ception\LogicException;.....clas
174cc0 73 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 72 67 75 s.ProcessBuilder.{.private.$argu
174ce0 6d 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e ments;.private.$cwd;.private.$en
174d00 76 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 v.=.array();.private.$input;.pri
174d20 76 61 74 65 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 vate.$timeout.=.60;.private.$opt
174d40 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 68 65 72 69 74 ions.=.array();.private.$inherit
174d60 45 6e 76 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 20 3d 20 61 72 Env.=.true;.private.$prefix.=.ar
174d80 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d ray();.private.$outputDisabled.=
174da0 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f .false;.....public.function.__co
174dc0 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 nstruct(array.$arguments.=.array
174de0 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 ()).{.$this->arguments.=.$argume
174e00 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e nts;.}.........public.static.fun
174e20 63 74 69 6f 6e 20 63 72 65 61 74 65 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 ction.create(array.$arguments.=.
174e40 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 61 72 array()).{.return.new.static($ar
174e60 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 guments);.}.........public.funct
174e80 69 6f 6e 20 61 64 64 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 ion.add($argument).{.$this->argu
174ea0 6d 65 6e 74 73 5b 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ments[].=.$argument;..return.$th
174ec0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 is;.}...........public.function.
174ee0 73 65 74 50 72 65 66 69 78 28 24 70 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 setPrefix($prefix).{.$this->pref
174f00 69 78 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 66 69 78 29 20 3f 20 24 70 72 65 66 69 ix.=.\is_array($prefix).?.$prefi
174f20 78 20 3a 20 61 72 72 61 79 28 24 70 72 65 66 69 78 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 x.:.array($prefix);..return.$thi
174f40 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 s;.}............public.function.
174f60 73 65 74 41 72 67 75 6d 65 6e 74 73 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b setArguments(array.$arguments).{
174f80 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a .$this->arguments.=.$arguments;.
174fa0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
174fc0 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 function.setWorkingDirectory($cw
174fe0 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 d).{.$this->cwd.=.$cwd;..return.
175000 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $this;.}.........public.function
175020 20 69 6e 68 65 72 69 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 24 69 6e .inheritEnvironmentVariables($in
175040 68 65 72 69 74 45 6e 76 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 heritEnv.=.true).{.$this->inheri
175060 74 45 6e 76 20 3d 20 24 69 6e 68 65 72 69 74 45 6e 76 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 tEnv.=.$inheritEnv;..return.$thi
175080 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e s;.}.............public.function
1750a0 20 73 65 74 45 6e 76 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e .setEnv($name,.$value).{.$this->
1750c0 65 6e 76 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 env[$name].=.$value;..return.$th
1750e0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f is;.}.............public.functio
175100 6e 20 61 64 64 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 61 72 72 61 79 20 n.addEnvironmentVariables(array.
175120 24 76 61 72 69 61 62 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 61 72 72 61 79 $variables).{.$this->env.=.array
175140 5f 72 65 70 6c 61 63 65 28 24 74 68 69 73 2d 3e 65 6e 76 2c 20 24 76 61 72 69 61 62 6c 65 73 29 _replace($this->env,.$variables)
175160 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ;..return.$this;.}.............p
175180 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 0a ublic.function.setInput($input).
1751a0 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 {.$this->input.=.ProcessUtils::v
1751c0 61 6c 69 64 61 74 65 49 6e 70 75 74 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 alidateInput(__METHOD__,.$input)
1751e0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ;..return.$this;.}.............p
175200 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f ublic.function.setTimeout($timeo
175220 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 ut).{.if.(null.===.$timeout).{.$
175240 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 this->timeout.=.null;..return.$t
175260 68 69 73 3b 0a 7d 0a 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d 65 his;.}..$timeout.=.(float).$time
175280 6f 75 74 3b 0a 0a 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3c 20 30 29 20 7b 0a 74 68 72 6f 77 20 out;..if.($timeout.<.0).{.throw.
1752a0 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 new.InvalidArgumentException('Th
1752c0 65 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 e.timeout.value.must.be.a.valid.
1752e0 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 positive.integer.or.float.number
175300 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 6f 75 .');.}..$this->timeout.=.$timeou
175320 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 t;..return.$this;.}..........pub
175340 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 lic.function.setOption($name,.$v
175360 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 alue).{.$this->options[$name].=.
175380 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 $value;..return.$this;.}.......p
1753a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b ublic.function.disableOutput().{
1753c0 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a .$this->outputDisabled.=.true;..
1753e0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$this;.}.......public.fun
175400 63 74 69 6f 6e 20 65 6e 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 ction.enableOutput().{.$this->ou
175420 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 tputDisabled.=.false;..return.$t
175440 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 his;.}.........public.function.g
175460 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 etProcess().{.if.(0.===.\count($
175480 74 68 69 73 2d 3e 70 72 65 66 69 78 29 20 26 26 20 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 this->prefix).&&.0.===.\count($t
1754a0 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 his->arguments)).{.throw.new.Log
1754c0 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 61 64 64 28 29 20 63 6f 6d 6d icException('You.must.add().comm
1754e0 61 6e 64 20 61 72 67 75 6d 65 6e 74 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 67 65 74 and.arguments.before.calling.get
175500 50 72 6f 63 65 73 73 28 29 2e 27 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 Process().');.}..$options.=.$thi
175520 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f s->options;..$arguments.=.array_
175540 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 2c 20 24 74 68 69 73 2d 3e 61 72 67 75 merge($this->prefix,.$this->argu
175560 6d 65 6e 74 73 29 3b 0a 24 73 63 72 69 70 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 ments);.$script.=.implode('.',.a
175580 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 5c rray_map(array(__NAMESPACE__.'\\
1755a0 50 72 6f 63 65 73 73 55 74 69 6c 73 27 2c 20 27 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 27 29 ProcessUtils',.'escapeArgument')
1755c0 2c 20 24 61 72 67 75 6d 65 6e 74 73 29 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 68 65 ,.$arguments));..if.($this->inhe
1755e0 72 69 74 45 6e 76 29 20 7b 0a 0a 20 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 ritEnv).{...$env.=.array_replace
175600 28 24 5f 45 4e 56 2c 20 24 5f 53 45 52 56 45 52 2c 20 24 74 68 69 73 2d 3e 65 6e 76 29 3b 0a 7d ($_ENV,.$_SERVER,.$this->env);.}
175620 20 65 6c 73 65 20 7b 0a 24 65 6e 76 20 3d 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 24 70 .else.{.$env.=.$this->env;.}..$p
175640 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 73 63 72 69 70 74 2c 20 24 74 rocess.=.new.Process($script,.$t
175660 68 69 73 2d 3e 63 77 64 2c 20 24 65 6e 76 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 his->cwd,.$env,.$this->input,.$t
175680 68 69 73 2d 3e 74 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 74 his->timeout,.$options);..if.($t
1756a0 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d his->outputDisabled).{.$process-
1756c0 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f >disableOutput();.}..return.$pro
1756e0 63 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 cess;.}.}.<?php...........namesp
175700 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a ace.Symfony\Component\Process;..
175720 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
175740 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ception\InvalidArgumentException
175760 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 55 74 69 6c 73 0a 7b 0a 0a ;.........class.ProcessUtils.{..
175780 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 ..private.function.__construct()
1757a0 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 .{.}.........public.static.funct
1757c0 69 6f 6e 20 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a ion.escapeArgument($argument).{.
1757e0 0a 20 0a 20 0a 20 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f ........if.('\\'.===.\DIRECTORY_
175800 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e SEPARATOR).{.if.(''.===.$argumen
175820 74 29 20 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 t).{.return.escapeshellarg($argu
175840 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b ment);.}..$escapedArgument.=.'';
175860 0a 24 71 75 6f 74 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 .$quote.=.false;.foreach.(preg_s
175880 70 6c 69 74 28 27 2f 28 22 29 2f 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 52 45 plit('/(")/',.$argument,.-1,.PRE
1758a0 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f 44 45 G_SPLIT_NO_EMPTY.|.PREG_SPLIT_DE
1758c0 4c 49 4d 5f 43 41 50 54 55 52 45 29 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 22 27 LIM_CAPTURE).as.$part).{.if.('"'
1758e0 20 3d 3d 3d 20 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e .===.$part).{.$escapedArgument..
175900 3d 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 72 6f =.'\\"';.}.elseif.(self::isSurro
175920 75 6e 64 65 64 42 79 28 24 70 61 72 74 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 70 65 undedBy($part,.'%')).{...$escape
175940 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 74 2c dArgument..=.'^%"'.substr($part,
175960 20 31 2c 20 2d 31 29 2e 27 22 5e 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 27 5c .1,.-1).'"^%';.}.else.{...if.('\
175980 5c 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 61 72 \'.===.substr($part,.-1)).{.$par
1759a0 74 20 2e 3d 20 27 5c 5c 27 3b 0a 7d 0a 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 t..=.'\\';.}.$quote.=.true;.$esc
1759c0 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 28 24 apedArgument..=.$part;.}.}.if.($
1759e0 71 75 6f 74 65 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 27 2e quote).{.$escapedArgument.=.'"'.
175a00 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 $escapedArgument.'"';.}..return.
175a20 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 22 2e $escapedArgument;.}..return."'".
175a40 73 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 75 6d str_replace("'",."'\\''",.$argum
175a60 65 6e 74 29 2e 22 27 22 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ent)."'";.}..............public.
175a80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 24 63 static.function.validateInput($c
175aa0 61 6c 6c 65 72 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 aller,.$input).{.if.(null.!==.$i
175ac0 6e 70 75 74 29 20 7b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 69 6e 70 75 74 29 nput).{.if.(\is_resource($input)
175ae0 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 69 66 20 28 5c 69 73 5f 73 74 72 ).{.return.$input;.}.if.(\is_str
175b00 69 6e 67 28 24 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a ing($input)).{.return.$input;.}.
175b20 69 66 20 28 69 73 5f 73 63 61 6c 61 72 28 24 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 if.(is_scalar($input)).{.return.
175b40 28 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 20 69 66 20 28 5c 69 73 5f 6f 62 6a (string).$input;.}...if.(\is_obj
175b60 65 63 74 28 24 69 6e 70 75 74 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 69 6e ect($input).&&.method_exists($in
175b80 70 75 74 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 put,.'__toString')).{.@trigger_e
175ba0 72 72 6f 72 28 27 50 61 73 73 69 6e 67 20 61 6e 20 6f 62 6a 65 63 74 20 61 73 20 61 6e 20 69 6e rror('Passing.an.object.as.an.in
175bc0 70 75 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 put.is.deprecated.since.Symfony.
175be0 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.5.and.will.be.removed.in.3.0.'
175c00 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 28 73 ,.E_USER_DEPRECATED);..return.(s
175c20 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 tring).$input;.}..throw.new.Inva
175c40 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 lidArgumentException(sprintf('%s
175c60 20 6f 6e 6c 79 20 61 63 63 65 70 74 73 20 73 74 72 69 6e 67 73 20 6f 72 20 73 74 72 65 61 6d 20 .only.accepts.strings.or.stream.
175c80 72 65 73 6f 75 72 63 65 73 2e 27 2c 20 24 63 61 6c 6c 65 72 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 resources.',.$caller));.}..retur
175ca0 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 n.$input;.}..private.static.func
175cc0 74 69 6f 6e 20 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 72 29 tion.isSurroundedBy($arg,.$char)
175ce0 0a 7b 0a 72 65 74 75 72 6e 20 32 20 3c 20 5c 73 74 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 24 .{.return.2.<.\strlen($arg).&&.$
175d00 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 30 5d 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 char.===.$arg[0].&&.$char.===.$a
175d20 72 67 5b 5c 73 74 72 6c 65 6e 28 24 61 72 67 29 20 2d 20 31 5d 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 rg[\strlen($arg).-.1];.}.}.Copyr
175d40 69 67 68 74 20 28 63 29 20 32 30 31 31 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 65 ight.(c).2011.Jordi.Boggiano..Pe
175d60 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 rmission.is.hereby.granted,.free
175d80 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e .of.charge,.to.any.person.obtain
175da0 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 ing.a.copy.of.this.software.and.
175dc0 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 associated.documentation.files.(
175de0 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 the."Software"),.to.deal.in.the.
175e00 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e Software.without.restriction,.in
175e20 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 cluding.without.limitation.the.r
175e40 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 ights.to.use,.copy,.modify,.merg
175e60 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e e,.publish,.distribute,.sublicen
175e80 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f se,.and/or.sell.copies.of.the.So
175ea0 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f ftware,.and.to.permit.persons.to
175ec0 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a .whom.the.Software.is.furnished.
175ee0 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 to.do.so,.subject.to.the.followi
175f00 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 ng.conditions:..The.above.copyri
175f20 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e ght.notice.and.this.permission.n
175f40 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 otice.shall.be.included.in.all.c
175f60 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 opies.or.substantial.portions.of
175f80 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 .the.Software...THE.SOFTWARE.IS.
175fa0 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e PROVIDED."AS.IS",.WITHOUT.WARRAN
175fc0 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 TY.OF.ANY.KIND,.EXPRESS.OR.IMPLI
175fe0 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f ED,.INCLUDING.BUT.NOT.LIMITED.TO
176000 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 .THE.WARRANTIES.OF.MERCHANTABILI
176020 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 TY,.FITNESS.FOR.A.PARTICULAR.PUR
176040 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 POSE.AND.NONINFRINGEMENT..IN.NO.
176060 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 EVENT.SHALL.THE.AUTHORS.OR.COPYR
176080 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 IGHT.HOLDERS.BE.LIABLE.FOR.ANY.C
1760a0 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 LAIM,.DAMAGES.OR.OTHER.LIABILITY
1760c0 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 ,.WHETHER.IN.AN.ACTION.OF.CONTRA
1760e0 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 CT,.TORT.OR.OTHERWISE,.ARISING.F
176100 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 ROM,.OUT.OF.OR.IN.CONNECTION.WIT
176120 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 H.THE.SOFTWARE.OR.THE.USE.OR.OTH
176140 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 ER.DEALINGS.IN.THE.SOFTWARE..<?p
176160 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e hp...........namespace.Seld\Json
176180 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 Lint;..class.DuplicateKeyExcepti
1761a0 6f 6e 20 65 78 74 65 6e 64 73 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 on.extends.ParsingException.{.pu
1761c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 blic.function.__construct($messa
1761e0 67 65 2c 20 24 6b 65 79 2c 20 61 72 72 61 79 20 24 64 65 74 61 69 6c 73 20 3d 20 61 72 72 61 79 ge,.$key,.array.$details.=.array
176200 28 29 29 0a 7b 0a 24 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 20 3d 20 24 6b 65 79 3b 0a 70 61 ()).{.$details['key'].=.$key;.pa
176220 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 rent::__construct($message,.$det
176240 61 69 6c 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 ails);.}..public.function.getKey
176260 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 ().{.return.$this->details['key'
176280 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ];.}.}.<?php...........namespace
1762a0 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 75 73 65 20 73 74 64 43 6c 61 73 73 3b 0a 0a 0a .Seld\JsonLint;.use.stdClass;...
1762c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 50 61 72 73 65 72 0a 7b 0a 63 ............class.JsonParser.{.c
1762e0 6f 6e 73 74 20 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 20 3d 20 31 3b 0a 63 onst.DETECT_KEY_CONFLICTS.=.1;.c
176300 6f 6e 73 74 20 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 20 3d 20 32 3b 0a 63 onst.ALLOW_DUPLICATE_KEYS.=.2;.c
176320 6f 6e 73 74 20 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 20 3d 20 34 3b 0a 0a 70 72 69 76 61 74 onst.PARSE_TO_ASSOC.=.4;..privat
176340 65 20 24 6c 65 78 65 72 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 6c 61 67 73 3b 0a 70 72 69 76 61 e.$lexer;..private.$flags;.priva
176360 74 65 20 24 73 74 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 76 73 74 61 63 6b 3b 20 0a 20 70 72 te.$stack;.private.$vstack;...pr
176380 69 76 61 74 65 20 24 6c 73 74 61 63 6b 3b 20 0a 0a 70 72 69 76 61 74 65 20 24 73 79 6d 62 6f 6c ivate.$lstack;...private.$symbol
1763a0 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 32 2c 0a 27 4a 53 4f 4e 53 74 s.=.array(.'error'.=>.2,.'JSONSt
1763c0 72 69 6e 67 27 20 3d 3e 20 33 2c 0a 27 53 54 52 49 4e 47 27 20 3d 3e 20 34 2c 0a 27 4a 53 4f 4e ring'.=>.3,.'STRING'.=>.4,.'JSON
1763e0 4e 75 6d 62 65 72 27 20 3d 3e 20 35 2c 0a 27 4e 55 4d 42 45 52 27 20 3d 3e 20 36 2c 0a 27 4a 53 Number'.=>.5,.'NUMBER'.=>.6,.'JS
176400 4f 4e 4e 75 6c 6c 4c 69 74 65 72 61 6c 27 20 3d 3e 20 37 2c 0a 27 4e 55 4c 4c 27 20 3d 3e 20 38 ONNullLiteral'.=>.7,.'NULL'.=>.8
176420 2c 0a 27 4a 53 4f 4e 42 6f 6f 6c 65 61 6e 4c 69 74 65 72 61 6c 27 20 3d 3e 20 39 2c 0a 27 54 52 ,.'JSONBooleanLiteral'.=>.9,.'TR
176440 55 45 27 20 3d 3e 20 31 30 2c 0a 27 46 41 4c 53 45 27 20 3d 3e 20 31 31 2c 0a 27 4a 53 4f 4e 54 UE'.=>.10,.'FALSE'.=>.11,.'JSONT
176460 65 78 74 27 20 3d 3e 20 31 32 2c 0a 27 4a 53 4f 4e 56 61 6c 75 65 27 20 3d 3e 20 31 33 2c 0a 27 ext'.=>.12,.'JSONValue'.=>.13,.'
176480 45 4f 46 27 20 3d 3e 20 31 34 2c 0a 27 4a 53 4f 4e 4f 62 6a 65 63 74 27 20 3d 3e 20 31 35 2c 0a EOF'.=>.14,.'JSONObject'.=>.15,.
1764a0 27 4a 53 4f 4e 41 72 72 61 79 27 20 3d 3e 20 31 36 2c 0a 27 7b 27 20 3d 3e 20 31 37 2c 0a 27 7d 'JSONArray'.=>.16,.'{'.=>.17,.'}
1764c0 27 20 3d 3e 20 31 38 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 4c 69 73 74 27 20 3d 3e 20 31 39 2c '.=>.18,.'JSONMemberList'.=>.19,
1764e0 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 27 20 3d 3e 20 32 30 2c 0a 27 3a 27 20 3d 3e 20 32 31 2c 0a .'JSONMember'.=>.20,.':'.=>.21,.
176500 27 2c 27 20 3d 3e 20 32 32 2c 0a 27 5b 27 20 3d 3e 20 32 33 2c 0a 27 5d 27 20 3d 3e 20 32 34 2c ','.=>.22,.'['.=>.23,.']'.=>.24,
176520 0a 27 4a 53 4f 4e 45 6c 65 6d 65 6e 74 4c 69 73 74 27 20 3d 3e 20 32 35 2c 0a 27 24 61 63 63 65 .'JSONElementList'.=>.25,.'$acce
176540 70 74 27 20 3d 3e 20 30 2c 0a 27 24 65 6e 64 27 20 3d 3e 20 31 2c 0a 29 3b 0a 0a 70 72 69 76 61 pt'.=>.0,.'$end'.=>.1,.);..priva
176560 74 65 20 24 74 65 72 6d 69 6e 61 6c 73 5f 20 3d 20 61 72 72 61 79 28 0a 32 20 3d 3e 20 22 65 72 te.$terminals_.=.array(.2.=>."er
176580 72 6f 72 22 2c 0a 34 20 3d 3e 20 22 53 54 52 49 4e 47 22 2c 0a 36 20 3d 3e 20 22 4e 55 4d 42 45 ror",.4.=>."STRING",.6.=>."NUMBE
1765a0 52 22 2c 0a 38 20 3d 3e 20 22 4e 55 4c 4c 22 2c 0a 31 30 20 3d 3e 20 22 54 52 55 45 22 2c 0a 31 R",.8.=>."NULL",.10.=>."TRUE",.1
1765c0 31 20 3d 3e 20 22 46 41 4c 53 45 22 2c 0a 31 34 20 3d 3e 20 22 45 4f 46 22 2c 0a 31 37 20 3d 3e 1.=>."FALSE",.14.=>."EOF",.17.=>
1765e0 20 22 7b 22 2c 0a 31 38 20 3d 3e 20 22 7d 22 2c 0a 32 31 20 3d 3e 20 22 3a 22 2c 0a 32 32 20 3d ."{",.18.=>."}",.21.=>.":",.22.=
176600 3e 20 22 2c 22 2c 0a 32 33 20 3d 3e 20 22 5b 22 2c 0a 32 34 20 3d 3e 20 22 5d 22 2c 0a 29 3b 0a >.",",.23.=>."[",.24.=>."]",.);.
176620 0a 70 72 69 76 61 74 65 20 24 70 72 6f 64 75 63 74 69 6f 6e 73 5f 20 3d 20 61 72 72 61 79 28 0a .private.$productions_.=.array(.
176640 30 2c 0a 61 72 72 61 79 28 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 35 2c 20 31 29 2c 0a 61 72 72 0,.array(3,.1),.array(5,.1),.arr
176660 61 79 28 37 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 ay(7,.1),.array(9,.1),.array(9,.
176680 31 29 2c 0a 61 72 72 61 79 28 31 32 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 1),.array(12,.2),.array(13,.1),.
1766a0 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 array(13,.1),.array(13,.1),.arra
1766c0 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 y(13,.1),.array(13,.1),.array(13
1766e0 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 33 29 ,.1),.array(15,.2),.array(15,.3)
176700 2c 0a 61 72 72 61 79 28 32 30 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 39 2c 20 31 29 2c 0a 61 72 ,.array(20,.3),.array(19,.1),.ar
176720 72 61 79 28 31 39 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 36 2c 20 32 29 2c 0a 61 72 72 61 79 28 ray(19,.3),.array(16,.2),.array(
176740 31 36 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 31 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 16,.3),.array(25,.1),.array(25,.
176760 33 29 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 61 72 3).);..private.$table.=.array(ar
176780 72 61 79 28 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 ray(3.=>.5,.4.=>.array(1,12),.5.
1767a0 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 =>.6,.6.=>.array(1,13),.7.=>.3,.
1767c0 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 8.=>.array(1,9),.9.=>.4,.10.=>.a
1767e0 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 rray(1,10),.11.=>.array(1,11),.1
176800 32 20 3d 3e 20 31 2c 20 31 33 20 3d 3e 20 32 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 2.=>.1,.13.=>.2,.15.=>.7,.16.=>.
176820 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 8,.17.=>.array(1,14),.23.=>.arra
176840 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 20 3d 3e 20 61 72 72 61 79 28 33 29 29 2c y(1,15)),.array(.1.=>.array(3)),
176860 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 36 29 29 2c 20 61 72 72 61 .array(.14.=>.array(1,16)),.arra
176880 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 y(.14.=>.array(2,7),.18.=>.array
1768a0 28 32 2c 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 32 34 20 3d 3e 20 61 (2,7),.22.=>.array(2,7),.24.=>.a
1768c0 72 72 61 79 28 32 2c 37 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 rray(2,7)),.array(.14.=>.array(2
1768e0 2c 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 ,8),.18.=>.array(2,8),.22.=>.arr
176900 61 79 28 32 2c 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 29 2c 20 61 72 72 61 ay(2,8),.24.=>.array(2,8)),.arra
176920 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 y(.14.=>.array(2,9),.18.=>.array
176940 28 32 2c 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 32 34 20 3d 3e 20 61 (2,9),.22.=>.array(2,9),.24.=>.a
176960 72 72 61 79 28 32 2c 39 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 rray(2,9)),.array(.14.=>.array(2
176980 2c 31 30 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 32 32 20 3d 3e 20 61 ,10),.18.=>.array(2,10),.22.=>.a
1769a0 72 72 61 79 28 32 2c 31 30 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 29 2c 20 rray(2,10),.24.=>.array(2,10)),.
1769c0 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 31 38 20 3d 3e 20 array(.14.=>.array(2,11),.18.=>.
1769e0 61 72 72 61 79 28 32 2c 31 31 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 array(2,11),.22.=>.array(2,11),.
176a00 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 24.=>.array(2,11)),.array(.14.=>
176a20 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c .array(2,12),.18.=>.array(2,12),
176a40 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 .22.=>.array(2,12),.24.=>.array(
176a60 32 2c 31 32 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 2,12)),.array(.14.=>.array(2,3),
176a80 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 .18.=>.array(2,3),.22.=>.array(2
176aa0 2c 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 29 2c 20 61 72 72 61 79 28 20 31 ,3),.24.=>.array(2,3)),.array(.1
176ac0 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 4.=>.array(2,4),.18.=>.array(2,4
176ae0 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 ),.22.=>.array(2,4),.24.=>.array
176b00 28 32 2c 34 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c (2,4)),.array(.14.=>.array(2,5),
176b20 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 .18.=>.array(2,5),.22.=>.array(2
176b40 2c 35 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 29 2c 20 61 72 72 61 79 28 20 31 ,5),.24.=>.array(2,5)),.array(.1
176b60 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 4.=>.array(2,1),.18.=>.array(2,1
176b80 29 2c 20 32 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 ),.21.=>.array(2,1),.22.=>.array
176ba0 28 32 2c 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 29 2c 20 61 72 72 61 79 28 (2,1),.24.=>.array(2,1)),.array(
176bc0 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 .14.=>.array(2,2),.18.=>.array(2
176be0 2c 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 32 34 20 3d 3e 20 61 72 72 ,2),.22.=>.array(2,2),.24.=>.arr
176c00 61 79 28 32 2c 32 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 32 30 2c 20 34 20 3d 3e 20 61 ay(2,2)),.array(.3.=>.20,.4.=>.a
176c20 72 72 61 79 28 31 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 37 29 2c 20 31 rray(1,12),.18.=>.array(1,17),.1
176c40 39 20 3d 3e 20 31 38 2c 20 32 30 20 3d 3e 20 31 39 20 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 9.=>.18,.20.=>.19.),.array(.3.=>
176c60 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 .5,.4.=>.array(1,12),.5.=>.6,.6.
176c80 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 =>.array(1,13),.7.=>.3,.8.=>.arr
176ca0 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 ay(1,9),.9.=>.4,.10.=>.array(1,1
176cc0 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 32 33 2c 0),.11.=>.array(1,11),.13.=>.23,
176ce0 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 .15.=>.7,.16.=>.8,.17.=>.array(1
176d00 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 2c 20 32 34 20 3d 3e 20 61 ,14),.23.=>.array(1,15),.24.=>.a
176d20 72 72 61 79 28 31 2c 32 31 29 2c 20 32 35 20 3d 3e 20 32 32 20 29 2c 20 61 72 72 61 79 28 20 31 rray(1,21),.25.=>.22.),.array(.1
176d40 20 3d 3e 20 61 72 72 61 79 28 32 2c 36 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 .=>.array(2,6)),.array(.14.=>.ar
176d60 72 61 79 28 32 2c 31 33 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 32 ray(2,13),.18.=>.array(2,13),.22
176d80 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 .=>.array(2,13),.24.=>.array(2,1
176da0 33 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 34 29 2c 20 32 3)),.array(.18.=>.array(1,24),.2
176dc0 32 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 35 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 2.=>.array(1,25)),.array(.18.=>.
176de0 61 72 72 61 79 28 32 2c 31 36 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 36 29 29 2c array(2,16),.22.=>.array(2,16)),
176e00 20 61 72 72 61 79 28 20 32 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 36 29 29 2c 20 61 72 72 61 .array(.21.=>.array(1,26)),.arra
176e20 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 y(.14.=>.array(2,18),.18.=>.arra
176e40 79 28 32 2c 31 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 32 34 20 3d y(2,18),.22.=>.array(2,18),.24.=
176e60 3e 20 61 72 72 61 79 28 32 2c 31 38 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 >.array(2,18)),.array(.22.=>.arr
176e80 61 79 28 31 2c 32 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 37 29 29 2c 20 61 72 ay(1,28),.24.=>.array(1,27)),.ar
176ea0 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 30 29 2c 20 32 34 20 3d 3e 20 61 72 ray(.22.=>.array(2,20),.24.=>.ar
176ec0 72 61 79 28 32 2c 32 30 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 ray(2,20)),.array(.14.=>.array(2
176ee0 2c 31 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 32 32 20 3d 3e 20 61 ,14),.18.=>.array(2,14),.22.=>.a
176f00 72 72 61 79 28 32 2c 31 34 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 29 2c 20 rray(2,14),.24.=>.array(2,14)),.
176f20 61 72 72 61 79 28 20 33 20 3d 3e 20 32 30 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 array(.3.=>.20,.4.=>.array(1,12)
176f40 2c 20 32 30 20 3d 3e 20 32 39 20 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d ,.20.=>.29.),.array(.3.=>.5,.4.=
176f60 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 >.array(1,12),.5.=>.6,.6.=>.arra
176f80 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 y(1,13),.7.=>.3,.8.=>.array(1,9)
176fa0 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 ,.9.=>.4,.10.=>.array(1,10),.11.
176fc0 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 30 2c 20 31 35 20 3d 3e 20 =>.array(1,11),.13.=>.30,.15.=>.
176fe0 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 7,.16.=>.8,.17.=>.array(1,14),.2
177000 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 3.=>.array(1,15)),.array(.14.=>.
177020 61 72 72 61 79 28 32 2c 31 39 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 array(2,19),.18.=>.array(2,19),.
177040 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 22.=>.array(2,19),.24.=>.array(2
177060 2c 31 39 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 ,19)),.array(.3.=>.5,.4.=>.array
177080 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 (1,12),.5.=>.6,.6.=>.array(1,13)
1770a0 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 ,.7.=>.3,.8.=>.array(1,9),.9.=>.
1770c0 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 4,.10.=>.array(1,10),.11.=>.arra
1770e0 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 31 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d y(1,11),.13.=>.31,.15.=>.7,.16.=
177100 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 >.8,.17.=>.array(1,14),.23.=>.ar
177120 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 ray(1,15)),.array(.18.=>.array(2
177140 2c 31 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 37 29 29 2c 20 61 72 72 61 79 28 ,17),.22.=>.array(2,17)),.array(
177160 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 .18.=>.array(2,15),.22.=>.array(
177180 32 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 2,15)),.array(.22.=>.array(2,21)
1771a0 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 ,.24.=>.array(2,21)),.);..privat
1771c0 65 20 24 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 31 36 20 3d 3e e.$defaultActions.=.array(.16.=>
1771e0 20 61 72 72 61 79 28 32 2c 20 36 29 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .array(2,.6).);.......public.fun
177200 63 74 69 6f 6e 20 6c 69 6e 74 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b ction.lint($input,.$flags.=.0).{
177220 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 .try.{.$this->parse($input,.$fla
177240 67 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 24 gs);.}.catch.(ParsingException.$
177260 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 e).{.return.$e;.}.}........publi
177280 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 c.function.parse($input,.$flags.
1772a0 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c 4f 6e 42 4f 4d 28 24 69 6e 70 75 74 29 3b =.0).{.$this->failOnBOM($input);
1772c0 0a 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 0a 24 74 68 69 73 2d ..$this->flags.=.$flags;..$this-
1772e0 3e 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b >stack.=.array(0);.$this->vstack
177300 20 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 20 3d 20 .=.array(null);.$this->lstack.=.
177320 61 72 72 61 79 28 29 3b 0a 0a 24 79 79 74 65 78 74 20 3d 20 27 27 3b 0a 24 79 79 6c 69 6e 65 6e array();..$yytext.=.'';.$yylinen
177340 6f 20 3d 20 30 3b 0a 24 79 79 6c 65 6e 67 20 3d 20 30 3b 0a 24 72 65 63 6f 76 65 72 69 6e 67 20 o.=.0;.$yyleng.=.0;.$recovering.
177360 3d 20 30 3b 0a 24 54 45 52 52 4f 52 20 3d 20 32 3b 0a 24 45 4f 46 20 3d 20 31 3b 0a 0a 24 74 68 =.0;.$TERROR.=.2;.$EOF.=.1;..$th
177380 69 73 2d 3e 6c 65 78 65 72 20 3d 20 6e 65 77 20 4c 65 78 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e is->lexer.=.new.Lexer();.$this->
1773a0 6c 65 78 65 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 0a 24 79 79 6c 6f 63 lexer->setInput($input);..$yyloc
1773c0 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e .=.$this->lexer->yylloc;.$this->
1773e0 6c 73 74 61 63 6b 5b 5d 20 3d 20 24 79 79 6c 6f 63 3b 0a 0a 24 73 79 6d 62 6f 6c 20 3d 20 6e 75 lstack[].=.$yyloc;..$symbol.=.nu
177400 6c 6c 3b 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 73 74 61 ll;.$preErrorSymbol.=.null;.$sta
177420 74 65 20 3d 20 6e 75 6c 6c 3b 0a 24 61 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 61 20 3d 20 te.=.null;.$action.=.null;.$a.=.
177440 6e 75 6c 6c 3b 0a 24 72 20 3d 20 6e 75 6c 6c 3b 0a 24 79 79 76 61 6c 20 3d 20 6e 65 77 20 73 74 null;.$r.=.null;.$yyval.=.new.st
177460 64 43 6c 61 73 73 3b 0a 24 70 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 65 6e 20 3d 20 6e 75 6c 6c 3b 0a dClass;.$p.=.null;.$len.=.null;.
177480 24 6e 65 77 53 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 24 65 78 70 65 63 74 65 64 20 3d 20 6e 75 $newState.=.null;.$expected.=.nu
1774a0 6c 6c 3b 0a 24 65 72 72 53 74 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 ll;.$errStr.=.null;..while.(true
1774c0 29 20 7b 0a 0a 20 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e ).{...$state.=.$this->stack[coun
1774e0 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 t($this->stack)-1];....if.(isset
177500 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 5b 24 73 74 61 74 65 5d 29 29 ($this->defaultActions[$state]))
177520 20 7b 0a 24 61 63 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 41 63 74 69 6f .{.$action.=.$this->defaultActio
177540 6e 73 5b 24 73 74 61 74 65 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 73 79 6d 62 6f 6c ns[$state];.}.else.{.if.($symbol
177560 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 73 79 6d 62 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 .==.null).{.$symbol.=.$this->lex
177580 28 29 3b 0a 7d 0a 0a 20 24 61 63 74 69 6f 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 ();.}...$action.=.isset($this->t
1775a0 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d 62 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e able[$state][$symbol]).?.$this->
1775c0 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d 62 6f 6c 5d 20 3a 20 66 61 6c 73 65 3b 0a table[$state][$symbol].:.false;.
1775e0 7d 0a 0a 0a 20 69 66 20 28 21 24 61 63 74 69 6f 6e 20 7c 7c 20 21 24 61 63 74 69 6f 6e 5b 30 5d }....if.(!$action.||.!$action[0]
177600 29 20 7b 0a 69 66 20 28 21 24 72 65 63 6f 76 65 72 69 6e 67 29 20 7b 0a 0a 20 24 65 78 70 65 63 ).{.if.(!$recovering).{...$expec
177620 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 ted.=.array();.foreach.($this->t
177640 61 62 6c 65 5b 24 73 74 61 74 65 5d 20 61 73 20 24 70 20 3d 3e 20 24 69 67 6e 6f 72 65 29 20 7b able[$state].as.$p.=>.$ignore).{
177660 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 70 5d .if.(isset($this->terminals_[$p]
177680 29 20 26 26 20 24 70 20 3e 20 32 29 20 7b 0a 24 65 78 70 65 63 74 65 64 5b 5d 20 3d 20 22 27 22 ).&&.$p.>.2).{.$expected[].=."'"
1776a0 20 2e 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 70 5d 20 2e 20 22 27 22 3b 0a ...$this->terminals_[$p]..."'";.
1776c0 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 }.}..$message.=.null;.if.(in_arr
1776e0 61 79 28 22 27 53 54 52 49 4e 47 27 22 2c 20 24 65 78 70 65 63 74 65 64 29 20 26 26 20 69 6e 5f ay("'STRING'",.$expected).&&.in_
177700 61 72 72 61 79 28 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 array(substr($this->lexer->match
177720 2c 20 30 2c 20 31 29 2c 20 61 72 72 61 79 28 27 22 27 2c 20 22 27 22 29 29 29 20 7b 0a 24 6d 65 ,.0,.1),.array('"',."'"))).{.$me
177740 73 73 61 67 65 20 3d 20 22 49 6e 76 61 6c 69 64 20 73 74 72 69 6e 67 22 3b 0a 69 66 20 28 22 27 ssage.=."Invalid.string";.if.("'
177760 22 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 ".===.substr($this->lexer->match
177780 2c 20 30 2c 20 31 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 ,.0,.1)).{.$message..=.",.it.app
1777a0 65 61 72 73 20 79 6f 75 20 75 73 65 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 73 74 ears.you.used.single.quotes.inst
1777c0 65 61 64 20 6f 66 20 64 6f 75 62 6c 65 20 71 75 6f 74 65 73 22 3b 0a 7d 20 65 6c 73 65 69 66 20 ead.of.double.quotes";.}.elseif.
1777e0 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 2e 2b 3f 28 5c 5c 5c 5c 5b 5e 22 62 66 6e 72 74 2f (preg_match('{".+?(\\\\[^"bfnrt/
177800 5c 5c 5c 5c 75 5d 29 7d 27 2c 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 65 74 55 70 63 6f \\\\u])}',.$this->lexer->getUpco
177820 6d 69 6e 67 49 6e 70 75 74 28 29 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 mingInput(),.$match)).{.$message
177840 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 68 61 76 65 20 61 6e 20 75 6e ..=.",.it.appears.you.have.an.un
177860 65 73 63 61 70 65 64 20 62 61 63 6b 73 6c 61 73 68 20 61 74 3a 20 22 2e 24 6d 61 74 63 68 5b 31 escaped.backslash.at:.".$match[1
177880 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 28 3f 3a 5b 5e ];.}.elseif.(preg_match('{"(?:[^
1778a0 22 5d 2b 7c 5c 5c 5c 5c 22 29 2a 24 7d 6d 27 2c 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 "]+|\\\\")*$}m',.$this->lexer->g
1778c0 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e etUpcomingInput())).{.$message..
1778e0 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 66 6f 72 67 6f 74 20 74 6f 20 74 65 =.",.it.appears.you.forgot.to.te
177900 72 6d 69 6e 61 74 65 20 61 20 73 74 72 69 6e 67 2c 20 6f 72 20 61 74 74 65 6d 70 74 65 64 20 74 rminate.a.string,.or.attempted.t
177920 6f 20 77 72 69 74 65 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 77 68 69 63 68 o.write.a.multiline.string.which
177940 20 69 73 20 69 6e 76 61 6c 69 64 22 3b 0a 7d 0a 7d 0a 0a 24 65 72 72 53 74 72 20 3d 20 27 50 61 .is.invalid";.}.}..$errStr.=.'Pa
177960 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 65 6e 6f rse.error.on.line.'...($yylineno
177980 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 2d 3e 6c +1)...":\n";.$errStr..=.$this->l
1779a0 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a 69 66 20 exer->showPosition()..."\n";.if.
1779c0 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 ($message).{.$errStr..=.$message
1779e0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 53 74 72 20 2e 3d 20 28 63 6f 75 6e 74 28 24 65 78 ;.}.else.{.$errStr..=.(count($ex
177a00 70 65 63 74 65 64 29 20 3e 20 31 29 20 3f 20 22 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a pected).>.1).?."Expected.one.of:
177a20 20 22 20 3a 20 22 45 78 70 65 63 74 65 64 3a 20 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 69 6d .".:."Expected:.";.$errStr..=.im
177a40 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 65 63 74 65 64 29 3b 0a 7d 0a 0a 69 66 20 28 27 plode(',.',.$expected);.}..if.('
177a60 2c 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 74 72 69 6d 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d ,'.===.substr(trim($this->lexer-
177a80 3e 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 2c 20 2d 31 29 29 20 7b 0a 24 65 72 72 53 74 72 >getPastInput()),.-1)).{.$errStr
177aa0 20 2e 3d 20 22 20 2d 20 49 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 68 61 76 65 20 61 6e 20 65 ..=.".-.It.appears.you.have.an.e
177ac0 78 74 72 61 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 6d 61 22 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e xtra.trailing.comma";.}..$this->
177ae0 70 61 72 73 65 45 72 72 6f 72 28 24 65 72 72 53 74 72 2c 20 61 72 72 61 79 28 0a 27 74 65 78 74 parseError($errStr,.array(.'text
177b00 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c 0a 27 74 6f 6b 65 6e '.=>.$this->lexer->match,.'token
177b20 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 '.=>.!empty($this->terminals_[$s
177b40 79 6d 62 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 79 6d ymbol]).?.$this->terminals_[$sym
177b60 62 6f 6c 5d 20 3a 20 24 73 79 6d 62 6f 6c 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d bol].:.$symbol,.'line'.=>.$this-
177b80 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a 27 6c 6f 63 27 20 3d 3e 20 24 79 79 6c 6f >lexer->yylineno,.'loc'.=>.$yylo
177ba0 63 2c 0a 27 65 78 70 65 63 74 65 64 27 20 3d 3e 20 24 65 78 70 65 63 74 65 64 2c 0a 29 29 3b 0a c,.'expected'.=>.$expected,.));.
177bc0 7d 0a 0a 0a 20 69 66 20 28 24 72 65 63 6f 76 65 72 69 6e 67 20 3d 3d 20 33 29 20 7b 0a 69 66 20 }....if.($recovering.==.3).{.if.
177be0 28 24 73 79 6d 62 6f 6c 20 3d 3d 20 24 45 4f 46 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 ($symbol.==.$EOF).{.throw.new.Pa
177c00 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 20 3f 3a 20 27 50 61 72 73 69 rsingException($errStr.?:.'Parsi
177c20 6e 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 ng.halted.');.}....$yyleng.=.$th
177c40 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 3b 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 is->lexer->yyleng;.$yytext.=.$th
177c60 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 is->lexer->yytext;.$yylineno.=.$
177c80 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 this->lexer->yylineno;.$yyloc.=.
177ca0 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 73 79 6d 62 6f 6c 20 3d 20 $this->lexer->yylloc;.$symbol.=.
177cc0 24 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 0a 20 77 68 69 6c 65 20 28 74 72 75 65 29 20 $this->lex();.}....while.(true).
177ce0 7b 0a 0a 20 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 54 45 52 52 4f 52 {...if.(array_key_exists($TERROR
177d00 2c 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 29 29 20 7b 0a 62 72 65 61 6b ,.$this->table[$state])).{.break
177d20 3b 0a 7d 0a 69 66 20 28 24 73 74 61 74 65 20 3d 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ;.}.if.($state.==.0).{.throw.new
177d40 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 20 3f 3a 20 27 50 61 .ParsingException($errStr.?:.'Pa
177d60 72 73 69 6e 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 rsing.halted.');.}.$this->popSta
177d80 63 6b 28 31 29 3b 0a 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 ck(1);.$state.=.$this->stack[cou
177da0 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 7d 0a 0a 24 70 72 65 45 72 72 6f nt($this->stack)-1];.}..$preErro
177dc0 72 53 79 6d 62 6f 6c 20 3d 20 24 73 79 6d 62 6f 6c 3b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d 20 24 rSymbol.=.$symbol;...$symbol.=.$
177de0 54 45 52 52 4f 52 3b 20 0a 20 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b TERROR;...$state.=.$this->stack[
177e00 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 24 61 63 74 69 6f 6e 20 count($this->stack)-1];.$action.
177e20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 45 =.isset($this->table[$state][$TE
177e40 52 52 4f 52 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 RROR]).?.$this->table[$state][$T
177e60 45 52 52 4f 52 5d 20 3a 20 66 61 6c 73 65 3b 0a 24 72 65 63 6f 76 65 72 69 6e 67 20 3d 20 33 3b ERROR].:.false;.$recovering.=.3;
177e80 20 0a 20 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 61 63 74 69 6f 6e 5b 30 5d 29 ...}....if.(is_array($action[0])
177ea0 20 26 26 20 63 6f 75 6e 74 28 24 61 63 74 69 6f 6e 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 .&&.count($action).>.1).{.throw.
177ec0 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 27 50 61 72 73 65 20 45 72 72 6f new.ParsingException('Parse.Erro
177ee0 72 3a 20 6d 75 6c 74 69 70 6c 65 20 61 63 74 69 6f 6e 73 20 70 6f 73 73 69 62 6c 65 20 61 74 20 r:.multiple.actions.possible.at.
177f00 73 74 61 74 65 3a 20 27 20 2e 20 24 73 74 61 74 65 20 2e 20 27 2c 20 74 6f 6b 65 6e 3a 20 27 20 state:.'...$state...',.token:.'.
177f20 2e 20 24 73 79 6d 62 6f 6c 29 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 61 63 74 69 6f 6e 5b 30 ..$symbol);.}..switch.($action[0
177f40 5d 29 20 7b 0a 63 61 73 65 20 31 3a 20 0a 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 ]).{.case.1:...$this->stack[].=.
177f60 24 73 79 6d 62 6f 6c 3b 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 $symbol;.$this->vstack[].=.$this
177f80 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 5d ->lexer->yytext;.$this->lstack[]
177fa0 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e .=.$this->lexer->yylloc;.$this->
177fc0 73 74 61 63 6b 5b 5d 20 3d 20 24 61 63 74 69 6f 6e 5b 31 5d 3b 20 0a 20 24 73 79 6d 62 6f 6c 20 stack[].=.$action[1];...$symbol.
177fe0 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 29 20 7b 20 =.null;.if.(!$preErrorSymbol).{.
178000 0a 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 ..$yyleng.=.$this->lexer->yyleng
178020 3b 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 ;.$yytext.=.$this->lexer->yytext
178040 3b 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 ;.$yylineno.=.$this->lexer->yyli
178060 6e 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c neno;.$yyloc.=.$this->lexer->yyl
178080 6c 6f 63 3b 0a 69 66 20 28 24 72 65 63 6f 76 65 72 69 6e 67 20 3e 20 30 29 20 7b 0a 24 72 65 63 loc;.if.($recovering.>.0).{.$rec
1780a0 6f 76 65 72 69 6e 67 2d 2d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 73 79 6d 62 6f 6c 20 overing--;.}.}.else.{...$symbol.
1780c0 3d 20 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 3b 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 =.$preErrorSymbol;.$preErrorSymb
1780e0 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 32 3a 20 0a 20 24 ol.=.null;.}.break;..case.2:...$
178100 6c 65 6e 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 64 75 63 74 69 6f 6e 73 5f 5b 24 61 63 74 69 6f len.=.$this->productions_[$actio
178120 6e 5b 31 5d 5d 5b 31 5d 3b 0a 0a 0a 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 68 n[1]][1];....$yyval->token.=.$th
178140 69 73 2d 3e 76 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 29 20 is->vstack[count($this->vstack).
178160 2d 20 24 6c 65 6e 5d 3b 20 0a 20 0a 20 24 79 79 76 61 6c 2d 3e 73 74 6f 72 65 20 3d 20 61 72 72 -.$len];.....$yyval->store.=.arr
178180 61 79 28 20 0a 20 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 ay(...'first_line'.=>.$this->lst
1781a0 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 28 24 6c 65 6e ack[count($this->lstack).-.($len
1781c0 20 3f 3a 20 31 29 5d 5b 27 66 69 72 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 6c 61 73 74 5f 6c 69 6e .?:.1)]['first_line'],.'last_lin
1781e0 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d e'.=>.$this->lstack[count($this-
178200 3e 6c 73 74 61 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 66 69 72 >lstack).-.1]['last_line'],.'fir
178220 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e st_column'.=>.$this->lstack[coun
178240 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 28 24 6c 65 6e 20 3f 3a 20 31 29 5d 5b t($this->lstack).-.($len.?:.1)][
178260 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 'first_column'],.'last_column'.=
178280 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 >.$this->lstack[count($this->lst
1782a0 61 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 29 3b 0a 24 72 20 ack).-.1]['last_column'],.);.$r.
1782c0 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 24 79 79 76 61 6c 2c 20 24 =.$this->performAction($yyval,.$
1782e0 79 79 74 65 78 74 2c 20 24 79 79 6c 65 6e 67 2c 20 24 79 79 6c 69 6e 65 6e 6f 2c 20 24 61 63 74 yytext,.$yyleng,.$yylineno,.$act
178300 69 6f 6e 5b 31 5d 2c 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 2c 20 24 74 68 69 73 2d 3e 6c 73 ion[1],.$this->vstack,.$this->ls
178320 74 61 63 6b 29 3b 0a 0a 69 66 20 28 21 24 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 tack);..if.(!$r.instanceof.Undef
178340 69 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 6e 29 20 ined).{.return.$r;.}..if.($len).
178360 7b 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 63 6b 28 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 74 68 69 {.$this->popStack($len);.}..$thi
178380 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 64 75 63 74 69 6f 6e 73 5f s->stack[].=.$this->productions_
1783a0 5b 24 61 63 74 69 6f 6e 5b 31 5d 5d 5b 30 5d 3b 20 0a 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b [$action[1]][0];...$this->vstack
1783c0 5b 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 [].=.$yyval->token;.$this->lstac
1783e0 6b 5b 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 73 74 6f 72 65 3b 0a 24 6e 65 77 53 74 61 74 65 20 3d k[].=.$yyval->store;.$newState.=
178400 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 .$this->table[$this->stack[count
178420 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 32 5d 5d 5b 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b ($this->stack)-2]][$this->stack[
178440 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 5d 3b 0a 24 74 68 69 73 2d 3e count($this->stack)-1]];.$this->
178460 73 74 61 63 6b 5b 5d 20 3d 20 24 6e 65 77 53 74 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 stack[].=.$newState;.break;..cas
178480 65 20 33 3a 20 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 e.3:...return.true;.}.}..return.
1784a0 74 72 75 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 true;.}..protected.function.pars
1784c0 65 45 72 72 6f 72 28 24 73 74 72 2c 20 24 68 61 73 68 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 eError($str,.$hash).{.throw.new.
1784e0 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 73 74 72 2c 20 24 68 61 73 68 29 3b 0a 7d ParsingException($str,.$hash);.}
178500 0a 0a 0a 20 0a 20 0a 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d ........private.function.perform
178520 41 63 74 69 6f 6e 28 73 74 64 43 6c 61 73 73 20 24 79 79 76 61 6c 2c 20 24 79 79 74 65 78 74 2c Action(stdClass.$yyval,.$yytext,
178540 20 24 79 79 6c 65 6e 67 2c 20 24 79 79 6c 69 6e 65 6e 6f 2c 20 24 79 79 73 74 61 74 65 2c 20 26 .$yyleng,.$yylineno,.$yystate,.&
178560 24 74 6f 6b 65 6e 73 29 0a 7b 0a 0a 20 24 6c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 74 6f 6b 65 6e $tokens).{...$len.=.count($token
178580 73 29 20 2d 20 31 3b 0a 73 77 69 74 63 68 20 28 24 79 79 73 74 61 74 65 29 20 7b 0a 63 61 73 65 s).-.1;.switch.($yystate).{.case
1785a0 20 31 3a 0a 24 79 79 74 65 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 .1:.$yytext.=.preg_replace_callb
1785c0 61 63 6b 28 27 7b 28 3f 3a 5c 5c 5c 5c 5b 22 62 66 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 ack('{(?:\\\\["bfnrt/\\\\]|\\\\u
1785e0 5b 61 2d 66 41 2d 46 30 2d 39 5d 7b 34 7d 29 7d 27 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 [a-fA-F0-9]{4})}',.array($this,.
178600 27 73 74 72 69 6e 67 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 27 29 2c 20 24 79 79 74 65 78 74 29 'stringInterpolation'),.$yytext)
178620 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 79 79 74 65 78 74 3b 0a 62 72 65 61 6b ;.$yyval->token.=.$yytext;.break
178640 3b 0a 63 61 73 65 20 32 3a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 65 ;.case.2:.if.(strpos($yytext,.'e
178660 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 ').!==.false.||.strpos($yytext,.
178680 27 45 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 'E').!==.false).{.$yyval->token.
1786a0 3d 20 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 =.floatval($yytext);.}.else.{.$y
1786c0 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 2e yval->token.=.strpos($yytext,.'.
1786e0 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 69 6e 74 76 61 6c 28 24 79 79 74 65 78 74 29 20 3a ').===.false.?.intval($yytext).:
178700 20 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 .floatval($yytext);.}.break;.cas
178720 65 20 33 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b e.3:.$yyval->token.=.null;.break
178740 3b 0a 63 61 73 65 20 34 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 74 72 75 65 3b 0a ;.case.4:.$yyval->token.=.true;.
178760 62 72 65 61 6b 3b 0a 63 61 73 65 20 35 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 66 break;.case.5:.$yyval->token.=.f
178780 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 36 3a 0a 72 65 74 75 72 6e 20 24 79 79 76 alse;.break;.case.6:.return.$yyv
1787a0 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 63 61 73 al->token.=.$tokens[$len-1];.cas
1787c0 65 20 31 33 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 e.13:.if.($this->flags.&.self::P
1787e0 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d ARSE_TO_ASSOC).{.$yyval->token.=
178800 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e .array();.}.else.{.$yyval->token
178820 20 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 .=.new.stdClass;.}.break;.case.1
178840 34 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 4:.$yyval->token.=.$tokens[$len-
178860 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 35 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 1];.break;.case.15:.$yyval->toke
178880 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2c 20 24 74 6f 6b 65 n.=.array($tokens[$len-2],.$toke
1788a0 6e 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 36 3a 0a 69 66 20 28 50 ns[$len]);.break;.case.16:.if.(P
1788c0 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 30 30 29 20 7b 0a 24 70 72 6f 70 65 72 HP_VERSION_ID.<.70100).{.$proper
1788e0 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 20 3d 3d 3d 20 27 27 20 3f 20 27 ty.=.$tokens[$len][0].===.''.?.'
178900 5f 65 6d 70 74 79 5f 27 20 3a 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 20 65 _empty_'.:.$tokens[$len][0];.}.e
178920 6c 73 65 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b lse.{.$property.=.$tokens[$len][
178940 30 5d 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 0];.}.if.($this->flags.&.self::P
178960 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d ARSE_TO_ASSOC).{.$yyval->token.=
178980 20 61 72 72 61 79 28 29 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 5b 24 70 72 6f 70 65 72 74 .array();.$yyval->token[$propert
1789a0 79 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a y].=.$tokens[$len][1];.}.else.{.
1789c0 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 24 79 $yyval->token.=.new.stdClass;.$y
1789e0 79 76 61 6c 2d 3e 74 6f 6b 65 6e 2d 3e 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 yval->token->$property.=.$tokens
178a00 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 37 3a 0a 69 66 20 [$len][1];.}.break;.case.17:.if.
178a20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 52 53 45 5f 54 4f 5f 41 ($this->flags.&.self::PARSE_TO_A
178a40 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 26 20 24 74 6f 6b 65 6e 73 SSOC).{.$yyval->token.=&.$tokens
178a60 5b 24 6c 65 6e 2d 32 5d 3b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 [$len-2];.$key.=.$tokens[$len][0
178a80 5d 3b 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 44 45 54 ];.if.(($this->flags.&.self::DET
178aa0 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b ECT_KEY_CONFLICTS).&&.isset($tok
178ac0 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 65 72 72 53 74 72 20 3d 20 ens[$len-2][$key])).{.$errStr.=.
178ae0 27 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 'Parse.error.on.line.'...($yylin
178b00 65 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 eno+1)...":\n";.$errStr..=.$this
178b20 2d 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a ->lexer->showPosition()..."\n";.
178b40 24 65 72 72 53 74 72 20 2e 3d 20 22 44 75 70 6c 69 63 61 74 65 20 6b 65 79 3a 20 22 2e 24 74 6f $errStr..=."Duplicate.key:.".$to
178b60 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 74 68 72 6f 77 20 6e 65 77 20 44 75 70 6c 69 63 61 kens[$len][0];.throw.new.Duplica
178b80 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 2c 20 24 74 6f 6b 65 6e 73 5b teKeyException($errStr,.$tokens[
178ba0 24 6c 65 6e 5d 5b 30 5d 2c 20 61 72 72 61 79 28 27 6c 69 6e 65 27 20 3d 3e 20 24 79 79 6c 69 6e $len][0],.array('line'.=>.$yylin
178bc0 65 6e 6f 2b 31 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 eno+1));.}.elseif.(($this->flags
178be0 20 26 20 73 65 6c 66 3a 3a 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 29 20 26 .&.self::ALLOW_DUPLICATE_KEYS).&
178c00 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 29 20 &.isset($tokens[$len-2][$key])).
178c20 7b 0a 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 20 3d 20 31 3b 0a 64 6f 20 7b 0a 24 64 75 70 {.$duplicateCount.=.1;.do.{.$dup
178c40 6c 69 63 61 74 65 4b 65 79 20 3d 20 24 6b 65 79 20 2e 20 27 2e 27 20 2e 20 24 64 75 70 6c 69 63 licateKey.=.$key...'.'...$duplic
178c60 61 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 6f 6b 65 ateCount++;.}.while.(isset($toke
178c80 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 64 75 70 6c 69 63 61 74 65 4b 65 79 5d 29 29 3b 0a 24 6b 65 ns[$len-2][$duplicateKey]));.$ke
178ca0 79 20 3d 20 24 64 75 70 6c 69 63 61 74 65 4b 65 79 3b 0a 7d 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 y.=.$duplicateKey;.}.$tokens[$le
178cc0 6e 2d 32 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d n-2][$key].=.$tokens[$len][1];.}
178ce0 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b .else.{.$yyval->token.=.$tokens[
178d00 24 6c 65 6e 2d 32 5d 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 $len-2];.if.(PHP_VERSION_ID.<.70
178d20 31 30 30 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 20 3d 100).{.$key.=.$tokens[$len][0].=
178d40 3d 3d 20 27 27 20 3f 20 27 5f 65 6d 70 74 79 5f 27 20 3a 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e ==.''.?.'_empty_'.:.$tokens[$len
178d60 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c ][0];.}.else.{.$key.=.$tokens[$l
178d80 65 6e 5d 5b 30 5d 3b 0a 7d 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 en][0];.}.if.(($this->flags.&.se
178da0 6c 66 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 20 26 26 20 69 73 73 lf::DETECT_KEY_CONFLICTS).&&.iss
178dc0 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 et($tokens[$len-2]->{$key})).{.$
178de0 65 72 72 53 74 72 20 3d 20 27 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 errStr.=.'Parse.error.on.line.'.
178e00 2e 20 28 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 ..($yylineno+1)...":\n";.$errStr
178e20 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 ..=.$this->lexer->showPosition()
178e40 20 2e 20 22 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 22 44 75 70 6c 69 63 61 74 65 20 6b ..."\n";.$errStr..=."Duplicate.k
178e60 65 79 3a 20 22 2e 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 74 68 72 6f 77 20 6e 65 ey:.".$tokens[$len][0];.throw.ne
178e80 77 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 2c w.DuplicateKeyException($errStr,
178ea0 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 2c 20 61 72 72 61 79 28 27 6c 69 6e 65 27 20 .$tokens[$len][0],.array('line'.
178ec0 3d 3e 20 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 =>.$yylineno+1));.}.elseif.(($th
178ee0 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 is->flags.&.self::ALLOW_DUPLICAT
178f00 45 5f 4b 45 59 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d E_KEYS).&&.isset($tokens[$len-2]
178f20 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 20 3d 20 31 ->{$key})).{.$duplicateCount.=.1
178f40 3b 0a 64 6f 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 4b 65 79 20 3d 20 24 6b 65 79 20 2e 20 27 2e ;.do.{.$duplicateKey.=.$key...'.
178f60 27 20 2e 20 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 77 68 69 6c 65 20 28 '...$duplicateCount++;.}.while.(
178f80 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 64 75 70 6c 69 63 61 74 isset($tokens[$len-2]->$duplicat
178fa0 65 4b 65 79 29 29 3b 0a 24 6b 65 79 20 3d 20 24 64 75 70 6c 69 63 61 74 65 4b 65 79 3b 0a 7d 0a eKey));.$key.=.$duplicateKey;.}.
178fc0 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b $tokens[$len-2]->$key.=.$tokens[
178fe0 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 38 3a 0a 24 79 79 76 $len][1];.}.break;.case.18:.$yyv
179000 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 al->token.=.array();.break;.case
179020 20 31 39 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 .19:.$yyval->token.=.$tokens[$le
179040 6e 2d 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 30 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f n-1];.break;.case.20:.$yyval->to
179060 6b 65 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 ken.=.array($tokens[$len]);.brea
179080 6b 3b 0a 63 61 73 65 20 32 31 3a 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 5d 20 3d 20 k;.case.21:.$tokens[$len-2][].=.
1790a0 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 $tokens[$len];.$yyval->token.=.$
1790c0 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 72 65 74 75 72 6e tokens[$len-2];.break;.}..return
1790e0 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e .new.Undefined();.}..private.fun
179100 63 74 69 6f 6e 20 73 74 72 69 6e 67 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 28 24 6d 61 74 63 68 ction.stringInterpolation($match
179120 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 63 61 73 65 20 27 5c ).{.switch.($match[0]).{.case.'\
179140 5c 5c 5c 27 3a 0a 72 65 74 75 72 6e 20 27 5c 5c 27 3b 0a 63 61 73 65 20 27 5c 22 27 3a 0a 72 65 \\\':.return.'\\';.case.'\"':.re
179160 74 75 72 6e 20 27 22 27 3b 0a 63 61 73 65 20 27 5c 62 27 3a 0a 72 65 74 75 72 6e 20 63 68 72 28 turn.'"';.case.'\b':.return.chr(
179180 38 29 3b 0a 63 61 73 65 20 27 5c 66 27 3a 0a 72 65 74 75 72 6e 20 63 68 72 28 31 32 29 3b 0a 63 8);.case.'\f':.return.chr(12);.c
1791a0 61 73 65 20 27 5c 6e 27 3a 0a 72 65 74 75 72 6e 20 22 5c 6e 22 3b 0a 63 61 73 65 20 27 5c 72 27 ase.'\n':.return."\n";.case.'\r'
1791c0 3a 0a 72 65 74 75 72 6e 20 22 5c 72 22 3b 0a 63 61 73 65 20 27 5c 74 27 3a 0a 72 65 74 75 72 6e :.return."\r";.case.'\t':.return
1791e0 20 22 5c 74 22 3b 0a 63 61 73 65 20 27 5c 2f 27 3a 0a 72 65 74 75 72 6e 20 22 2f 22 3b 0a 64 65 ."\t";.case.'\/':.return."/";.de
179200 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 68 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 fault:.return.html_entity_decode
179220 28 27 26 23 78 27 2e 6c 74 72 69 6d 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 32 ('&#x'.ltrim(substr($match[0],.2
179240 29 2c 20 27 30 27 29 2e 27 3b 27 2c 20 30 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 7d 0a 0a 70 ),.'0').';',.0,.'UTF-8');.}.}..p
179260 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 53 74 61 63 6b 28 24 6e 29 0a 7b 0a 24 rivate.function.popStack($n).{.$
179280 74 68 69 73 2d 3e 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d this->stack.=.array_slice($this-
1792a0 3e 73 74 61 63 6b 2c 20 30 2c 20 2d 20 28 32 20 2a 20 24 6e 29 29 3b 0a 24 74 68 69 73 2d 3e 76 >stack,.0,.-.(2.*.$n));.$this->v
1792c0 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 76 73 74 61 63 stack.=.array_slice($this->vstac
1792e0 6b 2c 20 30 2c 20 2d 20 24 6e 29 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 20 3d 20 61 72 72 k,.0,.-.$n);.$this->lstack.=.arr
179300 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 2c 20 30 2c 20 2d 20 24 6e 29 ay_slice($this->lstack,.0,.-.$n)
179320 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 65 78 28 29 0a 7b 0a 24 74 ;.}..private.function.lex().{.$t
179340 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6c 65 78 28 29 20 3f 3a 20 31 3b oken.=.$this->lexer->lex().?:.1;
179360 20 0a 20 0a 20 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 74 6f 6b 65 6e 29 29 20 7b 0a .....if.(!is_numeric($token)).{.
179380 24 74 6f 6b 65 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 79 6d 62 6f 6c 73 5b 24 74 $token.=.isset($this->symbols[$t
1793a0 6f 6b 65 6e 5d 29 20 3f 20 24 74 68 69 73 2d 3e 73 79 6d 62 6f 6c 73 5b 24 74 6f 6b 65 6e 5d 20 oken]).?.$this->symbols[$token].
1793c0 3a 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 70 :.$token;.}..return.$token;.}..p
1793e0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 4f 6e 42 4f 4d 28 24 69 6e 70 75 74 rivate.function.failOnBOM($input
179400 29 0a 7b 0a 0a 20 24 62 6f 6d 20 3d 20 22 5c 78 45 46 5c 78 42 42 5c 78 42 46 22 3b 0a 0a 69 66 ).{...$bom.=."\xEF\xBB\xBF";..if
179420 20 28 73 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 30 2c 20 33 29 20 3d 3d 3d 20 24 62 6f 6d 29 .(substr($input,.0,.3).===.$bom)
179440 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 6f 72 28 22 42 4f 4d 20 64 65 74 65 63 74 .{.$this->parseError("BOM.detect
179460 65 64 2c 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 72 20 69 6e 70 75 74 20 64 6f 65 73 20 6e 6f ed,.make.sure.your.input.does.no
179480 74 20 69 6e 63 6c 75 64 65 20 61 20 55 6e 69 63 6f 64 65 20 42 79 74 65 2d 4f 72 64 65 72 2d 4d t.include.a.Unicode.Byte-Order-M
1794a0 61 72 6b 22 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ark",.array());.}.}.}.<?php.....
1794c0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a ......namespace.Seld\JsonLint;..
1794e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 65 78 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 45 4f 46 20 .....class.Lexer.{.private.$EOF.
179500 3d 20 31 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6c 65 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d =.1;.private.$rules.=.array(.0.=
179520 3e 20 27 2f 5e 5c 73 2b 2f 27 2c 0a 31 20 3d 3e 20 27 2f 5e 2d 3f 28 5b 30 2d 39 5d 7c 5b 31 2d >.'/^\s+/',.1.=>.'/^-?([0-9]|[1-
179540 39 5d 5b 30 2d 39 5d 2b 29 28 5c 2e 5b 30 2d 39 5d 2b 29 3f 28 5b 65 45 5d 5b 2b 2d 5d 3f 5b 30 9][0-9]+)(\.[0-9]+)?([eE][+-]?[0
179560 2d 39 5d 2b 29 3f 5c 62 2f 27 2c 0a 32 20 3d 3e 20 27 7b 5e 22 28 3f 3e 5c 5c 5c 5c 5b 22 62 66 -9]+)?\b/',.2.=>.'{^"(?>\\\\["bf
179580 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 5b 61 2d 66 41 2d 46 30 2d 39 5d 7b 34 7d 7c 5b 5e nrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^
1795a0 5c 30 2d 5c 78 31 66 5c 5c 5c 5c 22 5d 2b 2b 29 2a 2b 22 7d 27 2c 0a 33 20 3d 3e 20 27 2f 5e 5c \0-\x1f\\\\"]++)*+"}',.3.=>.'/^\
1795c0 7b 2f 27 2c 0a 34 20 3d 3e 20 27 2f 5e 5c 7d 2f 27 2c 0a 35 20 3d 3e 20 27 2f 5e 5c 5b 2f 27 2c {/',.4.=>.'/^\}/',.5.=>.'/^\[/',
1795e0 0a 36 20 3d 3e 20 27 2f 5e 5c 5d 2f 27 2c 0a 37 20 3d 3e 20 27 2f 5e 2c 2f 27 2c 0a 38 20 3d 3e .6.=>.'/^\]/',.7.=>.'/^,/',.8.=>
179600 20 27 2f 5e 3a 2f 27 2c 0a 39 20 3d 3e 20 27 2f 5e 74 72 75 65 5c 62 2f 27 2c 0a 31 30 20 3d 3e .'/^:/',.9.=>.'/^true\b/',.10.=>
179620 20 27 2f 5e 66 61 6c 73 65 5c 62 2f 27 2c 0a 31 31 20 3d 3e 20 27 2f 5e 6e 75 6c 6c 5c 62 2f 27 .'/^false\b/',.11.=>.'/^null\b/'
179640 2c 0a 31 32 20 3d 3e 20 27 2f 5e 24 2f 27 2c 0a 31 33 20 3d 3e 20 27 2f 5e 2e 2f 27 2c 0a 29 3b ,.12.=>.'/^$/',.13.=>.'/^./',.);
179660 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 22 ..private.$conditions.=.array(."
179680 49 4e 49 54 49 41 4c 22 20 3d 3e 20 61 72 72 61 79 28 0a 22 72 75 6c 65 73 22 20 3d 3e 20 61 72 INITIAL".=>.array(."rules".=>.ar
1796a0 72 61 79 28 30 2c 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 32 ray(0,1,2,3,4,5,6,7,8,9,10,11,12
1796c0 2c 31 33 29 2c 0a 22 69 6e 63 6c 75 73 69 76 65 22 20 3d 3e 20 74 72 75 65 2c 0a 29 2c 0a 29 3b ,13),."inclusive".=>.true,.),.);
1796e0 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 3b 0a 70 72 69 76 61 ..private.$conditionStack;.priva
179700 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 72 65 3b 0a 70 72 69 76 61 74 te.$input;.private.$more;.privat
179720 65 20 24 64 6f 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 74 63 68 65 64 3b 0a 0a 70 75 62 6c e.$done;.private.$matched;..publ
179740 69 63 20 24 6d 61 74 63 68 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 69 6e 65 6e 6f 3b 0a 70 75 62 ic.$match;.public.$yylineno;.pub
179760 6c 69 63 20 24 79 79 6c 65 6e 67 3b 0a 70 75 62 6c 69 63 20 24 79 79 74 65 78 74 3b 0a 70 75 62 lic.$yyleng;.public.$yytext;.pub
179780 6c 69 63 20 24 79 79 6c 6c 6f 63 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 lic.$yylloc;..public.function.le
1797a0 78 28 29 0a 7b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 6e 65 78 74 28 29 3b 0a 69 66 20 28 21 24 x().{.$r.=.$this->next();.if.(!$
1797c0 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e r.instanceof.Undefined).{.return
1797e0 20 24 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a .$r;.}..return.$this->lex();.}..
179800 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 public.function.setInput($input)
179820 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d .{.$this->input.=.$input;.$this-
179840 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 64 6f 6e 65 20 3d 20 66 61 6c >more.=.false;.$this->done.=.fal
179860 73 65 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 79 79 6c se;.$this->yylineno.=.$this->yyl
179880 65 6e 67 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e eng.=.0;.$this->yytext.=.$this->
1798a0 6d 61 74 63 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 3d 20 27 27 3b 0a 24 74 68 matched.=.$this->match.=.'';.$th
1798c0 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 20 3d 20 61 72 72 61 79 28 27 49 4e 49 54 is->conditionStack.=.array('INIT
1798e0 49 41 4c 27 29 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 20 3d 20 61 72 72 61 79 28 27 66 69 IAL');.$this->yylloc.=.array('fi
179900 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 31 2c 20 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d rst_line'.=>.1,.'first_column'.=
179920 3e 20 30 2c 20 27 6c 61 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 31 2c 20 27 6c 61 73 74 5f 63 6f 6c >.0,.'last_line'.=>.1,.'last_col
179940 75 6d 6e 27 20 3d 3e 20 30 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 umn'.=>.0);..return.$this;.}..pu
179960 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 0a 7b 0a 24 blic.function.showPosition().{.$
179980 70 72 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 24 74 68 69 pre.=.str_replace("\n",.'',.$thi
1799a0 73 2d 3e 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 3b 0a 24 63 20 3d 20 73 74 72 5f 72 65 70 s->getPastInput());.$c.=.str_rep
1799c0 65 61 74 28 27 2d 27 2c 20 6d 61 78 28 30 2c 20 73 74 72 6c 65 6e 28 24 70 72 65 29 20 2d 20 31 eat('-',.max(0,.strlen($pre).-.1
1799e0 29 29 3b 20 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 ));...return.$pre...str_replace(
179a00 22 5c 6e 22 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 "\n",.'',.$this->getUpcomingInpu
179a20 74 28 29 29 20 2e 20 22 5c 6e 22 20 2e 20 24 63 20 2e 20 22 5e 22 3b 0a 7d 0a 0a 70 75 62 6c 69 t())..."\n"...$c..."^";.}..publi
179a40 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 0a 7b 0a 24 70 61 73 c.function.getPastInput().{.$pas
179a60 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 2c 20 30 2c 20 73 74 t.=.substr($this->matched,.0,.st
179a80 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 29 20 2d 20 73 74 72 6c 65 6e 28 24 74 rlen($this->matched).-.strlen($t
179aa0 68 69 73 2d 3e 6d 61 74 63 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 28 73 74 72 6c 65 6e 28 24 70 his->match));..return.(strlen($p
179ac0 61 73 74 29 20 3e 20 32 30 20 3f 20 27 2e 2e 2e 27 20 3a 20 27 27 29 20 2e 20 73 75 62 73 74 72 ast).>.20.?.'...'.:.'')...substr
179ae0 28 24 70 61 73 74 2c 20 2d 32 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ($past,.-20);.}..public.function
179b00 20 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 0a 7b 0a 24 6e 65 78 74 20 3d 20 24 74 .getUpcomingInput().{.$next.=.$t
179b20 68 69 73 2d 3e 6d 61 74 63 68 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6e 65 78 74 29 20 3c 20 his->match;.if.(strlen($next).<.
179b40 32 30 29 20 7b 0a 24 6e 65 78 74 20 2e 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 20).{.$next..=.substr($this->inp
179b60 75 74 2c 20 30 2c 20 32 30 20 2d 20 73 74 72 6c 65 6e 28 24 6e 65 78 74 29 29 3b 0a 7d 0a 0a 72 ut,.0,.20.-.strlen($next));.}..r
179b80 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 6e 65 78 74 2c 20 30 2c 20 32 30 29 20 2e 20 28 73 74 eturn.substr($next,.0,.20)...(st
179ba0 72 6c 65 6e 28 24 6e 65 78 74 29 20 3e 20 32 30 20 3f 20 27 2e 2e 2e 27 20 3a 20 27 27 29 3b 0a rlen($next).>.20.?.'...'.:.'');.
179bc0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 45 72 72 6f 72 }..protected.function.parseError
179be0 28 24 73 74 72 2c 20 24 68 61 73 68 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 ($str,.$hash).{.throw.new.\Excep
179c00 74 69 6f 6e 28 24 73 74 72 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 tion($str);.}..private.function.
179c20 6e 65 78 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 6f 6e 65 29 20 7b 0a 72 65 74 75 next().{.if.($this->done).{.retu
179c40 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 rn.$this->EOF;.}.if.($this->inpu
179c60 74 20 3d 3d 3d 20 27 27 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 6e 65 20 3d 20 74 72 75 65 3b 0a t.===.'').{.$this->done.=.true;.
179c80 7d 0a 0a 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 6d 61 74 63 68 20 3d 20 6e 75 6c 6c 3b }..$token.=.null;.$match.=.null;
179ca0 0a 24 63 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 69 6e 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 .$col.=.null;.$lines.=.null;..if
179cc0 20 28 21 24 74 68 69 73 2d 3e 6d 6f 72 65 29 20 7b 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 .(!$this->more).{.$this->yytext.
179ce0 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 3d 20 27 27 3b 0a 7d 0a 0a 24 72 75 6c =.'';.$this->match.=.'';.}..$rul
179d00 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 52 75 6c 65 73 28 29 3b 0a 24 es.=.$this->getCurrentRules();.$
179d20 72 75 6c 65 73 4c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 72 75 6c 65 73 29 3b 0a 0a 66 6f 72 20 28 rulesLen.=.count($rules);..for.(
179d40 24 69 3d 30 3b 20 24 69 20 3c 20 24 72 75 6c 65 73 4c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 69 66 $i=0;.$i.<.$rulesLen;.$i++).{.if
179d60 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 72 75 6c 65 73 .(preg_match($this->rules[$rules
179d80 5b 24 69 5d 5d 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a [$i]],.$this->input,.$match)).{.
179da0 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 5c 6e 2e 2a 2f 27 2c 20 24 6d 61 74 63 68 5b preg_match_all('/\n.*/',.$match[
179dc0 30 5d 2c 20 24 6c 69 6e 65 73 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 24 6c 69 6e 65 73 5b 30 5d 3b 0],.$lines);.$lines.=.$lines[0];
179de0 0a 69 66 20 28 24 6c 69 6e 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 20 2b .if.($lines).{.$this->yylineno.+
179e00 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 79 79 6c 6c 6f =.count($lines);.}..$this->yyllo
179e20 63 20 3d 20 61 72 72 61 79 28 0a 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 c.=.array(.'first_line'.=>.$this
179e40 2d 3e 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 6c 61 73 74 5f 6c 69 6e ->yylloc['last_line'],.'last_lin
179e60 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2b 31 2c 0a 27 66 69 72 73 74 5f e'.=>.$this->yylineno+1,.'first_
179e80 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 63 column'.=>.$this->yylloc['last_c
179ea0 6f 6c 75 6d 6e 27 5d 2c 0a 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 6c 69 6e 65 73 olumn'],.'last_column'.=>.$lines
179ec0 20 3f 20 73 74 72 6c 65 6e 28 24 6c 69 6e 65 73 5b 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 2d .?.strlen($lines[count($lines).-
179ee0 20 31 5d 29 20 2d 20 31 20 3a 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 63 .1]).-.1.:.$this->yylloc['last_c
179f00 6f 6c 75 6d 6e 27 5d 20 2b 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 2c 0a 29 3b 0a olumn'].+.strlen($match[0]),.);.
179f20 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 24 74 68 69 $this->yytext..=.$match[0];.$thi
179f40 73 2d 3e 6d 61 74 63 68 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 24 74 68 69 73 2d 3e 79 79 s->match..=.$match[0];.$this->yy
179f60 6c 65 6e 67 20 3d 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 79 79 74 65 78 74 29 3b 0a 24 74 leng.=.strlen($this->yytext);.$t
179f80 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 his->more.=.false;.$this->input.
179fa0 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 73 74 72 6c 65 6e 28 24 6d =.substr($this->input,.strlen($m
179fc0 61 74 63 68 5b 30 5d 29 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 20 2e 3d 20 24 6d 61 atch[0]));.$this->matched..=.$ma
179fe0 74 63 68 5b 30 5d 3b 0a 24 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 tch[0];.$token.=.$this->performA
17a000 63 74 69 6f 6e 28 24 72 75 6c 65 73 5b 24 69 5d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 ction($rules[$i],.$this->conditi
17a020 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 onStack[count($this->conditionSt
17a040 61 63 6b 29 2d 31 5d 29 3b 0a 69 66 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 ack)-1]);.if.($token).{.return.$
17a060 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 token;.}..return.new.Undefined()
17a080 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 3d 3d 20 22 22 29 20 ;.}.}..if.($this->input.===."").
17a0a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 {.return.$this->EOF;.}..$this->p
17a0c0 61 72 73 65 45 72 72 6f 72 28 0a 27 4c 65 78 69 63 61 6c 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e arseError(.'Lexical.error.on.lin
17a0e0 65 20 27 20 2e 20 28 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 2e 20 55 e.'...($this->yylineno+1)..."..U
17a100 6e 72 65 63 6f 67 6e 69 7a 65 64 20 74 65 78 74 2e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 73 68 nrecognized.text.\n"...$this->sh
17a120 6f 77 50 6f 73 69 74 69 6f 6e 28 29 2c 0a 61 72 72 61 79 28 0a 27 74 65 78 74 27 20 3d 3e 20 22 owPosition(),.array(.'text'.=>."
17a140 22 2c 0a 27 74 6f 6b 65 6e 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 74 ",.'token'.=>.null,.'line'.=>.$t
17a160 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a 29 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 his->yylineno,.).);.}..private.f
17a180 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 unction.getCurrentRules().{.retu
17a1a0 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 73 5b 24 74 68 69 73 2d 3e 63 6f 6e 64 rn.$this->conditions[$this->cond
17a1c0 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f itionStack[count($this->conditio
17a1e0 6e 53 74 61 63 6b 29 2d 31 5d 5d 5b 27 72 75 6c 65 73 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 nStack)-1]]['rules'];.}..private
17a200 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 24 61 76 6f 69 64 69 6e .function.performAction($avoidin
17a220 67 5f 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 6f 6e 73 2c 20 24 59 59 5f 53 54 41 52 54 29 0a 7b 0a g_name_collisions,.$YY_START).{.
17a240 73 77 69 74 63 68 20 28 24 61 76 6f 69 64 69 6e 67 5f 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 6f 6e switch.($avoiding_name_collision
17a260 73 29 20 7b 0a 63 61 73 65 20 30 3a 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 3a 0a 72 65 74 75 s).{.case.0:.break;.case.1:.retu
17a280 72 6e 20 36 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 3a 0a 24 74 68 69 73 2d 3e 79 79 74 65 rn.6;.break;.case.2:.$this->yyte
17a2a0 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 79 79 74 65 78 74 2c 20 31 2c 20 24 74 xt.=.substr($this->yytext,.1,.$t
17a2c0 68 69 73 2d 3e 79 79 6c 65 6e 67 2d 32 29 3b 0a 0a 72 65 74 75 72 6e 20 34 3b 0a 63 61 73 65 20 his->yyleng-2);..return.4;.case.
17a2e0 33 3a 0a 72 65 74 75 72 6e 20 31 37 3b 0a 63 61 73 65 20 34 3a 0a 72 65 74 75 72 6e 20 31 38 3b 3:.return.17;.case.4:.return.18;
17a300 0a 63 61 73 65 20 35 3a 0a 72 65 74 75 72 6e 20 32 33 3b 0a 63 61 73 65 20 36 3a 0a 72 65 74 75 .case.5:.return.23;.case.6:.retu
17a320 72 6e 20 32 34 3b 0a 63 61 73 65 20 37 3a 0a 72 65 74 75 72 6e 20 32 32 3b 0a 63 61 73 65 20 38 rn.24;.case.7:.return.22;.case.8
17a340 3a 0a 72 65 74 75 72 6e 20 32 31 3b 0a 63 61 73 65 20 39 3a 0a 72 65 74 75 72 6e 20 31 30 3b 0a :.return.21;.case.9:.return.10;.
17a360 63 61 73 65 20 31 30 3a 0a 72 65 74 75 72 6e 20 31 31 3b 0a 63 61 73 65 20 31 31 3a 0a 72 65 74 case.10:.return.11;.case.11:.ret
17a380 75 72 6e 20 38 3b 0a 63 61 73 65 20 31 32 3a 0a 72 65 74 75 72 6e 20 31 34 3b 0a 63 61 73 65 20 urn.8;.case.12:.return.14;.case.
17a3a0 31 33 3a 0a 72 65 74 75 72 6e 20 27 49 4e 56 41 4c 49 44 27 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 13:.return.'INVALID';.}.}.}.<?ph
17a3c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c p...........namespace.Seld\JsonL
17a3e0 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 int;..class.ParsingException.ext
17a400 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 74 ends.\Exception.{.protected.$det
17a420 61 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 ails;..public.function.__constru
17a440 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 61 69 6c 73 20 3d 20 61 72 72 61 79 28 29 29 ct($message,.$details.=.array())
17a460 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 20 3d 20 24 64 65 74 61 69 6c 73 3b 0a 70 61 .{.$this->details.=.$details;.pa
17a480 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a rent::__construct($message);.}..
17a4a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 74 61 69 6c 73 28 29 0a 7b 0a 72 public.function.getDetails().{.r
17a4c0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a eturn.$this->details;.}.}.<?php.
17a4e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e ..........namespace.Seld\JsonLin
17a500 74 3b 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 0a 7b 0a 7d 0a 4d 49 54 20 4c 69 63 65 t;..class.Undefined.{.}.MIT.Lice
17a520 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 0a 0a 50 65 72 6d 69 73 73 nse..Copyright.(c).2016..Permiss
17a540 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 ion.is.hereby.granted,.free.of.c
17a560 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 harge,.to.any.person.obtaining.a
17a580 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 .copy.of.this.software.and.assoc
17a5a0 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 iated.documentation.files.(the."
17a5c0 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 Software"),.to.deal.in.the.Softw
17a5e0 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 are.without.restriction,.includi
17a600 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 ng.without.limitation.the.rights
17a620 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 .to.use,.copy,.modify,.merge,.pu
17a640 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 blish,.distribute,.sublicense,.a
17a660 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 nd/or.sell.copies.of.the.Softwar
17a680 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d e,.and.to.permit.persons.to.whom
17a6a0 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f .the.Software.is.furnished.to.do
17a6c0 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f .so,.subject.to.the.following.co
17a6e0 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e nditions:..The.above.copyright.n
17a700 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 otice.and.this.permission.notice
17a720 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 .shall.be.included.in.all.copies
17a740 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 .or.substantial.portions.of.the.
17a760 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 Software...THE.SOFTWARE.IS.PROVI
17a780 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 DED."AS.IS",.WITHOUT.WARRANTY.OF
17a7a0 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 .ANY.KIND,.EXPRESS.OR.IMPLIED,.I
17a7c0 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 NCLUDING.BUT.NOT.LIMITED.TO.THE.
17a7e0 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 WARRANTIES.OF.MERCHANTABILITY,.F
17a800 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 ITNESS.FOR.A.PARTICULAR.PURPOSE.
17a820 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 AND.NONINFRINGEMENT..IN.NO.EVENT
17a840 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 .SHALL.THE.AUTHORS.OR.COPYRIGHT.
17a860 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c HOLDERS.BE.LIABLE.FOR.ANY.CLAIM,
17a880 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 .DAMAGES.OR.OTHER.LIABILITY,.WHE
17a8a0 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 THER.IN.AN.ACTION.OF.CONTRACT,.T
17a8c0 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a ORT.OR.OTHERWISE,.ARISING.FROM,.
17a8e0 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 OUT.OF.OR.IN.CONNECTION.WITH.THE
17a900 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 .SOFTWARE.OR.THE.USE.OR.OTHER.DE
17a920 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 72 ALINGS.IN.THE.SOFTWARE..<?php..r
17a940 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 equire.__DIR__...'/../vendor/aut
17a960 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 oload.php';..$data.=.json_decode
17a980 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 27 64 61 74 61 2e 6a 73 6f 6e 27 29 29 (file_get_contents('data.json'))
17a9a0 3b 0a 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 53 63 68 65 6d 61 5c ;...$validator.=.new.JsonSchema\
17a9c0 56 61 6c 69 64 61 74 6f 72 28 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 Validator();.$validator->check($
17a9e0 64 61 74 61 2c 20 28 6f 62 6a 65 63 74 29 20 61 72 72 61 79 28 27 24 72 65 66 27 20 3d 3e 20 27 data,.(object).array('$ref'.=>.'
17aa00 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 27 73 63 68 65 6d 61 2e 6a 73 6f 6e file://'...realpath('schema.json
17aa20 27 29 29 29 3b 0a 0a 69 66 20 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 69 73 56 61 6c 69 64 28 29 ')));..if.($validator->isValid()
17aa40 29 20 7b 0a 65 63 68 6f 20 22 54 68 65 20 73 75 70 70 6c 69 65 64 20 4a 53 4f 4e 20 76 61 6c 69 ).{.echo."The.supplied.JSON.vali
17aa60 64 61 74 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 20 73 63 68 65 6d 61 2e 5c 6e 22 3b 0a 7d 20 dates.against.the.schema.\n";.}.
17aa80 65 6c 73 65 20 7b 0a 65 63 68 6f 20 22 4a 53 4f 4e 20 64 6f 65 73 20 6e 6f 74 20 76 61 6c 69 64 else.{.echo."JSON.does.not.valid
17aaa0 61 74 65 2e 20 56 69 6f 6c 61 74 69 6f 6e 73 3a 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 76 ate..Violations:\n";.foreach.($v
17aac0 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 65 72 72 6f 72 29 alidator->getErrors().as.$error)
17aae0 20 7b 0a 65 63 68 6f 20 73 70 72 69 6e 74 66 28 22 5b 25 73 5d 20 25 73 5c 6e 22 2c 20 24 65 72 .{.echo.sprintf("[%s].%s\n",.$er
17ab00 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 ror['property'],.$error['message
17ab20 27 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ']);.}.}.<?php.........namespace
17ab40 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 .JsonSchema\Constraints;..use.Js
17ab60 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 onSchema\Entity\JsonPointer;.use
17ab80 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 .JsonSchema\Exception\InvalidArg
17aba0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 umentException;.use.JsonSchema\E
17abc0 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 xception\ValidationException;.us
17abe0 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 e.JsonSchema\Validator;......cla
17ac00 73 73 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ss.BaseConstraint.{....protected
17ac20 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 .$errors.=.array();.....protecte
17ac40 64 20 24 65 72 72 6f 72 4d 61 73 6b 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f d.$errorMask.=.Validator::ERROR_
17ac60 4e 4f 4e 45 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 61 63 74 6f 72 79 3b 0a 0a 0a NONE;.....protected.$factory;...
17ac80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 46 61 ..public.function.__construct(Fa
17aca0 63 74 6f 72 79 20 24 66 61 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e ctory.$factory.=.null).{.$this->
17acc0 66 61 63 74 6f 72 79 20 3d 20 24 66 61 63 74 6f 72 79 20 3f 3a 20 6e 65 77 20 46 61 63 74 6f 72 factory.=.$factory.?:.new.Factor
17ace0 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 y();.}..public.function.addError
17ad00 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 6d 65 73 73 (JsonPointer.$path.=.null,.$mess
17ad20 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 27 27 2c 20 61 72 72 61 79 20 24 6d 6f age,.$constraint.=.'',.array.$mo
17ad40 72 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 61 72 72 61 79 28 0a 27 70 72 re.=.null).{.$error.=.array(.'pr
17ad60 6f 70 65 72 74 79 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 4a 73 6f 6e 50 6f 69 operty'.=>.$this->convertJsonPoi
17ad80 6e 74 65 72 49 6e 74 6f 50 72 6f 70 65 72 74 79 50 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 nterIntoPropertyPath($path.?:.ne
17ada0 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 29 2c 0a 27 70 6f 69 6e 74 65 72 27 20 3d 3e w.JsonPointer('')),.'pointer'.=>
17adc0 20 6c 74 72 69 6d 28 73 74 72 76 61 6c 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 .ltrim(strval($path.?:.new.JsonP
17ade0 6f 69 6e 74 65 72 28 27 27 29 29 2c 20 27 23 27 29 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 ointer('')),.'#'),.'message'.=>.
17ae00 24 6d 65 73 73 61 67 65 2c 0a 27 63 6f 6e 73 74 72 61 69 6e 74 27 20 3d 3e 20 24 63 6f 6e 73 74 $message,.'constraint'.=>.$const
17ae20 72 61 69 6e 74 2c 0a 27 63 6f 6e 74 65 78 74 27 20 3d 3e 20 24 74 68 69 73 2d 3e 66 61 63 74 6f raint,.'context'.=>.$this->facto
17ae40 72 79 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 ry->getErrorContext(),.);..if.($
17ae60 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 43 6f 6e 73 74 72 61 this->factory->getConfig(Constra
17ae80 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f 4e 53 29 29 20 7b 0a 74 int::CHECK_MODE_EXCEPTIONS)).{.t
17aea0 68 72 6f 77 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 hrow.new.ValidationException(spr
17aec0 69 6e 74 66 28 27 45 72 72 6f 72 20 76 61 6c 69 64 61 74 69 6e 67 20 25 73 3a 20 25 73 27 2c 20 intf('Error.validating.%s:.%s',.
17aee0 24 65 72 72 6f 72 5b 27 70 6f 69 6e 74 65 72 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 $error['pointer'],.$error['messa
17af00 67 65 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6d 6f 72 65 29 20 26 ge']));.}..if.(is_array($more).&
17af20 26 20 63 6f 75 6e 74 28 24 6d 6f 72 65 29 20 3e 20 30 29 20 7b 0a 24 65 72 72 6f 72 20 2b 3d 20 &.count($more).>.0).{.$error.+=.
17af40 24 6d 6f 72 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 65 72 72 $more;.}..$this->errors[].=.$err
17af60 6f 72 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 20 7c 3d 20 24 65 72 72 6f 72 5b 27 or;.$this->errorMask.|=.$error['
17af80 63 6f 6e 74 65 78 74 27 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 context'];.}..public.function.ad
17afa0 64 45 72 72 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 6f 72 73 29 0a 7b 0a 69 66 20 28 24 65 72 dErrors(array.$errors).{.if.($er
17afc0 72 6f 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 rors).{.$this->errors.=.array_me
17afe0 72 67 65 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 24 65 72 72 6f 72 73 29 3b 0a 24 65 72 rge($this->errors,.$errors);.$er
17b000 72 6f 72 4d 61 73 6b 20 3d 20 26 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 3b 0a 61 72 72 rorMask.=.&$this->errorMask;.arr
17b020 61 79 5f 77 61 6c 6b 28 24 65 72 72 6f 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 65 72 72 6f ay_walk($errors,.function.($erro
17b040 72 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 61 73 6b 29 20 7b 0a 69 66 20 28 69 73 73 65 74 r).use.(&$errorMask).{.if.(isset
17b060 28 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 29 29 20 7b 0a 24 65 72 72 6f 72 4d 61 73 ($error['context'])).{.$errorMas
17b080 6b 20 7c 3d 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 3b 0a 7d 0a 7d 29 3b 0a 7d 0a k.|=.$error['context'];.}.});.}.
17b0a0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 24 65 72 }..public.function.getErrors($er
17b0c0 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c rorContext.=.Validator::ERROR_AL
17b0e0 4c 29 0a 7b 0a 69 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 3d 3d 20 56 61 6c 69 64 L).{.if.($errorContext.===.Valid
17b100 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ator::ERROR_ALL).{.return.$this-
17b120 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 >errors;.}..return.array_filter(
17b140 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 65 72 72 6f 72 29 $this->errors,.function.($error)
17b160 20 75 73 65 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 20 7b 0a 69 66 20 28 24 65 72 72 6f .use.($errorContext).{.if.($erro
17b180 72 43 6f 6e 74 65 78 74 20 26 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 29 20 7b 0a rContext.&.$error['context']).{.
17b1a0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.true;.}.});.}..public.fun
17b1c0 63 74 69 6f 6e 20 6e 75 6d 45 72 72 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 ction.numErrors($errorContext.=.
17b1e0 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 0a 7b 0a 69 66 20 28 24 65 72 72 Validator::ERROR_ALL).{.if.($err
17b200 6f 72 43 6f 6e 74 65 78 74 20 3d 3d 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 orContext.===.Validator::ERROR_A
17b220 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 LL).{.return.count($this->errors
17b240 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 );.}..return.count($this->getErr
17b260 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ors($errorContext));.}..public.f
17b280 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 unction.isValid().{.return.!$thi
17b2a0 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 s->getErrors();.}......public.fu
17b2c0 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d nction.reset().{.$this->errors.=
17b2e0 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 20 3d 20 56 61 6c .array();.$this->errorMask.=.Val
17b300 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 4e 4f 4e 45 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c idator::ERROR_NONE;.}.......publ
17b320 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4d 61 73 6b 28 29 0a 7b 0a 72 65 74 ic.function.getErrorMask().{.ret
17b340 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$this->errorMask;.}.........
17b360 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 54 6f 4f 62 public.static.function.arrayToOb
17b380 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 61 72 72 61 79 29 0a 7b 0a 24 6a 73 6f 6e 20 3d 20 jectRecursive($array).{.$json.=.
17b3a0 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 61 72 72 61 79 29 3b 0a 69 66 20 28 6a 73 6f 6e 5f 6c 61 json_encode($array);.if.(json_la
17b3c0 73 74 5f 65 72 72 6f 72 28 29 20 21 3d 3d 20 5c 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 29 st_error().!==.\JSON_ERROR_NONE)
17b3e0 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 65 6e 63 6f 64 65 20 .{.$message.=.'Unable.to.encode.
17b400 73 63 68 65 6d 61 20 61 72 72 61 79 20 61 73 20 4a 53 4f 4e 27 3b 0a 69 66 20 28 66 75 6e 63 74 schema.array.as.JSON';.if.(funct
17b420 69 6f 6e 5f 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 5f 6d 73 67 27 ion_exists('json_last_error_msg'
17b440 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 3a 20 27 20 2e 20 6a 73 6f 6e 5f 6c 61 73 )).{.$message..=.':.'...json_las
17b460 74 5f 65 72 72 6f 72 5f 6d 73 67 28 29 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c t_error_msg();.}.throw.new.Inval
17b480 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d idArgumentException($message);.}
17b4a0 0a 0a 72 65 74 75 72 6e 20 28 6f 62 6a 65 63 74 29 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a ..return.(object).json_decode($j
17b4c0 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 son);.}.}.<?php.........namespac
17b4e0 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a e.JsonSchema\Constraints;..use.J
17b500 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a sonSchema\Entity\JsonPointer;...
17b520 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 .....class.CollectionConstraint.
17b540 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 extends.Constraint.{....public.f
17b560 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d unction.check(&$value,.$schema.=
17b580 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c .null,.JsonPointer.$path.=.null,
17b5a0 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d .$i.=.null).{...if.(isset($schem
17b5c0 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3c 20 a->minItems).&&.count($value).<.
17b5e0 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 $schema->minItems).{.$this->addE
17b600 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 20 6d 69 6e rror($path,.'There.must.be.a.min
17b620 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 20 2e 20 imum.of.'...$schema->minItems...
17b640 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 27 6d 69 6e 49 74 65 6d 73 '.items.in.the.array',.'minItems
17b660 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 49 74 65 6d 73 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e ',.array('minItems'.=>.$schema->
17b680 6d 69 6e 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 minItems));.}....if.(isset($sche
17b6a0 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e ma->maxItems).&&.count($value).>
17b6c0 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 .$schema->maxItems).{.$this->add
17b6e0 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 20 6d 61 Error($path,.'There.must.be.a.ma
17b700 78 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 20 2e ximum.of.'...$schema->maxItems..
17b720 20 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 27 6d 61 78 49 74 65 6d .'.items.in.the.array',.'maxItem
17b740 73 27 2c 20 61 72 72 61 79 28 27 6d 61 78 49 74 65 6d 73 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d s',.array('maxItems'.=>.$schema-
17b760 3e 6d 61 78 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 >maxItems));.}....if.(isset($sch
17b780 65 6d 61 2d 3e 75 6e 69 71 75 65 49 74 65 6d 73 29 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 75 6e ema->uniqueItems).&&.$schema->un
17b7a0 69 71 75 65 49 74 65 6d 73 29 20 7b 0a 24 75 6e 69 71 75 65 20 3d 20 24 76 61 6c 75 65 3b 0a 69 iqueItems).{.$unique.=.$value;.i
17b7c0 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 f.(is_array($value).&&.count($va
17b7e0 6c 75 65 29 29 20 7b 0a 24 75 6e 69 71 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 lue)).{.$unique.=.array_map(func
17b800 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 65 tion.($e).{.return.var_export($e
17b820 2c 20 74 72 75 65 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 ,.true);.},.$value);.}.if.(count
17b840 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 75 6e 69 71 75 65 29 29 20 21 3d 20 63 6f 75 6e 74 (array_unique($unique)).!=.count
17b860 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 ($value)).{.$this->addError($pat
17b880 68 2c 20 27 54 68 65 72 65 20 61 72 65 20 6e 6f 20 64 75 70 6c 69 63 61 74 65 73 20 61 6c 6c 6f h,.'There.are.no.duplicates.allo
17b8a0 77 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 27 75 6e 69 71 75 65 49 74 65 6d 73 27 wed.in.the.array',.'uniqueItems'
17b8c0 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 );.}.}....if.(isset($schema->ite
17b8e0 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 49 74 65 6d 73 28 24 76 61 6c ms)).{.$this->validateItems($val
17b900 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 0a ue,.$schema,.$path,.$i);.}.}....
17b920 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 ......protected.function.validat
17b940 65 49 74 65 6d 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 eItems(&$value,.$schema.=.null,.
17b960 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e JsonPointer.$path.=.null,.$i.=.n
17b980 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 ull).{.if.(is_object($schema->it
17b9a0 65 6d 73 29 29 20 7b 0a 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 ems)).{...if.(isset($schema->ite
17b9c0 6d 73 2d 3e 74 79 70 65 29 0a 26 26 20 28 0a 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 ms->type).&&.(.$schema->items->t
17b9e0 79 70 65 20 3d 3d 20 27 73 74 72 69 6e 67 27 0a 7c 7c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d ype.==.'string'.||.$schema->item
17ba00 73 2d 3e 74 79 70 65 20 3d 3d 20 27 6e 75 6d 62 65 72 27 0a 7c 7c 20 24 73 63 68 65 6d 61 2d 3e s->type.==.'number'.||.$schema->
17ba20 69 74 65 6d 73 2d 3e 74 79 70 65 20 3d 3d 20 27 69 6e 74 65 67 65 72 27 0a 29 0a 26 26 20 21 69 items->type.==.'integer'.).&&.!i
17ba40 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 29 0a 29 sset($schema->additionalItems).)
17ba60 20 7b 0a 0a 20 24 74 79 70 65 20 3d 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 .{...$type.=.$schema->items->typ
17ba80 65 3b 0a 24 74 79 70 65 56 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f e;.$typeValidator.=.$this->facto
17baa0 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 ry->createInstanceFor('type');.$
17bac0 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 validator.=.$this->factory->crea
17bae0 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 24 74 79 70 65 20 3d 3d 3d 20 27 69 6e 74 65 67 65 72 teInstanceFor($type.===.'integer
17bb00 27 20 3f 20 27 6e 75 6d 62 65 72 27 20 3a 20 24 74 79 70 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 '.?.'number'.:.$type);..foreach.
17bb20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 24 6b 5f 70 61 74 68 20 ($value.as.$k.=>.&$v).{.$k_path.
17bb40 3d 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 24 70 61 74 68 2c 20 24 6b =.$this->incrementPath($path,.$k
17bb60 29 3b 0a 24 74 79 70 65 56 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 2c 20 24 73 63 );.$typeValidator->check($v,.$sc
17bb80 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 6b 5f 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 76 61 6c hema->items,.$k_path,.$i);..$val
17bba0 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 idator->check($v,.$schema->items
17bbc0 2c 20 24 6b 5f 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 24 ,.$k_path,.$i);.}.unset($v);...$
17bbe0 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 74 79 70 65 56 61 6c 69 64 61 74 6f 72 2d 3e this->addErrors($typeValidator->
17bc00 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 getErrors());.$this->addErrors($
17bc20 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 validator->getErrors());.}.else.
17bc40 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 {.foreach.($value.as.$k.=>.&$v).
17bc60 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 {.$initErrors.=.$this->getErrors
17bc80 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c ();....$this->checkUndefined($v,
17bca0 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 0a 0a 20 .$schema->items,.$path,.$k);....
17bcc0 69 66 20 28 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 20 3c 20 63 6f 75 6e 74 28 24 if.(count($initErrors).<.count($
17bce0 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 26 26 20 28 69 73 73 65 74 28 24 73 63 this->getErrors()).&&.(isset($sc
17bd00 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 29 20 26 26 20 24 73 63 68 65 6d hema->additionalItems).&&.$schem
17bd20 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 20 21 3d 3d 20 66 61 6c 73 65 29 29 20 7b a->additionalItems.!==.false)).{
17bd40 0a 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 .$secondErrors.=.$this->getError
17bd60 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 s();.$this->checkUndefined($v,.$
17bd80 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 schema->additionalItems,.$path,.
17bda0 24 6b 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 $k);.}....if.(isset($secondError
17bdc0 73 29 20 26 26 20 63 6f 75 6e 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 3c 20 63 6f 75 s).&&.count($secondErrors).<.cou
17bde0 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 20 7b 0a 24 74 68 69 73 2d nt($this->getErrors())).{.$this-
17be00 3e 65 72 72 6f 72 73 20 3d 20 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 3b 0a 7d 20 65 6c 73 65 69 >errors.=.$secondErrors;.}.elsei
17be20 66 20 28 69 73 73 65 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 26 26 20 63 6f 75 6e 74 f.(isset($secondErrors).&&.count
17be40 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d ($secondErrors).===.count($this-
17be60 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d >getErrors())).{.$this->errors.=
17be80 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 7d .$initErrors;.}.}.unset($v);...}
17bea0 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 .}.else.{...foreach.($value.as.$
17bec0 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 k.=>.&$v).{.if.(array_key_exists
17bee0 28 24 6b 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 ($k,.$schema->items)).{.$this->c
17bf00 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 heckUndefined($v,.$schema->items
17bf20 5b 24 6b 5d 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 [$k],.$path,.$k);.}.else.{...if.
17bf40 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 61 64 64 69 74 (property_exists($schema,.'addit
17bf60 69 6f 6e 61 6c 49 74 65 6d 73 27 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 ionalItems')).{.if.($schema->add
17bf80 69 74 69 6f 6e 61 6c 49 74 65 6d 73 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d itionalItems.!==.false).{.$this-
17bfa0 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 >checkUndefined($v,.$schema->add
17bfc0 69 74 69 6f 6e 61 6c 49 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 20 65 6c 73 65 itionalItems,.$path,.$k);.}.else
17bfe0 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 0a 24 70 61 74 68 2c 20 27 54 68 65 20 .{.$this->addError(.$path,.'The.
17c000 69 74 65 6d 20 27 20 2e 20 24 69 20 2e 20 27 5b 27 20 2e 20 24 6b 20 2e 20 27 5d 20 69 73 20 6e item.'...$i...'['...$k...'].is.n
17c020 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 64 6f ot.defined.and.the.definition.do
17c040 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 74 65 6d 73 27 2c 20 es.not.allow.additional.items',.
17c060 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 2c 20 61 72 72 61 79 28 27 61 64 64 69 74 69 'additionalItems',.array('additi
17c080 6f 6e 61 6c 49 74 65 6d 73 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 onalItems'.=>.$schema->additiona
17c0a0 6c 49 74 65 6d 73 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 lItems));.}.}.else.{...$this->ch
17c0c0 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 eckUndefined($v,.new.\stdClass()
17c0e0 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a ,.$path,.$k);.}.}.}.unset($v);..
17c100 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e 20 30 29 20 7b 0a 66 6f 72 ....if.(count($value).>.0).{.for
17c120 20 28 24 6b 20 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 3b 20 24 6b 20 3c 20 63 6f 75 6e 74 .($k.=.count($value);.$k.<.count
17c140 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 3b 20 24 6b 2b 2b 29 20 7b 0a 24 75 6e 64 65 66 ($schema->items);.$k++).{.$undef
17c160 69 6e 65 64 49 6e 73 74 61 6e 63 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 inedInstance.=.$this->factory->c
17c180 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 24 reateInstanceFor('undefined');.$
17c1a0 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 75 6e 64 65 66 69 6e 65 64 49 this->checkUndefined($undefinedI
17c1c0 6e 73 74 61 6e 63 65 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 5b 24 6b 5d 2c 20 24 70 61 nstance,.$schema->items[$k],.$pa
17c1e0 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a th,.$k);.}.}.}.}.}.<?php........
17c200 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 .namespace.JsonSchema\Constraint
17c220 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f s;..use.JsonSchema\Entity\JsonPo
17c240 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 43 6f 6e inter;........abstract.class.Con
17c260 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 20 69 straint.extends.BaseConstraint.i
17c280 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a mplements.ConstraintInterface.{.
17c2a0 70 72 6f 74 65 63 74 65 64 20 24 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 20 protected.$inlineSchemaProperty.
17c2c0 3d 20 27 24 73 63 68 65 6d 61 27 3b 0a 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e =.'$schema';..const.CHECK_MODE_N
17c2e0 4f 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f ONE.=.0x00000000;.const.CHECK_MO
17c300 44 45 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31 3b 0a 63 6f 6e 73 74 20 43 48 DE_NORMAL.=.0x00000001;.const.CH
17c320 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b ECK_MODE_TYPE_CAST.=.0x00000002;
17c340 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 43 4f 45 52 43 45 5f 54 59 50 45 53 20 3d .const.CHECK_MODE_COERCE_TYPES.=
17c360 20 30 78 30 30 30 30 30 30 30 34 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 .0x00000004;.const.CHECK_MODE_AP
17c380 50 4c 59 5f 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 30 30 30 30 30 30 38 3b 0a 63 6f 6e 73 74 PLY_DEFAULTS.=.0x00000008;.const
17c3a0 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f 4e 53 20 3d 20 30 78 30 30 30 30 30 .CHECK_MODE_EXCEPTIONS.=.0x00000
17c3c0 30 31 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 44 49 53 41 42 4c 45 5f 46 4f 010;.const.CHECK_MODE_DISABLE_FO
17c3e0 52 4d 41 54 20 3d 20 30 78 30 30 30 30 30 30 32 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d RMAT.=.0x00000020;.const.CHECK_M
17c400 4f 44 45 5f 4f 4e 4c 59 5f 52 45 51 55 49 52 45 44 5f 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 ODE_ONLY_REQUIRED_DEFAULTS.=.0x0
17c420 30 30 30 30 30 38 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 0000080;.const.CHECK_MODE_VALIDA
17c440 54 45 5f 53 43 48 45 4d 41 20 3d 20 30 78 30 30 30 30 30 31 30 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a TE_SCHEMA.=.0x00000100;.........
17c460 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 72 65 6d 65 6e 74 50 61 74 .protected.function.incrementPat
17c480 68 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 29 0a h(JsonPointer.$path.=.null,.$i).
17c4a0 7b 0a 24 70 61 74 68 20 3d 20 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 {.$path.=.$path.?:.new.JsonPoint
17c4c0 65 72 28 27 27 29 3b 0a 24 70 61 74 68 20 3d 20 24 70 61 74 68 2d 3e 77 69 74 68 50 72 6f 70 65 er('');.$path.=.$path->withPrope
17c4e0 72 74 79 50 61 74 68 73 28 0a 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 70 61 74 68 2d 3e 67 65 rtyPaths(.array_merge(.$path->ge
17c500 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 2c 0a 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 tPropertyPaths(),.array_filter(a
17c520 72 72 61 79 28 24 69 29 2c 20 27 73 74 72 6c 65 6e 27 29 0a 29 0a 29 3b 0a 0a 72 65 74 75 72 6e rray($i),.'strlen').).);..return
17c540 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e .$path;.}..........protected.fun
17c560 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 72 61 79 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d ction.checkArray(&$value,.$schem
17c580 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 a.=.null,.JsonPointer.$path.=.nu
17c5a0 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 ll,.$i.=.null).{.$validator.=.$t
17c5c0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 his->factory->createInstanceFor(
17c5e0 27 63 6f 6c 6c 65 63 74 69 6f 6e 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 'collection');.$validator->check
17c600 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 ($value,.$schema,.$path,.$i);..$
17c620 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 this->addErrors($validator->getE
17c640 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 rrors());.}............protected
17c660 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4f 62 6a 65 63 74 28 26 24 76 61 6c 75 65 2c 20 24 .function.checkObject(&$value,.$
17c680 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 schema.=.null,.JsonPointer.$path
17c6a0 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 0a 24 61 64 .=.null,.$properties.=.null,.$ad
17c6c0 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 ditionalProperties.=.null,.$patt
17c6e0 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 70 70 6c 69 65 64 44 65 ernProperties.=.null,.$appliedDe
17c700 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d faults.=.array()).{.$validator.=
17c720 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 .$this->factory->createInstanceF
17c740 6f 72 28 27 6f 62 6a 65 63 74 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 or('object');.$validator->check(
17c760 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 70 72 6f 70 65 72 74 $value,.$schema,.$path,.$propert
17c780 69 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 ies,.$additionalProperties,.$pat
17c7a0 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 2c 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 ternProperties,.$appliedDefaults
17c7c0 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d );..$this->addErrors($validator-
17c7e0 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 >getErrors());.}..........protec
17c800 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 54 79 70 65 28 26 24 76 61 6c 75 65 2c 20 ted.function.checkType(&$value,.
17c820 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
17c840 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f h.=.null,.$i.=.null).{.$validato
17c860 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e r.=.$this->factory->createInstan
17c880 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b ceFor('type');.$validator->check
17c8a0 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 ($value,.$schema,.$path,.$i);..$
17c8c0 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 this->addErrors($validator->getE
17c8e0 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 rrors());.}..........protected.f
17c900 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 26 24 76 61 6c 75 65 2c 20 unction.checkUndefined(&$value,.
17c920 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
17c940 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c h.=.null,.$i.=.null,.$fromDefaul
17c960 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d t.=.false).{.$validator.=.$this-
17c980 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 >factory->createInstanceFor('und
17c9a0 65 66 69 6e 65 64 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 efined');..$validator->check($va
17c9c0 6c 75 65 2c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 lue,.$this->factory->getSchemaSt
17c9e0 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 73 63 68 65 6d orage()->resolveRefSchema($schem
17ca00 61 29 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 29 3b 0a 0a 24 a),.$path,.$i,.$fromDefault);..$
17ca20 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 this->addErrors($validator->getE
17ca40 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 rrors());.}..........protected.f
17ca60 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 73 63 68 unction.checkString($value,.$sch
17ca80 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 ema.=.null,.JsonPointer.$path.=.
17caa0 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 null,.$i.=.null).{.$validator.=.
17cac0 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f $this->factory->createInstanceFo
17cae0 72 28 27 73 74 72 69 6e 67 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 r('string');.$validator->check($
17cb00 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 value,.$schema,.$path,.$i);..$th
17cb20 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 is->addErrors($validator->getErr
17cb40 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ors());.}..........protected.fun
17cb60 63 74 69 6f 6e 20 63 68 65 63 6b 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d ction.checkNumber($value,.$schem
17cb80 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 a.=.null,.JsonPointer.$path.=.nu
17cba0 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 ll,.$i.=.null).{.$validator.=.$t
17cbc0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 his->factory->createInstanceFor(
17cbe0 27 6e 75 6d 62 65 72 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 'number');.$validator->check($va
17cc00 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 lue,.$schema,.$path,.$i);..$this
17cc20 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 ->addErrors($validator->getError
17cc40 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 s());.}..........protected.funct
17cc60 69 6f 6e 20 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 ion.checkEnum($value,.$schema.=.
17cc80 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 null,.JsonPointer.$path.=.null,.
17cca0 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d $i.=.null).{.$validator.=.$this-
17ccc0 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 65 6e 75 >factory->createInstanceFor('enu
17cce0 6d 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 m');.$validator->check($value,.$
17cd00 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 schema,.$path,.$i);..$this->addE
17cd20 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a rrors($validator->getErrors());.
17cd40 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 }..........protected.function.ch
17cd60 65 63 6b 46 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c eckFormat($value,.$schema.=.null
17cd80 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d ,.JsonPointer.$path.=.null,.$i.=
17cda0 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 .null).{.$validator.=.$this->fac
17cdc0 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 66 6f 72 6d 61 74 27 tory->createInstanceFor('format'
17cde0 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 );.$validator->check($value,.$sc
17ce00 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 hema,.$path,.$i);..$this->addErr
17ce20 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a ors($validator->getErrors());.}.
17ce40 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 ......protected.function.getType
17ce60 43 68 65 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d Check().{.return.$this->factory-
17ce80 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 >getTypeCheck();.}.......protect
17cea0 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 4a 73 6f 6e 50 6f 69 6e 74 65 72 49 6e ed.function.convertJsonPointerIn
17cec0 74 6f 50 72 6f 70 65 72 74 79 50 61 74 68 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 6f 69 6e toPropertyPath(JsonPointer.$poin
17cee0 74 65 72 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 ter).{.$result.=.array_map(.func
17cf00 74 69 6f 6e 20 28 24 70 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 69 73 tion.($path).{.return.sprintf(is
17cf20 5f 6e 75 6d 65 72 69 63 28 24 70 61 74 68 29 20 3f 20 27 5b 25 64 5d 27 20 3a 20 27 2e 25 73 27 _numeric($path).?.'[%d]'.:.'.%s'
17cf40 2c 20 24 70 61 74 68 29 3b 0a 7d 2c 0a 24 70 6f 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 ,.$path);.},.$pointer->getProper
17cf60 74 79 50 61 74 68 73 28 29 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 69 6d 70 6c 6f 64 tyPaths().);..return.trim(implod
17cf80 65 28 27 27 2c 20 24 72 65 73 75 6c 74 29 2c 20 27 2e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a e('',.$result),.'.');.}.}.<?php.
17cfa0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e ........namespace.JsonSchema\Con
17cfc0 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 straints;..use.JsonSchema\Entity
17cfe0 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f \JsonPointer;.......interface.Co
17d000 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 nstraintInterface.{......public.
17d020 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c function.getErrors();.......publ
17d040 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 ic.function.addErrors(array.$err
17d060 6f 72 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 ors);..........public.function.a
17d080 64 64 45 72 72 6f 72 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c ddError(JsonPointer.$path.=.null
17d0a0 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 3d 27 27 2c 20 61 72 72 61 ,.$message,.$constraint='',.arra
17d0c0 79 20 24 6d 6f 72 65 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 y.$more.=.null);.......public.fu
17d0e0 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 nction.isValid();..............p
17d100 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 73 ublic.function.check(&$value,.$s
17d120 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 chema.=.null,.JsonPointer.$path.
17d140 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a =.null,.$i.=.null);.}.<?php.....
17d160 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 ....namespace.JsonSchema\Constra
17d180 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f ints;..use.JsonSchema\Entity\Jso
17d1a0 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6e 75 6d 43 6f 6e 73 74 nPointer;........class.EnumConst
17d1c0 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 raint.extends.Constraint.{....pu
17d1e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 blic.function.check(&$element,.$
17d200 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 schema.=.null,.JsonPointer.$path
17d220 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 65 6c 65 .=.null,.$i.=.null).{...if.($ele
17d240 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 ment.instanceof.UndefinedConstra
17d260 69 6e 74 20 26 26 20 28 21 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 int.&&.(!isset($schema->required
17d280 29 20 7c 7c 20 21 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 29 20 7b 0a 72 65 74 75 ).||.!$schema->required)).{.retu
17d2a0 72 6e 3b 0a 7d 0a 24 74 79 70 65 20 3d 20 67 65 74 74 79 70 65 28 24 65 6c 65 6d 65 6e 74 29 3b rn;.}.$type.=.gettype($element);
17d2c0 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 20 61 73 20 24 65 6e 75 ..foreach.($schema->enum.as.$enu
17d2e0 6d 29 20 7b 0a 24 65 6e 75 6d 54 79 70 65 20 3d 20 67 65 74 74 79 70 65 28 24 65 6e 75 6d 29 3b m).{.$enumType.=.gettype($enum);
17d300 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 .if.($this->factory->getConfig(s
17d320 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 29 20 26 26 20 24 74 elf::CHECK_MODE_TYPE_CAST).&&.$t
17d340 79 70 65 20 3d 3d 20 27 61 72 72 61 79 27 20 26 26 20 24 65 6e 75 6d 54 79 70 65 20 3d 3d 20 27 ype.==.'array'.&&.$enumType.==.'
17d360 6f 62 6a 65 63 74 27 29 20 7b 0a 69 66 20 28 28 6f 62 6a 65 63 74 29 20 24 65 6c 65 6d 65 6e 74 object').{.if.((object).$element
17d380 20 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 .==.$enum).{.return;.}.}..if.($t
17d3a0 79 70 65 20 3d 3d 3d 20 67 65 74 74 79 70 65 28 24 65 6e 75 6d 29 29 20 7b 0a 69 66 20 28 24 74 ype.===.gettype($enum)).{.if.($t
17d3c0 79 70 65 20 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b 0a 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 ype.==.'object').{.if.($element.
17d3e0 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 ==.$enum).{.return;.}.}.elseif.(
17d400 24 65 6c 65 6d 65 6e 74 20 3d 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a $element.===.$enum).{.return;.}.
17d420 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 44 6f 65 }.}..$this->addError($path,.'Doe
17d440 73 20 6e 6f 74 20 68 61 76 65 20 61 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 65 6e 75 6d 65 72 s.not.have.a.value.in.the.enumer
17d460 61 74 69 6f 6e 20 27 20 2e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 73 63 68 65 6d 61 2d 3e 65 ation.'...json_encode($schema->e
17d480 6e 75 6d 29 2c 20 27 65 6e 75 6d 27 2c 20 61 72 72 61 79 28 27 65 6e 75 6d 27 20 3d 3e 20 24 73 num),.'enum',.array('enum'.=>.$s
17d4a0 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a chema->enum));.}.}.<?php........
17d4c0 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 .namespace.JsonSchema\Constraint
17d4e0 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 s;..use.JsonSchema\Exception\Inv
17d500 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 alidArgumentException;.use.JsonS
17d520 63 68 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 chema\SchemaStorage;.use.JsonSch
17d540 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ema\SchemaStorageInterface;.use.
17d560 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 74 72 69 65 76 65 72 3b 0a 75 73 65 JsonSchema\Uri\UriRetriever;.use
17d580 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 .JsonSchema\UriRetrieverInterfac
17d5a0 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a e;.use.JsonSchema\Validator;....
17d5c0 0a 63 6c 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 .class.Factory.{....protected.$s
17d5e0 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 chemaStorage;.....protected.$uri
17d600 52 65 74 72 69 65 76 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 68 65 63 6b 4d 6f 64 Retriever;.....private.$checkMod
17d620 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 e.=.Constraint::CHECK_MODE_NORMA
17d640 4c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 43 68 65 63 6b 20 3d 20 61 72 72 61 L;.....private.$typeCheck.=.arra
17d660 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 y();.....protected.$errorContext
17d680 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 44 4f 43 55 4d 45 4e 54 5f 56 41 4c .=.Validator::ERROR_DOCUMENT_VAL
17d6a0 49 44 41 54 49 4f 4e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 IDATION;.....protected.$constrai
17d6c0 6e 74 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 27 61 72 72 61 79 27 20 3d 3e 20 27 4a 73 6f 6e 53 ntMap.=.array(.'array'.=>.'JsonS
17d6e0 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 chema\Constraints\CollectionCons
17d700 74 72 61 69 6e 74 27 2c 0a 27 63 6f 6c 6c 65 63 74 69 6f 6e 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 traint',.'collection'.=>.'JsonSc
17d720 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 hema\Constraints\CollectionConst
17d740 72 61 69 6e 74 27 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c raint',.'object'.=>.'JsonSchema\
17d760 43 6f 6e 73 74 72 61 69 6e 74 73 5c 4f 62 6a 65 63 74 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 Constraints\ObjectConstraint',.'
17d780 74 79 70 65 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 type'.=>.'JsonSchema\Constraints
17d7a0 5c 54 79 70 65 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 75 6e 64 65 66 69 6e 65 64 27 20 3d 3e \TypeConstraint',.'undefined'.=>
17d7c0 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 55 6e 64 65 66 69 6e .'JsonSchema\Constraints\Undefin
17d7e0 65 64 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 73 74 72 69 6e 67 27 20 3d 3e 20 27 4a 73 6f 6e edConstraint',.'string'.=>.'Json
17d800 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 Schema\Constraints\StringConstra
17d820 69 6e 74 27 2c 0a 27 6e 75 6d 62 65 72 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f int',.'number'.=>.'JsonSchema\Co
17d840 6e 73 74 72 61 69 6e 74 73 5c 4e 75 6d 62 65 72 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 65 6e nstraints\NumberConstraint',.'en
17d860 75 6d 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 45 um'.=>.'JsonSchema\Constraints\E
17d880 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 27 4a 73 6f numConstraint',.'format'.=>.'Jso
17d8a0 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 46 6f 72 6d 61 74 43 6f 6e 73 74 72 nSchema\Constraints\FormatConstr
17d8c0 61 69 6e 74 27 2c 0a 27 73 63 68 65 6d 61 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 aint',.'schema'.=>.'JsonSchema\C
17d8e0 6f 6e 73 74 72 61 69 6e 74 73 5c 53 63 68 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 76 onstraints\SchemaConstraint',.'v
17d900 61 6c 69 64 61 74 6f 72 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 alidator'.=>.'JsonSchema\Validat
17d920 6f 72 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6e 63 65 43 61 63 68 or'.);.....private.$instanceCach
17d940 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e.=.array();.......public.functi
17d960 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 on.__construct(.SchemaStorageInt
17d980 65 72 66 61 63 65 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3d 20 6e 75 6c 6c 2c 0a 55 72 erface.$schemaStorage.=.null,.Ur
17d9a0 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 69 52 65 74 72 69 65 76 65 iRetrieverInterface.$uriRetrieve
17d9c0 72 20 3d 20 6e 75 6c 6c 2c 0a 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e r.=.null,.$checkMode.=.Constrain
17d9e0 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 0a 29 20 7b 0a 0a 20 24 74 68 69 73 t::CHECK_MODE_NORMAL.).{...$this
17da00 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d ->setConfig($checkMode);..$this-
17da20 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3f 3a >uriRetriever.=.$uriRetriever.?:
17da40 20 6e 65 77 20 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 73 63 68 65 .new.UriRetriever();.$this->sche
17da60 6d 61 53 74 6f 72 61 67 65 20 3d 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3f 3a 20 6e 65 maStorage.=.$schemaStorage.?:.ne
17da80 77 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 w.SchemaStorage($this->uriRetrie
17daa0 76 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ver);.}.......public.function.se
17dac0 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a tConfig($checkMode.=.Constraint:
17dae0 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 :CHECK_MODE_NORMAL).{.$this->che
17db00 63 6b 4d 6f 64 65 20 3d 20 24 63 68 65 63 6b 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 ckMode.=.$checkMode;.}.......pub
17db20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 lic.function.addConfig($options)
17db40 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 7c 3d 20 24 6f 70 74 69 6f 6e 73 3b .{.$this->checkMode.|=.$options;
17db60 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 .}.......public.function.removeC
17db80 6f 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f onfig($options).{.$this->checkMo
17dba0 64 65 20 26 3d 20 7e 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 de.&=.~$options;.}.........publi
17dbc0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 20 3d 20 c.function.getConfig($options.=.
17dbe0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b null).{.if.($options.===.null).{
17dc00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 3b 0a 7d 0a 0a 72 65 74 .return.$this->checkMode;.}..ret
17dc20 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 26 20 24 6f 70 74 69 6f 6e 73 3b urn.$this->checkMode.&.$options;
17dc40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 .}.....public.function.getUriRet
17dc60 72 69 65 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 riever().{.return.$this->uriRetr
17dc80 69 65 76 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 iever;.}..public.function.getSch
17dca0 65 6d 61 53 74 6f 72 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 emaStorage().{.return.$this->sch
17dcc0 65 6d 61 53 74 6f 72 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 emaStorage;.}..public.function.g
17dce0 65 74 54 79 70 65 43 68 65 63 6b 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 etTypeCheck().{.if.(!isset($this
17dd00 2d 3e 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 29 29 20 ->typeCheck[$this->checkMode])).
17dd20 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d {.$this->typeCheck[$this->checkM
17dd40 6f 64 65 5d 20 3d 20 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 26 20 43 6f 6e 73 74 ode].=.($this->checkMode.&.Const
17dd60 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 29 0a 3f 20 6e raint::CHECK_MODE_TYPE_CAST).?.n
17dd80 65 77 20 54 79 70 65 43 68 65 63 6b 5c 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 28 29 0a 3a 20 ew.TypeCheck\LooseTypeCheck().:.
17dda0 6e 65 77 20 54 79 70 65 43 68 65 63 6b 5c 53 74 72 69 63 74 54 79 70 65 43 68 65 63 6b 28 29 3b new.TypeCheck\StrictTypeCheck();
17ddc0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 .}..return.$this->typeCheck[$thi
17dde0 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 s->checkMode];.}........public.f
17de00 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 73 74 72 61 69 6e 74 43 6c 61 73 73 28 24 6e 61 6d 65 unction.setConstraintClass($name
17de20 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 ,.$class).{...if.(!class_exists(
17de40 24 63 6c 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 $class)).{.throw.new.InvalidArgu
17de60 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 63 6f 6e 73 74 72 61 69 6e mentException('Unknown.constrain
17de80 74 20 27 20 2e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 t.'...$name);.}...if.(!in_array(
17dea0 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6e 73 74 72 61 69 'JsonSchema\Constraints\Constrai
17dec0 6e 74 49 6e 74 65 72 66 61 63 65 27 2c 20 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 ntInterface',.class_implements($
17dee0 63 6c 61 73 73 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 class))).{.throw.new.InvalidArgu
17df00 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 6c 61 73 73 20 27 20 2e mentException('Invalid.class.'..
17df20 20 24 6e 61 6d 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b .$name);.}.$this->constraintMap[
17df40 24 6e 61 6d 65 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a $name].=.$class;..return.$this;.
17df60 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 }...........public.function.crea
17df80 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 29 0a 7b teInstanceFor($constraintName).{
17dfa0 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 .if.(!isset($this->constraintMap
17dfc0 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 [$constraintName])).{.throw.new.
17dfe0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 InvalidArgumentException('Unknow
17e000 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 n.constraint.'...$constraintName
17e020 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 );.}..if.(!isset($this->instance
17e040 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 29 29 20 7b 0a 24 74 68 69 73 Cache[$constraintName])).{.$this
17e060 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d ->instanceCache[$constraintName]
17e080 20 3d 20 6e 65 77 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b 24 63 6f 6e .=.new.$this->constraintMap[$con
17e0a0 73 74 72 61 69 6e 74 4e 61 6d 65 5d 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 straintName]($this);.}..return.c
17e0c0 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 lone.$this->instanceCache[$const
17e0e0 72 61 69 6e 74 4e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 raintName];.}.......public.funct
17e100 69 6f 6e 20 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getErrorContext().{.return.$
17e120 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c this->errorContext;.}.......publ
17e140 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 24 65 72 72 ic.function.setErrorContext($err
17e160 6f 72 43 6f 6e 74 65 78 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 orContext).{.$this->errorContext
17e180 20 3d 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .=.$errorContext;.}.}.<?php.....
17e1a0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 ....namespace.JsonSchema\Constra
17e1c0 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f ints;..use.JsonSchema\Entity\Jso
17e1e0 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 52 66 63 33 33 33 39 nPointer;.use.JsonSchema\Rfc3339
17e200 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 ;.........class.FormatConstraint
17e220 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 .extends.Constraint.{....public.
17e240 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d function.check(&$element,.$schem
17e260 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 a.=.null,.JsonPointer.$path.=.nu
17e280 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 73 63 68 ll,.$i.=.null).{.if.(!isset($sch
17e2a0 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 7c 7c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e ema->format).||.$this->factory->
17e2c0 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 44 49 53 41 42 getConfig(self::CHECK_MODE_DISAB
17e2e0 4c 45 5f 46 4f 52 4d 41 54 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 LE_FORMAT)).{.return;.}..switch.
17e300 28 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 63 61 73 65 20 27 64 61 74 65 27 3a ($schema->format).{.case.'date':
17e320 0a 69 66 20 28 21 24 64 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 .if.(!$date.=.$this->validateDat
17e340 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 59 2d 6d 2d 64 27 29 29 20 7b 0a 24 74 68 69 eTime($element,.'Y-m-d')).{.$thi
17e360 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 s->addError($path,.sprintf('Inva
17e380 6c 69 64 20 64 61 74 65 20 25 73 2c 20 65 78 70 65 63 74 65 64 20 66 6f 72 6d 61 74 20 59 59 59 lid.date.%s,.expected.format.YYY
17e3a0 59 2d 4d 4d 2d 44 44 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 Y-MM-DD',.json_encode($element))
17e3c0 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 ,.'format',.array('format'.=>.$s
17e3e0 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 chema->format));.}.break;..case.
17e400 27 74 69 6d 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 'time':.if.(!$this->validateDate
17e420 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 48 3a 69 3a 73 27 29 29 20 7b 0a 24 74 68 69 73 Time($element,.'H:i:s')).{.$this
17e440 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c ->addError($path,.sprintf('Inval
17e460 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 65 64 20 66 6f 72 6d 61 74 20 68 68 3a 6d id.time.%s,.expected.format.hh:m
17e480 6d 3a 73 73 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 m:ss',.json_encode($element)),.'
17e4a0 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 format',.array('format'.=>.$sche
17e4c0 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 61 ma->format));.}.break;..case.'da
17e4e0 74 65 2d 74 69 6d 65 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 52 66 63 33 33 33 39 3a 3a te-time':.if.(null.===.Rfc3339::
17e500 63 72 65 61 74 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 createFromString($element)).{.$t
17e520 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e his->addError($path,.sprintf('In
17e540 76 61 6c 69 64 20 64 61 74 65 2d 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 65 64 20 66 6f 72 valid.date-time.%s,.expected.for
17e560 6d 61 74 20 59 59 59 59 2d 4d 4d 2d 44 44 54 68 68 3a 6d 6d 3a 73 73 5a 20 6f 72 20 59 59 59 59 mat.YYYY-MM-DDThh:mm:ssZ.or.YYYY
17e580 2d 4d 4d 2d 44 44 54 68 68 3a 6d 6d 3a 73 73 2b 68 68 3a 6d 6d 27 2c 20 6a 73 6f 6e 5f 65 6e 63 -MM-DDThh:mm:ss+hh:mm',.json_enc
17e5a0 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 ode($element)),.'format',.array(
17e5c0 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 'format'.=>.$schema->format));.}
17e5e0 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 74 63 2d 6d 69 6c 6c 69 73 65 63 27 3a 0a 69 66 .break;..case.'utc-millisec':.if
17e600 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d .(!$this->validateDateTime($elem
17e620 65 6e 74 2c 20 27 55 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 ent,.'U')).{.$this->addError($pa
17e640 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 th,.sprintf('Invalid.time.%s,.ex
17e660 70 65 63 74 65 64 20 69 6e 74 65 67 65 72 20 6f 66 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 73 pected.integer.of.milliseconds.s
17e680 69 6e 63 65 20 45 70 6f 63 68 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e ince.Epoch',.json_encode($elemen
17e6a0 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e t)),.'format',.array('format'.=>
17e6c0 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 .$schema->format));.}.break;..ca
17e6e0 73 65 20 27 72 65 67 65 78 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 se.'regex':.if.(!$this->validate
17e700 52 65 67 65 78 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 Regex($element)).{.$this->addErr
17e720 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 72 65 67 65 78 20 66 6f 72 6d 61 74 20 or($path,.'Invalid.regex.format.
17e740 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 '...$element,.'format',.array('f
17e760 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 ormat'.=>.$schema->format));.}.b
17e780 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 6f 6c 6f 72 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d reak;..case.'color':.if.(!$this-
17e7a0 3e 76 61 6c 69 64 61 74 65 43 6f 6c 6f 72 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 >validateColor($element)).{.$thi
17e7c0 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 63 6f 6c 6f s->addError($path,.'Invalid.colo
17e7e0 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 r',.'format',.array('format'.=>.
17e800 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 $schema->format));.}.break;..cas
17e820 65 20 27 73 74 79 6c 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 e.'style':.if.(!$this->validateS
17e840 74 79 6c 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f tyle($element)).{.$this->addErro
17e860 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 73 74 79 6c 65 27 2c 20 27 66 6f 72 6d 61 r($path,.'Invalid.style',.'forma
17e880 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 t',.array('format'.=>.$schema->f
17e8a0 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 6f 6e 65 27 3a ormat));.}.break;..case.'phone':
17e8c0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 68 6f 6e 65 28 24 65 6c 65 6d .if.(!$this->validatePhone($elem
17e8e0 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 ent)).{.$this->addError($path,.'
17e900 49 6e 76 61 6c 69 64 20 70 68 6f 6e 65 20 6e 75 6d 62 65 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c Invalid.phone.number',.'format',
17e920 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d .array('format'.=>.$schema->form
17e940 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 72 69 27 3a 0a 69 66 20 28 at));.}.break;..case.'uri':.if.(
17e960 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 null.===.filter_var($element,.FI
17e980 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f LTER_VALIDATE_URL,.FILTER_NULL_O
17e9a0 4e 5f 46 41 49 4c 55 52 45 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 N_FAILURE)).{.$this->addError($p
17e9c0 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d ath,.'Invalid.URL.format',.'form
17e9e0 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e at',.array('format'.=>.$schema->
17ea00 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 72 69 72 65 66 format));.}.break;..case.'uriref
17ea20 27 3a 0a 63 61 73 65 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3a 0a 69 66 20 28 6e 75 6c ':.case.'uri-reference':.if.(nul
17ea40 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 l.===.filter_var($element,.FILTE
17ea60 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 R_VALIDATE_URL,.FILTER_NULL_ON_F
17ea80 41 49 4c 55 52 45 29 29 20 7b 0a 0a 20 0a 20 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 65 6c 65 AILURE)).{.......if.(substr($ele
17eaa0 6d 65 6e 74 2c 20 30 2c 20 32 29 20 3d 3d 3d 20 27 2f 2f 27 29 20 7b 20 0a 20 24 76 61 6c 69 64 ment,.0,.2).===.'//').{...$valid
17eac0 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a 27 20 2e 20 24 65 6c URL.=.filter_var('scheme:'...$el
17eae0 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 ement,.FILTER_VALIDATE_URL,.FILT
17eb00 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 ER_NULL_ON_FAILURE);.}.elseif.(s
17eb20 75 62 73 74 72 28 24 65 6c 65 6d 65 6e 74 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b ubstr($element,.0,.1).===.'/').{
17eb40 20 0a 20 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d ...$validURL.=.filter_var('schem
17eb60 65 3a 2f 2f 68 6f 73 74 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c e://host'...$element,.FILTER_VAL
17eb80 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 IDATE_URL,.FILTER_NULL_ON_FAILUR
17eba0 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 29 20 E);.}.elseif.(strlen($element)).
17ebc0 7b 20 0a 20 24 70 61 74 68 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 65 {...$pathParts.=.explode('/',.$e
17ebe0 6c 65 6d 65 6e 74 2c 20 32 29 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 61 74 68 50 61 72 74 lement,.2);.if.(strpos($pathPart
17ec00 73 5b 30 5d 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 76 61 6c 69 64 55 52 s[0],.':').!==.false).{.$validUR
17ec20 4c 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 L.=.null;.}.else.{.$validURL.=.f
17ec40 69 6c 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a 2f 2f 68 6f 73 74 2f 27 20 2e 20 24 65 6c ilter_var('scheme://host/'...$el
17ec60 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 ement,.FILTER_VALIDATE_URL,.FILT
17ec80 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a ER_NULL_ON_FAILURE);.}.}.else.{.
17eca0 24 76 61 6c 69 64 55 52 4c 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 69 66 20 28 24 76 61 6c 69 64 55 52 $validURL.=.null;.}.if.($validUR
17ecc0 4c 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 L.===.null).{.$this->addError($p
17ece0 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d ath,.'Invalid.URL.format',.'form
17ed00 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e at',.array('format'.=>.$schema->
17ed20 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 65 6d 61 69 format));.}.}.break;..case.'emai
17ed40 6c 27 3a 0a 24 66 69 6c 74 65 72 46 6c 61 67 73 20 3d 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f l':.$filterFlags.=.FILTER_NULL_O
17ed60 4e 5f 46 41 49 4c 55 52 45 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 46 49 4c 54 45 52 5f 46 N_FAILURE;.if.(defined('FILTER_F
17ed80 4c 41 47 5f 45 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 29 29 20 7b 0a 0a 20 24 66 69 6c 74 65 72 LAG_EMAIL_UNICODE')).{...$filter
17eda0 46 6c 61 67 73 20 7c 3d 20 63 6f 6e 73 74 61 6e 74 28 27 46 49 4c 54 45 52 5f 46 4c 41 47 5f 45 Flags.|=.constant('FILTER_FLAG_E
17edc0 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 29 3b 20 0a 20 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d MAIL_UNICODE');...}.if.(null.===
17ede0 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c .filter_var($element,.FILTER_VAL
17ee00 49 44 41 54 45 5f 45 4d 41 49 4c 2c 20 24 66 69 6c 74 65 72 46 6c 61 67 73 29 29 20 7b 0a 24 74 IDATE_EMAIL,.$filterFlags)).{.$t
17ee20 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 65 6d his->addError($path,.'Invalid.em
17ee40 61 69 6c 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d ail',.'format',.array('format'.=
17ee60 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 >.$schema->format));.}.break;..c
17ee80 61 73 65 20 27 69 70 2d 61 64 64 72 65 73 73 27 3a 0a 63 61 73 65 20 27 69 70 76 34 27 3a 0a 69 ase.'ip-address':.case.'ipv4':.i
17eea0 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c f.(null.===.filter_var($element,
17eec0 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c .FILTER_VALIDATE_IP,.FILTER_NULL
17eee0 5f 4f 4e 5f 46 41 49 4c 55 52 45 20 7c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 _ON_FAILURE.|.FILTER_FLAG_IPV4))
17ef00 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c .{.$this->addError($path,.'Inval
17ef20 69 64 20 49 50 20 61 64 64 72 65 73 73 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 id.IP.address',.'format',.array(
17ef40 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 'format'.=>.$schema->format));.}
17ef60 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 70 76 36 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d .break;..case.'ipv6':.if.(null.=
17ef80 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 ==.filter_var($element,.FILTER_V
17efa0 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 ALIDATE_IP,.FILTER_NULL_ON_FAILU
17efc0 52 45 20 7c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 50 56 36 29 29 20 7b 0a 24 74 68 69 73 2d RE.|.FILTER_FLAG_IPV6)).{.$this-
17efe0 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 49 50 20 61 64 64 >addError($path,.'Invalid.IP.add
17f000 72 65 73 73 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 ress',.'format',.array('format'.
17f020 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a =>.$schema->format));.}.break;..
17f040 63 61 73 65 20 27 68 6f 73 74 2d 6e 61 6d 65 27 3a 0a 63 61 73 65 20 27 68 6f 73 74 6e 61 6d 65 case.'host-name':.case.'hostname
17f060 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 ':.if.(!$this->validateHostname(
17f080 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 $element)).{.$this->addError($pa
17f0a0 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 68 6f 73 74 6e 61 6d 65 27 2c 20 27 66 6f 72 6d 61 74 27 th,.'Invalid.hostname',.'format'
17f0c0 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 ,.array('format'.=>.$schema->for
17f0e0 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 0a 20 0a 20 mat));.}.break;..default:.......
17f100 0a 20 0a 20 0a 20 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ......break;.}.}..protected.func
17f120 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 64 61 74 65 74 69 6d 65 2c tion.validateDateTime($datetime,
17f140 20 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 64 74 20 3d 20 5c 44 61 74 65 54 69 6d 65 3a 3a 63 72 65 .$format).{.$dt.=.\DateTime::cre
17f160 61 74 65 46 72 6f 6d 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 2c 20 24 64 61 74 65 74 69 6d 65 ateFromFormat($format,.$datetime
17f180 29 3b 0a 0a 69 66 20 28 21 24 64 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a );..if.(!$dt).{.return.false;.}.
17f1a0 0a 69 66 20 28 24 64 61 74 65 74 69 6d 65 20 3d 3d 3d 20 24 64 74 2d 3e 66 6f 72 6d 61 74 28 24 .if.($datetime.===.$dt->format($
17f1c0 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a format)).{.return.true;.}.......
17f1e0 20 0a 20 69 66 20 28 28 73 74 72 70 6f 73 28 27 75 27 2c 20 24 66 6f 72 6d 61 74 29 20 21 3d 3d ...if.((strpos('u',.$format).!==
17f200 20 2d 31 29 20 26 26 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5c 2e 5c 64 2b 5a 24 2f 27 2c .-1).&&.(preg_match('/\.\d+Z$/',
17f220 20 24 64 61 74 65 74 69 6d 65 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a .$datetime))).{.return.true;.}..
17f240 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 return.false;.}..protected.funct
17f260 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 72 65 67 65 78 29 0a 7b 0a 72 65 74 75 ion.validateRegex($regex).{.retu
17f280 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 40 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 20 2e 20 24 rn.false.!==.@preg_match('/'...$
17f2a0 72 65 67 65 78 20 2e 20 27 2f 75 27 2c 20 27 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 regex...'/u',.'');.}..protected.
17f2c0 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 6f 6c 6f 72 28 24 63 6f 6c 6f 72 29 0a 7b function.validateColor($color).{
17f2e0 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6c 6f 72 29 .if.(in_array(strtolower($color)
17f300 2c 20 61 72 72 61 79 28 27 61 71 75 61 27 2c 20 27 62 6c 61 63 6b 27 2c 20 27 62 6c 75 65 27 2c ,.array('aqua',.'black',.'blue',
17f320 20 27 66 75 63 68 73 69 61 27 2c 0a 27 67 72 61 79 27 2c 20 27 67 72 65 65 6e 27 2c 20 27 6c 69 .'fuchsia',.'gray',.'green',.'li
17f340 6d 65 27 2c 20 27 6d 61 72 6f 6f 6e 27 2c 20 27 6e 61 76 79 27 2c 20 27 6f 6c 69 76 65 27 2c 20 me',.'maroon',.'navy',.'olive',.
17f360 27 6f 72 61 6e 67 65 27 2c 20 27 70 75 72 70 6c 65 27 2c 0a 27 72 65 64 27 2c 20 27 73 69 6c 76 'orange',.'purple',.'red',.'silv
17f380 65 72 27 2c 20 27 74 65 61 6c 27 2c 20 27 77 68 69 74 65 27 2c 20 27 79 65 6c 6c 6f 77 27 29 29 er',.'teal',.'white',.'yellow'))
17f3a0 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f ).{.return.true;.}..return.preg_
17f3c0 6d 61 74 63 68 28 27 2f 5e 23 28 5b 61 2d 66 30 2d 39 5d 7b 33 7d 7c 5b 61 2d 66 30 2d 39 5d 7b match('/^#([a-f0-9]{3}|[a-f0-9]{
17f3e0 36 7d 29 24 2f 69 27 2c 20 24 63 6f 6c 6f 72 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 6})$/i',.$color);.}..protected.f
17f400 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 79 6c 65 28 24 73 74 79 6c 65 29 0a 7b 0a unction.validateStyle($style).{.
17f420 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3b 27 2c 20 72 74 72 69 6d $properties.=.explode(';',.rtrim
17f440 28 24 73 74 79 6c 65 2c 20 27 3b 27 29 29 3b 0a 24 69 6e 76 61 6c 69 64 45 6e 74 72 69 65 73 20 ($style,.';'));.$invalidEntries.
17f460 3d 20 70 72 65 67 5f 67 72 65 70 28 27 2f 5e 5c 73 2a 5b 2d 61 2d 7a 5d 2b 5c 73 2a 3a 5c 73 2a =.preg_grep('/^\s*[-a-z]+\s*:\s*
17f480 2e 2b 24 2f 69 27 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 50 52 45 47 5f 47 52 45 50 5f 49 .+$/i',.$properties,.PREG_GREP_I
17f4a0 4e 56 45 52 54 29 3b 0a 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 69 6e 76 61 6c 69 64 45 6e NVERT);..return.empty($invalidEn
17f4c0 74 72 69 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 tries);.}..protected.function.va
17f4e0 6c 69 64 61 74 65 50 68 6f 6e 65 28 24 70 68 6f 6e 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 lidatePhone($phone).{.return.pre
17f500 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 2b 3f 28 5c 28 5c 64 7b 33 7d 5c 29 7c 5c 64 7b 33 7d 29 20 g_match('/^\+?(\(\d{3}\)|\d{3}).
17f520 5c 64 7b 33 7d 20 5c 64 7b 34 7d 24 2f 27 2c 20 24 70 68 6f 6e 65 29 3b 0a 7d 0a 0a 70 72 6f 74 \d{3}.\d{4}$/',.$phone);.}..prot
17f540 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 ected.function.validateHostname(
17f560 24 68 6f 73 74 29 0a 7b 0a 24 68 6f 73 74 6e 61 6d 65 52 65 67 65 78 20 3d 20 27 2f 5e 28 28 5b $host).{.$hostnameRegex.=.'/^(([
17f580 61 2d 7a 41 2d 5a 30 2d 39 5d 7c 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9
17f5a0 5c 2d 5d 2a 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 29 5c 2e 29 2a 28 5b 41 2d 5a 61 2d 7a 30 2d 39 5d \-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]
17f5c0 7c 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5c 2d 5d 2a 5b 41 2d 5a 61 2d |[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-
17f5e0 7a 30 2d 39 5d 29 24 2f 69 27 3b 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 24 z0-9])$/i';..return.preg_match($
17f600 68 6f 73 74 6e 61 6d 65 52 65 67 65 78 2c 20 24 68 6f 73 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 hostnameRegex,.$host);.}.}.<?php
17f620 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f .........namespace.JsonSchema\Co
17f640 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 nstraints;..use.JsonSchema\Entit
17f660 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 y\JsonPointer;........class.Numb
17f680 65 72 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a erConstraint.extends.Constraint.
17f6a0 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 {....public.function.check(&$ele
17f6c0 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 ment,.$schema.=.null,.JsonPointe
17f6e0 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 r.$path.=.null,.$i.=.null).{...i
17f700 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d f.(isset($schema->exclusiveMinim
17f720 75 6d 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 um)).{.if.(isset($schema->minimu
17f740 6d 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 m)).{.if.($schema->exclusiveMini
17f760 6d 75 6d 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 3d 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 mum.&&.$element.<=.$schema->mini
17f780 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d mum).{.$this->addError($path,.'M
17f7a0 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 ust.have.a.minimum.value.of.'...
17f7c0 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 $schema->minimum,.'exclusiveMini
17f7e0 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 mum',.array('minimum'.=>.$schema
17f800 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 ->minimum));.}.elseif.($element.
17f820 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 <.$schema->minimum).{.$this->add
17f840 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 Error($path,.'Must.have.a.minimu
17f860 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c m.value.of.'...$schema->minimum,
17f880 20 27 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 .'minimum',.array('minimum'.=>.$
17f8a0 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 schema->minimum));.}.}.else.{.$t
17f8c0 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 55 73 65 20 6f 66 20 65 78 63 his->addError($path,.'Use.of.exc
17f8e0 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 20 72 65 71 75 69 72 65 73 20 70 72 65 73 65 6e 63 65 20 lusiveMinimum.requires.presence.
17f900 6f 66 20 6d 69 6e 69 6d 75 6d 27 2c 20 27 6d 69 73 73 69 6e 67 4d 69 6e 69 6d 75 6d 27 29 3b 0a of.minimum',.'missingMinimum');.
17f920 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d }.}.elseif.(isset($schema->minim
17f940 75 6d 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d um).&&.$element.<.$schema->minim
17f960 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 um).{.$this->addError($path,.'Mu
17f980 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 st.have.a.minimum.value.of.'...$
17f9a0 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 schema->minimum,.'minimum',.arra
17f9c0 79 28 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 y('minimum'.=>.$schema->minimum)
17f9e0 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 );.}....if.(isset($schema->exclu
17fa00 73 69 76 65 4d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d siveMaximum)).{.if.(isset($schem
17fa20 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c a->maximum)).{.if.($schema->excl
17fa40 75 73 69 76 65 4d 61 78 69 6d 75 6d 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3e 3d 20 24 73 63 68 usiveMaximum.&&.$element.>=.$sch
17fa60 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 ema->maximum).{.$this->addError(
17fa80 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 $path,.'Must.have.a.maximum.valu
17faa0 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 2c 20 27 65 78 63 6c e.of.'...$schema->maximum,.'excl
17fac0 75 73 69 76 65 4d 61 78 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d usiveMaximum',.array('maximum'.=
17fae0 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 >.$schema->maximum));.}.elseif.(
17fb00 24 65 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 $element.>.$schema->maximum).{.$
17fb20 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 this->addError($path,.'Must.have
17fb40 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d .a.maximum.value.of.'...$schema-
17fb60 3e 6d 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 >maximum,.'maximum',.array('maxi
17fb80 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 7d 20 mum'.=>.$schema->maximum));.}.}.
17fba0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 55 else.{.$this->addError($path,.'U
17fbc0 73 65 20 6f 66 20 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 20 72 65 71 75 69 72 65 73 20 se.of.exclusiveMaximum.requires.
17fbe0 70 72 65 73 65 6e 63 65 20 6f 66 20 6d 61 78 69 6d 75 6d 27 2c 20 27 6d 69 73 73 69 6e 67 4d 61 presence.of.maximum',.'missingMa
17fc00 78 69 6d 75 6d 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 ximum');.}.}.elseif.(isset($sche
17fc20 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 ma->maximum).&&.$element.>.$sche
17fc40 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 ma->maximum).{.$this->addError($
17fc60 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 path,.'Must.have.a.maximum.value
17fc80 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d .of.'...$schema->maximum,.'maxim
17fca0 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d um',.array('maximum'.=>.$schema-
17fcc0 3e 6d 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 >maximum));.}....if.(isset($sche
17fce0 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 26 26 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 ma->divisibleBy).&&.$this->fmod(
17fd00 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 $element,.$schema->divisibleBy).
17fd20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 !=.0).{.$this->addError($path,.'
17fd40 49 73 20 6e 6f 74 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 27 20 2e 20 24 73 63 68 65 6d 61 2d Is.not.divisible.by.'...$schema-
17fd60 3e 64 69 76 69 73 69 62 6c 65 42 79 2c 20 27 64 69 76 69 73 69 62 6c 65 42 79 27 2c 20 61 72 72 >divisibleBy,.'divisibleBy',.arr
17fd80 61 79 28 27 64 69 76 69 73 69 62 6c 65 42 79 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 ay('divisibleBy'.=>.$schema->div
17fda0 69 73 69 62 6c 65 42 79 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 isibleBy));.}....if.(isset($sche
17fdc0 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 20 26 26 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 24 ma->multipleOf).&&.$this->fmod($
17fde0 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 20 21 3d element,.$schema->multipleOf).!=
17fe00 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 .0).{.$this->addError($path,.'Mu
17fe20 73 74 20 62 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d st.be.a.multiple.of.'...$schema-
17fe40 3e 6d 75 6c 74 69 70 6c 65 4f 66 2c 20 27 6d 75 6c 74 69 70 6c 65 4f 66 27 2c 20 61 72 72 61 79 >multipleOf,.'multipleOf',.array
17fe60 28 27 6d 75 6c 74 69 70 6c 65 4f 66 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 ('multipleOf'.=>.$schema->multip
17fe80 6c 65 4f 66 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 65 leOf));.}..$this->checkFormat($e
17fea0 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a lement,.$schema,.$path,.$i);.}..
17fec0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6d 6f 64 28 24 6e 75 6d 62 65 72 31 2c 20 private.function.fmod($number1,.
17fee0 24 6e 75 6d 62 65 72 32 29 0a 7b 0a 24 6e 75 6d 62 65 72 31 20 3d 20 61 62 73 28 24 6e 75 6d 62 $number2).{.$number1.=.abs($numb
17ff00 65 72 31 29 3b 0a 24 6d 6f 64 75 6c 75 73 20 3d 20 66 6d 6f 64 28 24 6e 75 6d 62 65 72 31 2c 20 er1);.$modulus.=.fmod($number1,.
17ff20 24 6e 75 6d 62 65 72 32 29 3b 0a 24 70 72 65 63 69 73 69 6f 6e 20 3d 20 61 62 73 28 30 2e 30 30 $number2);.$precision.=.abs(0.00
17ff40 30 30 30 30 30 30 30 31 29 3b 0a 24 64 69 66 66 20 3d 20 28 66 6c 6f 61 74 29 20 28 24 6d 6f 64 00000001);.$diff.=.(float).($mod
17ff60 75 6c 75 73 20 2d 20 24 6e 75 6d 62 65 72 32 29 3b 0a 0a 69 66 20 28 2d 24 70 72 65 63 69 73 69 ulus.-.$number2);..if.(-$precisi
17ff80 6f 6e 20 3c 20 24 64 69 66 66 20 26 26 20 24 64 69 66 66 20 3c 20 24 70 72 65 63 69 73 69 6f 6e on.<.$diff.&&.$diff.<.$precision
17ffa0 29 20 7b 0a 72 65 74 75 72 6e 20 30 2e 30 3b 0a 7d 0a 0a 24 64 65 63 69 6d 61 6c 73 31 20 3d 20 ).{.return.0.0;.}..$decimals1.=.
17ffc0 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 31 2c 20 27 2e 27 29 20 3f 20 6d 62 5f 73 74 mb_strpos($number1,.'.').?.mb_st
17ffe0 72 6c 65 6e 28 24 6e 75 6d 62 65 72 31 29 20 2d 20 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 rlen($number1).-.mb_strpos($numb
180000 65 72 31 2c 20 27 2e 27 29 20 2d 20 31 20 3a 20 30 3b 0a 24 64 65 63 69 6d 61 6c 73 32 20 3d 20 er1,.'.').-.1.:.0;.$decimals2.=.
180020 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 32 2c 20 27 2e 27 29 20 3f 20 6d 62 5f 73 74 mb_strpos($number2,.'.').?.mb_st
180040 72 6c 65 6e 28 24 6e 75 6d 62 65 72 32 29 20 2d 20 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 rlen($number2).-.mb_strpos($numb
180060 65 72 32 2c 20 27 2e 27 29 20 2d 20 31 20 3a 20 30 3b 0a 0a 72 65 74 75 72 6e 20 28 66 6c 6f 61 er2,.'.').-.1.:.0;..return.(floa
180080 74 29 20 72 6f 75 6e 64 28 24 6d 6f 64 75 6c 75 73 2c 20 6d 61 78 28 24 64 65 63 69 6d 61 6c 73 t).round($modulus,.max($decimals
1800a0 31 2c 20 24 64 65 63 69 6d 61 6c 73 32 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 1,.$decimals2));.}.}.<?php......
1800c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 ...namespace.JsonSchema\Constrai
1800e0 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e nts;..use.JsonSchema\Entity\Json
180100 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 62 6a 65 63 74 43 6f 6e 73 Pointer;........class.ObjectCons
180120 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 traint.extends.Constraint.{....p
180140 72 6f 74 65 63 74 65 64 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 rotected.$appliedDefaults.=.arra
180160 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 y();.....public.function.check(&
180180 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f $element,.$schema.=.null,.JsonPo
1801a0 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 inter.$path.=.null,.$properties.
1801c0 3d 20 6e 75 6c 6c 2c 0a 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 20 6e 75 6c 6c 2c 20 =.null,.$additionalProp.=.null,.
1801e0 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 70 70 6c $patternProperties.=.null,.$appl
180200 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 65 6c iedDefaults.=.array()).{.if.($el
180220 65 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 ement.instanceof.UndefinedConstr
180240 61 69 6e 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 aint).{.return;.}..$this->applie
180260 64 44 65 66 61 75 6c 74 73 20 3d 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 3b 0a 0a 24 dDefaults.=.$appliedDefaults;..$
180280 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 70 61 74 74 65 72 6e 50 matches.=.array();.if.($patternP
1802a0 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 24 74 68 69 73 2d roperties).{...$matches.=.$this-
1802c0 3e 76 61 6c 69 64 61 74 65 50 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d >validatePatternProperties($elem
1802e0 65 6e 74 2c 20 24 70 61 74 68 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 3b ent,.$path,.$patternProperties);
180300 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e .}..if.($properties).{...$this->
180320 76 61 6c 69 64 61 74 65 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 validateProperties($element,.$pr
180340 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 operties,.$path);.}....$this->va
180360 6c 69 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6d 61 74 63 68 65 73 lidateElement($element,.$matches
180380 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 ,.$schema,.$path,.$properties,.$
1803a0 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 additionalProp);.}..public.funct
1803c0 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 28 24 65 ion.validatePatternProperties($e
1803e0 6c 65 6d 65 6e 74 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c lement,.JsonPointer.$path.=.null
180400 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 0a 7b 0a 24 74 72 79 20 3d 20 61 ,.$patternProperties).{.$try.=.a
180420 72 72 61 79 28 27 2f 27 2c 20 27 23 27 2c 20 27 2b 27 2c 20 27 7e 27 2c 20 27 25 27 29 3b 0a 24 rray('/',.'#',.'+',.'~',.'%');.$
180440 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 matches.=.array();.foreach.($pat
180460 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 70 72 65 67 65 78 20 3d 3e 20 24 73 63 ternProperties.as.$pregex.=>.$sc
180480 68 65 6d 61 29 20 7b 0a 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 2f 27 3b 0a 0a 20 66 6f 72 65 hema).{.$delimiter.=.'/';...fore
1804a0 61 63 68 20 28 24 74 72 79 20 61 73 20 24 64 65 6c 69 6d 69 74 65 72 29 20 7b 0a 69 66 20 28 73 ach.($try.as.$delimiter).{.if.(s
1804c0 74 72 70 6f 73 28 24 70 72 65 67 65 78 2c 20 24 64 65 6c 69 6d 69 74 65 72 29 20 3d 3d 3d 20 66 trpos($pregex,.$delimiter).===.f
1804e0 61 6c 73 65 29 20 7b 20 0a 20 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 40 70 72 65 alse).{...break;.}.}....if.(@pre
180500 67 5f 6d 61 74 63 68 28 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 24 70 72 65 67 65 78 20 2e 20 24 g_match($delimiter...$pregex...$
180520 64 65 6c 69 6d 69 74 65 72 20 2e 20 27 75 27 2c 20 27 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 delimiter...'u',.'').===.false).
180540 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 61 {.$this->addError($path,.'The.pa
180560 74 74 65 72 6e 20 22 27 20 2e 20 24 70 72 65 67 65 78 20 2e 20 27 22 20 69 73 20 69 6e 76 61 6c ttern."'...$pregex...'".is.inval
180580 69 64 27 2c 20 27 70 72 65 67 65 78 27 2c 20 61 72 72 61 79 28 27 70 72 65 67 65 78 27 20 3d 3e id',.'pregex',.array('pregex'.=>
1805a0 20 24 70 72 65 67 65 78 29 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 .$pregex));.continue;.}.foreach.
1805c0 28 24 65 6c 65 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 ($element.as.$i.=>.$value).{.if.
1805e0 28 70 72 65 67 5f 6d 61 74 63 68 28 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 24 70 72 65 67 65 78 (preg_match($delimiter...$pregex
180600 20 2e 20 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 27 75 27 2c 20 24 69 29 29 20 7b 0a 24 6d 61 74 ...$delimiter...'u',.$i)).{.$mat
180620 63 68 65 73 5b 5d 20 3d 20 24 69 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e ches[].=.$i;.$this->checkUndefin
180640 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3f 3a 20 6e 65 77 20 5c 73 74 64 43 6c ed($value,.$schema.?:.new.\stdCl
180660 61 73 73 28 29 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 ass(),.$path,.$i,.in_array($i,.$
180680 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a this->appliedDefaults));.}.}.}..
1806a0 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 return.$matches;.}............pu
1806c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 blic.function.validateElement($e
1806e0 6c 65 6d 65 6e 74 2c 20 24 6d 61 74 63 68 65 73 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c lement,.$matches,.$schema.=.null
180700 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 0a 24 70 72 6f ,.JsonPointer.$path.=.null,.$pro
180720 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 perties.=.null,.$additionalProp.
180740 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 =.null).{.$this->validateMinMaxC
180760 6f 6e 73 74 72 61 69 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 onstraint($element,.$schema,.$pa
180780 74 68 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6c 65 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e th);..foreach.($element.as.$i.=>
1807a0 20 24 76 61 6c 75 65 29 20 7b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e .$value).{.$definition.=.$this->
1807c0 67 65 74 50 72 6f 70 65 72 74 79 28 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 69 29 3b 0a 0a 0a getProperty($properties,.$i);...
1807e0 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 6d 61 74 63 68 65 73 29 20 26 26 20 .if.(!in_array($i,.$matches).&&.
180800 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 74 68 $additionalProp.===.false.&&.$th
180820 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 20 21 3d 3d 20 24 69 20 is->inlineSchemaProperty.!==.$i.
180840 26 26 20 21 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 &&.!$definition).{.$this->addErr
180860 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 69 20 2e or($path,.'The.property.'...$i..
180880 20 27 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 .'.is.not.defined.and.the.defini
1808a0 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 tion.does.not.allow.additional.p
1808c0 72 6f 70 65 72 74 69 65 73 27 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 27 29 3b 0a 7d roperties',.'additionalProp');.}
1808e0 0a 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 6d 61 74 63 68 65 73 29 20 ....if.(!in_array($i,.$matches).
180900 26 26 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 26 26 20 21 24 64 65 66 69 6e 69 74 69 &&.$additionalProp.&&.!$definiti
180920 6f 6e 29 20 7b 0a 69 66 20 28 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 74 72 on).{.if.($additionalProp.===.tr
180940 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c ue).{.$this->checkUndefined($val
180960 75 65 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 ue,.null,.$path,.$i,.in_array($i
180980 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 20 65 6c ,.$this->appliedDefaults));.}.el
1809a0 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 se.{.$this->checkUndefined($valu
1809c0 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 e,.$additionalProp,.$path,.$i,.i
1809e0 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c n_array($i,.$this->appliedDefaul
180a00 74 73 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 20 3d 20 24 74 68 69 73 2d 3e 67 ts));.}.}....$require.=.$this->g
180a20 65 74 50 72 6f 70 65 72 74 79 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 27 72 65 71 75 69 72 65 etProperty($definition,.'require
180a40 73 27 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 26 26 20 21 24 74 68 69 73 2d 3e 67 65 74 s');.if.($require.&&.!$this->get
180a60 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 72 65 71 75 69 72 65 29 29 20 7b 0a Property($element,.$require)).{.
180a80 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 72 65 73 $this->addError($path,.'The.pres
180aa0 65 6e 63 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 69 20 2e 20 27 20 ence.of.the.property.'...$i...'.
180ac0 72 65 71 75 69 72 65 73 20 74 68 61 74 20 27 20 2e 20 24 72 65 71 75 69 72 65 20 2e 20 27 20 61 requires.that.'...$require...'.a
180ae0 6c 73 6f 20 62 65 20 70 72 65 73 65 6e 74 27 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 7d 0a lso.be.present',.'requires');.}.
180b00 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 .$property.=.$this->getProperty(
180b20 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 $element,.$i,.$this->factory->cr
180b40 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 29 3b 0a 69 eateInstanceFor('undefined'));.i
180b60 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 65 72 74 79 29 29 20 7b 0a 24 74 68 69 73 f.(is_object($property)).{.$this
180b80 2d 3e 76 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 28 21 28 24 70 72 ->validateMinMaxConstraint(!($pr
180ba0 6f 70 65 72 74 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 operty.instanceof.UndefinedConst
180bc0 72 61 69 6e 74 29 20 3f 20 24 70 72 6f 70 65 72 74 79 20 3a 20 24 65 6c 65 6d 65 6e 74 2c 20 24 raint).?.$property.:.$element,.$
180be0 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a definition,.$path);.}.}.}.......
180c00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 72 6f 70 65 72 ..public.function.validateProper
180c20 74 69 65 73 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 ties(&$element,.$properties.=.nu
180c40 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ll,.JsonPointer.$path.=.null).{.
180c60 24 75 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 $undefinedConstraint.=.$this->fa
180c80 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 ctory->createInstanceFor('undefi
180ca0 6e 65 64 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 ned');..foreach.($properties.as.
180cc0 24 69 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 26 24 74 68 $i.=>.$value).{.$property.=.&$th
180ce0 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 24 75 is->getProperty($element,.$i,.$u
180d00 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e ndefinedConstraint);.$definition
180d20 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 70 72 6f 70 65 72 74 69 65 .=.$this->getProperty($propertie
180d40 73 2c 20 24 69 29 3b 0a 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 65 66 69 6e 69 74 69 s,.$i);..if.(is_object($definiti
180d60 6f 6e 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 on)).{...$this->checkUndefined($
180d80 70 72 6f 70 65 72 74 79 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 2c 20 24 69 property,.$definition,.$path,.$i
180da0 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 ,.in_array($i,.$this->appliedDef
180dc0 61 75 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 aults));.}.}.}...........protect
180de0 65 64 20 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 50 72 6f 70 65 72 74 79 28 26 24 65 6c 65 6d 65 ed.function.&getProperty(&$eleme
180e00 6e 74 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 nt,.$property,.$fallback.=.null)
180e20 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 65 6c 65 6d 65 6e 74 29 20 26 26 20 28 69 73 .{.if.(is_array($element).&&.(is
180e40 73 65 74 28 24 65 6c 65 6d 65 6e 74 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 7c 7c 20 61 72 72 61 set($element[$property]).||.arra
180e60 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 2c 20 24 65 6c 65 6d 65 6e 74 y_key_exists($property,.$element
180e80 29 29 20 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6c 65 6d 65 6e 74 5b 24 70 72 6f 70 65 72 74 79 )).).{.return.$element[$property
180ea0 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 65 6c 65 6d 65 6e 74 29 ];.}.elseif.(is_object($element)
180ec0 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 .&&.property_exists($element,.$p
180ee0 72 6f 70 65 72 74 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6c 65 6d 65 6e 74 2d 3e 24 70 72 roperty)).{.return.$element->$pr
180f00 6f 70 65 72 74 79 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a operty;.}..return.$fallback;.}..
180f20 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 .......protected.function.valida
180f40 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6f 62 teMinMaxConstraint($element,.$ob
180f60 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 jectDefinition,.JsonPointer.$pat
180f80 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 65 63 74 44 h.=.null).{...if.(isset($objectD
180fa0 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 20 26 26 20 21 69 73 efinition->minProperties).&&.!is
180fc0 5f 6f 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 _object($objectDefinition->minPr
180fe0 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 operties)).{.if.($this->getTypeC
181000 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 29 20 heck()->propertyCount($element).
181020 3c 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 <.$objectDefinition->minProperti
181040 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 es).{.$this->addError($path,.'Mu
181060 73 74 20 63 6f 6e 74 61 69 6e 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 6f 62 6a st.contain.a.minimum.of.'...$obj
181080 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 20 2e 20 27 ectDefinition->minProperties...'
1810a0 20 70 72 6f 70 65 72 74 69 65 73 27 2c 20 27 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 27 2c 20 61 .properties',.'minProperties',.a
1810c0 72 72 61 79 28 27 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 27 20 3d 3e 20 24 6f 62 6a 65 63 74 44 rray('minProperties'.=>.$objectD
1810e0 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 29 3b 0a 7d 0a 7d 0a efinition->minProperties));.}.}.
181100 0a 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d ..if.(isset($objectDefinition->m
181120 61 78 50 72 6f 70 65 72 74 69 65 73 29 20 26 26 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 6f 62 6a axProperties).&&.!is_object($obj
181140 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 29 20 7b ectDefinition->maxProperties)).{
181160 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 .if.($this->getTypeCheck()->prop
181180 65 72 74 79 43 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 29 20 3e 20 24 6f 62 6a 65 63 74 44 65 66 ertyCount($element).>.$objectDef
1811a0 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 24 74 68 69 73 2d inition->maxProperties).{.$this-
1811c0 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 63 6f 6e 74 61 69 6e 20 6e >addError($path,.'Must.contain.n
1811e0 6f 20 6d 6f 72 65 20 74 68 61 6e 20 27 20 2e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f o.more.than.'...$objectDefinitio
181200 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 20 2e 20 27 20 70 72 6f 70 65 72 74 69 65 73 27 n->maxProperties...'.properties'
181220 2c 20 27 6d 61 78 50 72 6f 70 65 72 74 69 65 73 27 2c 20 61 72 72 61 79 28 27 6d 61 78 50 72 6f ,.'maxProperties',.array('maxPro
181240 70 65 72 74 69 65 73 27 20 3d 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d perties'.=>.$objectDefinition->m
181260 61 78 50 72 6f 70 65 72 74 69 65 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a axProperties));.}.}.}.}.<?php...
181280 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 ......namespace.JsonSchema\Const
1812a0 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a raints;..use.JsonSchema\Entity\J
1812c0 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 sonPointer;.use.JsonSchema\Excep
1812e0 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 tion\InvalidArgumentException;.u
181300 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 53 se.JsonSchema\Exception\InvalidS
181320 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 chemaException;.use.JsonSchema\E
181340 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a xception\RuntimeException;.use.J
181360 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 sonSchema\Validator;........clas
181380 73 20 53 63 68 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 s.SchemaConstraint.extends.Const
1813a0 72 61 69 6e 74 0a 7b 0a 63 6f 6e 73 74 20 44 45 46 41 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 45 raint.{.const.DEFAULT_SCHEMA_SPE
1813c0 43 20 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 C.=.'http://json-schema.org/draf
1813e0 74 2d 30 34 2f 73 63 68 65 6d 61 23 27 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 t-04/schema#';.....public.functi
181400 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 on.check(&$element,.$schema.=.nu
181420 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 ll,.JsonPointer.$path.=.null,.$i
181440 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 20 21 3d 3d 20 6e 75 6c 6c 29 .=.null).{.if.($schema.!==.null)
181460 20 7b 0a 0a 20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 24 73 63 68 65 6d 61 .{...$validationSchema.=.$schema
181480 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 ;.}.elseif.($this->getTypeCheck(
1814a0 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 74 68 69 )->propertyExists($element,.$thi
1814c0 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 29 29 20 7b 0a 0a 20 24 76 s->inlineSchemaProperty)).{...$v
1814e0 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 alidationSchema.=.$this->getType
181500 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 47 65 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 Check()->propertyGet($element,.$
181520 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 29 3b 0a 7d 20 65 this->inlineSchemaProperty);.}.e
181540 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 lse.{.throw.new.InvalidArgumentE
181560 78 63 65 70 74 69 6f 6e 28 27 6e 6f 20 73 63 68 65 6d 61 20 66 6f 75 6e 64 20 74 6f 20 76 65 72 xception('no.schema.found.to.ver
181580 69 66 79 20 61 67 61 69 6e 73 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 ify.against');.}....if.(is_array
1815a0 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 29 29 20 7b 0a 24 76 61 6c 69 64 61 74 69 ($validationSchema)).{.$validati
1815c0 6f 6e 53 63 68 65 6d 61 20 3d 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 61 72 72 61 79 onSchema.=.BaseConstraint::array
1815e0 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 ToObjectRecursive($validationSch
181600 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d ema);.}......if.($this->factory-
181620 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 >getConfig(self::CHECK_MODE_VALI
181640 44 41 54 45 5f 53 43 48 45 4d 41 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 DATE_SCHEMA)).{.if.(!$this->getT
181660 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 69 64 61 74 69 6f 6e ypeCheck()->isObject($validation
181680 53 63 68 65 6d 61 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 Schema)).{.throw.new.RuntimeExce
1816a0 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 73 63 68 65 6d ption('Cannot.validate.the.schem
1816c0 61 20 6f 66 20 61 20 6e 6f 6e 2d 6f 62 6a 65 63 74 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 a.of.a.non-object');.}.if.($this
1816e0 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 ->getTypeCheck()->propertyExists
181700 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 27 24 73 63 68 65 6d 61 27 29 29 20 ($validationSchema,.'$schema')).
181720 7b 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 {.$schemaSpec.=.$this->getTypeCh
181740 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 eck()->propertyGet($validationSc
181760 68 65 6d 61 2c 20 27 24 73 63 68 65 6d 61 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 63 68 65 hema,.'$schema');.}.else.{.$sche
181780 6d 61 53 70 65 63 20 3d 20 73 65 6c 66 3a 3a 44 45 46 41 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 maSpec.=.self::DEFAULT_SCHEMA_SP
1817a0 45 43 3b 0a 7d 0a 0a 0a 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3d 20 24 74 68 69 73 2d EC;.}....$schemaStorage.=.$this-
1817c0 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 3b 0a 69 66 >factory->getSchemaStorage();.if
1817e0 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 .(!$this->getTypeCheck()->isObje
181800 63 74 28 24 73 63 68 65 6d 61 53 70 65 63 29 29 20 7b 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d ct($schemaSpec)).{.$schemaSpec.=
181820 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 73 63 68 65 .$schemaStorage->getSchema($sche
181840 6d 61 53 70 65 63 29 3b 0a 7d 0a 0a 0a 20 24 69 6e 69 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e 74 maSpec);.}....$initialErrorCount
181860 20 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 45 72 72 6f 72 73 28 29 3b 0a 24 69 6e 69 74 69 61 6c 43 .=.$this->numErrors();.$initialC
181880 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 onfig.=.$this->factory->getConfi
1818a0 67 28 29 3b 0a 24 69 6e 69 74 69 61 6c 43 6f 6e 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 g();.$initialContext.=.$this->fa
1818c0 63 74 6f 72 79 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 29 3b 0a 24 74 68 69 73 2d ctory->getErrorContext();.$this-
1818e0 3e 66 61 63 74 6f 72 79 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 >factory->removeConfig(self::CHE
181900 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 43 48 45 4d 41 20 7c 20 73 65 6c 66 3a 3a CK_MODE_VALIDATE_SCHEMA.|.self::
181920 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 4c 54 53 29 3b 0a 24 74 68 69 CHECK_MODE_APPLY_DEFAULTS);.$thi
181940 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 61 64 64 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 s->factory->addConfig(self::CHEC
181960 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 K_MODE_TYPE_CAST);.$this->factor
181980 79 2d 3e 73 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 y->setErrorContext(Validator::ER
1819a0 52 4f 52 5f 53 43 48 45 4d 41 5f 56 41 4c 49 44 41 54 49 4f 4e 29 3b 0a 0a 0a 20 74 72 79 20 7b ROR_SCHEMA_VALIDATION);....try.{
1819c0 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c .$this->check($validationSchema,
1819e0 20 24 73 63 68 65 6d 61 53 70 65 63 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 .$schemaSpec);.}.catch.(\Excepti
181a00 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 on.$e).{.if.($this->factory->get
181a20 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f Config(self::CHECK_MODE_EXCEPTIO
181a40 4e 53 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 NS)).{.throw.new.InvalidSchemaEx
181a60 63 65 70 74 69 6f 6e 28 27 53 63 68 65 6d 61 20 64 69 64 20 6e 6f 74 20 70 61 73 73 20 76 61 6c ception('Schema.did.not.pass.val
181a80 69 64 61 74 69 6f 6e 27 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d idation',.0,.$e);.}.}.if.($this-
181aa0 3e 6e 75 6d 45 72 72 6f 72 73 28 29 20 3e 20 24 69 6e 69 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e >numErrors().>.$initialErrorCoun
181ac0 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 53 63 68 t).{.$this->addError($path,.'Sch
181ae0 65 6d 61 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 27 2c 20 27 73 63 68 65 6d 61 27 29 3b 0a 7d 0a ema.is.not.valid',.'schema');.}.
181b00 0a 0a 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 69 6e ...$this->factory->setConfig($in
181b20 69 74 69 61 6c 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 itialConfig);.$this->factory->se
181b40 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 24 69 6e 69 74 69 61 6c 43 6f 6e 74 65 78 74 29 3b 0a tErrorContext($initialContext);.
181b60 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 65 6c 65 6d }....$this->checkUndefined($elem
181b80 65 6e 74 2c 20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 ent,.$validationSchema,.$path,.$
181ba0 69 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 i);.}.}.<?php.........namespace.
181bc0 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f JsonSchema\Constraints;..use.Jso
181be0 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a nSchema\Entity\JsonPointer;.....
181c00 0a 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 ...class.StringConstraint.extend
181c20 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s.Constraint.{....public.functio
181c40 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c n.check(&$element,.$schema.=.nul
181c60 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 l,.JsonPointer.$path.=.null,.$i.
181c80 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d =.null).{...if.(isset($schema->m
181ca0 61 78 4c 65 6e 67 74 68 29 20 26 26 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 65 6c 65 6d axLength).&&.$this->strlen($elem
181cc0 65 6e 74 29 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 ent).>.$schema->maxLength).{.$th
181ce0 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 74 20 is->addError($path,.'Must.be.at.
181d00 6d 6f 73 74 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 20 2e 20 27 20 most.'...$schema->maxLength...'.
181d20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 27 2c 20 27 6d 61 78 4c 65 6e 67 74 68 27 2c 20 61 characters.long',.'maxLength',.a
181d40 72 72 61 79 28 0a 27 6d 61 78 4c 65 6e 67 74 68 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 rray(.'maxLength'.=>.$schema->ma
181d60 78 4c 65 6e 67 74 68 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 xLength,.));.}....if.(isset($sch
181d80 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 20 26 26 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e ema->minLength).&&.$this->strlen
181da0 28 24 65 6c 65 6d 65 6e 74 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 ($element).<.$schema->minLength)
181dc0 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 .{.$this->addError($path,.'Must.
181de0 62 65 20 61 74 20 6c 65 61 73 74 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 be.at.least.'...$schema->minLeng
181e00 74 68 20 2e 20 27 20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 27 2c 20 27 6d 69 6e 4c 65 6e th...'.characters.long',.'minLen
181e20 67 74 68 27 2c 20 61 72 72 61 79 28 0a 27 6d 69 6e 4c 65 6e 67 74 68 27 20 3d 3e 20 24 73 63 68 gth',.array(.'minLength'.=>.$sch
181e40 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 ema->minLength,.));.}....if.(iss
181e60 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 29 20 26 26 20 21 70 72 65 67 5f 6d 61 et($schema->pattern).&&.!preg_ma
181e80 74 63 68 28 27 23 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 23 27 2c 20 27 5c 5c 23 27 tch('#'...str_replace('#',.'\\#'
181ea0 2c 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 29 20 2e 20 27 23 75 27 2c 20 24 65 6c 65 ,.$schema->pattern)...'#u',.$ele
181ec0 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 ment)).{.$this->addError($path,.
181ee0 27 44 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 72 65 67 65 78 20 70 61 74 74 65 72 'Does.not.match.the.regex.patter
181f00 6e 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 2c 20 27 70 61 74 74 65 72 6e n.'...$schema->pattern,.'pattern
181f20 27 2c 20 61 72 72 61 79 28 0a 27 70 61 74 74 65 72 6e 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e ',.array(.'pattern'.=>.$schema->
181f40 70 61 74 74 65 72 6e 2c 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 6d pattern,.));.}..$this->checkForm
181f60 61 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 at($element,.$schema,.$path,.$i)
181f80 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 74 ;.}..private.function.strlen($st
181fa0 72 69 6e 67 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6d 62 ring).{.if.(extension_loaded('mb
181fc0 73 74 72 69 6e 67 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 string')).{.return.mb_strlen($st
181fe0 72 69 6e 67 2c 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 ring,.mb_detect_encoding($string
182000 29 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b ));.}....return.strlen($string);
182020 20 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 ...}.}.<?php..namespace.JsonSche
182040 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 73 ma\Constraints\TypeCheck;..class
182060 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 20 69 6d 70 6c 65 6d 65 6e 74 73 20 54 79 70 65 43 .LooseTypeCheck.implements.TypeC
182080 68 65 63 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 heckInterface.{.public.static.fu
1820a0 6e 63 74 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e nction.isObject($value).{.return
1820c0 0a 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 7c 7c 0a 28 69 73 5f 61 72 72 61 79 28 .is_object($value).||.(is_array(
1820e0 24 76 61 6c 75 65 29 20 26 26 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3d 3d 20 30 20 7c $value).&&.(count($value).==.0.|
182100 7c 20 73 65 6c 66 3a 3a 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 24 76 61 6c 75 |.self::isAssociativeArray($valu
182120 65 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 e)));.}..public.static.function.
182140 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 0a 69 73 5f 61 72 72 61 isArray($value).{.return.is_arra
182160 79 28 24 76 61 6c 75 65 29 20 26 26 0a 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3d 3d 20 30 y($value).&&.(count($value).==.0
182180 20 7c 7c 20 21 73 65 6c 66 3a 3a 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 24 76 .||.!self::isAssociativeArray($v
1821a0 61 6c 75 65 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f alue));.}..public.static.functio
1821c0 6e 20 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 n.propertyGet($value,.$property)
1821e0 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 .{.if.(is_object($value)).{.retu
182200 72 6e 20 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 3b 0a 7d 0a 0a 72 65 74 75 72 rn.$value->{$property};.}..retur
182220 6e 20 24 76 61 6c 75 65 5b 24 70 72 6f 70 65 72 74 79 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 n.$value[$property];.}..public.s
182240 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c tatic.function.propertySet(&$val
182260 75 65 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 69 73 5f 6f ue,.$property,.$data).{.if.(is_o
182280 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 bject($value)).{.$value->{$prope
1822a0 72 74 79 7d 20 3d 20 24 64 61 74 61 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 5b 24 70 rty}.=.$data;.}.else.{.$value[$p
1822c0 72 6f 70 65 72 74 79 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 roperty].=.$data;.}.}..public.st
1822e0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 atic.function.propertyExists($va
182300 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 lue,.$property).{.if.(is_object(
182320 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 $value)).{.return.property_exist
182340 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 s($value,.$property);.}..return.
182360 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 2c 20 24 76 61 6c array_key_exists($property,.$val
182380 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 ue);.}..public.static.function.p
1823a0 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 ropertyCount($value).{.if.(is_ob
1823c0 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 67 65 74 ject($value)).{.return.count(get
1823e0 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e _object_vars($value));.}..return
182400 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 .count($value);.}.........privat
182420 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 e.static.function.isAssociativeA
182440 72 72 61 79 28 24 61 72 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 rray($arr).{.return.array_keys($
182460 61 72 72 29 20 21 3d 3d 20 72 61 6e 67 65 28 30 2c 20 63 6f 75 6e 74 28 24 61 72 72 29 20 2d 20 arr).!==.range(0,.count($arr).-.
182480 31 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 1);.}.}.<?php..namespace.JsonSch
1824a0 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 ema\Constraints\TypeCheck;..clas
1824c0 73 20 53 74 72 69 63 74 54 79 70 65 43 68 65 63 6b 20 69 6d 70 6c 65 6d 65 6e 74 73 20 54 79 70 s.StrictTypeCheck.implements.Typ
1824e0 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 eCheckInterface.{.public.static.
182500 66 75 6e 63 74 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 function.isObject($value).{.retu
182520 72 6e 20 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 rn.is_object($value);.}..public.
182540 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 0a static.function.isArray($value).
182560 7b 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 {.return.is_array($value);.}..pu
182580 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 blic.static.function.propertyGet
1825a0 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 72 65 74 75 72 6e 20 24 76 61 ($value,.$property).{.return.$va
1825c0 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 lue->{$property};.}..public.stat
1825e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c ic.function.propertySet(&$value,
182600 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 0a 7b 0a 24 76 61 6c 75 65 2d 3e 7b 24 70 .$property,.$data).{.$value->{$p
182620 72 6f 70 65 72 74 79 7d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 roperty}.=.$data;.}..public.stat
182640 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 ic.function.propertyExists($valu
182660 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 6f 70 65 72 74 79 5f e,.$property).{.return.property_
182680 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 7d 0a 0a 70 75 exists($value,.$property);.}..pu
1826a0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 blic.static.function.propertyCou
1826c0 6e 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 67 65 74 5f 6f 62 nt($value).{.return.count(get_ob
1826e0 6a 65 63 74 5f 76 61 72 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e ject_vars($value));.}.}.<?php..n
182700 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c amespace.JsonSchema\Constraints\
182720 54 79 70 65 43 68 65 63 6b 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 54 79 70 65 43 68 65 63 6b 49 TypeCheck;..interface.TypeCheckI
182740 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f nterface.{.public.static.functio
182760 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 n.isObject($value);..public.stat
182780 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 0a 70 75 ic.function.isArray($value);..pu
1827a0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 blic.static.function.propertyGet
1827c0 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 ($value,.$property);..public.sta
1827e0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 tic.function.propertySet(&$value
182800 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 ,.$property,.$data);..public.sta
182820 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c tic.function.propertyExists($val
182840 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 ue,.$property);..public.static.f
182860 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d unction.propertyCount($value);.}
182880 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
1828a0 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 ema\Constraints;..use.JsonSchema
1828c0 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 \Entity\JsonPointer;.use.JsonSch
1828e0 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ema\Exception\InvalidArgumentExc
182900 65 70 74 69 6f 6e 3b 0a 75 73 65 20 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 eption;.use.UnexpectedValueExcep
182920 74 69 6f 6e 20 61 73 20 53 74 61 6e 64 61 72 64 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 tion.as.StandardUnexpectedValueE
182940 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 79 70 65 43 6f 6e 73 74 xception;........class.TypeConst
182960 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 raint.extends.Constraint.{....pu
182980 62 6c 69 63 20 73 74 61 74 69 63 20 24 77 6f 72 64 69 6e 67 20 3d 20 61 72 72 61 79 28 0a 27 69 blic.static.$wording.=.array(.'i
1829a0 6e 74 65 67 65 72 27 20 3d 3e 20 27 61 6e 20 69 6e 74 65 67 65 72 27 2c 0a 27 6e 75 6d 62 65 72 nteger'.=>.'an.integer',.'number
1829c0 27 20 3d 3e 20 27 61 20 6e 75 6d 62 65 72 27 2c 0a 27 62 6f 6f 6c 65 61 6e 27 20 3d 3e 20 27 61 '.=>.'a.number',.'boolean'.=>.'a
1829e0 20 62 6f 6f 6c 65 61 6e 27 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 27 61 6e 20 6f 62 6a 65 63 .boolean',.'object'.=>.'an.objec
182a00 74 27 2c 0a 27 61 72 72 61 79 27 20 3d 3e 20 27 61 6e 20 61 72 72 61 79 27 2c 0a 27 73 74 72 69 t',.'array'.=>.'an.array',.'stri
182a20 6e 67 27 20 3d 3e 20 27 61 20 73 74 72 69 6e 67 27 2c 0a 27 6e 75 6c 6c 27 20 3d 3e 20 27 61 20 ng'.=>.'a.string',.'null'.=>.'a.
182a40 6e 75 6c 6c 27 2c 0a 27 61 6e 79 27 20 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 30 20 3d 3e 20 6e 75 6c null',.'any'.=>.null,...0.=>.nul
182a60 6c 2c 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 l,...);.....public.function.chec
182a80 6b 28 26 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c k(&$value.=.null,.$schema.=.null
182aa0 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d ,.JsonPointer.$path.=.null,.$i.=
182ac0 20 6e 75 6c 6c 29 0a 7b 0a 24 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e .null).{.$type.=.isset($schema->
182ae0 74 79 70 65 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 74 79 70 65 20 3a 20 6e 75 6c 6c 3b 0a 24 69 type).?.$schema->type.:.null;.$i
182b00 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 24 77 6f 72 64 69 6e 67 20 3d 20 61 72 72 61 79 sValid.=.false;.$wording.=.array
182b20 28 29 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 29 29 20 7b 0a 24 74 68 69 ();..if.(is_array($type)).{.$thi
182b40 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 24 74 s->validateTypesArray($value,.$t
182b60 79 70 65 2c 20 24 77 6f 72 64 69 6e 67 2c 20 24 69 73 56 61 6c 69 64 2c 20 24 70 61 74 68 29 3b ype,.$wording,.$isValid,.$path);
182b80 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 74 79 70 65 29 29 20 7b 0a 24 .}.elseif.(is_object($type)).{.$
182ba0 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 74 79 this->checkUndefined($value,.$ty
182bc0 70 65 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 pe,.$path);..return;.}.else.{.$i
182be0 73 56 61 6c 69 64 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 76 61 sValid.=.$this->validateType($va
182c00 6c 75 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 56 61 6c 69 64 20 3d 3d 3d lue,.$type);.}..if.($isValid.===
182c20 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 29 29 20 .false).{.if.(!is_array($type)).
182c40 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 {.$this->validateTypeNameWording
182c60 28 24 74 79 70 65 29 3b 0a 24 77 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 ($type);.$wording[].=.self::$wor
182c80 64 69 6e 67 5b 24 74 79 70 65 5d 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 ding[$type];.}.$this->addError($
182ca0 70 61 74 68 2c 20 75 63 77 6f 72 64 73 28 67 65 74 74 79 70 65 28 24 76 61 6c 75 65 29 29 20 2e path,.ucwords(gettype($value))..
182cc0 20 27 20 76 61 6c 75 65 20 66 6f 75 6e 64 2c 20 62 75 74 20 27 20 2e 0a 24 74 68 69 73 2d 3e 69 .'.value.found,.but.'...$this->i
182ce0 6d 70 6c 6f 64 65 57 69 74 68 28 24 77 6f 72 64 69 6e 67 2c 20 27 2c 20 27 2c 20 27 6f 72 27 29 mplodeWith($wording,.',.',.'or')
182d00 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c 20 27 74 79 70 65 27 29 3b 0a 7d 0a 7d 0a ...'.is.required',.'type');.}.}.
182d20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 ............protected.function.v
182d40 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 72 61 79 28 26 24 76 61 6c 75 65 2c 20 61 72 72 61 79 alidateTypesArray(&$value,.array
182d60 20 24 74 79 70 65 2c 20 26 24 76 61 6c 69 64 54 79 70 65 73 57 6f 72 64 69 6e 67 2c 20 26 24 69 .$type,.&$validTypesWording,.&$i
182d80 73 56 61 6c 69 64 2c 20 24 70 61 74 68 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 20 sValid,.$path).{.foreach.($type.
182da0 61 73 20 24 74 70 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 74 70 29 as.$tp).{.....if.(is_object($tp)
182dc0 29 20 7b 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 ).{.if.(!$isValid).{.$validator.
182de0 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 =.$this->factory->createInstance
182e00 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 20 3d 20 6e 65 77 20 5c 73 For('type');.$subSchema.=.new.\s
182e20 74 64 43 6c 61 73 73 28 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 2d 3e 74 79 70 65 20 3d 20 24 74 tdClass();.$subSchema->type.=.$t
182e40 70 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 75 p;.$validator->check($value,.$su
182e60 62 53 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 29 3b 0a 24 65 72 72 6f 72 20 3d 20 bSchema,.$path,.null);.$error.=.
182e80 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 69 73 56 61 6c 69 $validator->getErrors();.$isVali
182ea0 64 20 3d 20 21 28 62 6f 6f 6c 29 20 24 65 72 72 6f 72 3b 0a 24 76 61 6c 69 64 54 79 70 65 73 57 d.=.!(bool).$error;.$validTypesW
182ec0 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 27 6f 62 6a 65 63 ording[].=.self::$wording['objec
182ee0 74 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 t'];.}.}.else.{.$this->validateT
182f00 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 70 29 3b 0a 24 76 61 6c 69 64 54 79 70 65 73 ypeNameWording($tp);.$validTypes
182f20 57 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 24 74 70 5d 3b Wording[].=.self::$wording[$tp];
182f40 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 24 74 68 .if.(!$isValid).{.$isValid.=.$th
182f60 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 70 29 3b 0a 7d is->validateType($value,.$tp);.}
182f80 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e .}.}.}.............protected.fun
182fa0 63 74 69 6f 6e 20 69 6d 70 6c 6f 64 65 57 69 74 68 28 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 ction.implodeWith(array.$element
182fc0 73 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 2c 20 27 2c 20 24 6c 69 73 74 45 6e 64 20 3d s,.$delimiter.=.',.',.$listEnd.=
182fe0 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 6c 69 73 74 45 6e 64 20 3d 3d 3d 20 66 61 6c 73 65 .false).{.if.($listEnd.===.false
183000 20 7c 7c 20 21 69 73 73 65 74 28 24 65 6c 65 6d 65 6e 74 73 5b 31 5d 29 29 20 7b 0a 72 65 74 75 .||.!isset($elements[1])).{.retu
183020 72 6e 20 69 6d 70 6c 6f 64 65 28 24 64 65 6c 69 6d 69 74 65 72 2c 20 24 65 6c 65 6d 65 6e 74 73 rn.implode($delimiter,.$elements
183040 29 3b 0a 7d 0a 24 6c 61 73 74 45 6c 65 6d 65 6e 74 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 );.}.$lastElement.=.array_slice(
183060 24 65 6c 65 6d 65 6e 74 73 2c 20 2d 31 29 3b 0a 24 66 69 72 73 45 6c 65 6d 65 6e 74 73 20 3d 20 $elements,.-1);.$firsElements.=.
183080 6a 6f 69 6e 28 24 64 65 6c 69 6d 69 74 65 72 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 65 6c join($delimiter,.array_slice($el
1830a0 65 6d 65 6e 74 73 2c 20 30 2c 20 2d 31 29 29 3b 0a 24 69 6d 70 6c 6f 64 65 64 45 6c 65 6d 65 6e ements,.0,.-1));.$implodedElemen
1830c0 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 66 69 72 73 45 6c 65 6d ts.=.array_merge(array($firsElem
1830e0 65 6e 74 73 29 2c 20 24 6c 61 73 74 45 6c 65 6d 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6a 6f ents),.$lastElement);..return.jo
183100 69 6e 28 22 20 24 6c 69 73 74 45 6e 64 20 22 2c 20 24 69 6d 70 6c 6f 64 65 64 45 6c 65 6d 65 6e in(".$listEnd.",.$implodedElemen
183120 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ts);.}..........protected.functi
183140 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 79 70 65 on.validateTypeNameWording($type
183160 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 24 74 ).{.if.(!isset(self::$wording[$t
183180 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 74 61 6e 64 61 72 64 55 6e 65 78 70 ype])).{.throw.new.StandardUnexp
1831a0 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 73 70 72 69 6e 74 66 28 0a 27 4e ectedValueException(.sprintf(.'N
1831c0 6f 20 77 6f 72 64 69 6e 67 20 66 6f 72 20 25 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 65 78 70 65 o.wording.for.%s.available,.expe
1831e0 63 74 65 64 20 77 6f 72 64 69 6e 67 73 20 61 72 65 3a 20 5b 25 73 5d 27 2c 0a 76 61 72 5f 65 78 cted.wordings.are:.[%s]',.var_ex
183200 70 6f 72 74 28 24 74 79 70 65 2c 20 74 72 75 65 29 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c port($type,.true),.implode(',.',
183220 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 29 29 29 0a .array_filter(self::$wording))).
183240 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 );.}.}............protected.func
183260 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 28 26 24 76 61 6c 75 65 2c 20 24 74 79 70 65 tion.validateType(&$value,.$type
183280 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b ).{...if.(!$type).{.return.true;
1832a0 0a 7d 0a 0a 69 66 20 28 27 61 6e 79 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 .}..if.('any'.===.$type).{.retur
1832c0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 6f 62 6a 65 63 74 27 20 3d 3d 3d 20 24 74 79 70 n.true;.}..if.('object'.===.$typ
1832e0 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 e).{.return.$this->getTypeCheck(
183300 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 61 72 72 )->isObject($value);.}..if.('arr
183320 61 79 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 ay'.===.$type).{.return.$this->g
183340 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a etTypeCheck()->isArray($value);.
183360 7d 0a 0a 24 63 6f 65 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 }..$coerce.=.$this->factory->get
183380 43 6f 6e 66 69 67 28 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 43 4f Config(Constraint::CHECK_MODE_CO
1833a0 45 52 43 45 5f 54 59 50 45 53 29 3b 0a 0a 69 66 20 28 27 69 6e 74 65 67 65 72 27 20 3d 3d 3d 20 ERCE_TYPES);..if.('integer'.===.
1833c0 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d $type).{.if.($coerce).{.$value.=
1833e0 20 24 74 68 69 73 2d 3e 74 6f 49 6e 74 65 67 65 72 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 .$this->toInteger($value);.}..re
183400 74 75 72 6e 20 69 73 5f 69 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 6e 75 6d turn.is_int($value);.}..if.('num
183420 62 65 72 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 29 20 7b ber'.===.$type).{.if.($coerce).{
183440 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 6f 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 .$value.=.$this->toNumber($value
183460 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 );.}..return.is_numeric($value).
183480 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 62 &&.!is_string($value);.}..if.('b
1834a0 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 oolean'.===.$type).{.if.($coerce
1834c0 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 6f 42 6f 6f 6c 65 61 6e 28 24 76 ).{.$value.=.$this->toBoolean($v
1834e0 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 alue);.}..return.is_bool($value)
183500 3b 0a 7d 0a 0a 69 66 20 28 27 73 74 72 69 6e 67 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 ;.}..if.('string'.===.$type).{.r
183520 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 eturn.is_string($value);.}..if.(
183540 27 65 6d 61 69 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 73 'email'.===.$type).{.return.is_s
183560 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 6e 75 6c 6c 27 20 3d 3d 3d tring($value);.}..if.('null'.===
183580 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6c 6c 28 24 76 61 6c 75 65 29 .$type).{.return.is_null($value)
1835a0 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ;.}..throw.new.InvalidArgumentEx
1835c0 63 65 70 74 69 6f 6e 28 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 3f 20 27 6f 62 ception((is_object($value).?.'ob
1835e0 6a 65 63 74 27 20 3a 20 24 76 61 6c 75 65 29 20 2e 20 27 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 ject'.:.$value)...'.is.an.invali
183600 64 20 74 79 70 65 20 66 6f 72 20 27 20 2e 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a d.type.for.'...$type);.}........
183620 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 42 6f 6f 6c 65 61 6e 28 24 76 .protected.function.toBoolean($v
183640 61 6c 75 65 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 74 72 75 65 27 29 20 7b alue).{.if.($value.===.'true').{
183660 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 .return.true;.}..if.($value.===.
183680 27 66 61 6c 73 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 'false').{.return.false;.}..retu
1836a0 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 rn.$value;.}.........protected.f
1836c0 75 6e 63 74 69 6f 6e 20 74 6f 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 unction.toNumber($value).{.if.(i
1836e0 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c s_numeric($value)).{.return.$val
183700 75 65 20 2b 20 30 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 70 ue.+.0;...}..return.$value;.}..p
183720 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 49 6e 74 65 67 65 72 28 24 76 61 6c rotected.function.toInteger($val
183740 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 26 26 20 ue).{.if.(is_numeric($value).&&.
183760 28 69 6e 74 29 20 24 76 61 6c 75 65 20 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e (int).$value.==.$value).{.return
183780 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 .(int).$value;...}..return.$valu
1837a0 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a e;.}.}.<?php.........namespace.J
1837c0 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e sonSchema\Constraints;..use.Json
1837e0 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 5c 4c 6f 6f Schema\Constraints\TypeCheck\Loo
183800 73 65 54 79 70 65 43 68 65 63 6b 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 seTypeCheck;.use.JsonSchema\Enti
183820 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 ty\JsonPointer;.use.JsonSchema\E
183840 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 xception\ValidationException;.us
183860 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a e.JsonSchema\Uri\UriResolver;...
183880 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 65 .....class.UndefinedConstraint.e
1838a0 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 xtends.Constraint.{....protected
1838c0 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a .$appliedDefaults.=.array();....
1838e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 2c 20 .public.function.check(&$value,.
183900 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
183920 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c h.=.null,.$i.=.null,.$fromDefaul
183940 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 73 63 68 65 6d 61 t.=.false).{.if.(is_null($schema
183960 29 20 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 72 65 74 75 ).||.!is_object($schema)).{.retu
183980 72 6e 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 rn;.}..$path.=.$this->incrementP
1839a0 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 ath($path.?:.new.JsonPointer('')
1839c0 2c 20 24 69 29 3b 0a 69 66 20 28 24 66 72 6f 6d 44 65 66 61 75 6c 74 29 20 7b 0a 24 70 61 74 68 ,.$i);.if.($fromDefault).{.$path
1839e0 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e ->setFromDefault();.}....$this->
183a00 76 61 6c 69 64 61 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c validateCommonProperties($value,
183a20 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e .$schema,.$path,.$i);....$this->
183a40 76 61 6c 69 64 61 74 65 4f 66 50 72 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 validateOfProperties($value,.$sc
183a60 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 27 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 hema,.$path,.'');....$this->vali
183a80 64 61 74 65 54 79 70 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 dateTypes($value,.$schema,.$path
183aa0 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ,.$i);.}..........public.functio
183ac0 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 n.validateTypes(&$value,.$schema
183ae0 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d .=.null,.JsonPointer.$path,.$i.=
183b00 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 .null).{...if.($this->getTypeChe
183b20 63 6b 28 29 2d 3e 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e ck()->isArray($value)).{.$this->
183b40 63 68 65 63 6b 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 checkArray($value,.$schema,.$pat
183b60 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a h,.$i);.}....if.(LooseTypeCheck:
183b80 3a 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 20 0a 20 0a 20 0a 20 24 74 68 69 73 :isObject($value)).{.......$this
183ba0 2d 3e 63 68 65 63 6b 4f 62 6a 65 63 74 28 0a 24 76 61 6c 75 65 2c 0a 24 73 63 68 65 6d 61 2c 0a ->checkObject(.$value,.$schema,.
183bc0 24 70 61 74 68 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 $path,.isset($schema->properties
183be0 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a ).?.$schema->properties.:.null,.
183c00 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 isset($schema->additionalPropert
183c20 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 ies).?.$schema->additionalProper
183c40 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 ties.:.null,.isset($schema->patt
183c60 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 ernProperties).?.$schema->patter
183c80 6e 50 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 nProperties.:.null,.$this->appli
183ca0 65 64 44 65 66 61 75 6c 74 73 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 edDefaults.);.}....if.(is_string
183cc0 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 53 74 72 69 6e 67 28 24 ($value)).{.$this->checkString($
183ce0 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a value,.$schema,.$path,.$i);.}...
183d00 20 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 .if.(is_numeric($value)).{.$this
183d20 2d 3e 63 68 65 63 6b 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 ->checkNumber($value,.$schema,.$
183d40 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d path,.$i);.}....if.(isset($schem
183d60 61 2d 3e 65 6e 75 6d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 a->enum)).{.$this->checkEnum($va
183d80 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a lue,.$schema,.$path,.$i);.}.}...
183da0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 .......protected.function.valida
183dc0 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 teCommonProperties(&$value,.$sch
183de0 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 ema.=.null,.JsonPointer.$path,.$
183e00 69 20 3d 20 27 27 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 i.=.'').{...if.(isset($schema->e
183e20 78 74 65 6e 64 73 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 6d 61 xtends)).{.if.(is_string($schema
183e40 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 20 3d ->extends)).{.$schema->extends.=
183e60 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 55 72 69 28 24 73 63 68 65 6d 61 2c 20 24 73 63 .$this->validateUri($schema,.$sc
183e80 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 hema->extends);.}.if.(is_array($
183ea0 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 schema->extends)).{.foreach.($sc
183ec0 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 20 61 73 20 24 65 78 74 65 6e 64 73 29 20 7b 0a 24 74 68 hema->extends.as.$extends).{.$th
183ee0 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 65 78 74 65 is->checkUndefined($value,.$exte
183f00 6e 64 73 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 nds,.$path,.$i);.}.}.else.{.$thi
183f20 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d s->checkUndefined($value,.$schem
183f40 61 2d 3e 65 78 74 65 6e 64 73 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 a->extends,.$path,.$i);.}.}....i
183f60 66 20 28 21 24 70 61 74 68 2d 3e 66 72 6f 6d 44 65 66 61 75 6c 74 28 29 29 20 7b 0a 24 74 68 69 f.(!$path->fromDefault()).{.$thi
183f80 73 2d 3e 61 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 73 28 24 76 61 6c 75 65 2c 20 24 73 s->applyDefaultValues($value,.$s
183fa0 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 67 chema,.$path);.}....if.($this->g
183fc0 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 etTypeCheck()->isObject($value))
183fe0 20 7b 0a 69 66 20 28 21 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 .{.if.(!($value.instanceof.self)
184000 20 26 26 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 .&&.isset($schema->required).&&.
184020 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 29 20 7b 0a 0a is_array($schema->required)).{..
184040 20 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 20 61 73 20 24 .foreach.($schema->required.as.$
184060 72 65 71 75 69 72 65 64 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 required).{.if.(!$this->getTypeC
184080 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 heck()->propertyExists($value,.$
1840a0 72 65 71 75 69 72 65 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 0a 24 74 required)).{.$this->addError(.$t
1840c0 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 his->incrementPath($path.?:.new.
1840e0 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 2c 20 24 72 65 71 75 69 72 65 64 29 2c 0a 27 54 68 JsonPointer(''),.$required),.'Th
184100 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 72 65 71 75 69 72 65 64 20 2e 20 27 20 69 73 20 e.property.'...$required...'.is.
184120 72 65 71 75 69 72 65 64 27 2c 0a 27 72 65 71 75 69 72 65 64 27 0a 29 3b 0a 7d 0a 7d 0a 7d 20 65 required',.'required'.);.}.}.}.e
184140 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 lseif.(isset($schema->required).
184160 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 29 &&.!is_array($schema->required))
184180 20 7b 0a 0a 20 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 20 26 26 20 24 76 .{...if.($schema->required.&&.$v
1841a0 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 70 72 6f 70 65 72 74 alue.instanceof.self).{.$propert
1841c0 79 50 61 74 68 73 20 3d 20 24 70 61 74 68 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 yPaths.=.$path->getPropertyPaths
1841e0 28 29 3b 0a 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 3d 20 65 6e 64 28 24 70 72 6f 70 65 72 74 ();.$propertyName.=.end($propert
184200 79 50 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 0a 24 70 61 74 68 2c yPaths);.$this->addError(.$path,
184220 0a 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 .'The.property.'...$propertyName
184240 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c 0a 27 72 65 71 75 69 72 65 64 27 0a 29 3b ...'.is.required',.'required'.);
184260 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f .}.}.}....if.(!($value.instanceo
184280 66 20 73 65 6c 66 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 79 70 65 28 24 76 61 6c f.self)).{.$this->checkType($val
1842a0 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 ue,.$schema,.$path,.$i);.}....if
1842c0 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 29 29 20 7b 0a 24 69 .(isset($schema->disallow)).{.$i
1842e0 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a nitErrors.=.$this->getErrors();.
184300 0a 24 74 79 70 65 53 63 68 65 6d 61 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 3b 0a .$typeSchema.=.new.\stdClass();.
184320 24 74 79 70 65 53 63 68 65 6d 61 2d 3e 74 79 70 65 20 3d 20 24 73 63 68 65 6d 61 2d 3e 64 69 73 $typeSchema->type.=.$schema->dis
184340 61 6c 6c 6f 77 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 79 70 65 28 24 76 61 6c 75 65 2c 20 allow;.$this->checkType($value,.
184360 24 74 79 70 65 53 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e $typeSchema,.$path);....if.(coun
184380 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 t($this->getErrors()).==.count($
1843a0 69 6e 69 74 45 72 72 6f 72 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 initErrors)).{.$this->addError($
1843c0 70 61 74 68 2c 20 27 44 69 73 61 6c 6c 6f 77 65 64 20 76 61 6c 75 65 20 77 61 73 20 6d 61 74 63 path,.'Disallowed.value.was.matc
1843e0 68 65 64 27 2c 20 27 64 69 73 61 6c 6c 6f 77 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 hed',.'disallow');.}.else.{.$thi
184400 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 s->errors.=.$initErrors;.}.}..if
184420 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6e 6f 74 29 29 20 7b 0a 24 69 6e 69 74 45 72 .(isset($schema->not)).{.$initEr
184440 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 rors.=.$this->getErrors();.$this
184460 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 ->checkUndefined($value,.$schema
184480 2d 3e 6e 6f 74 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 ->not,.$path,.$i);....if.(count(
1844a0 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e $this->getErrors()).==.count($in
1844c0 69 74 45 72 72 6f 72 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 itErrors)).{.$this->addError($pa
1844e0 74 68 2c 20 27 4d 61 74 63 68 65 64 20 61 20 73 63 68 65 6d 61 20 77 68 69 63 68 20 69 74 20 73 th,.'Matched.a.schema.which.it.s
184500 68 6f 75 6c 64 20 6e 6f 74 27 2c 20 27 6e 6f 74 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 hould.not',.'not');.}.else.{.$th
184520 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 0a is->errors.=.$initErrors;.}.}...
184540 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 65 70 65 6e 64 65 6e 63 69 65 73 .if.(isset($schema->dependencies
184560 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 ).&&.$this->getTypeCheck()->isOb
184580 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 ject($value)).{.$this->validateD
1845a0 65 70 65 6e 64 65 6e 63 69 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2d 3e 64 65 70 ependencies($value,.$schema->dep
1845c0 65 6e 64 65 6e 63 69 65 73 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a endencies,.$path);.}.}..........
1845e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 .private.function.shouldApplyDef
184600 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 73 63 68 65 6d 61 aultValue($requiredOnly,.$schema
184620 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 72 65 6e 74 53 63 68 65 6d 61 20 3d 20 ,.$name.=.null,.$parentSchema.=.
184640 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 21 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 29 20 7b 0a null).{...if.(!$requiredOnly).{.
184660 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 0a 24 6e 61 6d 65 20 21 3d 3d 20 return.true;.}...if.(.$name.!==.
184680 6e 75 6c 6c 0a 26 26 20 69 73 73 65 74 28 24 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 null.&&.isset($parentSchema->req
1846a0 75 69 72 65 64 29 0a 26 26 20 69 73 5f 61 72 72 61 79 28 24 70 61 72 65 6e 74 53 63 68 65 6d 61 uired).&&.is_array($parentSchema
1846c0 2d 3e 72 65 71 75 69 72 65 64 29 0a 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 ->required).&&.in_array($name,.$
1846e0 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 0a 29 20 7b 0a 72 65 74 75 parentSchema->required).).{.retu
184700 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e rn.true;.}...if.(isset($schema->
184720 72 65 71 75 69 72 65 64 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e required).&&.!is_array($schema->
184740 72 65 71 75 69 72 65 64 29 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 required).&&.$schema->required).
184760 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b {.return.true;.}...return.false;
184780 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 70 .}.........protected.function.ap
1847a0 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d plyDefaultValues(&$value,.$schem
1847c0 61 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 a,.$path).{...if.(!$this->factor
1847e0 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 y->getConfig(self::CHECK_MODE_AP
184800 50 4c 59 5f 44 45 46 41 55 4c 54 53 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 72 PLY_DEFAULTS)).{.return;.}....$r
184820 65 71 75 69 72 65 64 4f 6e 6c 79 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 equiredOnly.=.$this->factory->ge
184840 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4f 4e 4c 59 5f 52 45 tConfig(self::CHECK_MODE_ONLY_RE
184860 51 55 49 52 45 44 5f 44 45 46 41 55 4c 54 53 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 QUIRED_DEFAULTS);.if.(isset($sch
184880 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 29 20 26 26 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 ema->properties).&&.LooseTypeChe
1848a0 63 6b 3a 3a 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 ck::isObject($value)).{...foreac
1848c0 68 20 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 63 75 72 72 65 h.($schema->properties.as.$curre
1848e0 6e 74 50 72 6f 70 65 72 74 79 20 3d 3e 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f ntProperty.=>.$propertyDefinitio
184900 6e 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 n).{.$propertyDefinition.=.$this
184920 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 ->factory->getSchemaStorage()->r
184940 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 esolveRefSchema($propertyDefinit
184960 69 6f 6e 29 3b 0a 69 66 20 28 0a 21 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 ion);.if.(.!LooseTypeCheck::prop
184980 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 ertyExists($value,.$currentPrope
1849a0 72 74 79 29 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 rty).&&.property_exists($propert
1849c0 79 44 65 66 69 6e 69 74 69 6f 6e 2c 20 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 yDefinition,.'default').&&.$this
1849e0 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 ->shouldApplyDefaultValue($requi
184a00 72 65 64 4f 6e 6c 79 2c 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2c 20 24 63 redOnly,.$propertyDefinition,.$c
184a20 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 24 73 63 68 65 6d 61 29 0a 29 20 7b 0a 0a 20 69 urrentProperty,.$schema).).{...i
184a40 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e f.(is_object($propertyDefinition
184a60 2d 3e 64 65 66 61 75 6c 74 29 29 20 7b 0a 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 ->default)).{.LooseTypeCheck::pr
184a80 6f 70 65 72 74 79 53 65 74 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 opertySet($value,.$currentProper
184aa0 74 79 2c 20 63 6c 6f 6e 65 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 ty,.clone.$propertyDefinition->d
184ac0 65 66 61 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b efault);.}.else.{.LooseTypeCheck
184ae0 3a 3a 70 72 6f 70 65 72 74 79 53 65 74 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 ::propertySet($value,.$currentPr
184b00 6f 70 65 72 74 79 2c 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 operty,.$propertyDefinition->def
184b20 61 75 6c 74 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 5b ault);.}.$this->appliedDefaults[
184b40 5d 20 3d 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 ].=.$currentProperty;.}.}.}.else
184b60 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 20 26 26 20 4c 6f 6f if.(isset($schema->items).&&.Loo
184b80 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a seTypeCheck::isArray($value)).{.
184ba0 24 69 74 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 4c 6f 6f 73 65 54 79 70 65 43 $items.=.array();.if.(LooseTypeC
184bc0 68 65 63 6b 3a 3a 69 73 41 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b heck::isArray($schema->items)).{
184be0 0a 24 69 74 65 6d 73 20 3d 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 3b 0a 7d 20 65 6c 73 65 .$items.=.$schema->items;.}.else
184c00 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 if.(isset($schema->minItems).&&.
184c20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d count($value).<.$schema->minItem
184c40 73 29 20 7b 0a 24 69 74 65 6d 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 6c 28 63 6f 75 6e 74 28 24 s).{.$items.=.array_fill(count($
184c60 76 61 6c 75 65 29 2c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 20 2d 20 63 6f 75 6e value),.$schema->minItems.-.coun
184c80 74 28 24 76 61 6c 75 65 29 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 3b 0a 7d 0a 0a 20 t($value),.$schema->items);.}...
184ca0 66 6f 72 65 61 63 68 20 28 24 69 74 65 6d 73 20 61 73 20 24 63 75 72 72 65 6e 74 49 74 65 6d 20 foreach.($items.as.$currentItem.
184cc0 3d 3e 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 69 74 65 6d 44 65 66 69 6e =>.$itemDefinition).{.$itemDefin
184ce0 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d ition.=.$this->factory->getSchem
184d00 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 69 74 aStorage()->resolveRefSchema($it
184d20 65 6d 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 69 66 20 28 0a 21 61 72 72 61 79 5f 6b 65 79 5f 65 emDefinition);.if.(.!array_key_e
184d40 78 69 73 74 73 28 24 63 75 72 72 65 6e 74 49 74 65 6d 2c 20 24 76 61 6c 75 65 29 0a 26 26 20 70 xists($currentItem,.$value).&&.p
184d60 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2c 20 roperty_exists($itemDefinition,.
184d80 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 'default').&&.$this->shouldApply
184da0 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 69 74 65 DefaultValue($requiredOnly,.$ite
184dc0 6d 44 65 66 69 6e 69 74 69 6f 6e 29 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 69 mDefinition)).{.if.(is_object($i
184de0 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 29 20 7b 0a 24 76 61 6c 75 temDefinition->default)).{.$valu
184e00 65 5b 24 63 75 72 72 65 6e 74 49 74 65 6d 5d 20 3d 20 63 6c 6f 6e 65 20 24 69 74 65 6d 44 65 66 e[$currentItem].=.clone.$itemDef
184e20 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 inition->default;.}.else.{.$valu
184e40 65 5b 24 63 75 72 72 65 6e 74 49 74 65 6d 5d 20 3d 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f e[$currentItem].=.$itemDefinitio
184e60 6e 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 24 70 61 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 n->default;.}.}.$path->setFromDe
184e80 66 61 75 6c 74 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 0a 24 76 61 6c 75 65 20 69 6e 73 fault();.}.}.elseif.(.$value.ins
184ea0 74 61 6e 63 65 6f 66 20 73 65 6c 66 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 tanceof.self.&&.property_exists(
184ec0 24 73 63 68 65 6d 61 2c 20 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 $schema,.'default').&&.$this->sh
184ee0 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f ouldApplyDefaultValue($requiredO
184f00 6e 6c 79 2c 20 24 73 63 68 65 6d 61 29 29 20 7b 0a 0a 20 24 76 61 6c 75 65 20 3d 20 69 73 5f 6f nly,.$schema)).{...$value.=.is_o
184f20 62 6a 65 63 74 28 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 29 20 3f 20 63 6c 6f 6e 65 20 bject($schema->default).?.clone.
184f40 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 20 3a 20 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 $schema->default.:.$schema->defa
184f60 75 6c 74 3b 0a 24 70 61 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a ult;.$path->setFromDefault();.}.
184f80 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 }..........protected.function.va
184fa0 6c 69 64 61 74 65 4f 66 50 72 6f 70 65 72 74 69 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 lidateOfProperties(&$value,.$sch
184fc0 65 6d 61 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 ema,.JsonPointer.$path,.$i.=.'')
184fe0 0a 7b 0a 0a 20 69 66 20 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 .{...if.($value.instanceof.self)
185000 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d .{.return;.}..if.(isset($schema-
185020 3e 61 6c 6c 4f 66 29 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 >allOf)).{.$isValid.=.true;.fore
185040 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 61 6c 6c 4f 66 20 61 73 20 24 61 6c 6c 4f 66 29 20 7b ach.($schema->allOf.as.$allOf).{
185060 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 .$initErrors.=.$this->getErrors(
185080 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c );.$this->checkUndefined($value,
1850a0 20 24 61 6c 6c 4f 66 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 .$allOf,.$path,.$i);.$isValid.=.
1850c0 24 69 73 56 61 6c 69 64 20 26 26 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 $isValid.&&.(count($this->getErr
1850e0 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 3b 0a 7d ors()).==.count($initErrors));.}
185100 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f .if.(!$isValid).{.$this->addErro
185120 72 28 24 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 61 6c 6c 20 73 63 r($path,.'Failed.to.match.all.sc
185140 68 65 6d 61 73 27 2c 20 27 61 6c 6c 4f 66 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 hemas',.'allOf');.}.}..if.(isset
185160 28 24 73 63 68 65 6d 61 2d 3e 61 6e 79 4f 66 29 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 ($schema->anyOf)).{.$isValid.=.f
185180 61 6c 73 65 3b 0a 24 73 74 61 72 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 alse;.$startErrors.=.$this->getE
1851a0 72 72 6f 72 73 28 29 3b 0a 24 63 61 75 67 68 74 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c rrors();.$caughtException.=.null
1851c0 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 61 6e 79 4f 66 20 61 73 20 24 61 6e ;.foreach.($schema->anyOf.as.$an
1851e0 79 4f 66 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 yOf).{.$initErrors.=.$this->getE
185200 72 72 6f 72 73 28 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 rrors();.try.{.$this->checkUndef
185220 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 6e 79 4f 66 2c 20 24 70 61 74 68 2c 20 24 69 29 3b ined($value,.$anyOf,.$path,.$i);
185240 0a 69 66 20 28 24 69 73 56 61 6c 69 64 20 3d 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 .if.($isValid.=.(count($this->ge
185260 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 tErrors()).==.count($initErrors)
185280 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 56 61 6c 69 64 61 74 69 6f )).{.break;.}.}.catch.(Validatio
1852a0 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 nException.$e).{.$isValid.=.fals
1852c0 65 3b 0a 7d 0a 7d 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 e;.}.}.if.(!$isValid).{.$this->a
1852e0 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 ddError($path,.'Failed.to.match.
185300 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 73 63 68 65 6d 61 27 2c 20 27 61 6e 79 4f 66 27 29 3b 0a at.least.one.schema',.'anyOf');.
185320 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 74 61 72 74 45 }.else.{.$this->errors.=.$startE
185340 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6f rrors;.}.}..if.(isset($schema->o
185360 6e 65 4f 66 29 29 20 7b 0a 24 61 6c 6c 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 neOf)).{.$allErrors.=.array();.$
185380 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 20 3d 20 30 3b 0a 24 73 74 61 72 74 45 72 72 6f 72 73 matchedSchemas.=.0;.$startErrors
1853a0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 .=.$this->getErrors();.foreach.(
1853c0 24 73 63 68 65 6d 61 2d 3e 6f 6e 65 4f 66 20 61 73 20 24 6f 6e 65 4f 66 29 20 7b 0a 74 72 79 20 $schema->oneOf.as.$oneOf).{.try.
1853e0 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 {.$this->errors.=.array();.$this
185400 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 6f 6e 65 4f 66 2c ->checkUndefined($value,.$oneOf,
185420 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 .$path,.$i);.if.(count($this->ge
185440 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 30 29 20 7b 0a 24 6d 61 74 63 68 65 64 53 63 68 65 6d tErrors()).==.0).{.$matchedSchem
185460 61 73 2b 2b 3b 0a 7d 0a 24 61 6c 6c 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 as++;.}.$allErrors.=.array_merge
185480 28 24 61 6c 6c 45 72 72 6f 72 73 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d ($allErrors,.array_values($this-
1854a0 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 56 61 6c 69 64 61 74 >getErrors()));.}.catch.(Validat
1854c0 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 7d 0a 7d 0a 69 66 20 28 24 ionException.$e).{.....}.}.if.($
1854e0 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 20 21 3d 3d 20 31 29 20 7b 0a 24 74 68 69 73 2d 3e 61 matchedSchemas.!==.1).{.$this->a
185500 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 61 6c 6c 45 72 72 6f 72 73 2c ddErrors(array_merge($allErrors,
185520 20 24 73 74 61 72 74 45 72 72 6f 72 73 29 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 .$startErrors));.$this->addError
185540 28 24 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 65 78 61 63 74 6c 79 ($path,.'Failed.to.match.exactly
185560 20 6f 6e 65 20 73 63 68 65 6d 61 27 2c 20 27 6f 6e 65 4f 66 27 29 3b 0a 7d 20 65 6c 73 65 20 7b .one.schema',.'oneOf');.}.else.{
185580 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 74 61 72 74 45 72 72 6f 72 73 3b 0a 7d .$this->errors.=.$startErrors;.}
1855a0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .}.}..........protected.function
1855c0 20 76 61 6c 69 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 76 61 6c 75 65 2c 20 24 64 .validateDependencies($value,.$d
1855e0 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 ependencies,.JsonPointer.$path,.
185600 24 69 20 3d 20 27 27 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 69 65 $i.=.'').{.foreach.($dependencie
185620 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 64 65 70 65 6e 64 65 6e 63 79 29 20 7b 0a 69 66 20 28 s.as.$key.=>.$dependency).{.if.(
185640 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 $this->getTypeCheck()->propertyE
185660 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 6b 65 79 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 xists($value,.$key)).{.if.(is_st
185680 72 69 6e 67 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 ring($dependency)).{...if.(!$thi
1856a0 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 s->getTypeCheck()->propertyExist
1856c0 73 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 24 74 68 69 73 2d s($value,.$dependency)).{.$this-
1856e0 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 24 6b 65 79 20 64 65 70 65 6e 64 73 20 6f >addError($path,."$key.depends.o
185700 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 20 61 6e 64 20 24 64 65 70 65 6e 64 65 6e 63 79 20 69 73 n.$dependency.and.$dependency.is
185720 20 6d 69 73 73 69 6e 67 22 2c 20 27 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 3b 0a 7d 0a 7d 20 .missing",.'dependencies');.}.}.
185740 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b elseif.(is_array($dependency)).{
185760 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 20 61 73 20 24 64 29 20 7b ...foreach.($dependency.as.$d).{
185780 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f .if.(!$this->getTypeCheck()->pro
1857a0 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 64 29 29 20 7b 0a 24 74 68 69 73 pertyExists($value,.$d)).{.$this
1857c0 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 24 6b 65 79 20 64 65 70 65 6e 64 73 20 ->addError($path,."$key.depends.
1857e0 6f 6e 20 24 64 20 61 6e 64 20 24 64 20 69 73 20 6d 69 73 73 69 6e 67 22 2c 20 27 64 65 70 65 6e on.$d.and.$d.is.missing",.'depen
185800 64 65 6e 63 69 65 73 27 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 dencies');.}.}.}.elseif.(is_obje
185820 63 74 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 ct($dependency)).{...$this->chec
185840 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 2c 20 kUndefined($value,.$dependency,.
185860 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 $path,.$i);.}.}.}.}..protected.f
185880 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 55 72 69 28 24 73 63 68 65 6d 61 2c 20 24 73 63 unction.validateUri($schema,.$sc
1858a0 68 65 6d 61 55 72 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e 65 hemaUri.=.null).{.$resolver.=.ne
1858c0 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 72 65 74 72 69 65 76 65 72 20 3d 20 24 74 w.UriResolver();.$retriever.=.$t
1858e0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b his->factory->getUriRetriever();
185900 0a 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 72 65 73 6f 6c ..$jsonSchema.=.null;.if.($resol
185920 76 65 72 2d 3e 69 73 56 61 6c 69 64 28 24 73 63 68 65 6d 61 55 72 69 29 29 20 7b 0a 24 73 63 68 ver->isValid($schemaUri)).{.$sch
185940 65 6d 61 49 64 20 3d 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c emaId.=.property_exists($schema,
185960 20 27 69 64 27 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 69 64 20 3a 20 6e 75 6c 6c 3b 0a 24 6a 73 .'id').?.$schema->id.:.null;.$js
185980 6f 6e 53 63 68 65 6d 61 20 3d 20 24 72 65 74 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 onSchema.=.$retriever->retrieve(
1859a0 24 73 63 68 65 6d 61 49 64 2c 20 24 73 63 68 65 6d 61 55 72 69 29 3b 0a 7d 0a 0a 72 65 74 75 72 $schemaId,.$schemaUri);.}..retur
1859c0 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a n.$jsonSchema;.}.}.<?php........
1859e0 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 3b 0a 0a 75 .namespace.JsonSchema\Entity;..u
185a00 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 se.JsonSchema\Exception\InvalidA
185a20 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 rgumentException;.......class.Js
185a40 6f 6e 50 6f 69 6e 74 65 72 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 6e 61 6d 65 3b 0a onPointer.{..private.$filename;.
185a60 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d 20 61 72 72 61 79 ..private.$propertyPaths.=.array
185a80 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 ();.....private.$fromDefault.=.f
185aa0 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f alse;.......public.function.__co
185ac0 6e 73 74 72 75 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 nstruct($value).{.if.(!is_string
185ae0 28 24 76 61 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 ($value)).{.throw.new.InvalidArg
185b00 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 52 65 66 20 76 61 6c 75 65 20 6d 75 73 74 20 62 umentException('Ref.value.must.b
185b20 65 20 61 20 73 74 72 69 6e 67 27 29 3b 0a 7d 0a 0a 24 73 70 6c 69 74 52 65 66 20 3d 20 65 78 70 e.a.string');.}..$splitRef.=.exp
185b40 6c 6f 64 65 28 27 23 27 2c 20 24 76 61 6c 75 65 2c 20 32 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c lode('#',.$value,.2);.$this->fil
185b60 65 6e 61 6d 65 20 3d 20 24 73 70 6c 69 74 52 65 66 5b 30 5d 3b 0a 69 66 20 28 61 72 72 61 79 5f ename.=.$splitRef[0];.if.(array_
185b80 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 24 73 70 6c 69 74 52 65 66 29 29 20 7b 0a 24 74 68 69 key_exists(1,.$splitRef)).{.$thi
185ba0 73 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 6f 64 65 s->propertyPaths.=.$this->decode
185bc0 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 24 73 70 6c 69 74 52 65 66 5b 31 5d 29 3b 0a 7d 0a 7d PropertyPaths($splitRef[1]);.}.}
185be0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 72 .......private.function.decodePr
185c00 6f 70 65 72 74 79 50 61 74 68 73 28 24 70 72 6f 70 65 72 74 79 50 61 74 68 53 74 72 69 6e 67 29 opertyPaths($propertyPathString)
185c20 0a 7b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 .{.$paths.=.array();.foreach.(ex
185c40 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 69 6d 28 24 70 72 6f 70 65 72 74 79 50 61 74 68 53 74 72 plode('/',.trim($propertyPathStr
185c60 69 6e 67 2c 20 27 2f 27 29 29 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 ing,.'/')).as.$path).{.$path.=.$
185c80 74 68 69 73 2d 3e 64 65 63 6f 64 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 69 73 5f this->decodePath($path);.if.(is_
185ca0 73 74 72 69 6e 67 28 24 70 61 74 68 29 20 26 26 20 27 27 20 21 3d 3d 20 24 70 61 74 68 29 20 7b string($path).&&.''.!==.$path).{
185cc0 0a 24 70 61 74 68 73 5b 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 .$paths[].=.$path;.}.}..return.$
185ce0 70 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e paths;.}.....private.function.en
185d00 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 codePropertyPaths().{.return.arr
185d20 61 79 5f 6d 61 70 28 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 65 6e 63 6f 64 65 50 61 74 68 ay_map(.array($this,.'encodePath
185d40 27 29 2c 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 29 3b '),.$this->getPropertyPaths().);
185d60 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 .}.......private.function.decode
185d80 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 70 61 74 68 Path($path).{.return.strtr($path
185da0 2c 20 61 72 72 61 79 28 27 7e 31 27 20 3d 3e 20 27 2f 27 2c 20 27 7e 30 27 20 3d 3e 20 27 7e 27 ,.array('~1'.=>.'/',.'~0'.=>.'~'
185dc0 2c 20 27 25 32 35 27 20 3d 3e 20 27 25 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ,.'%25'.=>.'%'));.}.......privat
185de0 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 e.function.encodePath($path).{.r
185e00 65 74 75 72 6e 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 eturn.strtr($path,.array('/'.=>.
185e20 27 7e 31 27 2c 20 27 7e 27 20 3d 3e 20 27 7e 30 27 2c 20 27 25 27 20 3d 3e 20 27 25 32 35 27 29 '~1',.'~'.=>.'~0',.'%'.=>.'%25')
185e40 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 );.}.....public.function.getFile
185e60 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 6e 61 6d 65 3b name().{.return.$this->filename;
185e80 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 70 65 72 .}.....public.function.getProper
185ea0 74 79 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 70 65 72 tyPaths().{.return.$this->proper
185ec0 74 79 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tyPaths;.}.......public.function
185ee0 20 77 69 74 68 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 .withPropertyPaths(array.$proper
185f00 74 79 50 61 74 68 73 29 0a 7b 0a 24 6e 65 77 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 tyPaths).{.$new.=.clone.$this;.$
185f20 6e 65 77 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d 20 24 70 72 6f 70 65 72 74 79 50 61 new->propertyPaths.=.$propertyPa
185f40 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 6e 65 77 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ths;..return.$new;.}.....public.
185f60 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 function.getPropertyPathAsString
185f80 28 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 27 23 2f 27 20 2e 20 69 6d 70 6c 6f 64 65 ().{.return.rtrim('#/'...implode
185fa0 28 27 2f 27 2c 20 24 74 68 69 73 2d 3e 65 6e 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 ('/',.$this->encodePropertyPaths
185fc0 28 29 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ()),.'/');.}.....public.function
185fe0 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 .__toString().{.return.$this->ge
186000 74 46 69 6c 65 6e 61 6d 65 28 29 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 tFilename()...$this->getProperty
186020 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e PathAsString();.}.....public.fun
186040 63 74 69 6f 6e 20 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e ction.setFromDefault().{.$this->
186060 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c fromDefault.=.true;.}.......publ
186080 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 ic.function.fromDefault().{.retu
1860a0 72 6e 20 24 74 68 69 73 2d 3e 66 72 6f 6d 44 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 rn.$this->fromDefault;.}.}.<?php
1860c0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e ..namespace.JsonSchema\Exception
1860e0 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a ;..interface.ExceptionInterface.
186100 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e {.}.<?php.........namespace.Json
186120 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 Schema\Exception;.....class.Inva
186140 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e lidArgumentException.extends.\In
186160 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 validArgumentException.implement
186180 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a s.ExceptionInterface.{.}.<?php..
1861a0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 .......namespace.JsonSchema\Exce
1861c0 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 43 6f 6e 66 69 67 45 78 ption;.....class.InvalidConfigEx
1861e0 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ception.extends.RuntimeException
186200 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f .{.}.<?php.........namespace.Jso
186220 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 nSchema\Exception;.....class.Inv
186240 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 alidSchemaException.extends.Runt
186260 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e imeException.{.}.<?php.........n
186280 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a amespace.JsonSchema\Exception;..
1862a0 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 ...class.InvalidSchemaMediaTypeE
1862c0 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f xception.extends.RuntimeExceptio
1862e0 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 n.{.}.<?php.........namespace.Js
186300 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e onSchema\Exception;.....class.In
186320 76 61 6c 69 64 53 6f 75 72 63 65 55 72 69 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 validSourceUriException.extends.
186340 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 InvalidArgumentException.{.}.<?p
186360 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c hp.........namespace.JsonSchema\
186380 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 44 65 63 6f 64 69 6e Exception;.....class.JsonDecodin
1863a0 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 gException.extends.RuntimeExcept
1863c0 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ion.{.public.function.__construc
1863e0 74 28 24 63 6f 64 65 20 3d 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 2c 20 5c 45 78 63 65 t($code.=.JSON_ERROR_NONE,.\Exce
186400 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 77 69 74 63 68 ption.$previous.=.null).{.switch
186420 20 28 24 63 6f 64 65 29 20 7b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 44 45 50 54 48 .($code).{.case.JSON_ERROR_DEPTH
186440 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 54 68 65 20 6d 61 78 69 6d 75 6d 20 73 74 61 63 6b 20 :.$message.=.'The.maximum.stack.
186460 64 65 70 74 68 20 68 61 73 20 62 65 65 6e 20 65 78 63 65 65 64 65 64 27 3b 0a 62 72 65 61 6b 3b depth.has.been.exceeded';.break;
186480 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 53 54 41 54 45 5f 4d 49 53 4d 41 54 43 48 3a .case.JSON_ERROR_STATE_MISMATCH:
1864a0 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 61 6c 66 6f 72 6d 65 .$message.=.'Invalid.or.malforme
1864c0 64 20 4a 53 4f 4e 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f d.JSON';.break;.case.JSON_ERROR_
1864e0 43 54 52 4c 5f 43 48 41 52 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 6e 74 72 6f 6c 20 63 CTRL_CHAR:.$message.=.'Control.c
186500 68 61 72 61 63 74 65 72 20 65 72 72 6f 72 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 haracter.error,.possibly.incorre
186520 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f ctly.encoded';.break;.case.JSON_
186540 45 52 52 4f 52 5f 55 54 46 38 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 ERROR_UTF8:.$message.=.'Malforme
186560 64 20 55 54 46 2d 38 20 63 68 61 72 61 63 74 65 72 73 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 d.UTF-8.characters,.possibly.inc
186580 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a orrectly.encoded';.break;.case.J
1865a0 53 4f 4e 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 4a 53 SON_ERROR_SYNTAX:.$message.=.'JS
1865c0 4f 4e 20 73 79 6e 74 61 78 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 27 3b 0a 62 72 65 61 6b 3b 0a ON.syntax.is.malformed';.break;.
1865e0 64 65 66 61 75 6c 74 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 53 79 6e 74 61 78 20 65 72 72 6f default:.$message.=.'Syntax.erro
186600 72 27 3b 0a 7d 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 r';.}.parent::__construct($messa
186620 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 ge,.$code,.$previous);.}.}.<?php
186640 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 .........namespace.JsonSchema\Ex
186660 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f ception;.....class.ResourceNotFo
186680 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 undException.extends.RuntimeExce
1866a0 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ption.{.}.<?php.........namespac
1866c0 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 e.JsonSchema\Exception;.....clas
1866e0 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 s.RuntimeException.extends.\Runt
186700 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f imeException.implements.Exceptio
186720 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d nInterface.{.}.<?php.........nam
186740 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a espace.JsonSchema\Exception;....
186760 0a 0a 0a 63 6c 61 73 73 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 ...class.UnresolvableJsonPointer
186780 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e Exception.extends.InvalidArgumen
1867a0 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d tException.{.}.<?php.........nam
1867c0 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a espace.JsonSchema\Exception;....
1867e0 0a 63 6c 61 73 73 20 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 .class.UriResolverException.exte
186800 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a nds.RuntimeException.{.}.<?php..
186820 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 .......namespace.JsonSchema\Exce
186840 70 74 69 6f 6e 3b 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f ption;..class.ValidationExceptio
186860 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c n.extends.RuntimeException.{.}.<
186880 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d ?php.........namespace.JsonSchem
1868a0 61 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 62 6a 65 63 74 49 74 a\Iterator;.......class.ObjectIt
1868c0 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 2c 20 5c 43 6f erator.implements.\Iterator,.\Co
1868e0 75 6e 74 61 62 6c 65 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 6f 62 6a 65 63 74 3b 0a 0a 0a 70 72 untable.{..private.$object;...pr
186900 69 76 61 74 65 20 24 70 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 ivate.$position.=.0;...private.$
186920 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 69 74 69 data.=.array();...private.$initi
186940 61 6c 69 7a 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 alized.=.false;.....public.funct
186960 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6f 62 6a 65 63 74 29 0a 7b 0a 24 74 68 69 73 ion.__construct($object).{.$this
186980 2d 3e 6f 62 6a 65 63 74 20 3d 20 24 6f 62 6a 65 63 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ->object.=.$object;.}.....public
1869a0 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 .function.current().{.$this->ini
1869c0 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 61 74 61 5b 24 tialize();..return.$this->data[$
1869e0 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->position];.}.....public.fu
186a00 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a nction.next().{.$this->initializ
186a20 65 28 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a 70 75 e();.$this->position++;.}.....pu
186a40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 blic.function.key().{.$this->ini
186a60 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 tialize();..return.$this->positi
186a80 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 on;.}.....public.function.valid(
186aa0 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e ).{.$this->initialize();..return
186ac0 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 61 74 61 5b 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 .isset($this->data[$this->positi
186ae0 6f 6e 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 on]);.}.....public.function.rewi
186b00 6e 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 24 74 68 69 nd().{.$this->initialize();.$thi
186b20 73 2d 3e 70 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 s->position.=.0;.}.....public.fu
186b40 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 nction.count().{.$this->initiali
186b60 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 61 74 61 29 ze();..return.count($this->data)
186b80 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c ;.}.....private.function.initial
186ba0 69 7a 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 29 ize().{.if.(!$this->initialized)
186bc0 20 7b 0a 24 74 68 69 73 2d 3e 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 61 74 .{.$this->data.=.$this->buildDat
186be0 61 46 72 6f 6d 4f 62 6a 65 63 74 28 24 74 68 69 73 2d 3e 6f 62 6a 65 63 74 29 3b 0a 24 74 68 69 aFromObject($this->object);.$thi
186c00 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a s->initialized.=.true;.}.}......
186c20 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 61 74 61 46 72 6f 6d 4f .private.function.buildDataFromO
186c40 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 bject($object).{.$result.=.array
186c60 28 29 3b 0a 0a 24 73 74 61 63 6b 20 3d 20 6e 65 77 20 5c 53 70 6c 53 74 61 63 6b 28 29 3b 0a 24 ();..$stack.=.new.\SplStack();.$
186c80 73 74 61 63 6b 2d 3e 70 75 73 68 28 24 6f 62 6a 65 63 74 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 stack->push($object);..while.(!$
186ca0 73 74 61 63 6b 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 63 75 72 72 65 6e 74 20 3d 20 24 stack->isEmpty()).{.$current.=.$
186cc0 73 74 61 63 6b 2d 3e 70 6f 70 28 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 63 75 72 stack->pop();.if.(is_object($cur
186ce0 72 65 6e 74 29 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 72 65 73 75 6c 74 2c 20 24 63 75 rent)).{.array_push($result,.$cu
186d00 72 72 65 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 44 61 rrent);.}..foreach.($this->getDa
186d20 74 61 46 72 6f 6d 49 74 65 6d 28 24 63 75 72 72 65 6e 74 29 20 61 73 20 24 70 72 6f 70 65 72 74 taFromItem($current).as.$propert
186d40 79 4e 61 6d 65 20 3d 3e 20 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 20 7b 0a 69 66 20 28 69 yName.=>.$propertyValue).{.if.(i
186d60 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 20 7c 7c 20 69 73 5f 61 s_object($propertyValue).||.is_a
186d80 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 29 20 7b 0a 24 73 74 61 63 6b 2d 3e rray($propertyValue)).{.$stack->
186da0 70 75 73 68 28 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 push($propertyValue);.}.}.}..ret
186dc0 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e urn.$result;.}.......private.fun
186de0 63 74 69 6f 6e 20 67 65 74 44 61 74 61 46 72 6f 6d 49 74 65 6d 28 24 69 74 65 6d 29 0a 7b 0a 69 ction.getDataFromItem($item).{.i
186e00 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 69 74 65 6d 29 20 26 26 20 21 69 73 5f 61 72 72 61 f.(!is_object($item).&&.!is_arra
186e20 79 28 24 69 74 65 6d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 y($item)).{.return.array();.}..r
186e40 65 74 75 72 6e 20 69 73 5f 6f 62 6a 65 63 74 28 24 69 74 65 6d 29 20 3f 20 67 65 74 5f 6f 62 6a eturn.is_object($item).?.get_obj
186e60 65 63 74 5f 76 61 72 73 28 24 69 74 65 6d 29 20 3a 20 24 69 74 65 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 ect_vars($item).:.$item;.}.}.<?p
186e80 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 63 6c 61 73 73 hp..namespace.JsonSchema;..class
186ea0 20 52 66 63 33 33 33 39 0a 7b 0a 63 6f 6e 73 74 20 52 45 47 45 58 20 3d 20 27 2f 5e 28 5c 64 7b .Rfc3339.{.const.REGEX.=.'/^(\d{
186ec0 34 7d 2d 5c 64 7b 32 7d 2d 5c 64 7b 32 7d 5b 54 20 5d 7b 31 7d 5c 64 7b 32 7d 3a 5c 64 7b 32 7d 4}-\d{2}-\d{2}[T.]{1}\d{2}:\d{2}
186ee0 3a 5c 64 7b 32 7d 29 28 5c 2e 5c 64 2b 29 3f 28 5a 7c 28 5b 2b 2d 5d 5c 64 7b 32 7d 29 3a 3f 28 :\d{2})(\.\d+)?(Z|([+-]\d{2}):?(
186f00 5c 64 7b 32 7d 29 29 24 2f 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 \d{2}))$/';.........public.stati
186f20 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 73 74 72 c.function.createFromString($str
186f40 69 6e 67 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 52 45 47 ing).{.if.(!preg_match(self::REG
186f60 45 58 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 74 72 69 6e 67 29 2c 20 24 6d 61 74 63 68 65 EX,.strtoupper($string),.$matche
186f80 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 64 61 74 65 41 6e 64 54 69 s)).{.return.null;.}..$dateAndTi
186fa0 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 24 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 me.=.$matches[1];.$microseconds.
186fc0 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3f 3a 20 27 2e 30 30 30 30 30 30 27 3b 0a 24 74 69 6d =.$matches[2].?:.'.000000';.$tim
186fe0 65 5a 6f 6e 65 20 3d 20 27 5a 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3f 20 24 6d eZone.=.'Z'.!==.$matches[3].?.$m
187000 61 74 63 68 65 73 5b 34 5d 20 2e 20 27 3a 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 35 5d 20 3a 20 atches[4]...':'...$matches[5].:.
187020 27 2b 30 30 3a 30 30 27 3b 0a 24 64 61 74 65 46 6f 72 6d 61 74 20 3d 20 73 74 72 70 6f 73 28 24 '+00:00';.$dateFormat.=.strpos($
187040 64 61 74 65 41 6e 64 54 69 6d 65 2c 20 27 54 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 59 dateAndTime,.'T').===.false.?.'Y
187060 2d 6d 2d 64 20 48 3a 69 3a 73 2e 75 50 27 20 3a 20 27 59 2d 6d 2d 64 5c 54 48 3a 69 3a 73 2e 75 -m-d.H:i:s.uP'.:.'Y-m-d\TH:i:s.u
187080 50 27 3b 0a 24 64 61 74 65 54 69 6d 65 20 3d 20 5c 44 61 74 65 54 69 6d 65 3a 3a 63 72 65 61 74 P';.$dateTime.=.\DateTime::creat
1870a0 65 46 72 6f 6d 46 6f 72 6d 61 74 28 24 64 61 74 65 46 6f 72 6d 61 74 2c 20 24 64 61 74 65 41 6e eFromFormat($dateFormat,.$dateAn
1870c0 64 54 69 6d 65 20 2e 20 24 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 2e 20 24 74 69 6d 65 5a 6f 6e dTime...$microseconds...$timeZon
1870e0 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 0a 72 e,.new.\DateTimeZone('UTC'));..r
187100 65 74 75 72 6e 20 24 64 61 74 65 54 69 6d 65 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 eturn.$dateTime.?:.null;.}.}.<?p
187120 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 75 73 65 20 4a hp..namespace.JsonSchema;..use.J
187140 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 42 61 73 65 43 6f 6e 73 74 72 sonSchema\Constraints\BaseConstr
187160 61 69 6e 74 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e aint;.use.JsonSchema\Entity\Json
187180 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f Pointer;.use.JsonSchema\Exceptio
1871a0 6e 5c 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 n\UnresolvableJsonPointerExcepti
1871c0 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 73 6f 6c 76 on;.use.JsonSchema\Uri\UriResolv
1871e0 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 74 72 69 65 er;.use.JsonSchema\Uri\UriRetrie
187200 76 65 72 3b 0a 0a 63 6c 61 73 73 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 20 69 6d 70 6c 65 6d ver;..class.SchemaStorage.implem
187220 65 6e 74 73 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f ents.SchemaStorageInterface.{.co
187240 6e 73 74 20 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 nst.INTERNAL_PROVIDED_SCHEMA_URI
187260 20 3d 20 27 69 6e 74 65 72 6e 61 6c 3a 2f 2f 70 72 6f 76 69 64 65 64 2d 73 63 68 65 6d 61 2f 27 .=.'internal://provided-schema/'
187280 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 70 72 6f 74 ;..protected.$uriRetriever;.prot
1872a0 65 63 74 65 64 20 24 75 72 69 52 65 73 6f 6c 76 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 ected.$uriResolver;.protected.$s
1872c0 63 68 65 6d 61 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 chemas.=.array();..public.functi
1872e0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 on.__construct(.UriRetrieverInte
187300 72 66 61 63 65 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 2c 0a 55 72 69 52 rface.$uriRetriever.=.null,.UriR
187320 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 69 52 65 73 6f 6c 76 65 72 20 3d 20 esolverInterface.$uriResolver.=.
187340 6e 75 6c 6c 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 null.).{.$this->uriRetriever.=.$
187360 75 72 69 52 65 74 72 69 65 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 74 72 69 65 76 65 72 uriRetriever.?:.new.UriRetriever
187380 28 29 3b 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 20 3d 20 24 75 72 69 52 65 73 ();.$this->uriResolver.=.$uriRes
1873a0 6f 6c 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 7d 0a 0a 0a olver.?:.new.UriResolver();.}...
1873c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 ..public.function.getUriRetrieve
1873e0 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 r().{.return.$this->uriRetriever
187400 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 ;.}.....public.function.getUriRe
187420 73 6f 6c 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f solver().{.return.$this->uriReso
187440 6c 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 lver;.}.....public.function.addS
187460 63 68 65 6d 61 28 24 69 64 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 chema($id,.$schema.=.null).{.if.
187480 28 69 73 5f 6e 75 6c 6c 28 24 73 63 68 65 6d 61 29 20 26 26 20 24 69 64 20 21 3d 3d 20 73 65 6c (is_null($schema).&&.$id.!==.sel
1874a0 66 3a 3a 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 29 f::INTERNAL_PROVIDED_SCHEMA_URI)
1874c0 20 7b 0a 0a 20 0a 20 0a 20 24 73 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 .{.......$schema.=.$this->uriRet
1874e0 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 69 64 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 riever->retrieve($id);.}....if.(
187500 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 24 73 63 68 65 6d 61 20 3d 20 42 is_array($schema)).{.$schema.=.B
187520 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 aseConstraint::arrayToObjectRecu
187540 72 73 69 76 65 28 24 73 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 69 73 5f 6f 62 rsive($schema);.}......if.(is_ob
187560 6a 65 63 74 28 24 73 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 ject($schema).&&.property_exists
187580 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e ($schema,.'id')).{.if.($schema->
1875a0 69 64 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 id.==.'http://json-schema.org/dr
1875c0 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 27 29 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 aft-04/schema#').{.$schema->prop
1875e0 65 72 74 69 65 73 2d 3e 69 64 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 erties->id->format.=.'uri-refere
187600 6e 63 65 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 69 64 20 3d 3d 20 27 nce';.}.elseif.($schema->id.==.'
187620 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 33 2f http://json-schema.org/draft-03/
187640 73 63 68 65 6d 61 23 27 29 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d schema#').{.$schema->properties-
187660 3e 69 64 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 24 >id->format.=.'uri-reference';.$
187680 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 7b 27 24 72 65 66 27 7d 2d 3e 66 6f schema->properties->{'$ref'}->fo
1876a0 72 6d 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 7d 0a 7d 0a 0a 0a 20 24 rmat.=.'uri-reference';.}.}....$
1876c0 74 68 69 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 73 63 68 65 6d 61 2c 20 24 69 64 29 3b 0a this->expandRefs($schema,.$id);.
1876e0 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 69 64 5d 20 3d 20 24 73 63 68 65 6d 61 3b 0a .$this->schemas[$id].=.$schema;.
187700 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 }........private.function.expand
187720 52 65 66 73 28 26 24 73 63 68 65 6d 61 2c 20 24 62 61 73 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 Refs(&$schema,.$base.=.null).{.i
187740 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 69 66 20 28 69 73 f.(!is_object($schema)).{.if.(is
187760 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 _array($schema)).{.foreach.($sch
187780 65 6d 61 20 61 73 20 26 24 6d 65 6d 62 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 ema.as.&$member).{.$this->expand
1877a0 52 65 66 73 28 24 6d 65 6d 62 65 72 2c 20 24 62 61 73 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 Refs($member,.$base);.}.}..retur
1877c0 6e 3b 0a 7d 0a 0a 69 66 20 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d n;.}..if.(property_exists($schem
1877e0 61 2c 20 27 69 64 27 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 6d 61 2d 3e 69 a,.'id').&&.is_string($schema->i
187800 64 29 20 26 26 20 24 62 61 73 65 20 21 3d 20 24 73 63 68 65 6d 61 2d 3e 69 64 29 20 7b 0a 24 62 d).&&.$base.!=.$schema->id).{.$b
187820 61 73 65 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 ase.=.$this->uriResolver->resolv
187840 65 28 24 73 63 68 65 6d 61 2d 3e 69 64 2c 20 24 62 61 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 e($schema->id,.$base);.}..if.(pr
187860 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 24 72 65 66 27 29 20 26 operty_exists($schema,.'$ref').&
187880 26 20 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 29 20 &.is_string($schema->{'$ref'})).
1878a0 7b 0a 24 72 65 66 50 6f 69 6e 74 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 {.$refPointer.=.new.JsonPointer(
1878c0 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 65 28 24 73 63 68 $this->uriResolver->resolve($sch
1878e0 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 2c 20 24 62 61 73 65 29 29 3b 0a 24 73 63 68 65 6d 61 2d ema->{'$ref'},.$base));.$schema-
187900 3e 7b 27 24 72 65 66 27 7d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 66 50 6f 69 6e 74 65 72 >{'$ref'}.=.(string).$refPointer
187920 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 20 61 73 20 26 24 6d 65 6d 62 65 ;.}..foreach.($schema.as.&$membe
187940 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 6d 65 6d 62 65 72 2c 20 r).{.$this->expandRefs($member,.
187960 24 62 61 73 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $base);.}.}.....public.function.
187980 67 65 74 53 63 68 65 6d 61 28 24 69 64 29 0a 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f getSchema($id).{.if.(!array_key_
1879a0 65 78 69 73 74 73 28 24 69 64 2c 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 29 29 20 7b 0a 24 exists($id,.$this->schemas)).{.$
1879c0 74 68 69 73 2d 3e 61 64 64 53 63 68 65 6d 61 28 24 69 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 this->addSchema($id);.}..return.
1879e0 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 69 64 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 $this->schemas[$id];.}.....publi
187a00 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 29 0a 7b 0a 24 6a c.function.resolveRef($ref).{.$j
187a20 73 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 24 72 65 sonPointer.=.new.JsonPointer($re
187a40 66 29 3b 0a 0a 0a 20 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d f);....$fileName.=.$jsonPointer-
187a60 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 3b 0a 69 66 20 28 21 73 74 72 6c 65 6e 28 24 66 69 6c >getFilename();.if.(!strlen($fil
187a80 65 4e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 eName)).{.throw.new.Unresolvable
187aa0 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 43 JsonPointerException(sprintf(."C
187ac0 6f 75 6c 64 20 6e 6f 74 20 72 65 73 6f 6c 76 65 20 66 72 61 67 6d 65 6e 74 20 27 25 73 27 3a 20 ould.not.resolve.fragment.'%s':.
187ae0 6e 6f 20 66 69 6c 65 20 69 73 20 64 65 66 69 6e 65 64 22 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 no.file.is.defined",.$jsonPointe
187b00 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 29 29 3b r->getPropertyPathAsString().));
187b20 0a 7d 0a 0a 0a 20 24 72 65 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 .}....$refSchema.=.$this->getSch
187b40 65 6d 61 28 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6a 73 6f 6e 50 6f ema($fileName);.foreach.($jsonPo
187b60 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 20 61 73 20 24 70 61 inter->getPropertyPaths().as.$pa
187b80 74 68 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 72 65 66 53 63 68 65 6d 61 29 20 th).{.if.(is_object($refSchema).
187ba0 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 72 65 66 53 63 68 65 6d 61 2c 20 24 &&.property_exists($refSchema,.$
187bc0 70 61 74 68 29 29 20 7b 0a 24 72 65 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 path)).{.$refSchema.=.$this->res
187be0 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 24 70 61 74 68 olveRefSchema($refSchema->{$path
187c00 7d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 72 65 66 53 63 68 65 6d });.}.elseif.(is_array($refSchem
187c20 61 29 20 26 26 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 61 74 68 2c 20 24 72 a).&&.array_key_exists($path,.$r
187c40 65 66 53 63 68 65 6d 61 29 29 20 7b 0a 24 72 65 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d efSchema)).{.$refSchema.=.$this-
187c60 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 5b 24 70 61 >resolveRefSchema($refSchema[$pa
187c80 74 68 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 55 6e 72 65 73 6f 6c th]);.}.else.{.throw.new.Unresol
187ca0 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 vableJsonPointerException(sprint
187cc0 66 28 0a 27 46 69 6c 65 3a 20 25 73 20 69 73 20 66 6f 75 6e 64 2c 20 62 75 74 20 63 6f 75 6c 64 f(.'File:.%s.is.found,.but.could
187ce0 20 6e 6f 74 20 72 65 73 6f 6c 76 65 20 66 72 61 67 6d 65 6e 74 3a 20 25 73 27 2c 0a 24 6a 73 6f .not.resolve.fragment:.%s',.$jso
187d00 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 0a 24 6a 73 6f 6e 50 6f nPointer->getFilename(),.$jsonPo
187d20 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 inter->getPropertyPathAsString()
187d40 0a 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 53 63 68 65 6d 61 3b 0a 7d 0a 0a .));.}.}..return.$refSchema;.}..
187d60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 53 63 68 ...public.function.resolveRefSch
187d80 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 ema($refSchema).{.if.(is_object(
187da0 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 $refSchema).&&.property_exists($
187dc0 72 65 66 53 63 68 65 6d 61 2c 20 27 24 72 65 66 27 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 refSchema,.'$ref').&&.is_string(
187de0 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 29 20 7b 0a 24 6e 65 77 53 63 68 $refSchema->{'$ref'})).{.$newSch
187e00 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 53 63 68 65 ema.=.$this->resolveRef($refSche
187e20 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 3b 0a 24 72 65 66 53 63 68 65 6d 61 20 3d 20 28 6f 62 6a ma->{'$ref'});.$refSchema.=.(obj
187e40 65 63 74 29 20 28 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 72 65 66 53 63 68 65 6d 61 ect).(get_object_vars($refSchema
187e60 29 20 2b 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 6e 65 77 53 63 68 65 6d 61 29 29 ).+.get_object_vars($newSchema))
187e80 3b 0a 75 6e 73 65 74 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 3b 0a 7d ;.unset($refSchema->{'$ref'});.}
187ea0 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 53 63 68 65 6d 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ..return.$refSchema;.}.}.<?php..
187ec0 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 69 6e 74 65 72 66 61 63 65 namespace.JsonSchema;..interface
187ee0 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a .SchemaStorageInterface.{.......
187f00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 63 68 65 6d 61 28 24 69 64 2c 20 24 public.function.addSchema($id,.$
187f20 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 schema.=.null);.........public.f
187f40 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 28 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a unction.getSchema($id);.........
187f60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 29 public.function.resolveRef($ref)
187f80 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 ;.........public.function.resolv
187fa0 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a eRefSchema($refSchema);.}.<?php.
187fc0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 ......namespace.JsonSchema\Uri\R
187fe0 65 74 72 69 65 76 65 72 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 etrievers;........abstract.class
188000 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 72 .AbstractRetriever.implements.Ur
188020 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 iRetrieverInterface.{......prote
188040 63 74 65 64 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 cted.$contentType;.......public.
188060 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 function.getContentType().{.retu
188080 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 rn.$this->contentType;.}.}.<?php
1880a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 .........namespace.JsonSchema\Ur
1880c0 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 i\Retrievers;..use.JsonSchema\Ex
1880e0 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 ception\RuntimeException;.use.Js
188100 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 onSchema\Validator;.......class.
188120 43 75 72 6c 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b Curl.extends.AbstractRetriever.{
188140 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 0a 70 75 62 6c 69 63 .protected.$messageBody;..public
188160 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 21 66 .function.__construct().{.if.(!f
188180 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 75 72 6c 5f 69 6e 69 74 27 29 29 20 7b 0a 0a unction_exists('curl_init')).{..
1881a0 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 63 55 52 .throw.new.RuntimeException('cUR
1881c0 4c 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 27 29 3b 20 0a 20 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 L.not.installed');...}.}.......p
1881e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a ublic.function.retrieve($uri).{.
188200 24 63 68 20 3d 20 63 75 72 6c 5f 69 6e 69 74 28 29 3b 0a 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 $ch.=.curl_init();..curl_setopt(
188220 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 55 52 4c 2c 20 24 75 72 69 29 3b 0a 63 75 72 6c 5f 73 65 $ch,.CURLOPT_URL,.$uri);.curl_se
188240 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 48 45 41 44 45 52 2c 20 74 72 75 65 29 3b topt($ch,.CURLOPT_HEADER,.true);
188260 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 52 45 54 55 52 4e .curl_setopt($ch,.CURLOPT_RETURN
188280 54 52 41 4e 53 46 45 52 2c 20 74 72 75 65 29 3b 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 TRANSFER,.true);.curl_setopt($ch
1882a0 2c 20 43 55 52 4c 4f 50 54 5f 48 54 54 50 48 45 41 44 45 52 2c 20 61 72 72 61 79 28 27 41 63 63 ,.CURLOPT_HTTPHEADER,.array('Acc
1882c0 65 70 74 3a 20 27 20 2e 20 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 ept:.'...Validator::SCHEMA_MEDIA
1882e0 5f 54 59 50 45 29 29 3b 0a 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 63 75 72 6c 5f 65 78 65 63 28 _TYPE));..$response.=.curl_exec(
188300 24 63 68 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b $ch);.if.(false.===.$response).{
188320 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e .throw.new.\JsonSchema\Exception
188340 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e \ResourceNotFoundException('JSON
188360 20 73 63 68 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 .schema.not.found');.}..$this->f
188380 65 74 63 68 4d 65 73 73 61 67 65 42 6f 64 79 28 24 72 65 73 70 6f 6e 73 65 29 3b 0a 24 74 68 69 etchMessageBody($response);.$thi
1883a0 73 2d 3e 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 65 28 24 72 65 73 70 6f 6e 73 65 29 3b 0a s->fetchContentType($response);.
1883c0 0a 63 75 72 6c 5f 63 6c 6f 73 65 28 24 63 68 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .curl_close($ch);..return.$this-
1883e0 3e 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 >messageBody;.}.....private.func
188400 74 69 6f 6e 20 66 65 74 63 68 4d 65 73 73 61 67 65 42 6f 64 79 28 24 72 65 73 70 6f 6e 73 65 29 tion.fetchMessageBody($response)
188420 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 22 2f 28 3f 3a 5c 72 5c 6e 29 7b 32 7d 28 2e 2a 29 24 .{.preg_match("/(?:\r\n){2}(.*)$
188440 2f 6d 73 22 2c 20 24 72 65 73 70 6f 6e 73 65 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d /ms",.$response,.$match);.$this-
188460 3e 6d 65 73 73 61 67 65 42 6f 64 79 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a >messageBody.=.$match[1];.}.....
188480 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 43 6f 6e 74 65 6e ..protected.function.fetchConten
1884a0 74 54 79 70 65 28 24 72 65 73 70 6f 6e 73 65 29 0a 7b 0a 69 66 20 28 30 20 3c 20 70 72 65 67 5f tType($response).{.if.(0.<.preg_
1884c0 6d 61 74 63 68 28 22 2f 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 28 5c 56 2a 29 2f 69 6d 73 22 2c match("/Content-Type:(\V*)/ims",
1884e0 20 24 72 65 73 70 6f 6e 73 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f .$response,.$match)).{.$this->co
188500 6e 74 65 6e 74 54 79 70 65 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 72 65 ntentType.=.trim($match[1]);..re
188520 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a turn.true;.}..return.false;.}.}.
188540 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 <?php.........namespace.JsonSche
188560 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 ma\Uri\Retrievers;..use.JsonSche
188580 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 ma\Exception\ResourceNotFoundExc
1885a0 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 47 65 74 43 6f 6e 74 65 eption;.......class.FileGetConte
1885c0 6e 74 73 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a nts.extends.AbstractRetriever.{.
1885e0 70 72 6f 74 65 63 74 65 64 20 24 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 0a 0a 0a 0a 0a 0a 70 75 protected.$messageBody;.......pu
188600 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 24 blic.function.retrieve($uri).{.$
188620 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 errorMessage.=.null;.set_error_h
188640 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 72 72 6e 6f 2c 20 24 65 72 72 73 74 72 andler(function.($errno,.$errstr
188660 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d ).use.(&$errorMessage).{.$errorM
188680 65 73 73 61 67 65 20 3d 20 24 65 72 72 73 74 72 3b 0a 7d 29 3b 0a 24 72 65 73 70 6f 6e 73 65 20 essage.=.$errstr;.});.$response.
1886a0 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 72 69 29 3b 0a 72 65 73 74 6f =.file_get_contents($uri);.resto
1886c0 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 4d re_error_handler();..if.($errorM
1886e0 65 73 73 61 67 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 essage).{.throw.new.ResourceNotF
188700 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d 0a oundException($errorMessage);.}.
188720 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 74 68 72 6f .if.(false.===.$response).{.thro
188740 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 w.new.ResourceNotFoundException(
188760 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 20 2e 20 24 75 'JSON.schema.not.found.at.'...$u
188780 72 69 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 73 70 6f 6e 73 65 20 3d 3d 20 27 27 0a 26 26 20 73 ri);.}..if.($response.==.''.&&.s
1887a0 75 62 73 74 72 28 24 75 72 69 2c 20 30 2c 20 37 29 20 3d 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 26 ubstr($uri,.0,.7).==.'file://'.&
1887c0 26 20 73 75 62 73 74 72 28 24 75 72 69 2c 20 2d 31 29 20 3d 3d 20 27 2f 27 0a 29 20 7b 0a 74 68 &.substr($uri,.-1).==.'/'.).{.th
1887e0 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f row.new.ResourceNotFoundExceptio
188800 6e 28 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 20 2e 20 n('JSON.schema.not.found.at.'...
188820 24 75 72 69 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 20 3d 20 24 $uri);.}..$this->messageBody.=.$
188840 72 65 73 70 6f 6e 73 65 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f response;.if.(!empty($http_respo
188860 6e 73 65 5f 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 66 65 74 63 68 43 nse_header)).{.....$this->fetchC
188880 6f 6e 74 65 6e 74 54 79 70 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 ontentType($http_response_header
1888a0 29 3b 20 0a 20 7d 20 65 6c 73 65 20 7b 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 );...}.else.{.....$this->content
1888c0 54 79 70 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 Type.=.null;.}..return.$this->me
1888e0 73 73 61 67 65 42 6f 64 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ssageBody;.}.......private.funct
188900 69 6f 6e 20 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 65 28 61 72 72 61 79 20 24 68 65 61 64 ion.fetchContentType(array.$head
188920 65 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 ers).{.foreach.($headers.as.$hea
188940 64 65 72 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 der).{.if.($this->contentType.=.
188960 73 65 6c 66 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 4d 61 74 63 68 49 6e 48 65 61 64 65 self::getContentTypeMatchInHeade
188980 72 28 24 68 65 61 64 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a r($header)).{.return.true;.}.}..
1889a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 return.false;.}.......protected.
1889c0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 4d 61 static.function.getContentTypeMa
1889e0 74 63 68 49 6e 48 65 61 64 65 72 28 24 68 65 61 64 65 72 29 0a 7b 0a 69 66 20 28 30 20 3c 20 70 tchInHeader($header).{.if.(0.<.p
188a00 72 65 67 5f 6d 61 74 63 68 28 22 2f 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 28 5c 56 2a 29 2f 69 reg_match("/Content-Type:(\V*)/i
188a20 6d 73 22 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 ms",.$header,.$match)).{.return.
188a40 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b trim($match[1]);.}..return.null;
188a60 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 .}.}.<?php..namespace.JsonSchema
188a80 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 \Uri\Retrievers;..use.JsonSchema
188aa0 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 \Validator;..............class.P
188ac0 72 65 64 65 66 69 6e 65 64 41 72 72 61 79 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 52 redefinedArray.extends.AbstractR
188ae0 65 74 72 69 65 76 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 61 73 etriever.{......private.$schemas
188b00 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 ;........public.function.__const
188b20 72 75 63 74 28 61 72 72 61 79 20 24 73 63 68 65 6d 61 73 2c 20 24 63 6f 6e 74 65 6e 74 54 79 70 ruct(array.$schemas,.$contentTyp
188b40 65 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 e.=.Validator::SCHEMA_MEDIA_TYPE
188b60 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 20 3d 20 24 73 63 68 65 6d 61 73 3b 0a 24 ).{.$this->schemas.=.$schemas;.$
188b80 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 this->contentType.=.$contentType
188ba0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 ;.}.......public.function.retrie
188bc0 76 65 28 24 75 72 69 29 0a 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 ve($uri).{.if.(!array_key_exists
188be0 28 24 75 72 69 2c 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 29 29 20 7b 0a 74 68 72 6f 77 20 ($uri,.$this->schemas)).{.throw.
188c00 6e 65 77 20 5c 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 new.\JsonSchema\Exception\Resour
188c20 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 54 68 ceNotFoundException(sprintf(.'Th
188c40 65 20 4a 53 4f 4e 20 73 63 68 65 6d 61 20 22 25 73 22 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 e.JSON.schema."%s".was.not.found
188c60 2e 27 2c 0a 24 75 72 69 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 .',.$uri.));.}..return.$this->sc
188c80 68 65 6d 61 73 5b 24 75 72 69 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e hemas[$uri];.}.}.<?php.........n
188ca0 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 amespace.JsonSchema\Uri\Retrieve
188cc0 72 73 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 74 72 69 65 76 65 72 rs;.......interface.UriRetriever
188ce0 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Interface.{..........public.func
188d00 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tion.retrieve($uri);.......publi
188d20 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 3b 0a 7d 0a 3c c.function.getContentType();.}.<
188d40 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d ?php.........namespace.JsonSchem
188d60 61 5c 55 72 69 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e a\Uri;..use.JsonSchema\Exception
188d80 5c 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 \UriResolverException;.use.JsonS
188da0 63 68 65 6d 61 5c 55 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a chema\UriResolverInterface;.....
188dc0 0a 0a 63 6c 61 73 73 20 55 72 69 52 65 73 6f 6c 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 ..class.UriResolver.implements.U
188de0 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 riResolverInterface.{........pub
188e00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f lic.function.parse($uri).{.preg_
188e20 6d 61 74 63 68 28 27 7c 5e 28 28 5b 5e 3a 2f 3f 23 5d 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 match('|^(([^:/?#]+):)?(//([^/?#
188e40 5d 2a 29 29 3f 28 5b 5e 3f 23 5d 2a 29 28 5c 3f 28 5b 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 ]*))?([^?#]*)(\?([^#]*))?(#(.*))
188e60 3f 7c 27 2c 20 24 75 72 69 2c 20 24 6d 61 74 63 68 29 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 ?|',.$uri,.$match);..$components
188e80 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 35 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 .=.array();.if.(5.<.count($match
188ea0 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d )).{.$components.=.array(.'schem
188ec0 65 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 e'.=>.$match[2],.'authority'.=>.
188ee0 24 6d 61 74 63 68 5b 34 5d 2c 0a 27 70 61 74 68 27 20 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 $match[4],.'path'.=>.$match[5].)
188f00 3b 0a 7d 0a 69 66 20 28 37 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f ;.}.if.(7.<.count($match)).{.$co
188f20 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a 7d mponents['query'].=.$match[7];.}
188f40 0a 69 66 20 28 39 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f .if.(9.<.count($match)).{.$compo
188f60 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 3d 20 24 6d 61 74 63 68 5b 39 5d 3b 0a 7d nents['fragment'].=.$match[9];.}
188f80 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ..return.$components;.}.........
188fa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 61 72 72 61 79 20 24 public.function.generate(array.$
188fc0 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 7b 0a 24 75 72 69 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 components).{.$uri.=.$components
188fe0 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 ['scheme']...'://'...$components
189000 5b 27 61 75 74 68 6f 72 69 74 79 27 5d 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 ['authority']...$components['pat
189020 68 27 5d 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 71 75 65 72 h'];..if.(array_key_exists('quer
189040 79 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 26 26 20 73 74 72 6c 65 6e 28 24 63 6f 6d 70 y',.$components).&&.strlen($comp
189060 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 27 3f 27 20 onents['query'])).{.$uri..=.'?'.
189080 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 ..$components['query'];.}.if.(ar
1890a0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 66 72 61 67 6d 65 6e 74 27 2c 20 24 63 6f 6d 70 ray_key_exists('fragment',.$comp
1890c0 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 27 23 27 20 2e 20 24 63 6f 6d 70 6f 6e onents)).{.$uri..=.'#'...$compon
1890e0 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 ents['fragment'];.}..return.$uri
189100 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 ;.}.....public.function.resolve(
189120 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 0a $uri,.$baseUri.=.null).{...if.(.
189140 21 69 73 5f 6e 75 6c 6c 28 24 62 61 73 65 55 72 69 29 20 26 26 0a 21 66 69 6c 74 65 72 5f 76 61 !is_null($baseUri).&&.!filter_va
189160 72 28 24 62 61 73 65 55 72 69 2c 20 5c 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c r($baseUri,.\FILTER_VALIDATE_URL
189180 29 20 26 26 0a 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 5b 5e 2f 5d 2b 3a 2f 2f 7c 75 27 2c ).&&.!preg_match('|^[^/]+://|u',
1891a0 20 24 62 61 73 65 55 72 69 29 0a 29 20 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 62 61 73 65 .$baseUri).).{.if.(is_file($base
1891c0 55 72 69 29 29 20 7b 0a 24 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 Uri)).{.$baseUri.=.'file://'...r
1891e0 65 61 6c 70 61 74 68 28 24 62 61 73 65 55 72 69 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f ealpath($baseUri);.}.elseif.(is_
189200 64 69 72 28 24 62 61 73 65 55 72 69 29 29 20 7b 0a 24 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c dir($baseUri)).{.$baseUri.=.'fil
189220 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 24 62 61 73 65 55 72 69 29 20 2e 20 27 2f 27 e://'...realpath($baseUri)...'/'
189240 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 ;.}.else.{.$baseUri.=.'file://'.
189260 2e 20 67 65 74 63 77 64 28 29 20 2e 20 27 2f 27 20 2e 20 24 62 61 73 65 55 72 69 3b 0a 7d 0a 7d ..getcwd()...'/'...$baseUri;.}.}
189280 0a 0a 69 66 20 28 24 75 72 69 20 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 73 65 ..if.($uri.==.'').{.return.$base
1892a0 55 72 69 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 Uri;.}..$components.=.$this->par
1892c0 73 65 28 24 75 72 69 29 3b 0a 24 70 61 74 68 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 se($uri);.$path.=.$components['p
1892e0 61 74 68 27 5d 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 ath'];..if.(!empty($components['
189300 73 63 68 65 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 24 62 61 73 scheme'])).{.return.$uri;.}.$bas
189320 65 43 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 eComponents.=.$this->parse($base
189340 55 72 69 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 Uri);.$basePath.=.$baseComponent
189360 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 s['path'];..$baseComponents['pat
189380 68 27 5d 20 3d 20 73 65 6c 66 3a 3a 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 h'].=.self::combineRelativePathW
1893a0 69 74 68 42 61 73 65 50 61 74 68 28 24 70 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 69 ithBasePath($path,.$basePath);.i
1893c0 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d f.(isset($components['fragment']
1893e0 29 29 20 7b 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d )).{.$baseComponents['fragment']
189400 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 .=.$components['fragment'];.}..r
189420 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 62 61 73 65 43 6f 6d 70 6f eturn.$this->generate($baseCompo
189440 6e 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 nents);.}............public.stat
189460 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 ic.function.combineRelativePathW
189480 69 74 68 42 61 73 65 50 61 74 68 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 62 61 73 65 ithBasePath($relativePath,.$base
1894a0 50 61 74 68 29 0a 7b 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 73 65 6c 66 3a 3a 6e 6f Path).{.$relativePath.=.self::no
1894c0 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 29 3b 0a 69 66 20 28 rmalizePath($relativePath);.if.(
1894e0 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 $relativePath.==.'').{.return.$b
189500 61 73 65 50 61 74 68 3b 0a 7d 0a 69 66 20 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 5b 30 5d 20 asePath;.}.if.($relativePath[0].
189520 3d 3d 20 27 2f 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a ==.'/').{.return.$relativePath;.
189540 7d 0a 0a 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 }..$basePathSegments.=.explode('
189560 2f 27 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 2f /',.$basePath);..preg_match('|^/
189580 3f 28 5c 2e 5c 2e 2f 28 3f 3a 5c 2e 2f 29 2a 29 2a 7c 27 2c 20 24 72 65 6c 61 74 69 76 65 50 61 ?(\.\./(?:\./)*)*|',.$relativePa
1895a0 74 68 2c 20 24 6d 61 74 63 68 29 3b 0a 24 6e 75 6d 4c 65 76 65 6c 55 70 20 3d 20 73 74 72 6c 65 th,.$match);.$numLevelUp.=.strle
1895c0 6e 28 24 6d 61 74 63 68 5b 30 5d 29 20 2f 33 20 2b 20 31 3b 0a 69 66 20 28 24 6e 75 6d 4c 65 76 n($match[0])./3.+.1;.if.($numLev
1895e0 65 6c 55 70 20 3e 3d 20 63 6f 75 6e 74 28 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 29 elUp.>=.count($basePathSegments)
189600 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 ).{.throw.new.UriResolverExcepti
189620 6f 6e 28 73 70 72 69 6e 74 66 28 22 55 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 55 52 on(sprintf("Unable.to.resolve.UR
189640 49 20 27 25 73 27 20 66 72 6f 6d 20 62 61 73 65 20 27 25 73 27 22 2c 20 24 72 65 6c 61 74 69 76 I.'%s'.from.base.'%s'",.$relativ
189660 65 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 29 3b 0a 7d 0a 0a 24 62 61 73 65 50 61 74 68 ePath,.$basePath));.}..$basePath
189680 53 65 67 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 62 61 73 65 50 61 74 68 Segments.=.array_slice($basePath
1896a0 53 65 67 6d 65 6e 74 73 2c 20 30 2c 20 2d 24 6e 75 6d 4c 65 76 65 6c 55 70 29 3b 0a 24 70 61 74 Segments,.0,.-$numLevelUp);.$pat
1896c0 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 5e 2f 3f 28 5c 2e 5c 2e 2f 28 5c 2e 2f h.=.preg_replace('|^/?(\.\./(\./
1896e0 29 2a 29 2a 7c 27 2c 20 27 27 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 29 3b 0a 0a 72 65 74 )*)*|',.'',.$relativePath);..ret
189700 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e urn.implode('/',.$basePathSegmen
189720 74 73 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 ts)...'/'...$path;.}.........pri
189740 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 vate.static.function.normalizePa
189760 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 th($path).{.$path.=.preg_replace
189780 28 27 7c 28 28 3f 3c 21 5c 2e 29 5c 2e 2f 29 2a 7c 27 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a ('|((?<!\.)\./)*|',.'',.$path);.
1897a0 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 2f 2f 7c 27 2c 20 27 2f 27 $path.=.preg_replace('|//|',.'/'
1897c0 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a ,.$path);..return.$path;.}......
1897e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 24 75 72 69 29 0a 7b .public.function.isValid($uri).{
189800 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 .$components.=.$this->parse($uri
189820 29 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a );..return.!empty($components);.
189840 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e }.}.<?php.........namespace.Json
189860 53 63 68 65 6d 61 5c 55 72 69 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 Schema\Uri;..use.JsonSchema\Exce
189880 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 ption\InvalidSchemaMediaTypeExce
1898a0 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c ption;.use.JsonSchema\Exception\
1898c0 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 JsonDecodingException;.use.JsonS
1898e0 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 chema\Exception\ResourceNotFound
189900 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 Exception;.use.JsonSchema\Uri\Re
189920 74 72 69 65 76 65 72 73 5c 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 3b 0a 75 73 65 20 4a 73 trievers\FileGetContents;.use.Js
189940 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 5c 55 72 69 52 65 74 72 69 onSchema\Uri\Retrievers\UriRetri
189960 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 everInterface;.use.JsonSchema\Ur
189980 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 61 73 20 42 61 73 65 55 72 69 52 65 iRetrieverInterface.as.BaseUriRe
1899a0 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 trieverInterface;.use.JsonSchema
1899c0 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 69 52 65 74 72 69 \Validator;.......class.UriRetri
1899e0 65 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 42 61 73 65 55 72 69 52 65 74 72 69 65 76 65 72 ever.implements.BaseUriRetriever
189a00 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 6c Interface.{....protected.$transl
189a20 61 74 69 6f 6e 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 0a 20 27 7c 5e 68 74 74 70 73 3f 3a 2f 2f ationMap.=.array(...'|^https?://
189a40 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 28 30 5b 33 34 5d 29 2f 73 63 json-schema.org/draft-(0[34])/sc
189a60 68 65 6d 61 23 3f 7c 27 20 3d 3e 20 27 70 61 63 6b 61 67 65 3a 2f 2f 64 69 73 74 2f 73 63 68 65 hema#?|'.=>.'package://dist/sche
189a80 6d 61 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2d 64 72 61 66 74 2d 24 31 2e 6a 73 6f 6e 27 0a 29 3b ma/json-schema-draft-$1.json'.);
189aa0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e .....protected.$uriRetriever.=.n
189ac0 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 61 43 61 63 68 65 20 ull;.......private.$schemaCache.
189ae0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 =.array();..........public.funct
189b00 69 6f 6e 20 63 6f 6e 66 69 72 6d 4d 65 64 69 61 54 79 70 65 28 24 75 72 69 52 65 74 72 69 65 76 ion.confirmMediaType($uriRetriev
189b20 65 72 2c 20 24 75 72 69 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 24 75 72 69 52 er,.$uri).{.$contentType.=.$uriR
189b40 65 74 72 69 65 76 65 72 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 3b 0a 0a 69 66 20 etriever->getContentType();..if.
189b60 28 69 73 5f 6e 75 6c 6c 28 24 63 6f 6e 74 65 6e 74 54 79 70 65 29 29 20 7b 0a 0a 20 72 65 74 75 (is_null($contentType)).{...retu
189b80 72 6e 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 6f 6e 74 65 6e 74 54 79 70 65 rn;.}..if.(in_array($contentType
189ba0 2c 20 61 72 72 61 79 28 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f ,.array(Validator::SCHEMA_MEDIA_
189bc0 54 59 50 45 2c 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 29 29 20 7b 0a 72 65 TYPE,.'application/json'))).{.re
189be0 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 75 72 69 2c 20 30 2c 20 32 33 29 turn;.}..if.(substr($uri,.0,.23)
189c00 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 27 29 20 7b .==.'http://json-schema.org/').{
189c20 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 ...return.true;.}..throw.new.Inv
189c40 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 alidSchemaMediaTypeException(spr
189c60 69 6e 74 66 28 27 4d 65 64 69 61 20 74 79 70 65 20 25 73 20 65 78 70 65 63 74 65 64 27 2c 20 56 intf('Media.type.%s.expected',.V
189c80 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 29 3b 0a 7d alidator::SCHEMA_MEDIA_TYPE));.}
189ca0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 ..........public.function.getUri
189cc0 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 74 68 69 73 2d Retriever().{.if.(is_null($this-
189ce0 3e 75 72 69 52 65 74 72 69 65 76 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 55 72 69 52 >uriRetriever)).{.$this->setUriR
189d00 65 74 72 69 65 76 65 72 28 6e 65 77 20 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 28 29 29 3b etriever(new.FileGetContents());
189d20 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a .}..return.$this->uriRetriever;.
189d40 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e }................public.function
189d60 20 72 65 73 6f 6c 76 65 50 6f 69 6e 74 65 72 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2c 20 24 75 72 .resolvePointer($jsonSchema,.$ur
189d80 69 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 i).{.$resolver.=.new.UriResolver
189da0 28 29 3b 0a 24 70 61 72 73 65 64 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 70 61 72 73 65 28 24 ();.$parsed.=.$resolver->parse($
189dc0 75 72 69 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e uri);.if.(empty($parsed['fragmen
189de0 74 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 24 t'])).{.return.$jsonSchema;.}..$
189e00 70 61 74 68 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 72 73 65 64 5b 27 66 72 61 path.=.explode('/',.$parsed['fra
189e20 67 6d 65 6e 74 27 5d 29 3b 0a 77 68 69 6c 65 20 28 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 45 gment']);.while.($path).{.$pathE
189e40 6c 65 6d 65 6e 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 74 68 29 3b 0a 69 66 20 lement.=.array_shift($path);.if.
189e60 28 21 65 6d 70 74 79 28 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 70 61 74 68 45 6c (!empty($pathElement)).{.$pathEl
189e80 65 6d 65 6e 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7e 31 27 2c 20 27 2f 27 2c 20 24 ement.=.str_replace('~1',.'/',.$
189ea0 70 61 74 68 45 6c 65 6d 65 6e 74 29 3b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 73 74 72 pathElement);.$pathElement.=.str
189ec0 5f 72 65 70 6c 61 63 65 28 27 7e 30 27 2c 20 27 7e 27 2c 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 _replace('~0',.'~',.$pathElement
189ee0 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 24 70 61 74 68 );.if.(!empty($jsonSchema->$path
189f00 45 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 6a 73 6f 6e 53 Element)).{.$jsonSchema.=.$jsonS
189f20 63 68 65 6d 61 2d 3e 24 70 61 74 68 45 6c 65 6d 65 6e 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 chema->$pathElement;.}.else.{.th
189f40 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f row.new.ResourceNotFoundExceptio
189f60 6e 28 0a 27 46 72 61 67 6d 65 6e 74 20 22 27 20 2e 20 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d n(.'Fragment."'...$parsed['fragm
189f80 65 6e 74 27 5d 20 2e 20 27 22 20 6e 6f 74 20 66 6f 75 6e 64 27 0a 2e 20 27 20 69 6e 20 27 20 2e ent']...'".not.found'...'.in.'..
189fa0 20 24 75 72 69 0a 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 6a 73 6f 6e .$uri.);.}..if.(!is_object($json
189fc0 53 63 68 65 6d 61 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 Schema)).{.throw.new.ResourceNot
189fe0 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 72 61 67 6d 65 6e 74 20 70 61 72 74 20 22 FoundException(.'Fragment.part."
18a000 27 20 2e 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 2e 20 27 22 20 69 73 20 6e 6f 20 6f 62 6a 65 '...$pathElement...'".is.no.obje
18a020 63 74 20 27 0a 2e 20 27 20 69 6e 20 27 20 2e 20 24 75 72 69 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 ct.'...'.in.'...$uri.);.}.}.}..r
18a040 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 eturn.$jsonSchema;.}.....public.
18a060 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 function.retrieve($uri,.$baseUri
18a080 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 6c 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 .=.null,.$translate.=.true).{.$r
18a0a0 65 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 72 65 esolver.=.new.UriResolver();.$re
18a0c0 73 6f 6c 76 65 64 55 72 69 20 3d 20 24 66 65 74 63 68 55 72 69 20 3d 20 24 72 65 73 6f 6c 76 65 solvedUri.=.$fetchUri.=.$resolve
18a0e0 72 2d 3e 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 29 3b 0a 0a 0a 20 24 r->resolve($uri,.$baseUri);....$
18a100 61 72 50 61 72 74 73 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 70 61 72 73 65 28 24 72 65 73 6f arParts.=.$resolver->parse($reso
18a120 6c 76 65 64 55 72 69 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 72 50 61 72 74 73 5b 27 66 72 lvedUri);.if.(isset($arParts['fr
18a140 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 61 72 50 61 72 74 73 5b 27 66 72 61 agment'])).{.unset($arParts['fra
18a160 67 6d 65 6e 74 27 5d 29 3b 0a 24 66 65 74 63 68 55 72 69 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d gment']);.$fetchUri.=.$resolver-
18a180 3e 67 65 6e 65 72 61 74 65 28 24 61 72 50 61 72 74 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 >generate($arParts);.}....if.($t
18a1a0 72 61 6e 73 6c 61 74 65 29 20 7b 0a 24 66 65 74 63 68 55 72 69 20 3d 20 24 74 68 69 73 2d 3e 74 ranslate).{.$fetchUri.=.$this->t
18a1c0 72 61 6e 73 6c 61 74 65 28 24 66 65 74 63 68 55 72 69 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 53 63 68 ranslate($fetchUri);.}..$jsonSch
18a1e0 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 53 63 68 65 6d 61 28 24 66 65 74 63 68 55 72 ema.=.$this->loadSchema($fetchUr
18a200 69 29 3b 0a 0a 0a 20 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f i);....$jsonSchema.=.$this->reso
18a220 6c 76 65 50 6f 69 6e 74 65 72 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2c 20 24 72 65 73 6f 6c 76 65 lvePointer($jsonSchema,.$resolve
18a240 64 55 72 69 29 3b 0a 0a 69 66 20 28 24 6a 73 6f 6e 53 63 68 65 6d 61 20 69 6e 73 74 61 6e 63 65 dUri);..if.($jsonSchema.instance
18a260 6f 66 20 5c 73 74 64 43 6c 61 73 73 29 20 7b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 69 64 20 of.\stdClass).{.$jsonSchema->id.
18a280 3d 20 24 72 65 73 6f 6c 76 65 64 55 72 69 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 =.$resolvedUri;.}..return.$jsonS
18a2a0 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 chema;.}..........protected.func
18a2c0 74 69 6f 6e 20 6c 6f 61 64 53 63 68 65 6d 61 28 24 66 65 74 63 68 55 72 69 29 0a 7b 0a 69 66 20 tion.loadSchema($fetchUri).{.if.
18a2e0 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 (isset($this->schemaCache[$fetch
18a300 55 72 69 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 Uri])).{.return.$this->schemaCac
18a320 68 65 5b 24 66 65 74 63 68 55 72 69 5d 3b 0a 7d 0a 0a 24 75 72 69 52 65 74 72 69 65 76 65 72 20 he[$fetchUri];.}..$uriRetriever.
18a340 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 24 63 6f 6e =.$this->getUriRetriever();.$con
18a360 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 72 65 74 tents.=.$this->uriRetriever->ret
18a380 72 69 65 76 65 28 24 66 65 74 63 68 55 72 69 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 72 6d rieve($fetchUri);.$this->confirm
18a3a0 4d 65 64 69 61 54 79 70 65 28 24 75 72 69 52 65 74 72 69 65 76 65 72 2c 20 24 66 65 74 63 68 55 MediaType($uriRetriever,.$fetchU
18a3c0 72 69 29 3b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 ri);.$jsonSchema.=.json_decode($
18a3e0 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 69 66 20 28 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 contents);..if.(JSON_ERROR_NONE.
18a400 3c 20 24 65 72 72 6f 72 20 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a <.$error.=.json_last_error()).{.
18a420 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 throw.new.JsonDecodingException(
18a440 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 $error);.}..$this->schemaCache[$
18a460 66 65 74 63 68 55 72 69 5d 20 3d 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 72 65 74 75 72 6e fetchUri].=.$jsonSchema;..return
18a480 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$jsonSchema;.}.........public.f
18a4a0 75 6e 63 74 69 6f 6e 20 73 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 55 72 69 52 65 74 72 69 unction.setUriRetriever(UriRetri
18a4c0 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 69 52 65 74 72 69 65 76 65 72 29 0a 7b 0a 24 everInterface.$uriRetriever).{.$
18a4e0 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 this->uriRetriever.=.$uriRetriev
18a500 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 er;..return.$this;.}.........pub
18a520 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f lic.function.parse($uri).{.preg_
18a540 6d 61 74 63 68 28 27 7c 5e 28 28 5b 5e 3a 2f 3f 23 5d 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 match('|^(([^:/?#]+):)?(//([^/?#
18a560 5d 2a 29 29 3f 28 5b 5e 3f 23 5d 2a 29 28 5c 3f 28 5b 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 ]*))?([^?#]*)(\?([^#]*))?(#(.*))
18a580 3f 7c 27 2c 20 24 75 72 69 2c 20 24 6d 61 74 63 68 29 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 ?|',.$uri,.$match);..$components
18a5a0 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 35 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 .=.array();.if.(5.<.count($match
18a5c0 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d )).{.$components.=.array(.'schem
18a5e0 65 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 e'.=>.$match[2],.'authority'.=>.
18a600 24 6d 61 74 63 68 5b 34 5d 2c 0a 27 70 61 74 68 27 20 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 $match[4],.'path'.=>.$match[5].)
18a620 3b 0a 7d 0a 0a 69 66 20 28 37 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 ;.}..if.(7.<.count($match)).{.$c
18a640 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a omponents['query'].=.$match[7];.
18a660 7d 0a 0a 69 66 20 28 39 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d }..if.(9.<.count($match)).{.$com
18a680 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 3d 20 24 6d 61 74 63 68 5b 39 5d 3b ponents['fragment'].=.$match[9];
18a6a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .}..return.$components;.}.......
18a6c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 61 72 72 61 79 ..public.function.generate(array
18a6e0 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 7b 0a 24 75 72 69 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e .$components).{.$uri.=.$componen
18a700 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e ts['scheme']...'://'...$componen
18a720 74 73 5b 27 61 75 74 68 6f 72 69 74 79 27 5d 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 ts['authority']...$components['p
18a740 61 74 68 27 5d 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 71 75 ath'];..if.(array_key_exists('qu
18a760 65 72 79 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 24 63 ery',.$components)).{.$uri..=.$c
18a780 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 3b 0a 7d 0a 0a 69 66 20 28 61 72 72 61 79 omponents['query'];.}..if.(array
18a7a0 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 66 72 61 67 6d 65 6e 74 27 2c 20 24 63 6f 6d 70 6f 6e 65 _key_exists('fragment',.$compone
18a7c0 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 nts)).{.$uri..=.$components['fra
18a7e0 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 0a 0a 0a 0a gment'];.}..return.$uri;.}......
18a800 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 ....public.function.resolve($uri
18a820 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 ,.$baseUri.=.null).{.$components
18a840 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 24 70 61 74 68 20 3d 20 24 .=.$this->parse($uri);.$path.=.$
18a860 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 28 28 61 72 72 61 79 5f components['path'];..if.((array_
18a880 6b 65 79 5f 65 78 69 73 74 73 28 27 73 63 68 65 6d 65 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 key_exists('scheme',.$components
18a8a0 29 29 20 26 26 20 28 27 68 74 74 70 27 20 3d 3d 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 )).&&.('http'.===.$components['s
18a8c0 63 68 65 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 24 62 61 73 cheme'])).{.return.$uri;.}..$bas
18a8e0 65 43 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 eComponents.=.$this->parse($base
18a900 55 72 69 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 Uri);.$basePath.=.$baseComponent
18a920 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 s['path'];..$baseComponents['pat
18a940 68 27 5d 20 3d 20 55 72 69 52 65 73 6f 6c 76 65 72 3a 3a 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 h'].=.UriResolver::combineRelati
18a960 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 74 68 28 24 70 61 74 68 2c 20 24 62 61 73 65 50 vePathWithBasePath($path,.$baseP
18a980 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 62 ath);..return.$this->generate($b
18a9a0 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 aseComponents);.}.......public.f
18a9c0 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 24 75 72 69 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 unction.isValid($uri).{.$compone
18a9e0 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 nts.=.$this->parse($uri);..retur
18aa00 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 n.!empty($components);.}.....pub
18aa20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 6c 61 74 69 6f 6e 28 24 66 72 6f lic.function.setTranslation($fro
18aa40 6d 2c 20 24 74 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 5b m,.$to).{.$this->translationMap[
18aa60 24 66 72 6f 6d 5d 20 3d 20 24 74 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $from].=.$to;.}.....public.funct
18aa80 69 6f 6e 20 74 72 61 6e 73 6c 61 74 65 28 24 75 72 69 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 ion.translate($uri).{.foreach.($
18aaa0 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 20 61 73 20 24 66 72 6f 6d 20 3d 3e this->translationMap.as.$from.=>
18aac0 20 24 74 6f 29 20 7b 0a 24 75 72 69 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 24 66 72 6f .$to).{.$uri.=.preg_replace($fro
18aae0 6d 2c 20 24 74 6f 2c 20 24 75 72 69 29 3b 0a 7d 0a 0a 0a 20 24 75 72 69 20 3d 20 70 72 65 67 5f m,.$to,.$uri);.}....$uri.=.preg_
18ab00 72 65 70 6c 61 63 65 28 27 7c 5e 70 61 63 6b 61 67 65 3a 2f 2f 7c 27 2c 20 73 70 72 69 6e 74 66 replace('|^package://|',.sprintf
18ab20 28 27 66 69 6c 65 3a 2f 2f 25 73 2f 27 2c 20 72 65 61 6c 70 61 74 68 28 5f 5f 44 49 52 5f 5f 20 ('file://%s/',.realpath(__DIR__.
18ab40 2e 20 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 27 29 29 2c 20 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 ..'/../../..')),.$uri);..return.
18ab60 24 75 72 69 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 $uri;.}.}.<?php.........namespac
18ab80 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 e.JsonSchema;.....interface.UriR
18aba0 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 esolverInterface.{.........publi
18abc0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 c.function.resolve($uri,.$baseUr
18abe0 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 i.=.null);.}.<?php.........names
18ac00 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 pace.JsonSchema;.....interface.U
18ac20 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 riRetrieverInterface.{.........p
18ac40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 2c 20 24 62 ublic.function.retrieve($uri,.$b
18ac60 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a aseUri.=.null);.}.<?php.........
18ac80 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 namespace.JsonSchema;..use.JsonS
18aca0 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 chema\Constraints\BaseConstraint
18acc0 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6e ;.use.JsonSchema\Constraints\Con
18ace0 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 6f straint;..........class.Validato
18ad00 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 63 6f 6e 73 74 r.extends.BaseConstraint.{.const
18ad20 20 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f .SCHEMA_MEDIA_TYPE.=.'applicatio
18ad40 6e 2f 73 63 68 65 6d 61 2b 6a 73 6f 6e 27 3b 0a 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 4e 4f 4e n/schema+json';..const.ERROR_NON
18ad60 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 41 4c 4c 20 E.=.0x00000000;.const.ERROR_ALL.
18ad80 3d 20 30 78 46 46 46 46 46 46 46 46 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 44 4f 43 55 4d 45 =.0xFFFFFFFF;.const.ERROR_DOCUME
18ada0 4e 54 5f 56 41 4c 49 44 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 3b 0a 63 6f 6e 73 NT_VALIDATION.=.0x00000001;.cons
18adc0 74 20 45 52 52 4f 52 5f 53 43 48 45 4d 41 5f 56 41 4c 49 44 41 54 49 4f 4e 20 3d 20 30 78 30 30 t.ERROR_SCHEMA_VALIDATION.=.0x00
18ade0 30 30 30 30 30 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 000002;...........public.functio
18ae00 6e 20 76 61 6c 69 64 61 74 65 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 n.validate(&$value,.$schema.=.nu
18ae20 6c 6c 2c 20 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 ll,.$checkMode.=.null).{...if.(i
18ae40 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 24 73 63 68 65 6d 61 20 3d 20 73 65 s_array($schema)).{.$schema.=.se
18ae60 6c 66 3a 3a 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 73 63 68 65 lf::arrayToObjectRecursive($sche
18ae80 6d 61 29 3b 0a 7d 0a 0a 0a 20 24 69 6e 69 74 69 61 6c 43 68 65 63 6b 4d 6f 64 65 20 3d 20 24 74 ma);.}....$initialCheckMode.=.$t
18aea0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 24 his->factory->getConfig();.if.($
18aec0 63 68 65 63 6b 4d 6f 64 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 63 checkMode.!==.null).{.$this->fac
18aee0 74 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 7d 0a 0a tory->setConfig($checkMode);.}..
18af00 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 ..if.(is_object($schema).&&.prop
18af20 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 29 20 7b 0a 24 73 erty_exists($schema,.'id')).{.$s
18af40 63 68 65 6d 61 55 52 49 20 3d 20 24 73 63 68 65 6d 61 2d 3e 69 64 3b 0a 7d 20 65 6c 73 65 20 7b chemaURI.=.$schema->id;.}.else.{
18af60 0a 24 73 63 68 65 6d 61 55 52 49 20 3d 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 3a 3a 49 4e 54 .$schemaURI.=.SchemaStorage::INT
18af80 45 52 4e 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 3b 0a 7d 0a 24 74 68 ERNAL_PROVIDED_SCHEMA_URI;.}.$th
18afa0 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d is->factory->getSchemaStorage()-
18afc0 3e 61 64 64 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 55 52 49 2c 20 24 73 63 68 65 6d 61 29 3b >addSchema($schemaURI,.$schema);
18afe0 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 ..$validator.=.$this->factory->c
18b000 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 73 63 68 65 6d 61 27 29 3b 0a 24 76 61 6c reateInstanceFor('schema');.$val
18b020 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 0a 24 76 61 6c 75 65 2c 0a 24 74 68 69 73 2d 3e 66 61 idator->check(.$value,.$this->fa
18b040 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 67 65 74 53 63 ctory->getSchemaStorage()->getSc
18b060 68 65 6d 61 28 24 73 63 68 65 6d 61 55 52 49 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 61 63 74 hema($schemaURI).);..$this->fact
18b080 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 69 6e 69 74 69 61 6c 43 68 65 63 6b 4d 6f 64 65 ory->setConfig($initialCheckMode
18b0a0 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 5f 75 6e 69 71 75 );..$this->addErrors(array_uniqu
18b0c0 65 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 2c 20 53 4f 52 54 5f e($validator->getErrors(),.SORT_
18b0e0 52 45 47 55 4c 41 52 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 REGULAR));..return.$validator->g
18b100 65 74 45 72 72 6f 72 4d 61 73 6b 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 etErrorMask();.}.....public.func
18b120 74 69 6f 6e 20 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 29 0a 7b 0a 72 65 tion.check($value,.$schema).{.re
18b140 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 24 76 61 6c 75 65 2c 20 24 73 63 turn.$this->validate($value,.$sc
18b160 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 65 hema);.}.....public.function.coe
18b180 72 63 65 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 29 0a 7b 0a 72 65 74 75 72 6e 20 24 rce(&$value,.$schema).{.return.$
18b1a0 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 this->validate($value,.$schema,.
18b1c0 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 43 4f 45 52 43 45 5f 54 59 Constraint::CHECK_MODE_COERCE_TY
18b1e0 50 45 53 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 43 6f 6d PES);.}.}.Copyright.(C).2015.Com
18b200 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e poser..Permission.is.hereby.gran
18b220 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 ted,.free.of.charge,.to.any.pers
18b240 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 on.obtaining.a.copy.of.this.soft
18b260 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f ware.and.associated.documentatio
18b280 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 n.files.(the."Software"),.to.dea
18b2a0 6c 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 l.in.the.Software.without.restri
18b2c0 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 ction,.including.without.limitat
18b2e0 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 ion.the.rights.to.use,.copy,.mod
18b300 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c ify,.merge,.publish,.distribute,
18b320 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a .sublicense,.and/or.sell.copies.
18b340 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 of.the.Software,.and.to.permit.p
18b360 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 ersons.to.whom.the.Software.is.f
18b380 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 urnished.to.do.so,.subject.to.th
18b3a0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f e.following.conditions:..The.abo
18b3c0 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 ve.copyright.notice.and.this.per
18b3e0 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 mission.notice.shall.be.included
18b400 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f .in.all.copies.or.substantial.po
18b420 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 rtions.of.the.Software...THE.SOF
18b440 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f TWARE.IS.PROVIDED."AS.IS",.WITHO
18b460 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 UT.WARRANTY.OF.ANY.KIND,.EXPRESS
18b480 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c .OR.IMPLIED,.INCLUDING.BUT.NOT.L
18b4a0 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 IMITED.TO.THE.WARRANTIES.OF.MERC
18b4c0 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 HANTABILITY,.FITNESS.FOR.A.PARTI
18b4e0 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e CULAR.PURPOSE.AND.NONINFRINGEMEN
18b500 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 T..IN.NO.EVENT.SHALL.THE.AUTHORS
18b520 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 .OR.COPYRIGHT.HOLDERS.BE.LIABLE.
18b540 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a FOR.ANY.CLAIM,.DAMAGES.OR.OTHER.
18b560 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 LIABILITY,.WHETHER.IN.AN.ACTION.
18b580 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 OF.CONTRACT,.TORT.OR.OTHERWISE,.
18b5a0 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 ARISING.FROM,.OUT.OF.OR.IN.CONNE
18b5c0 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 CTION.WITH.THE.SOFTWARE.OR.THE.U
18b5e0 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 SE.OR.OTHER.DEALINGS.IN.THE.SOFT
18b600 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 WARE..<?php...........namespace.
18b620 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 3b 0a 0a 63 6c 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 Composer\Spdx;..class.SpdxLicens
18b640 65 73 0a 7b 0a 0a 63 6f 6e 73 74 20 4c 49 43 45 4e 53 45 53 5f 46 49 4c 45 20 3d 20 27 73 70 64 es.{..const.LICENSES_FILE.=.'spd
18b660 78 2d 6c 69 63 65 6e 73 65 73 2e 6a 73 6f 6e 27 3b 0a 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 x-licenses.json';...const.EXCEPT
18b680 49 4f 4e 53 5f 46 49 4c 45 20 3d 20 27 73 70 64 78 2d 65 78 63 65 70 74 69 6f 6e 73 2e 6a 73 6f IONS_FILE.=.'spdx-exceptions.jso
18b6a0 6e 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c 69 63 65 6e n';...............private.$licen
18b6c0 73 65 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 ses;.....private.$licensesExpres
18b6e0 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 78 63 sion;...............private.$exc
18b700 65 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 73 eptions;.....private.$exceptions
18b720 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 Expression;..public.function.__c
18b740 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 4c 69 63 65 6e 73 65 73 onstruct().{.$this->loadLicenses
18b760 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 45 78 63 65 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a ();.$this->loadExceptions();.}..
18b780 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c ............public.function.getL
18b7a0 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a icenseByIdentifier($identifier).
18b7c0 7b 0a 24 6b 65 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 {.$key.=.strtolower($identifier)
18b7e0 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 24 6b ;..if.(!isset($this->licenses[$k
18b800 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 6c 69 73 74 28 24 69 64 65 6e 74 69 66 ey])).{.return;.}..list($identif
18b820 69 65 72 2c 20 24 6e 61 6d 65 2c 20 24 69 73 4f 73 69 41 70 70 72 6f 76 65 64 2c 20 24 69 73 44 ier,.$name,.$isOsiApproved,.$isD
18b840 65 70 72 65 63 61 74 65 64 4c 69 63 65 6e 73 65 49 64 29 20 3d 20 24 74 68 69 73 2d 3e 6c 69 63 eprecatedLicenseId).=.$this->lic
18b860 65 6e 73 65 73 5b 24 6b 65 79 5d 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6e 61 6d enses[$key];..return.array(.$nam
18b880 65 2c 0a 24 69 73 4f 73 69 41 70 70 72 6f 76 65 64 2c 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 78 e,.$isOsiApproved,.'https://spdx
18b8a0 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 .org/licenses/'...$identifier...
18b8c0 27 2e 68 74 6d 6c 23 6c 69 63 65 6e 73 65 54 65 78 74 27 2c 0a 24 69 73 44 65 70 72 65 63 61 74 '.html#licenseText',.$isDeprecat
18b8e0 65 64 4c 69 63 65 6e 73 65 49 64 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 edLicenseId,.);.}.......public.f
18b900 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.getLicenses().{.return.$
18b920 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 this->licenses;.}..............p
18b940 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 42 79 49 64 65 ublic.function.getExceptionByIde
18b960 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6b 65 79 20 3d 20 73 74 ntifier($identifier).{.$key.=.st
18b980 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 69 73 73 rtolower($identifier);..if.(!iss
18b9a0 65 74 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 et($this->exceptions[$key])).{.r
18b9c0 65 74 75 72 6e 3b 0a 7d 0a 0a 6c 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6e 61 6d eturn;.}..list($identifier,.$nam
18b9e0 65 29 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 5b 24 6b 65 79 5d 3b 0a 0a 72 e).=.$this->exceptions[$key];..r
18ba00 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 2c 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 eturn.array(.$name,.'https://spd
18ba20 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e x.org/licenses/'...$identifier..
18ba40 20 27 2e 68 74 6d 6c 23 6c 69 63 65 6e 73 65 45 78 63 65 70 74 69 6f 6e 54 65 78 74 27 2c 0a 29 .'.html#licenseExceptionText',.)
18ba60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 ;.}.........public.function.getI
18ba80 64 65 6e 74 69 66 69 65 72 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 66 6f 72 65 61 63 68 dentifierByName($name).{.foreach
18baa0 20 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 44 61 74 .($this->licenses.as.$licenseDat
18bac0 61 29 20 7b 0a 69 66 20 28 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 31 5d 20 3d 3d 3d 20 24 6e 61 a).{.if.($licenseData[1].===.$na
18bae0 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 30 5d 3b 0a 7d 0a me).{.return.$licenseData[0];.}.
18bb00 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 20 61 73 }..foreach.($this->exceptions.as
18bb20 20 24 6c 69 63 65 6e 73 65 44 61 74 61 29 20 7b 0a 69 66 20 28 24 6c 69 63 65 6e 73 65 44 61 74 .$licenseData).{.if.($licenseDat
18bb40 61 5b 31 5d 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 63 65 6e 73 a[1].===.$name).{.return.$licens
18bb60 65 44 61 74 61 5b 30 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 eData[0];.}.}.}.........public.f
18bb80 75 6e 63 74 69 6f 6e 20 69 73 4f 73 69 41 70 70 72 6f 76 65 64 42 79 49 64 65 6e 74 69 66 69 65 unction.isOsiApprovedByIdentifie
18bba0 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c r($identifier).{.return.$this->l
18bbc0 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d icenses[strtolower($identifier)]
18bbe0 5b 32 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 [2];.}.........public.function.i
18bc00 73 44 65 70 72 65 63 61 74 65 64 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 sDeprecatedByIdentifier($identif
18bc20 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 ier).{.return.$this->licenses[st
18bc40 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 5b 33 5d 3b 0a 7d 0a 0a 0a 0a rtolower($identifier)][3];.}....
18bc60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 6c .....public.function.validate($l
18bc80 69 63 65 6e 73 65 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6c 69 63 65 6e 73 65 29 icense).{.if.(is_array($license)
18bca0 29 20 7b 0a 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 ).{.$count.=.count($license);.if
18bcc0 20 28 24 63 6f 75 6e 74 20 21 3d 3d 20 63 6f 75 6e 74 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 .($count.!==.count(array_filter(
18bce0 24 6c 69 63 65 6e 73 65 2c 20 27 69 73 5f 73 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 68 72 6f 77 $license,.'is_string'))).{.throw
18bd00 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 .new.\InvalidArgumentException('
18bd20 41 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 20 65 78 70 65 63 74 65 64 2e 27 29 3b 0a 7d 0a Array.of.strings.expected.');.}.
18bd40 24 6c 69 63 65 6e 73 65 20 3d 20 24 63 6f 75 6e 74 20 3e 20 31 20 3f 20 27 28 27 20 2e 20 69 6d $license.=.$count.>.1.?.'('...im
18bd60 70 6c 6f 64 65 28 27 20 4f 52 20 27 2c 20 24 6c 69 63 65 6e 73 65 29 20 2e 20 27 29 27 20 3a 20 plode('.OR.',.$license)...')'.:.
18bd80 28 73 74 72 69 6e 67 29 20 72 65 73 65 74 28 24 6c 69 63 65 6e 73 65 29 3b 0a 7d 0a 0a 69 66 20 (string).reset($license);.}..if.
18bda0 28 21 69 73 5f 73 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e (!is_string($license)).{.throw.n
18bdc0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ew.\InvalidArgumentException(spr
18bde0 69 6e 74 66 28 0a 27 41 72 72 61 79 20 6f 72 20 53 74 72 69 6e 67 20 65 78 70 65 63 74 65 64 2c intf(.'Array.or.String.expected,
18be00 20 25 73 20 67 69 76 65 6e 2e 27 2c 0a 67 65 74 74 79 70 65 28 24 6c 69 63 65 6e 73 65 29 0a 29 .%s.given.',.gettype($license).)
18be20 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 69 64 4c 69 63 65 6e );.}..return.$this->isValidLicen
18be40 73 65 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 seString($license);.}.....public
18be60 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 .static.function.getResourcesDir
18be80 28 29 0a 7b 0a 72 65 74 75 72 6e 20 64 69 72 6e 61 6d 65 28 5f 5f 44 49 52 5f 5f 29 20 2e 20 27 ().{.return.dirname(__DIR__)...'
18bea0 2f 72 65 73 27 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 4c /res';.}..private.function.loadL
18bec0 69 63 65 6e 73 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e icenses().{.if.(null.!==.$this->
18bee0 6c 69 63 65 6e 73 65 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 licenses).{.return;.}..$json.=.f
18bf00 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 67 65 74 52 65 73 6f 75 72 ile_get_contents(self::getResour
18bf20 63 65 73 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 73 65 6c 66 3a 3a 4c 49 43 45 4e 53 45 53 5f cesDir()...'/'...self::LICENSES_
18bf40 46 49 4c 45 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 20 3d 20 61 72 72 61 79 28 29 FILE);.$this->licenses.=.array()
18bf60 3b 0a 0a 66 6f 72 65 61 63 68 20 28 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 ;..foreach.(json_decode($json,.t
18bf80 72 75 65 29 20 61 73 20 24 69 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 rue).as.$identifier.=>.$license)
18bfa0 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 .{.$this->licenses[strtolower($i
18bfc0 64 65 6e 74 69 66 69 65 72 29 5d 20 3d 20 61 72 72 61 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c dentifier)].=.array($identifier,
18bfe0 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 65 6e 73 65 5b 31 5d 2c 20 24 6c 69 63 65 .$license[0],.$license[1],.$lice
18c000 6e 73 65 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c nse[2]);.}.}..private.function.l
18c020 6f 61 64 45 78 63 65 70 74 69 6f 6e 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 oadExceptions().{.if.(null.!==.$
18c040 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 this->exceptions).{.return;.}..$
18c060 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 67 json.=.file_get_contents(self::g
18c080 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 73 65 6c 66 3a 3a 45 etResourcesDir()...'/'...self::E
18c0a0 58 43 45 50 54 49 4f 4e 53 5f 46 49 4c 45 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f XCEPTIONS_FILE);.$this->exceptio
18c0c0 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 6a 73 6f 6e 5f 64 65 63 ns.=.array();..foreach.(json_dec
18c0e0 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 20 61 73 20 24 69 64 65 6e 74 69 66 69 65 72 20 ode($json,.true).as.$identifier.
18c100 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f =>.$exception).{.$this->exceptio
18c120 6e 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 20 3d 20 61 72 ns[strtolower($identifier)].=.ar
18c140 72 61 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 5b 30 5d 29 3b ray($identifier,.$exception[0]);
18c160 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 .}.}.....private.function.getLic
18c180 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d ensesExpression().{.if.(null.===
18c1a0 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 29 20 7b 0a 24 6c .$this->licensesExpression).{.$l
18c1c0 69 63 65 6e 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 icenses.=.array_map('preg_quote'
18c1e0 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 29 29 3b 0a ,.array_keys($this->licenses));.
18c200 72 73 6f 72 74 28 24 6c 69 63 65 6e 73 65 73 29 3b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 69 6d rsort($licenses);.$licenses.=.im
18c220 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6c 69 63 65 6e 73 65 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 plode('|',.$licenses);.$this->li
18c240 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 24 6c 69 63 65 6e 73 65 73 3b 0a 7d 0a censesExpression.=.$licenses;.}.
18c260 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f .return.$this->licensesExpressio
18c280 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 63 n;.}.....private.function.getExc
18c2a0 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d eptionsExpression().{.if.(null.=
18c2c0 3d 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 29 20 ==.$this->exceptionsExpression).
18c2e0 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f {.$exceptions.=.array_map('preg_
18c300 71 75 6f 74 65 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 quote',.array_keys($this->except
18c320 69 6f 6e 73 29 29 3b 0a 72 73 6f 72 74 28 24 65 78 63 65 70 74 69 6f 6e 73 29 3b 0a 24 65 78 63 ions));.rsort($exceptions);.$exc
18c340 65 70 74 69 6f 6e 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 65 78 63 65 70 74 69 6f eptions.=.implode('|',.$exceptio
18c360 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e ns);.$this->exceptionsExpression
18c380 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .=.$exceptions;.}..return.$this-
18c3a0 3e 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a >exceptionsExpression;.}........
18c3c0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 .private.function.isValidLicense
18c3e0 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 String($license).{.if.(isset($th
18c400 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6c 69 63 65 6e 73 65 is->licenses[strtolower($license
18c420 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 73 )])).{.return.true;.}..$licenses
18c440 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 28 .=.$this->getLicensesExpression(
18c460 29 3b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 63 65 70 );.$exceptions.=.$this->getExcep
18c480 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 28 29 3b 0a 0a 24 72 65 67 65 78 20 3d 20 3c 3c 3c tionsExpression();..$regex.=.<<<
18c4a0 52 45 47 45 58 0a 7b 0a 28 3f 28 44 45 46 49 4e 45 29 0a 20 20 20 20 23 20 69 64 73 74 72 69 6e REGEX.{.(?(DEFINE).....#.idstrin
18c4c0 67 3a 20 31 2a 28 20 41 4c 50 48 41 20 2f 20 44 49 47 49 54 20 2f 20 2d 20 2f 20 2e 20 29 0a 20 g:.1*(.ALPHA./.DIGIT./.-./...)..
18c4e0 20 20 20 28 3f 3c 69 64 73 74 72 69 6e 67 3e 5b 5c 70 4c 5c 70 4e 2e 2d 5d 7b 31 2c 7d 29 0a 0a ...(?<idstring>[\pL\pN.-]{1,})..
18c500 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 69 64 3a 20 74 61 6b 65 6e 20 66 72 6f 6d 20 6c 69 73 ....#.license-id:.taken.from.lis
18c520 74 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 69 64 3e 24 7b 6c 69 63 65 6e 73 65 73 7d 29 0a t.....(?<licenseid>${licenses}).
18c540 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 65 78 63 65 70 74 69 6f 6e 2d 69 64 3a 20 74 61 6b .....#.license-exception-id:.tak
18c560 65 6e 20 66 72 6f 6d 20 6c 69 73 74 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 65 78 63 65 70 en.from.list.....(?<licenseexcep
18c580 74 69 6f 6e 69 64 3e 24 7b 65 78 63 65 70 74 69 6f 6e 73 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 tionid>${exceptions})......#.lic
18c5a0 65 6e 73 65 2d 72 65 66 3a 20 5b 44 6f 63 75 6d 65 6e 74 52 65 66 2d 31 2a 28 69 64 73 74 72 69 ense-ref:.[DocumentRef-1*(idstri
18c5c0 6e 67 29 3a 5d 4c 69 63 65 6e 73 65 52 65 66 2d 31 2a 28 69 64 73 74 72 69 6e 67 29 0a 20 20 20 ng):]LicenseRef-1*(idstring)....
18c5e0 20 28 3f 3c 6c 69 63 65 6e 73 65 72 65 66 3e 28 3f 3a 44 6f 63 75 6d 65 6e 74 52 65 66 2d 28 3f .(?<licenseref>(?:DocumentRef-(?
18c600 26 69 64 73 74 72 69 6e 67 29 3a 29 3f 4c 69 63 65 6e 73 65 52 65 66 2d 28 3f 26 69 64 73 74 72 &idstring):)?LicenseRef-(?&idstr
18c620 69 6e 67 29 29 0a 0a 20 20 20 20 23 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 73 69 6f 6e 3a ing))......#.simple-expresssion:
18c640 20 6c 69 63 65 6e 73 65 2d 69 64 20 2f 20 6c 69 63 65 6e 73 65 2d 69 64 2b 20 2f 20 6c 69 63 65 .license-id./.license-id+./.lice
18c660 6e 73 65 2d 72 65 66 0a 20 20 20 20 28 3f 3c 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e nse-ref.....(?<simple_expression
18c680 3e 28 3f 26 6c 69 63 65 6e 73 65 69 64 29 5c 2b 3f 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 69 64 >(?&licenseid)\+?.|.(?&licenseid
18c6a0 29 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 72 65 66 29 29 0a 0a 20 20 20 20 23 20 63 6f 6d 70 6f ).|.(?&licenseref))......#.compo
18c6c0 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 3a 20 31 2a 28 0a 20 20 20 20 23 20 20 20 73 69 6d 70 und-expression:.1*(.....#...simp
18c6e0 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 0a 20 20 20 20 23 20 20 20 73 69 6d 70 6c 65 2d 65 le-expression./.....#...simple-e
18c700 78 70 72 65 73 73 69 6f 6e 20 57 49 54 48 20 6c 69 63 65 6e 73 65 2d 65 78 63 65 70 74 69 6f 6e xpression.WITH.license-exception
18c720 2d 69 64 20 2f 0a 20 20 20 20 23 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f -id./.....#...compound-expressio
18c740 6e 20 41 4e 44 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 0a 20 20 20 20 n.AND.compound-expression./.....
18c760 23 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 4f 52 20 63 6f 6d 70 6f #...compound-expression.OR.compo
18c780 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 23 20 29 20 2f 20 28 20 63 6f 6d 70 6f und-expression.....#.)./.(.compo
18c7a0 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 29 20 29 0a 20 20 20 20 28 3f 3c 63 6f 6d 70 6f 75 und-expression.).).....(?<compou
18c7c0 6e 64 5f 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 28 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 65 nd_head>.........(?&simple_expre
18c7e0 73 73 69 6f 6e 29 20 28 20 5c 73 2b 20 57 49 54 48 20 5c 73 2b 20 28 3f 26 6c 69 63 65 6e 73 65 ssion).(.\s+.WITH.\s+.(?&license
18c800 65 78 63 65 70 74 69 6f 6e 69 64 29 29 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 5c 28 20 exceptionid))?.............|.\(.
18c820 5c 73 2a 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 5c 73 2a 20 \s*.(?&compound_expression).\s*.
18c840 5c 29 0a 20 20 20 20 29 0a 20 20 20 20 28 3f 3c 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 \).....).....(?<compound_express
18c860 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 68 65 61 64 29 20 28 ion>.........(?&compound_head).(
18c880 3f 3a 20 5c 73 2b 20 28 3f 3a 41 4e 44 7c 4f 52 29 20 5c 73 2b 20 28 3f 26 63 6f 6d 70 6f 75 6e ?:.\s+.(?:AND|OR).\s+.(?&compoun
18c8a0 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 3f 0a 20 20 20 20 29 0a 0a 20 20 20 20 23 20 6c 69 63 d_expression))?.....)......#.lic
18c8c0 65 6e 73 65 2d 65 78 70 72 65 73 73 69 6f 6e 3a 20 31 2a 31 28 73 69 6d 70 6c 65 2d 65 78 70 72 ense-expression:.1*1(simple-expr
18c8e0 65 73 73 69 6f 6e 20 2f 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 29 0a 20 20 ession./.compound-expression)...
18c900 20 20 28 3f 3c 6c 69 63 65 6e 73 65 5f 65 78 70 72 65 73 73 69 6f 6e 3e 28 3f 26 63 6f 6d 70 6f ..(?<license_expression>(?&compo
18c920 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 7c 20 28 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 und_expression).|.(?&simple_expr
18c940 65 73 73 69 6f 6e 29 29 0a 29 20 23 20 65 6e 64 20 6f 66 20 64 65 66 69 6e 65 0a 0a 5e 28 4e 4f ession)).).#.end.of.define..^(NO
18c960 4e 45 20 7c 20 4e 4f 41 53 53 45 52 54 49 4f 4e 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 5f 65 78 NE.|.NOASSERTION.|.(?&license_ex
18c980 70 72 65 73 73 69 6f 6e 29 29 24 0a 7d 78 69 0a 52 45 47 45 58 3b 0a 0a 24 6d 61 74 63 68 20 3d pression))$.}xi.REGEX;..$match.=
18c9a0 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a 0a .preg_match($regex,.$license);..
18c9c0 69 66 20 28 30 20 3d 3d 3d 20 24 6d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 if.(0.===.$match).{.return.false
18c9e0 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6d 61 74 63 68 29 20 7b 0a 74 68 72 ;.}..if.(false.===.$match).{.thr
18ca00 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 67 65 78 20 ow.new.\RuntimeException('Regex.
18ca20 66 61 69 6c 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 2f 72 75 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 74 failed.to.compile/run.');.}..ret
18ca40 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 urn.true;.}.}.Copyright.(C).2015
18ca60 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 .Composer..Permission.is.hereby.
18ca80 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 granted,.free.of.charge,.to.any.
18caa0 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 person.obtaining.a.copy.of.this.
18cac0 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 software.and.associated.document
18cae0 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f ation.files.(the."Software"),.to
18cb00 20 64 65 61 6c 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 .deal.in.the.Software.without.re
18cb20 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d striction,.including.without.lim
18cb40 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c itation.the.rights.to.use,.copy,
18cb60 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 .modify,.merge,.publish,.distrib
18cb80 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 ute,.sublicense,.and/or.sell.cop
18cba0 69 65 73 0a 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d ies.of.the.Software,.and.to.perm
18cbc0 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 it.persons.to.whom.the.Software.
18cbe0 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 is.furnished.to.do.so,.subject.t
18cc00 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 o.the.following.conditions:..The
18cc20 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 .above.copyright.notice.and.this
18cc40 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c .permission.notice.shall.be.incl
18cc60 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 uded.in.all.copies.or.substantia
18cc80 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 l.portions.of.the.Software...THE
18cca0 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 .SOFTWARE.IS.PROVIDED."AS.IS",.W
18ccc0 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 ITHOUT.WARRANTY.OF.ANY.KIND,.EXP
18cce0 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e RESS.OR.IMPLIED,.INCLUDING.BUT.N
18cd00 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 OT.LIMITED.TO.THE.WARRANTIES.OF.
18cd20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 MERCHANTABILITY,.FITNESS.FOR.A.P
18cd40 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 ARTICULAR.PURPOSE.AND.NONINFRING
18cd60 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 EMENT..IN.NO.EVENT.SHALL.THE.AUT
18cd80 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 HORS.OR.COPYRIGHT.HOLDERS.BE.LIA
18cda0 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 BLE.FOR.ANY.CLAIM,.DAMAGES.OR.OT
18cdc0 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 HER.LIABILITY,.WHETHER.IN.AN.ACT
18cde0 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 ION.OF.CONTRACT,.TORT.OR.OTHERWI
18ce00 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 SE,.ARISING.FROM,.OUT.OF.OR.IN.C
18ce20 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 ONNECTION.WITH.THE.SOFTWARE.OR.T
18ce40 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a HE.USE.OR.OTHER.DEALINGS.IN.THE.
18ce60 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 SOFTWARE..<?php...........namesp
18ce80 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ace.Composer\Semver;..use.Compos
18cea0 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b er\Semver\Constraint\Constraint;
18cec0 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ..class.Comparator.{.........pub
18cee0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 72 65 61 74 65 72 54 68 61 6e 28 lic.static.function.greaterThan(
18cf00 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 $version1,.$version2).{.return.s
18cf20 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3e 27 2c 20 24 76 65 elf::compare($version1,.'>',.$ve
18cf40 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 rsion2);.}..........public.stati
18cf60 63 20 66 75 6e 63 74 69 6f 6e 20 67 72 65 61 74 65 72 54 68 61 6e 4f 72 45 71 75 61 6c 54 6f 28 c.function.greaterThanOrEqualTo(
18cf80 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 $version1,.$version2).{.return.s
18cfa0 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3e 3d 27 2c 20 24 76 elf::compare($version1,.'>=',.$v
18cfc0 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 ersion2);.}..........public.stat
18cfe0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 73 73 54 68 61 6e 28 24 76 65 72 73 69 6f 6e 31 2c 20 ic.function.lessThan($version1,.
18d000 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 $version2).{.return.self::compar
18d020 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3c 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a e($version1,.'<',.$version2);.}.
18d040 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
18d060 6c 65 73 73 54 68 61 6e 4f 72 45 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 lessThanOrEqualTo($version1,.$ve
18d080 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 rsion2).{.return.self::compare($
18d0a0 76 65 72 73 69 6f 6e 31 2c 20 27 3c 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a version1,.'<=',.$version2);.}...
18d0c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 .......public.static.function.eq
18d0e0 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 ualTo($version1,.$version2).{.re
18d100 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3d turn.self::compare($version1,.'=
18d120 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 =',.$version2);.}..........publi
18d140 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 45 71 75 61 6c 54 6f 28 24 76 65 c.static.function.notEqualTo($ve
18d160 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 rsion1,.$version2).{.return.self
18d180 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 21 3d 27 2c 20 24 76 65 72 73 ::compare($version1,.'!=',.$vers
18d1a0 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 ion2);.}...........public.static
18d1c0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 6f 70 .function.compare($version1,.$op
18d1e0 65 72 61 74 6f 72 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 erator,.$version2).{.$constraint
18d200 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 .=.new.Constraint($operator,.$ve
18d220 72 73 69 6f 6e 32 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 rsion2);..return.$constraint->ma
18d240 74 63 68 65 73 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 tches(new.Constraint('==',.$vers
18d260 69 6f 6e 31 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ion1));.}.}.<?php...........name
18d280 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 space.Composer\Semver\Constraint
18d2a0 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 ;..trigger_error('The.'...__NAME
18d2c0 53 50 41 43 45 5f 5f 20 2e 20 27 5c 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 61 SPACE__...'\AbstractConstraint.a
18d2e0 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 bstract.class.is.deprecated,.the
18d300 72 65 20 69 73 20 6e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 69 74 2c 20 69 74 20 re.is.no.replacement.for.it,.it.
18d320 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 74 68 65 20 6e 65 78 74 20 6d 61 6a 6f will.be.removed.in.the.next.majo
18d340 72 20 76 65 72 73 69 6f 6e 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b r.version.',.E_USER_DEPRECATED);
18d360 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 43 6f 6e 73 .....abstract.class.AbstractCons
18d380 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 traint.implements.ConstraintInte
18d3a0 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 rface.{..protected.$prettyString
18d3c0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 ;.......public.function.matches(
18d3e0 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b ConstraintInterface.$provider).{
18d400 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 74 68 69 73 29 .if.($provider.instanceof.$this)
18d420 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 63 .{...return.$this->matchSpecific
18d440 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f 76 69 64 ($provider);.}....return.$provid
18d460 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 er->matches($this);.}.....public
18d480 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 .function.setPrettyString($prett
18d4a0 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d yString).{.$this->prettyString.=
18d4c0 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$prettyString;.}.....public.fun
18d4e0 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 ction.getPrettyString().{.if.($t
18d500 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 his->prettyString).{.return.$thi
18d520 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 s->prettyString;.}..return.$this
18d540 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 7d 0a 3c 3f 70 68 70 0a ->__toString();.}.......}.<?php.
18d560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d ..........namespace.Composer\Sem
18d580 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 74 72 ver\Constraint;.....class.Constr
18d5a0 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 aint.implements.ConstraintInterf
18d5c0 61 63 65 0a 7b 0a 0a 63 6f 6e 73 74 20 4f 50 5f 45 51 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4f 50 ace.{..const.OP_EQ.=.0;.const.OP
18d5e0 5f 4c 54 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 50 5f 4c 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 _LT.=.1;.const.OP_LE.=.2;.const.
18d600 4f 50 5f 47 54 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 4f 50 5f 47 45 20 3d 20 34 3b 0a 63 6f 6e 73 OP_GT.=.3;.const.OP_GE.=.4;.cons
18d620 74 20 4f 50 5f 4e 45 20 3d 20 35 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 t.OP_NE.=.5;.......private.stati
18d640 63 20 24 74 72 61 6e 73 4f 70 53 74 72 20 3d 20 61 72 72 61 79 28 0a 27 3d 27 20 3d 3e 20 73 65 c.$transOpStr.=.array(.'='.=>.se
18d660 6c 66 3a 3a 4f 50 5f 45 51 2c 0a 27 3d 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 2c 0a lf::OP_EQ,.'=='.=>.self::OP_EQ,.
18d680 27 3c 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4c 54 2c 0a 27 3c 3d 27 20 3d 3e 20 73 65 6c 66 '<'.=>.self::OP_LT,.'<='.=>.self
18d6a0 3a 3a 4f 50 5f 4c 45 2c 0a 27 3e 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 47 54 2c 0a 27 3e 3d ::OP_LE,.'>'.=>.self::OP_GT,.'>=
18d6c0 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 47 45 2c 0a 27 3c 3e 27 20 3d 3e 20 73 65 6c 66 3a 3a '.=>.self::OP_GE,.'<>'.=>.self::
18d6e0 4f 50 5f 4e 45 2c 0a 27 21 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 2c 0a 29 3b 0a 0a OP_NE,.'!='.=>.self::OP_NE,.);..
18d700 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 72 61 6e 73 4f 70 49 6e 74 20 .....private.static.$transOpInt.
18d720 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3e 20 27 3d 3d 27 2c 0a 73 65 =.array(.self::OP_EQ.=>.'==',.se
18d740 6c 66 3a 3a 4f 50 5f 4c 54 20 3d 3e 20 27 3c 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4c 45 20 3d 3e lf::OP_LT.=>.'<',.self::OP_LE.=>
18d760 20 27 3c 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 47 54 20 3d 3e 20 27 3e 27 2c 0a 73 65 6c 66 3a .'<=',.self::OP_GT.=>.'>',.self:
18d780 3a 4f 50 5f 47 45 20 3d 3e 20 27 3e 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3e 20 27 :OP_GE.=>.'>=',.self::OP_NE.=>.'
18d7a0 21 3d 27 2c 0a 29 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 65 72 61 74 6f 72 3b 0a 0a !=',.);...protected.$operator;..
18d7c0 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .protected.$version;...protected
18d7e0 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$prettyString;.......public.fun
18d800 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 ction.matches(ConstraintInterfac
18d820 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 69 6e 73 e.$provider).{.if.($provider.ins
18d840 74 61 6e 63 65 6f 66 20 24 74 68 69 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d tanceof.$this).{.return.$this->m
18d860 61 74 63 68 53 70 65 63 69 66 69 63 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 20 72 65 atchSpecific($provider);.}....re
18d880 74 75 72 6e 20 24 70 72 6f 76 69 64 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 74 68 69 73 29 3b 0a turn.$provider->matches($this);.
18d8a0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 }.....public.function.setPrettyS
18d8c0 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 tring($prettyString).{.$this->pr
18d8e0 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a ettyString.=.$prettyString;.}...
18d900 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e ..public.function.getPrettyStrin
18d920 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b g().{.if.($this->prettyString).{
18d940 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a .return.$this->prettyString;.}..
18d960 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a return.$this->__toString();.}...
18d980 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 ....public.static.function.getSu
18d9a0 70 70 6f 72 74 65 64 4f 70 65 72 61 74 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 pportedOperators().{.return.arra
18d9c0 79 5f 6b 65 79 73 28 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 29 3b 0a 7d 0a 0a 0a 0a y_keys(self::$transOpStr);.}....
18d9e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
18da00 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 t($operator,.$version).{.if.(!is
18da20 73 65 74 28 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b 24 6f 70 65 72 61 74 6f 72 5d set(self::$transOpStr[$operator]
18da40 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 )).{.throw.new.\InvalidArgumentE
18da60 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 xception(sprintf(.'Invalid.opera
18da80 74 6f 72 20 22 25 73 22 20 67 69 76 65 6e 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a tor."%s".given,.expected.one.of:
18daa0 20 25 73 27 2c 0a 24 6f 70 65 72 61 74 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 73 .%s',.$operator,.implode(',.',.s
18dac0 65 6c 66 3a 3a 67 65 74 53 75 70 70 6f 72 74 65 64 4f 70 65 72 61 74 6f 72 73 28 29 29 0a 29 29 elf::getSupportedOperators()).))
18dae0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 3d 20 73 65 6c 66 3a 3a 24 74 72 ;.}..$this->operator.=.self::$tr
18db00 61 6e 73 4f 70 53 74 72 5b 24 6f 70 65 72 61 74 6f 72 5d 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 ansOpStr[$operator];.$this->vers
18db20 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ion.=.$version;.}............pub
18db40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 61 2c 20 lic.function.versionCompare($a,.
18db60 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 $b,.$operator,.$compareBranches.
18db80 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 74 72 61 =.false).{.if.(!isset(self::$tra
18dba0 6e 73 4f 70 53 74 72 5b 24 6f 70 65 72 61 74 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 nsOpStr[$operator])).{.throw.new
18dbc0 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e .\InvalidArgumentException(sprin
18dbe0 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 20 67 69 76 65 6e tf(.'Invalid.operator."%s".given
18dc00 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a 20 25 73 27 2c 0a 24 6f 70 65 72 61 74 6f ,.expected.one.of:.%s',.$operato
18dc20 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 73 65 6c 66 3a 3a 67 65 74 53 75 70 70 6f 72 r,.implode(',.',.self::getSuppor
18dc40 74 65 64 4f 70 65 72 61 74 6f 72 73 28 29 29 0a 29 29 3b 0a 7d 0a 0a 24 61 49 73 42 72 61 6e 63 tedOperators()).));.}..$aIsBranc
18dc60 68 20 3d 20 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 34 29 3b h.=.'dev-'.===.substr($a,.0,.4);
18dc80 0a 24 62 49 73 42 72 61 6e 63 68 20 3d 20 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 .$bIsBranch.=.'dev-'.===.substr(
18dca0 24 62 2c 20 30 2c 20 34 29 3b 0a 0a 69 66 20 28 24 61 49 73 42 72 61 6e 63 68 20 26 26 20 24 62 $b,.0,.4);..if.($aIsBranch.&&.$b
18dcc0 49 73 42 72 61 6e 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 6f 72 20 3d 3d 3d IsBranch).{.return.$operator.===
18dce0 20 27 3d 3d 27 20 26 26 20 24 61 20 3d 3d 3d 20 24 62 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 63 .'=='.&&.$a.===.$b;.}....if.(!$c
18dd00 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 26 26 20 28 24 61 49 73 42 72 61 6e 63 68 20 7c 7c ompareBranches.&&.($aIsBranch.||
18dd20 20 24 62 49 73 42 72 61 6e 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a .$bIsBranch)).{.return.false;.}.
18dd40 0a 72 65 74 75 72 6e 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 61 2c 20 24 62 2c 20 .return.version_compare($a,.$b,.
18dd60 24 6f 70 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $operator);.}........public.func
18dd80 74 69 6f 6e 20 6d 61 74 63 68 53 70 65 63 69 66 69 63 28 43 6f 6e 73 74 72 61 69 6e 74 20 24 70 tion.matchSpecific(Constraint.$p
18dda0 72 6f 76 69 64 65 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 3d 20 66 61 6c 73 rovider,.$compareBranches.=.fals
18ddc0 65 29 0a 7b 0a 24 6e 6f 45 71 75 61 6c 4f 70 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3d e).{.$noEqualOp.=.str_replace('=
18dde0 27 2c 20 27 27 2c 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e ',.'',.self::$transOpInt[$this->
18de00 6f 70 65 72 61 74 6f 72 5d 29 3b 0a 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 20 3d operator]);.$providerNoEqualOp.=
18de20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3d 27 2c 20 27 27 2c 20 73 65 6c 66 3a 3a 24 74 72 61 .str_replace('=',.'',.self::$tra
18de40 6e 73 4f 70 49 6e 74 5b 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 29 3b 0a 0a nsOpInt[$provider->operator]);..
18de60 24 69 73 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3d 3d 20 24 74 68 $isEqualOp.=.self::OP_EQ.===.$th
18de80 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 4e 6f 6e 45 71 75 61 6c 4f 70 20 3d 20 73 65 is->operator;.$isNonEqualOp.=.se
18dea0 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 lf::OP_NE.===.$this->operator;.$
18dec0 69 73 50 72 6f 76 69 64 65 72 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 isProviderEqualOp.=.self::OP_EQ.
18dee0 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 ===.$provider->operator;.$isProv
18df00 69 64 65 72 4e 6f 6e 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3d 3d iderNonEqualOp.=.self::OP_NE.===
18df20 20 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 .$provider->operator;......if.($
18df40 69 73 4e 6f 6e 45 71 75 61 6c 4f 70 20 7c 7c 20 24 69 73 50 72 6f 76 69 64 65 72 4e 6f 6e 45 71 isNonEqualOp.||.$isProviderNonEq
18df60 75 61 6c 4f 70 29 20 7b 0a 72 65 74 75 72 6e 20 21 24 69 73 45 71 75 61 6c 4f 70 20 26 26 20 21 ualOp).{.return.!$isEqualOp.&&.!
18df80 24 69 73 50 72 6f 76 69 64 65 72 45 71 75 61 6c 4f 70 0a 7c 7c 20 24 74 68 69 73 2d 3e 76 65 72 $isProviderEqualOp.||.$this->ver
18dfa0 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 sionCompare($provider->version,.
18dfc0 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 2c 20 27 21 3d 27 2c 20 24 63 6f 6d 70 61 72 65 42 72 $this->version,.'!=',.$compareBr
18dfe0 61 6e 63 68 65 73 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 anches);.}......if.($this->opera
18e000 74 6f 72 20 21 3d 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 26 26 20 24 6e 6f 45 71 75 61 6c 4f tor.!==.self::OP_EQ.&&.$noEqualO
18e020 70 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 29 20 7b 0a 72 65 74 75 p.===.$providerNoEqualOp).{.retu
18e040 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f rn.true;.}..if.($this->versionCo
18e060 6d 70 61 72 65 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 74 68 69 73 2d mpare($provider->version,.$this-
18e080 3e 76 65 72 73 69 6f 6e 2c 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 >version,.self::$transOpInt[$thi
18e0a0 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 29 s->operator],.$compareBranches))
18e0c0 20 7b 0a 0a 20 0a 20 69 66 20 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 20 3d 3d .{.....if.($provider->version.==
18e0e0 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 =.$this->version.&&.self::$trans
18e100 4f 70 49 6e 74 5b 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 3d 3d 3d 20 24 OpInt[$provider->operator].===.$
18e120 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e providerNoEqualOp.&&.self::$tran
18e140 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 21 3d 3d 20 24 6e 6f 45 sOpInt[$this->operator].!==.$noE
18e160 71 75 61 6c 4f 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 qualOp).{.return.false;.}..retur
18e180 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 n.true;.}..return.false;.}.....p
18e1a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 ublic.function.__toString().{.re
18e1c0 74 75 72 6e 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 turn.self::$transOpInt[$this->op
18e1e0 65 72 61 74 6f 72 5d 20 2e 20 27 20 27 20 2e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a erator]...'.'...$this->version;.
18e200 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f }.}.<?php...........namespace.Co
18e220 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 69 6e 74 65 72 mposer\Semver\Constraint;..inter
18e240 66 61 63 65 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a face.ConstraintInterface.{......
18e260 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 public.function.matches(Constrai
18e280 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c ntInterface.$provider);.....publ
18e2a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 0a ic.function.getPrettyString();..
18e2c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b ...public.function.__toString();
18e2e0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d .}.<?php...........namespace.Com
18e300 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 poser\Semver\Constraint;.....cla
18e320 73 73 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f ss.EmptyConstraint.implements.Co
18e340 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 nstraintInterface.{..protected.$
18e360 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 prettyString;.......public.funct
18e380 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 ion.matches(ConstraintInterface.
18e3a0 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a $provider).{.return.true;.}.....
18e3c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 public.function.setPrettyString(
18e3e0 24 70 72 65 74 74 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 $prettyString).{.$this->prettySt
18e400 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ring.=.$prettyString;.}.....publ
18e420 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a ic.function.getPrettyString().{.
18e440 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 if.($this->prettyString).{.retur
18e460 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e n.$this->prettyString;.}..return
18e480 20 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .$this->__toString();.}.....publ
18e4a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 ic.function.__toString().{.retur
18e4c0 6e 20 27 5b 5d 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 n.'[]';.}.}.<?php...........name
18e4e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 space.Composer\Semver\Constraint
18e500 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c ;.....class.MultiConstraint.impl
18e520 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 ements.ConstraintInterface.{..pr
18e540 6f 74 65 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 otected.$constraints;...protecte
18e560 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f d.$prettyString;...protected.$co
18e580 6e 6a 75 6e 63 74 69 76 65 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 njunctive;......public.function.
18e5a0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 __construct(array.$constraints,.
18e5c0 24 63 6f 6e 6a 75 6e 63 74 69 76 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f $conjunctive.=.true).{.$this->co
18e5e0 6e 73 74 72 61 69 6e 74 73 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 24 74 68 69 73 2d nstraints.=.$constraints;.$this-
18e600 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 20 3d 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a >conjunctive.=.$conjunctive;.}..
18e620 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 ...public.function.getConstraint
18e640 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 3b s().{.return.$this->constraints;
18e660 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6e 6a 75 6e 63 .}.....public.function.isConjunc
18e680 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 tive().{.return.$this->conjuncti
18e6a0 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 73 6a ve;.}.....public.function.isDisj
18e6c0 75 6e 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 unctive().{.return.!$this->conju
18e6e0 6e 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nctive;.}.......public.function.
18e700 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f matches(ConstraintInterface.$pro
18e720 76 69 64 65 72 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f vider).{.if.(false.===.$this->co
18e740 6e 6a 75 6e 63 74 69 76 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e njunctive).{.foreach.($this->con
18e760 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 straints.as.$constraint).{.if.($
18e780 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 constraint->matches($provider)).
18e7a0 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 {.return.true;.}.}..return.false
18e7c0 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 ;.}..foreach.($this->constraints
18e7e0 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 .as.$constraint).{.if.(!$constra
18e800 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 72 65 74 75 72 int->matches($provider)).{.retur
18e820 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a n.false;.}.}..return.true;.}....
18e840 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 .public.function.setPrettyString
18e860 28 24 70 72 65 74 74 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 ($prettyString).{.$this->prettyS
18e880 74 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 tring.=.$prettyString;.}.....pub
18e8a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b lic.function.getPrettyString().{
18e8c0 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 .if.($this->prettyString).{.retu
18e8e0 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 rn.$this->prettyString;.}..retur
18e900 6e 20 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 n.$this->__toString();.}.....pub
18e920 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 63 6f 6e lic.function.__toString().{.$con
18e940 73 74 72 61 69 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 straints.=.array();.foreach.($th
18e960 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 is->constraints.as.$constraint).
18e980 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 6f 6e {.$constraints[].=.(string).$con
18e9a0 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 5b 27 20 2e 20 69 6d 70 6c 6f 64 65 straint;.}..return.'['...implode
18e9c0 28 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 20 3f 20 27 20 27 20 3a 20 27 20 7c 7c ($this->conjunctive.?.'.'.:.'.||
18e9e0 20 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 2e 20 27 5d 27 3b 0a 7d 0a 7d 0a 3c 3f 70 .',.$constraints)...']';.}.}.<?p
18ea00 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c hp...........namespace.Composer\
18ea20 53 65 6d 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e Semver;..use.Composer\Semver\Con
18ea40 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 53 65 6d 76 65 straint\Constraint;..class.Semve
18ea60 72 0a 7b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 41 53 43 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 4f r.{.const.SORT_ASC.=.1;.const.SO
18ea80 52 54 5f 44 45 53 43 20 3d 20 2d 31 3b 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 RT_DESC.=.-1;...private.static.$
18eaa0 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 versionParser;..........public.s
18eac0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f tatic.function.satisfies($versio
18eae0 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 n,.$constraints).{.if.(null.===.
18eb00 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 self::$versionParser).{.self::$v
18eb20 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 ersionParser.=.new.VersionParser
18eb40 28 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 73 65 6c 66 3a 3a 24 76 ();.}..$versionParser.=.self::$v
18eb60 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 70 72 6f 76 69 64 65 72 20 3d 20 6e 65 77 20 43 6f ersionParser;.$provider.=.new.Co
18eb80 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e nstraint('==',.$versionParser->n
18eba0 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 ormalize($version));.$constraint
18ebc0 73 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 s.=.$versionParser->parseConstra
18ebe0 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e ints($constraints);..return.$con
18ec00 73 74 72 61 69 6e 74 73 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a straints->matches($provider);.}.
18ec20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
18ec40 73 61 74 69 73 66 69 65 64 42 79 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 63 6f satisfiedBy(array.$versions,.$co
18ec60 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 66 nstraints).{.$versions.=.array_f
18ec80 69 6c 74 65 72 28 24 76 65 72 73 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 65 72 73 ilter($versions,.function.($vers
18eca0 69 6f 6e 29 20 75 73 65 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 72 65 74 75 72 6e ion).use.($constraints).{.return
18ecc0 20 53 65 6d 76 65 72 3a 3a 73 61 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f .Semver::satisfies($version,.$co
18ece0 6e 73 74 72 61 69 6e 74 73 29 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 nstraints);.});..return.array_va
18ed00 6c 75 65 73 28 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 lues($versions);.}.........publi
18ed20 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 c.static.function.sort(array.$ve
18ed40 72 73 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 75 73 6f 72 74 28 24 76 65 rsions).{.return.self::usort($ve
18ed60 72 73 69 6f 6e 73 2c 20 73 65 6c 66 3a 3a 53 4f 52 54 5f 41 53 43 29 3b 0a 7d 0a 0a 0a 0a 0a 0a rsions,.self::SORT_ASC);.}......
18ed80 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 73 6f 72 74 28 ...public.static.function.rsort(
18eda0 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a array.$versions).{.return.self::
18edc0 75 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 73 65 6c 66 3a 3a 53 4f 52 54 5f 44 45 53 43 usort($versions,.self::SORT_DESC
18ede0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 );.}........private.static.funct
18ee00 69 6f 6e 20 75 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 64 69 72 65 ion.usort(array.$versions,.$dire
18ee20 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 76 65 72 ction).{.if.(null.===.self::$ver
18ee40 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 sionParser).{.self::$versionPars
18ee60 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 24 76 65 er.=.new.VersionParser();.}..$ve
18ee80 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 rsionParser.=.self::$versionPars
18eea0 65 72 3b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 er;.$normalized.=.array();......
18eec0 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 foreach.($versions.as.$key.=>.$v
18eee0 65 72 73 69 6f 6e 29 20 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 5b 5d 20 3d 20 61 72 72 61 79 28 ersion).{.$normalized[].=.array(
18ef00 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 $versionParser->normalize($versi
18ef20 6f 6e 29 2c 20 24 6b 65 79 29 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 on),.$key);.}..usort($normalized
18ef40 2c 20 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 6c 65 66 74 2c 20 61 72 72 61 79 20 24 ,.function.(array.$left,.array.$
18ef60 72 69 67 68 74 29 20 75 73 65 20 28 24 64 69 72 65 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 6c right).use.($direction).{.if.($l
18ef80 65 66 74 5b 30 5d 20 3d 3d 3d 20 24 72 69 67 68 74 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 30 eft[0].===.$right[0]).{.return.0
18efa0 3b 0a 7d 0a 0a 69 66 20 28 43 6f 6d 70 61 72 61 74 6f 72 3a 3a 6c 65 73 73 54 68 61 6e 28 24 6c ;.}..if.(Comparator::lessThan($l
18efc0 65 66 74 5b 30 5d 2c 20 24 72 69 67 68 74 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 24 64 eft[0],.$right[0])).{.return.-$d
18efe0 69 72 65 63 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 72 65 63 74 69 6f 6e 3b 0a irection;.}..return.$direction;.
18f000 7d 29 3b 0a 0a 0a 20 24 73 6f 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 });....$sorted.=.array();.foreac
18f020 68 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 73 6f 72 74 h.($normalized.as.$item).{.$sort
18f040 65 64 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 73 5b 24 69 74 65 6d 5b 31 5d 5d 3b 0a 7d 0a 0a 72 ed[].=.$versions[$item[1]];.}..r
18f060 65 74 75 72 6e 20 24 73 6f 72 74 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a eturn.$sorted;.}.}.<?php........
18f080 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 ...namespace.Composer\Semver;..u
18f0a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f se.Composer\Semver\Constraint\Co
18f0c0 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c nstraintInterface;.use.Composer\
18f0e0 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e Semver\Constraint\EmptyConstrain
18f100 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e t;.use.Composer\Semver\Constrain
18f120 74 5c 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c t\MultiConstraint;.use.Composer\
18f140 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a Semver\Constraint\Constraint;...
18f160 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a ....class.VersionParser.{.......
18f180 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6d 6f 64 69 66 69 65 72 52 .......private.static.$modifierR
18f1a0 65 67 65 78 20 3d 20 27 5b 2e 5f 2d 5d 3f 28 3f 3a 28 73 74 61 62 6c 65 7c 62 65 74 61 7c 62 7c egex.=.'[._-]?(?:(stable|beta|b|
18f1c0 52 43 7c 61 6c 70 68 61 7c 61 7c 70 61 74 63 68 7c 70 6c 7c 70 29 28 28 3f 3a 5b 2e 2d 5d 3f 5c RC|alpha|a|patch|pl|p)((?:[.-]?\
18f1e0 64 2b 29 2a 2b 29 3f 29 3f 28 5b 2e 2d 5d 3f 64 65 76 29 3f 27 3b 0a 0a 0a 70 72 69 76 61 74 65 d+)*+)?)?([.-]?dev)?';...private
18f200 20 73 74 61 74 69 63 20 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 27 73 74 .static.$stabilities.=.array('st
18f220 61 62 6c 65 27 2c 20 27 52 43 27 2c 20 27 62 65 74 61 27 2c 20 27 61 6c 70 68 61 27 2c 20 27 64 able',.'RC',.'beta',.'alpha',.'d
18f240 65 76 27 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ev');.........public.static.func
18f260 74 69 6f 6e 20 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a tion.parseStability($version).{.
18f280 24 76 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 23 2e 2b 24 7d 69 $version.=.preg_replace('{#.+$}i
18f2a0 27 2c 20 27 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 27 64 65 76 2d 27 20 3d 3d ',.'',.$version);..if.('dev-'.==
18f2c0 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 20 7c 7c 20 27 2d 64 65 =.substr($version,.0,.4).||.'-de
18f2e0 76 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 2d 34 29 29 20 7b 0a 72 v'.===.substr($version,.-4)).{.r
18f300 65 74 75 72 6e 20 27 64 65 76 27 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 27 20 2e eturn.'dev';.}..preg_match('{'..
18f320 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 28 3f 3a 5c 2b 2e 2a .self::$modifierRegex...'(?:\+.*
18f340 29 3f 24 7d 69 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 29 2c 20 24 6d )?$}i',.strtolower($version),.$m
18f360 61 74 63 68 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 33 5d 29 29 20 7b 0a atch);.if.(!empty($match[3])).{.
18f380 72 65 74 75 72 6e 20 27 64 65 76 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 return.'dev';.}..if.(!empty($mat
18f3a0 63 68 5b 31 5d 29 29 20 7b 0a 69 66 20 28 27 62 65 74 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b ch[1])).{.if.('beta'.===.$match[
18f3c0 31 5d 20 7c 7c 20 27 62 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 1].||.'b'.===.$match[1]).{.retur
18f3e0 6e 20 27 62 65 74 61 27 3b 0a 7d 0a 69 66 20 28 27 61 6c 70 68 61 27 20 3d 3d 3d 20 24 6d 61 74 n.'beta';.}.if.('alpha'.===.$mat
18f400 63 68 5b 31 5d 20 7c 7c 20 27 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 ch[1].||.'a'.===.$match[1]).{.re
18f420 74 75 72 6e 20 27 61 6c 70 68 61 27 3b 0a 7d 0a 69 66 20 28 27 72 63 27 20 3d 3d 3d 20 24 6d 61 turn.'alpha';.}.if.('rc'.===.$ma
18f440 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 27 52 43 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 tch[1]).{.return.'RC';.}.}..retu
18f460 72 6e 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 rn.'stable';.}.......public.stat
18f480 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 ic.function.normalizeStability($
18f4a0 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 73 74 72 74 6f 6c stability).{.$stability.=.strtol
18f4c0 6f 77 65 72 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 ower($stability);..return.$stabi
18f4e0 6c 69 74 79 20 3d 3d 3d 20 27 72 63 27 20 3f 20 27 52 43 27 20 3a 20 24 73 74 61 62 69 6c 69 74 lity.===.'rc'.?.'RC'.:.$stabilit
18f500 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 y;.}............public.function.
18f520 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e normalize($version,.$fullVersion
18f540 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 76 65 72 73 .=.null).{.$version.=.trim($vers
18f560 69 6f 6e 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 ion);.if.(null.===.$fullVersion)
18f580 20 7b 0a 24 66 75 6c 6c 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a .{.$fullVersion.=.$version;.}...
18f5a0 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b 2b 29 20 2b 2b .if.(preg_match('{^([^,\s]++).++
18f5c0 61 73 20 2b 2b 28 5b 5e 2c 5c 73 5d 2b 2b 29 24 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d as.++([^,\s]++)$}',.$version,.$m
18f5e0 61 74 63 68 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d atch)).{.$version.=.$match[1];.}
18f600 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 64 65 76 2d 29 3f 28 ....if.(preg_match('{^(?:dev-)?(
18f620 3f 3a 6d 61 73 74 65 72 7c 74 72 75 6e 6b 7c 64 65 66 61 75 6c 74 29 24 7d 69 27 2c 20 24 76 65 ?:master|trunk|default)$}i',.$ve
18f640 72 73 69 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 39 39 39 39 39 39 39 2d 64 65 76 27 3b 0a rsion)).{.return.'9999999-dev';.
18f660 7d 0a 0a 0a 20 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 }....if.('dev-'.===.strtolower(s
18f680 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 29 29 20 7b 0a 72 65 74 75 72 6e ubstr($version,.0,.4))).{.return
18f6a0 20 27 64 65 76 2d 27 20 2e 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 34 29 3b 0a 7d .'dev-'...substr($version,.4);.}
18f6c0 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 2b 5d 2b 2b ....if.(preg_match('{^([^,\s+]++
18f6e0 29 5c 2b 5b 5e 5c 73 5d 2b 2b 24 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 )\+[^\s]++$}',.$version,.$match)
18f700 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 ).{.$version.=.$match[1];.}....i
18f720 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 35 7d 29 28 5c 2e 5c f.(preg_match('{^v?(\d{1,5})(\.\
18f740 64 2b 2b 29 3f 28 5c 2e 5c 64 2b 2b 29 3f 28 5c 2e 5c 64 2b 2b 29 3f 27 20 2e 20 73 65 6c 66 3a d++)?(\.\d++)?(\.\d++)?'...self:
18f760 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 76 65 72 73 69 6f :$modifierRegex...'$}i',.$versio
18f780 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 n,.$matches)).{.$version.=.$matc
18f7a0 68 65 73 5b 31 5d 0a 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 hes[1]...(!empty($matches[2]).?.
18f7c0 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 20 28 21 65 6d 70 74 79 28 24 6d $matches[2].:.'.0')...(!empty($m
18f7e0 61 74 63 68 65 73 5b 33 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 atches[3]).?.$matches[3].:.'.0')
18f800 0a 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 ...(!empty($matches[4]).?.$match
18f820 65 73 5b 34 5d 20 3a 20 27 2e 30 27 29 3b 0a 24 69 6e 64 65 78 20 3d 20 35 3b 0a 0a 20 7d 20 65 es[4].:.'.0');.$index.=.5;...}.e
18f840 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 34 7d 28 3f 3a lseif.(preg_match('{^v?(\d{4}(?:
18f860 5b 2e 3a 2d 5d 3f 5c 64 7b 32 7d 29 7b 31 2c 36 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 31 2c 33 [.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3
18f880 7d 29 3f 29 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 })?)'...self::$modifierRegex...'
18f8a0 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 $}i',.$version,.$matches)).{.$ve
18f8c0 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 44 7d 27 2c 20 27 2e 27 rsion.=.preg_replace('{\D}',.'.'
18f8e0 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 24 69 6e 64 65 78 20 3d 20 32 3b 0a 7d 0a 0a 0a ,.$matches[1]);.$index.=.2;.}...
18f900 20 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 .if.(isset($index)).{.if.(!empty
18f920 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 29 20 7b 0a 69 66 20 28 27 73 74 61 62 6c ($matches[$index])).{.if.('stabl
18f940 65 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 72 65 74 75 72 e'.===.$matches[$index]).{.retur
18f960 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 n.$version;.}.$version..=.'-'...
18f980 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 65 73 5b $this->expandStability($matches[
18f9a0 24 69 6e 64 65 78 5d 29 20 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 $index])...(!empty($matches[$ind
18f9c0 65 78 20 2b 20 31 5d 29 20 3f 20 6c 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 ex.+.1]).?.ltrim($matches[$index
18f9e0 20 2b 20 31 5d 2c 20 27 2e 2d 27 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 .+.1],.'.-').:.'');.}..if.(!empt
18fa00 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 20 2b 20 32 5d 29 29 20 7b 0a 24 76 65 72 73 y($matches[$index.+.2])).{.$vers
18fa20 69 6f 6e 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f ion..=.'-dev';.}..return.$versio
18fa40 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2e 2a 3f 29 5b 2e n;.}....if.(preg_match('{(.*?)[.
18fa60 2d 5d 3f 64 65 76 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b -]?dev$}i',.$version,.$match)).{
18fa80 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 .try.{.return.$this->normalizeBr
18faa0 61 6e 63 68 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 anch($match[1]);.}.catch.(\Excep
18fac0 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 tion.$e).{.}.}..$extraMessage.=.
18fae0 27 27 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 20 2b 61 73 20 2b 27 20 2e 20 70 '';.if.(preg_match('{.+as.+'...p
18fb00 72 65 67 5f 71 75 6f 74 65 28 24 76 65 72 73 69 6f 6e 29 20 2e 20 27 24 7d 27 2c 20 24 66 75 6c reg_quote($version)...'$}',.$ful
18fb20 6c 56 65 72 73 69 6f 6e 29 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 lVersion)).{.$extraMessage.=.'.i
18fb40 6e 20 22 27 20 2e 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 6c n."'...$fullVersion...'",.the.al
18fb60 69 61 73 20 6d 75 73 74 20 62 65 20 61 6e 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 27 3b 0a 7d ias.must.be.an.exact.version';.}
18fb80 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 20 2e 20 70 72 65 67 5f .elseif.(preg_match('{^'...preg_
18fba0 71 75 6f 74 65 28 24 76 65 72 73 69 6f 6e 29 20 2e 20 27 20 2b 61 73 20 2b 7d 27 2c 20 24 66 75 quote($version)...'.+as.+}',.$fu
18fbc0 6c 6c 56 65 72 73 69 6f 6e 29 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 llVersion)).{.$extraMessage.=.'.
18fbe0 69 6e 20 22 27 20 2e 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 in."'...$fullVersion...'",.the.a
18fc00 6c 69 61 73 20 73 6f 75 72 63 65 20 6d 75 73 74 20 62 65 20 61 6e 20 65 78 61 63 74 20 76 65 72 lias.source.must.be.an.exact.ver
18fc20 73 69 6f 6e 2c 20 69 66 20 69 74 20 69 73 20 61 20 62 72 61 6e 63 68 20 6e 61 6d 65 20 79 6f 75 sion,.if.it.is.a.branch.name.you
18fc40 20 73 68 6f 75 6c 64 20 70 72 65 66 69 78 20 69 74 20 77 69 74 68 20 64 65 76 2d 27 3b 0a 7d 0a .should.prefix.it.with.dev-';.}.
18fc60 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 .throw.new.\UnexpectedValueExcep
18fc80 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 22 27 20 tion('Invalid.version.string."'.
18fca0 2e 20 24 76 65 72 73 69 6f 6e 20 2e 20 27 22 27 20 2e 20 24 65 78 74 72 61 4d 65 73 73 61 67 65 ..$version...'"'...$extraMessage
18fcc0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 );.}.........public.function.par
18fce0 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 62 72 61 6e 63 68 29 0a 7b 0a seNumericAliasPrefix($branch).{.
18fd00 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 50 3c 76 65 72 73 69 6f 6e 3e 28 5c if.(preg_match('{^(?P<version>(\
18fd20 64 2b 2b 5c 5c 2e 29 2a 5c 64 2b 2b 29 28 3f 3a 5c 2e 78 29 3f 2d 64 65 76 24 7d 69 27 2c 20 24 d++\\.)*\d++)(?:\.x)?-dev$}i',.$
18fd40 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 branch,.$matches)).{.return.$mat
18fd60 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 20 2e 20 27 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e ches['version']...'.';.}..return
18fd80 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .false;.}.........public.functio
18fda0 6e 20 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6e 61 6d 65 29 0a 7b 0a 24 6e 61 6d 65 n.normalizeBranch($name).{.$name
18fdc0 20 3d 20 74 72 69 6d 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e .=.trim($name);..if.(in_array($n
18fde0 61 6d 65 2c 20 61 72 72 61 79 28 27 6d 61 73 74 65 72 27 2c 20 27 74 72 75 6e 6b 27 2c 20 27 64 ame,.array('master',.'trunk',.'d
18fe00 65 66 61 75 6c 74 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 efault'))).{.return.$this->norma
18fe20 6c 69 7a 65 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 lize($name);.}..if.(preg_match('
18fe40 7b 5e 76 3f 28 5c 64 2b 2b 29 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 28 5c 2e {^v?(\d++)(\.(?:\d++|[xX*]))?(\.
18fe60 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d (?:\d++|[xX*]))?(\.(?:\d++|[xX*]
18fe80 29 29 3f 24 7d 69 27 2c 20 24 6e 61 6d 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 ))?$}i',.$name,.$matches)).{.$ve
18fea0 72 73 69 6f 6e 20 3d 20 27 27 3b 0a 66 6f 72 20 28 24 69 20 3d 20 31 3b 20 24 69 20 3c 20 35 3b rsion.=.'';.for.($i.=.1;.$i.<.5;
18fec0 20 2b 2b 24 69 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 69 73 73 65 74 28 24 6d 61 74 63 .++$i).{.$version..=.isset($matc
18fee0 68 65 73 5b 24 69 5d 29 20 3f 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2a 27 hes[$i]).?.str_replace(array('*'
18ff00 2c 20 27 58 27 29 2c 20 27 78 27 2c 20 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 3a 20 27 2e 78 ,.'X'),.'x',.$matches[$i]).:.'.x
18ff20 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 78 27 2c 20 27 39 ';.}..return.str_replace('x',.'9
18ff40 39 39 39 39 39 39 27 2c 20 24 76 65 72 73 69 6f 6e 29 20 2e 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 999999',.$version)...'-dev';.}..
18ff60 72 65 74 75 72 6e 20 27 64 65 76 2d 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a return.'dev-'...$name;.}........
18ff80 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 .public.function.parseConstraint
18ffa0 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 s($constraints).{.$prettyConstra
18ffc0 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 int.=.$constraints;..if.(preg_ma
18ffe0 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2a 3f 29 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 tch('{^([^,\s]*?)@('...implode('
190000 7c 27 2c 20 73 65 6c 66 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 |',.self::$stabilities)...')$}i'
190020 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 ,.$constraints,.$match)).{.$cons
190040 74 72 61 69 6e 74 73 20 3d 20 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 27 2a 27 traints.=.empty($match[1]).?.'*'
190060 20 3a 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 .:.$match[1];.}..if.(preg_match(
190080 27 7b 5e 28 64 65 76 2d 5b 5e 2c 5c 73 40 5d 2b 3f 7c 5b 5e 2c 5c 73 40 5d 2b 3f 5c 2e 78 2d 64 '{^(dev-[^,\s@]+?|[^,\s@]+?\.x-d
1900a0 65 76 29 23 2e 2b 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 6d 61 74 63 68 ev)#.+$}i',.$constraints,.$match
1900c0 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d )).{.$constraints.=.$match[1];.}
1900e0 0a 0a 24 6f 72 43 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b ..$orConstraints.=.preg_split('{
190100 5c 73 2a 5c 7c 5c 7c 3f 5c 73 2a 7d 27 2c 20 74 72 69 6d 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 \s*\|\|?\s*}',.trim($constraints
190120 29 29 3b 0a 24 6f 72 47 72 6f 75 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 ));.$orGroups.=.array();.foreach
190140 20 28 24 6f 72 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 .($orConstraints.as.$constraints
190160 29 20 7b 0a 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 ).{.$andConstraints.=.preg_split
190180 28 27 7b 28 3f 3c 21 5e 7c 61 73 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f 3c 21 2d 29 5b 2c 20 5d ('{(?<!^|as|[=><.,]).*(?<!-)[,.]
1901a0 28 3f 21 2d 29 20 2a 28 3f 21 2c 7c 61 73 7c 24 29 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 (?!-).*(?!,|as|$)}',.$constraint
1901c0 73 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 3e s);.if.(count($andConstraints).>
1901e0 20 31 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 61 72 72 61 79 .1).{.$constraintObjects.=.array
190200 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 ();.foreach.($andConstraints.as.
190220 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 $constraint).{.foreach.($this->p
190240 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 61 73 20 24 arseConstraint($constraint).as.$
190260 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f parsedConstraint).{.$constraintO
190280 62 6a 65 63 74 73 5b 5d 20 3d 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a bjects[].=.$parsedConstraint;.}.
1902a0 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 }.}.else.{.$constraintObjects.=.
1902c0 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 61 6e 64 43 6f 6e 73 74 $this->parseConstraint($andConst
1902e0 72 61 69 6e 74 73 5b 30 5d 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 raints[0]);.}..if.(1.===.count($
190300 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e constraintObjects)).{.$constrain
190320 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 5b 30 5d 3b 0a 7d 20 65 6c 73 t.=.$constraintObjects[0];.}.els
190340 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 e.{.$constraint.=.new.MultiConst
190360 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 29 3b 0a 7d 0a 0a 24 6f raint($constraintObjects);.}..$o
190380 72 47 72 6f 75 70 73 5b 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 rGroups[].=.$constraint;.}..if.(
1903a0 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 29 29 20 7b 0a 24 63 6f 6e 73 74 1.===.count($orGroups)).{.$const
1903c0 72 61 69 6e 74 20 3d 20 24 6f 72 47 72 6f 75 70 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 raint.=.$orGroups[0];.}.elseif.(
1903e0 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 29 0a 0a 20 0a 20 26 26 20 24 6f 2.===.count($orGroups).....&&.$o
190400 72 47 72 6f 75 70 73 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e 73 74 rGroups[0].instanceof.MultiConst
190420 72 61 69 6e 74 0a 26 26 20 24 6f 72 47 72 6f 75 70 73 5b 31 5d 20 69 6e 73 74 61 6e 63 65 6f 66 raint.&&.$orGroups[1].instanceof
190440 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 0a 26 26 20 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 .MultiConstraint.&&.2.===.count(
190460 24 6f 72 47 72 6f 75 70 73 5b 30 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 29 0a $orGroups[0]->getConstraints()).
190480 26 26 20 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 5b 31 5d 2d 3e 67 65 74 &&.2.===.count($orGroups[1]->get
1904a0 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 29 0a 26 26 20 28 24 61 20 3d 20 28 73 74 72 69 6e 67 29 Constraints()).&&.($a.=.(string)
1904c0 20 24 6f 72 47 72 6f 75 70 73 5b 30 5d 29 0a 26 26 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 .$orGroups[0]).&&.substr($a,.0,.
1904e0 33 29 20 3d 3d 3d 20 27 5b 3e 3d 27 20 26 26 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 3).===.'[>='.&&.(false.!==.($pos
190500 41 20 3d 20 73 74 72 70 6f 73 28 24 61 2c 20 27 3c 27 2c 20 34 29 29 29 0a 26 26 20 28 24 62 20 A.=.strpos($a,.'<',.4))).&&.($b.
190520 3d 20 28 73 74 72 69 6e 67 29 20 24 6f 72 47 72 6f 75 70 73 5b 31 5d 29 0a 26 26 20 73 75 62 73 =.(string).$orGroups[1]).&&.subs
190540 74 72 28 24 62 2c 20 30 2c 20 33 29 20 3d 3d 3d 20 27 5b 3e 3d 27 20 26 26 20 28 66 61 6c 73 65 tr($b,.0,.3).===.'[>='.&&.(false
190560 20 21 3d 3d 20 28 24 70 6f 73 42 20 3d 20 73 74 72 70 6f 73 28 24 62 2c 20 27 3c 27 2c 20 34 29 .!==.($posB.=.strpos($b,.'<',.4)
190580 29 29 0a 26 26 20 73 75 62 73 74 72 28 24 61 2c 20 24 70 6f 73 41 20 2b 20 32 2c 20 2d 31 29 20 )).&&.substr($a,.$posA.+.2,.-1).
1905a0 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 2c 20 34 2c 20 24 70 6f 73 42 20 2d 20 35 29 0a 29 20 7b ===.substr($b,.4,.$posB.-.5).).{
1905c0 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 .$constraint.=.new.MultiConstrai
1905e0 6e 74 28 61 72 72 61 79 28 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 73 nt(array(.new.Constraint('>=',.s
190600 75 62 73 74 72 28 24 61 2c 20 34 2c 20 24 70 6f 73 41 20 2d 20 35 29 29 2c 0a 6e 65 77 20 43 6f ubstr($a,.4,.$posA.-.5)),.new.Co
190620 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 73 75 62 73 74 72 28 24 62 2c 20 24 70 6f 73 42 20 2b nstraint('<',.substr($b,.$posB.+
190640 20 32 2c 20 2d 31 29 29 2c 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 .2,.-1)),.));.}.else.{.$constrai
190660 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 72 47 72 6f 75 nt.=.new.MultiConstraint($orGrou
190680 70 73 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 ps,.false);.}..$constraint->setP
1906a0 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a rettyString($prettyConstraint);.
1906c0 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .return.$constraint;.}.........p
1906e0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 rivate.function.parseConstraint(
190700 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b $constraint).{.if.(preg_match('{
190720 5e 28 5b 5e 2c 5c 73 5d 2b 3f 29 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 73 65 ^([^,\s]+?)@('...implode('|',.se
190740 6c 66 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 2c 20 24 63 6f 6e lf::$stabilities)...')$}i',.$con
190760 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 straint,.$match)).{.$constraint.
190780 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 69 66 20 28 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 =.$match[1];.if.($match[2].!==.'
1907a0 73 74 61 62 6c 65 27 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 20 3d 20 stable').{.$stabilityModifier.=.
1907c0 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 $match[2];.}.}..if.(preg_match('
1907e0 7b 5e 76 3f 5b 78 58 2a 5d 28 5c 2e 5b 78 58 2a 5d 29 2a 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 {^v?[xX*](\.[xX*])*$}i',.$constr
190800 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 45 6d 70 74 79 43 aint)).{.return.array(new.EmptyC
190820 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 3d onstraint());.}..$versionRegex.=
190840 20 27 76 3f 28 5c 64 2b 2b 29 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b .'v?(\d++)(?:\.(\d++))?(?:\.(\d+
190860 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 +))?(?:\.(\d++))?'...self::$modi
190880 66 69 65 72 52 65 67 65 78 20 2e 20 27 28 3f 3a 5c 2b 5b 5e 5c 73 5d 2b 29 3f 27 3b 0a 0a 0a 20 fierRegex...'(?:\+[^\s]+)?';....
1908a0 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7e 3e 3f 27 20 2e ........if.(preg_match('{^~>?'..
1908c0 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 .$versionRegex...'$}i',.$constra
1908e0 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 6f int,.$matches)).{.if.(substr($co
190900 6e 73 74 72 61 69 6e 74 2c 20 30 2c 20 32 29 20 3d 3d 3d 20 27 7e 3e 27 29 20 7b 0a 74 68 72 6f nstraint,.0,.2).===.'~>').{.thro
190920 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 w.new.\UnexpectedValueException(
190940 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 .'Could.not.parse.version.constr
190960 61 69 6e 74 20 27 20 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 27 3a 20 27 20 2e 0a 27 49 aint.'...$constraint...':.'...'I
190980 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 7e 3e 22 2c 20 79 6f 75 20 70 72 6f 62 61 62 nvalid.operator."~>",.you.probab
1909a0 6c 79 20 6d 65 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 22 7e 22 20 6f 70 65 72 61 74 6f 72 ly.meant.to.use.the."~".operator
1909c0 27 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 '.);.}....if.(isset($matches[4])
1909e0 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 26 26 20 6e 75 6c 6c 20 21 .&&.''.!==.$matches[4].&&.null.!
190a00 3d 3d 20 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 34 3b ==.$matches[4]).{.$position.=.4;
190a20 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 .}.elseif.(isset($matches[3]).&&
190a40 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 .''.!==.$matches[3].&&.null.!==.
190a60 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 20 $matches[3]).{.$position.=.3;.}.
190a80 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 27 27 elseif.(isset($matches[2]).&&.''
190aa0 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 .!==.$matches[2].&&.null.!==.$ma
190ac0 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 tches[2]).{.$position.=.2;.}.els
190ae0 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 3b 0a 7d 0a 0a 0a 20 24 73 74 61 62 69 6c 69 e.{.$position.=.1;.}....$stabili
190b00 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 65 tySuffix.=.'';.if.(empty($matche
190b20 73 5b 35 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 7b 0a 24 s[5]).&&.empty($matches[7])).{.$
190b40 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c stabilitySuffix..=.'-dev';.}..$l
190b60 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 73 75 62 owVersion.=.$this->normalize(sub
190b80 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 str($constraint...$stabilitySuff
190ba0 69 78 2c 20 31 29 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 ix,.1));.$lowerBound.=.new.Const
190bc0 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 0a 20 24 raint('>=',.$lowVersion);......$
190be0 68 69 67 68 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 61 78 28 31 2c 20 24 70 6f 73 69 74 69 6f 6e 20 highPosition.=.max(1,.$position.
190c00 2d 20 31 29 3b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 -.1);.$highVersion.=.$this->mani
190c20 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 68 pulateVersionString($matches,.$h
190c40 69 67 68 50 6f 73 69 74 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 ighPosition,.1)...'-dev';.$upper
190c60 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 Bound.=.new.Constraint('<',.$hig
190c80 68 56 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 hVersion);..return.array(.$lower
190ca0 42 6f 75 6e 64 2c 0a 24 75 70 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 Bound,.$upperBound,.);.}........
190cc0 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 5e 27 20 2e 20 24 76 65 72 ....if.(preg_match('{^\^'...$ver
190ce0 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 28 24 29 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 sionRegex...'($)}i',.$constraint
190d00 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 28 27 30 27 20 21 3d 3d 20 24 6d 61 ,.$matches)).{...if.('0'.!==.$ma
190d20 74 63 68 65 73 5b 31 5d 20 7c 7c 20 27 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c tches[1].||.''.===.$matches[2].|
190d40 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 |.null.===.$matches[2]).{.$posit
190d60 69 6f 6e 20 3d 20 31 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 30 27 20 21 3d 3d 20 24 6d 61 74 63 ion.=.1;.}.elseif.('0'.!==.$matc
190d80 68 65 73 5b 32 5d 20 7c 7c 20 27 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 7c 7c 20 hes[2].||.''.===.$matches[3].||.
190da0 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f null.===.$matches[3]).{.$positio
190dc0 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d n.=.2;.}.else.{.$position.=.3;.}
190de0 0a 0a 0a 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 20 28 65 ....$stabilitySuffix.=.'';.if.(e
190e00 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6d 61 74 63 mpty($matches[5]).&&.empty($matc
190e20 68 65 73 5b 37 5d 29 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 hes[7])).{.$stabilitySuffix..=.'
190e40 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e -dev';.}..$lowVersion.=.$this->n
190e60 6f 72 6d 61 6c 69 7a 65 28 73 75 62 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 24 73 ormalize(substr($constraint...$s
190e80 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 2c 20 31 29 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 tabilitySuffix,.1));.$lowerBound
190ea0 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 .=.new.Constraint('>=',.$lowVers
190ec0 69 6f 6e 29 3b 0a 0a 0a 20 0a 20 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d ion);......$highVersion.=.$this-
190ee0 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 >manipulateVersionString($matche
190f00 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 s,.$position,.1)...'-dev';.$uppe
190f20 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 rBound.=.new.Constraint('<',.$hi
190f40 67 68 56 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 ghVersion);..return.array(.$lowe
190f60 72 42 6f 75 6e 64 2c 0a 24 75 70 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a rBound,.$upperBound,.);.}.......
190f80 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 2b 2b 29 28 3f 3a ...if.(preg_match('{^v?(\d++)(?:
190fa0 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 5b 78 58 2a \.(\d++))?(?:\.(\d++))?(?:\.[xX*
190fc0 5d 29 2b 2b 24 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 ])++$}',.$constraint,.$matches))
190fe0 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 20 27 27 20 .{.if.(isset($matches[3]).&&.''.
191000 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 !==.$matches[3].&&.null.!==.$mat
191020 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 20 65 6c 73 65 ches[3]).{.$position.=.3;.}.else
191040 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 27 27 20 21 3d 3d if.(isset($matches[2]).&&.''.!==
191060 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 .$matches[2].&&.null.!==.$matche
191080 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a s[2]).{.$position.=.2;.}.else.{.
1910a0 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 $position.=.1;.}..$lowVersion.=.
1910c0 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 $this->manipulateVersionString($
1910e0 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 68 matches,.$position)...'-dev';.$h
191100 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 ighVersion.=.$this->manipulateVe
191120 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c rsionString($matches,.$position,
191140 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 0a 69 66 20 28 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d .1)...'-dev';..if.($lowVersion.=
191160 3d 3d 20 27 30 2e 30 2e 30 2e 30 2d 64 65 76 27 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 ==.'0.0.0.0-dev').{.return.array
191180 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f (new.Constraint('<',.$highVersio
1911a0 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 20 43 6f 6e 73 74 72 n));.}..return.array(.new.Constr
1911c0 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 2c 0a 6e 65 77 20 43 6f 6e aint('>=',.$lowVersion),.new.Con
1911e0 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 2c 0a 29 3b 0a 7d straint('<',.$highVersion),.);.}
191200 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e ..............if.(preg_match('{^
191220 28 3f 50 3c 66 72 6f 6d 3e 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 29 20 (?P<from>'...$versionRegex...').
191240 2b 2d 20 2b 28 3f 50 3c 74 6f 3e 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 +-.+(?P<to>'...$versionRegex...'
191260 29 28 24 29 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 )($)}i',.$constraint,.$matches))
191280 20 7b 0a 0a 20 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 .{...$lowStabilitySuffix.=.'';.i
1912a0 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 36 5d 29 20 26 26 20 65 6d 70 74 79 28 24 f.(empty($matches[6]).&&.empty($
1912c0 6d 61 74 63 68 65 73 5b 38 5d 29 29 20 7b 0a 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 53 75 66 66 matches[8])).{.$lowStabilitySuff
1912e0 69 78 20 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 ix.=.'-dev';.}..$lowVersion.=.$t
191300 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 27 66 72 6f 6d 27 5d 29 his->normalize($matches['from'])
191320 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 ;.$lowerBound.=.new.Constraint('
191340 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 20 2e 20 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 >=',.$lowVersion...$lowStability
191360 53 75 66 66 69 78 29 3b 0a 0a 24 65 6d 70 74 79 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 78 29 Suffix);..$empty.=.function.($x)
191380 20 7b 0a 72 65 74 75 72 6e 20 28 24 78 20 3d 3d 3d 20 30 20 7c 7c 20 24 78 20 3d 3d 3d 20 27 30 .{.return.($x.===.0.||.$x.===.'0
1913a0 27 29 20 3f 20 66 61 6c 73 65 20 3a 20 65 6d 70 74 79 28 24 78 29 3b 0a 7d 3b 0a 0a 69 66 20 28 ').?.false.:.empty($x);.};..if.(
1913c0 28 21 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 31 5d 29 20 26 26 20 21 24 65 6d 70 74 (!$empty($matches[11]).&&.!$empt
1913e0 79 28 24 6d 61 74 63 68 65 73 5b 31 32 5d 29 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 6d 61 74 63 y($matches[12])).||.!empty($matc
191400 68 65 73 5b 31 34 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 36 5d 29 hes[14]).||.!empty($matches[16])
191420 29 20 7b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c ).{.$highVersion.=.$this->normal
191440 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 27 74 6f 27 5d 29 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 ize($matches['to']);.$upperBound
191460 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 3d 27 2c 20 24 68 69 67 68 56 65 72 .=.new.Constraint('<=',.$highVer
191480 73 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 69 67 68 4d 61 74 63 68 20 3d 20 61 72 72 sion);.}.else.{.$highMatch.=.arr
1914a0 61 79 28 27 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 30 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 31 ay('',.$matches[10],.$matches[11
1914c0 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 32 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 33 5d 29 3b 0a ],.$matches[12],.$matches[13]);.
1914e0 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 $highVersion.=.$this->manipulate
191500 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 68 69 67 68 4d 61 74 63 68 2c 20 24 65 6d 70 74 79 VersionString($highMatch,.$empty
191520 28 24 6d 61 74 63 68 65 73 5b 31 31 5d 29 20 3f 20 31 20 3a 20 32 2c 20 31 29 20 2e 20 27 2d 64 ($matches[11]).?.1.:.2,.1)...'-d
191540 65 76 27 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e ev';.$upperBound.=.new.Constrain
191560 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 t('<',.$highVersion);.}..return.
191580 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 75 70 70 65 72 42 6f 75 6e 64 2c array(.$lowerBound,.$upperBound,
1915a0 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3c 3e 7c 21 .);.}....if.(preg_match('{^(<>|!
1915c0 3d 7c 3e 3d 3f 7c 3c 3d 3f 7c 3d 3d 3f 29 3f 5c 73 2a 28 2e 2a 29 7d 27 2c 20 24 63 6f 6e 73 74 =|>=?|<=?|==?)?\s*(.*)}',.$const
1915e0 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 raint,.$matches)).{.try.{.$versi
191600 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 32 on.=.$this->normalize($matches[2
191620 5d 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 ]);..if.(!empty($stabilityModifi
191640 65 72 29 20 26 26 20 24 74 68 69 73 2d 3e 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 er).&&.$this->parseStability($ve
191660 72 73 69 6f 6e 29 20 3d 3d 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 rsion).===.'stable').{.$version.
191680 2e 3d 20 27 2d 27 20 2e 20 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 3b 0a 7d 20 65 .=.'-'...$stabilityModifier;.}.e
1916a0 6c 73 65 69 66 20 28 27 3c 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 7c 7c 20 27 3e lseif.('<'.===.$matches[1].||.'>
1916c0 3d 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f ='.===.$matches[1]).{.if.(!preg_
1916e0 6d 61 74 63 68 28 27 2f 2d 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 match('/-'...self::$modifierRege
191700 78 20 2e 20 27 24 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d x...'$/',.strtolower($matches[2]
191720 29 29 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 30 2c ))).{.if.(substr($matches[2],.0,
191740 20 34 29 20 21 3d 3d 20 27 64 65 76 2d 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d .4).!==.'dev-').{.$version..=.'-
191760 64 65 76 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 43 6f dev';.}.}.}..return.array(new.Co
191780 6e 73 74 72 61 69 6e 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3f 3a 20 27 3d 27 2c 20 24 76 65 nstraint($matches[1].?:.'=',.$ve
1917a0 72 73 69 6f 6e 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 rsion));.}.catch.(\Exception.$e)
1917c0 20 7b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 .{.}.}..$message.=.'Could.not.pa
1917e0 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 63 6f 6e 73 rse.version.constraint.'...$cons
191800 74 72 61 69 6e 74 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 traint;.if.(isset($e)).{.$messag
191820 65 20 2e 3d 20 27 3a 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a e..=.':.'...$e->getMessage();.}.
191840 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 .throw.new.\UnexpectedValueExcep
191860 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 tion($message);.}..............p
191880 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f rivate.function.manipulateVersio
1918a0 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c 20 24 69 6e nString($matches,.$position,.$in
1918c0 63 72 65 6d 65 6e 74 20 3d 20 30 2c 20 24 70 61 64 20 3d 20 27 30 27 29 0a 7b 0a 66 6f 72 20 28 crement.=.0,.$pad.=.'0').{.for.(
1918e0 24 69 20 3d 20 34 3b 20 24 69 20 3e 20 30 3b 20 2d 2d 24 69 29 20 7b 0a 69 66 20 28 24 69 20 3e $i.=.4;.$i.>.0;.--$i).{.if.($i.>
191900 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3d 20 24 70 61 .$position).{.$matches[$i].=.$pa
191920 64 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 20 3d 3d 3d 20 24 70 6f 73 69 74 69 6f 6e 20 26 26 d;.}.elseif.($i.===.$position.&&
191940 20 24 69 6e 63 72 65 6d 65 6e 74 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 2b 3d 20 24 .$increment).{.$matches[$i].+=.$
191960 69 6e 63 72 65 6d 65 6e 74 3b 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3c 20 increment;...if.($matches[$i].<.
191980 30 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3d 20 24 70 61 64 3b 0a 2d 2d 24 70 6f 73 0).{.$matches[$i].=.$pad;.--$pos
1919a0 69 74 69 6f 6e 3b 0a 0a 0a 20 69 66 20 28 24 69 20 3d 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 6e ition;....if.($i.===.1).{.return
1919c0 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 ;.}.}.}.}..return.$matches[1]...
1919e0 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 '.'...$matches[2]...'.'...$match
191a00 65 73 5b 33 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 34 5d 3b 0a 7d 0a 0a 0a 0a es[3]...'.'...$matches[4];.}....
191a20 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 53 74 61 62 .....private.function.expandStab
191a40 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d ility($stability).{.$stability.=
191a60 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 0a 73 77 69 74 63 68 .strtolower($stability);..switch
191a80 20 28 24 73 74 61 62 69 6c 69 74 79 29 20 7b 0a 63 61 73 65 20 27 61 27 3a 0a 72 65 74 75 72 6e .($stability).{.case.'a':.return
191aa0 20 27 61 6c 70 68 61 27 3b 0a 63 61 73 65 20 27 62 27 3a 0a 72 65 74 75 72 6e 20 27 62 65 74 61 .'alpha';.case.'b':.return.'beta
191ac0 27 3b 0a 63 61 73 65 20 27 70 27 3a 0a 63 61 73 65 20 27 70 6c 27 3a 0a 72 65 74 75 72 6e 20 27 ';.case.'p':.case.'pl':.return.'
191ae0 70 61 74 63 68 27 3b 0a 63 61 73 65 20 27 72 63 27 3a 0a 72 65 74 75 72 6e 20 27 52 43 27 3b 0a patch';.case.'rc':.return.'RC';.
191b00 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a default:.return.$stability;.}.}.
191b20 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 }.Copyright.(C).2016.Composer..P
191b40 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 ermission.is.hereby.granted,.fre
191b60 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 e.of.charge,.to.any.person.obtai
191b80 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 ning.a.copy.of.this.software.and
191ba0 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 .associated.documentation.files.
191bc0 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 65 (the."Software"),.to.deal.in.the
191be0 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 .Software.without.restriction,.i
191c00 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 ncluding.without.limitation.the.
191c20 72 69 67 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 rights.to.use,.copy,.modify,.mer
191c40 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 ge,.publish,.distribute,.sublice
191c60 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 53 nse,.and/or.sell.copies.of.the.S
191c80 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 oftware,.and.to.permit.persons.t
191ca0 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 o.whom.the.Software.is.furnished
191cc0 20 74 6f 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 .to.do.so,.subject.to.the.follow
191ce0 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 ing.conditions:..The.above.copyr
191d00 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 ight.notice.and.this.permission.
191d20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a notice.shall.be.included.in.all.
191d40 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f copies.or.substantial.portions.o
191d60 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 f.the.Software...THE.SOFTWARE.IS
191d80 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 .PROVIDED."AS.IS",.WITHOUT.WARRA
191da0 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c NTY.OF.ANY.KIND,.EXPRESS.OR.IMPL
191dc0 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 IED,.INCLUDING.BUT.NOT.LIMITED.T
191de0 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c O.THE.WARRANTIES.OF.MERCHANTABIL
191e00 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 ITY,.FITNESS.FOR.A.PARTICULAR.PU
191e20 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f RPOSE.AND.NONINFRINGEMENT..IN.NO
191e40 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 .EVENT.SHALL.THE.AUTHORS.OR.COPY
191e60 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 RIGHT.HOLDERS.BE.LIABLE.FOR.ANY.
191e80 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 CLAIM,.DAMAGES.OR.OTHER.LIABILIT
191ea0 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 Y,.WHETHER.IN.AN.ACTION.OF.CONTR
191ec0 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 ACT,.TORT.OR.OTHERWISE,.ARISING.
191ee0 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 FROM,.OUT.OF.OR.IN.CONNECTION.WI
191f00 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 TH.THE.SOFTWARE.OR.THE.USE.OR.OT
191f20 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f HER.DEALINGS.IN.THE.SOFTWARE..<?
191f40 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 php...........namespace.Composer
191f60 5c 43 61 42 75 6e 64 6c 65 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e \CaBundle;..use.Psr\Log\LoggerIn
191f80 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 terface;.use.Symfony\Component\P
191fa0 72 6f 63 65 73 73 5c 50 68 70 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 61 rocess\PhpProcess;......class.Ca
191fc0 42 75 6e 64 6c 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 50 61 74 68 3b Bundle.{.private.static.$caPath;
191fe0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 20 .private.static.$caFileValidity.
192000 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 75 73 65 4f 70 =.array();.private.static.$useOp
192020 65 6e 73 73 6c 50 61 72 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ensslParse;.....................
192040 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ..................public.static.
192060 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 75 6e 64 6c 65 50 61 function.getSystemCaRootBundlePa
192080 74 68 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 20 3d 20 6e 75 6c th(LoggerInterface.$logger.=.nul
1920a0 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 21 3d 3d 20 6e 75 6c 6c 29 l).{.if.(self::$caPath.!==.null)
1920c0 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 3b 0a 7d 0a 0a 0a 20 0a 20 .{.return.self::$caPath;.}......
1920e0 24 65 6e 76 43 65 72 74 46 69 6c 65 20 3d 20 67 65 74 65 6e 76 28 27 53 53 4c 5f 43 45 52 54 5f $envCertFile.=.getenv('SSL_CERT_
192100 46 49 4c 45 27 29 3b 0a 69 66 20 28 24 65 6e 76 43 65 72 74 46 69 6c 65 20 26 26 20 69 73 5f 72 FILE');.if.($envCertFile.&&.is_r
192120 65 61 64 61 62 6c 65 28 24 65 6e 76 43 65 72 74 46 69 6c 65 29 20 26 26 20 73 74 61 74 69 63 3a eadable($envCertFile).&&.static:
192140 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 65 6e 76 43 65 72 74 46 69 6c 65 2c 20 24 6c :validateCaFile($envCertFile,.$l
192160 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d ogger)).{.return.self::$caPath.=
192180 20 24 65 6e 76 43 65 72 74 46 69 6c 65 3b 0a 7d 0a 0a 0a 20 0a 20 24 65 6e 76 43 65 72 74 44 69 .$envCertFile;.}......$envCertDi
1921a0 72 20 3d 20 67 65 74 65 6e 76 28 27 53 53 4c 5f 43 45 52 54 5f 44 49 52 27 29 3b 0a 69 66 20 28 r.=.getenv('SSL_CERT_DIR');.if.(
1921c0 24 65 6e 76 43 65 72 74 44 69 72 20 26 26 20 69 73 5f 64 69 72 28 24 65 6e 76 43 65 72 74 44 69 $envCertDir.&&.is_dir($envCertDi
1921e0 72 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 65 6e 76 43 65 72 74 44 69 72 29 29 20 r).&&.is_readable($envCertDir)).
192200 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 24 65 6e 76 43 65 72 {.return.self::$caPath.=.$envCer
192220 74 44 69 72 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 69 6e 69 5f 67 65 74 28 27 tDir;.}..$configured.=.ini_get('
192240 6f 70 65 6e 73 73 6c 2e 63 61 66 69 6c 65 27 29 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 75 72 65 openssl.cafile');.if.($configure
192260 64 20 26 26 20 73 74 72 6c 65 6e 28 24 63 6f 6e 66 69 67 75 72 65 64 29 20 3e 20 30 20 26 26 20 d.&&.strlen($configured).>.0.&&.
192280 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 6f 6e 66 69 67 75 72 65 64 29 20 26 26 20 73 74 61 74 is_readable($configured).&&.stat
1922a0 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 63 6f 6e 66 69 67 75 72 65 64 2c 20 ic::validateCaFile($configured,.
1922c0 24 6c 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 $logger)).{.return.self::$caPath
1922e0 20 3d 20 24 63 6f 6e 66 69 67 75 72 65 64 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 75 72 65 64 20 3d .=.$configured;.}..$configured.=
192300 20 69 6e 69 5f 67 65 74 28 27 6f 70 65 6e 73 73 6c 2e 63 61 70 61 74 68 27 29 3b 0a 69 66 20 28 .ini_get('openssl.capath');.if.(
192320 24 63 6f 6e 66 69 67 75 72 65 64 20 26 26 20 69 73 5f 64 69 72 28 24 63 6f 6e 66 69 67 75 72 65 $configured.&&.is_dir($configure
192340 64 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 6f 6e 66 69 67 75 72 65 64 29 29 20 d).&&.is_readable($configured)).
192360 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 {.return.self::$caPath.=.$config
192380 75 72 65 64 3b 0a 7d 0a 0a 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 ured;.}..$caBundlePaths.=.array(
1923a0 0a 27 2f 65 74 63 2f 70 6b 69 2f 74 6c 73 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 .'/etc/pki/tls/certs/ca-bundle.c
1923c0 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 63 65 72 74 69 66 rt',...'/etc/ssl/certs/ca-certif
1923e0 69 63 61 74 65 73 2e 63 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 61 2d 62 75 6e 64 icates.crt',...'/etc/ssl/ca-bund
192400 6c 65 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 65 72 le.pem',...'/usr/local/share/cer
192420 74 73 2f 63 61 2d 72 6f 6f 74 2d 6e 73 73 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 73 73 6c ts/ca-root-nss.crt',...'/usr/ssl
192440 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 6f 70 74 2f 6c /certs/ca-bundle.crt',...'/opt/l
192460 6f 63 61 6c 2f 73 68 61 72 65 2f 63 75 72 6c 2f 63 75 72 6c 2d 63 61 2d 62 75 6e 64 6c 65 2e 63 ocal/share/curl/curl-ca-bundle.c
192480 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 75 72 6c 2f 63 75 rt',...'/usr/local/share/curl/cu
1924a0 72 6c 2d 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 73 68 61 72 65 rl-ca-bundle.crt',...'/usr/share
1924c0 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 65 /ssl/certs/ca-bundle.crt',...'/e
1924e0 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f tc/ssl/cert.pem',...'/usr/local/
192500 65 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c etc/ssl/cert.pem',...'/usr/local
192520 2f 65 74 63 2f 6f 70 65 6e 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 29 3b 0a 0a 66 6f /etc/openssl/cert.pem',...);..fo
192540 72 65 61 63 68 20 28 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 61 73 20 24 63 61 42 75 6e 64 reach.($caBundlePaths.as.$caBund
192560 6c 65 29 20 7b 0a 69 66 20 28 40 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 61 42 75 6e 64 6c 65 le).{.if.(@is_readable($caBundle
192580 29 20 26 26 20 73 74 61 74 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 63 61 42 ).&&.static::validateCaFile($caB
1925a0 75 6e 64 6c 65 2c 20 24 6c 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a undle,.$logger)).{.return.self::
1925c0 24 63 61 50 61 74 68 20 3d 20 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 $caPath.=.$caBundle;.}.}..foreac
1925e0 68 20 28 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 61 73 20 24 63 61 42 75 6e 64 6c 65 29 20 h.($caBundlePaths.as.$caBundle).
192600 7b 0a 24 63 61 42 75 6e 64 6c 65 20 3d 20 64 69 72 6e 61 6d 65 28 24 63 61 42 75 6e 64 6c 65 29 {.$caBundle.=.dirname($caBundle)
192620 3b 0a 69 66 20 28 40 69 73 5f 64 69 72 28 24 63 61 42 75 6e 64 6c 65 29 20 26 26 20 67 6c 6f 62 ;.if.(@is_dir($caBundle).&&.glob
192640 28 24 63 61 42 75 6e 64 6c 65 2e 27 2f 2a 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a ($caBundle.'/*')).{.return.self:
192660 3a 24 63 61 50 61 74 68 20 3d 20 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 :$caPath.=.$caBundle;.}.}..retur
192680 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 42 75 6e n.self::$caPath.=.static::getBun
1926a0 64 6c 65 64 43 61 42 75 6e 64 6c 65 50 61 74 68 28 29 3b 20 0a 20 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a dledCaBundlePath();...}.........
1926c0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 75 6e 64 6c 65 public.static.function.getBundle
1926e0 64 43 61 42 75 6e 64 6c 65 50 61 74 68 28 29 0a 7b 0a 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 20 dCaBundlePath().{.$caBundleFile.
192700 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 72 65 73 2f 63 61 63 65 72 74 2e 70 65 6d 27 3b 0a =.__DIR__.'/../res/cacert.pem';.
192720 0a 0a 20 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 42 75 6e 64 6c 65 46 .....if.(0.===.strpos($caBundleF
192740 69 6c 65 2c 20 27 70 68 61 72 3a 2f 2f 27 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 ile,.'phar://')).{.file_put_cont
192760 65 6e 74 73 28 0a 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 20 3d 20 74 65 6d 70 6e 61 ents(.$tempCaBundleFile.=.tempna
192780 6d 28 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2c 20 27 6f 70 65 6e 73 73 6c 2d 63 m(sys_get_temp_dir(),.'openssl-c
1927a0 61 2d 62 75 6e 64 6c 65 2d 27 29 2c 0a 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 a-bundle-'),.file_get_contents($
1927c0 63 61 42 75 6e 64 6c 65 46 69 6c 65 29 0a 29 3b 0a 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 caBundleFile).);..register_shutd
1927e0 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 66 75 6e 63 74 69 6f 6e 28 29 20 75 73 65 20 28 24 74 65 own_function(function().use.($te
192800 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 43 mpCaBundleFile).{.@unlink($tempC
192820 61 42 75 6e 64 6c 65 46 69 6c 65 29 3b 0a 7d 29 3b 0a 0a 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 aBundleFile);.});..$caBundleFile
192840 20 3d 20 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .=.$tempCaBundleFile;.}..return.
192860 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $caBundleFile;.}..........public
192880 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 .static.function.validateCaFile(
1928a0 24 66 69 6c 65 6e 61 6d 65 2c 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 $filename,.LoggerInterface.$logg
1928c0 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e 65 64 20 3d 20 66 61 er.=.null).{.static.$warned.=.fa
1928e0 6c 73 65 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c lse;..if.(isset(self::$caFileVal
192900 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 idity[$filename])).{.return.self
192920 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 3b 0a 7d 0a ::$caFileValidity[$filename];.}.
192940 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 .$contents.=.file_get_contents($
192960 66 69 6c 65 6e 61 6d 65 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 73 74 61 74 69 63 3a 3a 69 73 4f filename);......if.(!static::isO
192980 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 69 66 20 28 21 24 77 61 72 6e 65 pensslParseSafe()).{.if.(!$warne
1929a0 64 20 26 26 20 24 6c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 2d 3e 77 61 72 6e 69 6e 67 d.&&.$logger).{.$logger->warning
1929c0 28 73 70 72 69 6e 74 66 28 0a 27 59 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 (sprintf(.'Your.version.of.PHP,.
1929e0 25 73 2c 20 69 73 20 61 66 66 65 63 74 65 64 20 62 79 20 43 56 45 2d 32 30 31 33 2d 36 34 32 30 %s,.is.affected.by.CVE-2013-6420
192a00 20 61 6e 64 20 63 61 6e 6e 6f 74 20 73 61 66 65 6c 79 20 70 65 72 66 6f 72 6d 20 63 65 72 74 69 .and.cannot.safely.perform.certi
192a20 66 69 63 61 74 65 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 77 65 20 73 74 72 6f 6e 67 6c 79 20 73 ficate.validation,.we.strongly.s
192a40 75 67 67 65 73 74 20 79 6f 75 20 75 70 67 72 61 64 65 2e 27 2c 0a 50 48 50 5f 56 45 52 53 49 4f uggest.you.upgrade.',.PHP_VERSIO
192a60 4e 0a 29 29 3b 0a 24 77 61 72 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 69 73 56 61 6c 69 N.));.$warned.=.true;.}..$isVali
192a80 64 20 3d 20 21 65 6d 70 74 79 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a d.=.!empty($contents);.}.else.{.
192aa0 24 69 73 56 61 6c 69 64 20 3d 20 28 62 6f 6f 6c 29 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 $isValid.=.(bool).openssl_x509_p
192ac0 61 72 73 65 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 6c 6f 67 67 65 72 29 arse($contents);.}..if.($logger)
192ae0 20 7b 0a 24 6c 6f 67 67 65 72 2d 3e 64 65 62 75 67 28 27 43 68 65 63 6b 65 64 20 43 41 20 66 69 .{.$logger->debug('Checked.CA.fi
192b00 6c 65 20 27 2e 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 6e 61 6d 65 29 2e 27 3a 20 27 2e 28 24 le.'.realpath($filename).':.'.($
192b20 69 73 56 61 6c 69 64 20 3f 20 27 76 61 6c 69 64 27 20 3a 20 27 69 6e 76 61 6c 69 64 27 29 29 3b isValid.?.'valid'.:.'invalid'));
192b40 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 .}..return.self::$caFileValidity
192b60 5b 24 66 69 6c 65 6e 61 6d 65 5d 20 3d 20 24 69 73 56 61 6c 69 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a [$filename].=.$isValid;.}.......
192b80 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 70 65 6e ...public.static.function.isOpen
192ba0 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 sslParseSafe().{.if.(null.!==.se
192bc0 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 73 lf::$useOpensslParse).{.return.s
192be0 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b 0a 7d 0a 0a 69 66 20 28 50 48 elf::$useOpensslParse;.}..if.(PH
192c00 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 29 20 7b 0a 72 65 74 75 72 6e 20 P_VERSION_ID.>=.50600).{.return.
192c20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d self::$useOpensslParse.=.true;.}
192c40 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 0a 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c ..........if.(.(PHP_VERSION_ID.<
192c60 20 35 30 34 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 33 32 .50400.&&.PHP_VERSION_ID.>=.5032
192c80 38 29 0a 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 30 30 20 26 26 8).||.(PHP_VERSION_ID.<.50500.&&
192ca0 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 32 33 29 0a 7c 7c 20 28 50 48 .PHP_VERSION_ID.>=.50423).||.(PH
192cc0 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 P_VERSION_ID.<.50600.&&.PHP_VERS
192ce0 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 35 30 37 29 0a 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 ION_ID.>=.50507).).{...return.se
192d00 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a lf::$useOpensslParse.=.true;.}..
192d20 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e if.(defined('PHP_WINDOWS_VERSION
192d40 5f 42 55 49 4c 44 27 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f _BUILD')).{...return.self::$useO
192d60 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 61 72 65 pensslParse.=.false;.}..$compare
192d80 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 DistroVersionPrefix.=.function.(
192da0 24 70 72 65 66 69 78 2c 20 24 66 69 78 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 72 65 67 65 78 $prefix,.$fixedVersion).{.$regex
192dc0 20 3d 20 27 7b 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 70 72 65 66 69 78 29 2e 27 28 5b 30 .=.'{^'.preg_quote($prefix).'([0
192de0 2d 39 5d 2b 29 24 7d 27 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 -9]+)$}';..if.(preg_match($regex
192e00 2c 20 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 6d 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 69 ,.PHP_VERSION,.$m)).{.return.((i
192e20 6e 74 29 20 24 6d 5b 31 5d 29 20 3e 3d 20 24 66 69 78 65 64 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a nt).$m[1]).>=.$fixedVersion;.}..
192e40 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 0a 20 69 66 20 28 0a 24 63 6f 6d 70 61 72 return.false;.};....if.(.$compar
192e60 65 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 33 2e 33 2d 37 2b 73 71 eDistroVersionPrefix('5.3.3-7+sq
192e80 75 65 65 7a 65 27 2c 20 31 38 29 20 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 ueeze',.18)...||.$compareDistroV
192ea0 65 72 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 34 2e 34 2d 31 34 2b 64 65 62 37 75 27 2c 20 37 ersionPrefix('5.4.4-14+deb7u',.7
192ec0 29 20 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 )...||.$compareDistroVersionPref
192ee0 69 78 28 27 35 2e 33 2e 31 30 2d 31 75 62 75 6e 74 75 33 2e 27 2c 20 39 29 20 0a 20 29 20 7b 0a ix('5.3.10-1ubuntu3.',.9)...).{.
192f00 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 return.self::$useOpensslParse.=.
192f20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 true;.}....if.(!class_exists('Sy
192f40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 50 72 6f 63 65 mfony\Component\Process\PhpProce
192f60 73 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c ss')).{.return.self::$useOpenssl
192f80 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 0a 20 Parse.=.false;.}................
192fa0 0a 20 24 63 65 72 74 20 3d 20 27 4c 53 30 74 4c 53 31 43 52 55 64 4a 54 69 42 44 52 56 4a 55 53 ..$cert.=.'LS0tLS1CRUdJTiBDRVJUS
192fc0 55 5a 4a 51 30 46 55 52 53 30 74 4c 53 30 74 43 6b 31 4a 53 55 56 77 52 45 4e 44 51 54 52 35 5a UZJQ0FURS0tLS0tCk1JSUVwRENDQTR5Z
192fe0 30 46 33 53 55 4a 42 5a 30 6c 4b 51 55 70 36 64 54 68 79 4e 6e 55 32 5a 55 4a 6a 54 55 45 77 52 0F3SUJBZ0lKQUp6dThyNnU2ZUJjTUEwR
193000 30 4e 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 4a 52 56 55 46 4e 53 55 68 45 54 56 46 7a 64 0NTcUdTSWIzRFFFQkJRVUFNSUhETVFzd
193020 30 4e 52 57 55 51 4b 56 6c 46 52 52 30 56 33 53 6b 56 53 56 45 56 6a 54 55 4a 76 52 30 45 78 56 0NRWUQKVlFRR0V3SkVSVEVjTUJvR0ExV
193040 55 56 44 51 58 64 55 56 47 30 35 65 56 70 49 53 6d 39 61 56 32 78 31 54 46 5a 6b 62 47 4d 7a 55 UVDQXdUVG05eVpISm9aV2x1TFZkbGMzU
193060 6d 31 5a 56 33 68 73 59 6d 70 46 55 55 31 42 4e 45 64 42 4d 56 56 46 51 6e 64 33 53 41 70 54 4f m1ZV3hsYmpFUU1BNEdBMVVFQnd3SApTO
193080 45 39 45 64 33 4a 61 63 32 4a 71 52 56 56 4e 51 6b 6c 48 51 54 46 56 52 55 4e 6e 64 30 78 56 4d E9Ed3Jac2JqRVVNQklHQTFVRUNnd0xVM
1930a0 6c 5a 79 5a 45 64 73 64 6d 4a 72 56 6e 42 69 62 6b 31 34 53 48 70 42 5a 45 4a 6e 54 6c 5a 43 51 lZyZEdsdmJrVnBibk14SHpBZEJnTlZCQ
1930c0 58 4e 4e 52 6d 73 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 43 6d 4e 35 51 6b 52 61 57 45 6f 77 53 XNNRmsxaGJHbGphVzkxCmN5QkRaWEowS
1930e0 55 5a 4f 62 46 6b 7a 55 6e 42 69 4d 6a 52 34 53 56 52 42 5a 6b 4a 6e 54 6c 5a 43 51 55 31 4e 52 UZObFkzUnBiMjR4SVRBZkJnTlZCQU1NR
193100 30 63 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 59 33 6b 31 65 6c 70 58 64 44 42 68 56 7a 6c 31 57 0cxaGJHbGphVzkxY3k1elpXdDBhVzl1W
193120 6c 64 73 64 57 4e 35 4e 57 73 4b 57 6c 52 46 63 55 31 44 5a 30 64 44 55 33 46 48 55 30 6c 69 4d ldsdWN5NWsKWlRFcU1DZ0dDU3FHU0liM
193140 30 52 52 52 55 70 42 55 6c 6c 69 59 7a 4e 53 62 46 70 74 52 6e 56 4d 62 56 5a 36 59 7a 4a 57 65 0RRRUpBUlliYzNSbFptRnVMbVZ6YzJWe
193160 56 46 49 54 6d 78 68 4d 31 4a 77 59 6a 49 31 62 47 46 58 4e 58 70 4d 62 56 4a 73 54 55 68 56 57 VFITmxhM1JwYjI1bGFXNXpMbVJsTUhVW
193180 51 70 61 52 45 55 31 54 6e 70 42 64 30 31 55 51 58 68 4e 52 45 46 33 54 55 52 42 64 31 64 6e 51 QpaREU1TnpBd01UQXhNREF3TURBd1dnQ
1931a0 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
1931c0 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 43 6b 46 42 51 55 46 42 51 UFBQUFBQUFBQUFBQUFBQUFBCkFBQUFBQ
1931e0 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
193200 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
193220 55 46 42 51 55 46 42 51 55 46 42 51 55 45 4b 51 55 46 42 51 55 46 42 51 56 68 45 56 45 55 77 54 UFBQUFBQUFBQUEKQUFBQUFBQVhEVEUwT
193240 56 52 46 65 55 39 45 52 58 68 4e 65 6d 74 36 54 6c 5a 76 64 32 64 6a 54 58 68 44 65 6b 46 4b 51 VRFeU9ERXhNemt6TlZvd2djTXhDekFKQ
193260 6d 64 4f 56 6b 4a 42 57 56 52 42 61 31 4a 47 54 56 4a 33 64 30 64 6e 57 55 52 57 55 56 46 4a 52 mdOVkJBWVRBa1JGTVJ3d0dnWURWUVFJR
193280 45 4a 4f 54 77 70 69 4d 30 70 72 59 32 31 6f 62 47 46 58 4e 48 52 57 4d 6c 5a 36 5a 45 64 61 61 EJOTwpiM0prY21obGFXNHRWMlZ6ZEdaa
1932a0 47 4a 48 56 6e 56 4e 55 6b 46 33 52 47 64 5a 52 46 5a 52 55 55 68 45 51 57 52 4d 64 7a 52 51 51 GJHVnVNUkF3RGdZRFZRUUhEQWRMdzRQQ
1932c0 33 52 74 65 48 56 4e 55 6c 46 33 52 57 64 5a 52 46 5a 52 55 55 74 45 51 58 52 55 43 6c 70 58 64 3RteHVNUlF3RWdZRFZRUUtEQXRUClpXd
1932e0 44 42 68 56 7a 6c 31 55 6c 64 73 64 57 4e 36 52 57 5a 4e 51 6a 42 48 51 54 46 56 52 55 4e 33 64 DBhVzl1UldsdWN6RWZNQjBHQTFVRUN3d
193300 31 64 55 56 30 5a 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4a 52 55 35 73 59 32 35 52 5a 31 55 79 56 1dUV0ZzYVdOcGIzVnpJRU5sY25RZ1UyV
193320 6d 70 6b 52 32 78 32 59 6d 70 46 61 45 31 43 4f 45 63 4b 51 54 46 56 52 55 46 33 64 31 6c 69 56 mpkR2x2YmpFaE1COEcKQTFVRUF3d1liV
193340 30 5a 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4d 62 6b 35 73 59 54 4e 53 63 47 49 79 4e 57 78 68 56 0ZzYVdOcGIzVnpMbk5sYTNScGIyNWxhV
193360 7a 56 36 54 47 31 53 62 45 31 54 62 33 64 4c 51 56 6c 4b 53 32 39 61 53 57 68 32 59 30 35 42 55 zV6TG1SbE1Tb3dLQVlKS29aSWh2Y05BU
193380 57 74 43 52 6d 68 30 65 67 70 6b 52 31 5a 74 57 56 63 30 64 56 70 59 54 6e 70 61 57 45 70 42 59 WtCRmh0egpkR1ZtWVc0dVpYTnpaWEpBY
1933a0 7a 4a 57 63 6d 52 48 62 48 5a 69 62 56 5a 77 59 6d 35 4e 64 56 70 48 56 58 64 6e 5a 30 56 70 54 zJWcmRHbHZibVZwYm5NdVpHVXdnZ0VpT
1933c0 55 45 77 52 30 4e 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 46 52 56 55 46 42 4e 45 6c 43 43 UEwR0NTcUdTSWIzRFFFQkFRVUFBNElCC
1933e0 6b 52 33 51 58 64 6e 5a 30 56 4c 51 57 39 4a 51 6b 46 52 52 45 52 42 5a 6a 4e 6f 62 44 64 4b 57 kR3QXdnZ0VLQW9JQkFRRERBZjNobDdKW
193400 54 42 59 59 30 5a 75 61 58 6c 46 53 6e 42 54 55 30 52 78 62 6a 42 50 63 55 4a 79 4e 6c 46 51 4e TBYY0ZuaXlFSnBTU0RxbjBPcUJyNlFQN
193420 6a 56 31 63 30 70 51 55 6e 51 76 4f 46 42 68 52 47 39 78 51 6e 55 4b 64 30 56 5a 56 43 39 4f 59 jV1c0pQUnQvOFBhRG9xQnUKd0VZVC9OY
193440 53 73 32 5a 6e 4e 6e 55 47 70 44 4d 48 56 4c 4f 55 52 61 5a 31 64 6e 4d 6e 52 49 56 31 64 76 59 Ss2ZnNnUGpDMHVLOURaZ1dnMnRIV1dvY
193460 57 35 54 59 6d 78 42 54 57 39 36 4e 56 42 49 4e 6c 6f 72 55 7a 52 54 53 46 4a 61 4e 32 55 79 5a W5TYmxBTW96NVBINlorUzRTSFJaN2UyZ
193480 45 52 4a 61 6c 42 71 5a 47 68 71 61 41 6f 77 62 55 78 6e 4d 6c 56 4e 54 7a 56 35 63 44 42 57 4e ERJalBqZGhqaAowbUxnMlVNTzV5cDBWN
1934a0 7a 6b 33 52 32 64 7a 4f 57 78 4f 64 44 5a 4b 55 6d 5a 49 4f 44 46 4e 54 6a 4a 76 59 6c 68 58 63 zk3R2dzOWxOdDZKUmZIODFNTjJvYlhXc
1934c0 7a 52 4f 64 48 70 30 54 45 31 31 52 44 5a 6c 5a 33 46 77 63 6a 68 6b 52 47 4a 79 4d 7a 52 68 54 zROdHp0TE11RDZlZ3FwcjhkRGJyMzRhT
1934e0 33 4d 34 43 6e 42 72 5a 48 56 70 4e 56 56 68 64 31 52 61 61 33 4e 35 4e 58 42 4d 55 45 68 78 4e 3M4CnBrZHVpNVVhd1Raa3N5NXBMUEhxN
193500 57 4e 4e 61 45 5a 48 62 54 41 32 64 6a 59 31 51 30 78 76 4d 46 59 79 55 47 51 35 4b 30 74 42 62 WNNaEZHbTA2djY1Q0xvMFYyUGQ5K0tBb
193520 32 74 51 63 6c 42 6a 54 6a 56 4c 54 45 74 6c 59 6e 6f 33 62 55 78 77 61 7a 59 4b 55 30 31 6c 52 2tQclBjTjVLTEtlYno3bUxwazYKU01lR
193540 56 68 50 53 31 41 30 61 57 52 46 63 58 68 35 55 54 64 50 4e 32 5a 43 64 55 68 4e 5a 57 52 7a 55 VhPS1A0aWRFcXh5UTdPN2ZCdUhNZWRzU
193560 57 68 31 4b 33 42 79 57 54 4e 7a 61 54 4e 43 56 58 6c 4c 5a 6c 46 30 55 44 56 44 57 6d 35 59 4d Wh1K3ByWTNzaTNCVXlLZlF0UDVDWm5YM
193580 6d 4a 77 4d 48 64 4c 53 48 68 59 4d 54 4a 45 57 41 6f 78 62 6d 5a 47 53 58 51 35 52 47 4a 48 64 mJwMHdLSHhYMTJEWAoxbmZGSXQ5RGJHd
1935a0 6b 68 55 59 33 6c 50 64 55 34 72 62 6c 70 4d 55 45 4a 74 4d 33 5a 58 65 47 35 30 65 55 6c 4a 64 khUY3lPdU4rblpMUEJtM3ZXeG50eUlJd
1935c0 6c 5a 42 5a 30 31 43 51 55 46 48 61 6c 46 71 51 6b 46 4e 51 57 74 48 51 54 46 56 5a 45 56 33 55 lZBZ01CQUFHalFqQkFNQWtHQTFVZEV3U
1935e0 55 4e 4e 51 55 46 33 43 6b 56 52 57 55 70 5a 53 56 70 4a 51 56 6c 69 4e 46 46 6e 52 55 4a 43 51 UNNQUF3CkVRWUpZSVpJQVliNFFnRUJCQ
193600 56 46 45 51 57 64 6c 51 55 31 42 63 30 64 42 4d 56 56 6b 52 48 64 52 52 55 46 33 53 55 5a 76 52 VFEQWdlQU1Bc0dBMVVkRHdRRUF3SUZvR
193620 45 46 55 51 6d 64 4f 56 6b 68 54 56 55 56 45 52 45 46 4c 51 6d 64 6e 63 6b 4a 6e 52 55 59 4b 51 EFUQmdOVkhTVUVEREFLQmdnckJnRUYKQ
193640 6c 46 6a 52 45 46 71 51 55 35 43 5a 32 74 78 61 47 74 70 52 7a 6c 33 4d 45 4a 42 55 56 56 47 51 lFjREFqQU5CZ2txaGtpRzl3MEJBUVVGQ
193660 55 46 50 51 30 46 52 52 55 46 48 4d 47 5a 61 57 56 6c 44 56 47 4a 6b 61 6a 46 59 57 57 4d 72 4d UFPQ0FRRUFHMGZaWVlDVGJkajFYWWMrM
193680 56 4e 75 62 32 46 51 55 69 74 32 53 54 68 44 4f 45 4e 68 52 41 6f 34 4b 7a 42 56 57 57 68 6b 62 VNub2FQUit2SThDOENhRAo4KzBVWWhkb
1936a0 6e 6c 56 4e 47 64 6e 59 54 42 43 51 57 4e 45 63 6c 6b 35 5a 54 6b 30 5a 55 56 42 64 54 5a 61 63 nlVNGdnYTBCQWNEclk5ZTk0ZUVBdTZac
1936c0 58 6c 6a 52 6a 5a 47 61 6b 78 78 57 46 68 6b 51 57 4a 76 63 48 42 58 62 32 4e 79 4e 6c 51 32 52 XljRjZGakxxWFhkQWJvcHBXb2NyNlQ2R
1936e0 30 51 78 65 44 4d 7a 51 32 74 73 43 6c 5a 42 63 6e 70 48 4c 30 74 34 55 57 39 6f 52 30 51 79 53 0QxeDMzQ2tsClZBcnpHL0t4UW9oR0QyS
193700 6d 56 78 61 32 68 4a 54 57 78 45 62 32 31 34 53 45 38 33 61 32 45 7a 4f 53 74 50 59 54 68 70 4d mVxa2hJTWxEb214SE83a2EzOStPYThpM
193720 6e 5a 58 54 46 5a 35 61 6c 55 34 51 56 70 32 56 30 31 42 63 6e 56 49 59 54 52 46 52 55 35 35 52 nZXTFZ5alU4QVp2V01BcnVIYTRFRU55R
193740 7a 63 4b 62 46 63 79 51 57 46 6e 59 55 5a 4c 52 6b 4e 79 4f 56 52 75 57 46 52 6d 63 6d 52 34 52 zcKbFcyQWFnYUZLRkNyOVRuWFRmcmR4R
193760 31 5a 46 59 6e 59 33 53 31 5a 52 4e 6d 4a 6b 61 47 63 31 63 44 56 54 61 6e 42 58 53 44 45 72 54 1ZFYnY3S1ZRNmJkaGc1cDVTanBXSDErT
193780 58 45 77 4d 33 56 53 4d 31 70 59 55 45 4a 5a 5a 48 6c 57 4f 44 4d 78 4f 51 70 76 4d 47 78 57 61 XEwM3VSM1pYUEJZZHlWODMxOQpvMGxWa
1937a0 6a 46 4c 52 6b 6b 79 52 45 4e 4d 4c 32 78 70 56 32 6c 7a 53 6c 4a 76 62 32 59 72 4d 57 4e 53 4d jFLRkkyRENML2xpV2lzSlJvb2YrMWNSM
1937c0 7a 56 44 64 47 51 77 64 31 6c 43 59 33 42 43 4e 6c 52 61 63 32 78 4e 59 30 39 51 62 44 63 32 5a zVDdGQwd1lCY3BCNlRac2xNY09QbDc2Z
1937e0 48 64 4c 64 30 70 6e 5a 55 70 76 4d 6c 46 6e 43 6c 70 7a 5a 6d 31 6a 4d 6e 5a 44 4d 53 39 78 54 HdLd0pnZUpvMlFnClpzZm1jMnZDMS9xT
193800 32 78 4f 64 55 35 78 4c 7a 42 55 65 6e 70 72 56 6b 64 32 4f 45 56 55 56 44 4e 44 5a 32 46 56 4b 2xOdU5xLzBUenprVkd2OEVUVDNDZ2FVK
193820 31 56 59 5a 54 52 59 54 31 5a 32 61 32 4e 6a 5a 57 4a 4b 62 6a 4a 6b 5a 7a 30 39 43 69 30 74 4c 1VYZTRYT1Z2a2NjZWJKbjJkZz09Ci0tL
193840 53 30 74 52 55 35 45 49 45 4e 46 55 6c 52 4a 52 6b 6c 44 51 56 52 46 4c 53 30 74 4c 53 30 4b 27 S0tRU5EIENFUlRJRklDQVRFLS0tLS0K'
193860 3b 0a 24 73 63 72 69 70 74 20 3d 20 3c 3c 3c 27 45 4f 54 27 0a 0a 65 72 72 6f 72 5f 72 65 70 6f ;.$script.=.<<<'EOT'..error_repo
193880 72 74 69 6e 67 28 2d 31 29 3b 0a 24 69 6e 66 6f 20 3d 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f rting(-1);.$info.=.openssl_x509_
1938a0 70 61 72 73 65 28 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 27 25 73 27 29 29 3b 0a 76 61 72 5f parse(base64_decode('%s'));.var_
1938c0 64 75 6d 70 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 69 6e 66 6f 5b 27 69 73 73 75 65 72 27 dump(PHP_VERSION,.$info['issuer'
1938e0 5d 5b 27 65 6d 61 69 6c 41 64 64 72 65 73 73 27 5d 2c 20 24 69 6e 66 6f 5b 27 76 61 6c 69 64 46 ]['emailAddress'],.$info['validF
193900 72 6f 6d 5f 74 69 6d 65 5f 74 27 5d 29 3b 0a 0a 45 4f 54 3b 0a 24 73 63 72 69 70 74 20 3d 20 27 rom_time_t']);..EOT;.$script.=.'
193920 3c 27 2e 22 3f 70 68 70 5c 6e 22 2e 73 70 72 69 6e 74 66 28 24 73 63 72 69 70 74 2c 20 24 63 65 <'."?php\n".sprintf($script,.$ce
193940 72 74 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 68 70 50 72 rt);..try.{.$process.=.new.PhpPr
193960 6f 63 65 73 73 28 24 73 63 72 69 70 74 29 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 6d 75 73 74 52 75 ocess($script);.$process->mustRu
193980 6e 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a n();.}.catch.(\Exception.$e).{..
1939a0 20 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 ...return.self::$useOpensslParse
1939c0 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 73 70 6c 69 .=.false;.}..$output.=.preg_spli
1939e0 74 28 27 7b 5c 72 3f 5c 6e 7d 27 2c 20 74 72 69 6d 28 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f t('{\r?\n}',.trim($process->getO
193a00 75 74 70 75 74 28 29 29 29 3b 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 utput()));.$errorOutput.=.trim($
193a20 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 0a 69 66 20 process->getErrorOutput());..if.
193a40 28 0a 63 6f 75 6e 74 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 33 0a 26 26 20 24 6f 75 74 70 75 (.count($output).===.3.&&.$outpu
193a60 74 5b 30 5d 20 3d 3d 3d 20 73 70 72 69 6e 74 66 28 27 73 74 72 69 6e 67 28 25 64 29 20 22 25 73 t[0].===.sprintf('string(%d)."%s
193a80 22 27 2c 20 73 74 72 6c 65 6e 28 50 48 50 5f 56 45 52 53 49 4f 4e 29 2c 20 50 48 50 5f 56 45 52 "',.strlen(PHP_VERSION),.PHP_VER
193aa0 53 49 4f 4e 29 0a 26 26 20 24 6f 75 74 70 75 74 5b 31 5d 20 3d 3d 3d 20 27 73 74 72 69 6e 67 28 SION).&&.$output[1].===.'string(
193ac0 32 37 29 20 22 73 74 65 66 61 6e 2e 65 73 73 65 72 40 73 65 6b 74 69 6f 6e 65 69 6e 73 2e 64 65 27)."stefan.esser@sektioneins.de
193ae0 22 27 0a 26 26 20 24 6f 75 74 70 75 74 5b 32 5d 20 3d 3d 3d 20 27 69 6e 74 28 2d 31 29 27 0a 26 "'.&&.$output[2].===.'int(-1)'.&
193b00 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 61 72 73 &.preg_match('{openssl_x509_pars
193b20 65 5c 28 5c 29 3a 20 69 6c 6c 65 67 61 6c 20 28 3f 3a 41 53 4e 31 20 64 61 74 61 20 74 79 70 65 e\(\):.illegal.(?:ASN1.data.type
193b40 20 66 6f 72 7c 6c 65 6e 67 74 68 20 69 6e 29 20 74 69 6d 65 73 74 61 6d 70 20 69 6e 20 2d 20 6f .for|length.in).timestamp.in.-.o
193b60 6e 20 6c 69 6e 65 20 5c 64 2b 7d 27 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 0a 29 20 7b 0a n.line.\d+}',.$errorOutput).).{.
193b80 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 ..return.self::$useOpensslParse.
193ba0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e =.true;.}..return.self::$useOpen
193bc0 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 sslParse.=.false;.}.....public.s
193be0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 73 65 6c 66 3a 3a 24 tatic.function.reset().{.self::$
193c00 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 73 65 6c 66 3a 3a caFileValidity.=.array();.self::
193c20 24 63 61 50 61 74 68 20 3d 20 6e 75 6c 6c 3b 0a 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 $caPath.=.null;.self::$useOpenss
193c40 6c 50 61 72 73 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 4d 49 54 20 4c 69 63 65 6e 73 65 0a 0a lParse.=.null;.}.}.MIT.License..
193c60 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 37 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 Copyright.(c).2017.Composer..Per
193c80 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 mission.is.hereby.granted,.free.
193ca0 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 of.charge,.to.any.person.obtaini
193cc0 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 ng.a.copy.of.this.software.and.a
193ce0 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 ssociated.documentation.files.(t
193d00 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 he."Software"),.to.deal.in.the.S
193d20 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 oftware.without.restriction,.inc
193d40 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 luding.without.limitation.the.ri
193d60 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 ghts.to.use,.copy,.modify,.merge
193d80 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 ,.publish,.distribute,.sublicens
193da0 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 e,.and/or.sell.copies.of.the.Sof
193dc0 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 tware,.and.to.permit.persons.to.
193de0 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 66 75 72 6e 69 73 68 65 64 20 74 whom.the.Software.is.furnished.t
193e00 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e o.do.so,.subject.to.the.followin
193e20 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 g.conditions:..The.above.copyrig
193e40 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f ht.notice.and.this.permission.no
193e60 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f tice.shall.be.included.in.all.co
193e80 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 pies.or.substantial.portions.of.
193ea0 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 the.Software...THE.SOFTWARE.IS.P
193ec0 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 ROVIDED."AS.IS",.WITHOUT.WARRANT
193ee0 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 Y.OF.ANY.KIND,.EXPRESS.OR.IMPLIE
193f00 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 D,.INCLUDING.BUT.NOT.LIMITED.TO.
193f20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 THE.WARRANTIES.OF.MERCHANTABILIT
193f40 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 Y,.FITNESS.FOR.A.PARTICULAR.PURP
193f60 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 OSE.AND.NONINFRINGEMENT..IN.NO.E
193f80 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 VENT.SHALL.THE.AUTHORS.OR.COPYRI
193fa0 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c GHT.HOLDERS.BE.LIABLE.FOR.ANY.CL
193fc0 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c AIM,.DAMAGES.OR.OTHER.LIABILITY,
193fe0 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 .WHETHER.IN.AN.ACTION.OF.CONTRAC
194000 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 T,.TORT.OR.OTHERWISE,.ARISING.FR
194020 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 OM,.OUT.OF.OR.IN.CONNECTION.WITH
194040 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 .THE.SOFTWARE.OR.THE.USE.OR.OTHE
194060 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 R.DEALINGS.IN.THE.SOFTWARE..<?ph
194080 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 p...........namespace.Composer\X
1940a0 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 43 6f 6e 66 69 debugHandler;.....class.PhpConfi
1940c0 67 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 4f 72 69 67 g.{......public.function.useOrig
1940e0 69 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 inal().{.$this->getDataAndReset(
194100 29 3b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 );.return.array();.}.......publi
194120 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 53 74 61 6e 64 61 72 64 28 29 0a 7b 0a 69 66 20 28 24 c.function.useStandard().{.if.($
194140 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 29 data.=.$this->getDataAndReset())
194160 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 2d 6e 27 2c 20 27 2d 63 27 2c 20 24 64 61 74 .{.return.array('-n',.'-c',.$dat
194180 61 5b 27 74 6d 70 49 6e 69 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b a['tmpIni']);.}..return.array();
1941a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 50 65 72 73 .}.......public.function.usePers
1941c0 69 73 74 65 6e 74 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 istent().{.if.($data.=.$this->ge
1941e0 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 29 20 7b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 tDataAndReset()).{.Process::setE
194200 6e 76 28 27 50 48 50 52 43 27 2c 20 24 64 61 74 61 5b 27 74 6d 70 49 6e 69 27 5d 29 3b 0a 50 72 nv('PHPRC',.$data['tmpIni']);.Pr
194220 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 ocess::setEnv('PHP_INI_SCAN_DIR'
194240 2c 20 27 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a ,.'');.}..return.array();.}.....
194260 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 41 6e 64 52 65 73 ..private.function.getDataAndRes
194280 65 74 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 et().{.if.($data.=.XdebugHandler
1942a0 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 29 20 7b 0a 50 72 6f 63 65 73 ::getRestartSettings()).{.Proces
1942c0 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 52 43 27 2c 20 24 64 61 74 61 5b 27 70 68 70 72 63 27 s::setEnv('PHPRC',.$data['phprc'
1942e0 5d 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 41 ]);.Process::setEnv('PHP_INI_SCA
194300 4e 5f 44 49 52 27 2c 20 24 64 61 74 61 5b 27 73 63 61 6e 44 69 72 27 5d 29 3b 0a 7d 0a 0a 72 65 N_DIR',.$data['scanDir']);.}..re
194320 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.$data;.}.}.<?php...........
194340 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 namespace.Composer\XdebugHandler
194360 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 0a 7b 0a 0a 0a 0a 0a 0a 0a ;.........class.Process.{.......
194380 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f ....public.static.function.addCo
1943a0 6c 6f 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 20 24 61 72 67 73 2c 20 24 63 6f 6c 6f 72 4f 70 74 lorOption(array.$args,.$colorOpt
1943c0 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 0a 7c 7c 20 69 6e 5f 61 ion).{.if.(!$colorOption.||.in_a
1943e0 72 72 61 79 28 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 2c 20 24 61 72 67 73 29 0a 7c 7c 20 21 70 72 rray($colorOption,.$args).||.!pr
194400 65 67 5f 6d 61 74 63 68 28 27 2f 5e 2d 2d 28 5b 61 2d 7a 5d 2b 24 29 7c 28 5e 2d 2d 5b 61 2d 7a eg_match('/^--([a-z]+$)|(^--[a-z
194420 5d 2b 3d 29 2f 27 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 ]+=)/',.$colorOption,.$matches))
194440 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d .{.return.$args;.}..if.(isset($m
194460 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 atches[2])).{...if.(false.!==.($
194480 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 6d 61 74 63 68 65 73 5b 32 5d index.=.array_search($matches[2]
1944a0 2e 27 61 75 74 6f 27 2c 20 24 61 72 67 73 29 29 29 20 7b 0a 24 61 72 67 73 5b 24 69 6e 64 65 78 .'auto',.$args))).{.$args[$index
1944c0 5d 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a ].=.$colorOption;.return.$args;.
1944e0 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 67 72 65 70 28 27 2f 5e 27 2e 24 6d 61 74 63 68 65 }.elseif.(preg_grep('/^'.$matche
194500 73 5b 32 5d 2e 27 2f 27 2c 20 24 61 72 67 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 s[2].'/',.$args)).{.return.$args
194520 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 27 2e 24 ;.}.}.elseif.(in_array('--no-'.$
194540 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 61 72 67 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 matches[1],.$args)).{.return.$ar
194560 67 73 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 gs;.}..if.(false.!==.($index.=.a
194580 72 72 61 79 5f 73 65 61 72 63 68 28 27 2d 2d 27 2c 20 24 61 72 67 73 29 29 29 20 7b 0a 0a 20 61 rray_search('--',.$args))).{...a
1945a0 72 72 61 79 5f 73 70 6c 69 63 65 28 24 61 72 67 73 2c 20 24 69 6e 64 65 78 2c 20 30 2c 20 24 63 rray_splice($args,.$index,.0,.$c
1945c0 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 72 67 73 5b 5d 20 3d 20 olorOption);.}.else.{.$args[].=.
1945e0 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d $colorOption;.}..return.$args;.}
194600 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ..............public.static.func
194620 74 69 6f 6e 20 65 73 63 61 70 65 28 24 61 72 67 2c 20 24 6d 65 74 61 20 3d 20 74 72 75 65 2c 20 tion.escape($arg,.$meta.=.true,.
194640 24 6d 6f 64 75 6c 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 $module.=.false).{.if.(!defined(
194660 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 'PHP_WINDOWS_VERSION_BUILD')).{.
194680 72 65 74 75 72 6e 20 22 27 22 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c return."'".str_replace("'",."'\\
1946a0 27 27 22 2c 20 24 61 72 67 29 2e 22 27 22 3b 0a 7d 0a 0a 24 71 75 6f 74 65 20 3d 20 73 74 72 70 ''",.$arg)."'";.}..$quote.=.strp
1946c0 62 72 6b 28 24 61 72 67 2c 20 22 20 5c 74 22 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 61 brk($arg,.".\t").!==.false.||.$a
1946e0 72 67 20 3d 3d 3d 20 27 27 3b 0a 0a 24 61 72 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 rg.===.'';..$arg.=.preg_replace(
194700 27 2f 28 5c 5c 5c 5c 2a 29 22 2f 27 2c 20 27 24 31 24 31 5c 5c 22 27 2c 20 24 61 72 67 2c 20 2d '/(\\\\*)"/',.'$1$1\\"',.$arg,.-
194720 31 2c 20 24 64 71 75 6f 74 65 73 29 3b 0a 0a 69 66 20 28 24 6d 65 74 61 29 20 7b 0a 24 6d 65 74 1,.$dquotes);..if.($meta).{.$met
194740 61 20 3d 20 24 64 71 75 6f 74 65 73 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 25 5b 5e a.=.$dquotes.||.preg_match('/%[^
194760 25 5d 2b 25 2f 27 2c 20 24 61 72 67 29 3b 0a 0a 69 66 20 28 21 24 6d 65 74 61 29 20 7b 0a 24 71 %]+%/',.$arg);..if.(!$meta).{.$q
194780 75 6f 74 65 20 3d 20 24 71 75 6f 74 65 20 7c 7c 20 73 74 72 70 62 72 6b 28 24 61 72 67 2c 20 27 uote.=.$quote.||.strpbrk($arg,.'
1947a0 5e 26 7c 3c 3e 28 29 27 29 20 21 3d 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 ^&|<>()').!==.false;.}.elseif.($
1947c0 6d 6f 64 75 6c 65 20 26 26 20 21 24 64 71 75 6f 74 65 73 20 26 26 20 24 71 75 6f 74 65 29 20 7b module.&&.!$dquotes.&&.$quote).{
1947e0 0a 24 6d 65 74 61 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 71 75 6f 74 65 29 .$meta.=.false;.}.}..if.($quote)
194800 20 7b 0a 24 61 72 67 20 3d 20 27 22 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5c 5c .{.$arg.=.'"'.preg_replace('/(\\
194820 5c 5c 2a 29 24 2f 27 2c 20 27 24 31 24 31 27 2c 20 24 61 72 67 29 2e 27 22 27 3b 0a 7d 0a 0a 69 \\*)$/',.'$1$1',.$arg).'"';.}..i
194840 66 20 28 24 6d 65 74 61 29 20 7b 0a 24 61 72 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 f.($meta).{.$arg.=.preg_replace(
194860 27 2f 28 5b 22 5e 26 7c 3c 3e 28 29 25 5d 29 2f 27 2c 20 27 5e 24 31 27 2c 20 24 61 72 67 29 3b '/(["^&|<>()%])/',.'^$1',.$arg);
194880 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 .}..return.$arg;.}............pu
1948a0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 43 6f 6c blic.static.function.supportsCol
1948c0 6f 72 28 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 or($output).{.if.(defined('PHP_W
1948e0 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 72 65 74 75 72 6e INDOWS_VERSION_BUILD')).{.return
194900 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f .(function_exists('sapi_windows_
194920 76 74 31 30 30 5f 73 75 70 70 6f 72 74 27 29 0a 26 26 20 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f vt100_support').&&.sapi_windows_
194940 76 74 31 30 30 5f 73 75 70 70 6f 72 74 28 24 6f 75 74 70 75 74 29 29 0a 7c 7c 20 66 61 6c 73 65 vt100_support($output)).||.false
194960 20 21 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 0a 7c 7c 20 27 4f 4e 27 20 3d .!==.getenv('ANSICON').||.'ON'.=
194980 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d 75 41 4e 53 49 27 29 0a 7c 7c 20 27 78 74 65 72 ==.getenv('ConEmuANSI').||.'xter
1949a0 6d 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 m'.===.getenv('TERM');.}..if.(fu
1949c0 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 74 72 65 61 6d 5f 69 73 61 74 74 79 27 29 29 20 nction_exists('stream_isatty')).
1949e0 7b 0a 72 65 74 75 72 6e 20 73 74 72 65 61 6d 5f 69 73 61 74 74 79 28 24 6f 75 74 70 75 74 29 3b {.return.stream_isatty($output);
194a00 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 .}.elseif.(function_exists('posi
194a20 78 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 6f 73 69 78 5f 69 73 61 74 74 x_isatty')).{.return.posix_isatt
194a40 79 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 73 74 61 74 20 3d 20 66 73 74 61 74 28 24 6f 75 y($output);.}..$stat.=.fstat($ou
194a60 74 70 75 74 29 3b 0a 0a 20 72 65 74 75 72 6e 20 24 73 74 61 74 20 3f 20 30 30 32 30 30 30 30 20 tput);...return.$stat.?.0020000.
194a80 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 27 5d 20 26 20 30 31 37 30 30 30 30 29 20 3a 20 ===.($stat['mode'].&.0170000).:.
194aa0 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 false;.}..........public.static.
194ac0 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 20 3d 20 function.setEnv($name,.$value.=.
194ae0 66 61 6c 73 65 29 0a 7b 0a 24 75 6e 73 65 74 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c false).{.$unset.=.false.===.$val
194b00 75 65 3b 0a 0a 69 66 20 28 21 70 75 74 65 6e 76 28 24 75 6e 73 65 74 20 3f 20 24 6e 61 6d 65 20 ue;..if.(!putenv($unset.?.$name.
194b20 3a 20 24 6e 61 6d 65 2e 27 3d 27 2e 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 :.$name.'='.$value)).{.return.fa
194b40 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 75 6e 73 65 74 29 20 7b 0a 75 6e 73 65 74 28 24 5f 53 45 lse;.}..if.($unset).{.unset($_SE
194b60 52 56 45 52 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 5f 53 45 52 56 45 52 5b RVER[$name]);.}.else.{.$_SERVER[
194b80 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a $name].=.$value;.}.return.true;.
194ba0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f }.}.<?php...........namespace.Co
194bc0 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c mposer\XdebugHandler;..use.Psr\L
194be0 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c og\LoggerInterface;.use.Psr\Log\
194c00 4c 6f 67 4c 65 76 65 6c 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 75 73 0a 7b 0a 63 6f LogLevel;......class.Status.{.co
194c20 6e 73 74 20 45 4e 56 5f 52 45 53 54 41 52 54 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 nst.ENV_RESTART.=.'XDEBUG_HANDLE
194c40 52 5f 52 45 53 54 41 52 54 27 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 20 3d 20 27 43 68 65 63 6b R_RESTART';.const.CHECK.=.'Check
194c60 27 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 45 72 72 6f 72 27 3b 0a 63 6f 6e 73 74 20 ';.const.ERROR.=.'Error';.const.
194c80 49 4e 46 4f 20 3d 20 27 49 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 4e 4f 52 45 53 54 41 52 54 20 3d INFO.=.'Info';.const.NORESTART.=
194ca0 20 27 4e 6f 52 65 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 20 3d 20 27 52 .'NoRestart';.const.RESTART.=.'R
194cc0 65 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 49 4e 47 20 3d 20 27 52 65 73 estart';.const.RESTARTING.=.'Res
194ce0 74 61 72 74 69 6e 67 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 45 44 20 3d 20 27 52 65 73 tarting';.const.RESTARTED.=.'Res
194d00 74 61 72 74 65 64 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 tarted';..private.$debug;.privat
194d20 65 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 e.$envAllowXdebug;.private.$load
194d40 65 64 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 74 69 ed;.private.$logger;.private.$ti
194d60 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e me;........public.function.__con
194d80 73 74 72 75 63 74 28 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2c 20 24 64 65 62 75 67 29 0a struct($envAllowXdebug,.$debug).
194da0 7b 0a 24 73 74 61 72 74 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f 52 45 53 54 {.$start.=.getenv(self::ENV_REST
194dc0 41 52 54 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f ART);.Process::setEnv(self::ENV_
194de0 52 45 53 54 41 52 54 29 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 20 3d 20 24 73 74 61 72 74 20 3f RESTART);.$this->time.=.$start.?
194e00 20 72 6f 75 6e 64 28 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 73 74 61 72 74 .round((microtime(true).-.$start
194e20 29 20 2a 20 31 30 30 30 29 20 3a 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 ).*.1000).:.0;..$this->envAllowX
194e40 64 65 62 75 67 20 3d 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 24 74 68 69 73 2d 3e debug.=.$envAllowXdebug;.$this->
194e60 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 20 26 26 20 64 65 66 69 6e 65 64 28 27 53 54 44 45 52 debug.=.$debug.&&.defined('STDER
194e80 52 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f R');.}.....public.function.setLo
194ea0 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a gger(LoggerInterface.$logger).{.
194ec0 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a $this->logger.=.$logger;.}......
194ee0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 ..public.function.report($op,.$d
194f00 61 74 61 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 7c 7c 20 24 74 68 69 ata).{.if.($this->logger.||.$thi
194f20 73 2d 3e 64 65 62 75 67 29 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 s->debug).{.call_user_func(array
194f40 28 24 74 68 69 73 2c 20 27 72 65 70 6f 72 74 27 2e 24 6f 70 29 2c 20 24 64 61 74 61 29 3b 0a 7d ($this,.'report'.$op),.$data);.}
194f60 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 .}........private.function.outpu
194f80 74 28 24 74 65 78 74 2c 20 24 6c 65 76 65 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 t($text,.$level.=.null).{.if.($t
194fa0 68 69 73 2d 3e 6c 6f 67 67 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 2d 3e 6c 6f his->logger).{.$this->logger->lo
194fc0 67 28 24 6c 65 76 65 6c 20 3f 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 74 65 g($level.?:.LogLevel::DEBUG,.$te
194fe0 78 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 66 77 72 69 xt);.}..if.($this->debug).{.fwri
195000 74 65 28 53 54 44 45 52 52 2c 20 73 70 72 69 6e 74 66 28 27 78 64 65 62 75 67 2d 68 61 6e 64 6c te(STDERR,.sprintf('xdebug-handl
195020 65 72 5b 25 64 5d 20 25 73 27 2c 20 67 65 74 6d 79 70 69 64 28 29 2c 20 24 74 65 78 74 2e 50 48 er[%d].%s',.getmypid(),.$text.PH
195040 50 5f 45 4f 4c 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 P_EOL));.}.}..private.function.r
195060 65 70 6f 72 74 43 68 65 63 6b 28 24 6c 6f 61 64 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 eportCheck($loaded).{.$this->loa
195080 64 65 64 20 3d 20 24 6c 6f 61 64 65 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 27 43 68 ded.=.$loaded;.$this->output('Ch
1950a0 65 63 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 3b ecking.'.$this->envAllowXdebug);
1950c0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 45 72 72 6f 72 .}..private.function.reportError
1950e0 28 24 65 72 72 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 73 70 72 69 6e 74 66 ($error).{.$this->output(sprintf
195100 28 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 65 72 72 6f 72 29 2c 20 4c 6f 67 ('No.restart.(%s)',.$error),.Log
195120 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 Level::WARNING);.}..private.func
195140 74 69 6f 6e 20 72 65 70 6f 72 74 49 6e 66 6f 28 24 69 6e 66 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e tion.reportInfo($info).{.$this->
195160 6f 75 74 70 75 74 28 24 69 6e 66 6f 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 output($info);.}..private.functi
195180 6f 6e 20 72 65 70 6f 72 74 4e 6f 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 on.reportNoRestart().{.$this->ou
1951a0 74 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 29 3b tput($this->getLoadedMessage());
1951c0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 24 74 65 78 74 20 3d 20 73 ..if.($this->loaded).{.$text.=.s
1951e0 70 72 69 6e 74 66 28 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 74 68 69 73 2d printf('No.restart.(%s)',.$this-
195200 3e 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 69 66 20 28 21 67 65 74 65 6e 76 28 24 74 68 >getEnvAllow());.if.(!getenv($th
195220 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 is->envAllowXdebug)).{.$text..=.
195240 27 20 41 6c 6c 6f 77 65 64 20 62 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 3b 0a 7d 0a 24 74 68 '.Allowed.by.application';.}.$th
195260 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 is->output($text);.}.}..private.
195280 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 74 68 69 73 function.reportRestart().{.$this
1952a0 2d 3e 6f 75 74 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 ->output($this->getLoadedMessage
1952c0 28 29 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f 52 ());.Process::setEnv(self::ENV_R
1952e0 45 53 54 41 52 54 2c 20 28 73 74 72 69 6e 67 29 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 ESTART,.(string).microtime(true)
195300 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 );.}..private.function.reportRes
195320 74 61 72 74 65 64 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c tarted().{.$loaded.=.$this->getL
195340 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 oadedMessage();.$text.=.sprintf(
195360 27 52 65 73 74 61 72 74 65 64 20 28 25 64 20 6d 73 29 2e 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 'Restarted.(%d.ms)..%s',.$this->
195380 74 69 6d 65 2c 20 24 6c 6f 61 64 65 64 29 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e time,.$loaded);.$level.=.$this->
1953a0 6c 6f 61 64 65 64 20 3f 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3a 20 6e 75 6c loaded.?.LogLevel::WARNING.:.nul
1953c0 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 2c 20 24 6c 65 76 65 6c 29 3b l;.$this->output($text,.$level);
1953e0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 61 .}..private.function.reportResta
195400 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 rting($command).{.$text.=.sprint
195420 66 28 27 50 72 6f 63 65 73 73 20 72 65 73 74 61 72 74 69 6e 67 20 28 25 73 29 27 2c 20 24 74 68 f('Process.restarting.(%s)',.$th
195440 69 73 2d 3e 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 is->getEnvAllow());.$this->outpu
195460 74 28 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 3d 20 27 52 75 6e 6e 69 6e 67 20 27 2e 24 63 6f t($text);.$text.=.'Running.'.$co
195480 6d 6d 61 6e 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 7d 0a 0a mmand;.$this->output($text);.}..
1954a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 41 6c 6c 6f .....private.function.getEnvAllo
1954c0 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 w().{.return.$this->envAllowXdeb
1954e0 75 67 2e 27 3d 27 2e 67 65 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 ug.'='.getenv($this->envAllowXde
195500 62 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 bug);.}.......private.function.g
195520 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 24 74 etLoadedMessage().{.$loaded.=.$t
195540 68 69 73 2d 3e 6c 6f 61 64 65 64 20 3f 20 73 70 72 69 6e 74 66 28 27 6c 6f 61 64 65 64 20 28 25 his->loaded.?.sprintf('loaded.(%
195560 73 29 27 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 3a 20 27 6e 6f 74 20 6c 6f 61 64 65 s)',.$this->loaded).:.'not.loade
195580 64 27 3b 0a 72 65 74 75 72 6e 20 27 54 68 65 20 78 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e d';.return.'The.xdebug.extension
1955a0 20 69 73 20 27 2e 24 6c 6f 61 64 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a .is.'.$loaded;.}.}.<?php........
1955c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 ...namespace.Composer\XdebugHand
1955e0 6c 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 ler;..use.Psr\Log\LoggerInterfac
195600 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 0a 7b 0a 63 6f 6e e;.....class.XdebugHandler.{.con
195620 73 74 20 53 55 46 46 49 58 5f 41 4c 4c 4f 57 20 3d 20 27 5f 41 4c 4c 4f 57 5f 58 44 45 42 55 47 st.SUFFIX_ALLOW.=.'_ALLOW_XDEBUG
195640 27 3b 0a 63 6f 6e 73 74 20 53 55 46 46 49 58 5f 49 4e 49 53 20 3d 20 27 5f 4f 52 49 47 49 4e 41 ';.const.SUFFIX_INIS.=.'_ORIGINA
195660 4c 5f 49 4e 49 53 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 49 44 20 3d 20 27 69 6e 74 L_INIS';.const.RESTART_ID.=.'int
195680 65 72 6e 61 6c 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 20 3d ernal';.const.RESTART_SETTINGS.=
1956a0 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 53 45 54 54 49 4e 47 53 27 3b 0a 63 6f 6e 73 .'XDEBUG_HANDLER_SETTINGS';.cons
1956c0 74 20 44 45 42 55 47 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 44 45 42 55 47 27 t.DEBUG.=.'XDEBUG_HANDLER_DEBUG'
1956e0 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 6d 70 49 6e 69 3b 0a 0a 70 72 69 76 61 74 65 20 ;...protected.$tmpIni;..private.
195700 73 74 61 74 69 63 20 24 69 6e 52 65 73 74 61 72 74 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 static.$inRestart;.private.stati
195720 63 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 6b 69 70 70 65 64 c.$name;.private.static.$skipped
195740 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6c 69 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 4f ;..private.$cli;.private.$colorO
195760 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 ption;.private.$debug;.private.$
195780 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 4f 72 69 67 envAllowXdebug;.private.$envOrig
1957a0 69 6e 61 6c 49 6e 69 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 64 3b 0a 70 72 69 76 61 inalInis;.private.$loaded;.priva
1957c0 74 65 20 24 70 65 72 73 69 73 74 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b te.$persistent;.private.$script;
1957e0 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 57 72 69 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a ..private.$statusWriter;........
195800 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
195820 28 24 65 6e 76 50 72 65 66 69 78 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 20 3d 20 27 27 29 0a ($envPrefix,.$colorOption.=.'').
195840 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 65 6e 76 50 72 65 66 69 78 29 20 7c 7c 20 {.if.(!is_string($envPrefix).||.
195860 65 6d 70 74 79 28 24 65 6e 76 50 72 65 66 69 78 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 empty($envPrefix).||.!is_string(
195880 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 $colorOption)).{.throw.new.\Runt
1958a0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 6f 6e 73 74 72 75 63 74 6f imeException('Invalid.constructo
1958c0 72 20 70 61 72 61 6d 65 74 65 72 27 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 6e 61 6d 65 20 3d 20 r.parameter');.}..self::$name.=.
1958e0 73 74 72 74 6f 75 70 70 65 72 28 24 65 6e 76 50 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 65 strtoupper($envPrefix);.$this->e
195900 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 20 3d 20 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 nvAllowXdebug.=.self::$name.self
195920 3a 3a 53 55 46 46 49 58 5f 41 4c 4c 4f 57 3b 0a 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e ::SUFFIX_ALLOW;.$this->envOrigin
195940 61 6c 49 6e 69 73 20 3d 20 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 alInis.=.self::$name.self::SUFFI
195960 58 5f 49 4e 49 53 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 4f 70 74 69 6f 6e 20 3d 20 24 63 X_INIS;..$this->colorOption.=.$c
195980 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 olorOption;..if.(extension_loade
1959a0 64 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 24 65 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 d('xdebug')).{.$ext.=.new.\Refle
1959c0 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 78 64 65 62 75 67 27 29 3b 0a 24 74 68 69 73 2d ctionExtension('xdebug');.$this-
1959e0 3e 6c 6f 61 64 65 64 20 3d 20 24 65 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3f 3a 20 >loaded.=.$ext->getVersion().?:.
195a00 27 75 6e 6b 6e 6f 77 6e 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 69 20 3d 20 50 'unknown';.}..if.($this->cli.=.P
195a20 48 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 62 75 HP_SAPI.===.'cli').{.$this->debu
195a40 67 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 24 74 68 69 g.=.getenv(self::DEBUG);.}..$thi
195a60 73 2d 3e 73 74 61 74 75 73 57 72 69 74 65 72 20 3d 20 6e 65 77 20 53 74 61 74 75 73 28 24 74 68 s->statusWriter.=.new.Status($th
195a80 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2c 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 is->envAllowXdebug,.(bool).$this
195aa0 2d 3e 64 65 62 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->debug);.}.........public.funct
195ac0 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c ion.setLogger(LoggerInterface.$l
195ae0 6f 67 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 57 72 69 74 65 72 2d 3e 73 65 ogger).{.$this->statusWriter->se
195b00 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 29 3b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a tLogger($logger);.return.$this;.
195b20 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 69 }.........public.function.setMai
195b40 6e 53 63 72 69 70 74 28 24 73 63 72 69 70 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 nScript($script).{.$this->script
195b60 20 3d 20 24 73 63 72 69 70 74 3b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a .=.$script;.return.$this;.}.....
195b80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 65 72 73 69 73 74 65 6e 74 28 ..public.function.setPersistent(
195ba0 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 65 72 73 69 73 74 65 6e 74 20 3d 20 74 72 75 65 3b 0a 72 65 ).{.$this->persistent.=.true;.re
195bc0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$this;.}.........public.fun
195be0 63 74 69 6f 6e 20 63 68 65 63 6b 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 ction.check().{.$this->notify(St
195c00 61 74 75 73 3a 3a 43 48 45 43 4b 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 3b 0a 24 65 6e atus::CHECK,.$this->loaded);.$en
195c20 76 41 72 67 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 vArgs.=.explode('|',.(string).ge
195c40 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 3b 0a 0a 69 tenv($this->envAllowXdebug));..i
195c60 66 20 28 65 6d 70 74 79 28 24 65 6e 76 41 72 67 73 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e f.(empty($envArgs[0]).&&.$this->
195c80 72 65 71 75 69 72 65 73 52 65 73 74 61 72 74 28 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 6c 6f requiresRestart((bool).$this->lo
195ca0 61 64 65 64 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a aded)).{...$this->notify(Status:
195cc0 3a 52 45 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 52 65 :RESTART);..if.($this->prepareRe
195ce0 73 74 61 72 74 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 start()).{.$command.=.$this->get
195d00 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a Command();.$this->notify(Status:
195d20 3a 52 45 53 54 41 52 54 49 4e 47 2c 20 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 72 :RESTARTING,.$command);.$this->r
195d40 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 estart($command);.}.return;.}..i
195d60 66 20 28 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 49 44 20 3d 3d 3d 20 24 65 6e 76 41 72 67 73 f.(self::RESTART_ID.===.$envArgs
195d80 5b 30 5d 20 26 26 20 63 6f 75 6e 74 28 24 65 6e 76 41 72 67 73 29 20 3d 3d 3d 20 35 29 20 7b 0a [0].&&.count($envArgs).===.5).{.
195da0 0a 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 52 45 53 54 41 52 54 45 ..$this->notify(Status::RESTARTE
195dc0 44 29 3b 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 D);..Process::setEnv($this->envA
195de0 6c 6c 6f 77 58 64 65 62 75 67 29 3b 0a 73 65 6c 66 3a 3a 24 69 6e 52 65 73 74 61 72 74 20 3d 20 llowXdebug);.self::$inRestart.=.
195e00 74 72 75 65 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 0a 20 73 true;..if.(!$this->loaded).{...s
195e20 65 6c 66 3a 3a 24 73 6b 69 70 70 65 64 20 3d 20 24 65 6e 76 41 72 67 73 5b 31 5d 3b 0a 7d 0a 0a elf::$skipped.=.$envArgs[1];.}..
195e40 0a 20 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 24 ..$this->setEnvRestartSettings($
195e60 65 6e 76 41 72 67 73 29 3b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 envArgs);.return;.}..$this->noti
195e80 66 79 28 53 74 61 74 75 73 3a 3a 4e 4f 52 45 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 73 65 74 fy(Status::NORESTART);..if.($set
195ea0 74 69 6e 67 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 tings.=.self::getRestartSettings
195ec0 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 79 6e 63 53 65 74 74 69 6e 67 73 28 24 73 65 74 ()).{...$this->syncSettings($set
195ee0 74 69 6e 67 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 tings);.}.}..........public.stat
195f00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 0a 7b 0a 69 ic.function.getAllIniFiles().{.i
195f20 66 20 28 21 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 29 29 20 7b 0a 24 65 6e 76 20 3d f.(!empty(self::$name)).{.$env.=
195f40 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 .getenv(self::$name.self::SUFFIX
195f60 5f 49 4e 49 53 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 65 6e 76 29 20 7b 0a 72 _INIS);..if.(false.!==.$env).{.r
195f80 65 74 75 72 6e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 65 eturn.explode(PATH_SEPARATOR,.$e
195fa0 6e 76 29 3b 0a 7d 0a 7d 0a 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 28 73 74 72 69 6e 67 nv);.}.}..$paths.=.array((string
195fc0 29 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 29 3b 0a 0a 69 66 20 28 24 ).php_ini_loaded_file());..if.($
195fe0 73 63 61 6e 6e 65 64 20 3d 20 70 68 70 5f 69 6e 69 5f 73 63 61 6e 6e 65 64 5f 66 69 6c 65 73 28 scanned.=.php_ini_scanned_files(
196000 29 29 20 7b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 74 68 73 )).{.$paths.=.array_merge($paths
196020 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c ,.array_map('trim',.explode(',',
196040 20 24 73 63 61 6e 6e 65 64 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 73 3b 0a .$scanned)));.}..return.$paths;.
196060 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f }..........public.static.functio
196080 6e 20 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 0a 7b 0a 24 65 6e 76 41 72 67 n.getRestartSettings().{.$envArg
1960a0 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 74 65 6e 76 s.=.explode('|',.(string).getenv
1960c0 28 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 29 29 3b 0a 0a 69 66 20 28 (self::RESTART_SETTINGS));..if.(
1960e0 63 6f 75 6e 74 28 24 65 6e 76 41 72 67 73 29 20 21 3d 3d 20 36 0a 7c 7c 20 28 21 73 65 6c 66 3a count($envArgs).!==.6.||.(!self:
196100 3a 24 69 6e 52 65 73 74 61 72 74 20 26 26 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 :$inRestart.&&.php_ini_loaded_fi
196120 6c 65 28 29 20 21 3d 3d 20 24 65 6e 76 41 72 67 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b le().!==.$envArgs[0])).{.return;
196140 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 74 6d 70 49 6e 69 27 20 3d 3e 20 24 65 .}..return.array(.'tmpIni'.=>.$e
196160 6e 76 41 72 67 73 5b 30 5d 2c 0a 27 73 63 61 6e 6e 65 64 49 6e 69 73 27 20 3d 3e 20 28 62 6f 6f nvArgs[0],.'scannedInis'.=>.(boo
196180 6c 29 20 24 65 6e 76 41 72 67 73 5b 31 5d 2c 0a 27 73 63 61 6e 44 69 72 27 20 3d 3e 20 27 2a 27 l).$envArgs[1],.'scanDir'.=>.'*'
1961a0 20 3d 3d 3d 20 24 65 6e 76 41 72 67 73 5b 32 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 .===.$envArgs[2].?.false.:.$envA
1961c0 72 67 73 5b 32 5d 2c 0a 27 70 68 70 72 63 27 20 3d 3e 20 27 2a 27 20 3d 3d 3d 20 24 65 6e 76 41 rgs[2],.'phprc'.=>.'*'.===.$envA
1961e0 72 67 73 5b 33 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 27 69 rgs[3].?.false.:.$envArgs[3],.'i
196200 6e 69 73 27 20 3d 3e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 nis'.=>.explode(PATH_SEPARATOR,.
196220 24 65 6e 76 41 72 67 73 5b 34 5d 29 2c 0a 27 73 6b 69 70 70 65 64 27 20 3d 3e 20 24 65 6e 76 41 $envArgs[4]),.'skipped'.=>.$envA
196240 72 67 73 5b 35 5d 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 rgs[5],.);.}.......public.static
196260 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6b 69 70 70 65 64 56 65 72 73 69 6f 6e 28 29 0a 7b 0a .function.getSkippedVersion().{.
196280 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 73 65 6c 66 3a 3a 24 73 6b 69 70 70 65 64 3b 0a return.(string).self::$skipped;.
1962a0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 }.........protected.function.req
1962c0 75 69 72 65 73 52 65 73 74 61 72 74 28 24 69 73 4c 6f 61 64 65 64 29 0a 7b 0a 72 65 74 75 72 6e uiresRestart($isLoaded).{.return
1962e0 20 24 69 73 4c 6f 61 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 .$isLoaded;.}.......protected.fu
196300 6e 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 nction.restart($command).{.$this
196320 2d 3e 64 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ->doRestart($command);.}.......p
196340 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 rivate.function.doRestart($comma
196360 6e 64 29 0a 7b 0a 70 61 73 73 74 68 72 75 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 65 78 69 74 43 6f nd).{.passthru($command,.$exitCo
196380 64 65 29 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c de);.$this->notify(Status::INFO,
1963a0 20 27 52 65 73 74 61 72 74 65 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 65 64 20 27 2e 24 65 78 .'Restarted.process.exited.'.$ex
1963c0 69 74 43 6f 64 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 3d 3d 20 27 itCode);..if.($this->debug.===.'
1963e0 32 27 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2').{.$this->notify(Status::INFO
196400 2c 20 27 54 65 6d 70 20 69 6e 69 20 73 61 76 65 64 3a 20 27 2e 24 74 68 69 73 2d 3e 74 6d 70 49 ,.'Temp.ini.saved:.'.$this->tmpI
196420 6e 69 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 74 6d 70 ni);.}.else.{.@unlink($this->tmp
196440 49 6e 69 29 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a Ini);.}..exit($exitCode);.}.....
196460 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65 52 .......private.function.prepareR
196480 65 73 74 61 72 74 28 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 27 27 3b 0a 24 69 6e 69 46 69 6c 65 estart().{.$error.=.'';.$iniFile
1964a0 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 3b 0a 24 73 63 61 s.=.self::getAllIniFiles();.$sca
1964c0 6e 6e 65 64 49 6e 69 73 20 3d 20 63 6f 75 6e 74 28 24 69 6e 69 46 69 6c 65 73 29 20 3e 20 31 3b nnedInis.=.count($iniFiles).>.1;
1964e0 0a 24 74 6d 70 44 69 72 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 0a .$tmpDir.=.sys_get_temp_dir();..
196500 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 69 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 73 if.(!$this->cli).{.$error.=.'Uns
196520 75 70 70 6f 72 74 65 64 20 53 41 50 49 3a 20 27 2e 50 48 50 5f 53 41 50 49 3b 0a 7d 20 65 6c 73 upported.SAPI:.'.PHP_SAPI;.}.els
196540 65 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 eif.(!defined('PHP_BINARY')).{.$
196560 65 72 72 6f 72 20 3d 20 27 50 48 50 20 76 65 72 73 69 6f 6e 20 69 73 20 74 6f 6f 20 6f 6c 64 3a error.=.'PHP.version.is.too.old:
196580 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 .'.PHP_VERSION;.}.elseif.(!$this
1965a0 2d 3e 63 68 65 63 6b 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 69 6e 66 6f 29 29 20 7b 0a 24 ->checkConfiguration($info)).{.$
1965c0 65 72 72 6f 72 20 3d 20 24 69 6e 66 6f 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d error.=.$info;.}.elseif.(!$this-
1965e0 3e 63 68 65 63 6b 53 63 61 6e 44 69 72 43 6f 6e 66 69 67 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 >checkScanDirConfig()).{.$error.
196600 3d 20 27 50 48 50 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 70 6f 72 74 20 73 =.'PHP.version.does.not.report.s
196620 63 61 6e 6e 65 64 20 69 6e 69 73 3a 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c canned.inis:.'.PHP_VERSION;.}.el
196640 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 29 seif.(!$this->checkMainScript())
196660 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 20 6d 61 .{.$error.=.'Unable.to.access.ma
196680 69 6e 20 73 63 72 69 70 74 3a 20 27 2e 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 20 65 6c in.script:.'.$this->script;.}.el
1966a0 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 77 72 69 74 65 54 6d 70 49 6e 69 28 24 69 6e 69 46 69 seif.(!$this->writeTmpIni($iniFi
1966c0 6c 65 73 2c 20 24 74 6d 70 44 69 72 2c 20 24 65 72 72 6f 72 29 29 20 7b 0a 24 65 72 72 6f 72 20 les,.$tmpDir,.$error)).{.$error.
1966e0 3d 20 24 65 72 72 6f 72 20 3f 3a 20 27 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 74 65 =.$error.?:.'Unable.to.create.te
196700 6d 70 20 69 6e 69 20 66 69 6c 65 20 61 74 3a 20 27 2e 24 74 6d 70 44 69 72 3b 0a 7d 20 65 6c 73 mp.ini.file.at:.'.$tmpDir;.}.els
196720 65 69 66 20 28 21 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 24 73 63 61 eif.(!$this->setEnvironment($sca
196740 6e 6e 65 64 49 6e 69 73 2c 20 24 69 6e 69 46 69 6c 65 73 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d nnedInis,.$iniFiles)).{.$error.=
196760 20 27 55 6e 61 62 6c 65 20 74 6f 20 73 65 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 .'Unable.to.set.environment.vari
196780 61 62 6c 65 73 27 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e ables';.}..if.($error).{.$this->
1967a0 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 45 52 52 4f 52 2c 20 24 65 72 72 6f 72 29 3b 0a 7d notify(Status::ERROR,.$error);.}
1967c0 0a 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ..return.empty($error);.}.......
1967e0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 6d 70 49 6e 69 ....private.function.writeTmpIni
196800 28 61 72 72 61 79 20 24 69 6e 69 46 69 6c 65 73 2c 20 24 74 6d 70 44 69 72 2c 20 26 24 65 72 72 (array.$iniFiles,.$tmpDir,.&$err
196820 6f 72 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 20 3d 20 40 74 65 6d 70 or).{.if.(!$this->tmpIni.=.@temp
196840 6e 61 6d 28 24 74 6d 70 44 69 72 2c 20 27 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 nam($tmpDir,.'')).{.return.false
196860 3b 0a 7d 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 46 69 6c 65 73 5b 30 5d 29 29 20 ;.}....if.(empty($iniFiles[0])).
196880 7b 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 69 6e 69 46 69 6c 65 73 29 3b 0a 7d 0a 0a 24 63 6f {.array_shift($iniFiles);.}..$co
1968a0 6e 74 65 6e 74 20 3d 20 27 27 3b 0a 24 72 65 67 65 78 20 3d 20 27 2f 5e 5c 73 2a 28 7a 65 6e 64 ntent.=.'';.$regex.=.'/^\s*(zend
1968c0 5f 65 78 74 65 6e 73 69 6f 6e 5c 73 2a 3d 2e 2a 78 64 65 62 75 67 2e 2a 29 24 2f 6d 69 27 3b 0a _extension\s*=.*xdebug.*)$/mi';.
1968e0 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 69 46 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a .foreach.($iniFiles.as.$file).{.
196900 0a 20 69 66 20 28 21 24 64 61 74 61 20 3d 20 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 ..if.(!$data.=.@file_get_content
196920 73 28 24 66 69 6c 65 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 s($file)).{.$error.=.'Unable.to.
196940 72 65 61 64 20 69 6e 69 3a 20 27 2e 24 66 69 6c 65 3b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b read.ini:.'.$file;.return.false;
196960 0a 7d 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 24 72 65 67 .}.$content..=.preg_replace($reg
196980 65 78 2c 20 27 3b 24 31 27 2c 20 24 64 61 74 61 29 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 0a 20 ex,.';$1',.$data).PHP_EOL;.}....
1969a0 69 66 20 28 24 63 6f 6e 66 69 67 20 3d 20 70 61 72 73 65 5f 69 6e 69 5f 73 74 72 69 6e 67 28 24 if.($config.=.parse_ini_string($
1969c0 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 69 6e 69 5f 67 65 74 5f 61 6c content)).{.$loaded.=.ini_get_al
1969e0 6c 28 6e 75 6c 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 l(null,.false);.$content..=.$thi
196a00 73 2d 3e 6d 65 72 67 65 4c 6f 61 64 65 64 43 6f 6e 66 69 67 28 24 6c 6f 61 64 65 64 2c 20 24 63 s->mergeLoadedConfig($loaded,.$c
196a20 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 27 6f 70 63 61 63 68 onfig);.}....$content..=.'opcach
196a40 65 2e 65 6e 61 62 6c 65 5f 63 6c 69 3d 30 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 72 65 74 75 72 6e e.enable_cli=0'.PHP_EOL;..return
196a60 20 40 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 74 6d 70 49 6e .@file_put_contents($this->tmpIn
196a80 69 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 i,.$content);.}.......private.fu
196aa0 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 24 70 68 70 20 3d 20 61 72 72 nction.getCommand().{.$php.=.arr
196ac0 61 79 28 50 48 50 5f 42 49 4e 41 52 59 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f 73 6c ay(PHP_BINARY);.$args.=.array_sl
196ae0 69 63 65 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 2c 20 31 29 3b 0a 0a 69 66 20 28 21 ice($_SERVER['argv'],.1);..if.(!
196b00 24 74 68 69 73 2d 3e 70 65 72 73 69 73 74 65 6e 74 29 20 7b 0a 0a 20 61 72 72 61 79 5f 70 75 73 $this->persistent).{...array_pus
196b20 68 28 24 70 68 70 2c 20 27 2d 6e 27 2c 20 27 2d 63 27 2c 20 24 74 68 69 73 2d 3e 74 6d 70 49 6e h($php,.'-n',.'-c',.$this->tmpIn
196b40 69 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 53 54 44 4f 55 54 27 29 20 26 26 20 i);.}..if.(defined('STDOUT').&&.
196b60 50 72 6f 63 65 73 73 3a 3a 73 75 70 70 6f 72 74 73 43 6f 6c 6f 72 28 53 54 44 4f 55 54 29 29 20 Process::supportsColor(STDOUT)).
196b80 7b 0a 24 61 72 67 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 61 64 64 43 6f 6c 6f 72 4f 70 74 69 6f {.$args.=.Process::addColorOptio
196ba0 6e 28 24 61 72 67 73 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 0a n($args,.$this->colorOption);.}.
196bc0 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 68 70 2c 20 61 72 72 61 79 .$args.=.array_merge($php,.array
196be0 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 2c 20 24 61 72 67 73 29 3b 0a 0a 24 63 6d 64 20 3d ($this->script),.$args);..$cmd.=
196c00 20 50 72 6f 63 65 73 73 3a 3a 65 73 63 61 70 65 28 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 .Process::escape(array_shift($ar
196c20 67 73 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 gs),.true,.true);.foreach.($args
196c40 20 61 73 20 24 61 72 67 29 20 7b 0a 24 63 6d 64 20 2e 3d 20 27 20 27 2e 50 72 6f 63 65 73 73 3a .as.$arg).{.$cmd..=.'.'.Process:
196c60 3a 65 73 63 61 70 65 28 24 61 72 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d :escape($arg);.}..return.$cmd;.}
196c80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ............private.function.set
196ca0 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 20 61 72 72 61 79 20 Environment($scannedInis,.array.
196cc0 24 69 6e 69 46 69 6c 65 73 29 0a 7b 0a 24 73 63 61 6e 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 $iniFiles).{.$scanDir.=.getenv('
196ce0 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 29 3b 0a 24 70 68 70 72 63 20 3d 20 67 65 74 PHP_INI_SCAN_DIR');.$phprc.=.get
196d00 65 6e 76 28 27 50 48 50 52 43 27 29 3b 0a 0a 0a 20 69 66 20 28 21 70 75 74 65 6e 76 28 24 74 68 env('PHPRC');....if.(!putenv($th
196d20 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 2e 27 3d 27 2e 69 6d 70 6c 6f 64 65 28 is->envOriginalInis.'='.implode(
196d40 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 69 6e 69 46 69 6c 65 73 29 29 29 20 7b 0a 72 PATH_SEPARATOR,.$iniFiles))).{.r
196d60 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 65 72 73 69 eturn.false;.}..if.($this->persi
196d80 73 74 65 6e 74 29 20 7b 0a 0a 20 69 66 20 28 21 70 75 74 65 6e 76 28 27 50 48 50 5f 49 4e 49 5f stent).{...if.(!putenv('PHP_INI_
196da0 53 43 41 4e 5f 44 49 52 3d 27 29 20 7c 7c 20 21 70 75 74 65 6e 76 28 27 50 48 50 52 43 3d 27 2e SCAN_DIR=').||.!putenv('PHPRC='.
196dc0 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a $this->tmpIni)).{.return.false;.
196de0 7d 0a 7d 0a 0a 0a 20 24 65 6e 76 41 72 67 73 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 52 }.}....$envArgs.=.array(.self::R
196e00 45 53 54 41 52 54 5f 49 44 2c 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 2c 0a 28 69 6e 74 29 20 ESTART_ID,.$this->loaded,.(int).
196e20 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 0a 66 61 6c 73 65 20 3d 3d 3d 20 24 73 63 61 6e 44 69 72 $scannedInis,.false.===.$scanDir
196e40 20 3f 20 27 2a 27 20 3a 20 24 73 63 61 6e 44 69 72 2c 0a 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 .?.'*'.:.$scanDir,.false.===.$ph
196e60 70 72 63 20 3f 20 27 2a 27 20 3a 20 24 70 68 70 72 63 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 70 prc.?.'*'.:.$phprc,.);..return.p
196e80 75 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2e 27 3d 27 2e utenv($this->envAllowXdebug.'='.
196ea0 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 65 6e 76 41 72 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a implode('|',.$envArgs));.}......
196ec0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 28 24 6f 70 2c 20 24 ..private.function.notify($op,.$
196ee0 64 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 57 72 69 74 data.=.null).{.$this->statusWrit
196f00 65 72 2d 3e 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a er->report($op,.$data);.}.......
196f20 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 4c 6f 61 64 65 64 43 ...private.function.mergeLoadedC
196f40 6f 6e 66 69 67 28 61 72 72 61 79 20 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 2c 20 61 72 72 61 79 onfig(array.$loadedConfig,.array
196f60 20 24 69 6e 69 43 6f 6e 66 69 67 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 27 27 3b 0a 0a 66 .$iniConfig).{.$content.=.'';..f
196f80 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 20 61 73 20 24 6e 61 6d 65 20 3d oreach.($loadedConfig.as.$name.=
196fa0 3e 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 >.$value).{...if.(!is_string($va
196fc0 6c 75 65 29 0a 7c 7c 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 78 64 65 62 75 67 27 29 20 lue).||.strpos($name,.'xdebug').
196fe0 3d 3d 3d 20 30 0a 7c 7c 20 24 6e 61 6d 65 20 3d 3d 3d 20 27 61 70 63 2e 6d 6d 61 70 5f 66 69 6c ===.0.||.$name.===.'apc.mmap_fil
197000 65 5f 6d 61 73 6b 27 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 e_mask').{.continue;.}..if.(!iss
197020 65 74 28 24 69 6e 69 43 6f 6e 66 69 67 5b 24 6e 61 6d 65 5d 29 20 7c 7c 20 24 69 6e 69 43 6f 6e et($iniConfig[$name]).||.$iniCon
197040 66 69 67 5b 24 6e 61 6d 65 5d 20 21 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 24 63 6f 6e 74 fig[$name].!==.$value).{...$cont
197060 65 6e 74 20 2e 3d 20 24 6e 61 6d 65 2e 27 3d 22 27 2e 61 64 64 63 73 6c 61 73 68 65 73 28 24 76 ent..=.$name.'="'.addcslashes($v
197080 61 6c 75 65 2c 20 27 5c 5c 22 27 29 2e 27 22 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 0a 72 alue,.'\\"').'"'.PHP_EOL;.}.}..r
1970a0 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 eturn.$content;.}.......private.
1970c0 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 0a 7b 0a 69 66 20 function.checkMainScript().{.if.
1970e0 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 20 7b 0a 0a 20 72 65 74 (null.!==.$this->script).{...ret
197100 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 20 7c urn.file_exists($this->script).|
197120 7c 20 27 2d 2d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 0a 0a 69 66 20 |.'--'.===.$this->script;.}..if.
197140 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 5f 53 (file_exists($this->script.=.$_S
197160 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 ERVER['argv'][0])).{.return.true
197180 3b 0a 7d 0a 0a 0a 20 24 6f 70 74 69 6f 6e 73 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 ;.}....$options.=.PHP_VERSION_ID
1971a0 20 3e 3d 20 35 30 33 30 36 20 3f 20 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 49 47 4e 4f .>=.50306.?.DEBUG_BACKTRACE_IGNO
1971c0 52 45 5f 41 52 47 53 20 3a 20 66 61 6c 73 65 3b 0a 24 74 72 61 63 65 20 3d 20 64 65 62 75 67 5f RE_ARGS.:.false;.$trace.=.debug_
1971e0 62 61 63 6b 74 72 61 63 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 28 24 6d 61 69 6e backtrace($options);..if.(($main
197200 20 3d 20 65 6e 64 28 24 74 72 61 63 65 29 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 69 6e 5b 27 .=.end($trace)).&&.isset($main['
197220 66 69 6c 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 file'])).{.return.file_exists($t
197240 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 6d 61 69 6e 5b 27 66 69 6c 65 27 5d 29 3b 0a 7d 0a his->script.=.$main['file']);.}.
197260 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 .return.false;.}.......private.f
197280 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 24 65 unction.setEnvRestartSettings($e
1972a0 6e 76 41 72 67 73 29 0a 7b 0a 24 73 65 74 74 69 6e 67 73 20 3d 20 61 72 72 61 79 28 0a 70 68 70 nvArgs).{.$settings.=.array(.php
1972c0 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 2c 0a 24 65 6e 76 41 72 67 73 5b 32 5d 2c _ini_loaded_file(),.$envArgs[2],
1972e0 0a 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 24 65 6e 76 41 72 67 73 5b 34 5d 2c 0a 67 65 74 65 6e .$envArgs[3],.$envArgs[4],.geten
197300 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 2c 0a 73 65 6c 66 3a v($this->envOriginalInis),.self:
197320 3a 24 73 6b 69 70 70 65 64 2c 0a 29 3b 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 :$skipped,.);..Process::setEnv(s
197340 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 2c 20 69 6d 70 6c 6f 64 65 28 27 elf::RESTART_SETTINGS,.implode('
197360 7c 27 2c 20 24 73 65 74 74 69 6e 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 |',.$settings));.}.......private
197380 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 53 65 74 74 69 6e 67 73 28 61 72 72 61 79 20 24 73 65 .function.syncSettings(array.$se
1973a0 74 74 69 6e 67 73 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 67 65 74 65 6e 76 28 24 ttings).{.if.(false.===.getenv($
1973c0 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 29 20 7b 0a 0a 20 50 72 6f 63 this->envOriginalInis)).{...Proc
1973e0 65 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e ess::setEnv($this->envOriginalIn
197400 69 73 2c 20 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 73 65 74 is,.implode(PATH_SEPARATOR,.$set
197420 74 69 6e 67 73 5b 27 69 6e 69 73 27 5d 29 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 6b 69 70 70 tings['inis']));.}..self::$skipp
197440 65 64 20 3d 20 24 73 65 74 74 69 6e 67 73 5b 27 73 6b 69 70 70 65 64 27 5d 3b 0a 24 74 68 69 73 ed.=.$settings['skipped'];.$this
197460 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 27 50 72 6f 63 65 73 73 20 ->notify(Status::INFO,.'Process.
197480 63 61 6c 6c 65 64 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 72 65 73 74 61 72 74 20 73 65 74 called.with.existing.restart.set
1974a0 74 69 6e 67 73 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 tings');.}..........private.func
1974c0 74 69 6f 6e 20 63 68 65 63 6b 53 63 61 6e 44 69 72 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 tion.checkScanDirConfig().{.retu
1974e0 72 6e 20 21 28 67 65 74 65 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 29 0a rn.!(getenv('PHP_INI_SCAN_DIR').
197500 26 26 20 21 50 48 50 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 5f 53 43 41 4e 5f 44 49 52 0a 26 26 20 &&.!PHP_CONFIG_FILE_SCAN_DIR.&&.
197520 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 31 33 0a 7c 7c 20 50 48 50 5f 56 (PHP_VERSION_ID.<.70113.||.PHP_V
197540 45 52 53 49 4f 4e 5f 49 44 20 3d 3d 3d 20 37 30 32 30 30 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ERSION_ID.===.70200));.}.......p
197560 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6e 66 69 67 75 72 61 74 69 rivate.function.checkConfigurati
197580 6f 6e 28 26 24 69 6e 66 6f 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f on(&$info).{.if.(false.!==.strpo
1975a0 73 28 69 6e 69 5f 67 65 74 28 27 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 27 29 2c 20 s(ini_get('disable_functions'),.
1975c0 27 70 61 73 73 74 68 72 75 27 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 27 70 61 73 73 74 68 72 75 'passthru')).{.$info.=.'passthru
1975e0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 27 3b 0a 72 65 74 75 72 6e 20 66 .function.is.disabled';.return.f
197600 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 75 alse;.}..if.(extension_loaded('u
197620 6f 70 7a 27 29 29 20 7b 0a 0a 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 opz')).{...if.(function_exists('
197640 75 6f 70 7a 5f 61 6c 6c 6f 77 5f 65 78 69 74 27 29 29 20 7b 0a 40 75 6f 70 7a 5f 61 6c 6c 6f 77 uopz_allow_exit')).{.@uopz_allow
197660 5f 65 78 69 74 28 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 66 6f 20 3d 20 27 75 _exit(true);.}.else.{.$info.=.'u
197680 6f 70 7a 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65 27 opz.extension.is.not.compatible'
1976a0 3b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 ;.return.false;.}.}..return.true
1976c0 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 32 20 50 48 50 20 46 72 61 ;.}.}.Copyright.(c).2012.PHP.Fra
1976e0 6d 65 77 6f 72 6b 20 49 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 47 72 6f 75 70 0a 0a 50 mework.Interoperability.Group..P
197700 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 ermission.is.hereby.granted,.fre
197720 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 e.of.charge,.to.any.person.obtai
197740 6e 69 6e 67 20 61 20 63 6f 70 79 20 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e ning.a.copy..of.this.software.an
197760 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 d.associated.documentation.files
197780 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 .(the."Software"),.to.deal.in.th
1977a0 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 e.Software.without.restriction,.
1977c0 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 including.without.limitation.the
1977e0 20 72 69 67 68 74 73 20 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d .rights..to.use,.copy,.modify,.m
197800 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 erge,.publish,.distribute,.subli
197820 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 cense,.and/or.sell..copies.of.th
197840 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e e.Software,.and.to.permit.person
197860 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 0a 66 75 72 6e 69 s.to.whom.the.Software.is..furni
197880 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f shed.to.do.so,.subject.to.the.fo
1978a0 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 llowing.conditions:..The.above.c
1978c0 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 opyright.notice.and.this.permiss
1978e0 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 ion.notice.shall.be.included.in.
197900 0a 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 .all.copies.or.substantial.porti
197920 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 ons.of.the.Software...THE.SOFTWA
197940 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 RE.IS.PROVIDED."AS.IS",.WITHOUT.
197960 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 WARRANTY.OF.ANY.KIND,.EXPRESS.OR
197980 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 .IMPLIED,.INCLUDING.BUT.NOT.LIMI
1979a0 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e TED.TO.THE.WARRANTIES.OF.MERCHAN
1979c0 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c TABILITY,.FITNESS.FOR.A.PARTICUL
1979e0 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 AR.PURPOSE.AND.NONINFRINGEMENT..
197a00 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 IN.NO.EVENT.SHALL.THE.AUTHORS.OR
197a20 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 .COPYRIGHT.HOLDERS.BE.LIABLE.FOR
197a40 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 .ANY.CLAIM,.DAMAGES.OR.OTHER.LIA
197a60 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 BILITY,.WHETHER.IN.AN.ACTION.OF.
197a80 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 CONTRACT,.TORT.OR.OTHERWISE,.ARI
197aa0 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 SING.FROM,.OUT.OF.OR.IN.CONNECTI
197ac0 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 ON.WITH.THE.SOFTWARE.OR.THE.USE.
197ae0 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 OR.OTHER.DEALINGS.IN.THE.SOFTWAR
197b00 45 2e 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a E..<?php..namespace.Psr\Log;....
197b20 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 .....abstract.class.AbstractLogg
197b40 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a er.implements.LoggerInterface.{.
197b60 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 ........public.function.emergenc
197b80 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 y($message,.array.$context.=.arr
197ba0 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 ay()).{.$this->log(LogLevel::EME
197bc0 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a RGENCY,.$message,.$context);.}..
197be0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 ...........public.function.alert
197c00 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 ($message,.array.$context.=.arra
197c20 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 y()).{.$this->log(LogLevel::ALER
197c40 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a T,.$message,.$context);.}.......
197c60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d .....public.function.critical($m
197c80 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 essage,.array.$context.=.array()
197ca0 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 ).{.$this->log(LogLevel::CRITICA
197cc0 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a L,.$message,.$context);.}.......
197ce0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 ....public.function.error($messa
197d00 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a ge,.array.$context.=.array()).{.
197d20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 $this->log(LogLevel::ERROR,.$mes
197d40 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 sage,.$context);.}.............p
197d60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c ublic.function.warning($message,
197d80 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 .array.$context.=.array()).{.$th
197da0 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 is->log(LogLevel::WARNING,.$mess
197dc0 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 age,.$context);.}..........publi
197de0 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 c.function.notice($message,.arra
197e00 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c y.$context.=.array()).{.$this->l
197e20 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 og(LogLevel::NOTICE,.$message,.$
197e40 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 context);.}............public.fu
197e60 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e nction.info($message,.array.$con
197e80 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 text.=.array()).{.$this->log(Log
197ea0 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 Level::INFO,.$message,.$context)
197ec0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 ;.}..........public.function.deb
197ee0 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 ug($message,.array.$context.=.ar
197f00 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 ray()).{.$this->log(LogLevel::DE
197f20 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 7d 0a 3c 3f BUG,.$message,.$context);.}.}.<?
197f40 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 63 6c 61 73 73 20 49 php..namespace.Psr\Log;..class.I
197f60 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 nvalidArgumentException.extends.
197f80 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f \InvalidArgumentException.{.}.<?
197fa0 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 php..namespace.Psr\Log;.....clas
197fc0 73 20 4c 6f 67 4c 65 76 65 6c 0a 7b 0a 63 6f 6e 73 74 20 45 4d 45 52 47 45 4e 43 59 20 3d 20 27 s.LogLevel.{.const.EMERGENCY.=.'
197fe0 65 6d 65 72 67 65 6e 63 79 27 3b 0a 63 6f 6e 73 74 20 41 4c 45 52 54 20 3d 20 27 61 6c 65 72 74 emergency';.const.ALERT.=.'alert
198000 27 3b 0a 63 6f 6e 73 74 20 43 52 49 54 49 43 41 4c 20 3d 20 27 63 72 69 74 69 63 61 6c 27 3b 0a ';.const.CRITICAL.=.'critical';.
198020 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 65 72 72 6f 72 27 3b 0a 63 6f 6e 73 74 20 57 41 52 const.ERROR.=.'error';.const.WAR
198040 4e 49 4e 47 20 3d 20 27 77 61 72 6e 69 6e 67 27 3b 0a 63 6f 6e 73 74 20 4e 4f 54 49 43 45 20 3d NING.=.'warning';.const.NOTICE.=
198060 20 27 6e 6f 74 69 63 65 27 3b 0a 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 69 6e 66 6f 27 3b 0a .'notice';.const.INFO.=.'info';.
198080 63 6f 6e 73 74 20 44 45 42 55 47 20 3d 20 27 64 65 62 75 67 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a const.DEBUG.=.'debug';.}.<?php..
1980a0 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 namespace.Psr\Log;.....interface
1980c0 20 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 .LoggerAwareInterface.{........p
1980e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 ublic.function.setLogger(LoggerI
198100 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 nterface.$logger);.}.<?php..name
198120 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 41 space.Psr\Log;.....trait.LoggerA
198140 77 61 72 65 54 72 61 69 74 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 67 67 wareTrait.{......protected.$logg
198160 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 er;.......public.function.setLog
198180 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a 24 ger(LoggerInterface.$logger).{.$
1981a0 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 this->logger.=.$logger;.}.}.<?ph
1981c0 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a p..namespace.Psr\Log;...........
1981e0 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a ......interface.LoggerInterface.
198200 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 {.........public.function.emerge
198220 6e 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 ncy($message,.array.$context.=.a
198240 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rray());.............public.func
198260 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 tion.alert($message,.array.$cont
198280 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ext.=.array());............publi
1982a0 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 c.function.critical($message,.ar
1982c0 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a ray.$context.=.array());........
1982e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 ...public.function.error($messag
198300 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a e,.array.$context.=.array());...
198320 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e ..........public.function.warnin
198340 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 g($message,.array.$context.=.arr
198360 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ay());..........public.function.
198380 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 notice($message,.array.$context.
1983a0 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 =.array());............public.fu
1983c0 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e nction.info($message,.array.$con
1983e0 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 text.=.array());..........public
198400 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 .function.debug($message,.array.
198420 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 $context.=.array());...........p
198440 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 ublic.function.log($level,.$mess
198460 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a age,.array.$context.=.array());.
198480 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a }.<?php..namespace.Psr\Log;.....
1984a0 0a 0a 0a 0a 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 54 72 61 69 74 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a .....trait.LoggerTrait.{........
1984c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 79 28 24 6d 65 73 73 .public.function.emergency($mess
1984e0 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b age,.array.$context.=.array()).{
198500 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c .$this->log(LogLevel::EMERGENCY,
198520 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a .$message,.$context);.}.........
198540 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 ....public.function.alert($messa
198560 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a ge,.array.$context.=.array()).{.
198580 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 $this->log(LogLevel::ALERT,.$mes
1985a0 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 sage,.$context);.}............pu
1985c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c blic.function.critical($message,
1985e0 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 .array.$context.=.array()).{.$th
198600 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 is->log(LogLevel::CRITICAL,.$mes
198620 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 sage,.$context);.}...........pub
198640 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 lic.function.error($message,.arr
198660 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e ay.$context.=.array()).{.$this->
198680 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 log(LogLevel::ERROR,.$message,.$
1986a0 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 context);.}.............public.f
1986c0 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 unction.warning($message,.array.
1986e0 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 $context.=.array()).{.$this->log
198700 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 (LogLevel::WARNING,.$message,.$c
198720 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ontext);.}..........public.funct
198740 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 ion.notice($message,.array.$cont
198760 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c ext.=.array()).{.$this->log(LogL
198780 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 evel::NOTICE,.$message,.$context
1987a0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 );.}............public.function.
1987c0 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 info($message,.array.$context.=.
1987e0 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a array()).{.$this->log(LogLevel::
198800 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a INFO,.$message,.$context);.}....
198820 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 ......public.function.debug($mes
198840 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a sage,.array.$context.=.array()).
198860 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d {.$this->log(LogLevel::DEBUG,.$m
198880 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 essage,.$context);.}...........a
1988a0 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 bstract.public.function.log($lev
1988c0 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 el,.$message,.array.$context.=.a
1988e0 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c rray());.}.<?php..namespace.Psr\
198900 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 4c 6f 67 67 65 72 20 65 Log;..........class.NullLogger.e
198920 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a xtends.AbstractLogger.{.........
198940 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 .public.function.log($level,.$me
198960 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 ssage,.array.$context.=.array())
198980 0a 7b 0a 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f .{...}.}.<?php..namespace.Psr\Lo
1989a0 67 5c 54 65 73 74 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 g\Test;..use.Psr\Log\LoggerInter
1989c0 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 0a 0a 0a 0a face;.use.Psr\Log\LogLevel;.....
1989e0 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 ...abstract.class.LoggerInterfac
198a00 65 54 65 73 74 20 65 78 74 65 6e 64 73 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b eTest.extends.\PHPUnit_Framework
198a20 5f 54 65 73 74 43 61 73 65 0a 7b 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 _TestCase.{....abstract.public.f
198a40 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 unction.getLogger();...........a
198a60 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 67 73 28 bstract.public.function.getLogs(
198a80 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 49 6d 70 6c 65 6d 65 6e );..public.function.testImplemen
198aa0 74 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 49 6e 73 74 61 6e 63 65 4f 66 28 27 ts().{.$this->assertInstanceOf('
198ac0 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 27 2c 20 24 74 68 69 73 2d Psr\Log\LoggerInterface',.$this-
198ae0 3e 67 65 74 4c 6f 67 67 65 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 >getLogger());.}.....public.func
198b00 74 69 6f 6e 20 74 65 73 74 4c 6f 67 73 41 74 41 6c 6c 4c 65 76 65 6c 73 28 24 6c 65 76 65 6c 2c tion.testLogsAtAllLevels($level,
198b20 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 .$message).{.$logger.=.$this->ge
198b40 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 7b 24 6c 65 76 65 6c 7d 28 24 6d 65 tLogger();.$logger->{$level}($me
198b60 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 29 29 3b 0a ssage,.array('user'.=>.'Bob'));.
198b80 24 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 $logger->log($level,.$message,.a
198ba0 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 29 29 3b 0a 0a 24 65 78 70 65 63 74 rray('user'.=>.'Bob'));..$expect
198bc0 65 64 20 3d 20 61 72 72 61 79 28 0a 24 6c 65 76 65 6c 2e 27 20 6d 65 73 73 61 67 65 20 6f 66 20 ed.=.array(.$level.'.message.of.
198be0 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 42 level.'.$level.'.with.context:.B
198c00 6f 62 27 2c 0a 24 6c 65 76 65 6c 2e 27 20 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 ob',.$level.'.message.of.level.'
198c20 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 29 3b .$level.'.with.context:.Bob',.);
198c40 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 .$this->assertEquals($expected,.
198c60 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->getLogs());.}..public.fun
198c80 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 4c 65 76 65 6c 73 41 6e 64 4d 65 73 73 61 67 65 73 28 29 ction.provideLevelsAndMessages()
198ca0 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 .{.return.array(.LogLevel::EMERG
198cc0 45 4e 43 59 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 ENCY.=>.array(LogLevel::EMERGENC
198ce0 59 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 65 6d 65 72 67 65 6e 63 79 20 77 Y,.'message.of.level.emergency.w
198d00 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a ith.context:.{user}'),.LogLevel:
198d20 3a 41 4c 45 52 54 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c :ALERT.=>.array(LogLevel::ALERT,
198d40 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 61 6c 65 72 74 20 77 69 74 68 20 63 6f .'message.of.level.alert.with.co
198d60 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 ntext:.{user}'),.LogLevel::CRITI
198d80 43 41 4c 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c CAL.=>.array(LogLevel::CRITICAL,
198da0 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 63 72 69 74 69 63 61 6c 20 77 69 74 68 .'message.of.level.critical.with
198dc0 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 .context:.{user}'),.LogLevel::ER
198de0 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 27 6d ROR.=>.array(LogLevel::ERROR,.'m
198e00 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 65 72 72 6f 72 20 77 69 74 68 20 63 6f 6e 74 65 essage.of.level.error.with.conte
198e20 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 xt:.{user}'),.LogLevel::WARNING.
198e40 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 27 6d 65 73 =>.array(LogLevel::WARNING,.'mes
198e60 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 77 61 72 6e 69 6e 67 20 77 69 74 68 20 63 6f 6e 74 65 sage.of.level.warning.with.conte
198e80 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d xt:.{user}'),.LogLevel::NOTICE.=
198ea0 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 27 6d 65 73 73 61 >.array(LogLevel::NOTICE,.'messa
198ec0 67 65 20 6f 66 20 6c 65 76 65 6c 20 6e 6f 74 69 63 65 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a ge.of.level.notice.with.context:
198ee0 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 61 72 72 .{user}'),.LogLevel::INFO.=>.arr
198f00 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c ay(LogLevel::INFO,.'message.of.l
198f20 65 76 65 6c 20 69 6e 66 6f 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 evel.info.with.context:.{user}')
198f40 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 ,.LogLevel::DEBUG.=>.array(LogLe
198f60 76 65 6c 3a 3a 44 45 42 55 47 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 64 65 vel::DEBUG,.'message.of.level.de
198f80 62 75 67 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 29 3b 0a 7d bug.with.context:.{user}'),.);.}
198fa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 54 68 72 6f 77 73 4f .....public.function.testThrowsO
198fc0 6e 49 6e 76 61 6c 69 64 4c 65 76 65 6c 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 nInvalidLevel().{.$logger.=.$thi
198fe0 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 27 69 6e s->getLogger();.$logger->log('in
199000 76 61 6c 69 64 20 6c 65 76 65 6c 27 2c 20 27 46 6f 6f 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 valid.level',.'Foo');.}..public.
199020 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 52 65 70 6c 61 63 65 6d 65 6e 74 28 function.testContextReplacement(
199040 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 ).{.$logger.=.$this->getLogger()
199060 3b 0a 24 6c 6f 67 67 65 72 2d 3e 69 6e 66 6f 28 27 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 69 ;.$logger->info('{Message.{nothi
199080 6e 67 7d 20 7b 75 73 65 72 7d 20 7b 66 6f 6f 2e 62 61 72 7d 20 61 7d 27 2c 20 61 72 72 61 79 28 ng}.{user}.{foo.bar}.a}',.array(
1990a0 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 2c 20 27 66 6f 6f 2e 62 61 72 27 20 3d 3e 20 27 42 'user'.=>.'Bob',.'foo.bar'.=>.'B
1990c0 61 72 27 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 69 6e 66 6f 20 ar'));..$expected.=.array('info.
1990e0 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 69 6e 67 7d 20 42 6f 62 20 42 61 72 20 61 7d 27 29 3b {Message.{nothing}.Bob.Bar.a}');
199100 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 .$this->assertEquals($expected,.
199120 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->getLogs());.}..public.fun
199140 63 74 69 6f 6e 20 74 65 73 74 4f 62 6a 65 63 74 43 61 73 74 54 6f 53 74 72 69 6e 67 28 29 0a 7b ction.testObjectCastToString().{
199160 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2c 20 27 63 72 65 61 74 .if.(method_exists($this,.'creat
199180 65 50 61 72 74 69 61 6c 4d 6f 63 6b 27 29 29 20 7b 0a 24 64 75 6d 6d 79 20 3d 20 24 74 68 69 73 ePartialMock')).{.$dummy.=.$this
1991a0 2d 3e 63 72 65 61 74 65 50 61 72 74 69 61 6c 4d 6f 63 6b 28 27 50 73 72 5c 4c 6f 67 5c 54 65 73 ->createPartialMock('Psr\Log\Tes
1991c0 74 5c 44 75 6d 6d 79 54 65 73 74 27 2c 20 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 t\DummyTest',.array('__toString'
1991e0 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 75 6d 6d 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ));.}.else.{.$dummy.=.$this->get
199200 4d 6f 63 6b 28 27 50 73 72 5c 4c 6f 67 5c 54 65 73 74 5c 44 75 6d 6d 79 54 65 73 74 27 2c 20 61 Mock('Psr\Log\Test\DummyTest',.a
199220 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a 7d 0a 24 64 75 6d 6d 79 2d 3e 65 rray('__toString'));.}.$dummy->e
199240 78 70 65 63 74 73 28 24 74 68 69 73 2d 3e 6f 6e 63 65 28 29 29 0a 2d 3e 6d 65 74 68 6f 64 28 27 xpects($this->once()).->method('
199260 5f 5f 74 6f 53 74 72 69 6e 67 27 29 0a 2d 3e 77 69 6c 6c 28 24 74 68 69 73 2d 3e 72 65 74 75 72 __toString').->will($this->retur
199280 6e 56 61 6c 75 65 28 27 44 55 4d 4d 59 27 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 nValue('DUMMY'));..$this->getLog
1992a0 67 65 72 28 29 2d 3e 77 61 72 6e 69 6e 67 28 24 64 75 6d 6d 79 29 3b 0a 0a 24 65 78 70 65 63 74 ger()->warning($dummy);..$expect
1992c0 65 64 20 3d 20 61 72 72 61 79 28 27 77 61 72 6e 69 6e 67 20 44 55 4d 4d 59 27 29 3b 0a 24 74 68 ed.=.array('warning.DUMMY');.$th
1992e0 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 is->assertEquals($expected,.$thi
199300 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s->getLogs());.}..public.functio
199320 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 43 61 6e 43 6f 6e 74 61 69 6e 41 6e 79 74 68 69 6e 67 28 n.testContextCanContainAnything(
199340 29 0a 7b 0a 24 63 6c 6f 73 65 64 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 ).{.$closed.=.fopen('php://memor
199360 79 27 2c 20 27 72 27 29 3b 0a 66 63 6c 6f 73 65 28 24 63 6c 6f 73 65 64 29 3b 0a 0a 24 63 6f 6e y',.'r');.fclose($closed);..$con
199380 74 65 78 74 20 3d 20 61 72 72 61 79 28 0a 27 62 6f 6f 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 27 6e text.=.array(.'bool'.=>.true,.'n
1993a0 75 6c 6c 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 73 74 72 69 6e 67 27 20 3d 3e 20 27 46 6f 6f 27 2c ull'.=>.null,.'string'.=>.'Foo',
1993c0 0a 27 69 6e 74 27 20 3d 3e 20 30 2c 0a 27 66 6c 6f 61 74 27 20 3d 3e 20 30 2e 35 2c 0a 27 6e 65 .'int'.=>.0,.'float'.=>.0.5,.'ne
1993e0 73 74 65 64 27 20 3d 3e 20 61 72 72 61 79 28 27 77 69 74 68 20 6f 62 6a 65 63 74 27 20 3d 3e 20 sted'.=>.array('with.object'.=>.
199400 6e 65 77 20 44 75 6d 6d 79 54 65 73 74 29 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 new.DummyTest),.'object'.=>.new.
199420 5c 44 61 74 65 54 69 6d 65 2c 0a 27 72 65 73 6f 75 72 63 65 27 20 3d 3e 20 66 6f 70 65 6e 28 27 \DateTime,.'resource'.=>.fopen('
199440 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 72 27 29 2c 0a 27 63 6c 6f 73 65 64 27 20 3d 3e php://memory',.'r'),.'closed'.=>
199460 20 24 63 6c 6f 73 65 64 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 .$closed,.);..$this->getLogger()
199480 2d 3e 77 61 72 6e 69 6e 67 28 27 43 72 61 7a 79 20 63 6f 6e 74 65 78 74 20 64 61 74 61 27 2c 20 ->warning('Crazy.context.data',.
1994a0 24 63 6f 6e 74 65 78 74 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 77 $context);..$expected.=.array('w
1994c0 61 72 6e 69 6e 67 20 43 72 61 7a 79 20 63 6f 6e 74 65 78 74 20 64 61 74 61 27 29 3b 0a 24 74 68 arning.Crazy.context.data');.$th
1994e0 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 is->assertEquals($expected,.$thi
199500 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s->getLogs());.}..public.functio
199520 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 45 78 63 65 70 74 69 6f 6e 4b 65 79 43 61 6e 42 65 45 78 n.testContextExceptionKeyCanBeEx
199540 63 65 70 74 69 6f 6e 4f 72 4f 74 68 65 72 56 61 6c 75 65 73 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 ceptionOrOtherValues().{.$logger
199560 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e .=.$this->getLogger();.$logger->
199580 77 61 72 6e 69 6e 67 28 27 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 65 27 2c 20 61 72 72 61 79 28 warning('Random.message',.array(
1995a0 27 65 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 27 6f 6f 70 73 27 29 29 3b 0a 24 6c 6f 67 67 65 72 'exception'.=>.'oops'));.$logger
1995c0 2d 3e 63 72 69 74 69 63 61 6c 28 27 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 ->critical('Uncaught.Exception!'
1995e0 2c 20 61 72 72 61 79 28 27 65 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 6e 65 77 20 5c 4c 6f 67 69 ,.array('exception'.=>.new.\Logi
199600 63 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 27 29 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 cException('Fail')));..$expected
199620 20 3d 20 61 72 72 61 79 28 0a 27 77 61 72 6e 69 6e 67 20 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 .=.array(.'warning.Random.messag
199640 65 27 2c 0a 27 63 72 69 74 69 63 61 6c 20 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e e',.'critical.Uncaught.Exception
199660 21 27 0a 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 !'.);.$this->assertEquals($expec
199680 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 7d 0a 0a 63 6c 61 ted,.$this->getLogs());.}.}..cla
1996a0 73 73 20 44 75 6d 6d 79 54 65 73 74 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ss.DummyTest.{.public.function._
1996c0 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 _toString().{.}.}.<?php..namespa
1996e0 63 65 20 50 73 72 5c 4c 6f 67 5c 54 65 73 74 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 ce.Psr\Log\Test;..use.Psr\Log\Ab
199700 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a stractLogger;...................
199720 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
199740 0a 63 6c 61 73 73 20 54 65 73 74 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 .class.TestLogger.extends.Abstra
199760 63 74 4c 6f 67 67 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 24 72 65 63 6f 72 64 73 20 3d 20 ctLogger.{....public.$records.=.
199780 5b 5d 3b 0a 0a 70 75 62 6c 69 63 20 24 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 20 3d 20 5b 5d [];..public.$recordsByLevel.=.[]
1997a0 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c ;.....public.function.log($level
1997c0 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 5b 5d 29 ,.$message,.array.$context.=.[])
1997e0 0a 7b 0a 24 72 65 63 6f 72 64 20 3d 20 5b 0a 27 6c 65 76 65 6c 27 20 3d 3e 20 24 6c 65 76 65 6c .{.$record.=.[.'level'.=>.$level
199800 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 2c 0a 27 63 6f 6e 74 65 78 ,.'message'.=>.$message,.'contex
199820 74 27 20 3d 3e 20 24 63 6f 6e 74 65 78 74 2c 0a 5d 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 63 6f 72 t'.=>.$context,.];..$this->recor
199840 64 73 42 79 4c 65 76 65 6c 5b 24 72 65 63 6f 72 64 5b 27 6c 65 76 65 6c 27 5d 5d 5b 5d 20 3d 20 dsByLevel[$record['level']][].=.
199860 24 72 65 63 6f 72 64 3b 0a 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 5b 5d 20 3d 20 24 72 65 63 $record;.$this->records[].=.$rec
199880 6f 72 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 ord;.}..public.function.hasRecor
1998a0 64 73 28 24 6c 65 76 65 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d ds($level).{.return.isset($this-
1998c0 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 6c 65 76 65 6c 5d 29 3b 0a 7d 0a 0a 70 75 62 >recordsByLevel[$level]);.}..pub
1998e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 28 24 72 65 63 6f 72 64 2c 20 lic.function.hasRecord($record,.
199900 24 6c 65 76 65 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 63 6f 72 64 29 $level).{.if.(is_string($record)
199920 29 20 7b 0a 24 72 65 63 6f 72 64 20 3d 20 5b 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 72 65 63 ).{.$record.=.['message'.=>.$rec
199940 6f 72 64 5d 3b 0a 7d 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 52 65 63 6f 72 64 54 ord];.}.return.$this->hasRecordT
199960 68 61 74 50 61 73 73 65 73 28 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 63 29 20 75 73 65 20 28 24 hatPasses(function.($rec).use.($
199980 72 65 63 6f 72 64 29 20 7b 0a 69 66 20 28 24 72 65 63 5b 27 6d 65 73 73 61 67 65 27 5d 20 21 3d record).{.if.($rec['message'].!=
1999a0 3d 20 24 72 65 63 6f 72 64 5b 27 6d 65 73 73 61 67 65 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 =.$record['message']).{.return.f
1999c0 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 63 6f 72 64 5b 27 63 6f 6e 74 65 alse;.}.if.(isset($record['conte
1999e0 78 74 27 5d 29 20 26 26 20 24 72 65 63 5b 27 63 6f 6e 74 65 78 74 27 5d 20 21 3d 3d 20 24 72 65 xt']).&&.$rec['context'].!==.$re
199a00 63 6f 72 64 5b 27 63 6f 6e 74 65 78 74 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b cord['context']).{.return.false;
199a20 0a 7d 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 70 .}.return.true;.},.$level);.}..p
199a40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 61 74 43 6f 6e 74 ublic.function.hasRecordThatCont
199a60 61 69 6e 73 28 24 6d 65 73 73 61 67 65 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 ains($message,.$level).{.return.
199a80 24 74 68 69 73 2d 3e 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 66 75 6e 63 74 $this->hasRecordThatPasses(funct
199aa0 69 6f 6e 20 28 24 72 65 63 29 20 75 73 65 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 72 65 74 75 ion.($rec).use.($message).{.retu
199ac0 72 6e 20 73 74 72 70 6f 73 28 24 72 65 63 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6d 65 73 73 rn.strpos($rec['message'],.$mess
199ae0 61 67 65 29 20 21 3d 3d 20 66 61 6c 73 65 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 70 age).!==.false;.},.$level);.}..p
199b00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 61 74 4d 61 74 63 ublic.function.hasRecordThatMatc
199b20 68 65 73 28 24 72 65 67 65 78 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 hes($regex,.$level).{.return.$th
199b40 69 73 2d 3e 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 66 75 6e 63 74 69 6f 6e is->hasRecordThatPasses(function
199b60 20 28 24 72 65 63 29 20 75 73 65 20 28 24 72 65 67 65 78 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 .($rec).use.($regex).{.return.pr
199b80 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 72 65 63 5b 27 6d 65 73 73 61 67 65 27 5d eg_match($regex,.$rec['message']
199ba0 29 20 3e 20 30 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ).>.0;.},.$level);.}..public.fun
199bc0 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 63 61 6c 6c 61 62 ction.hasRecordThatPasses(callab
199be0 6c 65 20 24 70 72 65 64 69 63 61 74 65 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 69 66 20 28 21 69 73 le.$predicate,.$level).{.if.(!is
199c00 73 65 74 28 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 6c 65 76 65 6c set($this->recordsByLevel[$level
199c20 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 ])).{.return.false;.}.foreach.($
199c40 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 6c 65 76 65 6c 5d 20 61 73 20 this->recordsByLevel[$level].as.
199c60 24 69 20 3d 3e 20 24 72 65 63 29 20 7b 0a 69 66 20 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 $i.=>.$rec).{.if.(call_user_func
199c80 28 24 70 72 65 64 69 63 61 74 65 2c 20 24 72 65 63 2c 20 24 69 29 29 20 7b 0a 72 65 74 75 72 6e ($predicate,.$rec,.$i)).{.return
199ca0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c .true;.}.}.return.false;.}..publ
199cc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 ic.function.__call($method,.$arg
199ce0 73 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 2e 2a 29 28 44 65 62 75 67 s).{.if.(preg_match('/(.*)(Debug
199d00 7c 49 6e 66 6f 7c 4e 6f 74 69 63 65 7c 57 61 72 6e 69 6e 67 7c 45 72 72 6f 72 7c 43 72 69 74 69 |Info|Notice|Warning|Error|Criti
199d20 63 61 6c 7c 41 6c 65 72 74 7c 45 6d 65 72 67 65 6e 63 79 29 28 2e 2a 29 2f 27 2c 20 24 6d 65 74 cal|Alert|Emergency)(.*)/',.$met
199d40 68 6f 64 2c 20 24 6d 61 74 63 68 65 73 29 20 3e 20 30 29 20 7b 0a 24 67 65 6e 65 72 69 63 4d 65 hod,.$matches).>.0).{.$genericMe
199d60 74 68 6f 64 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 28 27 52 65 63 6f 72 64 73 27 20 thod.=.$matches[1]...('Records'.
199d80 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3f 20 27 52 65 63 6f 72 64 27 20 3a 20 27 27 29 !==.$matches[3].?.'Record'.:.'')
199da0 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 24 6c 65 76 65 6c 20 3d 20 73 74 72 74 6f 6c 6f ...$matches[3];.$level.=.strtolo
199dc0 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 wer($matches[2]);.if.(method_exi
199de0 73 74 73 28 24 74 68 69 73 2c 20 24 67 65 6e 65 72 69 63 4d 65 74 68 6f 64 29 29 20 7b 0a 24 61 sts($this,.$genericMethod)).{.$a
199e00 72 67 73 5b 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 rgs[].=.$level;.return.call_user
199e20 5f 66 75 6e 63 5f 61 72 72 61 79 28 5b 24 74 68 69 73 2c 20 24 67 65 6e 65 72 69 63 4d 65 74 68 _func_array([$this,.$genericMeth
199e40 6f 64 5d 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d od],.$args);.}.}.throw.new.\BadM
199e60 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 ethodCallException('Call.to.unde
199e80 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 fined.method.'...get_class($this
199ea0 29 20 2e 20 27 3a 3a 27 20 2e 20 24 6d 65 74 68 6f 64 20 2e 20 27 28 29 27 29 3b 0a 7d 0a 0a 70 )...'::'...$method...'()');.}..p
199ec0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e ublic.function.reset().{.$this->
199ee0 72 65 63 6f 72 64 73 20 3d 20 5b 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 72 65 71 75 69 records.=.[];.}.}.<?php....requi
199f00 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 re_once.__DIR__...'/composer/aut
199f20 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 3b 0a 0a 72 65 74 75 72 6e 20 43 6f 6d 70 6f 73 65 oload_real.php';..return.Compose
199f40 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 35 34 38 rAutoloaderInitComposerPhar15548
199f60 32 34 38 30 38 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 24808::getLoader();.<?php....$ve
199f80 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 ndorDir.=.dirname(dirname(__FILE
199fa0 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 __));.$baseDir.=.dirname($vendor
199fc0 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a Dir);..return.array(.);.<?php...
199fe0 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f .$vendorDir.=.dirname(dirname(__
19a000 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 FILE__));.$baseDir.=.dirname($ve
19a020 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 53 79 6d 66 6f 6e ndorDir);..return.array(.'Symfon
19a040 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 61 72 72 61 y\\Polyfill\\Mbstring\\'.=>.arra
19a060 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c y($vendorDir...'/symfony/polyfil
19a080 6c 2d 6d 62 73 74 72 69 6e 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c l-mbstring'),.'Symfony\\Polyfill
19a0a0 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e \\Ctype\\'.=>.array($vendorDir..
19a0c0 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 29 2c 0a 27 53 79 .'/symfony/polyfill-ctype'),.'Sy
19a0e0 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d 3e 20 mfony\\Component\\Process\\'.=>.
19a100 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f array($vendorDir...'/symfony/pro
19a120 63 65 73 73 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e cess'),.'Symfony\\Component\\Fin
19a140 64 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 der\\'.=>.array($vendorDir...'/s
19a160 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f ymfony/finder'),.'Symfony\\Compo
19a180 6e 65 6e 74 5c 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 nent\\Filesystem\\'.=>.array($ve
19a1a0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 27 29 ndorDir...'/symfony/filesystem')
19a1c0 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 27 20 ,.'Symfony\\Component\\Debug\\'.
19a1e0 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f =>.array($vendorDir...'/symfony/
19a200 64 65 62 75 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f debug'),.'Symfony\\Component\\Co
19a220 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 nsole\\'.=>.array($vendorDir...'
19a240 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 29 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 72 55 /symfony/console'),.'Seld\\PharU
19a260 74 69 6c 73 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f tils\\'.=>.array($vendorDir...'/
19a280 73 65 6c 64 2f 70 68 61 72 2d 75 74 69 6c 73 2f 73 72 63 27 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 seld/phar-utils/src'),.'Seld\\Js
19a2a0 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 onLint\\'.=>.array($vendorDir...
19a2c0 27 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e '/seld/jsonlint/src/Seld/JsonLin
19a2e0 74 27 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 t'),.'Psr\\Log\\'.=>.array($vend
19a300 6f 72 44 69 72 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 27 29 2c 0a 27 4a 73 orDir...'/psr/log/Psr/Log'),.'Js
19a320 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 onSchema\\'.=>.array($vendorDir.
19a340 2e 20 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 ..'/justinrainbow/json-schema/sr
19a360 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 62 75 c/JsonSchema'),.'Composer\\Xdebu
19a380 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 gHandler\\'.=>.array($vendorDir.
19a3a0 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 27 ..'/composer/xdebug-handler/src'
19a3c0 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 ),.'Composer\\Spdx\\'.=>.array($
19a3e0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 vendorDir...'/composer/spdx-lice
19a400 6e 73 65 73 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 nses/src'),.'Composer\\Semver\\'
19a420 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 .=>.array($vendorDir...'/compose
19a440 72 2f 73 65 6d 76 65 72 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 43 61 42 75 6e r/semver/src'),.'Composer\\CaBun
19a460 64 6c 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 dle\\'.=>.array($vendorDir...'/c
19a480 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 omposer/ca-bundle/src'),.'Compos
19a4a0 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 62 61 73 65 44 69 72 20 2e 20 27 2f 73 72 63 2f er\\'.=>.array($baseDir...'/src/
19a4c0 43 6f 6d 70 6f 73 65 72 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f 72 44 Composer'),.);.<?php....$vendorD
19a4e0 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b ir.=.dirname(dirname(__FILE__));
19a500 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b .$baseDir.=.dirname($vendorDir);
19a520 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e ..return.array(.);.<?php....$ven
19a540 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f dorDir.=.dirname(dirname(__FILE_
19a560 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 _));.$baseDir.=.dirname($vendorD
19a580 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 33 32 30 63 64 65 32 32 66 36 36 ir);..return.array(.'320cde22f66
19a5a0 64 64 34 66 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 24 76 65 6e 64 6f dd4f5d3fd621d3e88b98f'.=>.$vendo
19a5c0 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f rDir...'/symfony/polyfill-ctype/
19a5e0 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 38 31 31 62 66 bootstrap.php',.'0e6d7bf4a5811bf
19a600 61 35 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 a5cf40c5ccd6fae6a'.=>.$vendorDir
19a620 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 62 ...'/symfony/polyfill-mbstring/b
19a640 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 63 6c 61 73 73 ootstrap.php',.);.<?php....class
19a660 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 .ComposerAutoloaderInitComposerP
19a680 68 61 72 31 35 35 34 38 32 34 38 30 38 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 har1554824808.{.private.static.$
19a6a0 6c 6f 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 loader;..public.static.function.
19a6c0 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 27 43 loadClassLoader($class).{.if.('C
19a6e0 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d omposer\Autoload\ClassLoader'.==
19a700 3d 20 24 63 6c 61 73 73 29 20 7b 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f =.$class).{.require.__DIR__...'/
19a720 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 ClassLoader.php';.}.}..public.st
19a740 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 72 28 29 0a 7b 0a 69 66 20 28 atic.function.getLoader().{.if.(
19a760 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 29 20 7b 0a 72 65 74 75 72 6e null.!==.self::$loader).{.return
19a780 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f .self::$loader;.}..spl_autoload_
19a7a0 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 register(array('ComposerAutoload
19a7c0 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 35 34 38 32 34 38 30 38 27 2c 20 27 erInitComposerPhar1554824808',.'
19a7e0 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a loadClassLoader'),.true,.true);.
19a800 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 43 self::$loader.=.$loader.=.new.\C
19a820 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a omposer\Autoload\ClassLoader();.
19a840 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 spl_autoload_unregister(array('C
19a860 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 omposerAutoloaderInitComposerPha
19a880 72 31 35 35 34 38 32 34 38 30 38 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 r1554824808',.'loadClassLoader')
19a8a0 29 3b 0a 0a 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 50 5f 56 45 52 53 49 );..$useStaticLoader.=.PHP_VERSI
19a8c0 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 20 26 26 20 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d ON_ID.>=.50600.&&.!defined('HHVM
19a8e0 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 _VERSION').&&.(!function_exists(
19a900 27 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 27 29 20 7c 7c 20 21 'zend_loader_file_encoded').||.!
19a920 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 69 66 20 zend_loader_file_encoded());.if.
19a940 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 72 65 71 75 69 72 65 5f 6f 6e 63 ($useStaticLoader).{.require_onc
19a960 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 e.__DIR__...'/autoload_static.ph
19a980 70 27 3b 0a 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 p';..call_user_func(\Composer\Au
19a9a0 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 toload\ComposerStaticInitCompose
19a9c0 72 50 68 61 72 31 35 35 34 38 32 34 38 30 38 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 rPhar1554824808::getInitializer(
19a9e0 24 6c 6f 61 64 65 72 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 $loader));.}.else.{.$map.=.requi
19aa00 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 re.__DIR__...'/autoload_namespac
19aa20 65 73 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 es.php';.foreach.($map.as.$names
19aa40 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e pace.=>.$path).{.$loader->set($n
19aa60 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 amespace,.$path);.}..$map.=.requ
19aa80 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 ire.__DIR__...'/autoload_psr4.ph
19aaa0 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 p';.foreach.($map.as.$namespace.
19aac0 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 =>.$path).{.$loader->setPsr4($na
19aae0 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 mespace,.$path);.}..$classMap.=.
19ab00 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 require.__DIR__...'/autoload_cla
19ab20 73 73 6d 61 70 2e 70 68 70 27 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 6c 6f ssmap.php';.if.($classMap).{.$lo
19ab40 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a ader->addClassMap($classMap);.}.
19ab60 7d 0a 0a 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 74 72 75 65 29 3b 0a 0a 69 66 20 }..$loader->register(true);..if.
19ab80 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 24 69 6e 63 6c 75 64 65 46 69 6c ($useStaticLoader).{.$includeFil
19aba0 65 73 20 3d 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 es.=.Composer\Autoload\ComposerS
19abc0 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 35 34 38 32 34 38 30 38 3a taticInitComposerPhar1554824808:
19abe0 3a 24 66 69 6c 65 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 :$files;.}.else.{.$includeFiles.
19ac00 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 =.require.__DIR__...'/autoload_f
19ac20 69 6c 65 73 2e 70 68 70 27 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 46 69 iles.php';.}.foreach.($includeFi
19ac40 6c 65 73 20 61 73 20 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 66 69 6c 65 29 les.as.$fileIdentifier.=>.$file)
19ac60 20 7b 0a 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 .{.composerRequireComposerPhar15
19ac80 35 34 38 32 34 38 30 38 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 54824808($fileIdentifier,.$file)
19aca0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 7d 0a 0a 66 75 6e 63 74 69 ;.}..return.$loader;.}.}..functi
19acc0 6f 6e 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 on.composerRequireComposerPhar15
19ace0 35 34 38 32 34 38 30 38 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 54824808($fileIdentifier,.$file)
19ad00 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 .{.if.(empty($GLOBALS['__compose
19ad20 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 24 66 69 6c 65 49 64 65 6e 74 69 66 69 r_autoload_files'][$fileIdentifi
19ad40 65 72 5d 29 29 20 7b 0a 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 0a 24 47 4c 4f 42 41 4c 53 er])).{.require.$file;..$GLOBALS
19ad60 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 24 66 ['__composer_autoload_files'][$f
19ad80 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 ileIdentifier].=.true;.}.}.<?php
19ada0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b ....namespace.Composer\Autoload;
19adc0 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 ..class.ComposerStaticInitCompos
19ade0 65 72 50 68 61 72 31 35 35 34 38 32 34 38 30 38 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 erPhar1554824808.{.public.static
19ae00 20 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 20 28 0a 27 33 32 30 63 64 65 32 32 66 36 36 64 64 .$files.=.array.(.'320cde22f66dd
19ae20 34 66 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 4f5d3fd621d3e88b98f'.=>.__DIR__.
19ae40 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 ..'/..'...'/symfony/polyfill-cty
19ae60 70 65 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 38 31 pe/bootstrap.php',.'0e6d7bf4a581
19ae80 31 62 66 61 35 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 1bfa5cf40c5ccd6fae6a'.=>.__DIR__
19aea0 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 ...'/..'...'/symfony/polyfill-mb
19aec0 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 0a 70 75 62 6c 69 string/bootstrap.php',.);..publi
19aee0 63 20 73 74 61 74 69 63 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 c.static.$prefixLengthsPsr4.=.ar
19af00 72 61 79 20 28 0a 27 53 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c ray.(.'S'.=>..array.(.'Symfony\\
19af20 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 32 36 2c 0a 27 53 79 Polyfill\\Mbstring\\'.=>.26,.'Sy
19af40 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 32 33 2c mfony\\Polyfill\\Ctype\\'.=>.23,
19af60 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 .'Symfony\\Component\\Process\\'
19af80 20 3d 3e 20 32 36 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e .=>.26,.'Symfony\\Component\\Fin
19afa0 64 65 72 5c 5c 27 20 3d 3e 20 32 35 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e der\\'.=>.25,.'Symfony\\Componen
19afc0 74 5c 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 32 39 2c 0a 27 53 79 6d 66 6f 6e 79 t\\Filesystem\\'.=>.29,.'Symfony
19afe0 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 27 20 3d 3e 20 32 34 2c 0a 27 53 79 \\Component\\Debug\\'.=>.24,.'Sy
19b000 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 mfony\\Component\\Console\\'.=>.
19b020 32 36 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 31 35 2c 0a 27 26,.'Seld\\PharUtils\\'.=>.15,.'
19b040 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 31 34 2c 0a 29 2c 0a 27 50 27 20 Seld\\JsonLint\\'.=>.14,.),.'P'.
19b060 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 38 2c 0a 29 =>..array.(.'Psr\\Log\\'.=>.8,.)
19b080 2c 0a 27 4a 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 ,.'J'.=>..array.(.'JsonSchema\\'
19b0a0 20 3d 3e 20 31 31 2c 0a 29 2c 0a 27 43 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 43 6f 6d 70 .=>.11,.),.'C'.=>..array.(.'Comp
19b0c0 6f 73 65 72 5c 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 32 33 2c 0a 27 43 oser\\XdebugHandler\\'.=>.23,.'C
19b0e0 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 31 34 2c 0a 27 43 6f 6d 70 6f 73 65 omposer\\Spdx\\'.=>.14,.'Compose
19b100 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 20 3d 3e 20 31 36 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 43 r\\Semver\\'.=>.16,.'Composer\\C
19b120 61 42 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 31 38 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 27 20 3d aBundle\\'.=>.18,.'Composer\\'.=
19b140 3e 20 39 2c 0a 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 70 72 65 66 69 >.9,.),.);..public.static.$prefi
19b160 78 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f xDirsPsr4.=.array.(.'Symfony\\Po
19b180 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a lyfill\\Mbstring\\'.=>..array.(.
19b1a0 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 0.=>.__DIR__...'/..'...'/symfony
19b1c0 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 /polyfill-mbstring',.),.'Symfony
19b1e0 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 \\Polyfill\\Ctype\\'.=>..array.(
19b200 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e .0.=>.__DIR__...'/..'...'/symfon
19b220 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c y/polyfill-ctype',.),.'Symfony\\
19b240 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 Component\\Process\\'.=>..array.
19b260 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f (.0.=>.__DIR__...'/..'...'/symfo
19b280 6e 79 2f 70 72 6f 63 65 73 73 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e ny/process',.),.'Symfony\\Compon
19b2a0 65 6e 74 5c 5c 46 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 ent\\Finder\\'.=>..array.(.0.=>.
19b2c0 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 __DIR__...'/..'...'/symfony/find
19b2e0 65 72 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6c er',.),.'Symfony\\Component\\Fil
19b300 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 esystem\\'.=>..array.(.0.=>.__DI
19b320 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 R__...'/..'...'/symfony/filesyst
19b340 65 6d 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 em',.),.'Symfony\\Component\\Deb
19b360 75 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e ug\\'.=>..array.(.0.=>.__DIR__..
19b380 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 27 2c 0a 29 2c 0a 27 53 .'/..'...'/symfony/debug',.),.'S
19b3a0 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e ymfony\\Component\\Console\\'.=>
19b3c0 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e ..array.(.0.=>.__DIR__...'/..'..
19b3e0 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c 5c 50 .'/symfony/console',.),.'Seld\\P
19b400 68 61 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 harUtils\\'.=>..array.(.0.=>.__D
19b420 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 65 6c 64 2f 70 68 61 72 2d 75 74 69 6c 73 IR__...'/..'...'/seld/phar-utils
19b440 2f 73 72 63 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 /src',.),.'Seld\\JsonLint\\'.=>.
19b460 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 .array.(.0.=>.__DIR__...'/..'...
19b480 27 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e '/seld/jsonlint/src/Seld/JsonLin
19b4a0 74 27 2c 0a 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a t',.),.'Psr\\Log\\'.=>..array.(.
19b4c0 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 0.=>.__DIR__...'/..'...'/psr/log
19b4e0 2f 50 73 72 2f 4c 6f 67 27 2c 0a 29 2c 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d 3e 20 /Psr/Log',.),.'JsonSchema\\'.=>.
19b500 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 .array.(.0.=>.__DIR__...'/..'...
19b520 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f '/justinrainbow/json-schema/src/
19b540 4a 73 6f 6e 53 63 68 65 6d 61 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 62 75 JsonSchema',.),.'Composer\\Xdebu
19b560 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 gHandler\\'.=>..array.(.0.=>.__D
19b580 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 IR__...'/..'...'/composer/xdebug
19b5a0 2d 68 61 6e 64 6c 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 -handler/src',.),.'Composer\\Spd
19b5c0 78 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 x\\'.=>..array.(.0.=>.__DIR__...
19b5e0 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 '/..'...'/composer/spdx-licenses
19b600 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 20 3d /src',.),.'Composer\\Semver\\'.=
19b620 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 >..array.(.0.=>.__DIR__...'/..'.
19b640 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f ..'/composer/semver/src',.),.'Co
19b660 6d 70 6f 73 65 72 5c 5c 43 61 42 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a mposer\\CaBundle\\'.=>..array.(.
19b680 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 0.=>.__DIR__...'/..'...'/compose
19b6a0 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c r/ca-bundle/src',.),.'Composer\\
19b6c0 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e '.=>..array.(.0.=>.__DIR__...'/.
19b6e0 2e 2f 2e 2e 27 20 2e 20 27 2f 73 72 63 2f 43 6f 6d 70 6f 73 65 72 27 2c 0a 29 2c 0a 29 3b 0a 0a ./..'...'/src/Composer',.),.);..
19b700 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 public.static.function.getInitia
19b720 6c 69 7a 65 72 28 43 6c 61 73 73 4c 6f 61 64 65 72 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 72 65 74 lizer(ClassLoader.$loader).{.ret
19b740 75 72 6e 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 urn.\Closure::bind(function.().u
19b760 73 65 20 28 24 6c 6f 61 64 65 72 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 4c 65 se.($loader).{.$loader->prefixLe
19b780 6e 67 74 68 73 50 73 72 34 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f ngthsPsr4.=.ComposerStaticInitCo
19b7a0 6d 70 6f 73 65 72 50 68 61 72 31 35 35 34 38 32 34 38 30 38 3a 3a 24 70 72 65 66 69 78 4c 65 6e mposerPhar1554824808::$prefixLen
19b7c0 67 74 68 73 50 73 72 34 3b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 gthsPsr4;.$loader->prefixDirsPsr
19b7e0 34 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 4.=.ComposerStaticInitComposerPh
19b800 61 72 31 35 35 34 38 32 34 38 30 38 3a 3a 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 0a ar1554824808::$prefixDirsPsr4;..
19b820 7d 2c 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 63 6c 61 73 73 29 3b 0a 7d 0a },.null,.ClassLoader::class);.}.
19b840 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
19b860 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a poser\Autoload;.................
19b880 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b .............class.ClassLoader.{
19b8a0 0a 0a 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 ...private.$prefixLengthsPsr4.=.
19b8c0 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 array();.private.$prefixDirsPsr4
19b8e0 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 .=.array();.private.$fallbackDir
19b900 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 70 72 65 sPsr4.=.array();....private.$pre
19b920 66 69 78 65 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 61 fixesPsr0.=.array();.private.$fa
19b940 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 llbackDirsPsr0.=.array();..priva
19b960 74 65 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 te.$useIncludePath.=.false;.priv
19b980 61 74 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 ate.$classMap.=.array();.private
19b9a0 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b .$classMapAuthoritative.=.false;
19b9c0 0a 70 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 .private.$missingClasses.=.array
19b9e0 28 29 3b 0a 70 72 69 76 61 74 65 20 24 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 70 75 62 6c 69 63 ();.private.$apcuPrefix;..public
19ba00 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 7b 0a 69 66 20 28 21 65 .function.getPrefixes().{.if.(!e
19ba20 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 72 65 74 mpty($this->prefixesPsr0)).{.ret
19ba40 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f urn.call_user_func_array('array_
19ba60 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 3b 0a 7d 0a merge',.$this->prefixesPsr0);.}.
19ba80 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .return.array();.}..public.funct
19baa0 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getPrefixesPsr4().{.return.$
19bac0 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 this->prefixDirsPsr4;.}..public.
19bae0 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 7b 0a 72 65 74 function.getFallbackDirs().{.ret
19bb00 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 7d 0a 0a urn.$this->fallbackDirsPsr0;.}..
19bb20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 50 public.function.getFallbackDirsP
19bb40 73 72 34 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 sr4().{.return.$this->fallbackDi
19bb60 72 73 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c rsPsr4;.}..public.function.getCl
19bb80 61 73 73 4d 61 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 assMap().{.return.$this->classMa
19bba0 70 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 p;.}.....public.function.addClas
19bbc0 73 4d 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 7b 0a 69 66 20 28 24 74 68 69 sMap(array.$classMap).{.if.($thi
19bbe0 73 2d 3e 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d s->classMap).{.$this->classMap.=
19bc00 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 .array_merge($this->classMap,.$c
19bc20 6c 61 73 73 4d 61 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d lassMap);.}.else.{.$this->classM
19bc40 61 70 20 3d 20 24 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ap.=.$classMap;.}.}..........pub
19bc60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 lic.function.add($prefix,.$paths
19bc80 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 ,.$prepend.=.false).{.if.(!$pref
19bca0 69 78 29 20 7b 0a 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c ix).{.if.($prepend).{.$this->fal
19bcc0 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 lbackDirsPsr0.=.array_merge(.(ar
19bce0 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 ray).$paths,.$this->fallbackDirs
19bd00 50 73 72 30 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b Psr0.);.}.else.{.$this->fallback
19bd20 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 66 DirsPsr0.=.array_merge(.$this->f
19bd40 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a allbackDirsPsr0,.(array).$paths.
19bd60 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 20 3d 20 24 70 72 65 66 69 );.}..return;.}..$first.=.$prefi
19bd80 78 5b 30 5d 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 x[0];.if.(!isset($this->prefixes
19bda0 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 24 74 68 69 73 2d Psr0[$first][$prefix])).{.$this-
19bdc0 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d >prefixesPsr0[$first][$prefix].=
19bde0 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 .(array).$paths;..return;.}.if.(
19be00 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b $prepend).{.$this->prefixesPsr0[
19be20 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a $first][$prefix].=.array_merge(.
19be40 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 (array).$paths,.$this->prefixesP
19be60 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b sr0[$first][$prefix].);.}.else.{
19be80 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 .$this->prefixesPsr0[$first][$pr
19bea0 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 70 72 65 66 efix].=.array_merge(.$this->pref
19bec0 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 28 61 72 72 61 ixesPsr0[$first][$prefix],.(arra
19bee0 79 29 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c y).$paths.);.}.}............publ
19bf00 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 ic.function.addPsr4($prefix,.$pa
19bf20 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 ths,.$prepend.=.false).{.if.(!$p
19bf40 72 65 66 69 78 29 20 7b 0a 0a 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 refix).{...if.($prepend).{.$this
19bf60 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 ->fallbackDirsPsr4.=.array_merge
19bf80 28 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 (.(array).$paths,.$this->fallbac
19bfa0 6b 44 69 72 73 50 73 72 34 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c kDirsPsr4.);.}.else.{.$this->fal
19bfc0 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 lbackDirsPsr4.=.array_merge(.$th
19bfe0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 28 61 72 72 61 79 29 20 24 70 is->fallbackDirsPsr4,.(array).$p
19c000 61 74 68 73 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 aths.);.}.}.elseif.(!isset($this
19c020 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 0a 20 ->prefixDirsPsr4[$prefix])).{...
19c040 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 27 $length.=.strlen($prefix);.if.('
19c060 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a \\'.!==.$prefix[$length.-.1]).{.
19c080 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
19c0a0 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 ion("A.non-empty.PSR-4.prefix.mu
19c0c0 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f st.end.with.a.namespace.separato
19c0e0 72 2e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 r.");.}.$this->prefixLengthsPsr4
19c100 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b [$prefix[0]][$prefix].=.$length;
19c120 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 .$this->prefixDirsPsr4[$prefix].
19c140 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 =.(array).$paths;.}.elseif.($pre
19c160 70 65 6e 64 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b pend).{...$this->prefixDirsPsr4[
19c180 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 72 61 79 29 20 $prefix].=.array_merge(.(array).
19c1a0 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 $paths,.$this->prefixDirsPsr4[$p
19c1c0 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 66 refix].);.}.else.{...$this->pref
19c1e0 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 ixDirsPsr4[$prefix].=.array_merg
19c200 65 28 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 e(.$this->prefixDirsPsr4[$prefix
19c220 5d 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ],.(array).$paths.);.}.}........
19c240 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 24 70 .public.function.set($prefix,.$p
19c260 61 74 68 73 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d 3e 66 aths).{.if.(!$prefix).{.$this->f
19c280 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 allbackDirsPsr0.=.(array).$paths
19c2a0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 ;.}.else.{.$this->prefixesPsr0[$
19c2c0 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 prefix[0]][$prefix].=.(array).$p
19c2e0 61 74 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 aths;.}.}...........public.funct
19c300 69 6f 6e 20 73 65 74 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 7b 0a 69 ion.setPsr4($prefix,.$paths).{.i
19c320 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 f.(!$prefix).{.$this->fallbackDi
19c340 72 73 50 73 72 34 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 65 20 rsPsr4.=.(array).$paths;.}.else.
19c360 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 {.$length.=.strlen($prefix);.if.
19c380 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 ('\\'.!==.$prefix[$length.-.1]).
19c3a0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
19c3c0 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 ption("A.non-empty.PSR-4.prefix.
19c3e0 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 must.end.with.a.namespace.separa
19c400 74 6f 72 2e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 tor.");.}.$this->prefixLengthsPs
19c420 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 r4[$prefix[0]][$prefix].=.$lengt
19c440 68 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 h;.$this->prefixDirsPsr4[$prefix
19c460 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ].=.(array).$paths;.}.}.......pu
19c480 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 blic.function.setUseIncludePath(
19c4a0 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 $useIncludePath).{.$this->useInc
19c4c0 6c 75 64 65 50 61 74 68 20 3d 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a 0a 0a ludePath.=.$useIncludePath;.}...
19c4e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 .....public.function.getUseInclu
19c500 64 65 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c dePath().{.return.$this->useIncl
19c520 75 64 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f udePath;.}........public.functio
19c540 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 n.setClassMapAuthoritative($clas
19c560 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 sMapAuthoritative).{.$this->clas
19c580 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 75 74 sMapAuthoritative.=.$classMapAut
19c5a0 68 6f 72 69 74 61 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 horitative;.}.......public.funct
19c5c0 69 6f 6e 20 69 73 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a 7b 0a ion.isClassMapAuthoritative().{.
19c5e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 return.$this->classMapAuthoritat
19c600 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ive;.}.......public.function.set
19c620 41 70 63 75 50 72 65 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d ApcuPrefix($apcuPrefix).{.$this-
19c640 3e 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 61 >apcuPrefix.=.function_exists('a
19c660 70 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 pcu_fetch').&&.filter_var(ini_ge
19c680 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 t('apc.enabled'),.FILTER_VALIDAT
19c6a0 45 5f 42 4f 4f 4c 45 41 4e 29 20 3f 20 24 61 70 63 75 50 72 65 66 69 78 20 3a 20 6e 75 6c 6c 3b E_BOOLEAN).?.$apcuPrefix.:.null;
19c6c0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 63 75 .}.......public.function.getApcu
19c6e0 50 72 65 66 69 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 Prefix().{.return.$this->apcuPre
19c700 66 69 78 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 fix;.}.......public.function.reg
19c720 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 73 70 6c 5f 61 75 ister($prepend.=.false).{.spl_au
19c740 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f toload_register(array($this,.'lo
19c760 61 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 7d 0a 0a 0a adClass'),.true,.$prepend);.}...
19c780 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 72 65 67 69 73 74 65 72 28 29 0a 7b ..public.function.unregister().{
19c7a0 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 .spl_autoload_unregister(array($
19c7c0 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 this,.'loadClass'));.}........pu
19c7e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a blic.function.loadClass($class).
19c800 7b 0a 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 {.if.($file.=.$this->findFile($c
19c820 6c 61 73 73 29 29 20 7b 0a 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a 72 65 lass)).{.includeFile($file);..re
19c840 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 turn.true;.}.}.........public.fu
19c860 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 nction.findFile($class).{...if.(
19c880 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 isset($this->classMap[$class])).
19c8a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d {.return.$this->classMap[$class]
19c8c0 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 ;.}.if.($this->classMapAuthorita
19c8e0 74 69 76 65 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 tive.||.isset($this->missingClas
19c900 73 65 73 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a ses[$class])).{.return.false;.}.
19c920 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 if.(null.!==.$this->apcuPrefix).
19c940 7b 0a 24 66 69 6c 65 20 3d 20 61 70 63 75 5f 66 65 74 63 68 28 24 74 68 69 73 2d 3e 61 70 63 75 {.$file.=.apcu_fetch($this->apcu
19c960 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 68 69 74 29 3b 0a 69 66 20 28 24 68 69 74 29 20 Prefix.$class,.$hit);.if.($hit).
19c980 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 74 68 {.return.$file;.}.}..$file.=.$th
19c9a0 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 is->findFileWithExtension($class
19c9c0 2c 20 27 2e 70 68 70 27 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c ,.'.php');....if.(false.===.$fil
19c9e0 65 20 26 26 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a e.&&.defined('HHVM_VERSION')).{.
19ca00 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e $file.=.$this->findFileWithExten
19ca20 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c sion($class,.'.hh');.}..if.(null
19ca40 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 61 70 63 75 5f 61 .!==.$this->apcuPrefix).{.apcu_a
19ca60 64 64 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 66 69 dd($this->apcuPrefix.$class,.$fi
19ca80 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 0a le);.}..if.(false.===.$file).{..
19caa0 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 20 3d .$this->missingClasses[$class].=
19cac0 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 0a 70 72 69 76 61 .true;.}..return.$file;.}..priva
19cae0 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f te.function.findFileWithExtensio
19cb00 6e 28 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 n($class,.$ext).{...$logicalPath
19cb20 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 Psr4.=.strtr($class,.'\\',.DIREC
19cb40 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 24 66 69 72 73 74 20 TORY_SEPARATOR)...$ext;..$first.
19cb60 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 =.$class[0];.if.(isset($this->pr
19cb80 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 24 73 75 62 efixLengthsPsr4[$first])).{.$sub
19cba0 50 61 74 68 20 3d 20 24 63 6c 61 73 73 3b 0a 77 68 69 6c 65 20 28 66 61 6c 73 65 20 21 3d 3d 20 Path.=.$class;.while.(false.!==.
19cbc0 24 6c 61 73 74 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 73 75 62 50 61 74 68 2c 20 27 5c 5c $lastPos.=.strrpos($subPath,.'\\
19cbe0 27 29 29 20 7b 0a 24 73 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 74 68 ')).{.$subPath.=.substr($subPath
19cc00 2c 20 30 2c 20 24 6c 61 73 74 50 6f 73 29 3b 0a 24 73 65 61 72 63 68 20 3d 20 24 73 75 62 50 61 ,.0,.$lastPos);.$search.=.$subPa
19cc20 74 68 20 2e 20 27 5c 5c 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 th...'\\';.if.(isset($this->pref
19cc40 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 24 70 61 74 68 45 6e 64 ixDirsPsr4[$search])).{.$pathEnd
19cc60 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 72 28 .=.DIRECTORY_SEPARATOR...substr(
19cc80 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 6c 61 73 74 50 6f 73 20 2b 20 31 29 3b $logicalPathPsr4,.$lastPos.+.1);
19cca0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b .foreach.($this->prefixDirsPsr4[
19ccc0 24 73 65 61 72 63 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 $search].as.$dir).{.if.(file_exi
19cce0 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 7b 0a sts($file.=.$dir...$pathEnd)).{.
19cd00 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 return.$file;.}.}.}.}.}....forea
19cd20 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 73 20 24 ch.($this->fallbackDirsPsr4.as.$
19cd40 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 dir).{.if.(file_exists($file.=.$
19cd60 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 dir...DIRECTORY_SEPARATOR...$log
19cd80 69 63 61 6c 50 61 74 68 50 73 72 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d icalPathPsr4)).{.return.$file;.}
19cda0 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 .}....if.(false.!==.$pos.=.strrp
19cdc0 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 29 20 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 os($class,.'\\')).{...$logicalPa
19cde0 74 68 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 thPsr0.=.substr($logicalPathPsr4
19ce00 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 6c ,.0,.$pos.+.1)...strtr(substr($l
19ce20 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 ogicalPathPsr4,.$pos.+.1),.'_',.
19ce40 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a DIRECTORY_SEPARATOR);.}.else.{..
19ce60 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 .$logicalPathPsr0.=.strtr($class
19ce80 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 ,.'_',.DIRECTORY_SEPARATOR)...$e
19cea0 78 74 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 xt;.}..if.(isset($this->prefixes
19cec0 50 73 72 30 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d Psr0[$first])).{.foreach.($this-
19cee0 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 >prefixesPsr0[$first].as.$prefix
19cf00 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 .=>.$dirs).{.if.(0.===.strpos($c
19cf20 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 lass,.$prefix)).{.foreach.($dirs
19cf40 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c .as.$dir).{.if.(file_exists($fil
19cf60 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e e.=.$dir...DIRECTORY_SEPARATOR..
19cf80 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 .$logicalPathPsr0)).{.return.$fi
19cfa0 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d le;.}.}.}.}.}....foreach.($this-
19cfc0 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 >fallbackDirsPsr0.as.$dir).{.if.
19cfe0 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 (file_exists($file.=.$dir...DIRE
19d000 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 CTORY_SEPARATOR...$logicalPathPs
19d020 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 r0)).{.return.$file;.}.}....if.(
19d040 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 69 6c 65 20 3d $this->useIncludePath.&&.$file.=
19d060 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 24 6c 6f .stream_resolve_include_path($lo
19d080 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a gicalPathPsr0)).{.return.$file;.
19d0a0 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 }..return.false;.}.}.......funct
19d0c0 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 69 6e 63 6c 75 64 65 ion.includeFile($file).{.include
19d0e0 20 24 66 69 6c 65 3b 0a 7d 0a 23 23 0a 23 23 20 42 75 6e 64 6c 65 20 6f 66 20 43 41 20 52 6f 6f .$file;.}.##.##.Bundle.of.CA.Roo
19d100 74 20 43 65 72 74 69 66 69 63 61 74 65 73 0a 23 23 0a 23 23 20 43 65 72 74 69 66 69 63 61 74 65 t.Certificates.##.##.Certificate
19d120 20 64 61 74 61 20 66 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 20 61 73 20 6f 66 3a 20 57 65 64 20 4a 61 .data.from.Mozilla.as.of:.Wed.Ja
19d140 6e 20 32 33 20 30 34 3a 31 32 3a 30 39 20 32 30 31 39 20 47 4d 54 0a 23 23 0a 23 23 20 54 68 69 n.23.04:12:09.2019.GMT.##.##.Thi
19d160 73 20 69 73 20 61 20 62 75 6e 64 6c 65 20 6f 66 20 58 2e 35 30 39 20 63 65 72 74 69 66 69 63 61 s.is.a.bundle.of.X.509.certifica
19d180 74 65 73 20 6f 66 20 70 75 62 6c 69 63 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 tes.of.public.Certificate.Author
19d1a0 69 74 69 65 73 0a 23 23 20 28 43 41 29 2e 20 54 68 65 73 65 20 77 65 72 65 20 61 75 74 6f 6d 61 ities.##.(CA)..These.were.automa
19d1c0 74 69 63 61 6c 6c 79 20 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 27 73 tically.extracted.from.Mozilla's
19d1e0 20 72 6f 6f 74 20 63 65 72 74 69 66 69 63 61 74 65 73 0a 23 23 20 66 69 6c 65 20 28 63 65 72 74 .root.certificates.##.file.(cert
19d200 64 61 74 61 2e 74 78 74 29 2e 20 20 54 68 69 73 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 6f 75 data.txt)...This.file.can.be.fou
19d220 6e 64 20 69 6e 20 74 68 65 20 6d 6f 7a 69 6c 6c 61 20 73 6f 75 72 63 65 20 74 72 65 65 3a 0a 23 nd.in.the.mozilla.source.tree:.#
19d240 23 20 68 74 74 70 73 3a 2f 2f 68 67 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 72 65 6c 65 61 73 65 #.https://hg.mozilla.org/release
19d260 73 2f 6d 6f 7a 69 6c 6c 61 2d 72 65 6c 65 61 73 65 2f 72 61 77 2d 66 69 6c 65 2f 64 65 66 61 75 s/mozilla-release/raw-file/defau
19d280 6c 74 2f 73 65 63 75 72 69 74 79 2f 6e 73 73 2f 6c 69 62 2f 63 6b 66 77 2f 62 75 69 6c 74 69 6e lt/security/nss/lib/ckfw/builtin
19d2a0 73 2f 63 65 72 74 64 61 74 61 2e 74 78 74 0a 23 23 0a 23 23 20 49 74 20 63 6f 6e 74 61 69 6e 73 s/certdata.txt.##.##.It.contains
19d2c0 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 73 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 20 .the.certificates.in.PEM.format.
19d2e0 61 6e 64 20 74 68 65 72 65 66 6f 72 65 0a 23 23 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 and.therefore.##.can.be.directly
19d300 20 75 73 65 64 20 77 69 74 68 20 63 75 72 6c 20 2f 20 6c 69 62 63 75 72 6c 20 2f 20 70 68 70 5f .used.with.curl./.libcurl./.php_
19d320 63 75 72 6c 2c 20 6f 72 20 77 69 74 68 0a 23 23 20 61 6e 20 41 70 61 63 68 65 2b 6d 6f 64 5f 73 curl,.or.with.##.an.Apache+mod_s
19d340 73 6c 20 77 65 62 73 65 72 76 65 72 20 66 6f 72 20 53 53 4c 20 63 6c 69 65 6e 74 20 61 75 74 68 sl.webserver.for.SSL.client.auth
19d360 65 6e 74 69 63 61 74 69 6f 6e 2e 0a 23 23 20 4a 75 73 74 20 63 6f 6e 66 69 67 75 72 65 20 74 68 entication..##.Just.configure.th
19d380 69 73 20 66 69 6c 65 20 61 73 20 74 68 65 20 53 53 4c 43 41 43 65 72 74 69 66 69 63 61 74 65 46 is.file.as.the.SSLCACertificateF
19d3a0 69 6c 65 2e 0a 23 23 0a 23 23 20 43 6f 6e 76 65 72 73 69 6f 6e 20 64 6f 6e 65 20 77 69 74 68 20 ile..##.##.Conversion.done.with.
19d3c0 6d 6b 2d 63 61 2d 62 75 6e 64 6c 65 2e 70 6c 20 76 65 72 73 69 6f 6e 20 31 2e 32 37 2e 0a 23 23 mk-ca-bundle.pl.version.1.27..##
19d3e0 20 53 48 41 32 35 36 3a 20 31 38 33 37 32 31 31 37 34 39 33 62 35 62 37 65 63 30 30 36 63 33 31 .SHA256:.18372117493b5b7ec006c31
19d400 64 39 36 36 31 34 33 66 63 39 35 61 39 34 36 34 61 32 62 35 66 38 64 35 31 38 38 65 32 33 63 35 d966143fc95a9464a2b5f8d5188e23c5
19d420 35 35 37 62 32 32 39 32 64 0a 23 23 0a 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 43 557b2292d.##...GlobalSign.Root.C
19d440 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 A.==================.-----BEGIN.
19d460 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 54 43 43 41 6c 32 67 41 77 49 CERTIFICATE-----.MIIDdTCCAl2gAwI
19d480 42 41 67 49 4c 42 41 41 41 41 41 41 42 46 55 74 61 77 35 51 77 44 51 59 4a 4b 6f 5a 49 68 76 63 BAgILBAAAAAABFUtaw5QwDQYJKoZIhvc
19d4a0 4e 41 51 45 46 42 51 41 77 56 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 55 78 0a 47 54 NAQEFBQAwVzELMAkGA1UEBhMCQkUx.GT
19d4c0 41 58 42 67 4e 56 42 41 6f 54 45 45 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 67 62 6e 59 74 63 32 AXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2
19d4e0 45 78 45 44 41 4f 42 67 4e 56 42 41 73 54 42 31 4a 76 62 33 51 67 51 30 45 78 47 7a 41 5a 42 67 ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBg
19d500 4e 56 42 41 4d 54 45 6b 64 73 0a 62 32 4a 68 62 46 4e 70 5a 32 34 67 55 6d 39 76 64 43 42 44 51 NVBAMTEkds.b2JhbFNpZ24gUm9vdCBDQ
19d520 54 41 65 46 77 30 35 4f 44 41 35 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 79 4f 44 41 78 4d TAeFw05ODA5MDExMjAwMDBaFw0yODAxM
19d540 6a 67 78 4d 6a 41 77 4d 44 42 61 4d 46 63 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b 4a 46 jgxMjAwMDBaMFcxCzAJBgNV.BAYTAkJF
19d560 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 48 62 47 39 69 59 57 78 54 61 57 64 75 49 47 35 32 MRkwFwYDVQQKExBHbG9iYWxTaWduIG52
19d580 4c 58 4e 68 4d 52 41 77 44 67 59 44 56 51 51 4c 45 77 64 53 62 32 39 30 49 45 4e 42 4d 52 73 77 LXNhMRAwDgYDVQQLEwdSb290IENBMRsw
19d5a0 47 51 59 44 0a 56 51 51 44 45 78 4a 48 62 47 39 69 59 57 78 54 61 57 64 75 49 46 4a 76 62 33 51 GQYD.VQQDExJHbG9iYWxTaWduIFJvb3Q
19d5c0 67 51 30 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4I
19d5e0 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 61 0a 44 75 61 5a 6a 63 36 6a 34 30 2b 4b 66 76 BDwAwggEKAoIBAQDa.DuaZjc6j40+Kfv
19d600 76 78 69 34 4d 6c 61 2b 70 49 48 2f 45 71 73 4c 6d 56 45 51 53 39 38 47 50 52 34 6d 64 6d 7a 78 vxi4Mla+pIH/EqsLmVEQS98GPR4mdmzx
19d620 7a 64 7a 78 74 49 4b 2b 36 4e 69 59 36 61 72 79 6d 41 5a 61 76 70 78 79 30 53 79 36 73 63 0a 54 zdzxtIK+6NiY6arymAZavpxy0Sy6sc.T
19d640 48 41 48 6f 54 30 4b 4d 4d 30 56 6a 55 2f 34 33 64 53 4d 55 42 55 63 37 31 44 75 78 43 37 33 2f HAHoT0KMM0VjU/43dSMUBUc71DuxC73/
19d660 4f 6c 53 38 70 46 39 34 47 33 56 4e 54 43 4f 58 6b 4e 7a 38 6b 48 70 31 57 72 6a 73 6f 6b 36 56 OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6V
19d680 6a 6b 34 62 77 59 38 69 47 6c 62 0a 4b 6b 33 46 70 31 53 34 62 49 6e 4d 6d 2f 6b 38 79 75 58 39 jk4bwY8iGlb.Kk3Fp1S4bInMm/k8yuX9
19d6a0 69 66 55 53 50 4a 4a 34 6c 74 62 63 64 47 36 54 52 47 48 52 6a 63 64 47 73 6e 55 4f 68 75 67 5a ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZ
19d6c0 69 74 56 74 62 4e 56 34 46 70 57 69 36 63 67 4b 4f 4f 76 79 4a 42 4e 50 0a 63 31 53 54 45 34 55 itVtbNV4FpWi6cgKOOvyJBNP.c1STE4U
19d6e0 36 47 37 77 65 4e 4c 57 4c 42 59 79 35 64 34 75 78 32 78 38 67 6b 61 73 4a 55 32 36 51 7a 6e 73 6G7weNLWLBYy5d4ux2x8gkasJU26Qzns
19d700 33 64 4c 6c 77 52 35 45 69 55 57 4d 57 65 61 36 78 72 6b 45 6d 43 4d 67 5a 4b 39 46 47 71 6b 6a 3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkj
19d720 57 5a 43 72 58 0a 67 7a 54 2f 4c 43 72 42 62 42 6c 44 53 67 65 46 35 39 4e 38 39 69 46 6f 37 2b WZCrX.gzT/LCrBbBlDSgeF59N89iFo7+
19d740 72 79 55 70 39 2f 6b 35 44 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDw
19d760 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 44 41 EB/wQEAwIBBjAPBgNV.HRMBAf8EBTADA
19d780 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 67 65 32 59 61 52 51 32 58 79 6f 6c 51 4c QH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL
19d7a0 33 30 45 7a 54 53 6f 2f 2f 7a 39 53 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 0a 30EzTSo//z9SzANBgkqhkiG9w0BAQUF.
19d7c0 41 41 4f 43 41 51 45 41 31 6e 50 6e 66 45 39 32 30 49 32 2f 37 4c 71 69 76 6a 54 46 4b 44 4b 31 AAOCAQEA1nPnfE920I2/7LqivjTFKDK1
19d7e0 66 50 78 73 6e 43 77 72 76 51 6d 65 55 37 39 72 58 71 6f 52 53 4c 62 6c 43 4b 4f 7a 79 6a 31 68 fPxsnCwrvQmeU79rXqoRSLblCKOzyj1h
19d800 54 64 4e 47 43 62 4d 2b 77 36 44 6a 0a 59 31 55 62 38 72 72 76 72 54 6e 68 51 37 6b 34 6f 2b 59 TdNGCbM+w6Dj.Y1Ub8rrvrTnhQ7k4o+Y
19d820 76 69 69 59 37 37 36 42 51 56 76 6e 47 43 76 30 34 7a 63 51 4c 63 46 47 55 6c 35 67 45 33 38 4e viiY776BQVvnGCv04zcQLcFGUl5gE38N
19d840 66 6c 4e 55 56 79 52 52 42 6e 4d 52 64 64 57 51 56 44 66 39 56 4d 4f 79 47 0a 6a 2f 38 4e 37 79 flNUVyRRBnMRddWQVDf9VMOyG.j/8N7y
19d860 79 35 59 30 62 32 71 76 7a 66 76 47 6e 39 4c 68 4a 49 5a 4a 72 67 6c 66 43 6d 37 79 6d 50 41 62 y5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAb
19d880 45 56 74 51 77 64 70 66 35 70 4c 47 6b 6b 65 42 36 7a 70 78 78 78 59 75 37 4b 79 4a 65 73 46 31 EVtQwdpf5pLGkkeB6zpxxxYu7KyJesF1
19d8a0 32 4b 77 76 68 48 0a 68 6d 34 71 78 46 59 78 6c 64 42 6e 69 59 55 72 2b 57 79 6d 58 55 61 64 44 2KwvhH.hm4qxFYxldBniYUr+WymXUadD
19d8c0 4b 71 43 35 4a 6c 52 33 58 43 33 32 31 59 39 59 65 52 71 34 56 7a 57 39 76 34 39 33 6b 48 4d 42 KqC5JlR3XC321Y9YeRq4VzW9v493kHMB
19d8e0 36 35 6a 55 72 39 54 55 2f 51 72 36 63 66 39 74 76 65 43 0a 58 34 58 53 51 52 6a 62 67 62 4d 45 65jUr9TU/Qr6cf9tveC.X4XSQRjbgbME
19d900 48 4d 55 66 70 49 42 76 46 53 44 4a 33 67 79 49 43 68 33 57 5a 6c 58 69 2f 45 6a 4a 4b 53 5a 70 HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp
19d920 34 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4A==.-----END.CERTIFICATE-----..
19d940 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d GlobalSign.Root.CA.-.R2.========
19d960 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
19d980 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 75 6a 43 43 41 71 4b 67 41 77 49 42 41 67 49 4c FICATE-----.MIIDujCCAqKgAwIBAgIL
19d9a0 42 41 41 41 41 41 41 42 44 34 59 6d 35 67 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 BAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEF
19d9c0 42 51 41 77 54 44 45 67 4d 42 34 47 41 31 55 45 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 32 6c BQAwTDEgMB4GA1UECxMXR2xv.YmFsU2l
19d9e0 6e 62 69 42 53 62 32 39 30 49 45 4e 42 49 43 30 67 55 6a 49 78 45 7a 41 52 42 67 4e 56 42 41 6f nbiBSb290IENBIC0gUjIxEzARBgNVBAo
19da00 54 43 6b 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 TCkdsb2JhbFNpZ24xEzARBgNVBAMTCkd
19da20 73 62 32 4a 68 0a 62 46 4e 70 5a 32 34 77 48 68 63 4e 4d 44 59 78 4d 6a 45 31 4d 44 67 77 4d 44 sb2Jh.bFNpZ24wHhcNMDYxMjE1MDgwMD
19da40 41 77 57 68 63 4e 4d 6a 45 78 4d 6a 45 31 4d 44 67 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 AwWhcNMjExMjE1MDgwMDAwWjBMMSAwHg
19da60 59 44 56 51 51 4c 45 78 64 48 62 47 39 69 59 57 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 67 51 YDVQQLExdHbG9iYWxT.aWduIFJvb3QgQ
19da80 30 45 67 4c 53 42 53 4d 6a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU
19daa0 32 6c 6e 62 6a 45 54 4d 42 45 47 41 31 55 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 0a 2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln.
19dac0 62 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 bjCCASIwDQYJKoZIhvcNAQEBBQADggEP
19dae0 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 62 50 4a 41 36 2b 4c 6d 38 6f 6d 55 56 43 78 4b 73 2b ADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+
19db00 49 56 53 62 43 39 4e 2f 68 48 44 36 0a 45 72 50 4c 76 34 64 66 78 6e 2b 47 30 37 49 77 58 4e 62 IVSbC9N/hHD6.ErPLv4dfxn+G07IwXNb
19db20 39 72 66 46 37 33 4f 58 34 59 4a 59 4a 6b 68 44 31 30 46 50 65 2b 33 74 2b 63 34 69 73 55 6f 68 9rfF73OX4YJYJkhD10FPe+3t+c4isUoh
19db40 37 53 71 62 4b 53 61 5a 65 71 4b 65 4d 57 68 47 38 65 6f 4c 72 76 6f 7a 70 0a 73 36 79 57 4a 51 7SqbKSaZeqKeMWhG8eoLrvozp.s6yWJQ
19db60 65 58 53 70 6b 71 42 79 2b 30 48 6e 65 2f 69 67 2b 31 41 6e 77 62 6c 72 6a 46 75 54 6f 73 76 4e eXSpkqBy+0Hne/ig+1AnwblrjFuTosvN
19db80 59 53 75 65 74 5a 66 65 4c 51 42 6f 5a 66 58 6b 6c 71 74 54 6c 65 69 44 54 73 76 48 67 4d 43 4a YSuetZfeLQBoZfXklqtTleiDTsvHgMCJ
19dba0 69 45 62 4b 6a 4e 0a 53 37 53 67 66 51 78 35 54 66 43 34 4c 63 73 68 79 74 56 73 57 33 33 68 6f iEbKjN.S7SgfQx5TfC4LcshytVsW33ho
19dbc0 43 6d 45 6f 66 6e 54 6c 45 6e 4c 4a 47 4b 52 49 4c 7a 64 43 39 58 5a 7a 50 6e 71 4a 77 6f 72 63 CmEofnTlEnLJGKRILzdC9XZzPnqJworc
19dbe0 35 48 47 6e 52 75 73 79 4d 76 6f 34 4b 44 30 4c 35 43 4c 0a 54 66 75 77 4e 68 76 32 47 58 71 46 5HGnRusyMvo4KD0L5CL.TfuwNhv2GXqF
19dc00 34 47 33 79 59 52 4f 49 58 4a 2f 67 6b 77 70 52 6c 34 70 61 7a 71 2b 72 31 66 65 71 43 61 70 67 4G3yYROIXJ/gkwpRl4pazq+r1feqCapg
19dc20 76 64 7a 5a 58 39 39 79 71 57 41 54 58 67 41 42 79 55 72 36 50 36 54 71 42 77 4d 68 41 6f 36 43 vdzZX99yqWATXgAByUr6P6TqBwMhAo6C
19dc40 0a 79 67 50 43 6d 34 38 43 41 77 45 41 41 61 4f 42 6e 44 43 42 6d 54 41 4f 42 67 4e 56 48 51 38 .ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8
19dc60 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwE
19dc80 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 0a 46 67 51 55 6d 2b 49 48 56 32 63 63 48 73 42 71 42 74 B/zAdBgNVHQ4E.FgQUm+IHV2ccHsBqBt
19dca0 35 5a 74 4a 6f 74 33 39 77 5a 68 69 34 77 4e 67 59 44 56 52 30 66 42 43 38 77 4c 54 41 72 6f 43 5ZtJot39wZhi4wNgYDVR0fBC8wLTAroC
19dcc0 6d 67 4a 34 59 6c 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 6e 62 47 39 69 0a 59 57 78 7a 61 mgJ4YlaHR0cDovL2NybC5nbG9i.YWxza
19dce0 57 64 75 4c 6d 35 6c 64 43 39 79 62 32 39 30 4c 58 49 79 4c 6d 4e 79 62 44 41 66 42 67 4e 56 48 WduLm5ldC9yb290LXIyLmNybDAfBgNVH
19dd00 53 4d 45 47 44 41 57 67 42 53 62 34 67 64 58 5a 78 77 65 77 47 6f 47 33 6c 6d 30 6d 69 33 66 33 SMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3
19dd20 42 6d 47 4c 6a 41 4e 0a 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 BmGLjAN.BgkqhkiG9w0BAQUFAAOCAQEA
19dd40 6d 59 46 54 68 78 78 6f 6c 34 61 52 37 4f 42 4b 75 45 51 4c 71 34 47 73 4a 30 2f 57 77 62 67 63 mYFThxxol4aR7OBKuEQLq4GsJ0/Wwbgc
19dd60 51 33 69 7a 44 4a 72 38 36 69 77 38 62 6d 45 62 54 55 73 70 0a 39 5a 38 46 48 53 62 42 75 4f 6d Q3izDJr86iw8bmEbTUsp.9Z8FHSbBuOm
19dd80 44 41 47 4a 46 74 71 6b 49 6b 37 6d 70 4d 30 73 59 6d 73 4c 34 68 34 68 4f 32 39 31 78 4e 42 72 DAGJFtqkIk7mpM0sYmsL4h4hO291xNBr
19dda0 42 56 4e 70 47 50 2b 44 54 4b 71 74 74 56 43 4c 31 4f 6d 4c 4e 49 47 2b 36 4b 59 6e 58 33 5a 48 BVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZH
19ddc0 75 0a 30 31 79 69 50 71 46 62 51 66 58 66 35 57 52 44 4c 65 6e 56 4f 61 76 53 6f 74 2b 33 69 39 u.01yiPqFbQfXf5WRDLenVOavSot+3i9
19dde0 44 41 67 42 6b 63 52 63 41 74 6a 4f 6a 34 4c 61 52 30 56 6b 6e 46 42 62 56 50 46 64 35 75 52 48 DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRH
19de00 67 35 68 36 68 2b 75 2f 4e 35 47 4a 47 37 0a 39 47 2b 64 77 66 43 4d 4e 59 78 64 41 66 76 44 62 g5h6h+u/N5GJG7.9G+dwfCMNYxdAfvDb
19de20 62 6e 76 52 47 31 35 52 6a 46 2b 43 76 36 70 67 73 48 2f 37 36 74 75 49 4d 52 51 79 56 2b 64 54 bnvRG15RjF+Cv6pgsH/76tuIMRQyV+dT
19de40 5a 73 58 6a 41 7a 6c 41 63 6d 67 51 57 70 7a 55 2f 71 6c 55 4c 52 75 4a 51 2f 37 0a 54 42 6a 30 ZsXjAzlAcmgQWpzU/qlULRuJQ/7.TBj0
19de60 2f 56 4c 5a 6a 6d 6d 78 36 42 45 50 33 6f 6a 59 2b 78 31 4a 39 36 72 65 6c 63 38 67 65 4d 4a 67 /VLZjmmx6BEP3ojY+x1J96relc8geMJg
19de80 45 74 73 6c 51 49 78 71 2f 48 35 43 4f 45 42 6b 45 76 65 65 67 65 47 54 4c 67 3d 3d 0a 2d 2d 2d EtslQIxq/H5COEBkEveegeGTLg==.---
19dea0 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 73 69 67 6e --END.CERTIFICATE-----..Verisign
19dec0 20 43 6c 61 73 73 20 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 .Class.3.Public.Primary.Certific
19dee0 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ation.Authority.-.G3.===========
19df00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
19df20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
19df40 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 47 6a 43 43 41 77 49 43 45 51 43 62 66 67 TIFICATE-----.MIIEGjCCAwICEQCbfg
19df60 5a 4a 6f 7a 35 69 75 64 58 75 6b 45 68 78 4b 65 39 58 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 ZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQ
19df80 45 42 42 51 55 41 4d 49 48 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 58 4d EBBQUAMIHKMQswCQYDVQQGEwJV.UzEXM
19dfa0 42 55 47 41 31 55 45 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 BUGA1UEChMOVmVyaVNpZ24sIEluYy4xH
19dfc0 7a 41 64 42 67 4e 56 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e 30 49 zAdBgNVBAsTFlZlcmlTaWduIFRydXN0I
19dfe0 45 35 6c 64 48 64 76 0a 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 78 E5ldHdv.cmsxOjA4BgNVBAsTMShjKSAx
19e000 4f 54 6b 35 49 46 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 OTk5IFZlcmlTaWduLCBJbmMuIC0gRm9y
19e020 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 52 54 42 IGF1dGhvcml6ZWQgdXNl.IG9ubHkxRTB
19e040 44 42 67 4e 56 42 41 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 44 4d DBgNVBAMTPFZlcmlTaWduIENsYXNzIDM
19e060 67 55 48 56 69 62 47 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e gUHVibGljIFByaW1hcnkgQ2VydGlmaWN
19e080 68 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 41 65 46 77 h.dGlvbiBBdXRob3JpdHkgLSBHMzAeFw
19e0a0 30 35 4f 54 45 77 4d 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4e 6a 41 33 4d 54 59 79 4d 7a 05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMz
19e0c0 55 35 4e 54 6c 61 4d 49 48 4b 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 58 4d U5NTlaMIHKMQsw.CQYDVQQGEwJVUzEXM
19e0e0 42 55 47 41 31 55 45 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 BUGA1UEChMOVmVyaVNpZ24sIEluYy4xH
19e100 7a 41 64 42 67 4e 56 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 0a 64 58 4e 30 zAdBgNVBAsTFlZlcmlTaWduIFRy.dXN0
19e120 49 45 35 6c 64 48 64 76 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 78 IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAx
19e140 4f 54 6b 35 49 46 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 OTk5IFZlcmlTaWduLCBJbmMuIC0gRm9y
19e160 49 47 46 31 64 47 68 76 0a 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 52 54 42 IGF1dGhv.cml6ZWQgdXNlIG9ubHkxRTB
19e180 44 42 67 4e 56 42 41 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 44 4d DBgNVBAMTPFZlcmlTaWduIENsYXNzIDM
19e1a0 67 55 48 56 69 62 47 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 0a 51 32 56 79 64 47 6c 6d 61 57 gUHVibGljIFByaW1hcnkg.Q2VydGlmaW
19e1c0 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 43 43 41 53 NhdGlvbiBBdXRob3JpdHkgLSBHMzCCAS
19e1e0 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 IwDQYJKoZIhvcNAQEBBQADggEPADCCAQ
19e200 6f 43 0a 67 67 45 42 41 4d 75 36 6e 46 4c 38 65 42 38 61 48 6d 38 62 4e 33 4f 39 2b 4d 6c 72 6c oC.ggEBAMu6nFL8eB8aHm8bN3O9+Mlrl
19e220 42 49 77 54 2f 41 32 52 2f 58 51 6b 51 72 31 46 38 69 6c 59 63 45 57 51 45 33 37 69 6d 47 51 35 BIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5
19e240 58 59 67 77 52 45 47 66 61 73 73 62 71 62 31 0a 45 55 47 4f 2b 69 32 74 4b 6d 46 5a 70 47 63 6d XYgwREGfassbqb1.EUGO+i2tKmFZpGcm
19e260 54 4e 44 6f 76 46 4a 62 63 43 41 45 57 4e 46 36 79 61 52 70 76 49 4d 58 5a 4b 30 46 69 37 7a 51 TNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQ
19e280 57 4d 36 4e 6a 50 58 72 38 45 4a 4a 43 35 32 58 4a 32 63 79 62 75 47 75 6b 78 55 63 0a 63 4c 77 WM6NjPXr8EJJC52XJ2cybuGukxUc.cLw
19e2a0 67 54 53 38 59 33 70 4b 49 36 47 79 46 56 78 45 61 36 58 37 6a 4a 68 46 55 6f 6b 57 57 56 59 50 gTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYP
19e2c0 4b 4d 49 6e 6f 33 4e 69 6a 37 53 71 41 50 33 39 35 5a 56 63 2b 46 53 42 6d 43 43 2b 56 6b 37 2b KMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+
19e2e0 71 52 79 2b 6f 52 70 66 77 0a 45 75 4c 2b 77 67 6f 72 55 65 5a 32 35 72 64 47 74 2b 49 4e 70 73 qRy+oRpfw.EuL+wgorUeZ25rdGt+INps
19e300 79 6f 77 30 78 5a 56 59 6e 6d 36 46 4e 63 48 4f 71 64 38 47 49 57 43 36 66 4a 58 77 7a 77 33 73 yow0xZVYnm6FNcHOqd8GIWC6fJXwzw3s
19e320 4a 32 7a 71 2f 33 61 76 4c 36 51 61 61 69 4d 78 54 4a 35 58 70 6a 0a 30 35 35 69 4e 39 57 46 5a J2zq/3avL6QaaiMxTJ5Xpj.055iN9WFZ
19e340 5a 34 4f 35 6c 4d 6b 64 42 74 65 48 52 4a 54 57 38 63 73 35 34 4e 4a 4f 78 57 75 69 6d 69 35 56 Z4O5lMkdBteHRJTW8cs54NJOxWuimi5V
19e360 35 63 43 41 77 45 41 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 5cCAwEAATANBgkqhkiG9w0BAQUFAAOCA
19e380 51 45 41 0a 45 52 53 57 77 61 75 53 43 50 63 2f 4c 38 6d 79 2f 75 52 61 6e 32 54 65 32 79 46 50 QEA.ERSWwauSCPc/L8my/uRan2Te2yFP
19e3a0 68 70 6b 30 64 6a 5a 58 33 64 41 56 4c 38 57 74 66 78 55 66 4e 32 4a 7a 50 74 54 6e 58 38 34 58 hpk0djZX3dAVL8WtfxUfN2JzPtTnX84X
19e3c0 41 39 73 31 2b 69 76 62 72 6d 41 4a 58 78 35 66 0a 6a 32 36 37 43 7a 33 71 57 68 4d 65 44 47 42 A9s1+ivbrmAJXx5f.j267Cz3qWhMeDGB
19e3e0 76 74 63 43 31 49 79 49 75 42 77 76 4c 71 58 54 4c 52 37 73 64 77 64 65 6c 61 38 77 76 30 6b 4c vtcC1IyIuBwvLqXTLR7sdwdela8wv0kL
19e400 39 53 64 32 6e 69 63 39 54 75 74 6f 41 57 69 69 2f 67 74 2f 34 75 68 4d 64 55 49 61 43 0a 2f 59 9Sd2nic9TutoAWii/gt/4uhMdUIaC./Y
19e420 34 77 6a 79 6c 47 73 42 34 39 4e 64 6f 34 59 68 59 59 53 71 33 6d 74 6c 46 73 33 71 39 69 36 77 4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6w
19e440 48 51 48 69 54 2b 65 6f 38 53 47 68 4a 6f 75 50 74 6d 6d 52 51 55 52 56 79 75 35 36 35 70 46 34 HQHiT+eo8SGhJouPtmmRQURVyu565pF4
19e460 45 72 57 6a 66 4a 58 69 72 30 0a 78 75 4b 68 58 46 53 62 70 6c 51 41 7a 2f 44 78 77 63 65 59 4d ErWjfJXir0.xuKhXFSbplQAz/DxwceYM
19e480 42 6f 37 4e 68 62 62 6f 32 37 71 2f 61 32 79 77 74 72 76 41 6b 63 54 69 73 44 78 73 7a 47 74 54 Bo7Nhbbo27q/a2ywtrvAkcTisDxszGtT
19e4a0 78 7a 68 54 35 79 76 44 77 79 64 39 33 67 4e 32 50 51 31 56 6f 44 61 0a 74 32 30 58 6a 35 30 65 xzhT5yvDwyd93gN2PQ1VoDa.t20Xj50e
19e4c0 67 57 54 68 2f 73 56 46 75 71 31 72 75 51 70 36 54 6b 39 4c 68 4f 35 4c 38 58 33 64 45 51 3d 3d gWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
19e4e0 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 .-----END.CERTIFICATE-----..Entr
19e500 75 73 74 2e 6e 65 74 20 50 72 65 6d 69 75 6d 20 32 30 34 38 20 53 65 63 75 72 65 20 53 65 72 76 ust.net.Premium.2048.Secure.Serv
19e520 65 72 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d er.CA.==========================
19e540 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
19e560 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4b 6a 43 43 41 78 4b 67 41 77 49 42 41 67 49 45 FICATE-----.MIIEKjCCAxKgAwIBAgIE
19e580 4f 47 50 65 2b 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 74 44 45 55 OGPe+DANBgkqhkiG9w0BAQUFADCBtDEU
19e5a0 4d 42 49 47 41 31 55 45 43 68 4d 4c 52 57 35 30 63 6e 56 7a 64 43 35 75 0a 5a 58 51 78 51 44 41 MBIGA1UEChMLRW50cnVzdC5u.ZXQxQDA
19e5c0 2b 42 67 4e 56 42 41 73 55 4e 33 64 33 64 79 35 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 +BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9
19e5e0 44 55 46 4e 66 4d 6a 41 30 4f 43 42 70 62 6d 4e 76 63 6e 41 75 49 47 4a 35 49 48 4a 6c 5a 69 34 DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4
19e600 67 4b 47 78 70 0a 62 57 6c 30 63 79 42 73 61 57 46 69 4c 69 6b 78 4a 54 41 6a 42 67 4e 56 42 41 gKGxp.bWl0cyBsaWFiLikxJTAjBgNVBA
19e620 73 54 48 43 68 6a 4b 53 41 78 4f 54 6b 35 49 45 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 49 45 sTHChjKSAxOTk5IEVudHJ1c3QubmV0IE
19e640 78 70 62 57 6c 30 5a 57 51 78 4d 7a 41 78 42 67 4e 56 0a 42 41 4d 54 4b 6b 56 75 64 48 4a 31 63 xpbWl0ZWQxMzAxBgNV.BAMTKkVudHJ1c
19e660 33 51 75 62 6d 56 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 3QubmV0IENlcnRpZmljYXRpb24gQXV0a
19e680 47 39 79 61 58 52 35 49 43 67 79 4d 44 51 34 4b 54 41 65 46 77 30 35 4f 54 45 79 4d 6a 51 78 0a G9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx.
19e6a0 4e 7a 55 77 4e 54 46 61 46 77 30 79 4f 54 41 33 4d 6a 51 78 4e 44 45 31 4d 54 4a 61 4d 49 47 30 NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0
19e6c0 4d 52 51 77 45 67 59 44 56 51 51 4b 45 77 74 46 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 44 46 41 MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFA
19e6e0 4d 44 34 47 41 31 55 45 43 78 51 33 0a 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 6d 56 MD4GA1UECxQ3.d3d3LmVudHJ1c3QubmV
19e700 30 4c 30 4e 51 55 31 38 79 4d 44 51 34 49 47 6c 75 59 32 39 79 63 43 34 67 59 6e 6b 67 63 6d 56 0L0NQU18yMDQ4IGluY29ycC4gYnkgcmV
19e720 6d 4c 69 41 6f 62 47 6c 74 61 58 52 7a 49 47 78 70 59 57 49 75 4b 54 45 6c 0a 4d 43 4d 47 41 31 mLiAobGltaXRzIGxpYWIuKTEl.MCMGA1
19e740 55 45 43 78 4d 63 4b 47 4d 70 49 44 45 35 4f 54 6b 67 52 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 UECxMcKGMpIDE5OTkgRW50cnVzdC5uZX
19e760 51 67 54 47 6c 74 61 58 52 6c 5a 44 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 63 6e QgTGltaXRlZDEzMDEGA1UEAxMqRW50cn
19e780 56 7a 64 43 35 75 0a 5a 58 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 VzdC5u.ZXQgQ2VydGlmaWNhdGlvbiBBd
19e7a0 58 52 6f 62 33 4a 70 64 48 6b 67 4b 44 49 77 4e 44 67 70 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 XRob3JpdHkgKDIwNDgpMIIBIjANBgkqh
19e7c0 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 kiG9w0BAQEFAAOCAQ8A.MIIBCgKCAQEA
19e7e0 72 55 31 4c 71 52 4b 47 73 75 71 6a 49 41 63 56 46 6d 51 71 4b 30 76 52 76 77 74 4b 54 59 37 74 rU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7t
19e800 67 48 61 6c 5a 37 64 34 51 4d 42 7a 51 73 68 6f 77 4e 74 54 4b 39 31 65 75 48 61 59 4e 5a 4f 4c gHalZ7d4QMBzQshowNtTK91euHaYNZOL
19e820 0a 47 70 31 38 45 7a 6f 4f 48 31 75 33 48 73 2f 6c 4a 42 51 65 73 59 47 70 6a 58 32 34 7a 47 74 .Gp18EzoOH1u3Hs/lJBQesYGpjX24zGt
19e840 4c 41 2f 45 43 44 4e 79 72 70 55 41 6b 41 48 39 30 6c 4b 47 64 43 43 6d 7a 69 41 76 31 68 33 65 LA/ECDNyrpUAkAH90lKGdCCmziAv1h3e
19e860 64 56 63 33 6b 77 33 37 58 61 6d 53 72 0a 68 52 53 47 6c 56 75 58 4d 6c 42 76 50 63 69 36 5a 67 dVc3kw37XamSr.hRSGlVuXMlBvPci6Zg
19e880 7a 6a 2f 4c 32 34 53 63 46 32 69 55 6b 5a 2f 63 43 6f 76 59 6d 6a 5a 79 2f 47 6e 37 78 78 47 57 zj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGW
19e8a0 43 34 4c 65 6b 73 79 5a 42 32 5a 6e 75 55 34 71 39 34 31 6d 56 54 58 54 7a 57 0a 6e 4c 4c 50 4b C4LeksyZB2ZnuU4q941mVTXTzW.nLLPK
19e8c0 51 50 35 4c 36 52 51 73 74 52 49 7a 67 55 79 56 59 72 39 73 6d 52 4d 44 75 53 59 42 33 58 62 66 QP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf
19e8e0 39 2b 35 43 46 56 67 68 54 41 70 2b 58 74 49 70 47 6d 47 34 7a 55 2f 48 6f 5a 64 65 6e 6f 56 76 9+5CFVghTAp+XtIpGmG4zU/HoZdenoVv
19e900 65 38 41 6a 68 55 69 0a 56 42 63 41 6b 43 61 54 76 41 35 4a 61 4a 47 2f 2b 45 66 54 6e 5a 56 43 e8AjhUi.VBcAkCaTvA5JaJG/+EfTnZVC
19e920 77 51 35 4e 33 32 38 6d 7a 38 4d 59 49 57 4a 6d 51 33 44 57 31 63 41 48 34 51 49 44 41 51 41 42 wQ5N328mz8MYIWJmQ3DW1cAH4QIDAQAB
19e940 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 o0IwQDAOBgNVHQ8BAf8E.BAMCAQYwDwY
19e960 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 DVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQ
19e980 55 56 65 53 42 30 52 47 41 76 74 69 4a 75 51 69 6a 4d 66 6d 68 4a 41 6b 57 75 58 41 77 44 51 59 UVeSB0RGAvtiJuQijMfmhJAkWuXAwDQY
19e9a0 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 75 62 6a 31 61 62 4d 4f J.KoZIhvcNAQEFBQADggEBADubj1abMO
19e9c0 64 54 6d 58 78 36 65 61 64 4e 6c 39 63 5a 6c 5a 44 37 42 68 2f 4b 4d 33 78 47 59 34 2b 57 5a 69 dTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZi
19e9e0 54 36 51 42 73 68 4a 38 72 6d 63 6e 50 79 0a 54 2f 34 78 6d 66 33 49 44 45 78 6f 55 38 61 41 67 T6QBshJ8rmcnPy.T/4xmf3IDExoU8aAg
19ea00 68 4f 59 2b 72 61 74 32 6c 30 39 38 63 35 75 39 68 55 52 6c 49 49 4d 37 6a 2b 56 72 78 47 72 44 hOY+rat2l098c5u9hURlIIM7j+VrxGrD
19ea20 39 63 76 33 68 38 44 6a 31 63 73 48 73 6d 37 6d 68 70 45 6c 65 73 59 54 36 59 66 0a 7a 58 31 58 9cv3h8Dj1csHsm7mhpElesYT6Yf.zX1X
19ea40 45 43 2b 62 42 41 6c 61 68 4c 56 75 32 42 30 36 34 64 61 65 30 57 78 35 58 6e 6b 63 46 4d 58 6a EC+bBAlahLVu2B064dae0Wx5XnkcFMXj
19ea60 30 45 79 54 4f 32 55 38 37 64 38 39 76 71 62 6c 6c 52 72 44 74 52 6e 44 76 56 35 62 75 2f 38 6a 0EyTO2U87d89vqbllRrDtRnDvV5bu/8j
19ea80 37 32 67 5a 79 78 4b 54 0a 4a 31 77 44 4c 57 38 77 30 42 36 32 47 71 7a 65 57 76 66 52 71 71 67 72gZyxKT.J1wDLW8w0B62GqzeWvfRqqg
19eaa0 6e 70 76 35 35 67 63 52 35 6d 54 4e 58 75 68 4b 77 71 65 42 43 62 4a 50 4b 56 74 37 2b 62 59 51 npv55gcR5mTNXuhKwqeBCbJPKVt7+bYQ
19eac0 4c 43 49 74 2b 6a 65 72 58 6d 43 48 47 38 2b 63 38 65 53 39 65 0a 6e 4e 46 4d 46 59 33 68 37 43 LCIt+jerXmCHG8+c8eS9e.nNFMFY3h7C
19eae0 49 33 7a 4a 70 44 43 35 66 63 67 4a 43 4e 73 32 65 62 62 30 67 49 46 56 62 50 76 2f 45 72 66 46 I3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF
19eb00 36 61 64 75 6c 5a 6b 4d 56 38 67 7a 55 52 5a 56 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 6adulZkMV8gzURZVE=.-----END.CERT
19eb20 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 61 6c 74 69 6d 6f 72 65 20 43 79 62 65 72 54 72 75 IFICATE-----..Baltimore.CyberTru
19eb40 73 74 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d st.Root.========================
19eb60 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
19eb80 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 42 41 67 49 45 41 67 41 41 75 54 41 4e 42 67 6b 71 68 6b IDdzCCAl+gAwIBAgIEAgAAuTANBgkqhk
19eba0 69 47 39 77 30 42 41 51 55 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a 52 54 iG9w0BAQUFADBaMQswCQYDVQQGEwJJRT
19ebc0 45 53 4d 42 41 47 41 31 55 45 0a 43 68 4d 4a 51 6d 46 73 64 47 6c 74 62 33 4a 6c 4d 52 4d 77 45 ESMBAGA1UE.ChMJQmFsdGltb3JlMRMwE
19ebe0 51 59 44 56 51 51 4c 45 77 70 44 65 57 4a 6c 63 6c 52 79 64 58 4e 30 4d 53 49 77 49 41 59 44 56 QYDVQQLEwpDeWJlclRydXN0MSIwIAYDV
19ec00 51 51 44 45 78 6c 43 59 57 78 30 61 57 31 76 63 6d 55 67 51 33 6c 69 0a 5a 58 4a 55 63 6e 56 7a QQDExlCYWx0aW1vcmUgQ3li.ZXJUcnVz
19ec20 64 43 42 53 62 32 39 30 4d 42 34 58 44 54 41 77 4d 44 55 78 4d 6a 45 34 4e 44 59 77 4d 46 6f 58 dCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
19ec40 44 54 49 31 4d 44 55 78 4d 6a 49 7a 4e 54 6b 77 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 DTI1MDUxMjIzNTkwMFowWjELMAkGA1UE
19ec60 42 68 4d 43 0a 53 55 55 78 45 6a 41 51 42 67 4e 56 42 41 6f 54 43 55 4a 68 62 48 52 70 62 57 39 BhMC.SUUxEjAQBgNVBAoTCUJhbHRpbW9
19ec80 79 5a 54 45 54 4d 42 45 47 41 31 55 45 43 78 4d 4b 51 33 6c 69 5a 58 4a 55 63 6e 56 7a 64 44 45 yZTETMBEGA1UECxMKQ3liZXJUcnVzdDE
19eca0 69 4d 43 41 47 41 31 55 45 41 78 4d 5a 51 6d 46 73 0a 64 47 6c 74 62 33 4a 6c 49 45 4e 35 59 6d iMCAGA1UEAxMZQmFs.dGltb3JlIEN5Ym
19ecc0 56 79 56 48 4a 31 63 33 51 67 55 6d 39 76 64 44 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 VyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhv
19ece0 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 4d 45 0a 75 cNAQEBBQADggEPADCCAQoCggEBAKME.u
19ed00 79 4b 72 6d 44 31 58 36 43 5a 79 6d 72 56 35 31 43 6e 69 34 65 69 56 67 4c 47 77 34 31 75 4f 4b yKrmD1X6CZymrV51Cni4eiVgLGw41uOK
19ed20 79 6d 61 5a 4e 2b 68 58 65 32 77 43 51 56 74 32 79 67 75 7a 6d 4b 69 59 76 36 30 69 4e 6f 53 36 ymaZN+hXe2wCQVt2yguzmKiYv60iNoS6
19ed40 7a 6a 72 49 5a 33 41 51 53 73 42 0a 55 6e 75 49 64 39 4d 63 6a 38 65 36 75 59 69 31 61 67 6e 6e zjrIZ3AQSsB.UnuId9Mcj8e6uYi1agnn
19ed60 63 2b 67 52 51 4b 66 52 7a 4d 70 69 6a 53 33 6c 6a 77 75 6d 55 4e 4b 6f 55 4d 4d 6f 36 76 57 72 c+gRQKfRzMpijS3ljwumUNKoUMMo6vWr
19ed80 4a 59 65 4b 6d 70 59 63 71 57 65 34 50 77 7a 56 39 2f 6c 53 45 79 2f 43 0a 47 39 56 77 63 50 43 JYeKmpYcqWe4PwzV9/lSEy/C.G9VwcPC
19eda0 50 77 42 4c 4b 42 73 75 61 34 64 6e 4b 4d 33 70 33 31 76 6a 73 75 66 46 6f 52 45 4a 49 45 39 4c PwBLKBsua4dnKM3p31vjsufFoREJIE9L
19edc0 41 77 71 53 75 58 6d 44 2b 74 71 59 46 2f 4c 54 64 42 31 6b 43 31 46 6b 59 6d 47 50 31 70 57 50 AwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWP
19ede0 67 6b 41 78 39 0a 58 62 49 47 65 76 4f 46 36 75 76 55 41 36 35 65 68 44 35 66 2f 78 58 74 61 62 gkAx9.XbIGevOF6uvUA65ehD5f/xXtab
19ee00 7a 35 4f 54 5a 79 64 63 39 33 55 6b 33 7a 79 5a 41 73 75 54 33 6c 79 53 4e 54 50 78 38 6b 6d 43 z5OTZydc93Uk3zyZAsuT3lySNTPx8kmC
19ee20 46 63 42 35 6b 70 76 63 59 36 37 4f 64 75 68 6a 70 72 0a 6c 33 52 6a 4d 37 31 6f 47 44 48 77 65 FcB5kpvcY67Oduhjpr.l3RjM71oGDHwe
19ee40 49 31 32 76 2f 79 65 6a 6c 30 71 68 71 64 4e 6b 4e 77 6e 47 6a 6b 43 41 77 45 41 41 61 4e 46 4d I12v/yejl0qhqdNkNwnGjkCAwEAAaNFM
19ee60 45 4d 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 57 64 57 54 43 43 52 31 6a 4d 72 50 6f 49 0a EMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI.
19ee80 56 44 61 47 65 7a 71 31 42 45 33 77 4d 42 49 47 41 31 55 64 45 77 45 42 2f 77 51 49 4d 41 59 42 VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYB
19eea0 41 66 38 43 41 51 4d 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 Af8CAQMwDgYDVR0PAQH/BAQDAgEGMA0G
19eec0 43 53 71 47 53 49 62 33 44 51 45 42 0a 42 51 55 41 41 34 49 42 41 51 43 46 44 46 32 4f 35 47 39 CSqGSIb3DQEB.BQUAA4IBAQCFDF2O5G9
19eee0 52 61 45 49 46 6f 4e 32 37 54 79 63 6c 68 41 4f 39 39 32 54 39 4c 64 63 77 34 36 51 51 46 2b 76 RaEIFoN27TyclhAO992T9Ldcw46QQF+v
19ef00 61 4b 53 6d 32 65 54 39 32 39 68 6b 54 49 37 67 51 43 76 6c 59 70 4e 52 68 0a 63 4c 30 45 59 57 aKSm2eT929hkTI7gQCvlYpNRh.cL0EYW
19ef20 6f 53 69 68 66 56 43 72 33 46 76 44 42 38 31 75 6b 4d 4a 59 32 47 51 45 2f 73 7a 4b 4e 2b 4f 4d oSihfVCr3FvDB81ukMJY2GQE/szKN+OM
19ef40 59 33 45 55 2f 74 33 57 67 78 6a 6b 7a 53 73 77 46 30 37 72 35 31 58 67 64 49 47 6e 39 77 2f 78 Y3EU/t3WgxjkzSswF07r51XgdIGn9w/x
19ef60 5a 63 68 4d 42 35 0a 68 62 67 46 2f 58 2b 2b 5a 52 47 6a 44 38 41 43 74 50 68 53 4e 7a 6b 45 31 ZchMB5.hbgF/X++ZRGjD8ACtPhSNzkE1
19ef80 61 6b 78 65 68 69 2f 6f 43 72 30 45 70 6e 33 6f 30 57 43 34 7a 78 65 39 5a 32 65 74 63 69 65 66 akxehi/oCr0Epn3o0WC4zxe9Z2etcief
19efa0 43 37 49 70 4a 35 4f 43 42 52 4c 62 66 31 77 62 57 73 61 0a 59 37 31 6b 35 68 2b 33 7a 76 44 79 C7IpJ5OCBRLbf1wbWsa.Y71k5h+3zvDy
19efc0 6e 79 36 37 47 37 66 79 55 49 68 7a 6b 73 4c 69 34 78 61 4e 6d 6a 49 43 71 34 34 59 33 65 6b 51 ny67G7fyUIhzksLi4xaNmjICq44Y3ekQ
19efe0 45 65 35 2b 4e 61 75 51 72 7a 34 77 6c 48 72 51 4d 7a 32 6e 5a 51 2f 31 2f 49 36 65 59 73 39 48 Ee5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
19f000 0a 52 43 77 42 58 62 73 64 74 54 4c 53 52 39 49 34 4c 74 44 2b 67 64 77 79 61 68 36 31 37 6a 7a .RCwBXbsdtTLSR9I4LtD+gdwyah617jz
19f020 56 2f 4f 65 42 48 52 6e 44 4a 45 4c 71 59 7a 6d 70 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 V/OeBHRnDJELqYzmp.-----END.CERTI
19f040 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 64 64 54 72 75 73 74 20 45 78 74 65 72 6e 61 6c 20 52 FICATE-----..AddTrust.External.R
19f060 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d oot.======================.-----
19f080 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4e 6a 43 43 41 BEGIN.CERTIFICATE-----.MIIENjCCA
19f0a0 78 36 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 x6gAwIBAgIBATANBgkqhkiG9w0BAQUFA
19f0c0 44 42 76 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 54 52 54 45 55 4d 42 49 47 41 31 55 45 43 DBvMQswCQYDVQQGEwJTRTEUMBIGA1UEC
19f0e0 68 4d 4c 0a 51 57 52 6b 56 48 4a 31 63 33 51 67 51 55 49 78 4a 6a 41 6b 42 67 4e 56 42 41 73 54 hML.QWRkVHJ1c3QgQUIxJjAkBgNVBAsT
19f100 48 55 46 6b 5a 46 52 79 64 58 4e 30 49 45 56 34 64 47 56 79 62 6d 46 73 49 46 52 55 55 43 42 4f HUFkZFRydXN0IEV4dGVybmFsIFRUUCBO
19f120 5a 58 52 33 62 33 4a 72 4d 53 49 77 49 41 59 44 0a 56 51 51 44 45 78 6c 42 5a 47 52 55 63 6e 56 ZXR3b3JrMSIwIAYD.VQQDExlBZGRUcnV
19f140 7a 64 43 42 46 65 48 52 6c 63 6d 35 68 62 43 42 44 51 53 42 53 62 32 39 30 4d 42 34 58 44 54 41 zdCBFeHRlcm5hbCBDQSBSb290MB4XDTA
19f160 77 4d 44 55 7a 4d 44 45 77 4e 44 67 7a 4f 46 6f 58 44 54 49 77 4d 44 55 7a 4d 44 45 77 0a 4e 44 wMDUzMDEwNDgzOFoXDTIwMDUzMDEw.ND
19f180 67 7a 4f 46 6f 77 62 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 55 30 55 78 46 44 41 53 42 67 gzOFowbzELMAkGA1UEBhMCU0UxFDASBg
19f1a0 4e 56 42 41 6f 54 43 30 46 6b 5a 46 52 79 64 58 4e 30 49 45 46 43 4d 53 59 77 4a 41 59 44 56 51 NVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQ
19f1c0 51 4c 45 78 31 42 5a 47 52 55 0a 63 6e 56 7a 64 43 42 46 65 48 52 6c 63 6d 35 68 62 43 42 55 56 QLEx1BZGRU.cnVzdCBFeHRlcm5hbCBUV
19f1e0 46 41 67 54 6d 56 30 64 32 39 79 61 7a 45 69 4d 43 41 47 41 31 55 45 41 78 4d 5a 51 57 52 6b 56 FAgTmV0d29yazEiMCAGA1UEAxMZQWRkV
19f200 48 4a 31 63 33 51 67 52 58 68 30 5a 58 4a 75 59 57 77 67 51 30 45 67 0a 55 6d 39 76 64 44 43 43 HJ1c3QgRXh0ZXJuYWwgQ0Eg.Um9vdDCC
19f220 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 ASIwDQYJKoZIhvcNAQEBBQADggEPADCC
19f240 41 51 6f 43 67 67 45 42 41 4c 66 33 47 6a 50 6d 38 67 41 45 4c 54 6e 67 54 6c 76 74 48 37 78 73 AQoCggEBALf3GjPm8gAELTngTlvtH7xs
19f260 44 38 32 31 0a 2b 69 4f 32 7a 74 36 62 45 54 4f 58 70 43 6c 4d 66 5a 4f 66 76 55 71 38 6b 2b 30 D821.+iO2zt6bETOXpClMfZOfvUq8k+0
19f280 44 47 75 4f 50 7a 2b 56 74 55 46 72 57 6c 79 6d 55 57 6f 43 77 53 58 72 62 4c 70 58 39 75 4d 71 DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq
19f2a0 2f 4e 7a 67 74 48 6a 36 52 51 61 31 77 56 73 66 77 0a 54 7a 2f 6f 4d 70 35 30 79 73 69 51 56 4f /NzgtHj6RQa1wVsfw.Tz/oMp50ysiQVO
19f2c0 6e 47 58 77 39 34 6e 5a 70 41 50 41 36 73 59 61 70 65 46 49 2b 65 68 36 46 71 55 4e 7a 58 6d 6b nGXw94nZpAPA6sYapeFI+eh6FqUNzXmk
19f2e0 36 76 42 62 4f 6d 63 5a 53 63 63 62 4e 51 59 41 72 48 45 35 30 34 42 34 59 43 71 4f 6d 6f 0a 61 6vBbOmcZSccbNQYArHE504B4YCqOmo.a
19f300 53 59 59 6b 4b 74 4d 73 45 38 6a 71 7a 70 50 68 4e 6a 66 7a 70 2f 68 61 57 2b 37 31 30 4c 58 61 SYYkKtMsE8jqzpPhNjfzp/haW+710LXa
19f320 30 54 6b 78 36 33 75 62 55 46 66 63 6c 70 78 43 44 65 7a 65 57 57 6b 57 61 43 55 4e 2f 63 41 4c 0Tkx63ubUFfclpxCDezeWWkWaCUN/cAL
19f340 77 33 43 6b 6e 4c 61 30 44 68 79 0a 32 78 53 6f 52 63 52 64 4b 6e 32 33 74 4e 62 45 37 71 7a 4e w3CknLa0Dhy.2xSoRcRdKn23tNbE7qzN
19f360 45 30 53 33 79 53 76 64 51 77 41 6c 2b 6d 47 35 61 57 70 59 49 78 47 33 70 7a 4f 50 56 6e 56 5a E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ
19f380 39 63 30 70 31 30 61 33 43 69 74 6c 74 74 4e 43 62 78 57 79 75 48 76 37 0a 37 2b 6c 64 55 39 55 9c0p10a3CitlttNCbxWyuHv7.7+ldU9U
19f3a0 30 57 69 63 43 41 77 45 41 41 61 4f 42 33 44 43 42 32 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQ
19f3c0 55 72 62 32 59 65 6a 53 30 4a 76 66 36 78 43 5a 55 37 77 4f 39 34 43 54 4c 56 42 6f 77 43 77 59 Urb2YejS0Jvf6xCZU7wO94CTLVBowCwY
19f3e0 44 56 52 30 50 0a 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 DVR0P.BAQDAgEGMA8GA1UdEwEB/wQFMA
19f400 4d 42 41 66 38 77 67 5a 6b 47 41 31 55 64 49 77 53 42 6b 54 43 42 6a 6f 41 55 72 62 32 59 65 6a MBAf8wgZkGA1UdIwSBkTCBjoAUrb2Yej
19f420 53 30 4a 76 66 36 78 43 5a 55 37 77 4f 39 34 43 54 4c 0a 56 42 71 68 63 36 52 78 4d 47 38 78 43 S0Jvf6xCZU7wO94CTL.VBqhc6RxMG8xC
19f440 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4e 46 4d 52 51 77 45 67 59 44 56 51 51 4b 45 77 74 42 5a zAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZ
19f460 47 52 55 63 6e 56 7a 64 43 42 42 51 6a 45 6d 4d 43 51 47 41 31 55 45 43 78 4d 64 51 57 52 6b 0a GRUcnVzdCBBQjEmMCQGA1UECxMdQWRk.
19f480 56 48 4a 31 63 33 51 67 52 58 68 30 5a 58 4a 75 59 57 77 67 56 46 52 51 49 45 35 6c 64 48 64 76 VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdv
19f4a0 63 6d 73 78 49 6a 41 67 42 67 4e 56 42 41 4d 54 47 55 46 6b 5a 46 52 79 64 58 4e 30 49 45 56 34 cmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4
19f4c0 64 47 56 79 62 6d 46 73 49 45 4e 42 0a 49 46 4a 76 62 33 53 43 41 51 45 77 44 51 59 4a 4b 6f 5a dGVybmFsIENB.IFJvb3SCAQEwDQYJKoZ
19f4e0 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4c 43 62 34 49 55 6c 77 74 59 6a 34 67 2b IhvcNAQEFBQADggEBALCb4IUlwtYj4g+
19f500 57 42 70 4b 64 51 5a 69 63 32 59 52 35 67 64 6b 65 57 78 51 48 49 7a 5a 6c 0a 6a 37 44 59 64 37 WBpKdQZic2YR5gdkeWxQHIzZl.j7DYd7
19f520 75 73 51 57 78 48 59 49 4e 52 73 50 6b 79 50 65 66 38 39 69 59 54 78 34 41 57 70 62 39 61 2f 49 usQWxHYINRsPkyPef89iYTx4AWpb9a/I
19f540 66 50 65 48 6d 4a 49 5a 72 69 54 41 63 4b 68 6a 57 38 38 74 35 52 78 4e 4b 57 74 39 78 2b 54 75 fPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu
19f560 35 77 2f 52 77 35 0a 36 77 77 43 55 52 51 74 6a 72 30 57 34 4d 48 66 52 6e 58 6e 4a 4b 33 73 39 5w/Rw5.6wwCURQtjr0W4MHfRnXnJK3s9
19f580 45 4b 30 68 5a 4e 77 45 47 65 36 6e 51 59 31 53 68 6a 54 4b 33 72 4d 55 55 4b 68 65 6d 50 52 35 EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5
19f5a0 72 75 68 78 53 76 43 4e 72 34 54 44 65 61 39 59 33 35 35 0a 65 36 63 4a 44 55 43 72 61 74 32 50 ruhxSvCNr4TDea9Y355.e6cJDUCrat2P
19f5c0 69 73 50 32 39 6f 77 61 51 67 56 52 31 45 58 31 6e 36 64 69 49 57 67 56 49 45 4d 38 6d 65 64 38 isP29owaQgVR1EX1n6diIWgVIEM8med8
19f5e0 76 53 54 59 71 5a 45 58 63 34 67 2f 56 68 73 78 4f 42 69 30 63 51 2b 61 7a 63 67 4f 6e 6f 34 75 vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
19f600 0a 47 2b 47 4d 6d 49 50 4c 48 7a 48 78 52 45 7a 47 42 48 4e 4a 64 6d 41 50 78 2f 69 39 46 34 42 .G+GMmIPLHzHxREzGBHNJdmAPx/i9F4B
19f620 72 4c 75 6e 4d 54 41 35 61 6d 6e 6b 50 49 41 6f 75 31 5a 35 6a 4a 68 35 56 6b 70 54 59 67 68 64 rLunMTA5amnkPIAou1Z5jJh5VkpTYghd
19f640 61 65 39 43 38 78 34 39 4f 68 67 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 ae9C8x49OhgQ=.-----END.CERTIFICA
19f660 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 TE-----..Entrust.Root.Certificat
19f680 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ion.Authority.==================
19f6a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
19f6c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 6b 54 43 43 41 33 6d 67 41 77 49 42 41 RTIFICATE-----.MIIEkTCCA3mgAwIBA
19f6e0 67 49 45 52 57 74 51 56 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 73 gIERWtQVDANBgkqhkiG9w0BAQUFADCBs
19f700 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 6f 54 DELMAkGA1UEBhMCVVMxFjAUBgNV.BAoT
19f720 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 DUVudHJ1c3QsIEluYy4xOTA3BgNVBAsT
19f740 4d 48 64 33 64 79 35 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 55 46 4d 67 61 58 4d 67 MHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMg
19f760 61 57 35 6a 62 33 4a 77 0a 62 33 4a 68 64 47 56 6b 49 47 4a 35 49 48 4a 6c 5a 6d 56 79 5a 57 35 aW5jb3Jw.b3JhdGVkIGJ5IHJlZmVyZW5
19f780 6a 5a 54 45 66 4d 42 30 47 41 31 55 45 43 78 4d 57 4b 47 4d 70 49 44 49 77 4d 44 59 67 52 57 35 jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW5
19f7a0 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4c 6a 45 74 4d 43 73 47 0a 41 31 55 45 41 78 4d 6b 52 57 0cnVzdCwgSW5jLjEtMCsG.A1UEAxMkRW
19f7c0 35 30 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 50cnVzdCBSb290IENlcnRpZmljYXRpb2
19f7e0 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 32 4d 54 45 79 4e 7a 49 77 4d 6a 4gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMj
19f800 4d 30 0a 4d 6c 6f 58 44 54 49 32 4d 54 45 79 4e 7a 49 77 4e 54 4d 30 4d 6c 6f 77 67 62 41 78 43 M0.MloXDTI2MTEyNzIwNTM0MlowgbAxC
19f820 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 46 62 zAJBgNVBAYTAlVTMRYwFAYDVQQKEw1Fb
19f840 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 0a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 42 33 nRydXN0LCBJbmMu.MTkwNwYDVQQLEzB3
19f860 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 51 31 42 54 49 47 6c 7a 49 47 6c 75 d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGlu
19f880 59 32 39 79 63 47 39 79 59 58 52 6c 5a 43 42 69 65 53 42 79 5a 57 5a 6c 63 6d 56 75 0a 59 32 55 Y29ycG9yYXRlZCBieSByZWZlcmVu.Y2U
19f8a0 78 48 7a 41 64 42 67 4e 56 42 41 73 54 46 69 68 6a 4b 53 41 79 4d 44 41 32 49 45 56 75 64 48 4a xHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ
19f8c0 31 63 33 51 73 49 45 6c 75 59 79 34 78 4c 54 41 72 42 67 4e 56 42 41 4d 54 4a 45 56 75 64 48 4a 1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ
19f8e0 31 63 33 51 67 55 6d 39 76 0a 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 1c3QgUm9v.dCBDZXJ0aWZpY2F0aW9uIE
19f900 46 31 64 47 68 76 63 6d 6c 30 65 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 F1dGhvcml0eTCCASIwDQYJKoZIhvcNAQ
19f920 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4c 61 56 74 6b 4e 43 2b EBBQADggEPADCCAQoCggEB.ALaVtkNC+
19f940 73 5a 74 4b 6d 39 49 33 35 52 4d 4f 56 63 46 37 73 4e 35 45 55 46 6f 4e 75 33 73 2f 70 6f 42 6a sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj
19f960 36 45 34 4b 50 7a 33 45 45 5a 6d 4c 6b 30 65 47 72 45 61 54 73 62 52 77 4a 57 49 73 4d 6e 2f 4d 6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/M
19f980 59 73 7a 0a 41 39 75 33 67 33 73 2b 49 49 52 65 37 62 4a 57 4b 4b 66 34 34 4c 6c 41 63 54 66 46 Ysz.A9u3g3s+IIRe7bJWKKf44LlAcTfF
19f9a0 79 30 63 4f 6c 79 70 6f 77 43 4b 56 59 68 58 62 52 39 6e 31 30 43 76 2f 67 6b 76 4a 72 54 37 65 y0cOlypowCKVYhXbR9n10Cv/gkvJrT7e
19f9c0 54 4e 75 51 67 46 41 2f 43 59 71 45 41 4f 77 77 0a 43 6a 30 59 7a 66 76 39 4b 6c 6d 61 49 35 55 TNuQgFA/CYqEAOww.Cj0Yzfv9KlmaI5U
19f9e0 58 4c 45 57 65 48 32 35 44 65 57 30 4d 58 4a 6a 2b 53 4b 66 46 49 30 64 63 58 76 31 75 35 78 36 XLEWeH25DeW0MXJj+SKfFI0dcXv1u5x6
19fa00 30 39 6d 68 46 30 59 61 44 57 36 4b 4b 6a 62 48 6a 4b 59 44 2b 4a 58 47 49 72 62 36 38 0a 6a 36 09mhF0YaDW6KKjbHjKYD+JXGIrb68.j6
19fa20 78 53 6c 6b 75 71 55 59 33 6b 45 7a 45 5a 36 45 35 4e 6e 39 75 73 73 32 72 56 76 44 6c 55 63 63 xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUcc
19fa40 70 36 65 6e 2b 51 33 58 30 64 67 4e 6d 42 75 31 6b 6d 77 68 48 2b 35 70 50 69 39 34 44 6b 5a 66 p6en+Q3X0dgNmBu1kmwhH+5pPi94DkZf
19fa60 73 30 4e 77 34 70 67 48 42 4e 0a 72 7a 69 47 4c 70 35 2f 56 36 2b 65 46 36 37 72 48 4d 73 6f 49 s0Nw4pgHBN.rziGLp5/V6+eF67rHMsoI
19fa80 56 2b 32 48 4e 6a 6e 6f 67 51 69 2b 64 50 61 32 4d 73 43 41 77 45 41 41 61 4f 42 73 44 43 42 72 V+2HNjnogQi+dPa2MsCAwEAAaOBsDCBr
19faa0 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 77 59 44 56 52 30 54 TAOBgNVHQ8BAf8EBAMCAQYw.DwYDVR0T
19fac0 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 72 42 67 4e 56 48 52 41 45 4a 44 41 69 67 41 38 79 AQH/BAUwAwEB/zArBgNVHRAEJDAigA8y
19fae0 4d 44 41 32 4d 54 45 79 4e 7a 49 77 4d 6a 4d 30 4d 6c 71 42 44 7a 49 77 4d 6a 59 78 4d 54 49 33 MDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3
19fb00 4d 6a 41 31 0a 4d 7a 51 79 57 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 6f 6b 4f 52 MjA1.MzQyWjAfBgNVHSMEGDAWgBRokOR
19fb20 6e 70 4b 5a 54 67 4d 65 47 5a 71 54 78 39 30 74 44 2b 34 53 39 62 54 41 64 42 67 4e 56 48 51 34 npKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4
19fb40 45 46 67 51 55 61 4a 44 6b 5a 36 53 6d 55 34 44 48 0a 68 6d 61 6b 38 66 64 4c 51 2f 75 45 76 57 EFgQUaJDkZ6SmU4DH.hmak8fdLQ/uEvW
19fb60 30 77 48 51 59 4a 4b 6f 5a 49 68 76 5a 39 42 30 45 41 42 42 41 77 44 68 73 49 56 6a 63 75 4d 54 0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMT
19fb80 6f 30 4c 6a 41 44 41 67 53 51 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 0a 41 o0LjADAgSQMA0GCSqGSIb3DQEBBQUA.A
19fba0 34 49 42 41 51 43 54 31 44 43 77 31 77 4d 67 4b 74 44 35 59 2b 69 52 44 41 55 67 71 56 38 5a 79 4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8Zy
19fbc0 6e 74 79 54 74 53 78 32 39 43 57 2b 31 52 61 47 53 77 4d 43 50 65 79 76 49 57 6f 6e 58 39 74 4f ntyTtSx29CW+1RaGSwMCPeyvIWonX9tO
19fbe0 31 4b 7a 4b 74 76 6e 31 49 53 4d 0a 59 2f 59 50 79 79 59 42 6b 56 42 73 39 46 38 55 34 70 4e 30 1KzKtvn1ISM.Y/YPyyYBkVBs9F8U4pN0
19fc00 77 42 4f 65 4d 44 70 51 34 37 52 67 78 52 7a 77 49 6b 53 4e 63 55 65 73 79 42 72 4a 36 5a 75 61 wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
19fc20 41 47 41 54 2f 33 42 2b 58 78 46 4e 53 52 75 7a 46 56 4a 37 79 56 54 61 0a 76 35 32 56 72 32 75 AGAT/3B+XxFNSRuzFVJ7yVTa.v52Vr2u
19fc40 61 32 4a 37 70 38 65 52 44 6a 65 49 52 52 44 71 2f 72 37 32 44 51 6e 4e 53 69 36 71 37 70 79 6e a2J7p8eRDjeIRRDq/r72DQnNSi6q7pyn
19fc60 50 39 57 51 63 43 6b 33 52 76 4b 71 73 6e 79 72 51 2f 33 39 2f 32 6e 33 71 73 65 30 77 4a 63 47 P9WQcCk3RvKqsnyrQ/39/2n3qse0wJcG
19fc80 45 32 6a 54 53 0a 57 33 69 44 56 75 79 63 4e 73 4d 6d 34 68 48 32 5a 30 6b 64 6b 71 75 4d 2b 2b E2jTS.W3iDVuycNsMm4hH2Z0kdkquM++
19fca0 76 2f 65 75 36 46 53 71 64 51 67 50 43 6e 58 45 71 55 4c 6c 38 46 6d 54 78 53 51 65 44 4e 74 47 v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtG
19fcc0 50 50 41 55 4f 36 6e 49 50 63 6a 32 41 37 38 31 71 30 0a 74 48 75 75 32 67 75 51 4f 48 58 76 67 PPAUO6nIPcj2A781q0.tHuu2guQOHXvg
19fce0 52 31 6d 30 76 64 58 63 44 61 7a 76 2f 77 6f 72 33 45 6c 68 56 73 54 2f 68 35 2f 57 72 51 38 0a R1m0vdXcDazv/wor3ElhVsT/h5/WrQ8.
19fd00 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 -----END.CERTIFICATE-----..GeoTr
19fd20 75 73 74 20 47 6c 6f 62 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ust.Global.CA.==================
19fd40 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
19fd60 44 56 44 43 43 41 6a 79 67 41 77 49 42 41 67 49 44 41 6a 52 57 4d 41 30 47 43 53 71 47 53 49 62 DVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb
19fd80 33 44 51 45 42 42 51 55 41 4d 45 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRY
19fda0 77 46 41 59 44 56 51 51 4b 0a 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 52 wFAYDVQQK.Ew1HZW9UcnVzdCBJbmMuMR
19fdc0 73 77 47 51 59 44 56 51 51 44 45 78 4a 48 5a 57 39 55 63 6e 56 7a 64 43 42 48 62 47 39 69 59 57 swGQYDVQQDExJHZW9UcnVzdCBHbG9iYW
19fde0 77 67 51 30 45 77 48 68 63 4e 4d 44 49 77 4e 54 49 78 4d 44 51 77 0a 4d 44 41 77 57 68 63 4e 4d wgQ0EwHhcNMDIwNTIxMDQw.MDAwWhcNM
19fe00 6a 49 77 4e 54 49 78 4d 44 51 77 4d 44 41 77 57 6a 42 43 4d 51 73 77 43 51 59 44 56 51 51 47 45 jIwNTIxMDQwMDAwWjBCMQswCQYDVQQGE
19fe20 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 33 51 67 53 wJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgS
19fe40 57 35 6a 0a 4c 6a 45 62 4d 42 6b 47 41 31 55 45 41 78 4d 53 52 32 56 76 56 48 4a 31 63 33 51 67 W5j.LjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
19fe60 52 32 78 76 59 6d 46 73 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 R2xvYmFsIENBMIIBIjANBgkqhkiG9w0B
19fe80 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 41 32 73 77 59 59 7a 44 AQEFAAOCAQ8AMIIB.CgKCAQEA2swYYzD
19fea0 39 39 42 63 6a 47 6c 5a 2b 57 39 38 38 62 44 6a 6b 63 62 64 34 6b 64 53 38 6f 64 68 4d 2b 4b 68 99BcjGlZ+W988bDjkcbd4kdS8odhM+Kh
19fec0 44 74 67 50 70 54 53 45 48 43 49 6a 61 57 43 39 6d 4f 53 6d 39 42 58 69 4c 6e 54 6a 6f 0a 42 62 DtgPpTSEHCIjaWC9mOSm9BXiLnTjo.Bb
19fee0 64 71 66 6e 47 6b 35 73 52 67 70 72 44 76 67 4f 53 4a 4b 41 2b 65 4a 64 62 74 67 2f 4f 74 70 70 dqfnGk5sRgprDvgOSJKA+eJdbtg/Otpp
19ff00 48 48 6d 4d 6c 43 47 44 55 55 6e 61 32 59 52 70 49 75 54 38 72 78 68 30 50 42 46 70 56 58 4c 56 HHmMlCGDUUna2YRpIuT8rxh0PBFpVXLV
19ff20 44 76 69 53 32 41 65 6c 65 74 0a 38 75 35 66 61 39 49 41 6a 62 6b 55 2b 42 51 56 4e 64 6e 41 52 DviS2Aelet.8u5fa9IAjbkU+BQVNdnAR
19ff40 71 4e 37 63 73 69 52 76 38 6c 56 4b 38 33 51 6c 7a 36 63 4a 6d 54 4d 33 38 36 44 47 58 48 4b 54 qN7csiRv8lVK83Qlz6cJmTM386DGXHKT
19ff60 75 62 55 31 58 75 70 47 63 31 56 33 73 6a 73 30 6c 34 34 55 2b 56 63 0a 54 34 77 74 2f 6c 41 6a ubU1XupGc1V3sjs0l44U+Vc.T4wt/lAj
19ff80 4e 76 78 6d 35 73 75 4f 70 44 6b 5a 41 4c 65 56 41 6a 6d 52 43 77 37 2b 4f 43 37 52 48 51 57 61 Nvxm5suOpDkZALeVAjmRCw7+OC7RHQWa
19ffa0 39 6b 30 2b 62 77 38 48 48 61 38 73 48 6f 39 67 4f 65 4c 36 4e 6c 4d 54 4f 64 52 65 4a 69 76 62 9k0+bw8HHa8sHo9gOeL6NlMTOdReJivb
19ffc0 50 61 67 55 0a 76 54 4c 72 47 41 4d 6f 55 67 52 78 35 61 73 7a 50 65 45 34 75 77 63 32 68 47 4b PagU.vTLrGAMoUgRx5aszPeE4uwc2hGK
19ffe0 63 65 65 6f 57 4d 50 52 66 77 43 76 6f 63 57 76 6b 2b 51 49 44 41 51 41 42 6f 31 4d 77 55 54 41 ceeoWMPRfwCvocWvk+QIDAQABo1MwUTA
1a0000 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 PBgNVHRMBAf8EBTAD.AQH/MB0GA1UdDg
1a0020 51 57 42 42 54 41 65 70 68 6f 6a 59 6e 37 71 77 56 6b 44 42 46 39 71 6e 31 6c 75 4d 72 4d 54 6a QWBBTAephojYn7qwVkDBF9qn1luMrMTj
1a0040 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 41 65 70 68 6f 6a 59 6e 37 71 77 56 6b 0a 44 AfBgNVHSMEGDAWgBTAephojYn7qwVk.D
1a0060 42 46 39 71 6e 31 6c 75 4d 72 4d 54 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 BF9qn1luMrMTjANBgkqhkiG9w0BAQUFA
1a0080 41 4f 43 41 51 45 41 4e 65 4d 70 61 75 55 76 58 56 53 4f 4b 56 43 55 6e 35 6b 61 46 4f 53 50 65 AOCAQEANeMpauUvXVSOKVCUn5kaFOSPe
1a00a0 43 70 69 6c 4b 49 6e 5a 35 37 51 0a 7a 78 70 65 52 2b 6e 42 73 71 54 50 33 55 45 61 42 55 36 62 CpilKInZ57Q.zxpeR+nBsqTP3UEaBU6b
1a00c0 53 2b 35 4b 62 31 56 53 73 79 53 68 4e 77 72 72 5a 48 59 71 4c 69 7a 7a 2f 54 74 31 6b 4c 2f 36 S+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6
1a00e0 63 64 6a 48 50 54 66 53 74 51 57 56 59 72 6d 6d 33 6f 6b 39 4e 6e 73 34 0a 64 30 69 58 72 4b 59 cdjHPTfStQWVYrmm3ok9Nns4.d0iXrKY
1a0100 67 6a 79 36 6d 79 51 7a 43 73 70 6c 46 41 4d 66 4f 45 56 45 69 49 75 43 6c 36 72 59 56 53 41 6c gjy6myQzCsplFAMfOEVEiIuCl6rYVSAl
1a0120 6b 36 6c 35 50 64 50 63 46 50 73 65 4b 55 67 7a 62 46 62 53 39 62 5a 76 6c 78 72 46 55 61 4b 6e k6l5PdPcFPseKUgzbFbS9bZvlxrFUaKn
1a0140 6a 61 5a 43 32 0a 6d 71 55 50 75 4c 6b 2f 49 48 32 75 53 72 57 34 6e 4f 51 64 74 71 76 6d 6c 4b jaZC2.mqUPuLk/IH2uSrW4nOQdtqvmlK
1a0160 58 42 78 34 4f 74 32 2f 55 6e 68 77 34 45 62 4e 58 2f 33 61 42 64 37 59 64 53 74 79 73 56 41 71 XBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq
1a0180 34 35 70 6d 70 30 36 64 72 45 35 37 78 4e 4e 42 36 70 0a 58 45 30 7a 58 35 49 4a 4c 34 68 6d 58 45pmp06drE57xNNB6p.XE0zX5IJL4hmX
1a01a0 58 65 58 78 78 31 32 45 36 6e 56 35 66 45 57 43 52 45 31 31 61 7a 62 4a 48 46 77 4c 4a 68 57 43 XeXxx12E6nV5fEWCRE11azbJHFwLJhWC
1a01c0 39 6b 58 74 4e 48 6a 55 53 74 65 64 65 6a 56 30 4e 78 50 4e 4f 33 43 42 57 61 41 6f 63 76 6d 0a 9kXtNHjUStedejV0NxPNO3CBWaAocvm.
1a01e0 4d 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a Mw==.-----END.CERTIFICATE-----..
1a0200 47 65 6f 54 72 75 73 74 20 55 6e 69 76 65 72 73 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d GeoTrust.Universal.CA.==========
1a0220 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1a0240 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 44 43 43 41 31 43 67 41 77 49 42 41 67 49 42 41 54 41 4e TE-----.MIIFaDCCA1CgAwIBAgIBATAN
1a0260 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 46 4d 51 73 77 43 51 59 44 56 51 51 47 BgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
1a0280 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 33 51 EwJVUzEWMBQGA1UEChMN.R2VvVHJ1c3Q
1a02a0 67 53 57 35 6a 4c 6a 45 65 4d 42 77 47 41 31 55 45 41 78 4d 56 52 32 56 76 56 48 4a 31 63 33 51 gSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3Q
1a02c0 67 56 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 4d 42 34 58 44 54 41 30 4d 44 4d 77 4e 44 41 gVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA
1a02e0 31 0a 4d 44 41 77 4d 46 6f 58 44 54 49 35 4d 44 4d 77 4e 44 41 31 4d 44 41 77 4d 46 6f 77 52 54 1.MDAwMFoXDTI5MDMwNDA1MDAwMFowRT
1a0300 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 ELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDU
1a0320 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 0a 59 79 34 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 dlb1RydXN0IElu.Yy4xHjAcBgNVBAMTF
1a0340 55 64 6c 62 31 52 79 64 58 4e 30 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 44 51 54 43 43 41 Udlb1RydXN0IFVuaXZlcnNhbCBDQTCCA
1a0360 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 0a 41 44 43 43 iIwDQYJKoZIhvcNAQEBBQADggIP.ADCC
1a0380 41 67 6f 43 67 67 49 42 41 4b 59 56 56 61 43 6a 78 75 41 66 6a 4a 30 68 55 4e 66 42 76 69 74 62 AgoCggIBAKYVVaCjxuAfjJ0hUNfBvitb
1a03a0 74 61 53 65 6f 64 6c 79 57 4c 30 41 47 30 79 2f 59 63 6b 55 48 55 57 43 71 38 59 64 67 4e 59 39 taSeodlyWL0AG0y/YckUHUWCq8YdgNY9
1a03c0 36 78 43 63 4f 71 39 74 0a 4a 50 69 38 63 51 47 65 42 76 56 38 58 78 37 42 44 6c 58 4b 67 35 70 6xCcOq9t.JPi8cQGeBvV8Xx7BDlXKg5p
1a03e0 5a 4d 4b 34 5a 79 7a 42 49 6c 65 30 69 4e 34 33 30 53 70 70 79 5a 6a 36 74 6c 63 44 67 46 67 44 ZMK4ZyzBIle0iN430SppyZj6tlcDgFgD
1a0400 67 45 42 38 72 4d 51 37 58 6c 46 54 54 51 6a 4f 67 4e 42 30 65 0a 52 58 62 64 54 38 6f 59 4e 2b gEB8rMQ7XlFTTQjOgNB0e.RXbdT8oYN+
1a0420 79 46 46 58 6f 5a 43 50 7a 56 78 35 7a 77 38 71 6b 75 45 4b 6d 53 35 6a 31 59 50 61 6b 57 61 44 yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaD
1a0440 77 76 64 53 45 59 66 79 68 33 70 65 46 68 46 37 65 6d 36 66 67 65 6d 64 74 7a 62 76 51 4b 6f 69 wvdSEYfyh3peFhF7em6fgemdtzbvQKoi
1a0460 46 73 0a 37 74 71 71 68 5a 4a 6d 72 2f 5a 36 61 34 4c 61 75 69 49 49 4e 51 2f 50 51 76 45 31 2b Fs.7tqqhZJmr/Z6a4LauiIINQ/PQvE1+
1a0480 6d 72 75 66 69 73 6c 7a 44 6f 52 35 47 32 76 63 37 4a 32 48 61 33 51 73 6e 68 6e 47 71 51 35 48 mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5H
1a04a0 46 45 4c 5a 31 61 44 2f 54 68 64 44 63 37 64 0a 38 4c 73 72 6c 68 2f 65 65 7a 4a 53 2f 52 32 37 FELZ1aD/ThdDc7d.8Lsrlh/eezJS/R27
1a04c0 74 51 61 68 73 69 46 65 70 64 61 56 61 48 2f 77 6d 5a 37 63 52 51 67 2b 35 39 49 4a 44 54 57 55 tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU
1a04e0 33 59 42 4f 55 35 66 58 74 51 6c 45 49 47 51 57 46 77 4d 43 54 46 4d 4e 61 4e 37 56 0a 71 6e 4a 3YBOU5fXtQlEIGQWFwMCTFMNaN7V.qnJ
1a0500 4e 6b 32 32 43 44 74 75 63 76 63 2b 30 38 31 78 64 56 48 70 70 43 5a 62 57 32 78 48 42 6a 58 57 Nk22CDtucvc+081xdVHppCZbW2xHBjXW
1a0520 6f 74 4d 38 35 79 4d 34 38 76 43 52 38 35 6d 4c 4b 34 62 31 39 70 37 31 58 5a 51 76 6b 2f 69 58 otM85yM48vCR85mLK4b19p71XZQvk/iX
1a0540 74 74 6d 6b 51 33 43 67 61 0a 52 72 30 42 48 64 43 58 74 65 47 59 4f 38 41 33 5a 4e 59 39 6c 4f ttmkQ3Cga.Rr0BHdCXteGYO8A3ZNY9lO
1a0560 34 4c 34 66 55 6f 72 67 74 57 76 33 47 4c 49 79 6c 42 6a 6f 62 46 53 31 4a 37 32 48 47 72 48 34 4L4fUorgtWv3GLIylBjobFS1J72HGrH4
1a0580 6f 56 70 6a 75 44 57 74 64 59 41 56 48 47 54 45 48 5a 66 39 68 42 0a 5a 33 4b 69 4b 4e 39 67 67 oVpjuDWtdYAVHGTEHZf9hB.Z3KiKN9gg
1a05a0 36 6d 65 79 48 76 38 55 33 4e 79 57 66 57 54 65 68 64 32 44 73 37 33 35 56 7a 5a 43 31 55 30 6f 6meyHv8U3NyWfWTehd2Ds735VzZC1U0o
1a05c0 71 70 62 74 57 70 55 35 78 50 4b 56 2b 79 58 62 66 52 65 42 69 39 46 69 31 6a 55 49 78 61 53 35 qpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5
1a05e0 42 5a 75 0a 4b 47 4e 5a 4d 4e 39 51 41 5a 78 6a 69 52 71 66 32 78 65 55 67 6e 41 33 77 79 53 65 BZu.KGNZMN9QAZxjiRqf2xeUgnA3wySe
1a0600 6d 6b 66 57 57 73 70 4f 71 47 6d 4a 63 68 2b 52 62 4e 74 2b 6e 68 75 74 78 78 39 7a 33 53 78 50 mkfWWspOqGmJch+RbNt+nhutxx9z3SxP
1a0620 47 57 58 39 66 35 4e 41 45 43 37 53 38 4f 30 38 0a 6e 69 34 6f 50 6d 6b 6d 4d 38 56 37 41 67 4d GWX9f5NAEC7S8O08.ni4oPmkmM8V7AgM
1a0640 42 41 41 47 6a 59 7a 42 68 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 BAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8
1a0660 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 71 37 4c 71 71 77 44 4c 69 49 4a 6c 46 30 0a 58 47 wHQYDVR0OBBYEFNq7LqqwDLiIJlF0.XG
1a0680 30 44 30 38 44 59 6a 33 72 57 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 71 37 4c 71 0D08DYj3rWMB8GA1UdIwQYMBaAFNq7Lq
1a06a0 71 77 44 4c 69 49 4a 6c 46 30 58 47 30 44 30 38 44 59 6a 33 72 57 4d 41 34 47 41 31 55 64 44 77 qwDLiIJlF0XG0D08DYj3rWMA4GA1UdDw
1a06c0 45 42 2f 77 51 45 41 77 49 42 0a 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 EB/wQEAwIB.hjANBgkqhkiG9w0BAQUFA
1a06e0 41 4f 43 41 67 45 41 4d 58 6a 6d 78 37 58 66 75 4a 52 41 79 58 48 45 71 44 58 73 52 68 33 43 68 AOCAgEAMXjmx7XfuJRAyXHEqDXsRh3Ch
1a0700 66 4d 6f 57 49 61 77 43 2f 79 4f 73 6a 6d 50 52 46 57 72 5a 49 52 63 0a 61 61 6e 51 6d 6a 67 38 fMoWIawC/yOsjmPRFWrZIRc.aanQmjg8
1a0720 2b 75 55 66 4e 65 56 45 34 34 42 35 6c 47 69 6b 75 38 53 66 50 65 45 30 7a 54 42 47 69 31 51 72 +uUfNeVE44B5lGiku8SfPeE0zTBGi1Qr
1a0740 6c 61 58 76 39 7a 2b 5a 68 50 30 31 35 73 38 78 78 74 78 71 76 36 66 58 49 77 6a 68 6d 46 37 44 laXv9z+ZhP015s8xxtxqv6fXIwjhmF7D
1a0760 57 67 68 32 0a 71 61 61 76 64 79 2b 33 59 4c 31 45 52 6d 72 76 6c 2f 39 7a 6c 63 47 4f 36 4a 50 Wgh2.qaavdy+3YL1ERmrvl/9zlcGO6JP
1a0780 37 2f 54 47 33 37 46 63 52 45 55 57 62 4d 50 45 61 69 44 6e 42 54 7a 79 6e 41 4e 58 48 2f 4b 74 7/TG37FcREUWbMPEaiDnBTzynANXH/Kt
1a07a0 74 67 43 4a 77 70 51 7a 67 58 51 51 70 41 76 76 4c 0a 6f 4a 48 52 66 4e 62 44 66 6c 44 56 6e 56 tgCJwpQzgXQQpAvvL.oJHRfNbDflDVnV
1a07c0 69 2b 51 54 6a 72 75 58 55 38 46 64 6d 62 79 55 71 44 57 63 44 61 55 2f 30 7a 75 7a 59 59 6d 34 i+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4
1a07e0 55 50 46 64 33 75 4c 61 78 32 6b 37 6e 5a 41 59 31 49 45 4b 6a 37 39 54 69 47 38 64 73 4b 0a 78 UPFd3uLax2k7nZAY1IEKj79TiG8dsK.x
1a0800 72 32 45 6f 79 4e 42 33 74 5a 33 62 34 58 55 68 52 78 51 34 4b 35 52 69 72 71 4e 50 6e 62 69 75 r2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiu
1a0820 63 6f 6e 38 6c 2b 66 37 32 35 5a 44 51 62 59 4b 78 65 6b 30 6e 78 72 75 31 38 55 47 6b 69 50 47 con8l+f725ZDQbYKxek0nxru18UGkiPG
1a0840 6b 7a 6e 73 30 63 63 6a 6b 78 46 0a 4b 79 44 75 53 4e 2f 6e 33 51 6d 4f 47 4b 6a 61 51 49 32 53 kzns0ccjkxF.KyDuSN/n3QmOGKjaQI2S
1a0860 4a 68 46 54 59 58 4e 64 36 37 33 6e 78 45 30 70 4e 32 48 72 72 44 6b 74 5a 79 34 57 31 76 55 41 JhFTYXNd673nxE0pN2HrrDktZy4W1vUA
1a0880 67 34 57 68 7a 48 39 32 78 48 33 6b 74 30 74 6d 37 77 4e 46 59 47 6d 32 0a 44 46 4b 57 6b 6f 52 g4WhzH92xH3kt0tm7wNFYGm2.DFKWkoR
1a08a0 65 70 71 4f 31 70 44 34 72 32 63 7a 59 47 30 65 71 38 6b 54 61 54 2f 6b 44 36 50 41 55 79 7a 2f epqO1pD4r2czYG0eq8kTaT/kD6PAUyz/
1a08c0 7a 67 39 37 51 77 56 54 6a 74 2b 67 4b 4e 30 32 4c 49 46 6b 44 4d 42 6d 68 4c 4d 69 39 45 52 2f zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/
1a08e0 66 72 73 6c 4b 0a 78 66 4d 6e 5a 6d 61 47 72 47 69 52 2f 39 6e 6d 55 78 77 50 69 31 78 70 5a 51 frslK.xfMnZmaGrGiR/9nmUxwPi1xpZQ
1a0900 6f 6d 79 42 34 30 77 31 31 52 65 39 65 70 6e 41 61 68 4e 74 33 56 69 5a 53 38 32 65 51 74 44 46 omyB40w11Re9epnAahNt3ViZS82eQtDF
1a0920 34 4a 62 41 69 58 66 4b 4d 39 66 4a 50 2f 50 36 45 55 0a 70 38 2b 31 58 65 76 62 32 78 7a 45 64 4JbAiXfKM9fJP/P6EU.p8+1Xevb2xzEd
1a0940 74 2b 49 75 62 31 46 42 5a 55 62 72 76 78 47 61 6b 79 76 53 4f 50 4f 72 67 2f 53 66 75 76 6d 62 t+Iub1FBZUbrvxGakyvSOPOrg/Sfuvmb
1a0960 4a 78 50 67 57 70 36 5a 4b 79 37 50 74 58 6e 79 33 59 75 78 61 64 49 77 56 79 51 44 38 76 49 0a JxPgWp6ZKy7PtXny3YuxadIwVyQD8vI.
1a0980 50 2f 72 6d 4d 75 47 4e 47 32 2b 6b 35 6f 37 59 2b 53 6c 49 69 73 35 7a 2f 69 77 3d 0a 2d 2d 2d P/rmMuGNG2+k5o7Y+SlIis5z/iw=.---
1a09a0 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 --END.CERTIFICATE-----..GeoTrust
1a09c0 20 55 6e 69 76 65 72 73 61 6c 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Universal.CA.2.================
1a09e0 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1a0a00 2d 2d 2d 0a 4d 49 49 46 62 44 43 43 41 31 53 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 ---.MIIFbDCCA1SgAwIBAgIBATANBgkq
1a0a20 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 hkiG9w0BAQUFADBHMQswCQYDVQQGEwJV
1a0a40 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 35 UzEWMBQGA1UEChMN.R2VvVHJ1c3QgSW5
1a0a60 6a 4c 6a 45 67 4d 42 34 47 41 31 55 45 41 78 4d 58 52 32 56 76 56 48 4a 31 63 33 51 67 56 57 35 jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5
1a0a80 70 64 6d 56 79 63 32 46 73 49 45 4e 42 49 44 49 77 48 68 63 4e 4d 44 51 77 4d 7a 41 30 0a 4d 44 pdmVyc2FsIENBIDIwHhcNMDQwMzA0.MD
1a0aa0 55 77 4d 44 41 77 57 68 63 4e 4d 6a 6b 77 4d 7a 41 30 4d 44 55 77 4d 44 41 77 57 6a 42 48 4d 51 UwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQ
1a0ac0 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 swCQYDVQQGEwJVUzEWMBQGA1UEChMNR2
1a0ae0 56 76 56 48 4a 31 63 33 51 67 0a 53 57 35 6a 4c 6a 45 67 4d 42 34 47 41 31 55 45 41 78 4d 58 52 VvVHJ1c3Qg.SW5jLjEgMB4GA1UEAxMXR
1a0b00 32 56 76 56 48 4a 31 63 33 51 67 56 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 49 44 49 77 67 2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwg
1a0b20 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 0a 41 34 49 43 44 77 41 77 gIiMA0GCSqGSIb3DQEBAQUA.A4ICDwAw
1a0b40 67 67 49 4b 41 6f 49 43 41 51 43 7a 56 46 4c 42 79 54 37 79 32 64 79 78 55 78 70 5a 4b 65 65 78 ggIKAoICAQCzVFLByT7y2dyxUxpZKeex
1a0b60 77 30 55 6f 35 64 66 52 37 63 58 46 53 36 47 71 64 48 74 58 72 30 6f 6d 2f 4e 6a 31 58 71 64 75 w0Uo5dfR7cXFS6GqdHtXr0om/Nj1Xqdu
1a0b80 47 64 74 30 0a 44 45 38 31 57 7a 49 4c 41 65 50 62 36 33 70 33 4e 65 71 71 57 75 44 57 36 4b 46 Gdt0.DE81WzILAePb63p3NeqqWuDW6KF
1a0ba0 58 6c 50 43 51 6f 33 52 57 6c 45 51 77 41 78 35 63 54 69 75 46 4a 6e 53 43 65 67 78 32 6f 47 39 XlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9
1a0bc0 4e 7a 6b 45 74 6f 42 55 47 46 46 2b 33 51 73 31 37 0a 6a 31 68 68 4e 4e 77 71 43 50 6b 75 77 77 NzkEtoBUGFF+3Qs17.j1hhNNwqCPkuww
1a0be0 47 6d 49 6b 51 63 54 41 65 43 35 6c 76 4f 30 45 70 38 42 4e 4d 5a 63 79 66 77 71 70 68 2f 4c 71 GmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq
1a0c00 39 4f 36 34 63 65 4a 48 64 71 58 62 62 6f 57 30 57 36 33 4d 4f 68 42 57 39 57 6a 6f 38 51 0a 4a 9O64ceJHdqXbboW0W63MOhBW9Wjo8Q.J
1a0c20 71 56 4a 77 79 37 58 51 59 63 69 34 45 2b 47 79 6d 43 31 36 71 46 6a 77 41 47 58 45 48 6d 39 41 qVJwy7XQYci4E+GymC16qFjwAGXEHm9A
1a0c40 44 77 53 62 53 73 56 73 61 78 4c 73 65 34 59 75 55 36 57 33 4e 78 32 2f 7a 75 2b 7a 31 38 44 77 DwSbSsVsaxLse4YuU6W3Nx2/zu+z18Dw
1a0c60 50 77 37 36 4c 35 47 47 2f 2f 61 0a 51 4d 4a 53 39 2f 37 6a 4f 76 64 71 64 7a 58 51 32 6f 33 72 Pw76L5GG//a.QMJS9/7jOvdqdzXQ2o3r
1a0c80 58 68 68 71 4d 63 63 65 75 6a 77 62 4b 4e 5a 72 56 4d 61 71 57 39 65 69 4c 42 73 5a 7a 4b 49 43 XhhqMcceujwbKNZrVMaqW9eiLBsZzKIC
1a0ca0 39 70 74 5a 76 54 64 72 68 72 56 74 67 72 72 59 36 73 6c 57 76 4b 6b 32 0a 57 50 30 2b 47 66 50 9ptZvTdrhrVtgrrY6slWvKk2.WP0+GfP
1a0cc0 74 44 43 61 70 6b 7a 6a 34 54 38 46 64 49 67 62 51 6c 2b 72 68 72 63 5a 56 34 49 45 72 4b 49 4d tDCapkzj4T8FdIgbQl+rhrcZV4IErKIM
1a0ce0 36 2b 76 52 37 49 56 45 41 76 6c 49 34 7a 73 31 6d 65 61 6a 30 67 56 62 69 30 49 4d 4a 52 31 46 6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1F
1a0d00 62 55 47 72 50 0a 32 30 67 61 58 54 37 33 79 2f 5a 6c 39 32 7a 78 6c 66 67 43 4f 7a 4a 57 67 6a bUGrP.20gaXT73y/Zl92zxlfgCOzJWgj
1a0d20 6c 36 57 37 30 76 69 52 75 2f 6f 62 54 6f 2f 33 2b 4e 6a 4e 38 44 38 57 42 4f 57 42 46 4d 36 36 l6W70viRu/obTo/3+NjN8D8WBOWBFM66
1a0d40 4d 2f 45 43 75 44 6d 67 46 7a 32 5a 52 74 68 41 41 6e 0a 5a 71 7a 77 63 45 41 4a 51 70 4b 74 54 M/ECuDmgFz2ZRthAAn.ZqzwcEAJQpKtT
1a0d60 35 4d 4e 59 51 6c 52 4a 4e 69 53 31 51 75 55 59 62 4b 48 73 75 33 2f 6d 6a 58 2f 68 56 54 4b 37 5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7
1a0d80 55 52 44 72 42 73 38 46 6d 74 49 53 67 6f 63 51 49 67 66 6b 73 49 4c 41 41 58 2f 38 73 67 43 0a URDrBs8FmtISgocQIgfksILAAX/8sgC.
1a0da0 53 71 53 71 71 63 79 5a 6c 70 77 76 57 4f 42 39 34 62 36 37 42 39 78 66 42 48 4a 63 4d 54 54 44 SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD
1a0dc0 37 46 38 74 34 44 31 6b 6b 43 4c 6d 30 65 79 34 4c 74 31 5a 72 74 6d 68 4e 37 39 55 4e 64 78 7a 7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxz
1a0de0 4d 6b 2b 4d 42 42 34 7a 73 73 6c 47 0a 38 64 68 63 79 46 56 51 79 57 69 39 71 4c 6f 32 43 51 49 Mk+MBB4zsslG.8dhcyFVQyWi9qLo2CQI
1a0e00 44 41 51 41 42 6f 32 4d 77 59 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 DAQABo2MwYTAPBgNVHRMBAf8EBTADAQH
1a0e20 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 32 38 31 58 68 2b 71 51 32 0a 2b 2f 43 66 58 47 /MB0GA1UdDgQWBBR281Xh+qQ2.+/CfXG
1a0e40 4a 78 37 54 7a 30 52 7a 67 51 4b 7a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 32 38 31 Jx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281
1a0e60 58 68 2b 71 51 32 2b 2f 43 66 58 47 4a 78 37 54 7a 30 52 7a 67 51 4b 7a 41 4f 42 67 4e 56 48 51 Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ
1a0e80 38 42 41 66 38 45 0a 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 8BAf8E.BAMCAYYwDQYJKoZIhvcNAQEFB
1a0ea0 51 41 44 67 67 49 42 41 47 62 42 78 69 50 7a 32 65 41 75 62 6c 2f 6f 7a 36 36 77 73 43 56 4e 4b QADggIBAGbBxiPz2eAubl/oz66wsCVNK
1a0ec0 2f 67 37 57 4a 74 41 4a 44 64 61 79 36 73 57 53 66 2b 7a 0a 64 58 6b 7a 6f 53 39 74 63 42 63 30 /g7WJtAJDday6sWSf+z.dXkzoS9tcBc0
1a0ee0 6b 66 35 6e 66 6f 2f 73 6d 2b 56 65 67 71 6c 56 48 79 2f 63 31 46 45 48 45 76 36 73 46 6a 34 73 kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4s
1a0f00 4e 63 5a 6a 2f 4e 77 51 36 77 32 6a 71 74 42 38 7a 4e 48 51 4c 31 45 75 78 42 52 61 33 75 67 5a NcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
1a0f20 0a 34 54 37 47 7a 4b 51 70 35 79 36 45 71 67 59 77 65 48 5a 55 63 79 69 59 57 54 6a 67 41 41 31 .4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1
1a0f40 69 30 30 4a 39 49 5a 2b 75 50 54 71 4d 31 66 70 33 44 52 67 72 46 67 35 66 4e 75 48 38 4b 72 55 i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrU
1a0f60 77 4a 4d 2f 67 59 77 78 37 57 42 72 2b 0a 6d 62 70 43 45 72 47 52 39 48 78 6f 34 73 6a 6f 72 79 wJM/gYwx7WBr+.mbpCErGR9Hxo4sjory
1a0f80 7a 71 79 58 36 75 75 79 6f 39 44 52 58 63 4e 4a 57 32 47 48 53 6f 61 67 2f 48 74 50 51 54 78 4f zqyX6uuyo9DRXcNJW2GHSoag/HtPQTxO
1a0fa0 52 62 37 51 72 53 70 4a 64 4d 4b 75 30 76 62 42 4b 4a 50 66 45 6e 63 4b 70 71 0a 41 31 49 68 6e Rb7QrSpJdMKu0vbBKJPfEncKpq.A1Ihn
1a0fc0 30 43 6f 5a 31 44 79 38 31 6f 66 33 39 38 6a 39 74 78 34 54 75 61 59 54 31 55 36 55 2b 50 76 38 0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8
1a0fe0 76 53 66 78 33 7a 59 57 4b 38 70 49 70 65 34 34 4c 32 52 4c 72 42 32 37 46 63 52 7a 2b 38 70 52 vSfx3zYWK8pIpe44L2RLrB27FcRz+8pR
1a1000 50 50 70 68 58 70 67 0a 59 2b 52 64 4d 34 6b 58 32 54 47 71 32 74 62 7a 47 44 56 79 7a 34 63 72 PPphXpg.Y+RdM4kX2TGq2tbzGDVyz4cr
1a1020 4c 32 4d 6a 68 46 32 45 6a 44 39 58 6f 49 6a 38 6d 5a 45 6f 4a 6d 6d 5a 31 49 2b 58 52 4c 36 4f L2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O
1a1040 31 55 69 78 70 43 67 70 38 52 57 30 34 65 57 65 33 66 69 50 0a 70 6d 38 6d 31 77 6b 38 4f 68 77 1UixpCgp8RW04eWe3fiP.pm8m1wk8Ohw
1a1060 52 44 71 5a 73 4e 2f 65 74 52 49 63 73 4b 4d 66 59 64 49 4b 7a 30 47 39 4b 56 37 73 31 4b 53 65 RDqZsN/etRIcsKMfYdIKz0G9KV7s1KSe
1a1080 67 69 2b 67 68 70 34 64 6b 4e 6c 33 4d 32 42 61 73 78 37 49 6e 51 4a 4a 56 4f 43 69 4e 55 57 37 gi+ghp4dkNl3M2Basx7InQJJVOCiNUW7
1a10a0 64 0a 46 47 64 54 62 48 46 63 4a 6f 52 4e 64 56 71 32 66 6d 42 57 71 55 32 74 2b 35 73 65 6c 2f d.FGdTbHFcJoRNdVq2fmBWqU2t+5sel/
1a10c0 4d 4e 32 64 4b 58 56 48 66 61 50 52 4b 33 34 42 37 76 43 41 61 73 2b 59 57 48 36 61 4c 63 72 33 MN2dKXVHfaPRK34B7vCAas+YWH6aLcr3
1a10e0 34 59 45 6f 50 39 56 68 64 42 4c 74 55 70 0a 67 6e 32 5a 39 44 48 32 63 61 6e 50 4c 41 45 6e 70 4YEoP9VhdBLtUp.gn2Z9DH2canPLAEnp
1a1100 51 57 35 71 72 4a 49 54 69 72 76 6e 35 4e 53 55 5a 55 38 55 6e 4f 4f 56 6b 77 58 51 4d 41 4a 4b QW5qrJITirvn5NSUZU8UnOOVkwXQMAJK
1a1120 4f 53 4c 61 6b 68 54 32 2b 7a 4e 56 56 58 78 78 76 6a 70 6f 69 78 4d 70 74 45 6d 0a 58 33 36 76 OSLakhT2+zNVVXxxvjpoixMptEm.X36v
1a1140 57 6b 7a 61 48 36 62 79 48 43 78 2b 72 67 49 57 30 6c 62 51 4c 31 64 54 52 2b 69 53 0a 2d 2d 2d WkzaH6byHCx+rgIW0lbQL1dTR+iS.---
1a1160 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 6f 64 6f 20 41 --END.CERTIFICATE-----..Comodo.A
1a1180 41 41 20 53 65 72 76 69 63 65 73 20 72 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d AA.Services.root.===============
1a11a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1a11c0 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 6a 43 43 41 78 71 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 -----.MIIEMjCCAxqgAwIBAgIBATANBg
1a11e0 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 37 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 kqhkiG9w0BAQUFADB7MQswCQYDVQQGEw
1a1200 4a 48 51 6a 45 62 4d 42 6b 47 41 31 55 45 43 41 77 53 0a 52 33 4a 6c 59 58 52 6c 63 69 42 4e 59 JHQjEbMBkGA1UECAwS.R3JlYXRlciBNY
1a1220 57 35 6a 61 47 56 7a 64 47 56 79 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 54 59 57 78 6d 62 W5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb
1a1240 33 4a 6b 4d 52 6f 77 47 41 59 44 56 51 51 4b 44 42 46 44 62 32 31 76 5a 47 38 67 51 30 45 67 0a 3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg.
1a1260 54 47 6c 74 61 58 52 6c 5a 44 45 68 4d 42 38 47 41 31 55 45 41 77 77 59 51 55 46 42 49 45 4e 6c TGltaXRlZDEhMB8GA1UEAwwYQUFBIENl
1a1280 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4d 42 34 58 44 54 41 30 cnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0
1a12a0 4d 44 45 77 4d 54 41 77 4d 44 41 77 0a 4d 46 6f 58 44 54 49 34 4d 54 49 7a 4d 54 49 7a 4e 54 6b MDEwMTAwMDAw.MFoXDTI4MTIzMTIzNTk
1a12c0 31 4f 56 6f 77 65 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 78 47 7a 41 5a 42 67 4e 1OVowezELMAkGA1UEBhMCR0IxGzAZBgN
1a12e0 56 42 41 67 4d 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 0a 63 33 52 6c 63 6a VBAgMEkdyZWF0ZXIgTWFuY2hl.c3Rlcj
1a1300 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 41 31 EQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1
1a1320 55 45 43 67 77 52 51 32 39 74 62 32 52 76 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 49 54 UECgwRQ29tb2RvIENBIExpbWl0ZWQxIT
1a1340 41 66 42 67 4e 56 0a 42 41 4d 4d 47 45 46 42 51 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a AfBgNV.BAMMGEFBQSBDZXJ0aWZpY2F0Z
1a1360 53 42 54 5a 58 4a 32 61 57 4e 6c 63 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 SBTZXJ2aWNlczCCASIwDQYJKoZIhvcNA
1a1380 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 42 41 4c 35 41 6e 66 52 75 QEBBQADggEPADCCAQoC.ggEBAL5AnfRu
1a13a0 34 65 70 32 68 78 78 4e 52 55 53 4f 76 6b 62 49 67 77 61 64 77 53 72 2b 47 42 2b 4f 35 41 4c 36 4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL6
1a13c0 38 36 74 64 55 49 6f 57 4d 51 75 61 42 74 44 46 63 43 4c 4e 53 53 31 55 59 38 79 32 62 6d 68 47 86tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
1a13e0 0a 43 31 50 71 79 30 77 6b 77 4c 78 79 54 75 72 78 46 61 37 30 56 4a 6f 53 43 73 4e 36 73 6a 4e .C1Pqy0wkwLxyTurxFa70VJoSCsN6sjN
1a1400 67 34 74 71 4a 56 66 4d 69 57 50 50 65 33 4d 2f 76 67 34 61 69 6a 4a 52 50 6e 32 6a 79 6d 4a 42 g4tqJVfMiWPPe3M/vg4aijJRPn2jymJB
1a1420 47 68 43 66 48 64 72 2f 6a 7a 44 55 73 0a 69 31 34 48 5a 47 57 43 77 45 69 77 71 4a 48 35 59 5a GhCfHdr/jzDUs.i14HZGWCwEiwqJH5YZ
1a1440 39 32 49 46 43 6f 6b 63 64 6d 74 65 74 34 59 67 4e 57 38 49 6f 61 45 2b 6f 78 6f 78 36 67 6d 66 92IFCokcdmtet4YgNW8IoaE+oxox6gmf
1a1460 30 34 39 76 59 6e 4d 6c 68 76 42 2f 56 72 75 50 73 55 4b 36 2b 33 71 73 7a 57 0a 59 31 39 7a 6a 049vYnMlhvB/VruPsUK6+3qszW.Y19zj
1a1480 4e 6f 46 6d 61 67 34 71 4d 73 58 65 44 5a 52 72 4f 6d 65 39 48 67 36 6a 63 38 50 32 55 4c 69 6d NoFmag4qMsXeDZRrOme9Hg6jc8P2ULim
1a14a0 41 79 72 4c 35 38 4f 41 64 37 76 6e 35 6c 4a 38 53 33 66 72 48 52 4e 47 35 69 31 52 38 58 6c 4b AyrL58OAd7vn5lJ8S3frHRNG5i1R8XlK
1a14c0 64 48 35 6b 42 6a 48 0a 59 70 79 2b 67 38 63 6d 65 7a 36 4b 4a 63 66 41 33 5a 33 6d 4e 57 67 51 dH5kBjH.Ypy+g8cmez6KJcfA3Z3mNWgQ
1a14e0 49 4a 32 50 32 4e 37 53 77 34 53 63 44 56 37 6f 4c 38 6b 43 41 77 45 41 41 61 4f 42 77 44 43 42 IJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCB
1a1500 76 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 42 45 4b 0a 49 7a 36 57 38 51 66 73 34 71 38 vTAdBgNVHQ4EFgQUoBEK.Iz6W8Qfs4q8
1a1520 70 37 34 4b 6c 66 39 41 77 70 4c 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgE
1a1540 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 65 77 59 44 56 52 30 GMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0
1a1560 66 0a 42 48 51 77 63 6a 41 34 6f 44 61 67 4e 49 59 79 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 f.BHQwcjA4oDagNIYyaHR0cDovL2NybC
1a1580 35 6a 62 32 31 76 5a 47 39 6a 59 53 35 6a 62 32 30 76 51 55 46 42 51 32 56 79 64 47 6c 6d 61 57 5jb21vZG9jYS5jb20vQUFBQ2VydGlmaW
1a15a0 4e 68 64 47 56 54 5a 58 4a 32 61 57 4e 6c 0a 63 79 35 6a 63 6d 77 77 4e 71 41 30 6f 44 4b 47 4d NhdGVTZXJ2aWNl.cy5jcmwwNqA0oDKGM
1a15c0 47 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 59 32 39 74 62 32 52 76 4c 6d 35 6c 64 43 39 42 51 Gh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQ
1a15e0 55 46 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 56 4e 6c 63 6e 5a 70 59 32 56 7a 0a 4c 6d 4e 79 UFDZXJ0aWZpY2F0ZVNlcnZpY2Vz.LmNy
1a1600 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 43 46 62 38 bDANBgkqhkiG9w0BAQUFAAOCAQEACFb8
1a1620 41 76 43 62 36 50 2b 6b 2b 74 5a 37 78 6b 53 41 7a 6b 2f 45 78 66 59 41 57 4d 79 6d 74 72 77 55 AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwU
1a1640 53 57 67 45 64 75 6a 6d 0a 37 6c 33 73 41 67 39 67 31 6f 31 51 47 45 38 6d 54 67 48 6a 35 72 43 SWgEdujm.7l3sAg9g1o1QGE8mTgHj5rC
1a1660 6c 37 72 2b 38 64 46 52 42 76 2f 33 38 45 72 6a 48 54 31 72 30 69 57 41 46 66 32 43 33 42 55 72 l7r+8dFRBv/38ErjHT1r0iWAFf2C3BUr
1a1680 7a 39 76 48 43 76 38 53 35 64 49 61 32 4c 58 31 72 7a 4e 4c 7a 0a 52 74 30 76 78 75 42 71 77 38 z9vHCv8S5dIa2LX1rzNLz.Rt0vxuBqw8
1a16a0 4d 30 41 79 78 39 6c 74 31 61 77 67 36 6e 43 70 6e 42 42 59 75 72 44 43 2f 7a 58 44 72 50 62 44 M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbD
1a16c0 64 56 43 59 66 65 55 30 42 73 57 4f 2f 38 74 71 74 6c 62 67 54 32 47 39 77 38 34 46 6f 56 78 70 dVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp
1a16e0 37 5a 0a 38 56 6c 49 4d 43 46 6c 41 32 7a 73 36 53 46 7a 37 4a 73 44 6f 65 41 33 72 61 41 56 47 7Z.8VlIMCFlA2zs6SFz7JsDoeA3raAVG
1a1700 49 2f 36 75 67 4c 4f 70 79 79 70 45 42 4d 73 31 4f 55 49 4a 71 73 69 6c 32 44 34 6b 46 35 30 31 I/6ugLOpyypEBMs1OUIJqsil2D4kF501
1a1720 4b 4b 61 55 37 33 79 71 57 6a 67 6f 6d 37 43 0a 31 32 79 78 6f 77 2b 65 76 2b 74 6f 35 31 62 79 KKaU73yqWjgom7C.12yxow+ev+to51by
1a1740 72 76 4c 6a 4b 7a 67 36 43 59 47 31 61 34 58 58 76 69 33 74 50 78 71 33 73 6d 50 69 39 57 49 73 rvLjKzg6CYG1a4XXvi3tPxq3smPi9WIs
1a1760 67 74 52 71 41 45 46 51 38 54 6d 44 6e 35 58 70 4e 70 61 59 62 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e gtRqAEFQ8TmDn5XpNpaYbg==.-----EN
1a1780 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f D.CERTIFICATE-----..QuoVadis.Roo
1a17a0 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e t.CA.================.-----BEGIN
1a17c0 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 30 44 43 43 42 4c 69 67 41 77 .CERTIFICATE-----.MIIF0DCCBLigAw
1a17e0 49 42 41 67 49 45 4f 72 5a 51 69 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 IBAgIEOrZQizANBgkqhkiG9w0BAQUFAD
1a1800 42 2f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 43 54 54 45 5a 4d 42 63 47 41 31 55 45 0a 43 B/MQswCQYDVQQGEwJCTTEZMBcGA1UE.C
1a1820 68 4d 51 55 58 56 76 56 6d 46 6b 61 58 4d 67 54 47 6c 74 61 58 52 6c 5a 44 45 6c 4d 43 4d 47 41 hMQUXVvVmFkaXMgTGltaXRlZDElMCMGA
1a1840 31 55 45 43 78 4d 63 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uI
1a1860 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 75 4d 43 77 47 41 31 55 45 41 78 4d 6c 55 58 56 76 EF1dGhvcml0.eTEuMCwGA1UEAxMlUXVv
1a1880 56 6d 46 6b 61 58 4d 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 VmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9u
1a18a0 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4d 54 41 7a 0a 4d 54 6b 78 4f 44 4d IEF1dGhvcml0eTAeFw0wMTAz.MTkxODM
1a18c0 7a 4d 7a 4e 61 46 77 30 79 4d 54 41 7a 4d 54 63 78 4f 44 4d 7a 4d 7a 4e 61 4d 48 38 78 43 7a 41 zMzNaFw0yMTAzMTcxODMzMzNaMH8xCzA
1a18e0 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 JBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9
1a1900 57 59 57 52 70 0a 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 77 59 44 56 51 51 4c 45 78 WYWRp.cyBMaW1pdGVkMSUwIwYDVQQLEx
1a1920 78 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 xSb290IENlcnRpZmljYXRpb24gQXV0aG
1a1940 39 79 61 58 52 35 4d 53 34 77 4c 41 59 44 56 51 51 44 0a 45 79 56 52 64 57 39 57 59 57 52 70 63 9yaXR5MS4wLAYDVQQD.EyVRdW9WYWRpc
1a1960 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 yBSb290IENlcnRpZmljYXRpb24gQXV0a
1a1980 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a G9yaXR5MIIBIjANBgkqhkiG9w0BAQEF.
1a19a0 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 76 32 47 31 6c 56 4f 36 56 2f 7a 36 AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z6
1a19c0 38 6d 63 4c 4f 68 72 66 45 59 42 6b 6c 62 54 52 76 4d 31 36 7a 2f 59 70 6c 69 34 6b 56 45 41 6b 8mcLOhrfEYBklbTRvM16z/Ypli4kVEAk
1a19e0 4f 50 63 61 68 64 78 59 54 4d 75 6b 0a 4a 30 4b 58 30 4a 2b 44 69 73 50 6b 42 67 4e 62 41 4b 56 OPcahdxYTMuk.J0KX0J+DisPkBgNbAKV
1a1a00 52 48 6e 41 45 64 4f 4c 42 31 44 71 72 31 36 30 37 42 78 67 46 6a 76 32 44 72 4f 70 6d 32 52 67 RHnAEdOLB1Dqr1607BxgFjv2DrOpm2Rg
1a1a20 62 61 49 72 31 56 78 71 59 75 76 58 74 64 6a 31 38 32 64 36 55 61 6a 74 4c 0a 46 38 48 56 6a 37 baIr1VxqYuvXtdj182d6UajtL.F8HVj7
1a1a40 31 6c 4f 44 71 56 30 44 31 56 4e 6b 37 66 65 56 63 78 4b 68 37 59 57 57 56 4a 57 43 43 59 66 71 1lODqV0D1VNk7feVcxKh7YWWVJWCCYfq
1a1a60 74 66 66 70 2f 70 31 6b 33 73 67 33 53 70 78 32 7a 59 37 69 6c 4b 68 53 6f 47 46 50 6c 55 35 74 tffp/p1k3sg3Spx2zY7ilKhSoGFPlU5t
1a1a80 50 61 5a 51 65 4c 0a 59 7a 63 53 31 39 44 73 77 33 73 67 51 55 53 6a 37 63 75 67 46 2b 46 78 5a PaZQeL.YzcS19Dsw3sgQUSj7cugF+FxZ
1a1aa0 63 34 64 5a 6a 48 33 64 67 45 5a 79 48 30 44 57 4c 61 56 53 52 32 6d 45 69 62 6f 78 67 78 32 34 c4dZjH3dgEZyH0DWLaVSR2mEiboxgx24
1a1ac0 4f 4e 6d 79 2b 70 64 70 69 62 75 35 63 78 66 76 57 65 6e 0a 41 53 63 4f 6f 73 70 55 78 62 46 36 ONmy+pdpibu5cxfvWen.AScOospUxbF6
1a1ae0 6c 52 31 78 48 6b 6f 70 69 67 50 63 61 6b 58 42 70 42 6c 65 62 7a 62 4e 77 36 4b 77 74 2f 35 63 lR1xHkopigPcakXBpBlebzbNw6Kwt/5c
1a1b00 4f 4f 4a 53 76 50 68 45 51 2b 61 51 75 77 49 44 41 51 41 42 6f 34 49 43 55 6a 43 43 41 6b 34 77 OOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
1a1b20 0a 50 51 59 49 4b 77 59 42 42 51 55 48 41 51 45 45 4d 54 41 76 4d 43 30 47 43 43 73 47 41 51 55 .PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQU
1a1b40 46 42 7a 41 42 68 69 46 6f 64 48 52 77 63 7a 6f 76 4c 32 39 6a 63 33 41 75 63 58 56 76 64 6d 46 FBzABhiFodHRwczovL29jc3AucXVvdmF
1a1b60 6b 61 58 4e 76 5a 6d 5a 7a 61 47 39 79 0a 5a 53 35 6a 62 32 30 77 44 77 59 44 56 52 30 54 41 51 kaXNvZmZzaG9y.ZS5jb20wDwYDVR0TAQ
1a1b80 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 43 41 52 6f 47 41 31 55 64 49 41 53 43 41 52 45 77 67 67 H/BAUwAwEB/zCCARoGA1UdIASCAREwgg
1a1ba0 45 4e 4d 49 49 42 43 51 59 4a 4b 77 59 42 42 41 47 2b 57 41 41 42 4d 49 48 37 0a 4d 49 48 55 42 ENMIIBCQYJKwYBBAG+WAABMIH7.MIHUB
1a1bc0 67 67 72 42 67 45 46 42 51 63 43 41 6a 43 42 78 78 71 42 78 46 4a 6c 62 47 6c 68 62 6d 4e 6c 49 ggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlI
1a1be0 47 39 75 49 48 52 6f 5a 53 42 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 6c 63 G9uIHRoZSBRdW9WYWRpcyBSb290IENlc
1a1c00 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4a 35 49 47 46 75 65 53 42 77 59 58 4a 30 65 53 42 68 nRpZmlj.YXRlIGJ5IGFueSBwYXJ0eSBh
1a1c20 63 33 4e 31 62 57 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 67 62 32 59 67 64 47 68 6c c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhl
1a1c40 49 48 52 6f 5a 57 34 67 59 58 42 77 62 47 6c 6a 59 57 4a 73 0a 5a 53 42 7a 64 47 46 75 5a 47 46 IHRoZW4gYXBwbGljYWJs.ZSBzdGFuZGF
1a1c60 79 5a 43 42 30 5a 58 4a 74 63 79 42 68 62 6d 51 67 59 32 39 75 5a 47 6c 30 61 57 39 75 63 79 42 yZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB
1a1c80 76 5a 69 42 31 63 32 55 73 49 47 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 63 48 4a vZiB1c2UsIGNlcnRpZmljYXRpb24gcHJ
1a1ca0 68 0a 59 33 52 70 59 32 56 7a 4c 43 42 68 62 6d 51 67 64 47 68 6c 49 46 46 31 62 31 5a 68 5a 47 h.Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZG
1a1cc0 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 42 76 62 47 6c 6a 65 53 34 77 49 67 lzIENlcnRpZmljYXRlIFBvbGljeS4wIg
1a1ce0 59 49 4b 77 59 42 42 51 55 48 41 67 45 57 0a 46 6d 68 30 64 48 41 36 4c 79 39 33 64 33 63 75 63 YIKwYBBQUHAgEW.Fmh0dHA6Ly93d3cuc
1a1d00 58 56 76 64 6d 46 6b 61 58 4d 75 59 6d 30 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 74 4c 62 XVvdmFkaXMuYm0wHQYDVR0OBBYEFItLb
1a1d20 65 33 54 4b 62 6b 47 47 65 77 35 4f 61 6e 77 6c 34 52 71 79 2b 2f 66 4d 49 47 75 0a 42 67 4e 56 e3TKbkGGew5Oanwl4Rqy+/fMIGu.BgNV
1a1d40 48 53 4d 45 67 61 59 77 67 61 4f 41 46 49 74 4c 62 65 33 54 4b 62 6b 47 47 65 77 35 4f 61 6e 77 HSMEgaYwgaOAFItLbe3TKbkGGew5Oanw
1a1d60 6c 34 52 71 79 2b 2f 66 6f 59 47 45 70 49 47 42 4d 48 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 l4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYT
1a1d80 41 6b 4a 4e 4d 52 6b 77 0a 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 AkJNMRkw.FwYDVQQKExBRdW9WYWRpcyB
1a1da0 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 77 59 44 56 51 51 4c 45 78 78 53 62 32 39 30 49 45 4e MaW1pdGVkMSUwIwYDVQQLExxSb290IEN
1a1dc0 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 47 39 79 61 58 52 35 4d 53 lcnRpZmljYXRpb24gQXV0.aG9yaXR5MS
1a1de0 34 77 4c 41 59 44 56 51 51 44 45 79 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4wLAYDVQQDEyVRdW9WYWRpcyBSb290IE
1a1e00 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 67 67 NlcnRpZmljYXRpb24gQXV0aG9yaXR5gg
1a1e20 51 36 0a 74 6c 43 4c 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 Q6.tlCLMA4GA1UdDwEB/wQEAwIBBjANB
1a1e40 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 69 74 51 55 74 66 37 30 6d gkqhkiG9w0BAQUFAAOCAQEAitQUtf70m
1a1e60 70 4b 6e 47 64 53 6b 66 6e 49 59 6a 39 6c 6f 0a 66 46 49 6b 33 57 64 76 4f 58 72 45 71 6c 34 39 pKnGdSkfnIYj9lo.fFIk3WdvOXrEql49
1a1e80 34 6c 69 77 54 58 43 59 68 47 48 6f 47 2b 4e 70 47 41 37 4f 2b 30 64 51 6f 45 37 2f 38 43 51 66 4liwTXCYhGHoG+NpGA7O+0dQoE7/8CQf
1a1ea0 76 62 4c 4f 39 53 66 38 37 43 39 54 71 6e 4e 37 41 7a 31 30 62 75 59 57 6e 75 75 6c 0a 4c 73 53 vbLO9Sf87C9TqnN7Az10buYWnuul.LsS
1a1ec0 2f 56 69 64 51 4b 32 4b 36 76 6b 73 63 50 46 56 63 51 52 30 6b 76 6f 49 67 52 31 33 56 52 48 35 /VidQK2K6vkscPFVcQR0kvoIgR13VRH5
1a1ee0 36 46 6d 6a 66 66 55 31 52 63 48 68 58 48 54 4d 65 2f 51 4b 5a 6e 41 7a 4e 43 67 56 50 78 37 75 6FmjffU1RcHhXHTMe/QKZnAzNCgVPx7u
1a1f00 4f 70 48 58 36 53 6d 32 78 0a 67 49 34 4a 56 72 6d 63 47 6d 44 2b 58 63 48 58 65 74 77 52 65 4e OpHX6Sm2x.gI4JVrmcGmD+XcHXetwReN
1a1f20 44 57 58 63 47 33 31 61 30 79 6d 51 4d 36 69 73 78 55 4a 54 6b 78 67 58 73 54 49 6c 47 36 52 6d DWXcG31a0ymQM6isxUJTkxgXsTIlG6Rm
1a1f40 79 68 75 35 37 36 42 47 78 4a 4a 6e 53 50 30 6e 50 72 7a 44 43 69 0a 35 75 70 5a 49 6f 66 34 6c yhu576BGxJJnSP0nPrzDCi.5upZIof4l
1a1f60 2f 55 4f 2f 65 72 4d 6b 71 51 57 78 46 49 59 36 69 48 4f 73 66 48 6d 68 49 48 6c 75 71 6d 47 4b /UO/erMkqQWxFIY6iHOsfHmhIHluqmGK
1a1f80 50 4a 44 57 6c 30 53 6e 61 77 65 32 61 6a 6c 43 6d 71 6e 66 36 43 48 4b 63 2f 79 69 55 33 55 37 PJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7
1a1fa0 4d 58 69 0a 35 6e 72 51 4e 69 4f 4b 53 6e 51 32 2b 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 MXi.5nrQNiOKSnQ2+Q==.-----END.CE
1a1fc0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 RTIFICATE-----..QuoVadis.Root.CA
1a1fe0 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e .2.==================.-----BEGIN
1a2000 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 74 7a 43 43 41 35 2b 67 41 77 .CERTIFICATE-----.MIIFtzCCA5+gAw
1a2020 49 42 41 67 49 43 42 51 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 54 IBAgICBQkwDQYJKoZIhvcNAQEFBQAwRT
1a2040 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 0a 45 ELMAkGA1UEBhMCQk0xGTAXBgNVBAoT.E
1a2060 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e 56 42 FF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVB
1a2080 41 4d 54 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 65 46 AMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeF
1a20a0 77 30 77 4e 6a 45 78 4d 6a 51 78 0a 4f 44 49 33 4d 44 42 61 46 77 30 7a 4d 54 45 78 4d 6a 51 78 w0wNjExMjQx.ODI3MDBaFw0zMTExMjQx
1a20c0 4f 44 49 7a 4d 7a 4e 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 ODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkw
1a20e0 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 0a 61 57 31 70 64 47 56 FwYDVQQKExBRdW9WYWRpcyBM.aW1pdGV
1a2100 6b 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 kMRswGQYDVQQDExJRdW9WYWRpcyBSb29
1a2120 30 49 45 4e 42 49 44 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 0IENBIDIwggIiMA0GCSqGSIb3DQEBAQU
1a2140 41 41 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 61 47 4d 70 4c 6c 41 30 41 4c 61 AA4IC.DwAwggIKAoICAQCaGMpLlA0ALa
1a2160 38 44 4b 59 72 77 44 34 48 49 72 6b 77 5a 68 52 30 49 6e 36 73 70 52 49 58 7a 4c 34 47 74 4d 68 8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh
1a2180 36 51 52 72 2b 6a 68 69 59 61 48 76 35 2b 48 42 67 36 0a 58 4a 78 67 46 79 6f 36 64 49 4d 7a 4d 6QRr+jhiYaHv5+HBg6.XJxgFyo6dIMzM
1a21a0 48 31 68 56 42 48 4c 37 61 76 67 35 74 4b 69 66 76 56 72 62 78 69 33 43 67 73 74 2f 65 6b 2b 37 H1hVBHL7avg5tKifvVrbxi3Cgst/ek+7
1a21c0 77 72 47 73 78 44 70 33 4d 4a 47 46 2f 68 64 2f 61 54 61 2f 35 35 4a 57 70 7a 6d 4d 2b 59 6b 0a wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk.
1a21e0 6c 76 63 2f 75 6c 73 72 48 48 6f 31 77 74 5a 6e 2f 71 74 6d 55 49 74 74 4b 47 41 72 37 39 64 67 lvc/ulsrHHo1wtZn/qtmUIttKGAr79dg
1a2200 77 38 65 54 76 49 30 32 6b 66 4e 2f 2b 4e 73 52 45 38 53 63 64 33 62 42 72 72 63 43 61 6f 46 36 w8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6
1a2220 71 55 57 44 34 67 58 6d 75 56 62 42 0a 6c 44 65 50 53 48 46 6a 49 75 77 58 5a 51 65 56 69 6b 76 qUWD4gXmuVbB.lDePSHFjIuwXZQeVikv
1a2240 66 6a 38 5a 61 43 75 57 77 34 31 39 65 61 78 47 72 44 50 6d 46 36 30 54 70 2b 41 52 7a 38 75 6e fj8ZaCuWw419eaxGrDPmF60Tp+ARz8un
1a2260 2b 58 4a 69 4d 39 58 4f 76 61 37 52 2b 7a 64 52 63 41 69 74 4d 4f 65 47 79 0a 6c 5a 55 74 51 6f +XJiM9XOva7R+zdRcAitMOeGy.lZUtQo
1a2280 66 58 31 62 4f 51 51 37 64 73 45 2f 48 65 33 66 62 45 2b 49 6b 2f 30 58 58 31 6b 73 4f 52 31 59 fX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1Y
1a22a0 71 49 30 4a 44 73 33 47 33 65 69 63 4a 6c 63 5a 61 4c 44 51 50 39 6e 4c 39 62 46 71 79 53 32 2b qI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+
1a22c0 72 2b 65 58 79 74 0a 36 36 2f 33 46 73 76 62 7a 53 55 72 35 52 2f 37 6d 70 2f 69 55 63 77 36 55 r+eXyt.66/3FsvbzSUr5R/7mp/iUcw6U
1a22e0 77 78 49 35 67 36 39 79 62 52 32 42 6c 4c 6d 45 52 4f 46 63 6d 4d 44 42 4f 41 45 4e 69 73 67 47 wxI5g69ybR2BlLmEROFcmMDBOAENisgG
1a2300 51 4c 6f 64 4b 63 66 74 73 6c 57 5a 76 42 31 4a 64 78 6e 0a 77 51 35 68 59 49 69 7a 50 74 47 6f QLodKcftslWZvB1Jdxn.wQ5hYIizPtGo
1a2320 2f 4b 50 61 48 62 44 52 73 53 4e 55 33 30 52 32 62 65 31 42 32 4d 47 79 49 72 5a 54 48 4e 38 31 /KPaHbDRsSNU30R2be1B2MGyIrZTHN81
1a2340 48 64 79 68 64 79 6f 78 35 43 33 31 35 65 58 62 79 4f 44 2f 35 59 44 58 43 32 4f 67 2f 7a 4f 68 Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
1a2360 0a 44 37 6f 73 46 52 58 71 6c 37 50 53 6f 72 57 2b 38 6f 79 57 48 68 71 50 48 57 79 6b 59 54 65 .D7osFRXql7PSorW+8oyWHhqPHWykYTe
1a2380 35 68 6e 4d 7a 31 35 65 57 6e 69 4e 39 67 71 52 4d 67 65 4b 68 30 62 70 6e 58 35 55 48 6f 79 63 5hnMz15eWniN9gqRMgeKh0bpnX5UHoyc
1a23a0 52 37 68 59 51 65 37 78 46 53 6b 79 79 0a 42 4e 4b 72 37 39 58 39 44 46 48 4f 55 47 6f 49 4d 66 R7hYQe7xFSkyy.BNKr79X9DFHOUGoIMf
1a23c0 6d 52 32 67 79 50 5a 46 77 44 77 7a 71 4c 49 44 39 75 6a 57 63 39 4f 74 62 2b 66 56 75 49 79 56 mR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV
1a23e0 37 37 7a 47 48 63 69 7a 4e 33 30 30 51 79 4e 51 6c 69 42 4a 49 57 45 4e 69 65 0a 4a 30 66 37 4f 77zGHcizN300QyNQliBJIWENie.J0f7O
1a2400 79 48 6a 2b 4f 73 64 57 77 49 44 41 51 41 42 6f 34 47 77 4d 49 47 74 4d 41 38 47 41 31 55 64 45 yHj+OsdWwIDAQABo4GwMIGtMA8GA1UdE
1a2420 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d wEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGM
1a2440 42 30 47 41 31 55 64 0a 44 67 51 57 42 42 51 61 68 47 4b 38 53 45 77 7a 4a 51 54 55 37 74 44 32 B0GA1Ud.DgQWBBQahGK8SEwzJQTU7tD2
1a2460 41 38 51 5a 52 74 47 55 61 7a 42 75 42 67 4e 56 48 53 4d 45 5a 7a 42 6c 67 42 51 61 68 47 4b 38 A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8
1a2480 53 45 77 7a 4a 51 54 55 37 74 44 32 41 38 51 5a 52 74 47 55 0a 61 36 46 4a 70 45 63 77 52 54 45 SEwzJQTU7tD2A8QZRtGU.a6FJpEcwRTE
1a24a0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 LMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF
1a24c0 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e 56 42 41 4d 1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAM
1a24e0 54 0a 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6f 49 43 42 51 T.ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQ
1a2500 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 44 34 4b 46 6b kwDQYJKoZIhvcNAQEFBQADggIBAD4KFk
1a2520 32 66 42 6c 75 6f 72 6e 46 64 4c 77 55 76 0a 5a 2b 59 54 52 59 50 45 4e 76 62 7a 77 43 59 4d 44 2fBluornFdLwUv.Z+YTRYPENvbzwCYMD
1a2540 62 56 48 5a 46 33 34 74 48 4c 4a 52 71 55 44 47 43 64 56 69 58 68 39 64 75 71 57 4e 49 41 58 49 bVHZF34tHLJRqUDGCdViXh9duqWNIAXI
1a2560 4e 7a 6e 67 2f 69 4e 2f 41 65 34 32 6c 39 4e 4c 6d 65 79 68 50 33 5a 52 50 78 33 0a 55 49 48 6d Nzng/iN/Ae42l9NLmeyhP3ZRPx3.UIHm
1a2580 66 4c 54 4a 44 51 74 79 55 2f 68 32 42 77 64 42 52 35 59 4d 2b 2b 43 43 4a 70 4e 56 6a 50 34 69 fLTJDQtyU/h2BwdBR5YM++CCJpNVjP4i
1a25a0 48 32 42 6c 66 46 2f 6e 4a 72 50 33 4d 70 43 59 55 4e 51 33 63 56 58 32 6b 69 46 34 39 35 56 35 H2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5
1a25c0 2b 76 67 74 4a 6f 64 6d 0a 56 6a 42 33 70 6a 64 34 4d 31 49 51 57 4b 34 2f 59 59 37 79 61 72 48 +vgtJodm.VjB3pjd4M1IQWK4/YY7yarH
1a25e0 76 47 48 35 4b 57 57 50 4b 6a 61 4a 57 31 61 63 76 76 46 59 66 7a 7a 6e 42 34 76 73 4b 71 42 55 vGH5KWWPKjaJW1acvvFYfzznB4vsKqBU
1a2600 73 66 55 31 36 59 38 5a 73 6c 30 51 38 30 6d 2f 44 53 68 63 4b 0a 2b 4a 44 53 56 36 49 5a 55 61 sfU16Y8Zsl0Q80m/DShcK.+JDSV6IZUa
1a2620 55 74 6c 30 48 61 42 30 2b 70 55 4e 71 51 6a 5a 52 47 34 54 37 77 6c 50 30 51 41 44 6a 31 4f 2b Utl0HaB0+pUNqQjZRG4T7wlP0QADj1O+
1a2640 68 41 34 62 52 75 56 68 6f 67 7a 47 39 59 6a 65 30 75 52 59 2f 57 36 5a 4d 2f 35 37 45 73 33 7a hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3z
1a2660 72 57 0a 49 6f 7a 63 68 4c 73 69 62 39 44 34 35 4d 59 35 36 51 53 49 50 4d 4f 36 36 31 56 36 62 rW.IozchLsib9D45MY56QSIPMO661V6b
1a2680 59 43 5a 4a 50 56 73 41 66 76 34 6c 37 43 55 57 2b 76 39 30 6d 2f 78 64 32 67 4e 4e 57 51 6a 72 YCZJPVsAfv4l7CUW+v90m/xd2gNNWQjr
1a26a0 4c 68 56 6f 51 50 52 54 55 49 5a 33 50 68 31 0a 57 56 61 6a 2b 61 68 4a 65 66 69 76 44 72 6b 52 LhVoQPRTUIZ3Ph1.WVaj+ahJefivDrkR
1a26c0 6f 48 79 33 61 75 30 30 30 4c 59 6d 59 6a 67 61 68 77 7a 34 36 50 30 75 30 35 42 2f 42 35 45 71 oHy3au000LYmYjgahwz46P0u05B/B5Eq
1a26e0 48 64 5a 2b 58 49 57 44 6d 62 41 34 43 44 2f 70 58 76 6b 31 42 2b 54 4a 59 6d 35 58 0a 66 36 64 HdZ+XIWDmbA4CD/pXvk1B+TJYm5X.f6d
1a2700 51 6c 66 65 36 79 4a 76 6d 6a 71 49 42 78 64 5a 6d 76 33 6c 68 38 7a 77 63 34 62 6d 43 58 46 32 Qlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2
1a2720 67 77 2b 6e 59 53 4c 30 5a 6f 68 45 55 47 57 36 79 68 68 74 6f 50 6b 67 33 47 6f 69 33 58 5a 5a gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZ
1a2740 65 6e 4d 66 76 4a 32 49 49 0a 34 70 45 5a 58 4e 4c 78 49 64 32 36 46 30 4b 43 6c 33 47 42 55 7a enMfvJ2II.4pEZXNLxId26F0KCl3GBUz
1a2760 47 70 6e 2f 5a 39 59 72 39 79 34 61 4f 54 48 63 79 4b 4a 6c 6f 4a 4f 4e 44 4f 31 77 32 41 46 72 Gpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFr
1a2780 52 34 70 54 71 48 54 49 32 4b 70 64 56 47 6c 2f 49 73 45 4c 6d 38 0a 56 43 4c 41 41 56 42 70 51 R4pTqHTI2KpdVGl/IsELm8.VCLAAVBpQ
1a27a0 35 37 30 73 75 39 74 2b 4f 7a 61 38 65 4f 78 37 39 2b 52 6a 31 51 71 43 79 58 42 4a 68 6e 45 55 570su9t+Oza8eOx79+Rj1QqCyXBJhnEU
1a27c0 68 41 46 5a 64 57 43 45 4f 72 43 4d 63 30 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 hAFZdWCEOrCMc0u.-----END.CERTIFI
1a27e0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 33 0a 3d 3d CATE-----..QuoVadis.Root.CA.3.==
1a2800 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a2820 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 6e 54 43 43 42 49 57 67 41 77 49 42 41 67 49 IFICATE-----.MIIGnTCCBIWgAwIBAgI
1a2840 43 42 63 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 54 45 4c 4d 41 6b CBcYwDQYJKoZIhvcNAQEFBQAwRTELMAk
1a2860 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 0a 45 46 46 31 62 31 GA1UEBhMCQk0xGTAXBgNVBAoT.EFF1b1
1a2880 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e 56 42 41 4d 54 45 6c ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTEl
1a28a0 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 7a 41 65 46 77 30 77 4e 6a F1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNj
1a28c0 45 78 4d 6a 51 78 0a 4f 54 45 78 4d 6a 4e 61 46 77 30 7a 4d 54 45 78 4d 6a 51 78 4f 54 41 32 4e ExMjQx.OTExMjNaFw0zMTExMjQxOTA2N
1a28e0 44 52 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 44 56 DRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDV
1a2900 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 0a 61 57 31 70 64 47 56 6b 4d 52 73 77 QQKExBRdW9WYWRpcyBM.aW1pdGVkMRsw
1a2920 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 GQYDVQQDExJRdW9WYWRpcyBSb290IENB
1a2940 49 44 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 IDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1a2960 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4d 56 30 49 57 56 4a 7a 6d 6d 4e 50 54 54 65 37 .DwAwggIKAoICAQDMV0IWVJzmmNPTTe7
1a2980 2b 37 63 65 66 51 7a 6c 4b 5a 62 50 6f 46 6f 67 30 32 77 31 5a 6b 58 54 50 6b 72 67 45 51 4b 30 +7cefQzlKZbPoFog02w1ZkXTPkrgEQK0
1a29a0 43 53 7a 47 72 76 49 32 52 61 4e 67 67 0a 44 68 6f 42 34 68 70 37 54 68 64 64 34 6f 71 33 50 35 CSzGrvI2RaNgg.DhoB4hp7Thdd4oq3P5
1a29c0 6b 61 7a 65 74 68 71 38 4a 6c 70 68 2b 33 74 37 32 33 6a 2f 7a 39 63 49 38 4c 6f 47 65 2b 41 61 kazethq8Jlph+3t723j/z9cI8LoGe+Aa
1a29e0 4a 5a 7a 33 48 6d 44 79 6c 32 2f 37 46 57 65 55 55 72 48 35 35 36 56 4f 69 6a 0a 4b 54 56 6f 70 JZz3HmDyl2/7FWeUUrH556VOij.KTVop
1a2a00 41 46 50 44 36 51 75 4e 2b 38 62 76 2b 4f 50 45 4b 68 79 71 31 68 58 35 31 53 47 79 4d 6e 7a 57 AFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW
1a2a20 39 6f 73 32 6c 32 4f 62 6a 79 6a 50 74 72 37 67 75 58 64 38 6c 79 79 42 54 4e 76 69 6a 62 4f 30 9os2l2ObjyjPtr7guXd8lyyBTNvijbO0
1a2a40 42 4e 4f 2f 37 39 4b 0a 44 44 52 4d 70 73 4d 68 76 56 41 45 56 65 75 78 75 35 33 37 52 52 35 6b BNO/79K.DDRMpsMhvVAEVeuxu537RR5k
1a2a60 46 64 35 56 41 59 77 43 64 72 58 4c 6f 54 39 43 61 62 77 76 76 57 68 44 46 6c 61 4a 4b 6a 64 68 Fd5VAYwCdrXLoT9CabwvvWhDFlaJKjdh
1a2a80 6b 66 32 6d 72 6b 37 41 79 78 52 6c 6c 44 64 4c 6b 67 62 76 0a 42 4e 44 49 6e 49 6a 62 43 33 75 kf2mrk7AyxRllDdLkgbv.BNDInIjbC3u
1a2aa0 42 72 37 45 39 4b 73 52 6c 4f 6e 69 32 37 74 79 41 73 64 4c 54 6d 5a 77 36 37 6d 74 61 61 37 4f Br7E9KsRlOni27tyAsdLTmZw67mtaa7O
1a2ac0 4e 74 39 58 4f 6e 4d 4b 2b 70 55 73 76 46 72 47 65 61 44 73 47 62 36 35 39 6e 2f 6a 65 37 4d 77 Nt9XOnMK+pUsvFrGeaDsGb659n/je7Mw
1a2ae0 70 0a 70 35 69 6a 4a 55 4d 76 37 2f 46 66 4a 75 47 49 54 66 68 65 62 74 66 5a 46 47 34 5a 4d 32 p.p5ijJUMv7/FfJuGITfhebtfZFG4ZM2
1a2b00 6d 6e 4f 34 53 4a 6b 38 52 54 56 52 4f 68 55 58 68 41 2b 4c 6a 4a 6f 75 35 37 75 6c 4a 43 67 35 mnO4SJk8RTVROhUXhA+LjJou57ulJCg5
1a2b20 34 55 37 51 56 53 57 6c 6c 57 70 35 66 38 0a 6e 54 38 4b 4b 64 6a 63 54 35 45 4f 45 37 7a 65 6c 4U7QVSWllWp5f8.nT8KKdjcT5EOE7zel
1a2b40 61 54 66 69 35 6d 2b 72 4a 73 7a 69 4f 2b 31 67 61 38 62 78 69 4a 54 79 50 62 48 37 70 63 55 73 aTfi5m+rJsziO+1ga8bxiJTyPbH7pcUs
1a2b60 4d 56 38 65 46 4c 49 38 4d 35 75 64 32 43 45 70 75 6b 71 64 69 44 74 57 41 45 58 0a 4d 4a 50 70 MV8eFLI8M5ud2CEpukqdiDtWAEX.MJPp
1a2b80 47 6f 76 67 63 32 50 5a 61 70 4b 55 53 55 36 30 72 55 71 46 78 4b 4d 69 4d 50 77 4a 37 57 67 69 Govgc2PZapKUSU60rUqFxKMiMPwJ7Wgi
1a2ba0 63 36 61 49 44 46 55 68 57 4d 58 68 4f 70 38 71 33 63 72 68 6b 4f 44 5a 63 36 74 73 67 4c 6a 6f c6aIDFUhWMXhOp8q3crhkODZc6tsgLjo
1a2bc0 43 32 53 54 6f 4a 79 4d 0a 47 66 2b 7a 30 67 7a 73 6b 53 61 48 69 72 4f 69 34 58 43 50 4c 41 72 C2SToJyM.Gf+z0gzskSaHirOi4XCPLAr
1a2be0 6c 7a 57 31 6f 55 65 76 61 50 77 56 2f 69 7a 4c 6d 45 31 78 72 2f 6c 39 41 34 69 4c 49 74 4c 52 lzW1oUevaPwV/izLmE1xr/l9A4iLItLR
1a2c00 6b 54 39 61 36 66 55 67 2b 71 47 6b 4d 31 37 75 47 63 63 6c 7a 0a 75 44 38 37 6e 53 56 4c 32 76 kT9a6fUg+qGkM17uGcclz.uD87nSVL2v
1a2c20 39 41 36 77 49 44 41 51 41 42 6f 34 49 42 6c 54 43 43 41 5a 45 77 44 77 59 44 56 52 30 54 41 51 9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQ
1a2c40 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 42 34 51 59 44 56 52 30 67 42 49 48 5a 4d 49 48 57 4d 49 H/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMI
1a2c60 48 54 0a 42 67 6b 72 42 67 45 45 41 62 35 59 41 41 4d 77 67 63 55 77 67 5a 4d 47 43 43 73 47 41 HT.BgkrBgEEAb5YAAMwgcUwgZMGCCsGA
1a2c80 51 55 46 42 77 49 43 4d 49 47 47 47 6f 47 44 51 57 35 35 49 48 56 7a 5a 53 42 76 5a 69 42 30 61 QUFBwICMIGGGoGDQW55IHVzZSBvZiB0a
1a2ca0 47 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4e 76 62 6e 4e 30 61 58 52 31 GlzIENlcnRpZmlj.YXRlIGNvbnN0aXR1
1a2cc0 64 47 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 67 62 32 59 67 64 47 68 6c 49 46 46 31 dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1
1a2ce0 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 79 42 44 5a 58 4a 30 0a 61 57 5a b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0.aWZ
1a2d00 70 59 32 46 30 5a 53 42 51 62 32 78 70 59 33 6b 67 4c 79 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 pY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F
1a2d20 30 61 57 39 75 49 46 42 79 59 57 4e 30 61 57 4e 6c 49 46 4e 30 59 58 52 6c 62 57 56 75 64 43 34 0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4
1a2d40 77 4c 51 59 49 4b 77 59 42 0a 42 51 55 48 41 67 45 57 49 57 68 30 64 48 41 36 4c 79 39 33 64 33 wLQYIKwYB.BQUHAgEWIWh0dHA6Ly93d3
1a2d60 63 75 63 58 56 76 64 6d 46 6b 61 58 4e 6e 62 47 39 69 59 57 77 75 59 32 39 74 4c 32 4e 77 63 7a cucXVvdmFkaXNnbG9iYWwuY29tL2Nwcz
1a2d80 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 0a 56 52 30 4f 42 42 59 45 46 ALBgNVHQ8EBAMCAQYwHQYD.VR0OBBYEF
1a2da0 50 4c 41 45 2b 43 43 51 7a 37 37 37 69 39 6e 4d 70 59 31 58 4e 75 34 79 77 4c 51 4d 47 34 47 41 PLAE+CCQz777i9nMpY1XNu4ywLQMG4GA
1a2dc0 31 55 64 49 77 52 6e 4d 47 57 41 46 50 4c 41 45 2b 43 43 51 7a 37 37 37 69 39 6e 4d 70 59 31 58 1UdIwRnMGWAFPLAE+CCQz777i9nMpY1X
1a2de0 4e 75 34 0a 79 77 4c 51 6f 55 6d 6b 52 7a 42 46 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 43 Nu4.ywLQoUmkRzBFMQswCQYDVQQGEwJC
1a2e00 54 54 45 5a 4d 42 63 47 41 31 55 45 43 68 4d 51 55 58 56 76 56 6d 46 6b 61 58 4d 67 54 47 6c 74 TTEZMBcGA1UEChMQUXVvVmFkaXMgTGlt
1a2e20 61 58 52 6c 5a 44 45 62 4d 42 6b 47 41 31 55 45 0a 41 78 4d 53 55 58 56 76 56 6d 46 6b 61 58 4d aXRlZDEbMBkGA1UE.AxMSUXVvVmFkaXM
1a2e40 67 55 6d 39 76 64 43 42 44 51 53 41 7a 67 67 49 46 78 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 gUm9vdCBDQSAzggIFxjANBgkqhkiG9w0
1a2e60 42 41 51 55 46 41 41 4f 43 41 67 45 41 54 36 32 67 4c 45 7a 36 77 50 4a 76 39 32 5a 56 0a 71 79 BAQUFAAOCAgEAT62gLEz6wPJv92ZV.qy
1a2e80 4d 30 37 75 63 70 32 73 4e 62 74 72 43 44 32 64 44 51 34 69 48 37 38 32 43 6e 4f 31 31 67 55 79 M07ucp2sNbtrCD2dDQ4iH782CnO11gUy
1a2ea0 65 69 6d 2f 59 49 49 69 72 6e 76 36 42 79 35 5a 77 6b 61 6a 47 78 6b 48 6f 6e 32 34 51 52 69 53 eim/YIIirnv6By5ZwkajGxkHon24QRiS
1a2ec0 65 6d 64 31 6f 34 31 37 2b 73 0a 68 76 7a 75 58 59 4f 38 42 73 62 52 64 32 73 50 62 53 51 76 53 emd1o417+s.hvzuXYO8BsbRd2sPbSQvS
1a2ee0 33 70 73 70 77 65 57 79 75 4f 45 6e 36 32 49 69 78 32 72 46 6f 31 62 5a 68 66 5a 46 76 53 4c 67 3pspweWyuOEn62Iix2rFo1bZhfZFvSLg
1a2f00 4e 4c 64 2b 4c 4a 32 77 2f 77 34 45 36 6f 4d 33 6b 4a 70 4b 32 37 7a 0a 50 4f 75 41 4a 39 76 31 NLd+LJ2w/w4E6oM3kJpK27z.POuAJ9v1
1a2f20 70 6b 51 4e 6e 31 70 56 57 51 76 56 44 56 4a 49 78 61 36 66 38 69 2b 41 78 65 6f 79 55 44 55 53 pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUS
1a2f40 6c 79 37 42 34 66 2f 78 49 34 68 52 4f 4a 2f 79 5a 6c 5a 32 35 77 39 52 6c 36 56 53 44 45 31 4a ly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1J
1a2f60 55 5a 55 32 0a 50 62 2b 69 53 77 77 51 48 59 61 5a 54 4b 72 7a 63 68 47 54 35 4f 72 32 6d 39 71 UZU2.Pb+iSwwQHYaZTKrzchGT5Or2m9q
1a2f80 6f 58 61 64 4e 74 35 34 43 72 6e 4d 41 79 4e 6f 6a 41 2b 6a 35 36 68 6c 30 59 67 43 55 79 79 49 oXadNt54CrnMAyNojA+j56hl0YgCUyyI
1a2fa0 67 76 70 53 6e 57 62 57 43 61 72 36 5a 65 58 71 70 0a 38 6b 6f 6b 55 76 64 30 2f 62 70 4f 35 71 gvpSnWbWCar6ZeXqp.8kokUvd0/bpO5q
1a2fc0 67 64 41 6d 36 78 44 59 42 45 77 61 37 54 49 7a 64 66 75 34 56 38 4b 35 49 75 36 48 36 6c 69 39 gdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li9
1a2fe0 32 5a 34 62 38 6e 62 79 31 64 71 6e 75 48 2f 67 72 64 53 2f 79 4f 39 53 62 6b 62 6e 42 43 0a 62 2Z4b8nby1dqnuH/grdS/yO9SbkbnBC.b
1a3000 6a 50 73 4d 5a 35 37 6b 38 48 6b 79 57 6b 61 50 63 42 72 54 69 4a 74 37 71 74 59 54 63 62 51 51 jPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQ
1a3020 63 45 72 36 6b 38 53 68 31 37 72 52 64 68 73 39 5a 67 43 30 36 44 59 56 59 6f 47 6d 52 6d 69 6f cEr6k8Sh17rRdhs9ZgC06DYVYoGmRmio
1a3040 48 66 52 4d 4a 36 73 7a 48 58 75 0a 67 2f 57 77 59 6a 6e 50 62 46 66 69 54 4e 4b 52 43 77 35 31 HfRMJ6szHXu.g/WwYjnPbFfiTNKRCw51
1a3060 4b 42 75 61 76 2f 30 61 51 2f 48 4b 64 2f 73 37 6a 32 47 34 61 53 67 57 51 67 52 65 63 43 6f 63 KBuav/0aQ/HKd/s7j2G4aSgWQgRecCoc
1a3080 49 64 69 50 34 62 30 6a 57 79 31 30 51 4a 4c 5a 59 78 6b 4e 63 39 31 70 0a 76 47 4a 48 76 4f 42 IdiP4b0jWy10QJLZYxkNc91p.vGJHvOB
1a30a0 30 4b 37 4c 72 66 62 35 42 47 37 58 41 52 73 57 68 49 73 74 66 54 73 45 6f 6b 74 34 59 75 74 55 0K7Lrfb5BG7XARsWhIstfTsEokt4YutU
1a30c0 71 4b 4c 73 52 69 78 65 54 6d 4a 6c 67 6c 46 77 6a 7a 31 6f 6e 6c 31 34 4c 42 51 61 54 4e 78 34 qKLsRixeTmJlglFwjz1onl14LBQaTNx4
1a30e0 37 61 54 62 72 0a 71 5a 35 68 48 59 38 79 32 6f 34 4d 31 6e 51 2b 65 77 6b 6b 32 67 46 33 52 38 7aTbr.qZ5hHY8y2o4M1nQ+ewkk2gF3R8
1a3100 51 37 7a 54 53 4d 6d 66 58 4b 34 53 56 68 4d 37 4a 5a 47 2b 4a 75 31 7a 64 58 74 67 32 70 45 74 Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEt
1a3120 6f 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 o=.-----END.CERTIFICATE-----..Se
1a3140 63 75 72 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d curity.Communication.Root.CA.===
1a3160 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1a3180 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 57 6a 43 43 -BEGIN.CERTIFICATE-----.MIIDWjCC
1a31a0 41 6b 4b 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 AkKgAwIBAgIBADANBgkqhkiG9w0BAQUF
1a31c0 41 44 42 51 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 59 4d 42 59 47 41 31 55 45 ADBQMQswCQYDVQQGEwJKUDEYMBYGA1UE
1a31e0 43 68 4d 50 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d 56 30 4d 53 63 77 4a 51 59 ChMP.U0VDT00gVHJ1c3QubmV0MScwJQY
1a3200 44 56 51 51 4c 45 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 31 74 64 57 35 70 59 32 46 DVQQLEx5TZWN1cml0eSBDb21tdW5pY2F
1a3220 30 61 57 39 75 49 46 4a 76 62 33 52 44 51 54 45 77 0a 48 68 63 4e 4d 44 4d 77 4f 54 4d 77 4d 44 0aW9uIFJvb3RDQTEw.HhcNMDMwOTMwMD
1a3240 51 79 4d 44 51 35 57 68 63 4e 4d 6a 4d 77 4f 54 4d 77 4d 44 51 79 4d 44 51 35 57 6a 42 51 4d 51 QyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQ
1a3260 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 0a 55 swCQYDVQQGEwJKUDEYMBYGA1UEChMP.U
1a3280 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d 56 30 4d 53 63 77 4a 51 59 44 56 51 51 4c 45 0VDT00gVHJ1c3QubmV0MScwJQYDVQQLE
1a32a0 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 31 74 64 57 35 70 59 32 46 30 61 57 39 75 49 x5TZWN1cml0eSBDb21tdW5pY2F0aW9uI
1a32c0 46 4a 76 62 33 52 44 51 54 45 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 FJvb3RDQTEw.ggEiMA0GCSqGSIb3DQEB
1a32e0 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 7a 73 2f 35 2f 30 32 32 78 AQUAA4IBDwAwggEKAoIBAQCzs/5/022x
1a3300 37 78 5a 38 56 36 55 4d 62 58 61 4b 4c 30 75 2f 5a 50 74 4d 37 6f 72 77 0a 38 79 6c 38 39 66 2f 7xZ8V6UMbXaKL0u/ZPtM7orw.8yl89f/
1a3320 75 4b 75 44 70 36 62 70 62 5a 43 4b 61 6d 6d 38 73 4f 69 5a 70 55 51 57 5a 4a 74 7a 56 48 47 70 uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGp
1a3340 78 78 70 70 39 48 70 33 64 66 47 7a 47 6a 47 64 6e 53 6a 37 34 63 62 41 5a 4a 36 6b 4a 44 4b 61 xxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKa
1a3360 56 76 30 75 4d 0a 44 50 70 56 6d 44 76 59 36 43 4b 68 53 33 45 34 65 61 79 58 6b 6d 6d 7a 69 58 Vv0uM.DPpVmDvY6CKhS3E4eayXkmmziX
1a3380 37 71 49 57 67 47 6d 42 53 57 68 39 4a 68 4e 72 78 74 4a 31 61 65 56 2b 37 41 77 46 62 39 4d 73 7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms
1a33a0 2b 6b 32 59 37 43 49 39 65 4e 71 50 50 59 4a 61 79 58 0a 35 48 41 34 39 4c 59 36 74 4a 30 37 6c +k2Y7CI9eNqPPYJayX.5HA49LY6tJ07l
1a33c0 79 5a 44 6f 36 47 38 53 56 6c 79 54 43 4d 77 68 77 46 59 39 6b 36 2b 48 47 68 57 5a 71 2f 4e 51 yZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQ
1a33e0 56 33 49 73 30 30 71 56 55 61 72 48 39 6f 65 34 6b 41 39 32 38 31 39 75 5a 4b 41 6e 44 66 64 0a V3Is00qVUarH9oe4kA92819uZKAnDfd.
1a3400 44 4a 5a 6b 6e 64 77 69 39 32 53 4c 33 32 48 65 46 5a 52 53 46 61 42 39 55 73 6c 4c 71 43 48 4a DJZkndwi92SL32HeFZRSFaB9UslLqCHJ
1a3420 78 72 48 74 79 38 4f 56 59 4e 45 50 38 4b 74 77 2b 4e 2f 4c 54 58 37 73 31 76 71 72 32 62 31 2f xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/
1a3440 56 50 4b 6c 36 58 6e 36 32 64 5a 32 0a 4a 43 68 7a 41 67 4d 42 41 41 47 6a 50 7a 41 39 4d 42 30 VPKl6Xn62dZ2.JChzAgMBAAGjPzA9MB0
1a3460 47 41 31 55 64 44 67 51 57 42 42 53 67 63 30 6d 5a 61 4e 79 46 57 32 58 6a 6d 79 67 76 56 35 2b GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+
1a3480 39 4d 37 77 48 53 44 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 59 77 0a 44 77 59 44 56 52 9M7wHSDALBgNVHQ8EBAMCAQYw.DwYDVR
1a34a0 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQ
1a34c0 55 46 41 41 4f 43 41 51 45 41 61 45 43 70 71 4c 76 6b 54 31 31 35 73 77 57 31 46 37 4e 67 45 2b UFAAOCAQEAaECpqLvkT115swW1F7NgE+
1a34e0 76 47 6b 6c 33 67 0a 30 64 4e 71 2f 76 75 2b 6d 32 32 2f 78 77 56 74 57 53 44 45 48 50 43 33 32 vGkl3g.0dNq/vu+m22/xwVtWSDEHPC32
1a3500 6f 52 59 41 6d 50 36 53 42 62 76 54 36 55 4c 39 30 71 59 38 6a 2b 65 47 36 31 48 61 32 50 4f 43 oRYAmP6SBbvT6UL90qY8j+eG61Ha2POC
1a3520 45 66 72 55 6a 39 34 6e 4b 39 4e 72 76 6a 56 54 38 2b 61 0a 6d 43 6f 51 51 54 6c 53 78 4e 33 5a EfrUj94nK9NrvjVT8+a.mCoQQTlSxN3Z
1a3540 6d 77 37 76 6b 77 47 75 73 69 37 4b 61 45 49 6b 51 6d 79 77 73 7a 6f 2b 7a 65 6e 61 53 4d 51 56 mw7vkwGusi7KaEIkQmywszo+zenaSMQV
1a3560 79 2b 6e 35 42 77 2b 53 55 45 6d 4b 33 54 47 58 58 38 6e 70 4e 36 6f 37 57 57 57 58 6c 44 4c 4a y+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
1a3580 0a 73 35 38 2b 4f 6d 4a 59 78 55 6d 74 59 67 35 78 70 54 4b 71 4c 38 61 4a 64 6b 4e 41 45 78 4e .s58+OmJYxUmtYg5xpTKqL8aJdkNAExN
1a35a0 6e 50 61 4a 55 4a 52 44 4c 38 54 72 79 32 66 72 62 53 56 61 37 70 76 36 6e 51 54 58 44 34 49 68 nPaJUJRDL8Try2frbSVa7pv6nQTXD4Ih
1a35c0 68 79 59 6a 48 33 7a 59 51 49 70 68 5a 0a 36 72 42 4b 2b 31 59 57 63 32 36 73 54 66 63 69 6f 55 hyYjH3zYQIphZ.6rBK+1YWc26sTfcioU
1a35e0 2b 74 48 58 6f 74 52 53 66 6c 4d 4d 46 65 38 74 6f 54 79 79 56 43 55 5a 56 48 41 34 78 73 49 63 +tHXotRSflMMFe8toTyyVCUZVHA4xsIc
1a3600 78 30 51 75 31 54 2f 7a 4f 4c 6a 77 39 58 41 52 59 76 7a 36 62 75 79 58 41 69 0a 46 4c 33 39 76 x0Qu1T/zOLjw9XARYvz6buyXAi.FL39v
1a3620 6d 77 4c 41 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d mwLAw==.-----END.CERTIFICATE----
1a3640 2d 0a 0a 53 6f 6e 65 72 61 20 43 6c 61 73 73 20 32 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d -..Sonera.Class.2.Root.CA.======
1a3660 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a3680 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 49 44 43 43 41 67 69 67 41 77 49 42 41 67 49 IFICATE-----.MIIDIDCCAgigAwIBAgI
1a36a0 42 48 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 35 4d 51 73 77 43 51 59 BHTANBgkqhkiG9w0BAQUFADA5MQswCQY
1a36c0 44 56 51 51 47 45 77 4a 47 53 54 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 0a 55 32 39 75 5a 58 DVQQGEwJGSTEPMA0GA1UEChMG.U29uZX
1a36e0 4a 68 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 54 62 32 35 6c 63 6d 45 67 51 32 78 68 63 33 JhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3
1a3700 4d 79 49 45 4e 42 4d 42 34 58 44 54 41 78 4d 44 51 77 4e 6a 41 33 4d 6a 6b 30 4d 46 6f 58 44 54 MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDT
1a3720 49 78 4d 44 51 77 0a 4e 6a 41 33 4d 6a 6b 30 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 IxMDQw.NjA3Mjk0MFowOTELMAkGA1UEB
1a3740 68 4d 43 52 6b 6b 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6c 4e 76 62 6d 56 79 59 54 45 5a 4d hMCRkkxDzANBgNVBAoTBlNvbmVyYTEZM
1a3760 42 63 47 41 31 55 45 41 78 4d 51 55 32 39 75 5a 58 4a 68 0a 49 45 4e 73 59 58 4e 7a 4d 69 42 44 BcGA1UEAxMQU29uZXJh.IENsYXNzMiBD
1a3780 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 QTCCASIwDQYJKoZIhvcNAQEBBQADggEP
1a37a0 41 44 43 43 41 51 6f 43 67 67 45 42 41 4a 41 58 53 6a 57 64 79 76 41 4e 6c 73 64 45 2b 68 59 33 ADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
1a37c0 0a 2f 45 69 39 76 58 2b 41 4c 54 55 37 34 57 2b 6f 5a 36 6d 2f 41 78 78 4e 6a 47 38 79 52 39 56 ./Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9V
1a37e0 42 61 4b 51 54 42 4d 45 31 44 4a 71 45 51 2f 78 63 48 66 2b 4a 73 2b 67 58 47 4d 32 52 58 2f 75 BaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/u
1a3800 4a 34 2b 71 2f 54 6c 31 38 47 79 62 54 0a 64 58 6e 74 35 6f 54 6a 56 2b 57 74 4b 63 54 30 4f 69 J4+q/Tl18GybT.dXnt5oTjV+WtKcT0Oi
1a3820 6a 6e 70 58 75 45 4e 6d 6d 7a 2f 56 35 32 76 61 4d 74 6d 64 4f 51 54 69 4d 6f 66 52 68 6a 38 56 jnpXuENmmz/V52vaMtmdOQTiMofRhj8V
1a3840 51 37 4a 70 31 32 57 35 64 43 73 76 2b 75 38 45 37 73 33 54 6d 56 54 6f 4d 47 0a 66 2b 64 4a 51 Q7Jp12W5dCsv+u8E7s3TmVToMG.f+dJQ
1a3860 4d 6a 46 41 62 4a 55 57 6d 59 64 50 66 7a 35 36 54 77 4b 6e 6f 47 34 63 50 41 42 69 2b 51 6a 56 MjFAbJUWmYdPfz56TwKnoG4cPABi+QjV
1a3880 48 7a 49 72 76 69 51 48 67 43 57 63 74 52 55 7a 32 45 6a 76 4f 72 37 6e 51 4b 56 30 62 61 35 63 HzIrviQHgCWctRUz2EjvOr7nQKV0ba5c
1a38a0 54 70 70 43 44 38 50 0a 74 4f 46 43 78 34 6a 31 50 35 69 6f 70 37 6f 63 34 48 46 78 37 31 68 58 TppCD8P.tOFCx4j1P5iop7oc4HFx71hX
1a38c0 67 56 42 36 58 47 74 30 52 67 36 44 41 35 6a 44 6a 71 68 75 38 6e 59 79 62 69 65 44 77 6e 50 7a gVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz
1a38e0 33 42 6a 6f 74 4a 50 71 64 55 52 72 42 47 41 67 63 56 65 48 0a 6e 66 4f 2b 6f 4a 41 6a 50 59 6f 3BjotJPqdURrBGAgcVeH.nfO+oJAjPYo
1a3900 6b 34 64 6f 68 32 38 4d 43 41 77 45 41 41 61 4d 7a 4d 44 45 77 44 77 59 44 56 52 30 54 41 51 48 k4doh28MCAwEAAaMzMDEwDwYDVR0TAQH
1a3920 2f 42 41 55 77 41 77 45 42 2f 7a 41 52 42 67 4e 56 48 51 34 45 43 67 51 49 53 71 43 71 57 49 54 /BAUwAwEB/zARBgNVHQ4ECgQISqCqWIT
1a3940 54 0a 58 6a 77 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 53 49 T.XjwwCwYDVR0PBAQDAgEGMA0GCSqGSI
1a3960 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 42 61 7a 6f 66 35 46 6e 49 56 56 30 73 64 32 5a b3DQEBBQUAA4IBAQBazof5FnIVV0sd2Z
1a3980 76 6e 6f 69 59 77 37 4a 4e 6e 33 39 59 74 0a 30 6a 53 76 39 7a 69 6c 7a 71 73 57 75 61 73 76 66 vnoiYw7JNn39Yt.0jSv9zilzqsWuasvf
1a39a0 44 58 4c 72 4e 41 50 74 45 77 72 2f 49 44 76 61 34 79 52 58 7a 5a 32 39 39 75 7a 47 78 6e 71 39 DXLrNAPtEwr/IDva4yRXzZ299uzGxnq9
1a39c0 4c 49 52 2f 57 46 78 52 4c 38 6f 73 7a 6f 64 76 37 4e 44 36 4a 2b 2f 33 44 45 49 0a 63 62 43 64 LIR/WFxRL8oszodv7ND6J+/3DEI.cbCd
1a39e0 6a 64 59 30 52 7a 4b 51 78 6d 55 6b 39 36 42 4b 66 41 52 7a 6a 7a 6c 76 46 34 78 79 74 62 31 4c jdY0RzKQxmUk96BKfARzjzlvF4xytb1L
1a3a00 79 48 72 34 65 34 50 44 4b 45 36 63 43 65 70 6e 50 37 4a 6e 42 42 76 44 46 4e 72 34 35 30 6b 6b yHr4e4PDKE6cCepnP7JnBBvDFNr450kk
1a3a20 6b 64 41 64 61 76 70 68 0a 4f 65 39 72 35 79 46 31 42 67 66 59 45 72 51 68 49 48 42 43 63 59 48 kdAdavph.Oe9r5yF1BgfYErQhIHBCcYH
1a3a40 61 50 4a 6f 32 76 71 5a 62 44 57 70 73 6d 68 2b 52 65 2f 6e 35 37 30 4b 36 54 6b 36 65 7a 41 79 aPJo2vqZbDWpsmh+Re/n570K6Tk6ezAy
1a3a60 4e 6c 4e 7a 5a 52 5a 78 65 37 45 4a 51 59 36 37 30 58 63 53 78 0a 45 74 7a 4b 4f 36 67 75 6e 52 NlNzZRZxe7EJQY670XcSx.EtzKO6gunR
1a3a80 52 61 42 58 57 33 37 4e 64 6a 34 72 6f 31 74 67 51 49 6b 65 6a 61 6e 5a 7a 32 5a 72 55 59 72 41 RaBXW37Ndj4ro1tgQIkejanZz2ZrUYrA
1a3aa0 71 6d 56 43 59 30 4d 39 49 62 77 64 52 2f 47 6a 71 4f 43 36 6f 79 62 74 76 38 54 79 57 66 32 54 qmVCY0M9IbwdR/GjqOC6oybtv8TyWf2T
1a3ac0 4c 48 0a 6c 6c 70 77 72 4e 39 4d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 LH.llpwrN9M.-----END.CERTIFICATE
1a3ae0 2d 2d 2d 2d 2d 0a 0a 58 52 61 6d 70 20 47 6c 6f 62 61 6c 20 43 41 20 52 6f 6f 74 0a 3d 3d 3d 3d -----..XRamp.Global.CA.Root.====
1a3b00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a3b20 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 44 43 43 41 78 69 67 41 77 49 42 41 67 49 IFICATE-----.MIIEMDCCAxigAwIBAgI
1a3b40 51 55 4a 52 73 37 42 6a 71 31 5a 78 4e 31 5a 66 76 64 59 2b 67 72 54 41 4e 42 67 6b 71 68 6b 69 QUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhki
1a3b60 47 39 77 30 42 41 51 55 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 G9w0BAQUFADCBgjELMAkGA1UE.BhMCVV
1a3b80 4d 78 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 6d 46 74 63 48 4e 6c 59 33 MxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3
1a3ba0 56 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 57 46 4a 68 62 58 VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbX
1a3bc0 41 67 55 32 56 6a 0a 64 58 4a 70 64 48 6b 67 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 53 57 35 6a 4d AgU2Vj.dXJpdHkgU2VydmljZXMgSW5jM
1a3be0 53 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 62 47 39 69 59 57 77 67 51 S0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ
1a3c00 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 77 2VydGlmaWNhdGlvbiBB.dXRob3JpdHkw
1a3c20 48 68 63 4e 4d 44 51 78 4d 54 41 78 4d 54 63 78 4e 44 41 30 57 68 63 4e 4d 7a 55 77 4d 54 41 78 HhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAx
1a3c40 4d 44 55 7a 4e 7a 45 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 MDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
1a3c60 0a 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 6d 46 74 63 48 4e 6c 59 33 56 .HjAcBgNVBAsTFXd3dy54cmFtcHNlY3V
1a3c80 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 57 46 4a 68 62 58 41 yaXR5LmNvbTEkMCIGA1UEChMbWFJhbXA
1a3ca0 67 55 32 56 6a 64 58 4a 70 64 48 6b 67 0a 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 53 57 35 6a 4d 53 gU2VjdXJpdHkg.U2VydmljZXMgSW5jMS
1a3cc0 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 62 47 39 69 59 57 77 67 51 32 0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2
1a3ce0 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 0a 64 48 6b 77 67 VydGlmaWNhdGlvbiBBdXRob3Jp.dHkwg
1a3d00 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 gEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwg
1a3d20 67 45 4b 41 6f 49 42 41 51 43 59 4a 42 36 39 46 62 53 36 33 38 65 4d 70 53 65 32 4f 41 74 70 38 gEKAoIBAQCYJB69FbS638eMpSe2OAtp8
1a3d40 37 5a 4f 71 43 77 75 0a 49 52 31 63 52 4e 38 68 58 58 34 6a 64 50 35 65 66 72 52 4b 74 36 61 74 7ZOqCwu.IR1cRN8hXX4jdP5efrRKt6at
1a3d60 48 36 37 67 42 68 62 69 6d 31 76 5a 5a 33 52 72 58 59 43 50 4b 5a 32 47 47 39 6d 63 44 5a 68 74 H67gBhbim1vZZ3RrXYCPKZ2GG9mcDZht
1a3d80 64 68 41 6f 57 4f 52 6c 73 48 39 4b 6d 48 6d 66 34 4d 4d 78 0a 66 6f 41 72 74 59 7a 41 51 44 73 dhAoWORlsH9KmHmf4MMx.foArtYzAQDs
1a3da0 52 68 74 44 4c 6f 6f 59 32 59 4b 54 56 4d 49 4a 74 32 57 37 51 44 78 49 45 4d 35 64 66 54 32 46 RhtDLooY2YKTVMIJt2W7QDxIEM5dfT2F
1a3dc0 61 38 4f 54 35 6b 61 76 6e 48 54 75 38 36 4d 2f 30 61 79 30 30 66 4f 4a 49 59 52 79 4f 38 32 46 a8OT5kavnHTu86M/0ay00fOJIYRyO82F
1a3de0 45 0a 7a 47 2b 67 53 71 6d 55 73 45 33 61 35 36 6b 30 65 6e 49 34 71 45 48 4d 50 4a 51 52 66 65 E.zG+gSqmUsE3a56k0enI4qEHMPJQRfe
1a3e00 76 49 70 6f 79 33 68 73 76 4b 4d 7a 76 5a 50 54 65 4c 2b 33 6f 2b 68 69 7a 6e 63 39 63 4b 56 36 vIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6
1a3e20 78 6b 6d 78 6e 72 39 41 38 45 43 49 71 73 0a 41 78 63 5a 5a 50 52 61 4a 53 4b 4e 4e 43 79 79 39 xkmxnr9A8ECIqs.AxcZZPRaJSKNNCyy9
1a3e40 6d 67 64 45 6d 33 54 69 68 34 55 32 73 53 50 70 75 49 6a 68 64 56 36 44 62 31 71 34 4f 6e 73 37 mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7
1a3e60 42 65 37 51 68 74 6e 71 69 58 74 52 59 4d 68 2f 4d 48 4a 66 4e 56 69 50 76 72 79 0a 78 53 33 54 Be7QhtnqiXtRYMh/MHJfNViPvry.xS3T
1a3e80 2f 64 52 6c 41 67 4d 42 41 41 47 6a 67 5a 38 77 67 5a 77 77 45 77 59 4a 4b 77 59 42 42 41 47 43 /dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGC
1a3ea0 4e 78 51 43 42 41 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 47 47 NxQCBAYeBABDAEEwCwYDVR0PBAQDAgGG
1a3ec0 4d 41 38 47 41 31 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 MA8GA1Ud.EwEB/wQFMAMBAf8wHQYDVR0
1a3ee0 4f 42 42 59 45 46 4d 5a 50 6f 6a 30 47 59 34 51 4a 6e 4d 35 69 35 41 53 73 6a 56 79 31 36 62 59 OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bY
1a3f00 62 4d 44 59 47 41 31 55 64 48 77 51 76 4d 43 30 77 4b 36 41 70 0a 6f 43 65 47 4a 57 68 30 64 48 bMDYGA1UdHwQvMC0wK6Ap.oCeGJWh0dH
1a3f20 41 36 4c 79 39 6a 63 6d 77 75 65 48 4a 68 62 58 42 7a 5a 57 4e 31 63 6d 6c 30 65 53 35 6a 62 32 A6Ly9jcmwueHJhbXBzZWN1cml0eS5jb2
1a3f40 30 76 57 45 64 44 51 53 35 6a 63 6d 77 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 0vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBA
1a3f60 4d 43 0a 41 51 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 MC.AQEwDQYJKoZIhvcNAQEFBQADggEBA
1a3f80 4a 45 56 4f 51 4d 42 47 32 66 37 53 68 7a 35 43 6d 42 62 6f 64 70 4e 6c 32 4c 35 4a 46 4d 6e 31 JEVOQMBG2f7Shz5CmBbodpNl2L5JFMn1
1a3fa0 34 4a 6b 54 70 41 75 77 30 6b 62 4b 35 72 63 0a 2f 4b 68 34 5a 7a 58 78 48 66 41 52 76 62 64 49 4JkTpAuw0kbK5rc./Kh4ZzXxHfARvbdI
1a3fc0 34 78 44 32 44 64 38 2f 30 73 6d 32 71 6c 57 6b 53 4c 6f 43 32 39 35 5a 4c 68 56 62 4f 35 30 57 4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50W
1a3fe0 66 55 66 58 4e 2b 70 66 54 58 59 53 4e 72 73 66 31 36 47 42 42 45 59 67 6f 79 78 74 0a 71 5a 34 fUfXN+pfTXYSNrsf16GBBEYgoyxt.qZ4
1a4000 42 66 6a 38 70 7a 67 43 54 33 2f 33 4a 6b 6e 4f 4a 69 57 53 65 35 79 76 6b 48 4a 45 73 30 72 6e Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rn
1a4020 4f 66 63 35 76 4d 5a 6e 54 35 72 37 53 48 70 44 77 43 52 52 35 58 43 4f 72 54 64 4c 61 49 52 39 Ofc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9
1a4040 4e 6d 58 6d 64 34 63 38 6e 0a 6e 78 43 62 48 49 67 4e 73 49 70 6b 51 54 47 34 44 6d 79 51 4a 4b NmXmd4c8n.nxCbHIgNsIpkQTG4DmyQJK
1a4060 53 62 58 48 47 50 75 72 74 2b 48 42 76 62 61 6f 41 50 49 62 7a 70 32 36 61 33 51 50 53 79 69 36 SbXHGPurt+HBvbaoAPIbzp26a3QPSyi6
1a4080 6d 78 35 4f 2b 61 47 74 41 39 61 5a 6e 75 71 43 69 6a 34 54 79 7a 0a 38 4c 49 52 6e 4d 39 38 51 mx5O+aGtA9aZnuqCij4Tyz.8LIRnM98Q
1a40a0 4f 62 64 35 30 4e 39 6f 74 67 36 74 61 6d 4e 38 6a 53 5a 78 4e 51 51 34 51 62 39 43 59 51 51 4f Obd50N9otg6tamN8jSZxNQQ4Qb9CYQQO
1a40c0 2b 37 45 54 50 54 73 4a 33 78 43 77 6e 52 38 67 6f 6f 4a 79 62 51 44 4a 62 77 3d 0a 2d 2d 2d 2d +7ETPTsJ3xCwnR8gooJybQDJbw=.----
1a40e0 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6f 20 44 61 64 64 79 20 -END.CERTIFICATE-----..Go.Daddy.
1a4100 43 6c 61 73 73 20 32 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d Class.2.CA.===================.-
1a4120 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 41 ----BEGIN.CERTIFICATE-----.MIIEA
1a4140 44 43 43 41 75 69 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 DCCAuigAwIBAgIBADANBgkqhkiG9w0BA
1a4160 51 55 46 41 44 42 6a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 QUFADBjMQswCQYDVQQGEwJVUzEhMB8GA
1a4180 31 55 45 43 68 4d 59 0a 56 47 68 6c 49 45 64 76 49 45 52 68 5a 47 52 35 49 45 64 79 62 33 56 77 1UEChMY.VGhlIEdvIERhZGR5IEdyb3Vw
1a41a0 4c 43 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 4c 45 79 68 48 62 79 42 45 59 57 52 6b LCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRk
1a41c0 65 53 42 44 62 47 46 7a 63 79 41 79 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 70 62 32 34 eSBDbGFzcyAyIENlcnRp.ZmljYXRpb24
1a41e0 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 30 4d 44 59 79 4f 54 45 33 4d 44 59 gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDY
1a4200 79 4d 46 6f 58 44 54 4d 30 4d 44 59 79 4f 54 45 33 4d 44 59 79 4d 46 6f 77 59 7a 45 4c 4d 41 6b yMFoXDTM0MDYyOTE3MDYyMFowYzELMAk
1a4220 47 0a 41 31 55 45 42 68 4d 43 56 56 4d 78 49 54 41 66 42 67 4e 56 42 41 6f 54 47 46 52 6f 5a 53 G.A1UEBhMCVVMxITAfBgNVBAoTGFRoZS
1a4240 42 48 62 79 42 45 59 57 52 6b 65 53 42 48 63 6d 39 31 63 43 77 67 53 57 35 6a 4c 6a 45 78 4d 43 BHbyBEYWRkeSBHcm91cCwgSW5jLjExMC
1a4260 38 47 41 31 55 45 43 78 4d 6f 52 32 38 67 0a 52 47 46 6b 5a 48 6b 67 51 32 78 68 63 33 4d 67 4d 8GA1UECxMoR28g.RGFkZHkgQ2xhc3MgM
1a4280 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 iBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0e
1a42a0 54 43 43 41 53 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 45 4e TCCASAwDQYJKoZIhvcNAQEBBQAD.ggEN
1a42c0 41 44 43 43 41 51 67 43 67 67 45 42 41 4e 36 64 31 2b 70 58 47 45 6d 68 57 2b 76 58 58 30 69 47 ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG
1a42e0 36 72 37 64 2f 2b 54 76 5a 78 7a 30 5a 57 69 7a 56 33 47 67 58 6e 65 37 37 5a 74 4a 36 58 43 41 6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
1a4300 50 56 59 59 59 77 68 76 0a 32 76 4c 4d 30 44 39 2f 41 6c 51 69 56 42 44 59 73 6f 48 55 77 48 55 PVYYYwhv.2vLM0D9/AlQiVBDYsoHUwHU
1a4320 39 53 33 2f 48 64 38 4d 2b 65 4b 73 61 41 37 55 67 61 79 39 71 4b 37 48 46 69 48 37 45 75 78 36 9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6
1a4340 77 77 64 68 46 4a 32 2b 71 4e 31 6a 33 68 79 62 58 32 43 33 32 0a 71 52 65 33 48 33 49 32 54 71 wwdhFJ2+qN1j3hybX2C32.qRe3H3I2Tq
1a4360 59 58 50 32 57 59 6b 74 73 71 62 6c 32 69 2f 6f 6a 67 43 39 35 2f 35 59 30 56 34 65 76 4c 4f 74 YXP2WYktsqbl2i/ojgC95/5Y0V4evLOt
1a4380 58 69 45 71 49 54 4c 64 69 4f 72 31 38 53 50 61 41 49 42 51 69 32 58 4b 56 6c 4f 41 52 46 6d 52 XiEqITLdiOr18SPaAIBQi2XKVlOARFmR
1a43a0 36 6a 0a 59 47 42 30 78 55 47 6c 63 6d 49 62 59 73 55 66 62 31 38 61 51 72 34 43 55 57 57 6f 72 6j.YGB0xUGlcmIbYsUfb18aQr4CUWWor
1a43c0 69 4d 59 61 76 78 34 41 36 6c 4e 66 34 44 44 2b 71 74 61 2f 4b 46 41 70 4d 6f 5a 46 76 36 79 79 iMYavx4A6lNf4DD+qta/KFApMoZFv6yy
1a43e0 4f 39 65 63 77 33 75 64 37 32 61 39 6e 6d 59 0a 76 4c 45 48 5a 36 49 56 44 64 32 67 57 4d 5a 45 O9ecw3ud72a9nmY.vLEHZ6IVDd2gWMZE
1a4400 65 77 6f 2b 59 69 68 66 75 6b 45 48 55 31 6a 50 45 58 34 34 64 4d 58 34 2f 37 56 70 6b 49 2b 45 ewo+YihfukEHU1jPEX44dMX4/7VpkI+E
1a4420 64 4f 71 58 47 36 38 43 41 51 4f 6a 67 63 41 77 67 62 30 77 48 51 59 44 56 52 30 4f 0a 42 42 59 dOqXG68CAQOjgcAwgb0wHQYDVR0O.BBY
1a4440 45 46 4e 4c 45 73 4e 4b 52 31 45 77 52 63 62 4e 68 79 7a 32 68 2f 74 32 6f 61 74 54 6a 4d 49 47 EFNLEsNKR1EwRcbNhyz2h/t2oatTjMIG
1a4460 4e 42 67 4e 56 48 53 4d 45 67 59 55 77 67 59 4b 41 46 4e 4c 45 73 4e 4b 52 31 45 77 52 63 62 4e NBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbN
1a4480 68 79 7a 32 68 2f 74 32 6f 0a 61 74 54 6a 6f 57 65 6b 5a 54 42 6a 4d 51 73 77 43 51 59 44 56 51 hyz2h/t2o.atTjoWekZTBjMQswCQYDVQ
1a44a0 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 56 47 68 6c 49 45 64 76 49 45 QGEwJVUzEhMB8GA1UEChMYVGhlIEdvIE
1a44c0 52 68 5a 47 52 35 49 45 64 79 62 33 56 77 4c 43 42 4a 62 6d 4d 75 0a 4d 54 45 77 4c 77 59 44 56 RhZGR5IEdyb3VwLCBJbmMu.MTEwLwYDV
1a44e0 51 51 4c 45 79 68 48 62 79 42 45 59 57 52 6b 65 53 42 44 62 47 46 7a 63 79 41 79 49 45 4e 6c 63 QQLEyhHbyBEYWRkeSBDbGFzcyAyIENlc
1a4500 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 67 67 45 41 4d nRpZmljYXRpb24gQXV0aG9yaXR5ggEAM
1a4520 41 77 47 0a 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e AwG.A1UdEwQFMAMBAf8wDQYJKoZIhvcN
1a4540 41 51 45 46 42 51 41 44 67 67 45 42 41 44 4a 4c 38 37 4c 4b 50 70 48 38 45 73 61 68 42 34 79 4f AQEFBQADggEBADJL87LKPpH8EsahB4yO
1a4560 64 36 41 7a 42 68 52 63 6b 42 34 59 39 77 69 6d 0a 50 51 6f 5a 2b 59 65 41 45 57 35 70 35 4a 59 d6AzBhRckB4Y9wim.PQoZ+YeAEW5p5JY
1a4580 58 4d 50 38 30 6b 57 4e 79 4f 4f 37 4d 48 41 47 6a 48 5a 51 6f 70 44 48 32 65 73 52 55 31 2f 62 XMP80kWNyOO7MHAGjHZQopDH2esRU1/b
1a45a0 6c 4d 56 67 44 6f 73 7a 4f 59 74 75 55 52 58 4f 31 76 30 58 4a 4a 4c 58 56 67 67 4b 74 0a 49 33 lMVgDoszOYtuURXO1v0XJJLXVggKt.I3
1a45c0 6c 70 6a 62 69 32 54 63 37 50 54 4d 6f 7a 49 2b 67 63 69 4b 71 64 69 30 46 75 46 73 6b 67 35 59 lpjbi2Tc7PTMozI+gciKqdi0FuFskg5Y
1a45e0 6d 65 7a 54 76 61 63 50 64 2b 6d 53 59 67 46 46 51 6c 71 32 35 7a 68 65 61 62 49 5a 30 4b 62 49 mezTvacPd+mSYgFFQlq25zheabIZ0KbI
1a4600 49 4f 71 50 6a 43 44 50 6f 51 0a 48 6d 79 57 37 34 63 4e 78 41 39 68 69 36 33 75 67 79 75 56 2b IOqPjCDPoQ.HmyW74cNxA9hi63ugyuV+
1a4620 49 36 53 68 48 49 35 36 79 44 71 67 2b 32 44 7a 5a 64 75 43 4c 7a 72 54 69 61 32 63 79 76 6b 30 I6ShHI56yDqg+2DzZduCLzrTia2cyvk0
1a4640 2f 5a 4d 2f 69 5a 78 34 6d 45 52 64 45 72 2f 56 78 71 48 44 33 56 49 0a 4c 73 39 52 61 52 65 67 /ZM/iZx4mERdEr/VxqHD3VI.Ls9RaReg
1a4660 41 68 4a 68 6c 64 58 52 51 4c 49 51 54 4f 37 45 72 42 42 44 70 71 57 65 43 74 57 56 59 70 6f 4e AhJhldXRQLIQTO7ErBBDpqWeCtWVYpoN
1a4680 7a 34 69 43 78 54 49 4d 35 43 75 66 52 65 59 4e 6e 79 69 63 73 62 6b 71 57 6c 65 74 4e 77 2b 76 z4iCxTIM5CufReYNnyicsbkqWletNw+v
1a46a0 48 58 2f 62 0a 76 5a 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d HX/b.vZ8=.-----END.CERTIFICATE--
1a46c0 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 43 6c 61 73 73 20 32 20 43 41 0a 3d 3d 3d 3d 3d 3d ---..Starfield.Class.2.CA.======
1a46e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1a4700 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 44 7a 43 43 41 76 65 67 41 77 49 42 41 67 49 42 41 ICATE-----.MIIEDzCCAvegAwIBAgIBA
1a4720 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6f 4d 51 73 77 43 51 59 44 56 DANBgkqhkiG9w0BAQUFADBoMQswCQYDV
1a4740 51 51 47 45 77 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 0a 55 33 52 68 63 6d 5a 70 QQGEwJVUzElMCMGA1UEChMc.U3RhcmZp
1a4760 5a 57 78 6b 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 67 53 57 35 6a 4c 6a 45 79 ZWxkIFRlY2hub2xvZ2llcywgSW5jLjEy
1a4780 4d 44 41 47 41 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 45 4e 73 59 58 4e 7a MDAGA1UECxMpU3RhcmZpZWxkIENsYXNz
1a47a0 49 44 49 67 0a 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a IDIg.Q2VydGlmaWNhdGlvbiBBdXRob3J
1a47c0 70 64 48 6b 77 48 68 63 4e 4d 44 51 77 4e 6a 49 35 4d 54 63 7a 4f 54 45 32 57 68 63 4e 4d 7a 51 pdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQ
1a47e0 77 4e 6a 49 35 4d 54 63 7a 4f 54 45 32 57 6a 42 6f 0a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 wNjI5MTczOTE2WjBo.MQswCQYDVQQGEw
1a4800 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 46 JVUzElMCMGA1UEChMcU3RhcmZpZWxkIF
1a4820 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 67 53 57 35 6a 4c 6a 45 79 4d 44 41 47 0a 41 RlY2hub2xvZ2llcywgSW5jLjEyMDAG.A
1a4840 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 45 4e 73 59 58 4e 7a 49 44 49 67 51 1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ
1a4860 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 2VydGlmaWNhdGlvbiBBdXRob3JpdHkwg
1a4880 67 45 67 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 51 41 77 gEgMA0GCSqG.SIb3DQEBAQUAA4IBDQAw
1a48a0 67 67 45 49 41 6f 49 42 41 51 43 33 4d 73 6a 2b 36 58 47 6d 42 49 57 74 44 42 46 6b 33 38 35 4e ggEIAoIBAQC3Msj+6XGmBIWtDBFk385N
1a48c0 37 38 67 44 47 49 63 2f 6f 61 76 37 50 4b 61 66 38 4d 4f 68 32 74 54 59 0a 62 69 74 54 6b 50 73 78gDGIc/oav7PKaf8MOh2tTY.bitTkPs
1a48e0 6b 70 44 36 45 38 4a 37 6f 58 2b 7a 6c 4a 30 54 31 4b 4b 59 2f 65 39 37 67 4b 76 44 49 72 31 4d kpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1M
1a4900 76 6e 73 6f 46 41 5a 4d 65 6a 32 59 63 4f 61 64 4e 2b 6c 71 32 63 77 51 6c 5a 75 74 33 66 2b 64 vnsoFAZMej2YcOadN+lq2cwQlZut3f+d
1a4920 5a 78 6b 71 5a 0a 4a 52 52 55 36 79 62 48 38 33 38 5a 31 54 42 77 6a 36 2b 77 52 69 72 2f 72 65 ZxkqZ.JRRU6ybH838Z1TBwj6+wRir/re
1a4940 73 70 37 64 65 66 71 67 53 48 6f 39 54 35 69 61 55 30 58 39 74 44 6b 59 49 32 32 57 59 38 73 62 sp7defqgSHo9T5iaU0X9tDkYI22WY8sb
1a4960 69 35 67 76 32 63 4f 6a 34 51 79 44 76 76 42 6d 56 6d 0a 65 70 73 5a 47 44 33 2f 63 56 45 38 4d i5gv2cOj4QyDvvBmVm.epsZGD3/cVE8M
1a4980 43 35 66 76 6a 31 33 63 37 4a 64 42 6d 7a 44 49 31 61 61 4b 34 55 6d 6b 68 79 6e 41 72 50 6b 50 C5fvj13c7JdBmzDI1aaK4UmkhynArPkP
1a49a0 77 32 76 43 48 6d 43 75 44 59 39 36 70 7a 54 4e 62 4f 38 61 63 72 31 7a 4a 33 6f 2f 57 53 4e 0a w2vCHmCuDY96pzTNbO8acr1zJ3o/WSN.
1a49c0 46 34 41 7a 62 6c 35 4b 58 5a 6e 4a 48 6f 65 30 6e 52 72 41 31 57 34 54 4e 53 4e 65 33 35 74 66 F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tf
1a49e0 50 65 2f 57 39 33 62 43 36 6a 36 37 65 41 30 63 51 6d 64 72 42 4e 6a 34 31 74 70 76 69 2f 4a 45 Pe/W93bC6j67eA0cQmdrBNj41tpvi/JE
1a4a00 6f 41 47 72 41 67 45 44 6f 34 48 46 0a 4d 49 48 43 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 oAGrAgEDo4HF.MIHCMB0GA1UdDgQWBBS
1a4a20 2f 58 37 66 52 7a 74 30 66 68 76 52 62 56 61 7a 63 31 78 44 43 44 71 6d 49 35 7a 43 42 6b 67 59 /X7fRzt0fhvRbVazc1xDCDqmI5zCBkgY
1a4a40 44 56 52 30 6a 42 49 47 4b 4d 49 47 48 67 42 53 2f 58 37 66 52 7a 74 30 66 0a 68 76 52 62 56 61 DVR0jBIGKMIGHgBS/X7fRzt0f.hvRbVa
1a4a60 7a 63 31 78 44 43 44 71 6d 49 35 36 46 73 70 47 6f 77 61 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 zc1xDCDqmI56FspGowaDELMAkGA1UEBh
1a4a80 4d 43 56 56 4d 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 57 56 73 5a 43 MCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZC
1a4aa0 42 55 5a 57 4e 6f 0a 62 6d 39 73 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 4d 6a 41 77 42 BUZWNo.bm9sb2dpZXMsIEluYy4xMjAwB
1a4ac0 67 4e 56 42 41 73 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 44 62 47 46 7a 63 79 41 79 49 gNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyI
1a4ae0 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 0a 51 58 56 30 61 47 39 79 61 58 52 35 ENlcnRpZmljYXRpb24g.QXV0aG9yaXR5
1a4b00 67 67 45 41 4d 41 77 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZI
1a4b20 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 41 57 64 50 34 69 64 30 63 6b 61 56 61 47 73 hvcNAQEFBQADggEBAAWdP4id0ckaVaGs
1a4b40 0a 61 66 50 7a 57 64 71 62 41 59 63 61 54 31 65 70 6f 58 6b 4a 4b 74 76 33 4c 37 49 65 7a 4d 64 .afPzWdqbAYcaT1epoXkJKtv3L7IezMd
1a4b60 65 61 74 69 44 68 36 47 58 37 30 6b 31 50 6e 63 47 51 56 68 69 76 34 35 59 75 41 70 6e 50 2b 79 eatiDh6GX70k1PncGQVhiv45YuApnP+y
1a4b80 7a 33 53 46 6d 48 38 6c 55 2b 6e 4c 4d 0a 50 55 78 41 32 49 47 76 64 35 36 44 65 72 75 69 78 2f z3SFmH8lU+nLM.PUxA2IGvd56Deruix/
1a4ba0 55 30 46 34 37 5a 45 55 44 30 2f 43 77 71 54 52 56 2f 70 32 4a 64 4c 69 58 54 41 41 73 67 47 68 U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh
1a4bc0 31 6f 2b 52 65 34 39 4c 32 4c 37 53 68 5a 33 55 30 57 69 78 65 44 79 4c 4a 6c 0a 78 79 31 36 70 1o+Re49L2L7ShZ3U0WixeDyLJl.xy16p
1a4be0 61 71 38 55 34 5a 74 33 56 65 6b 79 76 67 67 51 51 74 6f 38 50 54 37 64 4c 35 57 58 58 70 35 39 aq8U4Zt3VekyvggQQto8PT7dL5WXXp59
1a4c00 66 6b 64 68 65 4d 74 6c 62 37 31 63 5a 42 44 7a 49 30 66 6d 67 41 4b 68 79 6e 70 56 53 4a 59 41 fkdheMtlb71cZBDzI0fmgAKhynpVSJYA
1a4c20 43 50 71 34 78 4a 44 0a 4b 56 74 48 43 4e 32 4d 51 57 70 6c 42 71 6a 6c 49 61 70 42 74 4a 55 68 CPq4xJD.KVtHCN2MQWplBqjlIapBtJUh
1a4c40 6c 62 6c 39 30 54 53 72 45 39 61 74 76 4e 7a 69 50 54 6e 4e 76 54 35 31 63 4b 45 59 57 51 50 4a lbl90TSrE9atvNziPTnNvT51cKEYWQPJ
1a4c60 49 72 53 50 6e 4e 56 65 4b 74 65 6c 74 74 51 4b 62 66 69 33 0a 51 42 46 47 6d 68 39 35 44 6d 4b IrSPnNVeKtelttQKbfi3.QBFGmh95DmK
1a4c80 2f 44 35 66 73 34 43 38 66 46 35 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 /D5fs4C8fF5Q=.-----END.CERTIFICA
1a4ca0 54 45 2d 2d 2d 2d 2d 0a 0a 54 61 69 77 61 6e 20 47 52 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d TE-----..Taiwan.GRCA.===========
1a4cc0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1a4ce0 46 63 6a 43 43 41 31 71 67 41 77 49 42 41 67 49 51 48 35 31 5a 57 74 63 76 77 67 5a 45 70 59 41 FcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYA
1a4d00 49 61 65 4e 65 39 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 2f 4d 51 73 IaeNe9jANBgkqhkiG9w0BAQUFADA/MQs
1a4d20 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 77 4d 43 34 47 41 31 55 45 43 67 77 6e 52 32 wCQYDVQQG.EwJUVzEwMC4GA1UECgwnR2
1a4d40 39 32 5a 58 4a 75 62 57 56 75 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 92ZXJubWVudCBSb290IENlcnRpZmljYX
1a4d60 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 0a 44 54 41 79 4d 54 49 77 4e Rpb24gQXV0aG9yaXR5MB4X.DTAyMTIwN
1a4d80 54 45 7a 4d 6a 4d 7a 4d 31 6f 58 44 54 4d 79 4d 54 49 77 4e 54 45 7a 4d 6a 4d 7a 4d 31 6f 77 50 TEzMjMzM1oXDTMyMTIwNTEzMjMzM1owP
1a4da0 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 63 78 4d 44 41 75 42 67 4e 56 42 41 6f 4d 4a zELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ
1a4dc0 30 64 76 0a 64 6d 56 79 62 6d 31 6c 62 6e 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 0dv.dmVybm1lbnQgUm9vdCBDZXJ0aWZp
1a4de0 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 43 43 41 69 49 77 44 51 59 4a Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJ
1a4e00 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 KoZIhvcNAQEBBQAD.ggIPADCCAgoCggI
1a4e20 42 41 4a 6f 6c 75 4f 7a 4d 6f 6e 57 6f 65 2f 66 4f 57 31 6d 4b 79 64 47 47 45 67 68 55 37 4a 7a BAJoluOzMonWoe/fOW1mKydGGEghU7Jz
1a4e40 79 35 30 62 32 69 50 4e 38 36 61 58 66 54 45 63 32 70 42 73 42 48 48 38 65 56 34 71 4e 0a 77 38 y50b2iPN86aXfTEc2pBsBHH8eV4qN.w8
1a4e60 58 52 49 65 50 61 4a 44 39 49 4b 2f 75 66 4c 71 47 55 35 79 77 63 6b 39 47 2f 47 77 47 48 55 35 XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5
1a4e80 6e 4f 70 2f 55 4b 49 58 5a 33 2f 36 6d 33 78 6e 4f 55 54 30 62 33 45 45 6b 33 2b 71 68 5a 53 56 nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV
1a4ea0 31 71 67 51 64 57 38 6f 72 35 0a 42 74 44 33 63 43 4a 4e 74 4c 64 42 75 54 4b 34 73 66 43 78 77 1qgQdW8or5.BtD3cCJNtLdBuTK4sfCxw
1a4ec0 35 77 2f 63 50 31 54 33 59 47 71 32 47 4e 34 39 74 68 54 62 71 47 73 61 6f 51 6b 63 6c 53 47 78 5w/cP1T3YGq2GN49thTbqGsaoQkclSGx
1a4ee0 74 4b 79 79 68 77 4f 65 59 48 57 74 58 42 69 43 41 45 75 54 6b 38 4f 0a 31 52 47 76 71 61 2f 6c tKyyhwOeYHWtXBiCAEuTk8O.1RGvqa/l
1a4f00 6d 72 2f 63 7a 49 64 74 4a 75 54 4a 56 36 4c 37 6c 76 6e 4d 34 54 39 54 6a 47 78 4d 66 70 74 54 mr/czIdtJuTJV6L7lvnM4T9TjGxMfptT
1a4f20 43 41 74 73 46 2f 74 6e 79 4d 4b 74 73 63 32 41 74 4a 66 63 64 67 45 57 46 65 6c 71 31 36 54 68 CAtsF/tnyMKtsc2AtJfcdgEWFelq16Th
1a4f40 65 45 66 4f 0a 68 74 58 37 4d 66 50 36 4d 62 34 30 71 69 6a 37 63 45 77 64 53 63 65 76 4c 4a 31 eEfO.htX7MfP6Mb40qij7cEwdScevLJ1
1a4f60 74 5a 71 61 32 6a 57 52 2b 74 53 42 71 6e 54 75 42 74 6f 39 41 41 47 64 4c 69 59 61 34 7a 47 58 tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX
1a4f80 2b 46 56 50 70 42 4d 48 57 58 78 31 45 31 77 6f 76 0a 4a 35 70 47 66 61 45 4e 64 61 31 55 68 68 +FVPpBMHWXx1E1wov.J5pGfaENda1Uhh
1a4fa0 58 63 53 54 76 78 6c 73 34 50 6d 36 44 73 6f 33 70 64 76 74 55 71 64 55 4c 6c 65 39 36 6c 74 71 XcSTvxls4Pm6Dso3pdvtUqdULle96ltq
1a4fc0 71 76 4b 4b 79 73 6b 4b 77 34 74 39 56 6f 4e 53 5a 36 33 50 63 37 38 2f 31 46 6d 39 47 37 0a 51 qvKKyskKw4t9VoNSZ63Pc78/1Fm9G7.Q
1a4fe0 33 68 75 62 2f 46 43 56 47 71 59 38 41 32 74 6c 2b 6c 53 58 75 6e 56 61 6e 4c 65 61 76 63 62 59 3hub/FCVGqY8A2tl+lSXunVanLeavcbY
1a5000 42 54 30 70 65 53 32 63 57 65 71 48 2b 72 69 54 63 46 43 51 50 35 6e 52 68 63 34 4c 30 63 2f 63 BT0peS2cWeqH+riTcFCQP5nRhc4L0c/c
1a5020 5a 79 75 35 53 48 4b 59 53 31 74 0a 42 36 69 45 66 43 33 75 55 53 58 78 59 35 43 65 2f 65 46 58 Zyu5SHKYS1t.B6iEfC3uUSXxY5Ce/eFX
1a5040 69 47 76 76 69 69 4e 74 73 65 61 39 50 36 33 52 50 5a 59 4c 68 59 33 4e 61 79 65 37 74 77 57 62 iGvviiNtsea9P63RPZYLhY3Naye7twWb
1a5060 37 4c 75 52 71 51 6f 48 45 67 4b 58 54 69 43 51 38 50 38 4e 48 75 4a 42 0a 4f 39 4e 41 4f 75 65 7LuRqQoHEgKXTiCQ8P8NHuJB.O9NAOue
1a5080 4e 58 64 70 6d 35 41 4b 77 42 31 4b 59 58 41 36 4f 4d 35 7a 43 70 70 58 37 56 52 6c 75 54 49 36 NXdpm5AKwB1KYXA6OM5zCppX7VRluTI6
1a50a0 75 53 77 2b 39 77 54 68 4e 58 6f 2b 45 48 57 62 4e 78 57 43 57 74 46 4a 61 42 59 6d 4f 6c 58 71 uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXq
1a50c0 59 77 5a 45 38 0a 6c 53 4f 79 44 76 52 35 74 4d 6c 38 77 55 6f 68 41 67 4d 42 41 41 47 6a 61 6a YwZE8.lSOyDvR5tMl8wUohAgMBAAGjaj
1a50e0 42 6f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4d 7a 4f 2f 4d 4b 57 43 6b 4f 37 47 53 74 6a BoMB0GA1UdDgQWBBTMzO/MKWCkO7GStj
1a5100 7a 36 4d 6d 4b 50 72 43 55 56 4f 7a 41 4d 42 67 4e 56 0a 48 52 4d 45 42 54 41 44 41 51 48 2f 4d z6MmKPrCUVOzAMBgNV.HRMEBTADAQH/M
1a5120 44 6b 47 42 47 63 71 42 77 41 45 4d 54 41 76 4d 43 30 43 41 51 41 77 43 51 59 46 4b 77 34 44 41 DkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DA
1a5140 68 6f 46 41 44 41 48 42 67 56 6e 4b 67 4d 41 41 41 51 55 41 35 76 77 49 68 50 2f 6c 53 67 32 0a hoFADAHBgVnKgMAAAQUA5vwIhP/lSg2.
1a5160 30 39 79 65 77 44 4c 37 4d 54 71 4b 55 57 55 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEF
1a5180 42 51 41 44 67 67 49 42 41 45 43 41 53 76 6f 6d 79 63 35 65 4d 4e 31 50 68 6e 52 32 57 50 57 75 BQADggIBAECASvomyc5eMN1PhnR2WPWu
1a51a0 73 34 4d 7a 65 4b 52 36 64 42 63 5a 0a 54 75 6c 53 74 62 6e 67 43 6e 52 69 71 6d 6a 4b 65 4b 42 s4MzeKR6dBcZ.TulStbngCnRiqmjKeKB
1a51c0 4d 6d 6f 34 73 49 79 37 56 61 68 49 6b 76 39 52 6f 30 34 72 51 32 4a 79 66 74 42 38 4d 33 6a 68 Mmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh
1a51e0 2b 56 7a 6a 38 6a 65 4a 50 58 67 79 66 71 7a 76 53 2f 33 57 58 79 36 54 6a 0a 5a 77 6a 2f 35 63 +Vzj8jeJPXgyfqzvS/3WXy6Tj.Zwj/5c
1a5200 41 57 74 55 67 42 66 65 6e 35 43 76 38 62 35 57 70 70 76 33 67 68 71 4d 4b 6e 49 36 6d 47 71 33 AWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3
1a5220 5a 57 36 41 34 4d 39 68 50 64 4b 6d 61 4b 5a 45 6b 39 47 68 69 48 6b 41 53 66 51 6c 4b 33 54 38 ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8
1a5240 76 2b 52 30 46 32 0a 4e 65 2f 2f 41 48 59 32 52 54 4b 62 78 6b 61 46 58 65 49 6b 73 42 37 6a 53 v+R0F2.Ne//AHY2RTKbxkaFXeIksB7jS
1a5260 4a 61 59 56 30 65 55 56 58 6f 50 51 62 46 45 4a 50 50 42 2f 68 70 72 76 34 6a 39 77 61 62 61 6b JaYV0eUVXoPQbFEJPPB/hprv4j9wabak
1a5280 32 42 65 67 55 71 5a 49 4a 78 49 5a 68 6d 31 41 48 6c 55 0a 44 37 67 73 4c 30 75 38 71 56 31 62 2BegUqZIJxIZhm1AHlU.D7gsL0u8qV1b
1a52a0 59 48 2b 4d 68 36 58 67 55 6d 4d 71 76 74 67 37 68 55 41 56 2f 68 36 32 5a 54 2f 46 53 39 70 2b YH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+
1a52c0 74 58 6f 31 4b 61 4d 75 65 70 68 67 49 71 50 30 66 53 64 4f 4c 65 71 30 64 44 7a 70 44 36 51 7a tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
1a52e0 0a 44 78 41 52 76 42 4d 42 31 75 55 4f 30 37 2b 31 45 71 4c 68 52 53 50 41 7a 41 68 75 59 62 65 .DxARvBMB1uUO07+1EqLhRSPAzAhuYbe
1a5300 4a 71 34 50 6a 4a 42 37 6d 58 51 66 6e 48 79 41 2b 7a 32 66 49 35 36 77 77 62 53 64 4c 61 47 35 Jq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5
1a5320 4c 4b 6c 77 43 43 44 54 62 2b 48 62 6b 0a 5a 36 4d 6d 6e 44 2b 69 4d 73 4a 4b 78 59 45 59 4d 52 LKlwCCDTb+Hbk.Z6MmnD+iMsJKxYEYMR
1a5340 42 57 71 6f 54 76 4c 51 72 2f 75 42 39 33 30 72 2b 6c 57 4b 42 69 35 4e 64 4c 6b 58 57 4e 69 59 BWqoTvLQr/uB930r+lWKBi5NdLkXWNiY
1a5360 43 59 66 6d 33 4c 55 30 35 65 72 2f 61 79 6c 34 57 58 75 64 70 56 42 72 6b 6b 0a 37 74 66 47 4f CYfm3LU05er/ayl4WXudpVBrkk.7tfGO
1a5380 42 35 6a 47 78 49 37 6c 65 46 59 72 50 4c 66 68 4e 56 66 6d 53 38 4e 56 56 76 6d 4f 4e 73 75 50 B5jGxI7leFYrPLfhNVfmS8NVVvmONsuP
1a53a0 33 4c 70 53 49 58 4c 75 79 6b 54 6a 78 34 34 56 62 6e 7a 73 73 51 77 6d 53 4e 4f 58 66 4a 49 6f 3LpSIXLuykTjx44VbnzssQwmSNOXfJIo
1a53c0 52 49 4d 33 42 4b 51 0a 43 5a 42 55 6b 51 4d 38 52 2b 58 56 79 57 58 67 74 30 74 39 37 45 66 54 RIM3BKQ.CZBUkQM8R+XVyWXgt0t97EfT
1a53e0 73 77 73 2b 72 5a 37 51 64 41 41 4f 36 37 31 52 72 63 44 65 4c 4d 44 44 61 76 37 76 33 41 75 6e sws+rZ7QdAAO671RrcDeLMDDav7v3Aun
1a5400 2b 6b 62 66 59 4e 75 63 70 6c 6c 51 64 53 4e 70 63 35 4f 79 0a 2b 66 77 43 30 30 66 6d 63 63 34 +kbfYNucpllQdSNpc5Oy.+fwC00fmcc4
1a5420 51 41 75 34 6e 6a 49 54 2f 72 45 55 4e 45 31 79 44 4d 75 41 6c 70 59 59 73 66 50 51 53 0a 2d 2d QAu4njIT/rEUNE1yDMuAlpYYsfPQS.--
1a5440 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 ---END.CERTIFICATE-----..DigiCer
1a5460 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d t.Assured.ID.Root.CA.===========
1a5480 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a54a0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 74 7a 43 43 41 70 2b 67 41 77 49 42 41 67 49 IFICATE-----.MIIDtzCCAp+gAwIBAgI
1a54c0 51 44 4f 66 67 35 52 66 59 52 76 36 50 35 57 44 38 47 2f 41 77 4f 54 41 4e 42 67 6b 71 68 6b 69 QDOfg5RfYRv6P5WD8G/AwOTANBgkqhki
1a54e0 47 39 77 30 42 41 51 55 46 41 44 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a G9w0BAQUFADBlMQswCQYDVQQG.EwJVUz
1a5500 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 EVMBMGA1UEChMMRGlnaUNlcnQgSW5jMR
1a5520 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 kwFwYDVQQLExB3d3cuZGlnaWNlcnQuY2
1a5540 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 9tMSQw.IgYDVQQDExtEaWdpQ2VydCBBc
1a5560 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 51 30 45 77 48 68 63 4e 4d 44 59 78 4d 3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxM
1a5580 54 45 77 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 45 78 0a 4d 54 45 77 4d 44 41 77 4d 44 41 77 TEwMDAwMDAwWhcNMzEx.MTEwMDAwMDAw
1a55a0 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 WjBlMQswCQYDVQQGEwJVUzEVMBMGA1UE
1a55c0 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
1a55e0 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 .ExB3d3cuZGlnaWNlcnQuY29tMSQwIgY
1a5600 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c DVQQDExtEaWdpQ2VydCBBc3N1cmVkIEl
1a5620 45 49 46 4a 76 62 33 51 67 51 30 45 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 EIFJvb3QgQ0Ew.ggEiMA0GCSqGSIb3DQ
1a5640 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 74 44 68 58 4f 35 45 EBAQUAA4IBDwAwggEKAoIBAQCtDhXO5E
1a5660 4f 41 58 4c 47 48 38 37 64 67 2b 58 45 53 70 61 37 63 4a 70 53 49 71 76 54 4f 0a 39 53 41 35 4b OAXLGH87dg+XESpa7cJpSIqvTO.9SA5K
1a5680 46 68 67 44 50 69 41 32 71 6b 56 6c 54 4a 68 50 4c 57 78 4b 49 53 4b 69 74 79 66 43 67 79 44 46 FhgDPiA2qkVlTJhPLWxKISKityfCgyDF
1a56a0 33 71 50 6b 4b 79 4b 35 33 6c 54 58 44 47 45 4b 76 59 50 6d 44 49 32 64 73 7a 65 33 54 79 6f 6f 3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoo
1a56c0 75 39 71 2b 79 48 79 0a 55 6d 48 66 6e 79 44 58 48 2b 4b 78 32 66 34 59 5a 4e 49 53 57 31 2f 35 u9q+yHy.UmHfnyDXH+Kx2f4YZNISW1/5
1a56e0 57 42 67 31 76 45 66 4e 6f 54 62 35 61 33 2f 55 73 44 67 2b 77 52 76 44 6a 44 50 5a 32 43 38 59 WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y
1a5700 2f 69 67 50 73 36 65 44 31 73 4e 75 52 4d 42 68 4e 5a 59 57 0a 2f 6c 6d 63 69 33 5a 74 31 2f 47 /igPs6eD1sNuRMBhNZYW./lmci3Zt1/G
1a5720 69 53 77 30 72 2f 77 74 79 32 70 35 67 30 49 36 51 4e 63 5a 34 56 59 63 67 6f 63 2f 6c 62 51 72 iSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQr
1a5740 49 53 58 77 78 6d 44 4e 73 49 75 6d 48 30 44 4a 61 6f 72 6f 54 67 68 48 74 4f 52 65 64 6d 54 70 ISXwxmDNsIumH0DJaoroTghHtORedmTp
1a5760 79 0a 6f 65 62 36 70 4e 6e 56 46 7a 46 31 72 6f 56 39 49 71 34 2f 41 55 61 47 39 69 68 35 79 4c y.oeb6pNnVFzF1roV9Iq4/AUaG9ih5yL
1a5780 48 61 35 46 63 58 78 48 34 63 44 72 43 30 6b 71 5a 57 73 37 32 79 6c 2b 32 71 70 2f 43 33 78 61 Ha5FcXxH4cDrC0kqZWs72yl+2qp/C3xa
1a57a0 67 2f 6c 52 62 51 2f 36 47 57 36 77 68 66 0a 47 48 64 50 41 67 4d 42 41 41 47 6a 59 7a 42 68 4d g/lRbQ/6GW6whf.GHdPAgMBAAGjYzBhM
1a57c0 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 50 42 67 4e 56 48 52 4d 42 41 A4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBA
1a57e0 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 46 0a 36 36 4b 76 f8EBTADAQH/MB0GA1UdDgQWBBRF.66Kv
1a5800 39 4a 4c 4c 67 6a 45 74 55 59 75 6e 70 79 47 64 38 32 33 49 44 7a 41 66 42 67 4e 56 48 53 4d 45 9JLLgjEtUYunpyGd823IDzAfBgNVHSME
1a5820 47 44 41 57 67 42 52 46 36 36 4b 76 39 4a 4c 4c 67 6a 45 74 55 59 75 6e 70 79 47 64 38 32 33 49 GDAWgBRF66Kv9JLLgjEtUYunpyGd823I
1a5840 44 7a 41 4e 42 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6f 67 36 DzANBgkq.hkiG9w0BAQUFAAOCAQEAog6
1a5860 38 33 2b 4c 74 38 4f 4e 79 63 33 70 6b 6c 4c 2f 33 63 6d 62 59 4d 75 52 43 64 57 4b 75 68 2b 76 83+Lt8ONyc3pklL/3cmbYMuRCdWKuh+v
1a5880 79 31 64 6e 65 56 72 4f 66 7a 4d 34 55 4b 4c 6b 4e 6c 32 42 63 0a 45 6b 78 59 35 4e 4d 39 67 30 y1dneVrOfzM4UKLkNl2Bc.EkxY5NM9g0
1a58a0 6c 46 57 4a 63 31 61 52 71 6f 52 2b 70 57 78 6e 6d 72 45 74 68 6e 67 59 54 66 66 77 6b 38 6c 4f lFWJc1aRqoR+pWxnmrEthngYTffwk8lO
1a58c0 61 34 4a 69 77 67 76 54 32 7a 4b 49 6e 33 58 2f 38 69 34 70 65 45 48 2b 6c 6c 37 34 66 67 33 38 a4JiwgvT2zKIn3X/8i4peEH+ll74fg38
1a58e0 46 6e 0a 53 62 4e 64 36 37 49 4a 4b 75 73 6d 37 58 69 2b 66 54 38 72 38 37 63 6d 4e 57 31 66 69 Fn.SbNd67IJKusm7Xi+fT8r87cmNW1fi
1a5900 51 47 32 53 56 75 66 41 51 57 62 71 7a 30 6c 77 63 79 32 66 38 4c 78 62 34 62 47 2b 6d 52 6f 36 QG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo6
1a5920 34 45 74 6c 4f 74 43 74 2f 71 4d 48 74 31 69 0a 38 62 35 51 5a 37 64 73 76 66 50 78 48 32 73 4d 4EtlOtCt/qMHt1i.8b5QZ7dsvfPxH2sM
1a5940 4e 67 63 57 66 7a 64 38 71 56 74 74 65 76 45 53 52 6d 43 44 31 79 63 45 76 6b 76 4f 6c 37 37 44 NgcWfzd8qVttevESRmCD1ycEvkvOl77D
1a5960 5a 79 70 6f 45 64 2b 41 35 77 77 7a 5a 72 38 54 44 52 52 75 38 33 38 66 59 78 41 65 0a 2b 6f 30 ZypoEd+A5wwzZr8TDRRu838fYxAe.+o0
1a5980 62 4a 57 31 73 6a 36 57 33 59 51 47 78 30 71 4d 6d 6f 52 42 78 6e 61 33 69 77 2f 6e 44 6d 56 47 bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG
1a59a0 33 4b 77 63 49 7a 69 37 6d 55 4c 4b 6e 2b 67 70 46 4c 36 4c 77 38 67 3d 3d 0a 2d 2d 2d 2d 2d 45 3KwcIzi7mULKn+gpFL6Lw8g==.-----E
1a59c0 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 47 6c ND.CERTIFICATE-----..DigiCert.Gl
1a59e0 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d obal.Root.CA.===================
1a5a00 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1a5a20 0a 4d 49 49 44 72 7a 43 43 41 70 65 67 41 77 49 42 41 67 49 51 43 44 76 67 56 70 42 43 52 72 47 .MIIDrzCCApegAwIBAgIQCDvgVpBCRrG
1a5a40 68 64 57 72 4a 57 5a 48 48 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 hdWrJWZHHSjANBgkqhkiG9w0BAQUFADB
1a5a60 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 hMQswCQYDVQQG.EwJVUzEVMBMGA1UECh
1a5a80 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 MMRGlnaUNlcnQgSW5jMRkwFwYDVQQLEx
1a5aa0 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 0a 48 67 59 44 56 B3d3cuZGlnaWNlcnQuY29tMSAw.HgYDV
1a5ac0 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 QQDExdEaWdpQ2VydCBHbG9iYWwgUm9vd
1a5ae0 43 42 44 51 54 41 65 46 77 30 77 4e 6a 45 78 4d 54 41 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4d CBDQTAeFw0wNjExMTAwMDAwMDBaFw0zM
1a5b00 54 45 78 4d 54 41 77 0a 4d 44 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 TExMTAw.MDAwMDBaMGExCzAJBgNVBAYT
1a5b20 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 42 4a AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
1a5b40 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 35 6b 61 57 64 70 59 32 56 bmMxGTAXBgNVBAsTEHd3.dy5kaWdpY2V
1a5b60 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 58 4a ydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ
1a5b80 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 0IEdsb2JhbCBSb290IENBMIIBIjANBgk
1a5ba0 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 q.hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQ
1a5bc0 45 41 34 6a 76 68 45 58 4c 65 71 4b 54 54 6f 31 65 71 55 4b 4b 50 43 33 65 51 79 61 4b 6c 37 68 EA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7h
1a5be0 4c 4f 6c 6c 73 42 43 53 44 4d 41 5a 4f 6e 0a 54 6a 43 33 55 2f 64 44 78 47 6b 41 56 35 33 69 6a LOllsBCSDMAZOn.TjC3U/dDxGkAV53ij
1a5c00 53 4c 64 68 77 5a 41 41 49 45 4a 7a 73 34 62 67 37 2f 66 7a 54 74 78 52 75 4c 57 5a 73 63 46 73 SLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs
1a5c20 33 59 6e 46 6f 39 37 6e 68 36 56 66 65 36 33 53 4b 4d 49 32 74 61 76 65 67 77 35 0a 42 6d 56 2f 3YnFo97nh6Vfe63SKMI2tavegw5.BmV/
1a5c40 53 6c 30 66 76 42 66 34 71 37 37 75 4b 4e 64 30 66 33 70 34 6d 56 6d 46 61 47 35 63 49 7a 4a 4c Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJL
1a5c60 76 30 37 41 36 46 70 74 34 33 43 2f 64 78 43 2f 2f 41 48 32 68 64 6d 6f 52 42 42 59 4d 71 6c 31 v07A6Fpt43C/dxC//AH2hdmoRBBYMql1
1a5c80 47 4e 58 52 6f 72 35 48 0a 34 69 64 71 39 4a 6f 7a 2b 45 6b 49 59 49 76 55 58 37 51 36 68 4c 2b GNXRor5H.4idq9Joz+EkIYIvUX7Q6hL+
1a5ca0 68 71 6b 70 4d 66 54 37 50 54 31 39 73 64 6c 36 67 53 7a 65 52 6e 74 77 69 35 6d 33 4f 46 42 71 hqkpMfT7PT19sdl6gSzeRntwi5m3OFBq
1a5cc0 4f 61 73 76 2b 7a 62 4d 55 5a 42 66 48 57 79 6d 65 4d 72 2f 79 0a 37 76 72 54 43 30 4c 55 71 37 Oasv+zbMUZBfHWymeMr/y.7vrTC0LUq7
1a5ce0 64 42 4d 74 6f 4d 31 4f 2f 34 67 64 57 37 6a 56 67 2f 74 52 76 6f 53 53 69 69 63 4e 6f 78 42 4e dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN
1a5d00 33 33 73 68 62 79 54 41 70 4f 42 36 6a 74 53 6a 31 65 74 58 2b 6a 6b 4d 4f 76 4a 77 49 44 41 51 33shbyTApOB6jtSj1etX+jkMOvJwIDAQ
1a5d20 41 42 0a 6f 32 4d 77 59 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 44 AB.o2MwYTAOBgNVHQ8BAf8EBAMCAYYwD
1a5d40 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 wYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EF
1a5d60 67 51 55 41 39 35 51 4e 56 62 52 54 4c 74 6d 0a 38 4b 50 69 47 78 76 44 6c 37 49 39 30 56 55 77 gQUA95QNVbRTLtm.8KPiGxvDl7I90VUw
1a5d80 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 41 39 35 51 4e 56 62 52 54 4c 74 6d 38 4b 50 69 HwYDVR0jBBgwFoAUA95QNVbRTLtm8KPi
1a5da0 47 78 76 44 6c 37 49 39 30 56 55 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 0a 42 51 41 GxvDl7I90VUwDQYJKoZIhvcNAQEF.BQA
1a5dc0 44 67 67 45 42 41 4d 75 63 4e 36 70 49 45 78 49 4b 2b 74 31 45 6e 45 39 53 73 50 54 66 72 67 54 DggEBAMucN6pIExIK+t1EnE9SsPTfrgT
1a5de0 31 65 58 6b 49 6f 79 51 59 2f 45 73 72 68 4d 41 74 75 64 58 48 2f 76 54 42 48 31 6a 4c 75 47 32 1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2
1a5e00 63 65 6e 54 6e 6d 43 6d 72 0a 45 62 58 6a 63 4b 43 68 7a 55 79 49 6d 5a 4f 4d 6b 58 44 69 71 77 cenTnmCmr.EbXjcKChzUyImZOMkXDiqw
1a5e20 38 63 76 70 4f 70 2f 32 50 56 35 41 64 67 30 36 4f 2f 6e 56 73 4a 38 64 57 4f 34 31 50 30 6a 6d 8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jm
1a5e40 50 36 50 36 66 62 74 47 62 66 59 6d 62 57 30 57 35 42 6a 66 49 74 0a 74 65 70 33 53 70 2b 64 57 P6P6fbtGbfYmbW0W5BjfIt.tep3Sp+dW
1a5e60 4f 49 72 57 63 42 41 49 2b 30 74 4b 49 4a 46 50 6e 6c 55 6b 69 61 59 34 49 42 49 71 44 66 76 38 OIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8
1a5e80 4e 5a 35 59 42 62 65 72 4f 67 4f 7a 57 36 73 52 42 63 34 4c 30 6e 61 34 55 55 2b 4b 72 6b 32 55 NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U
1a5ea0 38 38 36 0a 55 41 62 33 4c 75 6a 45 56 30 6c 73 59 53 45 59 31 51 53 74 65 44 77 73 4f 6f 42 72 886.UAb3LujEV0lsYSEY1QSteDwsOoBr
1a5ec0 70 2b 75 76 46 52 54 70 32 49 6e 42 75 54 68 73 34 70 46 73 69 76 39 6b 75 58 63 6c 56 7a 44 41 p+uvFRTp2InBuThs4pFsiv9kuXclVzDA
1a5ee0 47 79 53 6a 34 64 7a 70 33 30 64 38 74 62 51 6b 0a 43 41 55 77 37 43 32 39 43 37 39 46 76 31 43 GySj4dzp30d8tbQk.CAUw7C29C79Fv1C
1a5f00 35 71 66 50 72 6d 41 45 53 72 63 69 49 78 70 67 30 58 34 30 4b 50 4d 62 70 31 5a 57 56 62 64 34 5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4
1a5f20 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 =.-----END.CERTIFICATE-----..Dig
1a5f40 69 43 65 72 74 20 48 69 67 68 20 41 73 73 75 72 61 6e 63 65 20 45 56 20 52 6f 6f 74 20 43 41 0a iCert.High.Assurance.EV.Root.CA.
1a5f60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a5f80 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1a5fa0 49 49 44 78 54 43 43 41 71 32 67 41 77 49 42 41 67 49 51 41 71 78 63 4a 6d 6f 4c 51 4a 75 50 43 IIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC
1a5fc0 33 6e 79 72 6b 59 6c 64 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 73 4d 3nyrkYldzANBgkqhkiG9w0BAQUFADBsM
1a5fe0 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d QswCQYDVQQG.EwJVUzEVMBMGA1UEChMM
1a6000 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 RGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
1a6020 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 73 77 0a 4b 51 59 44 56 51 51 d3cuZGlnaWNlcnQuY29tMSsw.KQYDVQQ
1a6040 44 45 79 4a 45 61 57 64 70 51 32 56 79 64 43 42 49 61 57 64 6f 49 45 46 7a 63 33 56 79 59 57 35 DEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5
1a6060 6a 5a 53 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 44 54 41 32 4d 54 45 78 4d 44 41 jZSBFViBSb290IENBMB4XDTA2MTExMDA
1a6080 77 4d 44 41 77 0a 4d 46 6f 58 44 54 4d 78 4d 54 45 78 4d 44 41 77 4d 44 41 77 4d 46 6f 77 62 44 wMDAw.MFoXDTMxMTExMDAwMDAwMFowbD
1a60a0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 45 ELMAkGA1UEBhMCVVMxFTATBgNVBAoTDE
1a60c0 52 70 5a 32 6c 44 5a 58 4a 30 49 45 6c 75 59 7a 45 5a 0a 4d 42 63 47 41 31 55 45 43 78 4d 51 64 RpZ2lDZXJ0IEluYzEZ.MBcGA1UECxMQd
1a60e0 33 64 33 4c 6d 52 70 5a 32 6c 6a 5a 58 4a 30 4c 6d 4e 76 62 54 45 72 4d 43 6b 47 41 31 55 45 41 3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEA
1a6100 78 4d 69 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 47 6c 6e 61 43 42 42 63 33 4e 31 63 6d 46 75 0a xMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu.
1a6120 59 32 55 67 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZI
1a6140 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d 62 4d hvcNAQEBBQADggEPADCCAQoCggEBAMbM
1a6160 35 58 50 6d 2b 39 53 37 35 53 30 74 0a 4d 71 62 66 35 59 45 2f 79 63 30 6c 53 62 5a 78 4b 73 50 5XPm+9S75S0t.Mqbf5YE/yc0lSbZxKsP
1a6180 56 6c 44 52 6e 6f 67 6f 63 73 46 39 70 70 6b 43 78 78 4c 65 79 6a 39 43 59 70 4b 6c 42 57 54 72 VlDRnogocsF9ppkCxxLeyj9CYpKlBWTr
1a61a0 54 33 4a 54 57 50 4e 74 30 4f 4b 52 4b 7a 45 30 6c 67 76 64 4b 70 56 4d 53 0a 4f 4f 37 7a 53 57 T3JTWPNt0OKRKzE0lgvdKpVMS.OO7zSW
1a61c0 31 78 6b 58 35 6a 74 71 75 6d 58 38 4f 6b 68 50 68 50 59 6c 47 2b 2b 4d 58 73 32 7a 69 53 34 77 1xkX5jtqumX8OkhPhPYlG++MXs2ziS4w
1a61e0 62 6c 43 4a 45 4d 78 43 68 42 56 66 76 4c 57 6f 6b 56 66 6e 48 6f 4e 62 39 4e 63 67 6b 39 76 6a blCJEMxChBVfvLWokVfnHoNb9Ncgk9vj
1a6200 6f 34 55 46 74 33 0a 4d 52 75 4e 73 38 63 6b 52 5a 71 6e 72 47 30 41 46 46 6f 45 74 37 6f 54 36 o4UFt3.MRuNs8ckRZqnrG0AFFoEt7oT6
1a6220 31 45 4b 6d 45 46 42 49 6b 35 6c 59 59 65 42 51 56 43 6d 65 56 79 4a 33 68 6c 4b 56 39 55 75 35 1EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5
1a6240 6c 30 63 55 79 78 2b 6d 4d 30 61 42 68 61 6b 61 48 50 51 0a 4e 41 51 54 58 4b 46 78 30 31 70 38 l0cUyx+mM0aBhakaHPQ.NAQTXKFx01p8
1a6260 56 64 74 65 5a 4f 45 33 68 7a 42 57 42 4f 55 52 74 43 6d 41 45 76 46 35 4f 59 69 69 41 68 46 38 VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8
1a6280 4a 32 61 33 69 4c 64 34 38 73 6f 4b 71 44 69 72 43 6d 54 43 76 32 5a 64 6c 59 54 42 6f 53 55 65 J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
1a62a0 0a 68 31 30 61 55 41 73 67 45 73 78 42 75 32 34 4c 55 54 69 34 53 38 73 43 41 77 45 41 41 61 4e .h10aUAsgEsxBu24LUTi4S8sCAwEAAaN
1a62c0 6a 4d 47 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 38 47 41 31 55 jMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1U
1a62e0 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 0a 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4c dEwEB/wQFMAMB.Af8wHQYDVR0OBBYEFL
1a6300 45 2b 77 32 6b 44 2b 4c 39 48 41 64 53 59 4a 68 6f 49 41 75 39 6a 5a 43 76 44 4d 42 38 47 41 31 E+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1
1a6320 55 64 49 77 51 59 4d 42 61 41 46 4c 45 2b 77 32 6b 44 2b 4c 39 48 41 64 53 59 0a 4a 68 6f 49 41 UdIwQYMBaAFLE+w2kD+L9HAdSY.JhoIA
1a6340 75 39 6a 5a 43 76 44 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 u9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBA
1a6360 51 41 63 47 67 61 58 33 4e 65 63 6e 7a 79 49 5a 67 59 49 56 79 48 62 49 55 66 34 4b 6d 65 71 76 QAcGgaX3NecnzyIZgYIVyHbIUf4Kmeqv
1a6380 78 67 79 64 6b 41 51 0a 56 38 47 4b 38 33 72 5a 45 57 57 4f 4e 66 71 65 2f 45 57 31 6e 74 6c 4d xgydkAQ.V8GK83rZEWWONfqe/EW1ntlM
1a63a0 4d 55 75 34 6b 65 68 44 4c 49 36 7a 65 4d 37 62 34 31 4e 35 63 64 62 6c 49 5a 51 42 32 6c 57 48 MUu4kehDLI6zeM7b41N5cdblIZQB2lWH
1a63c0 6d 69 52 6b 39 6f 70 6d 7a 4e 36 63 4e 38 32 6f 4e 4c 46 70 0a 6d 79 50 49 6e 6e 67 69 4b 33 42 miRk9opmzN6cN82oNLFp.myPInngiK3B
1a63e0 44 34 31 56 48 4d 57 45 5a 37 31 6a 46 68 53 39 4f 4d 50 61 67 4d 52 59 6a 79 4f 66 69 5a 52 59 D41VHMWEZ71jFhS9OMPagMRYjyOfiZRY
1a6400 7a 79 37 38 61 47 36 41 39 2b 4d 70 65 69 7a 47 4c 59 41 69 4a 4c 51 77 47 58 46 4b 33 78 50 6b zy78aG6A9+MpeizGLYAiJLQwGXFK3xPk
1a6420 4b 0a 6d 4e 45 56 58 35 38 53 76 6e 77 32 59 7a 69 39 52 4b 52 2f 35 43 59 72 43 73 53 58 61 51 K.mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ
1a6440 33 70 6a 4f 4c 41 45 46 65 34 79 48 59 53 6b 56 58 79 53 47 6e 59 76 43 6f 43 57 77 39 45 31 43 3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1C
1a6460 41 78 32 2f 53 36 63 43 5a 64 6b 47 43 65 0a 76 45 73 58 43 53 2b 30 79 78 35 44 61 4d 6b 48 4a Ax2/S6cCZdkGCe.vEsXCS+0yx5DaMkHJ
1a6480 38 48 53 58 50 66 71 49 62 6c 6f 45 70 77 38 6e 4c 2b 65 2f 49 42 63 6d 32 50 4e 37 45 65 71 4a 8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJ
1a64a0 53 64 6e 6f 44 66 7a 41 49 4a 39 56 4e 65 70 2b 4f 6b 75 45 36 4e 33 36 42 39 4b 0a 2d 2d 2d 2d SdnoDfzAIJ9VNep+OkuE6N36B9K.----
1a64c0 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 70 6c 75 73 20 -END.CERTIFICATE-----..Certplus.
1a64e0 43 6c 61 73 73 20 32 20 50 72 69 6d 61 72 79 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Class.2.Primary.CA.=============
1a6500 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1a6520 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6b 6a 43 43 41 6e 71 67 41 77 49 42 41 67 49 52 41 ICATE-----.MIIDkjCCAnqgAwIBAgIRA
1a6540 49 57 39 53 2f 50 59 32 75 4e 70 39 70 54 58 58 38 4f 6c 52 43 4d 77 44 51 59 4a 4b 6f 5a 49 68 IW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIh
1a6560 76 63 4e 41 51 45 46 42 51 41 77 50 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 6c 49 78 vcNAQEFBQAwPTELMAkGA1UE.BhMCRlIx
1a6580 45 54 41 50 42 67 4e 56 42 41 6f 54 43 45 4e 6c 63 6e 52 77 62 48 56 7a 4d 52 73 77 47 51 59 44 ETAPBgNVBAoTCENlcnRwbHVzMRswGQYD
1a65a0 56 51 51 44 45 78 4a 44 62 47 46 7a 63 79 41 79 49 46 42 79 61 57 31 68 63 6e 6b 67 51 30 45 77 VQQDExJDbGFzcyAyIFByaW1hcnkgQ0Ew
1a65c0 48 68 63 4e 0a 4f 54 6b 77 4e 7a 41 33 4d 54 63 77 4e 54 41 77 57 68 63 4e 4d 54 6b 77 4e 7a 41 HhcN.OTkwNzA3MTcwNTAwWhcNMTkwNzA
1a65e0 32 4d 6a 4d 31 4f 54 55 35 57 6a 41 39 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 47 55 6a 45 2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjE
1a6600 52 4d 41 38 47 41 31 55 45 43 68 4d 49 51 32 56 79 0a 64 48 42 73 64 58 4d 78 47 7a 41 5a 42 67 RMA8GA1UEChMIQ2Vy.dHBsdXMxGzAZBg
1a6620 4e 56 42 41 4d 54 45 6b 4e 73 59 58 4e 7a 49 44 49 67 55 48 4a 70 62 57 46 79 65 53 42 44 51 54 NVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQT
1a6640 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 0a 41 CCASIwDQYJKoZIhvcNAQEBBQADggEP.A
1a6660 44 43 43 41 51 6f 43 67 67 45 42 41 4e 78 51 6c 74 41 53 2b 44 58 53 43 48 68 36 74 6c 4a 77 2f DCCAQoCggEBANxQltAS+DXSCHh6tlJw/
1a6680 57 2f 75 7a 37 6b 52 79 31 31 33 34 65 7a 70 66 67 53 4e 31 73 78 76 63 30 4e 58 59 4b 77 7a 43 W/uz7kRy1134ezpfgSN1sxvc0NXYKwzC
1a66a0 6b 54 73 41 31 38 63 67 43 53 52 0a 35 61 69 52 56 68 4b 43 39 2b 41 72 39 4e 75 75 59 53 36 4a kTsA18cgCSR.5aiRVhKC9+Ar9NuuYS6J
1a66c0 45 49 31 72 62 4c 71 7a 41 72 33 56 4e 73 56 49 4e 79 50 69 38 46 6f 33 55 6a 4d 58 45 75 4c 52 EI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLR
1a66e0 59 45 32 2b 4c 30 45 52 34 2f 59 58 4a 51 79 4c 6b 63 41 62 6d 58 75 5a 0a 56 67 32 76 37 74 4b YE2+L0ER4/YXJQyLkcAbmXuZ.Vg2v7tK
1a6700 38 52 31 66 6a 65 55 6c 37 4e 49 6b 6e 4a 49 54 65 73 65 7a 70 57 45 37 2b 54 74 39 61 76 6b 47 8R1fjeUl7NIknJITesezpWE7+Tt9avkG
1a6720 74 72 41 6a 46 47 41 37 76 30 6c 50 75 62 4e 43 64 45 67 45 54 6a 64 79 41 59 76 65 56 71 55 53 trAjFGA7v0lPubNCdEgETjdyAYveVqUS
1a6740 49 53 6e 46 4f 0a 59 46 57 65 32 79 4d 5a 65 56 59 48 44 44 39 6a 43 31 79 77 34 72 35 2b 46 66 ISnFO.YFWe2yMZeVYHDD9jC1yw4r5+Ff
1a6760 79 55 4d 31 68 42 4f 48 54 45 34 59 2b 4c 33 79 61 73 48 37 57 4c 4f 37 64 44 57 57 75 77 4a 4b yUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJK
1a6780 5a 74 6b 49 76 45 63 75 70 64 4d 35 69 33 79 39 35 65 0a 65 2b 2b 55 38 52 73 2b 79 73 6b 68 77 ZtkIvEcupdM5i3y95e.e++U8Rs+yskhw
1a67a0 63 57 59 41 71 71 69 39 6c 74 33 6d 2f 56 2b 6c 6c 55 30 48 47 64 70 77 50 46 43 34 30 65 73 2f cWYAqqi9lt3m/V+llU0HGdpwPFC40es/
1a67c0 43 67 63 5a 6c 55 43 41 77 45 41 41 61 4f 42 6a 44 43 42 69 54 41 50 42 67 4e 56 48 52 4d 45 0a CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME.
1a67e0 43 44 41 47 41 51 48 2f 41 67 45 4b 4d 41 73 47 41 31 55 64 44 77 51 45 41 77 49 42 42 6a 41 64 CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAd
1a6800 42 67 4e 56 48 51 34 45 46 67 51 55 34 33 4d 74 33 38 73 4f 4b 41 7a 65 33 62 4f 6b 79 6e 6d 34 BgNVHQ4EFgQU43Mt38sOKAze3bOkynm4
1a6820 6a 72 76 6f 4d 49 6b 77 45 51 59 4a 0a 59 49 5a 49 41 59 62 34 51 67 45 42 42 41 51 44 41 67 45 jrvoMIkwEQYJ.YIZIAYb4QgEBBAQDAgE
1a6840 47 4d 44 63 47 41 31 55 64 48 77 51 77 4d 43 34 77 4c 4b 41 71 6f 43 69 47 4a 6d 68 30 64 48 41 GMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA
1a6860 36 4c 79 39 33 64 33 63 75 59 32 56 79 64 48 42 73 64 58 4d 75 59 32 39 74 0a 4c 30 4e 53 54 43 6Ly93d3cuY2VydHBsdXMuY29t.L0NSTC
1a6880 39 6a 62 47 46 7a 63 7a 49 75 59 33 4a 73 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQ
1a68a0 55 41 41 34 49 42 41 51 43 6e 56 4d 2b 49 52 42 6e 4c 33 39 52 2f 41 4e 39 57 4d 32 4b 31 39 31 UAA4IBAQCnVM+IRBnL39R/AN9WM2K191
1a68c0 45 42 6b 4f 76 44 0a 50 39 47 49 52 4f 6b 6b 58 65 2f 6e 46 4c 30 67 74 35 6f 38 41 50 35 74 6e EBkOvD.P9GIROkkXe/nFL0gt5o8AP5tn
1a68e0 39 75 51 33 4e 66 30 59 74 61 4c 63 46 33 6e 35 51 52 49 71 57 68 38 79 66 46 43 38 32 78 2f 78 9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/x
1a6900 58 70 38 48 56 47 49 75 74 49 4b 50 69 64 64 33 69 31 52 0a 54 74 4d 54 5a 47 6e 6b 4c 75 50 54 Xp8HVGIutIKPidd3i1R.TtMTZGnkLuPT
1a6920 35 35 73 4a 6d 61 62 67 6c 5a 76 4f 47 74 64 2f 76 6a 7a 4f 55 72 4d 52 46 63 45 50 46 38 30 44 55sJmabglZvOGtd/vjzOUrMRFcEPF80D
1a6940 75 35 77 6c 46 62 71 69 64 6f 6e 38 42 76 45 59 30 4a 4e 4c 44 6e 79 43 74 36 58 30 39 6c 2f 2b u5wlFbqidon8BvEY0JNLDnyCt6X09l/+
1a6960 0a 37 55 43 6d 6e 59 52 30 4f 62 6e 63 48 6f 55 57 32 69 6b 62 68 69 4d 41 79 62 75 4a 66 6d 36 .7UCmnYR0ObncHoUW2ikbhiMAybuJfm6
1a6980 41 69 42 34 76 46 4c 51 44 4a 4b 67 79 62 77 4f 61 52 79 77 77 76 6c 62 47 70 30 49 43 63 42 76 AiB4vFLQDJKgybwOaRywwvlbGp0ICcBv
1a69a0 71 51 4e 69 36 42 51 4e 77 42 36 53 57 0a 2f 2f 31 49 4d 77 72 68 33 4b 57 42 6b 4a 74 4e 33 58 qQNi6BQNwB6SW.//1IMwrh3KWBkJtN3X
1a69c0 33 6e 35 37 4c 4e 58 4d 68 71 6c 66 69 6c 39 6f 33 45 58 58 67 49 76 6e 73 47 31 6b 6e 50 47 54 3n57LNXMhqlfil9o3EXXgIvnsG1knPGT
1a69e0 5a 51 49 79 34 49 35 70 34 46 54 55 63 59 31 52 62 70 73 64 61 32 45 4e 57 37 0a 6c 37 2b 69 6a ZQIy4I5p4FTUcY1Rbpsda2ENW7.l7+ij
1a6a00 72 52 55 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 rRU.-----END.CERTIFICATE-----..D
1a6a20 53 54 20 52 6f 6f 74 20 43 41 20 58 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d ST.Root.CA.X3.==============.---
1a6a40 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 53 6a 43 --BEGIN.CERTIFICATE-----.MIIDSjC
1a6a60 43 41 6a 4b 67 41 77 49 42 41 67 49 51 52 4b 2b 77 67 4e 61 6a 4a 37 71 4a 4d 44 6d 47 4c 76 68 CAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvh
1a6a80 41 61 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 2f 4d 53 51 77 49 67 59 AazANBgkqhkiG9w0BAQUFADA/MSQwIgY
1a6aa0 44 56 51 51 4b 0a 45 78 74 45 61 57 64 70 64 47 46 73 49 46 4e 70 5a 32 35 68 64 48 56 79 5a 53 DVQQK.ExtEaWdpdGFsIFNpZ25hdHVyZS
1a6ac0 42 55 63 6e 56 7a 64 43 42 44 62 79 34 78 46 7a 41 56 42 67 4e 56 42 41 4d 54 44 6b 52 54 56 43 BUcnVzdCBDby4xFzAVBgNVBAMTDkRTVC
1a6ae0 42 53 62 32 39 30 49 45 4e 42 49 46 67 7a 4d 42 34 58 0a 44 54 41 77 4d 44 6b 7a 4d 44 49 78 4d BSb290IENBIFgzMB4X.DTAwMDkzMDIxM
1a6b00 54 49 78 4f 56 6f 58 44 54 49 78 4d 44 6b 7a 4d 44 45 30 4d 44 45 78 4e 56 6f 77 50 7a 45 6b 4d TIxOVoXDTIxMDkzMDE0MDExNVowPzEkM
1a6b20 43 49 47 41 31 55 45 43 68 4d 62 52 47 6c 6e 61 58 52 68 62 43 42 54 61 57 64 75 59 58 52 31 0a CIGA1UEChMbRGlnaXRhbCBTaWduYXR1.
1a6b40 63 6d 55 67 56 48 4a 31 63 33 51 67 51 32 38 75 4d 52 63 77 46 51 59 44 56 51 51 44 45 77 35 45 cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5E
1a6b60 55 31 51 67 55 6d 39 76 64 43 42 44 51 53 42 59 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 U1QgUm9vdCBDQSBYMzCCASIwDQYJKoZI
1a6b80 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 2b hvcNAQEBBQAD.ggEPADCCAQoCggEBAN+
1a6ba0 76 36 5a 64 51 43 49 4e 58 74 4d 78 69 5a 66 61 51 67 75 7a 48 30 79 78 72 4d 4d 70 62 37 4e 6e v6ZdQCINXtMxiZfaQguzH0yxrMMpb7Nn
1a6bc0 44 66 63 64 41 77 52 67 55 69 2b 44 6f 4d 33 5a 4a 4b 75 4d 2f 49 55 6d 54 0a 72 45 34 4f 72 7a DfcdAwRgUi+DoM3ZJKuM/IUmT.rE4Orz
1a6be0 35 49 79 32 58 75 2f 4e 4d 68 44 32 58 53 4b 74 6b 79 6a 34 7a 6c 39 33 65 77 45 6e 75 31 6c 63 5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lc
1a6c00 43 4a 6f 36 6d 36 37 58 4d 75 65 67 77 47 4d 6f 4f 69 66 6f 6f 55 4d 4d 30 52 6f 4f 45 71 4f 4c CJo6m67XMuegwGMoOifooUMM0RoOEqOL
1a6c20 6c 35 43 6a 48 39 0a 55 4c 32 41 5a 64 2b 33 55 57 4f 44 79 4f 4b 49 59 65 70 4c 59 59 48 73 55 l5CjH9.UL2AZd+3UWODyOKIYepLYYHsU
1a6c40 6d 75 35 6f 75 4a 4c 47 69 69 66 53 4b 4f 65 44 4e 6f 4a 6a 6a 34 58 4c 68 37 64 49 4e 39 62 78 mu5ouJLGiifSKOeDNoJjj4XLh7dIN9bx
1a6c60 69 71 4b 71 79 36 39 63 4b 33 46 43 78 6f 6c 6b 48 52 79 0a 78 58 74 71 71 7a 54 57 4d 49 6e 2f iqKqy69cK3FCxolkHRy.xXtqqzTWMIn/
1a6c80 35 57 67 54 65 31 51 4c 79 4e 61 75 37 46 71 63 6b 68 34 39 5a 4c 4f 4d 78 74 2b 2f 79 55 46 77 5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
1a6ca0 37 42 5a 79 31 53 62 73 4f 46 55 35 51 39 44 38 2f 52 68 63 51 50 47 58 36 39 57 61 6d 34 30 64 7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
1a6cc0 0a 75 74 6f 6c 75 63 62 59 33 38 45 56 41 6a 71 72 32 6d 37 78 50 69 37 31 58 41 69 63 50 4e 61 .utolucbY38EVAjqr2m7xPi71XAicPNa
1a6ce0 44 61 65 51 51 6d 78 6b 71 74 69 6c 58 34 2b 55 39 6d 35 2f 77 41 6c 30 43 41 77 45 41 41 61 4e DaeQQmxkqtilX4+U9m5/wAl0CAwEAAaN
1a6d00 43 4d 45 41 77 44 77 59 44 56 52 30 54 0a 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 CMEAwDwYDVR0T.AQH/BAUwAwEB/zAOBg
1a6d20 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4d NVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFM
1a6d40 53 6e 73 61 52 37 4c 48 48 36 32 2b 46 4c 6b 48 58 2f 78 42 56 67 68 59 6b 51 0a 4d 41 30 47 43 SnsaR7LHH62+FLkHX/xBVghYkQ.MA0GC
1a6d60 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 43 6a 47 69 79 62 46 77 42 63 71 SqGSIb3DQEBBQUAA4IBAQCjGiybFwBcq
1a6d80 52 37 75 4b 47 59 33 4f 72 2b 44 78 7a 39 4c 77 77 6d 67 6c 53 42 64 34 39 6c 5a 52 4e 49 2b 44 R7uKGY3Or+Dxz9LwwmglSBd49lZRNI+D
1a6da0 54 36 39 69 6b 75 67 0a 64 42 2f 4f 45 49 4b 63 64 42 6f 64 66 70 67 61 33 63 73 54 53 37 4d 67 T69ikug.dB/OEIKcdBodfpga3csTS7Mg
1a6dc0 52 4f 53 52 36 63 7a 38 66 61 58 62 61 75 58 2b 35 76 33 67 54 74 32 33 41 44 71 31 63 45 6d 76 ROSR6cz8faXbauX+5v3gTt23ADq1cEmv
1a6de0 38 75 58 72 41 76 48 52 41 6f 73 5a 79 35 51 36 58 6b 6a 45 0a 47 42 35 59 47 56 38 65 41 6c 72 8uXrAvHRAosZy5Q6XkjE.GB5YGV8eAlr
1a6e00 77 44 50 47 78 72 61 6e 63 57 59 61 4c 62 75 6d 52 39 59 62 4b 2b 72 6c 6d 4d 36 70 5a 57 38 37 wDPGxrancWYaLbumR9YbK+rlmM6pZW87
1a6e20 69 70 78 5a 7a 52 38 73 72 7a 4a 6d 77 4e 30 6a 50 34 31 5a 4c 39 63 38 50 44 48 49 79 68 38 62 ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8b
1a6e40 77 0a 52 4c 74 54 63 6d 31 44 39 53 5a 49 6d 6c 4a 6e 74 31 69 72 2f 6d 64 32 63 58 6a 62 44 61 w.RLtTcm1D9SZImlJnt1ir/md2cXjbDa
1a6e60 4a 57 46 42 4d 35 4a 44 47 46 6f 71 67 43 57 6a 42 48 34 64 31 51 42 37 77 43 43 5a 41 41 36 32 JWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62
1a6e80 52 6a 59 4a 73 57 76 49 6a 4a 45 75 62 53 0a 66 5a 47 4c 2b 54 30 79 6a 57 57 30 36 58 79 78 56 RjYJsWvIjJEubS.fZGL+T0yjWW06XyxV
1a6ea0 33 62 71 78 62 59 6f 4f 62 38 56 5a 52 7a 49 39 6e 65 57 61 67 71 4e 64 77 76 59 6b 51 73 45 6a 3bqxbYoOb8VZRzI9neWagqNdwvYkQsEj
1a6ec0 67 66 62 4b 62 59 4b 37 70 32 43 4e 54 55 51 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 gfbKbYK7p2CNTUQ.-----END.CERTIFI
1a6ee0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 53 69 67 6e 20 47 6f 6c 64 20 43 41 20 2d 20 47 CATE-----..SwissSign.Gold.CA.-.G
1a6f00 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 2.======================.-----BE
1a6f20 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 75 6a 43 43 41 36 4b GIN.CERTIFICATE-----.MIIFujCCA6K
1a6f40 67 41 77 49 42 41 67 49 4a 41 4c 74 41 48 45 50 31 58 6b 2b 77 4d 41 30 47 43 53 71 47 53 49 62 gAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb
1a6f60 33 44 51 45 42 42 51 55 41 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 49 4d 52 55 3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRU
1a6f80 77 0a 45 77 59 44 56 51 51 4b 45 77 78 54 64 32 6c 7a 63 31 4e 70 5a 32 34 67 51 55 63 78 48 7a w.EwYDVQQKEwxTd2lzc1NpZ24gQUcxHz
1a6fa0 41 64 42 67 4e 56 42 41 4d 54 46 6c 4e 33 61 58 4e 7a 55 32 6c 6e 62 69 42 48 62 32 78 6b 49 45 AdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIE
1a6fc0 4e 42 49 43 30 67 52 7a 49 77 48 68 63 4e 0a 4d 44 59 78 4d 44 49 31 4d 44 67 7a 4d 44 4d 31 57 NBIC0gRzIwHhcN.MDYxMDI1MDgzMDM1W
1a6fe0 68 63 4e 4d 7a 59 78 4d 44 49 31 4d 44 67 7a 4d 44 4d 31 57 6a 42 46 4d 51 73 77 43 51 59 44 56 hcNMzYxMDI1MDgzMDM1WjBFMQswCQYDV
1a7000 51 51 47 45 77 4a 44 53 44 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 55 33 64 70 0a 63 33 4e 54 QQGEwJDSDEVMBMGA1UEChMMU3dp.c3NT
1a7020 61 57 64 75 49 45 46 48 4d 52 38 77 48 51 59 44 56 51 51 44 45 78 5a 54 64 32 6c 7a 63 31 4e 70 aWduIEFHMR8wHQYDVQQDExZTd2lzc1Np
1a7040 5a 32 34 67 52 32 39 73 5a 43 42 44 51 53 41 74 49 45 63 79 4d 49 49 43 49 6a 41 4e 42 67 6b 71 Z24gR29sZCBDQSAtIEcyMIICIjANBgkq
1a7060 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 hkiG9w0B.AQEFAAOCAg8AMIICCgKCAgE
1a7080 41 72 2b 54 75 66 6f 73 6b 44 68 4a 75 71 56 41 74 46 6b 51 37 6b 70 4a 63 79 72 68 64 68 4a 4a Ar+TufoskDhJuqVAtFkQ7kpJcyrhdhJJ
1a70a0 43 45 79 71 38 5a 56 65 43 51 44 35 58 4a 4d 31 51 69 79 55 71 0a 74 32 2f 38 37 36 4c 51 77 42 CEyq8ZVeCQD5XJM1QiyUq.t2/876LQwB
1a70c0 38 43 4a 45 6f 54 6c 6f 38 6a 45 2b 59 6f 57 41 43 6a 52 38 63 47 70 34 51 6a 4b 37 75 39 6c 69 8CJEoTlo8jE+YoWACjR8cGp4QjK7u9li
1a70e0 74 2f 56 63 79 4c 77 56 63 66 44 6d 4a 6c 44 39 30 39 56 6f 70 7a 32 71 35 2b 62 62 71 42 48 48 t/VcyLwVcfDmJlD909Vopz2q5+bbqBHH
1a7100 35 43 0a 6a 43 41 31 32 55 4e 4e 68 50 71 45 32 31 49 73 38 77 34 6e 64 77 74 72 76 78 45 76 63 5C.jCA12UNNhPqE21Is8w4ndwtrvxEvc
1a7120 6e 69 66 4c 74 67 2b 35 68 67 33 57 69 70 79 2b 64 70 69 6b 4a 4b 56 79 68 2b 63 36 62 4d 38 4b nifLtg+5hg3Wipy+dpikJKVyh+c6bM8K
1a7140 38 76 7a 41 52 4f 2f 57 73 2f 42 74 51 70 67 0a 76 64 32 31 6d 57 52 54 75 4b 43 57 73 32 2f 69 8vzARO/Ws/BtQpg.vd21mWRTuKCWs2/i
1a7160 4a 6e 65 52 6a 4f 42 69 45 41 4b 66 4e 41 2b 6b 31 5a 49 7a 55 64 36 2b 6a 62 71 45 65 6d 41 38 JneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8
1a7180 61 74 75 66 4b 2b 7a 65 33 67 45 2f 62 6b 33 6c 55 49 62 4c 74 4b 2f 74 52 45 44 46 0a 79 6c 71 atufK+ze3gE/bk3lUIbLtK/tREDF.ylq
1a71a0 4d 32 74 49 72 66 4b 6a 75 76 71 62 6c 43 71 6f 4f 70 64 38 46 55 72 64 56 78 79 4a 64 4d 6d 71 M2tIrfKjuvqblCqoOpd8FUrdVxyJdMmq
1a71c0 58 6c 32 4d 54 32 38 6e 62 65 54 5a 37 68 54 70 4b 78 56 4b 4a 2b 53 54 6e 6e 58 65 70 67 76 39 Xl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9
1a71e0 56 48 4b 56 78 61 53 76 52 0a 41 69 54 79 73 79 62 55 61 39 6f 45 56 65 58 42 43 73 64 74 4d 44 VHKVxaSvR.AiTysybUa9oEVeXBCsdtMD
1a7200 65 51 4b 75 53 65 46 44 4e 65 46 68 64 56 78 56 75 31 79 7a 53 4a 6b 76 47 64 4a 6f 2b 68 42 39 eQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9
1a7220 54 47 73 6e 68 51 32 77 77 4d 43 33 77 4c 6a 45 48 58 75 65 6e 64 0a 6a 49 6a 33 6f 30 32 79 4d TGsnhQ2wwMC3wLjEHXuend.jIj3o02yM
1a7240 73 7a 59 46 39 72 4e 74 38 35 6d 6e 64 54 39 58 76 2b 39 6c 7a 34 70 64 65 64 2b 70 32 4a 59 72 szYF9rNt85mndT9Xv+9lz4pded+p2JYr
1a7260 79 55 30 70 55 48 48 50 62 77 4e 55 4d 6f 44 41 77 38 49 57 68 2b 56 63 33 68 69 76 36 39 79 46 yU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yF
1a7280 47 6b 4f 0a 70 65 55 44 44 6e 69 4f 4a 69 68 43 38 41 63 4c 59 69 41 51 5a 7a 6c 47 2b 71 6b 44 GkO.peUDDniOJihC8AcLYiAQZzlG+qkD
1a72a0 7a 41 51 34 65 6d 62 76 49 49 4f 31 6a 45 70 57 6a 70 45 41 2f 49 35 63 67 74 36 49 6f 4d 50 69 zAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi
1a72c0 61 47 35 39 6a 65 38 38 33 57 58 30 58 61 78 52 0a 37 79 53 41 72 71 70 57 6c 32 2f 35 72 58 33 aG59je883WX0XaxR.7ySArqpWl2/5rX3
1a72e0 61 59 54 2b 59 64 7a 79 6c 6b 62 59 63 6a 43 62 61 5a 61 49 4a 62 63 48 69 56 4f 4f 35 79 6b 78 aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykx
1a7300 4d 67 49 39 33 65 32 43 61 48 74 2b 32 38 6b 67 65 44 72 70 4f 56 47 32 59 34 4f 47 69 0a 47 71 MgI93e2CaHt+28kgeDrpOVG2Y4OGi.Gq
1a7320 4a 33 55 4d 2f 45 59 35 4c 73 52 78 6d 64 36 2b 5a 72 7a 73 45 43 41 77 45 41 41 61 4f 42 72 44 J3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrD
1a7340 43 42 71 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 CBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR
1a7360 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 57 0TAQH/BAUw.AwEB/zAdBgNVHQ4EFgQUW
1a7380 79 56 37 6c 71 52 6c 55 58 36 34 4f 66 50 41 65 47 5a 65 36 44 72 6e 38 4f 34 77 48 77 59 44 56 yV7lqRlUX64OfPAeGZe6Drn8O4wHwYDV
1a73a0 52 30 6a 42 42 67 77 46 6f 41 55 57 79 56 37 6c 71 52 6c 55 58 36 34 0a 4f 66 50 41 65 47 5a 65 R0jBBgwFoAUWyV7lqRlUX64.OfPAeGZe
1a73c0 36 44 72 6e 38 4f 34 77 52 67 59 44 56 52 30 67 42 44 38 77 50 54 41 37 42 67 6c 67 68 58 51 42 6Drn8O4wRgYDVR0gBD8wPTA7BglghXQB
1a73e0 57 51 45 43 41 51 45 77 4c 6a 41 73 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 67 61 48 52 30 WQECAQEwLjAsBggrBgEFBQcCARYgaHR0
1a7400 63 44 6f 76 0a 4c 33 4a 6c 63 47 39 7a 61 58 52 76 63 6e 6b 75 63 33 64 70 63 33 4e 7a 61 57 64 cDov.L3JlcG9zaXRvcnkuc3dpc3NzaWd
1a7420 75 4c 6d 4e 76 62 53 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 uLmNvbS8wDQYJKoZIhvcNAQEFBQADggI
1a7440 42 41 43 65 36 34 35 52 38 38 61 37 41 33 68 66 6d 0a 35 64 6a 56 39 56 53 77 67 2f 53 37 7a 56 BACe645R88a7A3hfm.5djV9VSwg/S7zV
1a7460 34 46 65 30 2b 66 64 57 61 76 50 4f 68 57 66 76 78 79 65 44 67 44 32 53 74 69 47 77 43 35 2b 4f 4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+O
1a7480 6c 67 7a 63 7a 4f 55 59 72 48 55 44 46 75 34 55 70 2b 47 43 39 70 57 62 59 39 5a 49 45 72 0a 34 lgzczOUYrHUDFu4Up+GC9pWbY9ZIEr.4
1a74a0 34 4f 45 35 69 4b 48 6a 6e 33 67 37 67 4b 5a 59 62 67 65 39 4c 67 72 69 42 49 57 68 4d 49 78 6b 4OE5iKHjn3g7gKZYbge9LgriBIWhMIxk
1a74c0 7a 69 57 4d 61 61 35 4f 31 4d 2f 77 79 53 54 56 6c 74 70 6b 75 7a 46 77 62 73 34 41 4f 50 73 46 ziWMaa5O1M/wySTVltpkuzFwbs4AOPsF
1a74e0 36 6d 34 33 4d 64 38 41 59 4f 66 0a 4d 6b 65 36 55 69 49 30 48 54 4a 36 43 56 61 6e 66 43 55 32 6m43Md8AYOf.Mke6UiI0HTJ6CVanfCU2
1a7500 71 54 31 4c 32 73 43 43 62 77 71 37 45 73 69 48 53 79 63 52 2b 52 34 74 78 35 4d 2f 6e 74 74 66 qT1L2sCCbwq7EsiHSycR+R4tx5M/nttf
1a7520 4a 6d 74 53 32 53 36 4b 38 52 54 47 52 49 30 56 71 62 65 2f 76 64 36 6d 0a 47 75 36 75 4c 66 74 JmtS2S6K8RTGRI0Vqbe/vd6m.Gu6uLft
1a7540 49 64 78 66 2b 75 2b 79 76 47 50 55 71 55 66 41 35 68 4a 65 56 62 47 34 62 77 79 76 45 64 47 42 Idxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB
1a7560 35 4a 62 41 4b 4a 39 2f 66 58 74 49 35 7a 30 56 39 51 6b 76 66 73 79 77 65 78 63 5a 64 79 6c 55 5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU
1a7580 36 6f 4a 78 70 0a 6d 6f 2f 61 37 37 4b 77 50 4a 2b 48 62 42 49 72 5a 58 41 56 55 6a 45 61 4a 4d 6oJxp.mo/a77KwPJ+HbBIrZXAVUjEaJM
1a75a0 39 76 4d 53 4e 51 48 34 78 50 6a 79 50 44 64 45 46 6a 48 46 57 6f 46 4e 30 2b 34 46 46 51 7a 2f 9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/
1a75c0 45 62 4d 46 59 4f 6b 72 43 43 68 64 69 44 79 79 4a 6b 0a 76 43 32 34 4a 64 56 55 6f 72 67 47 36 EbMFYOkrCChdiDyyJk.vC24JdVUorgG6
1a75e0 71 32 53 70 43 53 67 77 59 61 31 53 68 4e 71 52 38 38 75 43 31 61 56 56 4d 76 4f 6d 74 74 71 74 q2SpCSgwYa1ShNqR88uC1aVVMvOmttqt
1a7600 4b 61 79 32 30 45 49 68 69 64 33 39 32 71 67 51 6d 77 4c 4f 4d 37 58 64 56 41 79 6b 73 4c 66 0a Kay20EIhid392qgQmwLOM7XdVAyksLf.
1a7620 4b 7a 41 69 53 4e 44 56 51 54 67 6c 58 61 54 70 58 5a 2f 47 6c 48 58 51 52 66 30 77 6c 30 4f 50 KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OP
1a7640 6b 4b 73 4b 78 34 5a 7a 59 45 70 70 4c 64 36 6c 65 4e 63 47 32 6d 71 65 53 7a 35 33 4f 69 41 54 kKsKx4ZzYEppLd6leNcG2mqeSz53OiAT
1a7660 49 67 48 51 76 32 69 65 59 32 42 72 0a 4e 55 30 4c 62 62 71 68 50 63 43 54 34 48 38 6a 73 31 57 IgHQv2ieY2Br.NU0LbbqhPcCT4H8js1W
1a7680 74 63 69 56 4f 52 76 6e 53 46 75 2b 77 5a 4d 45 42 6e 75 6e 4b 6f 47 71 59 44 73 2f 59 59 50 49 tciVORvnSFu+wZMEBnunKoGqYDs/YYPI
1a76a0 76 53 62 6a 6b 51 75 45 34 4e 52 62 30 79 47 35 50 39 34 46 57 36 4c 71 6a 0a 76 69 4f 76 72 76 vSbjkQuE4NRb0yG5P94FW6Lqj.viOvrv
1a76c0 31 76 41 2b 41 43 4f 7a 42 32 2b 68 74 74 51 63 38 42 73 65 6d 34 79 57 62 30 32 79 62 7a 4f 71 1vA+ACOzB2+httQc8Bsem4yWb02ybzOq
1a76e0 52 30 38 6b 6b 6b 57 38 6d 77 30 46 66 42 2b 6a 35 36 34 5a 66 4a 0a 2d 2d 2d 2d 2d 45 4e 44 20 R08kkkW8mw0FfB+j564ZfJ.-----END.
1a7700 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 53 69 67 6e 20 53 69 6c 76 CERTIFICATE-----..SwissSign.Silv
1a7720 65 72 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d er.CA.-.G2.=====================
1a7740 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1a7760 4d 49 49 46 76 54 43 43 41 36 57 67 41 77 49 42 41 67 49 49 54 78 76 55 4c 31 53 37 4c 30 73 77 MIIFvTCCA6WgAwIBAgIITxvUL1S7L0sw
1a7780 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 DQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE
1a77a0 42 68 4d 43 51 30 67 78 46 54 41 54 0a 42 67 4e 56 42 41 6f 54 44 46 4e 33 61 58 4e 7a 55 32 6c BhMCQ0gxFTAT.BgNVBAoTDFN3aXNzU2l
1a77c0 6e 62 69 42 42 52 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 55 33 64 70 63 33 4e 54 61 57 64 nbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWd
1a77e0 75 49 46 4e 70 62 48 5a 6c 63 69 42 44 51 53 41 74 49 45 63 79 4d 42 34 58 0a 44 54 41 32 4d 54 uIFNpbHZlciBDQSAtIEcyMB4X.DTA2MT
1a7800 41 79 4e 54 41 34 4d 7a 49 30 4e 6c 6f 58 44 54 4d 32 4d 54 41 79 4e 54 41 34 4d 7a 49 30 4e 6c AyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nl
1a7820 6f 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 67 78 46 54 41 54 42 67 4e 56 42 41 owRzELMAkGA1UEBhMCQ0gxFTATBgNVBA
1a7840 6f 54 44 46 4e 33 0a 61 58 4e 7a 55 32 6c 6e 62 69 42 42 52 7a 45 68 4d 42 38 47 41 31 55 45 41 oTDFN3.aXNzU2lnbiBBRzEhMB8GA1UEA
1a7860 78 4d 59 55 33 64 70 63 33 4e 54 61 57 64 75 49 46 4e 70 62 48 5a 6c 63 69 42 44 51 53 41 74 49 xMYU3dpc3NTaWduIFNpbHZlciBDQSAtI
1a7880 45 63 79 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 42 41 51 45 46 41 41 4f 43 EcyMIICIjANBgkqhkiG.9w0BAQEFAAOC
1a78a0 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 78 50 47 48 66 39 4e 34 4d 66 63 34 79 66 6a 44 Ag8AMIICCgKCAgEAxPGHf9N4Mfc4yfjD
1a78c0 6d 55 4f 38 78 2f 65 38 4e 2b 64 4f 63 62 70 4c 6a 36 56 7a 48 56 78 75 6d 4b 34 44 56 36 34 34 mUO8x/e8N+dOcbpLj6VzHVxumK4DV644
1a78e0 0a 4e 30 4d 76 46 7a 30 66 79 4d 35 6f 45 4d 46 34 72 68 6b 44 4b 78 44 36 4c 48 6d 44 39 75 69 .N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui
1a7900 35 61 4c 6c 56 38 67 52 45 70 7a 6e 35 2f 41 53 4c 48 76 47 69 54 53 66 35 59 58 75 36 74 2b 57 5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+W
1a7920 69 45 37 62 72 59 54 37 51 62 4e 48 6d 0a 2b 2f 70 65 37 52 32 30 6e 71 41 31 57 36 47 53 79 2f iE7brYT7QbNHm.+/pe7R20nqA1W6GSy/
1a7940 42 4a 6b 76 36 46 43 67 55 2b 35 74 6b 4c 34 6b 2b 37 33 4a 55 33 2f 4a 48 70 4d 6a 55 69 30 52 BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R
1a7960 38 36 54 69 65 46 6e 62 41 56 6c 44 4c 61 59 51 31 48 54 57 42 43 72 70 4a 48 0a 36 49 4e 61 55 86TieFnbAVlDLaYQ1HTWBCrpJH.6INaU
1a7980 46 6a 70 69 6f 75 35 58 61 48 63 33 5a 6c 4b 48 7a 5a 6e 75 30 6a 6b 67 37 59 33 36 30 67 36 72 Fjpiou5XaHc3ZlKHzZnu0jkg7Y360g6r
1a79a0 77 39 6e 6a 78 63 48 36 41 54 4b 37 32 6f 78 68 39 54 41 74 76 6d 55 63 58 74 6e 5a 4c 69 32 6b w9njxcH6ATK72oxh9TAtvmUcXtnZLi2k
1a79c0 55 70 43 65 32 55 75 0a 4d 47 6f 4d 39 5a 44 75 6c 65 62 79 7a 59 4c 73 32 61 46 4b 37 50 61 79 UpCe2Uu.MGoM9ZDulebyzYLs2aFK7Pay
1a79e0 53 2b 56 46 68 65 5a 74 65 4a 4d 45 4c 70 79 43 62 54 61 70 78 44 46 6b 48 34 61 44 43 79 72 30 S+VFheZteJMELpyCbTapxDFkH4aDCyr0
1a7a00 4e 51 70 34 79 56 58 50 51 62 42 48 36 54 43 66 6d 62 35 68 0a 71 41 61 45 75 53 68 36 58 7a 6a NQp4yVXPQbBH6TCfmb5h.qAaEuSh6Xzj
1a7a20 5a 47 36 6b 34 73 49 4e 2f 63 38 48 44 4f 30 67 71 67 67 38 68 6d 37 6a 4d 71 44 58 44 68 42 75 ZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBu
1a7a40 44 73 7a 36 2b 70 4a 56 70 41 54 71 4a 41 48 67 45 32 63 6e 30 6d 52 6d 72 56 6e 35 62 69 34 59 Dsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y
1a7a60 35 0a 46 5a 47 6b 45 43 77 4a 4d 6f 42 67 73 35 50 41 4b 72 59 59 43 35 31 2b 6a 55 6e 79 45 45 5.FZGkECwJMoBgs5PAKrYYC51+jUnyEE
1a7a80 70 2f 2b 64 56 47 4c 78 6d 53 6f 35 6d 6e 4a 71 79 37 6a 44 7a 6d 44 72 78 48 42 39 78 7a 55 66 p/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUf
1a7aa0 46 77 5a 43 38 49 2b 62 52 48 48 54 42 73 0a 52 4f 6f 70 4e 34 57 53 61 47 61 38 67 7a 6a 2b 65 FwZC8I+bRHHTBs.ROopN4WSaGa8gzj+e
1a7ac0 7a 6b 75 30 31 44 77 48 2f 74 65 59 4c 61 70 70 76 6f 6e 51 66 47 62 47 48 4c 79 39 59 52 30 53 zku01DwH/teYLappvonQfGbGHLy9YR0S
1a7ae0 73 6c 6e 78 46 53 75 53 47 54 66 6a 4e 46 75 73 42 33 68 42 34 38 49 48 70 6d 63 0a 63 65 6c 4d slnxFSuSGTfjNFusB3hB48IHpmc.celM
1a7b00 32 4b 58 33 52 78 49 66 64 4e 46 52 6e 6f 62 7a 77 71 49 6a 51 41 74 7a 32 30 75 6d 35 33 4d 47 2KX3RxIfdNFRnobzwqIjQAtz20um53MG
1a7b20 6a 4d 47 67 36 63 46 5a 72 45 62 36 35 69 2f 34 7a 33 47 63 52 6d 32 35 78 42 57 4e 4f 48 6b 44 jMGg6cFZrEb65i/4z3GcRm25xBWNOHkD
1a7b40 52 55 6a 76 78 46 33 58 0a 43 4f 36 48 4f 53 4b 47 73 67 30 50 57 45 50 33 63 61 6c 49 4c 76 33 RUjvxF3X.CO6HOSKGsg0PWEP3calILv3
1a7b60 71 31 68 38 43 41 77 45 41 41 61 4f 42 72 44 43 42 71 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8
1a7b80 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 77 41 77 45 42 2f 7a EBAMCAQYwDwYDVR0TAQH/.BAUwAwEB/z
1a7ba0 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 46 36 44 4e 77 65 52 42 74 6a 70 62 4f 38 74 46 6e 62 AdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb
1a7bc0 30 63 77 70 6a 36 68 6c 67 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 46 36 44 4e 77 65 0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNwe
1a7be0 52 42 0a 74 6a 70 62 4f 38 74 46 6e 62 30 63 77 70 6a 36 68 6c 67 77 52 67 59 44 56 52 30 67 42 RB.tjpbO8tFnb0cwpj6hlgwRgYDVR0gB
1a7c00 44 38 77 50 54 41 37 42 67 6c 67 68 58 51 42 57 51 45 44 41 51 45 77 4c 6a 41 73 42 67 67 72 42 D8wPTA7BglghXQBWQEDAQEwLjAsBggrB
1a7c20 67 45 46 42 51 63 43 41 52 59 67 61 48 52 30 0a 63 44 6f 76 4c 33 4a 6c 63 47 39 7a 61 58 52 76 gEFBQcCARYgaHR0.cDovL3JlcG9zaXRv
1a7c40 63 6e 6b 75 63 33 64 70 63 33 4e 7a 61 57 64 75 4c 6d 4e 76 62 53 38 77 44 51 59 4a 4b 6f 5a 49 cnkuc3dpc3NzaWduLmNvbS8wDQYJKoZI
1a7c60 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 48 50 47 67 65 41 6e 30 69 30 50 0a 34 4a 55 hvcNAQEFBQADggIBAHPGgeAn0i0P.4JU
1a7c80 77 34 70 70 42 66 31 41 73 58 31 39 69 59 61 6d 47 61 6d 6b 59 44 48 52 4a 31 6c 32 45 36 6b 46 w4ppBf1AsX19iYamGamkYDHRJ1l2E6kF
1a7ca0 53 47 47 39 59 72 56 42 57 49 47 72 47 76 53 68 70 57 4a 48 63 6b 52 45 31 71 54 6f 64 76 42 71 SGG9YrVBWIGrGvShpWJHckRE1qTodvBq
1a7cc0 6c 59 4a 37 59 48 33 39 46 0a 6b 57 6e 5a 66 72 74 34 63 73 45 47 44 79 72 4f 6a 34 56 77 59 61 lYJ7YH39F.kWnZfrt4csEGDyrOj4VwYa
1a7ce0 79 67 7a 51 75 34 4f 53 6c 57 68 44 4a 4f 68 72 73 39 78 43 72 5a 31 78 39 79 37 76 35 52 6f 53 ygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoS
1a7d00 4a 42 73 58 45 43 59 78 71 43 73 47 4b 72 58 6c 63 53 48 39 2f 4c 0a 33 58 57 67 77 46 31 35 6b JBsXECYxqCsGKrXlcSH9/L.3XWgwF15k
1a7d20 49 77 62 34 46 44 6d 33 6a 48 2b 6d 48 74 77 58 36 57 51 32 4b 33 34 41 72 5a 76 30 32 44 64 51 Iwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQ
1a7d40 45 73 69 78 54 32 74 4f 6e 71 66 47 68 70 48 6b 58 6b 7a 75 6f 4c 63 4d 6d 6b 44 6c 6d 34 66 53 EsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS
1a7d60 2f 42 78 0a 2f 75 4e 6e 63 71 43 78 76 31 79 4c 35 50 71 5a 49 73 65 45 75 52 75 4e 49 35 63 2f /Bx./uNncqCxv1yL5PqZIseEuRuNI5c/
1a7d80 37 53 58 67 7a 32 57 37 39 57 45 45 37 39 30 65 73 6c 70 42 49 6c 71 68 6e 31 30 73 36 46 76 4a 7SXgz2W79WEE790eslpBIlqhn10s6FvJ
1a7da0 62 61 6b 4d 44 48 69 71 59 4d 5a 57 6a 77 46 61 0a 44 47 69 38 61 52 6c 35 78 42 39 2b 6c 77 57 bakMDHiqYMZWjwFa.DGi8aRl5xB9+lwW
1a7dc0 2f 78 65 6b 6b 55 56 37 55 31 55 74 54 37 64 6b 6a 57 6a 59 44 5a 61 50 42 41 36 31 42 4d 50 4e /xekkUV7U1UtT7dkjWjYDZaPBA61BMPN
1a7de0 47 47 34 57 51 72 32 57 31 31 62 48 6b 46 6c 74 34 64 52 32 58 65 6d 31 5a 71 53 71 50 0a 65 39 GG4WQr2W11bHkFlt4dR2Xem1ZqSqP.e9
1a7e00 37 44 68 34 6b 51 6d 55 6c 7a 65 4d 67 39 76 56 45 31 64 43 72 56 38 58 35 70 47 79 71 37 4f 37 7Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O7
1a7e20 30 6c 75 4a 70 61 50 58 4a 68 6b 47 61 48 37 67 7a 57 54 64 51 52 64 41 74 71 2f 67 73 44 2f 4b 0luJpaPXJhkGaH7gzWTdQRdAtq/gsD/K
1a7e40 4e 56 56 34 6e 2b 53 73 75 75 0a 57 78 63 46 79 50 4b 4e 49 7a 46 54 4f 4e 49 74 61 6a 2b 43 75 NVV4n+Ssuu.WxcFyPKNIzFTONItaj+Cu
1a7e60 59 30 49 61 76 64 65 51 58 52 75 77 78 46 2b 42 36 77 70 59 4a 45 2f 4f 4d 70 58 45 41 32 39 4d Y0IavdeQXRuwxF+B6wpYJE/OMpXEA29M
1a7e80 43 2f 48 70 65 5a 42 6f 4e 71 75 42 59 65 61 6f 4b 52 6c 62 45 77 4a 0a 44 49 6d 36 75 4e 4f 35 C/HpeZBoNquBYeaoKRlbEwJ.DIm6uNO5
1a7ea0 77 4a 4f 4b 4d 50 71 4e 35 5a 70 72 46 51 46 4f 5a 36 72 61 59 6c 59 2b 68 41 68 6d 30 73 51 32 wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2
1a7ec0 66 61 63 2b 45 50 79 49 34 4e 53 41 35 51 43 39 71 76 4e 4f 42 71 4e 36 61 76 6c 69 63 75 4d 4a fac+EPyI4NSA5QC9qvNOBqN6avlicuMJ
1a7ee0 54 2b 75 62 0a 44 67 45 6a 38 5a 2b 37 66 4e 7a 63 62 42 47 58 4a 62 4c 79 74 47 4d 55 30 67 59 T+ub.DgEj8Z+7fNzcbBGXJbLytGMU0gY
1a7f00 71 5a 34 79 44 39 63 37 71 42 39 69 61 61 68 37 73 35 41 71 37 4b 6b 7a 72 43 57 41 35 7a 73 70 qZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zsp
1a7f20 69 32 43 35 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a i2C5u.-----END.CERTIFICATE-----.
1a7f40 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 .GeoTrust.Primary.Certification.
1a7f60 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Authority.======================
1a7f80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1a7fa0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 66 44 43 43 41 6d 53 67 41 77 49 42 41 RTIFICATE-----.MIIDfDCCAmSgAwIBA
1a7fc0 67 49 51 47 4b 79 31 61 76 31 70 74 68 55 36 59 32 79 76 32 76 72 45 6f 54 41 4e 42 67 6b 71 68 gIQGKy1av1pthU6Y2yv2vrEoTANBgkqh
1a7fe0 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 kiG9w0BAQUFADBYMQswCQYDVQQG.EwJV
1a8000 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 35 6a UzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
1a8020 4c 6a 45 78 4d 43 38 47 41 31 55 45 41 78 4d 6f 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 LjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJp
1a8040 62 57 46 79 65 53 42 44 0a 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 bWFyeSBD.ZXJ0aWZpY2F0aW9uIEF1dGh
1a8060 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4e 6a 45 78 4d 6a 63 77 4d 44 41 77 4d 44 42 61 46 77 30 vcml0eTAeFw0wNjExMjcwMDAwMDBaFw0
1a8080 7a 4e 6a 41 33 4d 54 59 79 4d 7a 55 35 4e 54 6c 61 4d 46 67 78 0a 43 7a 41 4a 42 67 4e 56 42 41 zNjA3MTYyMzU5NTlaMFgx.CzAJBgNVBA
1a80a0 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 YTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdC
1a80c0 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 5a 57 39 55 63 6e 56 7a 64 43 BJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdC
1a80e0 42 51 0a 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 BQ.cmltYXJ5IENlcnRpZmljYXRpb24gQ
1a8100 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 XV0aG9yaXR5MIIBIjANBgkqhkiG9w0BA
1a8120 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 41 76 72 67 56 65 2f 2f 55 QEFAAOCAQ8AMIIB.CgKCAQEAvrgVe//U
1a8140 66 48 31 6e 72 59 4e 6b 65 38 68 43 55 79 33 66 39 6f 51 49 49 47 48 57 41 56 6c 71 6e 45 51 52 fH1nrYNke8hCUy3f9oQIIGHWAVlqnEQR
1a8160 72 2b 39 32 2f 5a 56 2b 7a 6d 45 77 75 33 71 44 58 77 4b 39 41 57 62 4b 37 68 57 4e 0a 62 36 45 r+92/ZV+zmEwu3qDXwK9AWbK7hWN.b6E
1a8180 77 6e 4c 32 68 68 5a 36 55 4f 76 4e 57 69 41 41 78 7a 39 6a 75 61 70 59 43 32 65 30 44 6a 50 74 wnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt
1a81a0 31 62 65 66 71 75 46 55 57 42 52 61 61 39 4f 42 65 73 59 6a 41 5a 49 56 63 46 55 32 49 78 37 65 1befquFUWBRaa9OBesYjAZIVcFU2Ix7e
1a81c0 36 34 48 58 70 72 51 55 39 0a 6e 63 65 4a 53 4f 43 37 4b 4d 67 44 34 54 43 54 5a 46 35 53 77 46 64HXprQU9.nceJSOC7KMgD4TCTZF5SwF
1a81e0 6c 77 49 6a 56 58 69 49 72 78 6c 51 71 44 31 37 77 78 63 77 45 30 37 65 39 47 63 65 42 72 41 71 lwIjVXiIrxlQqD17wxcwE07e9GceBrAq
1a8200 67 31 63 6d 75 58 6d 32 62 67 79 78 78 35 58 39 67 61 42 47 67 65 0a 52 77 4c 6d 6e 57 44 69 4e g1cmuXm2bgyxx5X9gaBGge.RwLmnWDiN
1a8220 70 63 42 33 38 34 31 6b 74 2b 2b 5a 38 64 74 64 31 6b 37 6a 35 33 57 6b 42 57 55 76 45 49 30 45 pcB3841kt++Z8dtd1k7j53WkBWUvEI0E
1a8240 4d 45 35 2b 62 45 6e 50 6e 37 57 69 6e 58 46 73 71 2b 57 30 36 4c 65 6d 2b 53 59 76 6e 33 68 36 ME5+bEnPn7WinXFsq+W06Lem+SYvn3h6
1a8260 59 47 74 0a 74 6d 2f 38 31 77 37 61 34 44 53 77 44 52 70 33 35 2b 4d 49 6d 4f 39 59 2b 70 79 45 YGt.tm/81w7a4DSwDRp35+MImO9Y+pyE
1a8280 74 7a 61 76 77 74 2b 73 30 76 51 51 42 6e 42 78 4e 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 tzavwt+s0vQQBnBxNQIDAQABo0IwQDAP
1a82a0 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 BgNVHRMBAf8EBTAD.AQH/MA4GA1UdDwE
1a82c0 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 4c 4e 56 51 51 5a 63 B/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZc
1a82e0 56 69 2f 43 50 4e 6d 46 62 53 76 74 72 32 5a 6e 4a 4d 35 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 Vi/CPNmFbSvtr2ZnJM5IwDQYJKoZI.hv
1a8300 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 46 70 77 66 79 7a 64 74 7a 52 50 39 59 5a 52 71 53 cNAQEFBQADggEBAFpwfyzdtzRP9YZRqS
1a8320 61 2b 53 37 69 71 38 58 45 4e 33 47 48 48 6f 4f 6f 30 48 6e 70 33 44 77 51 31 36 43 65 50 62 4a a+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJ
1a8340 43 2f 6b 52 59 6b 52 6a 35 4b 0a 54 73 34 72 46 74 55 4c 55 68 33 38 48 32 65 69 41 6b 55 78 54 C/kRYkRj5K.Ts4rFtULUh38H2eiAkUxT
1a8360 38 37 7a 2b 67 4f 6e 65 5a 31 54 61 74 6e 61 59 7a 72 34 67 4e 66 54 6d 65 47 6c 34 62 37 55 56 87z+gOneZ1TatnaYzr4gNfTmeGl4b7UV
1a8380 58 47 59 4e 54 71 2b 6b 2b 71 75 72 55 4b 79 6b 47 2f 67 2f 43 46 4e 0a 4e 57 4d 7a 69 55 6e 57 XGYNTq+k+qurUKykG/g/CFN.NWMziUnW
1a83a0 6d 30 37 4b 78 2b 64 4f 43 51 44 33 32 73 66 76 6d 57 4b 5a 64 37 61 56 49 6c 36 4b 6f 4b 76 30 m07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0
1a83c0 75 48 69 59 79 6a 67 5a 6d 63 6c 79 6e 6e 6a 4e 53 36 79 76 47 61 42 7a 45 69 33 38 77 6b 47 36 uHiYyjgZmclynnjNS6yvGaBzEi38wkG6
1a83e0 67 5a 48 61 0a 46 6c 6f 78 74 2f 6d 30 63 59 41 53 53 4a 6c 79 63 31 70 5a 55 38 46 6a 55 6a 50 gZHa.Floxt/m0cYASSJlyc1pZU8FjUjP
1a8400 74 70 38 6e 53 4f 51 4a 77 2b 75 43 78 51 6d 59 70 71 70 74 52 37 54 42 55 49 68 52 66 32 61 73 tp8nSOQJw+uCxQmYpqptR7TBUIhRf2as
1a8420 64 77 65 53 55 38 50 6a 31 4b 2f 66 71 79 6e 68 47 0a 31 72 69 52 2f 61 59 4e 4b 78 6f 55 41 54 dweSU8Pj1K/fqynhG.1riR/aYNKxoUAT
1a8440 36 41 38 45 4b 67 6c 51 64 65 62 63 33 4d 53 36 52 46 6a 61 73 53 36 4c 50 65 57 75 57 67 66 4f 6A8EKglQdebc3MS6RFjasS6LPeWuWgfO
1a8460 67 50 49 68 31 61 36 56 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d gPIh1a6Vk=.-----END.CERTIFICATE-
1a8480 2d 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d ----..thawte.Primary.Root.CA.===
1a84a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1a84c0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 49 44 43 43 41 77 69 67 41 77 49 42 ERTIFICATE-----.MIIEIDCCAwigAwIB
1a84e0 41 67 49 51 4e 45 37 56 56 79 44 56 37 65 78 4a 39 43 2f 4f 4e 39 73 72 62 54 41 4e 42 67 6b 71 AgIQNE7VVyDV7exJ9C/ON9srbTANBgkq
1a8500 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 71 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d hkiG9w0BAQUFADCBqTELMAkGA1UE.BhM
1a8520 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 53 57 35 CVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5
1a8540 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGl
1a8560 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 4d 44 vbiBTZXJ2.aWNlcyBEaXZpc2lvbjE4MD
1a8580 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 59 67 64 47 68 68 64 33 52 6c 4c 43 YGA1UECxMvKGMpIDIwMDYgdGhhd3RlLC
1a85a0 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 0a 63 6d 6c 36 5a 57 51 67 64 BJbmMuIC0gRm9yIGF1dGhv.cml6ZWQgd
1a85c0 58 4e 6c 49 47 39 75 62 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 54 46 6e 52 6f 59 58 64 30 5a XNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0Z
1a85e0 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 77 48 68 63 4e 4d 44 59 78 4d SBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxM
1a8600 54 45 33 0a 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 32 4d 6a 4d 31 4f 54 55 35 TE3.MDAwMDAwWhcNMzYwNzE2MjM1OTU5
1a8620 57 6a 43 42 71 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 WjCBqTELMAkGA1UEBhMCVVMxFTATBgNV
1a8640 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 0a 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 BAoTDHRoYXd0ZSwg.SW5jLjEoMCYGA1U
1a8660 45 43 78 4d 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 61 57 4e ECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWN
1a8680 6c 63 79 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 0a 4b 47 lcyBEaXZpc2lvbjE4MDYGA1UECxMv.KG
1a86a0 4d 70 49 44 49 77 4d 44 59 67 64 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d MpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm
1a86c0 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 48 7a 9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHz
1a86e0 41 64 42 67 4e 56 42 41 4d 54 0a 46 6e 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 AdBgNVBAMT.FnRoYXd0ZSBQcmltYXJ5I
1a8700 46 4a 76 62 33 51 67 51 30 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 FJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBA
1a8720 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 73 0a 6f 50 44 37 67 46 6e 55 QUAA4IBDwAwggEKAoIBAQCs.oPD7gFnU
1a8740 6e 4d 65 6b 7a 35 32 68 57 58 4d 4a 45 45 55 4d 44 53 78 75 61 50 46 73 57 30 68 6f 53 56 6b 33 nMekz52hWXMJEEUMDSxuaPFsW0hoSVk3
1a8760 2f 41 73 7a 47 63 4a 33 66 38 77 51 4c 5a 55 30 48 4f 62 72 54 51 6d 6e 48 4e 4b 34 79 5a 63 32 /AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2
1a8780 41 72 65 4a 0a 31 43 52 66 42 73 44 4d 52 4a 53 55 6a 51 4a 69 62 2b 74 61 33 52 47 4e 4b 4a 70 AreJ.1CRfBsDMRJSUjQJib+ta3RGNKJp
1a87a0 63 68 4a 41 51 65 67 32 39 64 47 59 76 61 6a 69 67 34 74 56 55 52 4f 73 64 42 35 38 48 75 6d 2f chJAQeg29dGYvajig4tVUROsdB58Hum/
1a87c0 75 36 66 31 4f 43 79 6e 31 50 6f 53 67 41 66 47 63 0a 71 2f 67 63 66 6f 6d 6b 36 4b 48 59 63 57 u6f1OCyn1PoSgAfGc.q/gcfomk6KHYcW
1a87e0 55 4e 6f 31 46 37 37 72 7a 53 49 6d 41 4e 75 56 75 64 33 37 72 38 55 56 73 4c 72 35 69 79 36 53 UNo1F77rzSImANuVud37r8UVsLr5iy6S
1a8800 37 70 42 4f 68 69 68 39 34 72 79 4e 64 4f 77 55 78 6b 48 74 33 50 68 31 69 36 53 6b 2f 4b 0a 61 7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K.a
1a8820 41 63 64 48 4a 31 4b 78 74 55 76 6b 63 78 38 63 58 49 63 78 63 42 6e 36 7a 4c 39 79 5a 4a 63 6c AcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJcl
1a8840 4e 71 46 77 4a 75 2f 55 33 30 72 43 66 53 4d 6e 5a 45 66 6c 32 70 53 79 39 34 4a 4e 71 52 33 32 NqFwJu/U30rCfSMnZEfl2pSy94JNqR32
1a8860 48 75 48 55 45 54 56 50 6d 34 70 0a 61 66 73 35 53 53 59 65 43 61 57 41 65 30 41 74 36 2b 67 6e HuHUETVPm4p.afs5SSYeCaWAe0At6+gn
1a8880 68 63 6e 2b 59 66 31 2b 35 6e 79 58 48 64 57 64 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 hcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8G
1a88a0 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 0a 56 52 30 50 41 51 48 A1UdEwEB/wQFMAMBAf8wDgYD.VR0PAQH
1a88c0 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 37 57 30 58 50 72 38 37 /BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87
1a88e0 4c 65 76 30 78 6b 68 70 71 74 76 4e 47 36 31 64 49 55 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0
1a8900 42 41 51 55 46 0a 41 41 4f 43 41 51 45 41 65 52 48 41 53 37 4f 52 74 76 7a 77 36 57 66 55 44 57 BAQUF.AAOCAQEAeRHAS7ORtvzw6WfUDW
1a8920 35 46 76 6c 58 6f 6b 39 4c 4f 41 7a 2f 74 32 69 57 77 48 56 66 4c 48 6a 70 32 6f 45 7a 73 55 48 5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUH
1a8940 62 6f 5a 48 49 4d 70 4b 6e 78 75 49 76 57 31 6f 65 45 0a 75 7a 4c 6c 51 52 48 41 64 39 6d 7a 59 boZHIMpKnxuIvW1oeE.uzLlQRHAd9mzY
1a8960 4a 33 72 47 39 58 52 62 6b 52 45 71 61 59 42 37 46 56 69 48 58 65 34 58 49 35 49 53 58 79 63 4f J3rG9XRbkREqaYB7FViHXe4XI5ISXycO
1a8980 31 63 52 72 4b 31 7a 4e 34 34 76 65 46 79 51 61 45 66 5a 59 47 44 6d 2f 41 63 39 49 69 41 58 0a 1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX.
1a89a0 78 50 63 57 36 63 54 59 63 76 6e 49 63 33 7a 66 46 69 38 56 71 54 37 39 61 69 65 32 6f 65 74 61 xPcW6cTYcvnIc3zfFi8VqT79aie2oeta
1a89c0 75 70 67 66 31 65 4e 4e 5a 41 71 64 45 38 68 68 75 76 55 35 48 49 65 36 75 4c 31 37 49 6e 2f 32 upgf1eNNZAqdE8hhuvU5HIe6uL17In/2
1a89e0 2f 71 78 41 65 65 57 73 45 47 38 39 0a 6a 78 74 35 64 6f 76 45 4e 37 4d 68 47 49 54 6c 4e 67 44 /qxAeeWsEG89.jxt5dovEN7MhGITlNgD
1a8a00 72 59 79 43 5a 75 65 6e 2b 4d 77 53 37 51 63 6a 42 41 76 6c 45 59 79 43 65 67 63 35 43 30 39 59 rYyCZuen+MwS7QcjBAvlEYyCegc5C09Y
1a8a20 2f 4c 48 62 54 59 35 78 5a 33 59 2b 6d 34 51 36 67 4c 6b 48 33 4c 70 56 48 0a 7a 37 7a 39 4d 2f /LHbTY5xZ3Y+m4Q6gLkH3LpVH.z7z9M/
1a8a40 50 32 43 32 46 2b 66 70 45 72 67 55 66 43 4a 7a 44 75 70 78 42 64 4e 34 39 63 4f 53 76 6b 42 50 P2C2F+fpErgUfCJzDupxBdN49cOSvkBP
1a8a60 42 37 6a 56 61 4d 61 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d B7jVaMaA==.-----END.CERTIFICATE-
1a8a80 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 43 6c 61 73 73 20 33 20 50 75 62 6c 69 63 20 50 72 ----..VeriSign.Class.3.Public.Pr
1a8aa0 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 imary.Certification.Authority.-.
1a8ac0 47 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d G5.=============================
1a8ae0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a ===============================.
1a8b00 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 -----BEGIN.CERTIFICATE-----.MIIE
1a8b20 30 7a 43 43 41 37 75 67 41 77 49 42 41 67 49 51 47 4e 72 52 6e 69 5a 39 36 4c 74 4b 49 56 6a 4e 0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjN
1a8b40 7a 47 73 37 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 79 6a 45 4c zGs7SjANBgkqhkiG9w0BAQUFADCByjEL
1a8b60 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a MAkGA1UE.BhMCVVMxFzAVBgNVBAoTDlZ
1a8b80 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a lcmlTaWduLCBJbmMuMR8wHQYDVQQLExZ
1a8ba0 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 0a 5a 58 52 33 62 33 4a 72 4d 54 WZXJpU2lnbiBUcnVzdCBO.ZXR3b3JrMT
1a8bc0 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 69 42 57 5a 58 4a 70 55 32 owOAYDVQQLEzEoYykgMjAwNiBWZXJpU2
1a8be0 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 65 6d lnbiwgSW5jLiAtIEZvciBhdXRob3Jpem
1a8c00 56 6b 0a 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 57 5a Vk.IHVzZSBvbmx5MUUwQwYDVQQDEzxWZ
1a8c20 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 51 63 XJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQc
1a8c40 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 mltYXJ5IENlcnRp.ZmljYXRpb24gQXV0
1a8c60 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 48 68 63 4e 4d 44 59 78 4d 54 41 34 4d 44 41 77 aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAw
1a8c80 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 32 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 0a 79 6a 45 MDAwWhcNMzYwNzE2MjM1OTU5WjCB.yjE
1a8ca0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a LMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZ
1a8cc0 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a lcmlTaWduLCBJbmMuMR8wHQYDVQQLExZ
1a8ce0 57 5a 58 4a 70 55 32 6c 6e 0a 62 69 42 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 4d 54 WZXJpU2ln.biBUcnVzdCBOZXR3b3JrMT
1a8d00 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 69 42 57 5a 58 4a 70 55 32 owOAYDVQQLEzEoYykgMjAwNiBWZXJpU2
1a8d20 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 0a 64 58 52 6f 62 33 4a 70 65 lnbiwgSW5jLiAtIEZvciBh.dXRob3Jpe
1a8d40 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 57 5a mVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZ
1a8d60 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 51 63 XJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQc
1a8d80 6d 6c 74 0a 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 mlt.YXJ5IENlcnRpZmljYXRpb24gQXV0
1a8da0 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3
1a8dc0 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 0a 67 67 45 4b 41 6f 49 42 41 51 43 76 4a 41 67 DQEBAQUAA4IBDwAw.ggEKAoIBAQCvJAg
1a8de0 49 4b 58 6f 31 6e 6d 41 4d 71 75 64 4c 4f 30 37 63 66 4c 77 38 52 52 79 37 4b 2b 44 2b 4b 51 4c IKXo1nmAMqudLO07cfLw8RRy7K+D+KQL
1a8e00 35 56 77 69 6a 5a 49 55 56 4a 2f 58 78 72 63 67 78 69 56 30 69 36 43 71 71 70 6b 4b 7a 0a 6a 2f 5VwijZIUVJ/XxrcgxiV0i6CqqpkKz.j/
1a8e20 69 35 56 62 65 78 74 30 75 7a 2f 6f 39 2b 42 31 66 73 37 30 50 62 5a 6d 49 56 59 63 39 67 44 61 i5Vbext0uz/o9+B1fs70PbZmIVYc9gDa
1a8e40 54 59 33 76 6a 67 77 32 49 49 50 56 51 54 36 30 6e 4b 57 56 53 46 4a 75 55 72 6a 78 75 66 36 2f TY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/
1a8e60 57 68 6b 63 49 7a 53 64 68 44 0a 59 32 70 53 53 39 4b 50 36 48 42 52 54 64 47 4a 61 58 76 48 63 WhkcIzSdhD.Y2pSS9KP6HBRTdGJaXvHc
1a8e80 50 61 7a 33 42 4a 30 32 33 74 64 53 31 62 54 6c 72 38 56 64 36 47 77 39 4b 49 6c 38 71 38 63 6b Paz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ck
1a8ea0 6d 63 59 35 66 51 47 42 4f 2b 51 75 65 51 41 35 4e 30 36 74 52 6e 2f 0a 41 72 72 30 50 4f 37 67 mcY5fQGBO+QueQA5N06tRn/.Arr0PO7g
1a8ec0 69 2b 73 33 69 2b 7a 30 31 36 7a 79 39 76 41 39 72 39 31 31 6b 54 4d 5a 48 52 78 41 79 33 51 6b i+s3i+z016zy9vA9r911kTMZHRxAy3Qk
1a8ee0 47 53 47 54 32 52 54 2b 72 43 70 53 78 34 2f 56 42 45 6e 6b 6a 57 4e 48 69 44 78 70 67 38 76 2b GSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+
1a8f00 52 37 30 72 0a 66 6b 2f 46 6c 61 34 4f 6e 64 54 52 51 38 42 6e 63 2b 4d 55 43 48 37 6c 50 35 39 R70r.fk/Fla4OndTRQ8Bnc+MUCH7lP59
1a8f20 7a 75 44 4d 4b 7a 31 30 2f 4e 49 65 57 69 75 35 54 36 43 55 56 41 67 4d 42 41 41 47 6a 67 62 49 zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbI
1a8f40 77 67 61 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 wga8wDwYDVR0TAQH/.BAUwAwEB/zAOBg
1a8f60 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b 77 59 42 42 51 55 48 41 51 NVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQ
1a8f80 77 45 59 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 57 31 68 5a 32 55 76 0a 5a wEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv.Z
1a8fa0 32 6c 6d 4d 43 45 77 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 6a 2b 58 54 47 6f 61 73 6a 2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasj
1a8fc0 59 35 72 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a 61 48 52 30 63 44 6f 76 4c Y5rw8+AatRIGCx7GS4wJRYjaHR0cDovL
1a8fe0 32 78 76 5a 32 38 75 64 6d 56 79 0a 61 58 4e 70 5a 32 34 75 59 32 39 74 4c 33 5a 7a 62 47 39 6e 2xvZ28udmVy.aXNpZ24uY29tL3ZzbG9n
1a9000 62 79 35 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 48 2f 54 5a 61 66 43 33 65 79 37 by5naWYwHQYDVR0OBBYEFH/TZafC3ey7
1a9020 38 44 41 4a 38 30 4d 35 2b 67 4b 76 4d 7a 45 7a 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 8DAJ80M5+gKvMzEzMA0GCSqG.SIb3DQE
1a9040 42 42 51 55 41 41 34 49 42 41 51 43 54 4a 45 6f 77 58 32 4c 50 32 42 71 59 4c 7a 33 71 33 4a 6b BBQUAA4IBAQCTJEowX2LP2BqYLz3q3Jk
1a9060 74 76 58 66 32 70 58 6b 69 4f 4f 7a 45 70 36 42 34 45 71 31 69 44 6b 56 77 5a 4d 58 6e 6c 32 59 tvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2Y
1a9080 74 6d 41 6c 2b 0a 58 36 2f 57 7a 43 68 6c 38 67 47 71 43 42 70 48 33 76 6e 35 66 4a 4a 61 43 47 tmAl+.X6/WzChl8gGqCBpH3vn5fJJaCG
1a90a0 6b 67 44 64 6b 2b 62 57 34 38 44 57 37 59 35 67 61 52 51 42 69 35 2b 4d 48 74 33 39 74 42 71 75 kgDdk+bW48DW7Y5gaRQBi5+MHt39tBqu
1a90c0 43 57 49 4d 6e 4e 5a 42 55 34 67 63 6d 55 37 71 4b 45 0a 4b 51 73 54 62 34 37 62 44 4e 30 6c 41 CWIMnNZBU4gcmU7qKE.KQsTb47bDN0lA
1a90e0 74 75 6b 69 78 6c 45 30 6b 46 36 42 57 6c 4b 57 45 39 67 79 6e 36 43 61 67 73 43 71 69 55 58 4f tukixlE0kF6BWlKWE9gyn6CagsCqiUXO
1a9100 62 58 62 66 2b 65 45 5a 53 71 56 69 72 32 47 33 6c 36 42 46 6f 4d 74 45 4d 7a 65 2f 61 69 43 0a bXbf+eEZSqVir2G3l6BFoMtEMze/aiC.
1a9120 4b 6d 30 6f 48 77 30 4c 78 4f 58 6e 47 69 59 5a 34 66 51 52 62 78 43 31 6c 66 7a 6e 51 67 55 79 Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy
1a9140 32 38 36 64 55 56 34 6f 74 70 36 46 30 31 76 76 70 58 31 46 51 48 4b 4f 74 77 35 72 44 67 62 37 286dUV4otp6F01vvpX1FQHKOtw5rDgb7
1a9160 4d 7a 56 49 63 62 69 64 4a 34 76 45 0a 5a 56 38 4e 68 6e 61 63 52 48 72 32 6c 56 7a 32 58 54 49 MzVIcbidJ4vE.ZV8NhnacRHr2lVz2XTI
1a9180 49 4d 36 52 55 74 68 67 2f 61 46 7a 79 51 6b 71 46 4f 46 53 44 58 39 48 6f 4c 50 4b 73 45 64 61 IM6RUthg/aFzyQkqFOFSDX9HoLPKsEda
1a91a0 6f 37 57 4e 71 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a o7WNq.-----END.CERTIFICATE-----.
1a91c0 0a 53 65 63 75 72 65 54 72 75 73 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d .SecureTrust.CA.==============.-
1a91e0 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 75 ----BEGIN.CERTIFICATE-----.MIIDu
1a9200 44 43 43 41 71 43 67 41 77 49 42 41 67 49 51 44 50 43 4f 58 41 67 57 70 61 31 43 66 2f 44 72 4a DCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJ
1a9220 78 68 5a 30 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 49 4d 51 73 77 43 xhZ0DANBgkqhkiG9w0BAQUFADBIMQswC
1a9240 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 42 34 47 41 31 55 45 43 68 4d 58 55 32 56 6a QYDVQQG.EwJVUzEgMB4GA1UEChMXU2Vj
1a9260 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 46 7a 41 56 dXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAV
1a9280 42 67 4e 56 42 41 4d 54 44 6c 4e 6c 59 33 56 79 5a 56 52 79 0a 64 58 4e 30 49 45 4e 42 4d 42 34 BgNVBAMTDlNlY3VyZVRy.dXN0IENBMB4
1a92a0 58 44 54 41 32 4d 54 45 77 4e 7a 45 35 4d 7a 45 78 4f 46 6f 58 44 54 49 35 4d 54 49 7a 4d 54 45 XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE
1a92c0 35 4e 44 41 31 4e 56 6f 77 53 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 49 44 41 5NDA1NVowSDELMAkGA1UEBhMCVVMxIDA
1a92e0 65 0a 42 67 4e 56 42 41 6f 54 46 31 4e 6c 59 33 56 79 5a 56 52 79 64 58 4e 30 49 45 4e 76 63 6e e.BgNVBAoTF1NlY3VyZVRydXN0IENvcn
1a9300 42 76 63 6d 46 30 61 57 39 75 4d 52 63 77 46 51 59 44 56 51 51 44 45 77 35 54 5a 57 4e 31 63 6d BvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cm
1a9320 56 55 63 6e 56 7a 64 43 42 44 51 54 43 43 0a 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 VUcnVzdCBDQTCC.ASIwDQYJKoZIhvcNA
1a9340 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 75 6b 67 65 57 56 7a QEBBQADggEPADCCAQoCggEBAKukgeWVz
1a9360 66 58 32 46 49 37 43 54 38 72 55 34 6e 69 56 57 4a 78 42 34 51 32 5a 51 43 51 58 0a 4f 5a 45 7a fX2FI7CT8rU4niVWJxB4Q2ZQCQX.OZEz
1a9380 5a 75 6d 2b 34 59 4f 76 59 6c 79 4a 30 66 77 6b 57 32 47 7a 34 42 45 52 51 52 77 64 62 76 43 34 Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4
1a93a0 75 2f 6a 65 70 34 47 36 70 6b 6a 47 6e 78 32 39 76 6f 36 70 51 54 36 34 6c 4f 30 70 47 74 53 4f u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
1a93c0 30 67 4d 64 41 2b 39 74 0a 44 57 63 63 56 39 63 47 72 63 72 49 39 66 34 4f 72 32 59 6c 53 41 53 0gMdA+9t.DWccV9cGrcrI9f4Or2YlSAS
1a93e0 57 43 31 32 6a 75 68 62 44 43 45 2f 52 52 76 67 55 58 50 4c 49 58 67 47 5a 62 66 32 49 7a 49 61 WC12juhbDCE/RRvgUXPLIXgGZbf2IzIa
1a9400 6f 77 57 38 78 51 6d 78 53 50 6d 6a 4c 38 78 6b 30 33 37 75 48 0a 47 46 61 41 4a 73 54 51 33 4d owW8xQmxSPmjL8xk037uH.GFaAJsTQ3M
1a9420 42 76 33 39 36 67 77 70 45 57 6f 47 51 52 53 30 53 38 48 76 62 6e 2b 6d 50 65 5a 71 78 32 70 48 Bv396gwpEWoGQRS0S8Hvbn+mPeZqx2pH
1a9440 47 6a 37 44 61 55 61 48 70 33 70 4c 48 6e 44 69 2b 42 65 75 4b 31 63 6f 62 76 6f 6d 75 4c 38 41 Gj7DaUaHp3pLHnDi+BeuK1cobvomuL8A
1a9460 2f 62 0a 30 31 6b 2f 75 6e 4b 38 52 43 53 63 34 33 4f 7a 39 36 39 58 4c 30 49 6d 6e 61 6c 30 75 /b.01k/unK8RCSc43Oz969XL0Imnal0u
1a9480 67 42 53 38 6b 76 4e 55 33 78 48 43 7a 61 46 44 6d 61 70 43 4a 63 57 4e 46 66 42 5a 76 65 41 34 gBS8kvNU3xHCzaFDmapCJcWNFfBZveA4
1a94a0 2b 31 77 56 4d 65 54 34 43 34 6f 46 56 6d 48 0a 75 72 73 43 41 77 45 41 41 61 4f 42 6e 54 43 42 +1wVMeT4C4oFVmH.ursCAwEAAaOBnTCB
1a94c0 6d 6a 41 54 42 67 6b 72 42 67 45 45 41 59 49 33 46 41 49 45 42 68 34 45 41 45 4d 41 51 54 41 4c mjATBgkrBgEEAYI3FAIEBh4EAEMAQTAL
1a94e0 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 BgNVHQ8EBAMCAYYwDwYDVR0TAQH/.BAU
1a9500 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 51 6a 4b 32 46 76 6f 45 2f 66 35 wAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5
1a9520 64 53 33 72 44 2f 66 64 4d 51 42 31 61 51 36 38 77 4e 41 59 44 56 52 30 66 42 43 30 77 4b 7a 41 dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzA
1a9540 70 6f 43 65 67 4a 59 59 6a 0a 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 7a 5a 57 4e 31 63 6d poCegJYYj.aHR0cDovL2NybC5zZWN1cm
1a9560 56 30 63 6e 56 7a 64 43 35 6a 62 32 30 76 55 31 52 44 51 53 35 6a 63 6d 77 77 45 41 59 4a 4b 77 V0cnVzdC5jb20vU1RDQS5jcmwwEAYJKw
1a9580 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 YBBAGCNxUBBAMCAQAwDQYJ.KoZIhvcNA
1a95a0 51 45 46 42 51 41 44 67 67 45 42 41 44 44 74 54 30 72 68 57 44 70 53 63 6c 75 31 70 71 4e 6c 47 QEFBQADggEBADDtT0rhWDpSclu1pqNlG
1a95c0 4b 61 37 55 54 74 33 36 5a 33 71 30 35 39 63 34 45 56 6c 65 77 33 4b 57 2b 4a 77 55 4c 4b 55 42 Ka7UTt36Z3q059c4EVlew3KW+JwULKUB
1a95e0 52 53 75 0a 53 63 65 4e 51 51 63 53 63 35 52 2b 44 43 4d 68 2f 62 77 51 66 32 41 51 57 6e 4c 31 RSu.SceNQQcSc5R+DCMh/bwQf2AQWnL1
1a9600 6d 41 36 73 37 4c 6c 2f 33 58 70 76 58 64 4d 63 39 50 2b 49 42 57 6c 43 71 51 56 78 79 4c 65 73 mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLes
1a9620 4a 75 67 75 74 49 78 71 2f 33 48 63 75 4c 48 66 0a 6d 62 78 38 49 56 51 72 35 46 69 69 75 31 63 JugutIxq/3HcuLHf.mbx8IVQr5Fiiu1c
1a9640 70 72 70 36 70 6f 78 6b 6d 44 35 6b 75 43 4c 44 76 2f 57 6e 50 6d 52 6f 4a 6a 65 4f 6e 6e 79 76 prp6poxkmD5kuCLDv/WnPmRoJjeOnnyv
1a9660 4a 4e 6a 52 37 4a 4c 4e 34 54 4a 55 58 70 41 59 6d 48 72 5a 6b 55 6a 5a 66 59 47 66 5a 0a 6e 4d JNjR7JLN4TJUXpAYmHrZkUjZfYGfZ.nM
1a9680 55 46 64 41 76 6e 5a 79 50 53 43 50 79 49 36 61 36 4c 66 2b 45 77 39 44 64 2b 2f 63 59 79 32 69 UFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i
1a96a0 32 65 52 44 41 77 62 4f 34 48 33 74 49 30 2f 4e 4c 2f 51 50 5a 4c 39 47 5a 47 42 6c 53 6d 38 6a 2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8j
1a96c0 49 4b 59 79 59 77 61 35 76 52 0a 33 49 74 48 75 75 47 35 31 57 4c 51 6f 71 44 30 5a 77 56 34 4b IKYyYwa5vR.3ItHuuG51WLQoqD0ZwV4K
1a96e0 57 4d 61 62 77 54 57 2b 4d 5a 4d 6f 35 71 78 4e 37 53 4e 35 53 68 4c 48 5a 34 73 77 72 68 6f 76 WMabwTW+MZMo5qxN7SN5ShLHZ4swrhov
1a9700 4f 30 43 37 6a 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d O0C7jE=.-----END.CERTIFICATE----
1a9720 2d 0a 0a 53 65 63 75 72 65 20 47 6c 6f 62 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -..Secure.Global.CA.============
1a9740 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1a9760 0a 4d 49 49 44 76 44 43 43 41 71 53 67 41 77 49 42 41 67 49 51 42 31 59 69 70 4f 6a 55 69 6f 6c .MIIDvDCCAqSgAwIBAgIQB1YipOjUiol
1a9780 4e 39 42 50 49 38 50 6a 71 70 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 N9BPI8PjqpTANBgkqhkiG9w0BAQUFADB
1a97a0 4b 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 42 34 47 41 31 55 45 43 68 KMQswCQYDVQQG.EwJVUzEgMB4GA1UECh
1a97c0 4d 58 55 32 56 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 MXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb2
1a97e0 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 46 4e 6c 59 33 56 79 5a 53 42 48 0a 62 47 39 69 59 4xGTAXBgNVBAMTEFNlY3VyZSBH.bG9iY
1a9800 57 77 67 51 30 45 77 48 68 63 4e 4d 44 59 78 4d 54 41 33 4d 54 6b 30 4d 6a 49 34 57 68 63 4e 4d WwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNM
1a9820 6a 6b 78 4d 6a 4d 78 4d 54 6b 31 4d 6a 41 32 57 6a 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 jkxMjMxMTk1MjA2WjBKMQswCQYDVQQGE
1a9840 77 4a 56 55 7a 45 67 0a 4d 42 34 47 41 31 55 45 43 68 4d 58 55 32 56 6a 64 58 4a 6c 56 48 4a 31 wJVUzEg.MB4GA1UEChMXU2VjdXJlVHJ1
1a9860 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMT
1a9880 45 46 4e 6c 59 33 56 79 5a 53 42 48 62 47 39 69 59 57 77 67 0a 51 30 45 77 67 67 45 69 4d 41 30 EFNlY3VyZSBHbG9iYWwg.Q0EwggEiMA0
1a98a0 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoI
1a98c0 42 41 51 43 76 4e 53 37 59 72 47 78 56 61 51 5a 78 35 52 4e 6f 4a 4c 4e 50 32 4d 77 68 52 2f 6a BAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/j
1a98e0 78 0a 59 44 69 4a 69 51 50 70 76 65 70 65 52 6c 4d 4a 33 46 7a 31 57 75 6a 33 52 53 6f 43 36 7a x.YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6z
1a9900 46 68 31 79 6b 7a 54 4d 37 48 66 41 6f 33 66 67 2b 36 4d 70 6a 68 48 5a 65 76 6a 38 66 63 79 54 Fh1ykzTM7HfAo3fg+6MpjhHZevj8fcyT
1a9920 69 57 38 39 73 61 2f 46 48 74 61 4d 62 51 0a 62 71 52 38 4a 4e 47 75 51 73 69 57 55 47 4d 75 34 iW89sa/FHtaMbQ.bqR8JNGuQsiWUGMu4
1a9940 50 35 31 2f 70 69 6e 58 30 6b 75 6c 65 4d 35 4d 32 53 4f 48 71 52 66 6b 4e 4a 6e 50 4c 4c 5a 2f P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/
1a9960 6b 47 35 56 61 63 4a 6a 6e 49 46 48 6f 76 64 52 49 57 43 51 74 42 4a 77 42 31 67 0a 38 4e 45 58 kG5VacJjnIFHovdRIWCQtBJwB1g.8NEX
1a9980 4c 4a 58 72 39 71 58 42 6b 71 50 46 77 71 63 49 59 41 31 67 42 42 43 57 65 5a 34 57 4e 4f 61 70 LJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOap
1a99a0 74 76 6f 6c 52 54 6e 49 48 6d 58 35 6b 2f 57 71 38 56 4c 63 6d 5a 67 39 70 59 59 61 44 44 55 7a tvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz
1a99c0 2b 6b 75 6c 42 41 59 56 0a 48 44 47 41 37 36 6f 59 61 38 4a 37 31 39 72 4f 2b 54 4d 67 31 66 57 +kulBAYV.HDGA76oYa8J719rO+TMg1fW
1a99e0 39 61 6a 4d 74 67 51 54 37 73 46 7a 55 6e 4b 50 69 58 42 33 6a 71 55 4a 31 58 6e 76 55 64 2b 38 9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+8
1a9a00 35 56 4c 72 4a 43 68 67 62 45 70 6c 4a 4c 34 68 4c 2f 56 42 69 0a 30 58 50 6e 6a 33 70 44 41 67 5VLrJChgbEplJL4hL/VBi.0XPnj3pDAg
1a9a20 4d 42 41 41 47 6a 67 5a 30 77 67 5a 6f 77 45 77 59 4a 4b 77 59 42 42 41 47 43 4e 78 51 43 42 41 MBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBA
1a9a40 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 47 47 4d 41 38 47 41 31 YeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1
1a9a60 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 Ud.EwEB/wQFMAMBAf8wHQYDVR0OBBYEF
1a9a80 4b 39 45 42 4d 4a 42 66 6b 69 44 32 30 34 35 41 75 7a 73 68 48 72 6d 7a 73 6d 6b 4d 44 51 47 41 K9EBMJBfkiD2045AuzshHrmzsmkMDQGA
1a9aa0 31 55 64 48 77 51 74 4d 43 73 77 4b 61 41 6e 0a 6f 43 57 47 49 32 68 30 64 48 41 36 4c 79 39 6a 1UdHwQtMCswKaAn.oCWGI2h0dHA6Ly9j
1a9ac0 63 6d 77 75 63 32 56 6a 64 58 4a 6c 64 48 4a 31 63 33 51 75 59 32 39 74 4c 31 4e 48 51 30 45 75 cmwuc2VjdXJldHJ1c3QuY29tL1NHQ0Eu
1a9ae0 59 33 4a 73 4d 42 41 47 43 53 73 47 41 51 51 42 67 6a 63 56 41 51 51 44 41 67 45 41 0a 4d 41 30 Y3JsMBAGCSsGAQQBgjcVAQQDAgEA.MA0
1a9b00 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 42 6a 47 67 68 41 66 61 52 GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaR
1a9b20 65 55 77 31 33 32 48 71 75 48 77 30 4c 55 52 59 44 37 78 68 38 79 4f 4f 76 61 6c 69 54 46 47 43 eUw132HquHw0LURYD7xh8yOOvaliTFGC
1a9b40 52 73 6f 54 63 69 45 36 2b 0a 4f 59 6f 36 38 2b 61 43 69 56 30 42 4e 37 4f 72 4a 4b 51 56 44 70 RsoTciE6+.OYo68+aCiV0BN7OrJKQVDp
1a9b60 49 31 57 6b 70 45 58 6b 35 58 2b 6e 58 4f 48 30 6a 4f 5a 76 51 38 51 43 61 53 6d 47 77 62 37 69 I1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7i
1a9b80 52 47 44 42 65 7a 55 71 58 62 70 5a 47 52 7a 7a 66 54 62 2b 63 6e 0a 43 44 70 4f 47 52 38 36 70 RGDBezUqXbpZGRzzfTb+cn.CDpOGR86p
1a9ba0 31 68 63 46 38 39 35 50 34 76 6b 70 39 4d 6d 49 35 30 6d 44 31 68 70 2f 45 64 2b 73 74 43 4e 69 1hcF895P4vkp9MmI50mD1hp/Ed+stCNi
1a9bc0 35 4f 2f 4b 55 39 44 61 58 52 32 5a 30 76 50 42 34 7a 6d 41 76 65 31 34 62 52 44 74 55 73 74 46 5O/KU9DaXR2Z0vPB4zmAve14bRDtUstF
1a9be0 4a 2f 35 0a 33 43 59 4e 76 36 5a 48 64 41 62 59 69 4e 45 36 4b 54 43 45 7a 74 49 35 67 47 49 62 J/5.3CYNv6ZHdAbYiNE6KTCEztI5gGIb
1a9c00 71 4d 64 58 53 62 78 71 56 56 46 6e 46 55 71 2b 4e 51 66 6b 31 58 57 59 4e 33 6b 77 46 4e 73 70 qMdXSbxqVVFnFUq+NQfk1XWYN3kwFNsp
1a9c20 6e 57 7a 46 61 63 78 48 56 61 49 77 39 38 78 63 0a 66 38 4c 44 6d 42 78 72 54 68 61 41 36 33 70 nWzFacxHVaIw98xc.f8LDmBxrThaA63p
1a9c40 34 5a 55 57 69 41 42 71 76 44 41 31 56 5a 44 52 49 75 4a 4b 35 38 62 52 51 4b 66 4a 50 49 78 2f 4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/
1a9c60 61 62 4b 77 66 52 4f 48 64 49 33 68 52 57 38 63 57 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 abKwfROHdI3hRW8cW.-----END.CERTI
1a9c80 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 43 65 72 74 69 66 69 63 61 74 69 6f FICATE-----..COMODO.Certificatio
1a9ca0 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.Authority.====================
1a9cc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1a9ce0 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 48 54 43 43 41 77 57 67 41 77 49 42 41 67 49 51 54 6f 45 74 69 E-----.MIIEHTCCAwWgAwIBAgIQToEti
1a9d00 6f 4a 6c 34 41 73 43 37 6a 34 31 41 6b 62 6c 50 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 oJl4AsC7j41AkblPTANBgkqhkiG9w0BA
1a9d20 51 55 46 41 44 43 42 67 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 30 49 78 47 7a 41 5a QUFADCBgTELMAkGA1UE.BhMCR0IxGzAZ
1a9d40 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c BgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3Rl
1a9d60 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 cjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
1a9d80 0a 41 31 55 45 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 .A1UEChMRQ09NT0RPIENBIExpbWl0ZWQ
1a9da0 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 4e 50 54 55 39 45 54 79 42 44 5a 58 4a 30 61 57 5a xJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZ
1a9dc0 70 59 32 46 30 61 57 39 75 49 45 46 31 0a 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4e 6a pY2F0aW9uIEF1.dGhvcml0eTAeFw0wNj
1a9de0 45 79 4d 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 79 4f 54 45 79 4d 7a 45 79 4d 7a 55 35 4e 54 EyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NT
1a9e00 6c 61 4d 49 47 42 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 48 51 6a 45 62 0a 4d 42 6b 47 41 laMIGBMQswCQYDVQQGEwJHQjEb.MBkGA
1a9e20 31 55 45 43 42 4d 53 52 33 4a 6c 59 58 52 6c 63 69 42 4e 59 57 35 6a 61 47 56 7a 64 47 56 79 4d 1UECBMSR3JlYXRlciBNYW5jaGVzdGVyM
1a9e40 52 41 77 44 67 59 44 56 51 51 48 45 77 64 54 59 57 78 6d 62 33 4a 6b 4d 52 6f 77 47 41 59 44 56 RAwDgYDVQQHEwdTYWxmb3JkMRowGAYDV
1a9e60 51 51 4b 45 78 46 44 0a 54 30 31 50 52 45 38 67 51 30 45 67 54 47 6c 74 61 58 52 6c 5a 44 45 6e QQKExFD.T01PRE8gQ0EgTGltaXRlZDEn
1a9e80 4d 43 55 47 41 31 55 45 41 78 4d 65 51 30 39 4e 54 30 52 50 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a MCUGA1UEAxMeQ09NT0RPIENlcnRpZmlj
1a9ea0 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 0a 4d 49 49 42 49 6a 41 4e 42 67 6b YXRpb24gQXV0aG9yaXR5.MIIBIjANBgk
1a9ec0 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 qhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQE
1a9ee0 41 30 45 43 4c 69 33 4c 6a 6b 52 76 33 55 63 45 62 56 41 53 59 30 36 6d 2f 77 65 61 4b 58 54 75 A0ECLi3LjkRv3UcEbVASY06m/weaKXTu
1a9f00 48 0a 2b 37 75 49 7a 67 33 6a 4c 7a 38 47 6c 76 43 69 4b 56 43 5a 72 74 73 37 6f 56 65 77 64 46 H.+7uIzg3jLz8GlvCiKVCZrts7oVewdF
1a9f20 46 78 7a 65 31 43 6b 55 31 42 2f 71 6e 49 32 47 71 47 64 30 53 37 57 57 61 58 55 46 36 30 31 43 Fxze1CkU1B/qnI2GqGd0S7WWaXUF601C
1a9f40 78 77 52 4d 2f 61 4e 35 56 43 61 54 77 77 0a 78 48 47 7a 55 76 41 68 54 61 48 59 75 6a 6c 38 48 xwRM/aN5VCaTww.xHGzUvAhTaHYujl8H
1a9f60 4a 36 6a 4a 4a 33 79 67 78 61 59 71 68 5a 38 51 35 73 56 57 37 65 75 4e 4a 48 2b 31 47 49 6d 47 J6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImG
1a9f80 45 61 61 50 2b 76 42 2b 66 47 51 56 2b 75 73 65 67 32 4c 32 33 49 77 61 6d 62 56 0a 34 45 61 6a EaaP+vB+fGQV+useg2L23IwambV.4Eaj
1a9fa0 63 4e 78 6f 32 66 38 45 53 49 6c 33 33 72 58 70 2b 32 64 74 51 65 6d 38 4f 62 30 79 32 57 49 43 cNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC
1a9fc0 38 62 47 6f 50 57 34 33 6e 4f 49 76 34 74 4f 69 4a 6f 76 47 75 46 56 44 69 4f 45 6a 50 71 58 53 8bGoPW43nOIv4tOiJovGuFVDiOEjPqXS
1a9fe0 4a 44 6c 71 52 36 73 41 0a 31 4b 47 7a 71 53 58 2b 44 54 2b 6e 48 62 72 54 55 63 45 4c 70 4e 71 JDlqR6sA.1KGzqSX+DT+nHbrTUcELpNq
1aa000 73 4f 4f 39 56 55 43 51 46 5a 55 61 54 4e 45 38 74 6a 61 33 47 31 43 45 5a 30 6f 37 4b 42 57 46 sOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWF
1aa020 78 42 33 4e 48 35 59 6f 5a 45 72 30 45 54 63 35 4f 6e 4b 56 49 0a 72 4c 73 6d 39 77 49 44 41 51 xB3NH5YoZEr0ETc5OnKVI.rLsm9wIDAQ
1aa040 41 42 6f 34 47 4f 4d 49 47 4c 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 4c 57 4f 57 4c 78 6b ABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxk
1aa060 77 56 4e 36 52 41 71 54 43 70 49 62 35 48 4e 6c 70 57 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 wVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf
1aa080 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 8E.BAMCAQYwDwYDVR0TAQH/BAUwAwEB/
1aa0a0 7a 42 4a 42 67 4e 56 48 52 38 45 51 6a 42 41 4d 44 36 67 50 4b 41 36 68 6a 68 6f 64 48 52 77 4f zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwO
1aa0c0 69 38 76 59 33 4a 73 4c 6d 4e 76 62 57 39 6b 0a 62 32 4e 68 4c 6d 4e 76 62 53 39 44 54 30 31 50 i8vY3JsLmNvbW9k.b2NhLmNvbS9DT01P
1aa0e0 52 45 39 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 51 58 56 30 61 47 39 79 61 58 52 35 RE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5
1aa100 4c 6d 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 0a 41 51 45 LmNybDANBgkqhkiG9w0BAQUFAAOC.AQE
1aa120 41 50 70 69 65 6d 2f 59 62 36 64 63 35 74 33 69 75 48 58 49 59 53 64 4f 48 35 45 4f 43 36 7a 2f APpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/
1aa140 4a 71 76 57 6f 74 65 39 56 66 43 46 53 5a 66 6e 56 44 65 46 73 39 44 36 4d 6b 33 4f 52 4c 67 4c JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgL
1aa160 45 54 67 64 78 62 38 43 50 0a 4f 47 45 49 71 42 36 42 43 73 41 76 49 43 39 42 69 35 48 63 53 45 ETgdxb8CP.OGEIqB6BCsAvIC9Bi5HcSE
1aa180 57 38 38 63 62 65 75 6e 5a 72 4d 38 67 41 4c 54 46 47 54 4f 33 6e 6e 63 2b 49 6c 50 38 7a 77 46 W88cbeunZrM8gALTFGTO3nnc+IlP8zwF
1aa1a0 62 6f 4a 49 59 6d 75 4e 67 34 4f 4e 38 71 61 39 30 53 7a 4d 63 2f 0a 52 78 64 4d 6f 73 49 47 6c boJIYmuNg4ON8qa90SzMc/.RxdMosIGl
1aa1c0 67 6e 57 32 2f 34 2f 50 45 5a 42 33 31 6a 69 56 67 38 38 4f 38 45 63 6b 7a 58 5a 4f 46 4b 73 37 gnW2/4/PEZB31jiVg88O8EckzXZOFKs7
1aa1e0 73 6a 73 4c 6a 42 4f 6c 44 57 30 4a 42 39 4c 65 47 6e 61 38 67 49 34 7a 4a 56 53 6b 2f 42 77 4a sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJ
1aa200 56 6d 63 0a 49 47 66 45 37 76 6d 4c 56 32 48 30 6b 6e 5a 39 50 34 53 4e 56 62 66 6f 35 61 7a 56 Vmc.IGfE7vmLV2H0knZ9P4SNVbfo5azV
1aa220 38 66 55 5a 56 71 5a 61 2b 35 41 63 72 35 50 72 35 52 7a 55 5a 35 64 64 42 41 36 2b 43 34 4f 6d 8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4Om
1aa240 46 34 4f 35 4d 42 4b 67 78 54 4d 56 42 62 6b 4e 0a 2b 38 63 46 64 75 50 59 53 6f 33 38 4e 42 65 F4O5MBKgxTMVBbkN.+8cFduPYSo38NBe
1aa260 6a 78 69 45 6f 76 6a 42 46 4d 52 37 48 65 4c 35 59 59 54 69 73 4f 2b 49 42 5a 51 3d 3d 0a 2d 2d jxiEovjBFMR7HeL5YYTisO+IBZQ==.--
1aa280 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4e 65 74 77 6f 72 6b ---END.CERTIFICATE-----..Network
1aa2a0 20 53 6f 6c 75 74 69 6f 6e 73 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 .Solutions.Certificate.Authority
1aa2c0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .===============================
1aa2e0 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1aa300 2d 2d 2d 2d 0a 4d 49 49 44 35 6a 43 43 41 73 36 67 41 77 49 42 41 67 49 51 56 38 73 7a 62 38 4a ----.MIID5jCCAs6gAwIBAgIQV8szb8J
1aa320 63 46 75 5a 48 46 68 66 6a 6b 44 46 6f 34 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 cFuZHFhfjkDFo4DANBgkqhkiG9w0BAQU
1aa340 46 41 44 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 FADBiMQswCQYDVQQG.EwJVUzEhMB8GA1
1aa360 55 45 43 68 4d 59 54 6d 56 30 64 32 39 79 61 79 42 54 62 32 78 31 64 47 6c 76 62 6e 4d 67 54 43 UEChMYTmV0d29yayBTb2x1dGlvbnMgTC
1aa380 35 4d 4c 6b 4d 75 4d 54 41 77 4c 67 59 44 56 51 51 44 45 79 64 4f 5a 58 52 33 62 33 4a 72 0a 49 5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr.I
1aa3a0 46 4e 76 62 48 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 FNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBd
1aa3c0 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 59 78 4d 6a 41 78 4d 44 41 77 4d 44 41 77 57 XRob3JpdHkwHhcNMDYxMjAxMDAwMDAwW
1aa3e0 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 0a 4d 6a 4d 31 4f 54 55 35 57 6a 42 69 4d 51 73 77 43 51 59 44 hcNMjkxMjMx.MjM1OTU5WjBiMQswCQYD
1aa400 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 54 6d 56 30 64 32 39 79 VQQGEwJVUzEhMB8GA1UEChMYTmV0d29y
1aa420 61 79 42 54 62 32 78 31 64 47 6c 76 62 6e 4d 67 54 43 35 4d 4c 6b 4d 75 0a 4d 54 41 77 4c 67 59 ayBTb2x1dGlvbnMgTC5MLkMu.MTAwLgY
1aa440 44 56 51 51 44 45 79 64 4f 5a 58 52 33 62 33 4a 72 49 46 4e 76 62 48 56 30 61 57 39 75 63 79 42 DVQQDEydOZXR3b3JrIFNvbHV0aW9ucyB
1aa460 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 45 DZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggE
1aa480 69 4d 41 30 47 0a 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 iMA0G.CSqGSIb3DQEBAQUAA4IBDwAwgg
1aa4a0 45 4b 41 6f 49 42 41 51 44 6b 76 48 36 53 4d 47 33 47 32 49 34 72 43 37 78 47 7a 75 41 6e 6c 74 EKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt
1aa4c0 37 65 2b 66 6f 53 30 7a 77 7a 63 37 4d 45 4c 37 78 78 0a 6a 4f 57 66 74 69 4a 67 50 6c 39 64 7a 7e+foS0zwzc7MEL7xx.jOWftiJgPl9dz
1aa4e0 67 6e 2f 67 67 77 62 6d 6c 46 51 47 69 61 4a 33 64 56 68 58 52 6e 63 45 67 38 74 43 71 4a 44 58 gn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDX
1aa500 52 66 51 4e 4a 49 67 36 6e 50 50 4f 43 77 47 4a 67 6c 36 63 76 66 36 55 44 4c 34 77 70 50 54 0a RfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT.
1aa520 61 61 49 6a 7a 6b 47 78 7a 4f 54 56 48 7a 62 52 69 6a 72 34 6a 47 50 69 46 46 6c 70 37 51 33 54 aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3T
1aa540 66 32 76 6f 75 41 50 6c 54 32 72 6c 6d 47 4e 70 53 41 57 2b 4c 76 38 7a 74 75 6d 58 57 57 6e 34 f2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4
1aa560 5a 78 6d 75 6b 32 47 57 52 42 58 54 0a 63 72 41 2f 76 47 70 39 37 45 68 2f 6a 63 4f 72 71 6e 45 Zxmuk2GWRBXT.crA/vGp97Eh/jcOrqnE
1aa580 72 55 32 6c 42 55 7a 53 31 73 4c 6e 46 42 67 72 45 73 45 58 31 51 56 31 75 69 55 56 37 50 54 73 rU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTs
1aa5a0 6d 6a 48 54 43 35 64 4c 52 66 62 49 52 31 50 74 59 4d 69 4b 61 67 4d 6e 63 0a 2f 51 7a 70 66 31 mjHTC5dLRfbIR1PtYMiKagMnc./Qzpf1
1aa5c0 34 44 6c 38 34 37 41 42 53 48 4a 33 41 34 71 59 35 75 73 79 64 32 6d 46 48 67 42 65 4d 68 71 78 4Dl847ABSHJ3A4qY5usyd2mFHgBeMhqx
1aa5e0 72 56 68 53 49 38 4b 62 57 61 46 73 57 41 71 50 53 37 61 7a 43 50 4c 30 59 43 6f 72 45 4d 49 75 rVhSI8KbWaFsWAqPS7azCPL0YCorEMIu
1aa600 44 54 41 67 4d 42 0a 41 41 47 6a 67 5a 63 77 67 5a 51 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 DTAgMB.AAGjgZcwgZQwHQYDVR0OBBYEF
1aa620 43 45 77 79 66 73 41 31 30 36 59 32 6f 65 71 4b 74 43 6e 4c 72 46 41 4d 61 64 4d 4d 41 34 47 41 CEwyfsA106Y2oeqKtCnLrFAMadMMA4GA
1aa640 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 0a 42 67 4e 56 48 52 4d 42 41 66 38 45 1UdDwEB/wQEAwIBBjAP.BgNVHRMBAf8E
1aa660 42 54 41 44 41 51 48 2f 4d 46 49 47 41 31 55 64 48 77 52 4c 4d 45 6b 77 52 36 42 46 6f 45 4f 47 BTADAQH/MFIGA1UdHwRLMEkwR6BFoEOG
1aa680 51 57 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 62 6d 56 30 63 32 39 73 63 33 4e 73 4c 6d 4e 76 QWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
1aa6a0 0a 62 53 39 4f 5a 58 52 33 62 33 4a 72 55 32 39 73 64 58 52 70 62 32 35 7a 51 32 56 79 64 47 6c .bS9OZXR3b3JrU29sdXRpb25zQ2VydGl
1aa6c0 6d 61 57 4e 68 64 47 56 42 64 58 52 6f 62 33 4a 70 64 48 6b 75 59 33 4a 73 4d 41 30 47 43 53 71 maWNhdGVBdXRob3JpdHkuY3JsMA0GCSq
1aa6e0 47 53 49 62 33 44 51 45 42 42 51 55 41 0a 41 34 49 42 41 51 43 37 72 6b 76 6e 74 31 66 72 66 36 GSIb3DQEBBQUA.A4IBAQC7rkvnt1frf6
1aa700 6f 74 74 33 4e 48 68 57 72 42 35 4b 55 64 35 4f 63 38 36 66 52 5a 5a 58 65 31 65 6c 74 61 6a 53 ott3NHhWrB5KUd5Oc86fRZZXe1eltajS
1aa720 55 32 34 48 71 58 4c 6a 6a 41 56 32 43 44 6d 41 61 44 6e 37 6c 32 65 6d 35 51 0a 34 4c 71 49 4c U24HqXLjjAV2CDmAaDn7l2em5Q.4LqIL
1aa740 50 78 46 7a 42 69 77 6d 5a 56 52 44 75 77 64 75 49 6a 2f 68 31 41 63 67 73 4c 6a 34 44 4b 41 76 PxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv
1aa760 36 41 4c 52 38 6a 44 4d 65 2b 5a 5a 7a 4b 41 54 78 63 68 65 51 78 70 58 4e 35 65 4e 4b 34 43 74 6ALR8jDMe+ZZzKATxcheQxpXN5eNK4Ct
1aa780 53 62 71 55 4e 39 2f 0a 47 47 55 73 79 66 4a 6a 34 61 6b 48 2f 6e 78 78 48 32 73 7a 4a 47 6f 65 SbqUN9/.GGUsyfJj4akH/nxxH2szJGoe
1aa7a0 42 66 63 46 61 4d 42 71 45 73 73 75 58 6d 48 4c 72 69 6a 54 66 73 4b 30 5a 70 45 6d 58 7a 77 75 BfcFaMBqEssuXmHLrijTfsK0ZpEmXzwu
1aa7c0 4a 46 2f 4c 57 41 2f 72 4b 4f 79 76 45 5a 62 7a 33 48 74 76 0a 77 4b 65 49 38 6c 4e 33 73 32 42 JF/LWA/rKOyvEZbz3Htv.wKeI8lN3s2B
1aa7e0 65 72 71 34 6f 32 6a 55 73 62 7a 52 46 30 79 62 68 33 75 78 62 54 79 64 72 46 6e 79 39 52 41 51 erq4o2jUsbzRF0ybh3uxbTydrFny9RAQ
1aa800 59 67 72 4f 4a 65 52 63 51 63 54 31 36 6f 68 5a 4f 39 51 48 4e 70 47 78 6c 61 4b 46 4a 64 6c 78 YgrOJeRcQcT16ohZO9QHNpGxlaKFJdlx
1aa820 44 0a 79 64 69 38 4e 6d 64 73 70 5a 53 31 31 4d 79 35 76 57 6f 31 56 69 48 65 32 4d 50 72 2b 38 D.ydi8NmdspZS11My5vWo1ViHe2MPr+8
1aa840 75 6b 59 45 79 77 56 61 43 67 65 31 65 79 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 ukYEywVaCge1ey.-----END.CERTIFIC
1aa860 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 45 43 43 20 43 65 72 74 69 66 69 63 61 74 69 ATE-----..COMODO.ECC.Certificati
1aa880 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d on.Authority.===================
1aa8a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1aa8c0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 69 54 43 43 41 67 2b 67 41 77 49 42 41 67 49 51 FICATE-----.MIICiTCCAg+gAwIBAgIQ
1aa8e0 48 30 65 76 71 6d 49 41 63 46 42 55 54 41 47 65 6d 32 4f 5a 4b 6a 41 4b 42 67 67 71 68 6b 6a 4f H0evqmIAcFBUTAGem2OZKjAKBggqhkjO
1aa900 50 51 51 44 41 7a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 52 30 49 78 47 7a 41 PQQDAzCBhTELMAkGA1UEBhMC.R0IxGzA
1aa920 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 ZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3R
1aa940 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 lcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBg
1aa960 47 41 31 55 45 0a 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 GA1UE.ChMRQ09NT0RPIENBIExpbWl0ZW
1aa980 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 46 51 30 4d 67 51 32 QxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2
1aa9a0 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 VydGlmaWNhdGlvbiBB.dXRob3JpdHkwH
1aa9c0 68 63 4e 4d 44 67 77 4d 7a 41 32 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d hcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4M
1aa9e0 6a 4d 31 4f 54 55 35 57 6a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 78 0a jM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix.
1aaa00 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl
1aaa20 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEa
1aaa40 4d 42 67 47 41 31 55 45 43 68 4d 52 0a 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c MBgGA1UEChMR.Q09NT0RPIENBIExpbWl
1aaa60 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 46 51 30 4d 0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0M
1aaa80 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 0a 62 33 4a 70 64 48 gQ2VydGlmaWNhdGlvbiBBdXRo.b3JpdH
1aaaa0 6b 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 kwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAA
1aaac0 51 44 52 33 73 76 64 63 6d 43 46 59 58 37 64 65 53 52 46 74 53 72 59 70 6e 31 50 6c 49 4c 42 73 QDR3svdcmCFYX7deSRFtSrYpn1PlILBs
1aaae0 35 42 41 48 2b 58 0a 34 51 6f 6b 50 42 30 42 42 4f 34 39 30 6f 30 4a 6c 77 7a 67 64 65 54 36 2b 5BAH+X.4QokPB0BBO490o0JlwzgdeT6+
1aab00 33 65 4b 4b 76 55 44 59 45 73 32 69 78 59 6a 46 71 30 4a 63 66 52 4b 39 43 68 51 74 50 36 49 48 3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IH
1aab20 47 34 2f 62 43 38 76 43 56 6c 62 70 56 73 4c 4d 35 6e 69 0a 77 7a 32 4a 2b 57 6f 73 37 37 4c 54 G4/bC8vCVlbpVsLM5ni.wz2J+Wos77LT
1aab40 42 75 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 31 63 61 63 5a 53 42 6d 38 BumjQjBAMB0GA1UdDgQWBBR1cacZSBm8
1aab60 6e 5a 33 71 51 55 66 66 6c 4d 52 49 64 35 6e 54 65 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
1aab80 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 .BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zA
1aaba0 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a 45 41 37 77 4e 62 65 71 79 KBggqhkjOPQQDAwNoADBlAjEA7wNbeqy
1aabc0 33 65 41 70 79 74 34 6a 66 2f 37 56 47 0a 46 41 6b 4b 2b 71 44 6d 66 51 6a 47 47 6f 65 39 47 4b 3eApyt4jf/7VG.FAkK+qDmfQjGGoe9GK
1aabe0 68 7a 76 53 62 4b 59 41 79 64 7a 70 6d 66 7a 31 77 50 4d 4f 47 2b 46 44 48 71 41 6a 41 55 39 4a hzvSbKYAydzpmfz1wPMOG+FDHqAjAU9J
1aac00 4d 38 53 61 63 7a 65 70 42 47 52 37 4e 6a 66 52 4f 62 54 72 64 76 47 44 65 41 0a 55 2f 37 64 49 M8SaczepBGR7NjfRObTrdvGDeA.U/7dI
1aac20 4f 41 31 6d 6a 62 52 78 77 47 35 35 74 7a 64 38 2f 38 64 4c 44 6f 57 56 39 6d 53 4f 64 59 3d 0a OA1mjbRxwG55tzd8/8dLDoWV9mSOdY=.
1aac40 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 54 45 -----END.CERTIFICATE-----..OISTE
1aac60 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 41 20 43 41 0a 3d 3d 3d 3d 3d .WISeKey.Global.Root.GA.CA.=====
1aac80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d ==========================.-----
1aaca0 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 38 54 43 43 41 BEGIN.CERTIFICATE-----.MIID8TCCA
1aacc0 74 6d 67 41 77 49 42 41 67 49 51 51 54 31 79 78 2f 52 72 48 34 46 44 66 66 48 53 4b 46 54 66 6d tmgAwIBAgIQQT1yx/RrH4FDffHSKFTfm
1aace0 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 69 6a 45 4c 4d 41 6b 47 41 jANBgkqhkiG9w0BAQUFADCBijELMAkGA
1aad00 31 55 45 0a 42 68 4d 43 51 30 67 78 45 44 41 4f 42 67 4e 56 42 41 6f 54 42 31 64 4a 55 32 56 4c 1UE.BhMCQ0gxEDAOBgNVBAoTB1dJU2VL
1aad20 5a 58 6b 78 47 7a 41 5a 42 67 4e 56 42 41 73 54 45 6b 4e 76 63 48 6c 79 61 57 64 6f 64 43 41 6f ZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAo
1aad40 59 79 6b 67 4d 6a 41 77 4e 54 45 69 4d 43 41 47 0a 41 31 55 45 43 78 4d 5a 54 30 6c 54 56 45 55 YykgMjAwNTEiMCAG.A1UECxMZT0lTVEU
1aad60 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e 6c 5a 44 45 6f 4d 43 59 gRm91bmRhdGlvbiBFbmRvcnNlZDEoMCY
1aad80 47 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 53 42 48 0a 62 47 GA1UEAxMfT0lTVEUgV0lTZUtleSBH.bG
1aada0 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 51 53 42 44 51 54 41 65 46 77 30 77 4e 54 45 79 4d 54 9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMT
1aadc0 45 78 4e 6a 41 7a 4e 44 52 61 46 77 30 7a 4e 7a 45 79 4d 54 45 78 4e 6a 41 35 4e 54 46 61 4d 49 ExNjAzNDRaFw0zNzEyMTExNjA5NTFaMI
1aade0 47 4b 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 44 53 44 45 51 4d 41 34 47 41 31 55 45 43 GKMQswCQYD.VQQGEwJDSDEQMA4GA1UEC
1aae00 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 62 4d 42 6b 47 41 31 55 45 43 78 4d 53 51 32 39 77 65 hMHV0lTZUtleTEbMBkGA1UECxMSQ29we
1aae20 58 4a 70 5a 32 68 30 49 43 68 6a 4b 53 41 79 4d 44 41 31 4d 53 49 77 0a 49 41 59 44 56 51 51 4c XJpZ2h0IChjKSAyMDA1MSIw.IAYDVQQL
1aae40 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 39 75 49 45 56 75 5a 47 39 79 ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9y
1aae60 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 4e 55 52 53 42 58 53 56 4e 6c c2VkMSgwJgYDVQQDEx9PSVNURSBXSVNl
1aae80 53 32 56 35 0a 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 64 42 49 45 4e 42 4d 49 49 S2V5.IEdsb2JhbCBSb290IEdBIENBMII
1aaea0 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 BIjANBgkqhkiG9w0BAQEFAAOCAQ8AMII
1aaec0 42 43 67 4b 43 41 51 45 41 79 30 2b 7a 41 4a 73 39 0a 4e 74 33 35 30 55 6c 71 61 78 42 4a 48 2b BCgKCAQEAy0+zAJs9.Nt350UlqaxBJH+
1aaee0 7a 59 4b 37 4c 47 2b 44 4b 42 4b 55 4f 56 54 4a 6f 5a 49 79 45 56 52 64 37 6a 79 42 78 52 56 56 zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVV
1aaf00 75 75 6b 2b 67 33 2f 79 74 72 36 64 54 71 76 69 72 64 71 46 45 72 31 32 62 44 59 56 78 67 0a 41 uuk+g3/ytr6dTqvirdqFEr12bDYVxg.A
1aaf20 73 6a 31 7a 6e 4a 37 4f 37 6a 79 54 6d 55 49 6d 73 32 6b 61 68 6e 42 41 62 74 7a 70 74 66 32 77 sj1znJ7O7jyTmUIms2kahnBAbtzptf2w
1aaf40 39 33 4e 76 4b 53 4c 74 5a 6c 68 75 41 47 69 6f 39 52 4e 31 41 55 39 6b 61 33 34 74 41 68 78 5a 93NvKSLtZlhuAGio9RN1AU9ka34tAhxZ
1aaf60 4b 39 77 38 52 78 72 66 76 62 44 0a 64 35 30 6b 63 33 76 6b 44 49 7a 68 32 54 62 68 6d 59 73 46 K9w8RxrfvbD.d50kc3vkDIzh2TbhmYsF
1aaf80 6d 51 76 74 52 54 45 4a 79 73 49 41 32 2f 64 79 6f 4a 61 71 6c 59 66 51 6a 73 65 32 59 58 4d 4e mQvtRTEJysIA2/dyoJaqlYfQjse2YXMN
1aafa0 64 6d 61 4d 33 42 75 30 59 36 4b 66 66 35 4d 54 4d 50 47 68 4a 39 76 5a 0a 2f 79 78 56 69 4a 47 dmaM3Bu0Y6Kff5MTMPGhJ9vZ./yxViJG
1aafc0 67 34 45 38 48 73 43 68 57 6a 42 67 62 6c 30 53 4f 69 64 33 67 46 32 37 6e 4b 75 2b 50 4f 51 6f g4E8HsChWjBgbl0SOid3gF27nKu+POQo
1aafe0 78 68 49 4c 59 51 42 52 4a 4c 6e 70 42 35 4b 66 2b 34 32 54 4d 77 56 6c 78 53 79 77 68 70 31 74 xhILYQBRJLnpB5Kf+42TMwVlxSywhp1t
1ab000 39 34 42 33 52 0a 4c 6f 47 62 77 39 68 6f 39 37 32 57 47 36 78 77 73 52 59 55 43 39 74 67 75 53 94B3R.LoGbw9ho972WG6xwsRYUC9tguS
1ab020 59 42 42 51 49 44 41 51 41 42 6f 31 45 77 54 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 YBBQIDAQABo1EwTzALBgNVHQ8EBAMCAY
1ab040 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 YwDwYDVR0TAQH/BAUw.AwEB/zAdBgNVH
1ab060 51 34 45 46 67 51 55 73 77 4e 2b 72 6a 61 38 73 48 6e 52 33 4a 51 6d 74 68 47 2b 49 62 4a 70 68 Q4EFgQUswN+rja8sHnR3JQmthG+IbJph
1ab080 70 51 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 0a pQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ.
1ab0a0 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 45 75 68 2f 77 75 48 62 72 50 35 KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5
1ab0c0 77 55 4f 78 53 50 4d 6f 77 42 30 75 79 51 6c 42 2b 70 51 41 48 4b 53 6b 71 30 6c 50 6a 7a 30 65 wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e
1ab0e0 37 30 31 76 76 62 79 6b 39 76 49 6d 0a 4d 4d 6b 51 79 68 32 49 2b 33 51 5a 48 34 56 46 76 62 42 701vvbyk9vIm.MMkQyh2I+3QZH4VFvbB
1ab100 73 55 66 6b 32 66 74 76 31 54 44 49 36 51 55 39 62 52 38 2f 6f 43 79 32 32 78 42 6d 64 64 4d 56 sUfk2ftv1TDI6QU9bR8/oCy22xBmddMV
1ab120 48 78 6a 74 71 44 36 77 55 32 7a 7a 30 63 35 79 70 42 64 38 41 33 48 52 34 0a 2b 76 67 31 59 46 HxjtqD6wU2zz0c5ypBd8A3HR4.+vg1YF
1ab140 6b 43 45 78 68 38 76 50 74 4e 73 43 42 74 51 37 74 67 4d 48 70 6e 4d 31 7a 46 6d 64 48 34 4c 54 kCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LT
1ab160 6c 53 63 2f 75 4d 71 70 63 6c 58 48 4c 5a 43 42 36 72 54 6a 7a 6a 67 54 47 66 41 36 62 37 77 50 lSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP
1ab180 34 70 69 46 58 61 0a 68 4e 56 51 41 37 62 69 68 4b 4f 6d 4e 71 6f 52 4f 67 48 68 47 45 76 57 52 4piFXa.hNVQA7bihKOmNqoROgHhGEvWR
1ab1a0 47 69 7a 50 66 6c 54 64 49 53 7a 52 70 46 47 6c 67 43 33 67 43 79 32 34 65 4d 51 34 74 75 69 35 GizPflTdISzRpFGlgC3gCy24eMQ4tui5
1ab1c0 79 69 50 41 5a 5a 69 46 6a 34 41 34 78 79 6c 4e 6f 45 59 0a 6f 6b 78 53 64 73 41 52 6f 32 37 6d yiPAZZiFj4A4xylNoEY.okxSdsARo27m
1ab1e0 48 62 72 6a 57 72 34 32 55 38 55 2b 64 59 2b 47 61 53 6c 59 55 37 57 63 75 32 2b 66 58 4d 55 59 HbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY
1ab200 37 4e 30 76 34 5a 6a 4a 2f 4c 37 66 43 67 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 7N0v4ZjJ/L7fCg0=.-----END.CERTIF
1ab220 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 67 6e 61 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d ICATE-----..Certigna.========.--
1ab240 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 71 44 ---BEGIN.CERTIFICATE-----.MIIDqD
1ab260 43 43 41 70 43 67 41 77 49 42 41 67 49 4a 41 50 37 63 34 77 45 50 79 55 6a 2f 4d 41 30 47 43 53 CCApCgAwIBAgIJAP7c4wEPyUj/MA0GCS
1ab280 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 44 51 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b qGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAk
1ab2a0 5a 53 4d 52 49 77 0a 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 65 57 39 30 61 58 4d 78 45 ZSMRIw.EAYDVQQKDAlEaGlteW90aXMxE
1ab2c0 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 70 5a 32 35 68 4d 42 34 58 44 54 41 33 4d TAPBgNVBAMMCENlcnRpZ25hMB4XDTA3M
1ab2e0 44 59 79 4f 54 45 31 4d 54 4d 77 4e 56 6f 58 44 54 49 33 0a 4d 44 59 79 4f 54 45 31 4d 54 4d 77 DYyOTE1MTMwNVoXDTI3.MDYyOTE1MTMw
1ab300 4e 56 6f 77 4e 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 4e 56 NVowNDELMAkGA1UEBhMCRlIxEjAQBgNV
1ab320 42 41 6f 4d 43 55 52 6f 61 57 31 35 62 33 52 70 63 7a 45 52 4d 41 38 47 41 31 55 45 41 77 77 49 BAoMCURoaW15b3RpczERMA8GA1UEAwwI
1ab340 0a 51 32 56 79 64 47 6c 6e 62 6d 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 .Q2VydGlnbmEwggEiMA0GCSqGSIb3DQE
1ab360 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 49 61 50 48 4a 31 74 61 BAQUAA4IBDwAwggEKAoIBAQDIaPHJ1ta
1ab380 7a 4e 48 55 6d 67 68 37 73 74 4c 37 71 0a 58 4f 45 6d 37 52 46 48 59 65 47 69 66 42 5a 34 51 43 zNHUmgh7stL7q.XOEm7RFHYeGifBZ4QC
1ab3a0 48 6b 59 4a 35 61 79 47 50 68 78 4c 47 57 6b 76 38 59 62 57 6b 6a 34 53 74 69 39 39 33 69 4e 69 HkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi
1ab3c0 2b 52 42 37 6c 49 7a 77 37 73 65 62 59 73 35 7a 52 4c 63 41 67 6c 6f 7a 79 48 0a 47 78 6e 79 67 +RB7lIzw7sebYs5zRLcAglozyH.Gxnyg
1ab3e0 51 63 50 4f 4a 41 5a 30 78 48 2b 68 72 54 79 30 56 34 65 48 70 62 4e 67 47 7a 4f 4f 7a 47 54 74 QcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTt
1ab400 76 4b 67 30 4b 6d 56 45 6e 32 6c 6d 73 78 72 79 49 52 57 69 6a 4f 70 35 79 49 56 55 78 62 77 7a vKg0KmVEn2lmsxryIRWijOp5yIVUxbwz
1ab420 42 66 73 56 31 2f 70 0a 6f 67 71 59 43 64 37 6a 58 35 78 76 33 45 6a 6a 68 51 73 56 57 71 61 36 BfsV1/p.ogqYCd7jX5xv3EjjhQsVWqa6
1ab440 6e 36 78 49 34 77 6d 79 39 2f 51 79 33 6c 34 30 76 68 78 34 58 55 4a 62 7a 67 34 69 6a 30 32 51 n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q
1ab460 31 33 30 79 47 4c 4d 4c 4c 47 71 2f 6a 6a 38 55 45 59 6b 67 0a 44 6e 63 55 74 54 32 55 43 49 66 130yGLMLLGq/jj8UEYkg.DncUtT2UCIf
1ab480 33 4a 52 37 56 73 6d 41 41 37 47 38 71 4b 43 56 75 4b 6a 34 59 59 78 63 6c 50 7a 35 45 49 42 62 3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb
1ab4a0 32 4a 73 67 6c 72 67 56 4b 74 4f 64 6a 4c 50 4f 4d 46 6c 4e 2b 58 50 73 52 47 67 6a 42 52 6d 4b 2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmK
1ab4c0 66 0a 49 72 6a 78 77 6f 31 70 33 50 6f 36 57 41 62 66 41 67 4d 42 41 41 47 6a 67 62 77 77 67 62 f.Irjxwo1p3Po6WAbfAgMBAAGjgbwwgb
1ab4e0 6b 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 kwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ
1ab500 34 45 46 67 51 55 47 75 33 2b 51 54 6d 51 0a 74 43 52 5a 76 67 48 79 55 74 56 46 39 6c 6f 35 33 4EFgQUGu3+QTmQ.tCRZvgHyUtVF9lo53
1ab520 42 45 77 5a 41 59 44 56 52 30 6a 42 46 30 77 57 34 41 55 47 75 33 2b 51 54 6d 51 74 43 52 5a 76 BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZv
1ab540 67 48 79 55 74 56 46 39 6c 6f 35 33 42 47 68 4f 4b 51 32 4d 44 51 78 43 7a 41 4a 0a 42 67 4e 56 gHyUtVF9lo53BGhOKQ2MDQxCzAJ.BgNV
1ab560 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 65 57 39 30 BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90
1ab580 61 58 4d 78 45 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 70 5a 32 35 68 67 67 6b 41 aXMxETAPBgNVBAMMCENlcnRpZ25hggkA
1ab5a0 2f 74 7a 6a 41 51 2f 4a 0a 53 50 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 /tzjAQ/J.SP8wDgYDVR0PAQH/BAQDAgE
1ab5c0 47 4d 42 45 47 43 57 43 47 53 41 47 47 2b 45 49 42 41 51 51 45 41 77 49 41 42 7a 41 4e 42 67 6b GMBEGCWCGSAGG+EIBAQQEAwIABzANBgk
1ab5e0 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 0a 68 51 4d 65 6b 6e 48 32 51 71 qhkiG9w0BAQUFAAOCAQEA.hQMeknH2Qq
1ab600 2f 68 6f 32 47 65 36 2f 50 41 44 2f 4b 6c 31 4e 71 56 35 74 61 2b 61 44 59 39 66 6d 34 66 54 49 /ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTI
1ab620 72 76 30 51 38 68 62 56 36 6c 55 6d 50 4f 45 76 6a 76 4b 74 70 76 36 7a 66 2b 45 77 4c 48 79 7a rv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyz
1ab640 73 2b 0a 49 6d 76 61 59 53 35 2f 31 48 49 39 33 54 44 68 48 6b 78 41 47 59 77 50 31 35 7a 52 67 s+.ImvaYS5/1HI93TDhHkxAGYwP15zRg
1ab660 7a 42 37 6d 46 6e 63 66 63 61 35 44 43 6c 4d 6f 54 4f 69 36 32 63 36 5a 59 54 54 6c 75 4c 74 64 zB7mFncfca5DClMoTOi62c6ZYTTluLtd
1ab680 6b 56 77 6a 37 55 72 33 76 6b 6a 31 6b 6c 75 0a 50 42 53 31 78 70 38 31 48 6c 44 51 77 59 39 71 kVwj7Ur3vkj1klu.PBS1xp81HlDQwY9q
1ab6a0 63 45 51 43 59 73 75 75 48 57 68 42 70 36 70 58 36 46 4f 71 42 39 49 47 39 74 55 55 42 67 75 52 cEQCYsuuHWhBp6pX6FOqB9IG9tUUBguR
1ab6c0 41 33 55 73 62 48 4b 31 59 5a 57 61 44 59 75 35 44 65 66 31 33 31 54 4e 33 75 62 59 0a 31 67 6b A3UsbHK1YZWaDYu5Def131TN3ubY.1gk
1ab6e0 49 6c 32 50 6c 77 53 36 77 74 30 51 6d 77 43 62 41 72 31 55 77 6e 6a 76 56 4e 69 6f 5a 42 50 52 Il2PlwS6wt0QmwCbAr1UwnjvVNioZBPR
1ab700 63 48 76 2f 50 4c 4c 66 2f 30 50 32 48 51 42 48 56 45 53 4f 37 53 4d 41 68 71 61 51 6f 4c 66 30 cHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0
1ab720 56 2b 4c 42 4f 4b 2f 51 77 0a 57 79 48 38 45 5a 45 30 76 6b 48 76 65 35 32 58 64 66 2b 58 6c 63 V+LBOK/Qw.WyH8EZE0vkHve52Xdf+Xlc
1ab740 43 57 57 43 2f 71 75 30 62 58 75 2b 54 5a 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 CWWC/qu0bXu+TZLg==.-----END.CERT
1ab760 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 65 75 74 73 63 68 65 20 54 65 6c 65 6b 6f 6d 20 52 IFICATE-----..Deutsche.Telekom.R
1ab780 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d oot.CA.2.=======================
1ab7a0 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1ab7c0 4d 49 49 44 6e 7a 43 43 41 6f 65 67 41 77 49 42 41 67 49 42 4a 6a 41 4e 42 67 6b 71 68 6b 69 47 MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG
1ab7e0 39 77 30 42 41 51 55 46 41 44 42 78 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 45 63 9w0BAQUFADBxMQswCQYDVQQGEwJERTEc
1ab800 4d 42 6f 47 41 31 55 45 43 68 4d 54 0a 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 MBoGA1UEChMT.RGV1dHNjaGUgVGVsZWt
1ab820 76 62 53 42 42 52 7a 45 66 4d 42 30 47 41 31 55 45 43 78 4d 57 56 43 31 55 5a 57 78 6c 55 32 56 vbSBBRzEfMB0GA1UECxMWVC1UZWxlU2V
1ab840 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 6c 63 6a 45 6a 4d 43 45 47 0a 41 31 55 45 41 78 jIFRydXN0IENlbnRlcjEjMCEG.A1UEAx
1ab860 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 53 42 53 62 32 39 30 49 45 MaRGV1dHNjaGUgVGVsZWtvbSBSb290IE
1ab880 4e 42 49 44 49 77 48 68 63 4e 4f 54 6b 77 4e 7a 41 35 4d 54 49 78 4d 54 41 77 57 68 63 4e 4d 54 NBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMT
1ab8a0 6b 77 4e 7a 41 35 0a 4d 6a 4d 31 4f 54 41 77 57 6a 42 78 4d 51 73 77 43 51 59 44 56 51 51 47 45 kwNzA5.MjM1OTAwWjBxMQswCQYDVQQGE
1ab8c0 77 4a 45 52 54 45 63 4d 42 6f 47 41 31 55 45 43 68 4d 54 52 47 56 31 64 48 4e 6a 61 47 55 67 56 wJERTEcMBoGA1UEChMTRGV1dHNjaGUgV
1ab8e0 47 56 73 5a 57 74 76 62 53 42 42 52 7a 45 66 4d 42 30 47 0a 41 31 55 45 43 78 4d 57 56 43 31 55 GVsZWtvbSBBRzEfMB0G.A1UECxMWVC1U
1ab900 5a 57 78 6c 55 32 56 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 6c 63 6a 45 6a 4d 43 45 47 ZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
1ab920 41 31 55 45 41 78 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 53 42 53 A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
1ab940 0a 62 32 39 30 49 45 4e 42 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 .b290IENBIDIwggEiMA0GCSqGSIb3DQE
1ab960 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 72 43 36 4d 31 34 49 73 BAQUAA4IBDwAwggEKAoIBAQCrC6M14Is
1ab980 70 46 4c 45 55 68 61 38 38 45 4f 51 35 0a 62 7a 56 64 53 71 37 64 36 6d 47 4e 6c 55 6e 30 62 32 pFLEUha88EOQ5.bzVdSq7d6mGNlUn0b2
1ab9a0 53 6a 47 6d 42 6d 70 4b 6c 41 49 6f 54 5a 31 4b 58 6c 65 4a 4d 4f 61 41 47 74 75 55 31 63 4f 73 SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs
1ab9c0 37 54 75 4b 68 43 51 4e 2f 50 6f 37 71 43 57 57 71 53 47 36 77 63 6d 74 6f 49 0a 4b 79 55 6e 2b 7TuKhCQN/Po7qCWWqSG6wcmtoI.KyUn+
1ab9e0 57 6b 6a 52 2f 48 67 36 79 78 36 6d 2f 55 54 41 74 42 2b 4e 48 7a 43 6e 6a 77 41 57 61 76 31 32 WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12
1aba00 67 7a 31 4d 6a 77 72 72 46 44 61 31 73 50 65 67 35 54 4b 71 41 79 5a 4d 67 34 49 53 46 5a 62 61 gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZba
1aba20 76 76 61 34 56 68 59 0a 41 55 6c 66 63 6b 45 38 46 51 59 42 6a 6c 32 74 71 72 69 54 74 4d 32 65 vva4VhY.AUlfckE8FQYBjl2tqriTtM2e
1aba40 36 36 66 6f 61 69 31 53 4e 4e 73 36 37 31 78 31 55 64 72 62 38 7a 48 35 37 6e 47 59 4d 73 52 55 66foai1SNNs671x1Udrb8zH57nGYMsRU
1aba60 46 55 51 4d 2b 5a 74 56 37 61 33 66 47 41 69 67 6f 34 61 4b 0a 53 65 35 54 42 59 38 5a 54 4e 58 FUQM+ZtV7a3fGAigo4aK.Se5TBY8ZTNX
1aba80 65 57 48 6d 62 30 6d 6f 63 51 71 76 46 31 61 66 50 61 41 2b 57 35 4f 46 68 6d 48 5a 68 79 4a 46 eWHmb0mocQqvF1afPaA+W5OFhmHZhyJF
1abaa0 38 31 6a 34 41 34 70 46 51 68 2b 47 64 43 75 61 74 6c 39 49 64 78 6a 70 39 79 37 7a 61 41 7a 54 81j4A4pFQh+GdCuatl9Idxjp9y7zaAzT
1abac0 56 0a 6a 6c 73 42 39 57 6f 48 74 78 61 32 62 6b 70 2f 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 42 V.jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB
1abae0 30 47 41 31 55 64 44 67 51 57 42 42 51 78 77 33 6b 62 75 76 56 54 31 78 66 67 69 58 6f 74 46 32 0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2
1abb00 77 4b 73 79 75 64 4d 7a 41 50 42 67 4e 56 0a 48 52 4d 45 43 44 41 47 41 51 48 2f 41 67 45 46 4d wKsyudMzAPBgNV.HRMECDAGAQH/AgEFM
1abb20 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 71 68 6b 69 47 39 A4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9
1abb40 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6c 47 52 5a 72 54 6c 6b 35 79 6e 72 0a 45 2f 35 61 w0BAQUFAAOCAQEAlGRZrTlk5ynr.E/5a
1abb60 77 34 73 54 56 38 67 45 4a 50 42 30 64 38 42 67 34 32 66 37 36 59 6d 6d 67 37 2b 57 67 6e 78 75 w4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu
1abb80 31 4d 4d 39 37 35 36 41 62 72 73 70 74 4a 68 36 73 54 74 55 36 7a 6b 58 52 33 34 61 6a 67 76 38 1MM9756AbrsptJh6sTtU6zkXR34ajgv8
1abba0 48 7a 46 5a 4d 51 53 79 0a 7a 68 66 7a 4c 4d 64 69 4e 6c 58 69 49 74 69 4a 56 62 53 59 53 4b 70 HzFZMQSy.zhfzLMdiNlXiItiJVbSYSKp
1abbc0 6b 2b 74 59 63 4e 74 68 45 65 46 70 61 49 7a 70 58 6c 2f 56 36 4d 45 2b 75 6e 32 70 4d 53 79 75 k+tYcNthEeFpaIzpXl/V6ME+un2pMSyu
1abbe0 4f 6f 41 50 6a 50 75 43 70 31 4e 4a 37 30 72 4f 6f 34 6e 49 38 0a 72 5a 37 2f 67 46 6e 6b 6d 30 OoAPjPuCp1NJ70rOo4nI8.rZ7/gFnkm0
1abc00 57 30 39 6a 75 77 7a 54 6b 5a 6d 44 4c 6c 36 69 46 68 6b 4f 51 78 49 59 34 30 73 66 63 76 4e 55 W09juwzTkZmDLl6iFhkOQxIY40sfcvNU
1abc20 71 46 45 4e 72 6e 69 6a 63 68 76 6c 6c 6a 34 50 4b 46 69 44 46 54 31 46 51 55 68 58 42 35 39 43 qFENrnijchvllj4PKFiDFT1FQUhXB59C
1abc40 34 47 0a 64 79 64 31 4c 78 2b 34 69 76 6e 2b 78 62 72 59 4e 75 53 44 37 4f 64 6c 74 37 39 6a 57 4G.dyd1Lx+4ivn+xbrYNuSD7Odlt79jW
1abc60 76 4e 47 72 34 47 55 4e 39 52 42 6a 4e 59 6a 31 68 37 50 39 57 67 62 52 47 4f 69 57 72 71 6e 4e vNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnN
1abc80 56 6d 68 35 58 41 46 6d 77 34 6a 56 35 6d 55 0a 43 6d 32 36 4f 57 4d 6f 68 70 4c 7a 47 49 54 59 Vmh5XAFmw4jV5mU.Cm26OWMohpLzGITY
1abca0 2b 39 48 50 42 56 5a 6b 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 +9HPBVZkVw==.-----END.CERTIFICAT
1abcc0 45 2d 2d 2d 2d 2d 0a 0a 43 79 62 65 72 74 72 75 73 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 0a 3d E-----..Cybertrust.Global.Root.=
1abce0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e =====================.-----BEGIN
1abd00 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6f 54 43 43 41 6f 6d 67 41 77 .CERTIFICATE-----.MIIDoTCCAomgAw
1abd20 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 44 34 57 71 4c 55 67 77 44 51 59 4a 4b 6f 5a 49 68 76 IBAgILBAAAAAABD4WqLUgwDQYJKoZIhv
1abd40 63 4e 41 51 45 46 42 51 41 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 51 33 6c 69 0a 5a cNAQEFBQAwOzEYMBYGA1UEChMPQ3li.Z
1abd60 58 4a 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 56 51 51 44 45 78 5a 44 65 XJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDe
1abd80 57 4a 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 4d 42 34 58 44 WJlcnRydXN0IEdsb2JhbCBSb290MB4XD
1abda0 54 41 32 4d 54 49 78 4e 54 41 34 0a 4d 44 41 77 4d 46 6f 58 44 54 49 78 4d 54 49 78 4e 54 41 34 TA2MTIxNTA4.MDAwMFoXDTIxMTIxNTA4
1abdc0 4d 44 41 77 4d 46 6f 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 51 33 6c 69 5a 58 4a 30 MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0
1abde0 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 56 51 51 44 0a 45 78 5a 44 65 57 4a cnVzdCwgSW5jMR8wHQYDVQQD.ExZDeWJ
1abe00 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 4d 49 49 42 49 6a 41 lcnRydXN0IEdsb2JhbCBSb290MIIBIjA
1abe20 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b NBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgK
1abe40 43 41 51 45 41 0a 2b 4d 69 38 76 52 52 51 5a 68 50 2f 38 4e 4e 35 37 43 50 79 74 78 72 48 6a 6f CAQEA.+Mi8vRRQZhP/8NN57CPytxrHjo
1abe60 58 78 45 6e 4f 6d 47 61 6f 51 32 35 79 69 5a 58 52 61 64 7a 35 52 66 56 62 32 33 43 4f 32 31 4f XxEnOmGaoQ25yiZXRadz5RfVb23CO21O
1abe80 31 66 57 4c 45 33 54 64 56 4a 44 6d 37 31 61 6f 66 57 0a 30 6f 7a 53 4a 38 62 69 2f 7a 61 66 6d 1fWLE3TdVJDm71aofW.0ozSJ8bi/zafm
1abea0 47 57 67 45 30 37 47 4b 6d 53 62 31 5a 41 53 7a 78 51 47 39 44 76 6a 31 43 69 2b 36 41 37 34 71 GWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q
1abec0 30 35 49 6c 47 32 4f 6c 54 45 51 58 4f 32 69 4c 62 33 56 4f 6d 32 79 48 4c 74 67 77 45 5a 4c 0a 05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL.
1abee0 41 66 56 4a 72 6e 35 47 69 74 42 30 6a 61 45 4d 41 73 37 75 2f 4f 65 50 75 47 74 6d 38 33 39 45 AfVJrn5GitB0jaEMAs7u/OePuGtm839E
1abf00 41 4c 39 6d 4a 52 51 72 33 52 41 77 48 51 65 57 50 30 33 32 61 37 69 50 74 33 73 4d 70 54 6a 72 AL9mJRQr3RAwHQeWP032a7iPt3sMpTjr
1abf20 33 6b 66 62 31 56 30 35 2f 49 69 6e 0a 38 39 63 71 64 50 48 6f 57 71 49 37 6e 31 43 36 70 6f 78 3kfb1V05/Iin.89cqdPHoWqI7n1C6pox
1abf40 46 4e 63 4a 51 5a 5a 58 63 59 34 4c 76 33 62 39 33 54 5a 78 69 79 57 4e 7a 46 74 41 70 44 30 6d FNcJQZZXcY4Lv3b93TZxiyWNzFtApD0m
1abf60 70 53 50 43 7a 71 72 64 73 78 61 63 77 4f 55 42 64 72 73 54 69 58 53 5a 54 0a 38 4d 34 63 49 77 pSPCzqrdsxacwOUBdrsTiXSZT.8M4cIw
1abf80 68 68 71 4a 51 5a 75 67 52 69 51 4f 77 66 4f 48 42 33 45 67 5a 78 70 7a 41 59 58 53 55 6e 70 51 hhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQ
1abfa0 49 44 41 51 41 42 6f 34 47 6c 4d 49 47 69 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 IDAQABo4GlMIGiMA4GA1UdDwEB/wQEAw
1abfc0 49 42 42 6a 41 50 0a 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 IBBjAP.BgNVHRMBAf8EBTADAQH/MB0GA
1abfe0 31 55 64 44 67 51 57 42 42 53 32 43 48 73 4e 65 73 79 73 49 45 79 47 56 6a 4a 65 7a 36 74 75 68 1UdDgQWBBS2CHsNesysIEyGVjJez6tuh
1ac000 53 31 77 56 7a 41 2f 42 67 4e 56 48 52 38 45 4f 44 41 32 0a 4d 44 53 67 4d 71 41 77 68 69 35 6f S1wVzA/BgNVHR8EODA2.MDSgMqAwhi5o
1ac020 64 48 52 77 4f 69 38 76 64 33 64 33 4d 69 35 77 64 57 4a 73 61 57 4d 74 64 48 4a 31 63 33 51 75 dHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3Qu
1ac040 59 32 39 74 4c 32 4e 79 62 43 39 6a 64 43 39 6a 64 48 4a 76 62 33 51 75 59 33 4a 73 4d 42 38 47 Y29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
1ac060 0a 41 31 55 64 49 77 51 59 4d 42 61 41 46 4c 59 49 65 77 31 36 7a 4b 77 67 54 49 5a 57 4d 6c 37 .A1UdIwQYMBaAFLYIew16zKwgTIZWMl7
1ac080 50 71 32 36 46 4c 58 42 58 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4I
1ac0a0 42 41 51 42 57 37 77 6f 6a 6f 46 52 4f 0a 6c 5a 66 4a 2b 49 6e 61 52 63 48 55 6f 77 41 6c 39 42 BAQBW7wojoFRO.lZfJ+InaRcHUowAl9B
1ac0c0 38 54 71 37 65 6a 68 56 68 70 77 6a 43 74 32 42 57 4b 4c 65 50 4a 7a 59 46 61 2b 48 4d 6a 57 71 8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWq
1ac0e0 64 38 42 66 50 39 49 6a 73 4f 30 51 62 45 32 7a 5a 4d 63 77 53 4f 35 62 41 69 0a 35 4d 58 7a 4c d8BfP9IjsO0QbE2zZMcwSO5bAi.5MXzL
1ac100 71 58 5a 49 2b 4f 34 54 6b 6f 67 70 32 34 43 4a 4a 38 69 59 47 64 37 69 78 31 79 43 63 55 78 58 qXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxX
1ac120 4f 6c 35 6e 34 42 48 50 61 32 68 43 77 63 55 50 55 66 2f 41 32 6b 61 44 41 74 45 35 32 4d 6c 70 Ol5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp
1ac140 33 2b 79 79 62 68 32 0a 68 4f 30 6a 39 6e 30 48 71 30 56 2b 30 39 2b 7a 76 2b 6d 4b 74 73 32 6f 3+yybh2.hO0j9n0Hq0V+09+zv+mKts2o
1ac160 6f 6d 63 72 55 74 57 33 5a 66 41 35 54 47 4f 67 6b 58 6d 54 55 67 39 55 33 59 4f 37 6e 39 47 50 omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GP
1ac180 70 31 4e 7a 77 38 76 2f 4d 4f 78 38 42 4c 6a 59 52 42 2b 54 0a 58 33 45 4a 49 72 64 75 50 75 6f p1Nzw8v/MOx8BLjYRB+T.X3EJIrduPuo
1ac1a0 63 41 30 36 64 47 69 42 68 2b 34 45 33 37 46 37 38 43 6b 57 72 31 2b 63 58 56 64 43 67 36 6d 43 cA06dGiBh+4E37F78CkWr1+cXVdCg6mC
1ac1c0 62 70 76 62 6a 6a 46 73 70 77 67 5a 67 46 4a 30 74 6c 30 79 70 6b 78 57 64 59 63 51 42 58 30 6a bpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0j
1ac1e0 57 0a 57 4c 31 57 4d 52 4a 4f 45 63 67 68 34 4c 4d 52 6b 57 58 62 74 4b 61 49 4f 4d 35 56 0a 2d W.WL1WMRJOEcgh4LMRkWXbtKaIOM5V.-
1ac200 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 65 50 4b 49 20 52 ----END.CERTIFICATE-----..ePKI.R
1ac220 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d oot.Certification.Authority.====
1ac240 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d =============================.--
1ac260 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 73 44 ---BEGIN.CERTIFICATE-----.MIIFsD
1ac280 43 43 41 35 69 67 41 77 49 42 41 67 49 51 46 63 69 39 5a 55 64 63 72 37 69 58 41 46 37 6b 42 74 CCA5igAwIBAgIQFci9ZUdcr7iXAF7kBt
1ac2a0 4b 38 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 65 4d 51 73 77 43 51 K8nTANBgkqhkiG9w0BAQUFADBeMQswCQ
1ac2c0 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 6a 4d 43 45 47 41 31 55 45 43 67 77 61 51 32 68 31 62 YDVQQG.EwJUVzEjMCEGA1UECgwaQ2h1b
1ac2e0 6d 64 6f 64 32 45 67 56 47 56 73 5a 57 4e 76 62 53 42 44 62 79 34 73 49 45 78 30 5a 43 34 78 4b mdod2EgVGVsZWNvbSBDby4sIEx0ZC4xK
1ac300 6a 41 6f 42 67 4e 56 42 41 73 4d 49 57 56 51 53 30 6b 67 0a 55 6d 39 76 64 43 42 44 5a 58 4a 30 jAoBgNVBAsMIWVQS0kg.Um9vdCBDZXJ0
1ac320 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0w
1ac340 4e 44 45 79 4d 6a 41 77 4d 6a 4d 78 4d 6a 64 61 46 77 30 7a 4e 44 45 79 4d 6a 41 77 4d 6a 4d 78 NDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
1ac360 0a 4d 6a 64 61 4d 46 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 58 4d 53 4d 77 49 51 59 .MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQY
1ac380 44 56 51 51 4b 44 42 70 44 61 48 56 75 5a 32 68 33 59 53 42 55 5a 57 78 6c 59 32 39 74 49 45 4e DVQQKDBpDaHVuZ2h3YSBUZWxlY29tIEN
1ac3a0 76 4c 69 77 67 54 48 52 6b 4c 6a 45 71 0a 4d 43 67 47 41 31 55 45 43 77 77 68 5a 56 42 4c 53 53 vLiwgTHRkLjEq.MCgGA1UECwwhZVBLSS
1ac3c0 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 BSb290IENlcnRpZmljYXRpb24gQXV0aG
1ac3e0 39 79 61 58 52 35 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 9yaXR5MIICIjANBgkqhkiG9w0B.AQEFA
1ac400 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 34 53 55 50 37 6f 33 62 69 44 4e 31 5a AOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z
1ac420 38 32 74 48 33 30 36 54 6d 32 64 30 79 38 55 38 32 4e 30 79 77 45 68 61 6a 66 71 68 46 41 48 53 82tH306Tm2d0y8U82N0ywEhajfqhFAHS
1ac440 79 5a 62 43 55 4e 73 0a 49 5a 35 71 79 4e 55 44 39 57 42 70 6a 38 7a 77 49 75 51 66 35 2f 64 71 yZbCUNs.IZ5qyNUD9WBpj8zwIuQf5/dq
1ac460 49 6a 47 33 4c 42 58 79 34 50 34 41 61 6b 50 2f 68 32 58 47 74 52 72 42 70 30 78 74 49 6e 41 68 IjG3LBXy4P4AakP/h2XGtRrBp0xtInAh
1ac480 69 6a 48 79 6c 33 53 4a 43 52 49 6d 48 4a 37 4b 32 52 4b 69 0a 6c 54 7a 61 36 57 65 2f 43 4b 42 ijHyl3SJCRImHJ7K2RKi.lTza6We/CKB
1ac4a0 6b 34 39 5a 43 74 30 58 76 6c 2f 54 32 39 64 65 31 53 68 55 43 57 48 32 59 57 45 74 67 76 4d 33 k49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3
1ac4c0 58 44 5a 6f 54 4d 31 50 52 59 66 6c 36 31 64 64 34 73 35 6f 7a 39 77 43 47 7a 68 31 4e 6c 44 69 XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDi
1ac4e0 76 0a 71 4f 78 34 55 58 43 4b 58 42 43 44 55 53 48 33 45 54 30 30 68 6c 37 6c 53 4d 32 58 67 59 v.qOx4UXCKXBCDUSH3ET00hl7lSM2XgY
1ac500 49 31 54 42 6e 73 5a 66 5a 72 78 51 57 68 37 6b 63 54 31 72 4d 68 4a 35 51 51 43 74 6b 6b 4f 37 I1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7
1ac520 71 2b 52 42 4e 47 4d 44 2b 58 50 4e 6a 58 0a 31 32 72 75 4f 7a 6a 6a 4b 39 53 58 44 72 6b 62 35 q+RBNGMD+XPNjX.12ruOzjjK9SXDrkb5
1ac540 77 64 4a 66 7a 63 71 2b 58 64 34 7a 31 54 74 57 30 61 64 6f 34 41 4f 6b 55 50 42 31 6c 74 66 46 wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfF
1ac560 4c 71 66 70 6f 30 6b 52 30 42 5a 76 33 49 34 73 6a 5a 73 4e 2f 2b 5a 30 56 30 4f 0a 57 51 71 72 Lqfpo0kR0BZv3I4sjZsN/+Z0V0O.WQqr
1ac580 61 66 66 41 73 67 52 46 65 6c 51 41 72 72 35 54 39 72 58 6e 34 66 67 38 6f 7a 48 53 71 66 34 68 affAsgRFelQArr5T9rXn4fg8ozHSqf4h
1ac5a0 55 6d 54 46 70 6d 66 77 64 51 63 47 6c 42 53 42 56 63 59 6e 35 41 47 50 46 38 46 71 63 64 65 2b UmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+
1ac5c0 53 2f 75 55 57 48 31 2b 0a 45 54 4f 78 51 76 64 69 62 42 6a 57 7a 77 6c 6f 50 6e 39 73 39 68 36 S/uUWH1+.ETOxQvdibBjWzwloPn9s9h6
1ac5e0 50 59 71 32 6c 59 39 73 4a 70 78 38 69 51 6b 45 65 62 35 6d 4b 50 74 66 35 50 30 42 36 65 62 43 PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebC
1ac600 6c 41 5a 4c 53 6e 54 30 49 46 61 55 51 41 53 32 7a 4d 6e 61 6f 0a 6c 51 32 7a 65 70 72 37 42 78 lAZLSnT0IFaUQAS2zMnao.lQ2zepr7Bx
1ac620 42 34 45 57 2f 68 6a 38 65 36 44 79 55 61 64 43 72 6c 48 4a 68 42 6d 64 38 68 68 2b 69 56 42 6d B4EW/hj8e6DyUadCrlHJhBmd8hh+iVBm
1ac640 6f 4b 73 32 70 48 64 6d 58 32 4f 73 2b 50 59 68 63 5a 65 77 6f 6f 7a 52 72 53 67 78 34 68 78 79 oKs2pHdmX2Os+PYhcZewoozRrSgx4hxy
1ac660 79 2f 0a 76 76 39 68 61 4c 64 6e 47 37 74 34 54 59 33 4f 5a 2b 58 6b 77 59 36 33 49 32 62 69 6e y/.vv9haLdnG7t4TY3OZ+XkwY63I2bin
1ac680 5a 42 31 4e 4a 69 70 4e 69 75 4b 6d 70 53 35 6e 65 7a 4d 69 72 48 34 4a 59 6c 63 57 72 59 76 6a ZB1NJipNiuKmpS5nezMirH4JYlcWrYvj
1ac6a0 42 39 74 65 53 53 6e 55 6d 6a 44 68 44 58 69 0a 5a 6f 31 6a 44 69 56 4e 31 52 6d 79 35 6e 6b 33 B9teSSnUmjDhDXi.Zo1jDiVN1Rmy5nk3
1ac6c0 70 79 4b 64 56 44 45 43 41 77 45 41 41 61 4e 71 4d 47 67 77 48 51 59 44 56 52 30 4f 42 42 59 45 pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYE
1ac6e0 46 42 34 4d 39 37 5a 6e 38 75 47 53 4a 67 6c 46 77 46 55 35 4c 6e 63 2f 51 6b 71 69 0a 4d 41 77 FB4M97Zn8uGSJglFwFU5Lnc/Qkqi.MAw
1ac700 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 4f 51 59 45 5a 79 6f 48 41 41 51 78 4d 43 38 GA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8
1ac720 77 4c 51 49 42 41 44 41 4a 42 67 55 72 44 67 4d 43 47 67 55 41 4d 41 63 47 42 57 63 71 41 77 41 wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwA
1ac740 41 42 42 52 46 73 4d 4c 48 0a 43 6c 5a 38 37 6c 74 34 44 4a 58 35 47 46 50 42 70 68 7a 59 45 44 ABBRFsMLH.ClZ87lt4DJX5GFPBphzYED
1ac760 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 41 43 62 4f 44 55 31 ANBgkqhkiG9w0BAQUFAAOCAgEACbODU1
1ac780 6b 42 50 70 56 4a 75 66 47 42 75 76 6c 32 49 43 4f 31 4a 32 42 30 0a 31 47 71 5a 4e 46 35 73 41 kBPpVJufGBuvl2ICO1J2B0.1GqZNF5sA
1ac7a0 46 50 5a 6e 2f 4b 6d 73 53 51 48 52 47 6f 71 78 71 57 4f 65 42 4c 6f 52 39 6c 59 47 78 4d 71 58 FPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqX
1ac7c0 6e 6d 62 6e 77 6f 71 5a 36 59 6c 50 77 5a 70 56 6e 50 44 69 6d 5a 49 2b 79 6d 42 56 33 51 47 79 nmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGy
1ac7e0 70 7a 71 0a 4b 4f 67 34 5a 79 59 72 38 64 57 31 50 32 57 54 2b 44 5a 64 6a 6f 32 4e 51 43 43 48 pzq.KOg4ZyYr8dW1P2WT+DZdjo2NQCCH
1ac800 47 65 72 76 4a 38 41 39 74 44 6b 50 4a 58 74 6f 55 48 52 56 6e 41 78 5a 66 56 6f 39 51 5a 51 6c GervJ8A9tDkPJXtoUHRVnAxZfVo9QZQl
1ac820 55 67 6a 67 52 79 77 56 4d 52 6e 56 76 77 64 56 0a 78 72 73 53 74 5a 66 30 58 34 4f 46 75 6e 48 UgjgRywVMRnVvwdV.xrsStZf0X4OFunH
1ac840 42 32 57 79 42 45 58 59 4b 43 72 43 2f 67 70 66 33 36 6a 33 36 2b 75 77 74 71 53 69 55 4f 31 62 B2WyBEXYKCrC/gpf36j36+uwtqSiUO1b
1ac860 64 30 6c 45 75 72 73 43 39 43 42 57 4d 64 31 49 30 6c 74 61 62 72 4e 4d 64 6a 6d 45 50 0a 4e 58 d0lEursC9CBWMd1I0ltabrNMdjmEP.NX
1ac880 75 62 72 6a 6c 70 43 32 4a 67 51 43 41 32 6a 36 2f 37 4e 75 34 74 43 45 6f 64 75 4c 2b 62 58 50 ubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXP
1ac8a0 6a 71 70 52 75 67 63 36 62 59 2b 47 37 67 4d 77 52 66 61 4b 6f 6e 68 2b 33 5a 77 5a 43 63 37 62 jqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b
1ac8c0 33 6a 61 6a 57 76 59 39 2b 72 0a 47 4e 6d 36 35 75 6c 4b 36 6c 43 4b 44 32 47 54 48 75 49 74 47 3jajWvY9+r.GNm65ulK6lCKD2GTHuItG
1ac8e0 65 49 77 6c 44 57 53 58 51 36 32 42 36 38 5a 67 49 39 48 6b 46 46 4c 4c 6b 33 64 68 65 4c 53 43 eIwlDWSXQ62B68ZgI9HkFFLLk3dheLSC
1ac900 6c 49 4b 46 35 72 38 47 72 42 51 41 75 55 42 6f 32 4d 33 49 55 78 45 0a 78 4a 74 52 6d 52 45 4f lIKF5r8GrBQAuUBo2M3IUxE.xJtRmREO
1ac920 63 35 77 47 6a 31 51 75 70 79 68 65 52 44 6d 48 56 69 30 33 76 59 56 45 6c 4f 45 4d 53 79 79 63 c5wGj1QupyheRDmHVi03vYVElOEMSyyc
1ac940 77 35 4b 46 4e 47 48 4c 44 37 69 62 53 6b 4e 53 2f 6a 51 36 66 62 6a 70 4b 64 78 32 71 63 67 77 w5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw
1ac960 2b 42 52 78 0a 67 4d 59 65 4e 6b 68 30 49 6b 46 63 68 34 4c 6f 47 48 47 4c 51 59 6c 45 35 33 35 +BRx.gMYeNkh0IkFch4LoGHGLQYlE535
1ac980 59 57 36 69 34 6a 52 50 70 70 32 7a 44 52 2b 32 7a 47 70 31 69 72 6f 32 43 36 70 53 65 33 56 6b YW6i4jRPpp2zDR+2zGp1iro2C6pSe3Vk
1ac9a0 51 77 36 33 64 34 6b 33 6a 4d 64 58 48 37 4f 6a 79 0a 73 50 36 53 48 68 59 4b 47 76 7a 5a 38 2f Qw63d4k3jMdXH7Ojy.sP6SHhYKGvzZ8/
1ac9c0 67 6e 74 73 6d 2b 48 62 52 73 5a 4a 42 2f 39 4f 54 45 57 39 63 33 72 6b 49 4f 33 61 51 61 62 33 gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3
1ac9e0 79 49 56 4d 55 57 62 75 46 36 61 43 37 34 4f 72 38 4e 70 44 79 4a 4f 33 69 6e 54 6d 4f 44 0a 42 yIVMUWbuF6aC74Or8NpDyJO3inTmOD.B
1aca00 43 45 49 5a 34 33 79 67 6b 6e 51 57 2f 32 78 7a 51 2b 44 68 4e 51 2b 49 49 58 33 53 6a 30 72 6e CEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rn
1aca20 50 30 71 43 67 6c 4e 36 6f 48 34 45 5a 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 P0qCglN6oH4EZw=.-----END.CERTIFI
1aca40 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 63 65 72 74 53 49 47 4e 20 52 4f 4f 54 20 43 41 0a 3d 3d 3d 3d CATE-----..certSIGN.ROOT.CA.====
1aca60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1aca80 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4f 44 43 43 41 69 43 67 41 77 49 42 41 67 49 47 49 41 59 ATE-----.MIIDODCCAiCgAwIBAgIGIAY
1acaa0 46 46 6e 41 43 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 44 73 78 43 7a 41 FFnACMA0GCSqGSIb3DQEBBQUAMDsxCzA
1acac0 4a 42 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 0a 56 51 51 4b 45 77 68 6a 5a 58 JBgNVBAYTAlJPMREwDwYD.VQQKEwhjZX
1acae0 4a 30 55 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 43 78 4d 51 59 32 56 79 64 46 4e 4a 52 30 J0U0lHTjEZMBcGA1UECxMQY2VydFNJR0
1acb00 34 67 55 6b 39 50 56 43 42 44 51 54 41 65 46 77 30 77 4e 6a 41 33 4d 44 51 78 4e 7a 49 77 4d 44 4gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMD
1acb20 52 61 0a 46 77 30 7a 4d 54 41 33 4d 44 51 78 4e 7a 49 77 4d 44 52 61 4d 44 73 78 43 7a 41 4a 42 Ra.Fw0zMTA3MDQxNzIwMDRaMDsxCzAJB
1acb40 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 56 51 51 4b 45 77 68 6a 5a 58 4a 30 55 gNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U
1acb60 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 0a 43 78 4d 51 59 32 56 79 64 46 4e 4a 52 30 34 67 0lHTjEZMBcGA1UE.CxMQY2VydFNJR04g
1acb80 55 6b 39 50 56 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 Uk9PVCBDQTCCASIwDQYJKoZIhvcNAQEB
1acba0 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c 63 7a 75 58 37 49 0a 4a 55 71 BQADggEPADCCAQoCggEBALczuX7I.JUq
1acbc0 4f 74 64 75 30 4b 42 75 71 56 35 44 6f 30 53 4c 54 5a 4c 72 54 6b 2b 6a 55 72 49 5a 68 51 47 70 Otdu0KBuqV5Do0SLTZLrTk+jUrIZhQGp
1acbe0 67 56 32 68 55 68 45 32 38 61 6c 51 43 42 66 2f 66 6d 35 6f 71 72 6c 30 48 6a 30 72 44 4b 48 2f gV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/
1acc00 76 2b 79 76 36 65 66 48 48 0a 72 66 41 51 55 79 53 51 69 32 62 4a 71 49 69 72 72 31 71 6a 41 4f v+yv6efHH.rfAQUySQi2bJqIirr1qjAO
1acc20 6d 2b 75 6b 62 75 57 33 4e 37 4c 42 65 43 67 56 35 69 4c 4b 45 43 5a 62 4f 39 78 53 73 41 66 73 m+ukbuW3N7LBeCgV5iLKECZbO9xSsAfs
1acc40 54 38 41 7a 4e 58 44 65 33 69 2b 73 35 64 52 64 59 34 7a 54 57 32 0a 73 73 48 51 6e 49 46 4b 71 T8AzNXDe3i+s5dRdY4zTW2.ssHQnIFKq
1acc60 75 53 79 41 56 77 64 6a 31 2b 5a 78 4c 47 74 32 34 67 68 36 35 41 49 67 6f 44 7a 4d 4b 4e 44 35 uSyAVwdj1+ZxLGt24gh65AIgoDzMKND5
1acc80 70 43 43 72 6c 55 6f 53 65 31 62 31 36 6b 51 4f 41 37 2b 6a 30 78 62 6d 30 62 71 51 66 57 77 43 pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwC
1acca0 48 54 44 0a 30 49 67 7a 74 6e 7a 58 64 4e 2f 63 68 4e 46 44 44 6e 55 35 6f 53 56 41 4b 4f 70 34 HTD.0IgztnzXdN/chNFDDnU5oSVAKOp4
1accc0 79 77 34 73 4c 6a 6d 64 6a 49 74 75 46 68 77 76 4a 6f 49 51 34 75 4e 6c 6c 41 6f 45 77 46 37 33 yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73
1acce0 58 56 76 34 45 4f 4c 51 75 6e 70 4c 2b 39 34 33 0a 41 41 41 61 57 79 6a 6a 30 70 78 7a 50 6a 4b XVv4EOLQunpL+943.AAAaWyjj0pxzPjK
1acd00 48 6d 4b 48 4a 55 53 2f 58 33 71 77 7a 73 30 38 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 HmKHJUS/X3qwzs08CAwEAAaNCMEAwDwY
1acd20 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 0a 41 66 DVR0TAQH/BAUwAwEB/zAOBgNVHQ8B.Af
1acd40 38 45 42 41 4d 43 41 63 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 43 4d 6d 39 73 6c 53 62 8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSb
1acd60 50 78 66 49 62 57 73 6b 4b 48 43 39 42 72 6f 4e 6e 6b 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 PxfIbWskKHC9BroNnkMA0GCSqGSIb3DQ
1acd80 45 42 42 51 55 41 41 34 49 42 0a 41 51 41 2b 30 68 79 4a 4c 6a 58 38 2b 48 58 64 35 6e 39 6c 69 EBBQUAA4IB.AQA+0hyJLjX8+HXd5n9li
1acda0 50 52 79 54 4d 6b 73 31 7a 4a 4f 38 39 30 5a 65 55 65 39 6a 6a 74 62 6b 77 39 51 53 53 51 54 61 PRyTMks1zJO890ZeUe9jjtbkw9QSSQTa
1acdc0 78 51 47 63 75 38 4a 30 36 47 68 34 30 43 45 79 65 63 59 4d 6e 51 38 0a 53 47 34 50 6e 30 76 55 xQGcu8J06Gh40CEyecYMnQ8.SG4Pn0vU
1acde0 39 78 37 54 6b 34 5a 6b 56 4a 64 6a 63 6c 44 56 56 63 2f 36 49 4a 4d 43 6f 70 76 44 49 35 4e 4f 9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NO
1ace00 46 6c 56 32 6f 48 42 35 62 63 30 68 48 38 38 76 4c 62 77 5a 34 34 67 78 2b 46 6b 61 67 51 6e 49 FlV2oHB5bc0hH88vLbwZ44gx+FkagQnI
1ace20 6c 36 5a 30 0a 78 32 44 45 57 38 78 58 6a 72 4a 31 2f 52 73 43 43 64 74 5a 62 33 4b 54 61 66 63 l6Z0.x2DEW8xXjrJ1/RsCCdtZb3KTafc
1ace40 78 51 64 61 49 4f 4c 2b 48 73 72 30 57 65 66 6d 71 35 4c 36 49 4a 64 31 68 4a 79 4d 63 74 54 45 xQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTE
1ace60 48 42 44 61 30 47 70 43 39 6f 48 52 78 55 49 6c 74 0a 76 42 54 6a 44 34 61 75 38 61 73 2b 78 36 HBDa0GpC9oHRxUIlt.vBTjD4au8as+x6
1ace80 41 4a 7a 4b 4e 49 30 65 44 62 5a 4f 65 53 74 63 2b 76 63 6b 4e 77 69 2f 6e 44 68 44 77 54 71 6e AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn
1acea0 36 53 6d 31 64 54 6b 2f 70 77 77 70 45 4f 4d 66 6d 62 5a 31 33 70 6c 6a 68 65 58 37 4e 7a 0a 54 6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz.T
1acec0 6f 67 56 5a 39 36 65 64 68 42 69 49 4c 35 56 61 5a 56 44 41 44 6c 4e 39 75 36 77 57 6b 35 4a 52 ogVZ96edhBiIL5VaZVDADlN9u6wWk5JR
1acee0 46 52 59 58 30 4b 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d FRYX0KD.-----END.CERTIFICATE----
1acf00 2d 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f -..GeoTrust.Primary.Certificatio
1acf20 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.Authority.-.G3.===============
1acf40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d ==============================.-
1acf60 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 2f ----BEGIN.CERTIFICATE-----.MIID/
1acf80 6a 43 43 41 75 61 67 41 77 49 42 41 67 49 51 46 61 78 75 6c 42 6d 79 65 55 74 42 39 69 65 70 77 jCCAuagAwIBAgIQFaxulBmyeUtB9iepw
1acfa0 78 67 50 48 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 6d 44 45 4c 4d xgPHzANBgkqhkiG9w0BAQsFADCBmDELM
1acfc0 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 64 6c AkGA1UE.BhMCVVMxFjAUBgNVBAoTDUdl
1acfe0 62 31 52 79 64 58 4e 30 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a b1RydXN0IEluYy4xOTA3BgNVBAsTMChj
1ad000 4b 53 41 79 4d 44 41 34 49 45 64 6c 62 31 52 79 64 58 4e 30 0a 49 45 6c 75 59 79 34 67 4c 53 42 KSAyMDA4IEdlb1RydXN0.IEluYy4gLSB
1ad020 47 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 Gb3IgYXV0aG9yaXplZCB1c2Ugb25seTE
1ad040 32 4d 44 51 47 41 31 55 45 41 78 4d 74 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 62 57 46 2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWF
1ad060 79 0a 65 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d y.eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcm
1ad080 6c 30 65 53 41 74 49 45 63 7a 4d 42 34 58 44 54 41 34 4d 44 51 77 4d 6a 41 77 4d 44 41 77 4d 46 l0eSAtIEczMB4XDTA4MDQwMjAwMDAwMF
1ad0a0 6f 58 44 54 4d 33 4d 54 49 77 4d 54 49 7a 0a 4e 54 6b 31 4f 56 6f 77 67 5a 67 78 43 7a 41 4a 42 oXDTM3MTIwMTIz.NTk1OVowgZgxCzAJB
1ad0c0 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 gNVBAYTAlVTMRYwFAYDVQQKEw1HZW9Uc
1ad0e0 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 0a 59 79 6b 67 nVzdCBJbmMuMTkwNwYDVQQLEzAo.Yykg
1ad100 4d 6a 41 77 4f 43 42 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9y
1ad120 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4e 6a 41 30 IGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0
1ad140 42 67 4e 56 42 41 4d 54 0a 4c 55 64 6c 62 31 52 79 64 58 4e 30 49 46 42 79 61 57 31 68 63 6e 6b BgNVBAMT.LUdlb1RydXN0IFByaW1hcnk
1ad160 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk
1ad180 67 4c 53 42 48 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 42 42 51 gLSBHMzCCASIwDQYJKoZI.hvcNAQEBBQ
1ad1a0 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 7a 69 58 6d 4a 59 48 54 4e 58 4f 54 ADggEPADCCAQoCggEBANziXmJYHTNXOT
1ad1c0 49 7a 2b 75 76 4c 68 34 79 6e 31 45 72 64 42 6f 6a 71 5a 49 34 78 6d 4b 55 34 6b 42 36 59 7a 79 Iz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy
1ad1e0 35 6a 0a 4b 2f 42 47 76 45 53 79 69 61 48 41 4b 41 78 4a 63 43 47 56 6e 32 54 41 70 70 4d 53 41 5j.K/BGvESyiaHAKAxJcCGVn2TAppMSA
1ad200 6d 55 6d 68 73 61 6c 69 66 44 36 31 34 53 67 63 4b 39 50 47 70 63 2f 42 6b 54 56 79 65 74 79 45 mUmhsalifD614SgcK9PGpc/BkTVyetyE
1ad220 48 33 6b 4d 53 6a 37 48 47 48 6d 4b 41 64 45 0a 63 35 49 69 61 61 63 44 69 47 79 64 59 38 68 53 H3kMSj7HGHmKAdE.c5IiaacDiGydY8hS
1ad240 32 70 67 6e 35 77 68 4d 63 44 36 30 79 52 4c 42 78 57 65 44 58 54 50 7a 41 78 48 73 61 74 42 54 2pgn5whMcD60yRLBxWeDXTPzAxHsatBT
1ad260 34 74 47 36 4e 6d 43 55 67 4c 74 68 59 32 78 62 46 33 37 66 51 4a 51 65 71 77 33 43 0a 49 53 68 4tG6NmCUgLthY2xbF37fQJQeqw3C.ISh
1ad280 77 69 50 2f 57 4a 6d 78 73 59 41 51 6c 54 6c 56 2b 66 65 2b 2f 6c 45 6a 65 74 78 33 64 63 49 30 wiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0
1ad2a0 46 58 34 69 6c 6d 2f 4c 43 37 75 72 52 51 45 46 74 59 6a 67 64 56 67 62 46 41 30 64 52 49 42 6e FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn
1ad2c0 38 65 78 41 4c 44 6d 4b 75 0a 64 6c 57 2f 58 33 65 2b 50 6b 6b 42 55 7a 32 59 4a 51 4e 32 4a 46 8exALDmKu.dlW/X3e+PkkBUz2YJQN2JF
1ad2e0 6f 64 74 4e 75 4a 36 6e 6e 6c 74 72 4d 37 50 37 70 4d 4b 45 46 2f 42 71 78 71 6a 73 48 51 39 67 odtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9g
1ad300 55 64 66 65 5a 43 68 75 4f 6c 31 55 63 43 41 77 45 41 41 61 4e 43 0a 4d 45 41 77 44 77 59 44 56 UdfeZChuOl1UcCAwEAAaNC.MEAwDwYDV
1ad320 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 R0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EB
1ad340 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4d 52 35 79 6f 36 68 54 67 4d 64 48 AMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdH
1ad360 4e 78 72 0a 32 7a 46 62 6c 44 34 2f 4d 48 38 74 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 Nxr.2zFblD4/MH8tMA0GCSqGSIb3DQEB
1ad380 43 77 55 41 41 34 49 42 41 51 41 74 78 52 50 50 56 6f 42 37 65 6e 69 39 6e 36 34 73 6d 65 66 76 CwUAA4IBAQAtxRPPVoB7eni9n64smefv
1ad3a0 32 74 2b 55 58 67 6c 70 70 2b 64 75 61 49 79 39 0a 63 72 35 48 71 51 36 58 45 72 68 4b 38 57 54 2t+UXglpp+duaIy9.cr5HqQ6XErhK8WT
1ad3c0 54 4f 64 38 6c 4e 4e 54 42 7a 55 36 42 38 41 38 45 78 43 53 7a 4e 4a 62 47 70 71 6f 77 33 32 68 TOd8lNNTBzU6B8A8ExCSzNJbGpqow32h
1ad3e0 68 63 39 66 35 6a 6f 57 4a 37 77 35 65 6c 53 68 4b 4b 69 65 50 45 49 34 75 66 49 62 45 0a 41 70 hc9f5joWJ7w5elShKKiePEI4ufIbE.Ap
1ad400 37 61 44 48 64 6c 44 6b 51 4e 6b 76 33 39 73 78 59 32 2b 68 45 4e 48 59 77 4f 42 34 6c 71 4b 56 7aDHdlDkQNkv39sxY2+hENHYwOB4lqKV
1ad420 62 33 63 76 54 64 46 5a 78 33 4e 57 5a 58 71 78 4e 54 32 49 37 42 51 4d 58 58 45 78 5a 61 63 73 b3cvTdFZx3NWZXqxNT2I7BQMXXExZacs
1ad440 65 33 61 51 48 45 65 72 47 44 0a 41 57 68 39 6a 55 47 68 6c 42 6a 42 4a 56 7a 38 38 50 36 44 41 e3aQHEerGD.AWh9jUGhlBjBJVz88P6DA
1ad460 6f 64 38 44 51 33 50 4c 67 68 63 53 6b 41 4e 50 75 79 42 59 65 59 6b 32 38 72 67 44 69 30 48 73 od8DQ3PLghcSkANPuyBYeYk28rgDi0Hs
1ad480 6a 35 57 33 49 33 31 51 59 55 48 53 4a 73 4d 43 38 74 4a 50 33 33 73 0a 74 2f 33 4c 6a 57 65 4a j5W3I31QYUHSJsMC8tJP33s.t/3LjWeJ
1ad4a0 47 71 76 74 75 78 36 6a 41 41 67 49 46 79 71 43 58 44 46 64 52 6f 6f 74 44 34 61 62 64 4e 6c 46 Gqvtux6jAAgIFyqCXDFdRootD4abdNlF
1ad4c0 2b 39 52 41 73 58 71 71 61 43 32 47 73 70 6b 69 34 63 45 72 78 35 7a 34 38 31 2b 6f 67 68 4c 72 +9RAsXqqaC2Gspki4cErx5z481+oghLr
1ad4e0 47 52 45 74 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a GREt.-----END.CERTIFICATE-----..
1ad500 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d thawte.Primary.Root.CA.-.G2.====
1ad520 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1ad540 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 69 44 43 43 41 67 32 67 IN.CERTIFICATE-----.MIICiDCCAg2g
1ad560 41 77 49 42 41 67 49 51 4e 66 77 6d 58 4e 6d 45 54 38 6b 39 4a 6a 31 58 6d 36 37 58 56 6a 41 4b AwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAK
1ad580 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 68 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 BggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
1ad5a0 0a 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 53 57 35 .VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5
1ad5c0 6a 4c 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 63 67 64 47 68 jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGh
1ad5e0 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 0a 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d hd3RlLCBJbmMu.IC0gRm9yIGF1dGhvcm
1ad600 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 67 4e 56 42 41 4d 54 47 33 l6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3
1ad620 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 0a 51 30 45 67 4c RoYXd0ZSBQcmltYXJ5IFJvb3Qg.Q0EgL
1ad640 53 42 48 4d 6a 41 65 46 77 30 77 4e 7a 45 78 4d 44 55 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4f SBHMjAeFw0wNzExMDUwMDAwMDBaFw0zO
1ad660 44 41 78 4d 54 67 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 45 4d 51 73 77 43 51 59 44 56 51 51 47 45 DAxMTgyMzU5NTlaMIGEMQswCQYDVQQGE
1ad680 77 4a 56 55 7a 45 56 0a 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 68 64 33 52 6c 4c 43 42 4a wJVUzEV.MBMGA1UEChMMdGhhd3RlLCBJ
1ad6a0 62 6d 4d 75 4d 54 67 77 4e 67 59 44 56 51 51 4c 45 79 38 6f 59 79 6b 67 4d 6a 41 77 4e 79 42 30 bmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0
1ad6c0 61 47 46 33 64 47 55 73 49 45 6c 75 59 79 34 67 4c 53 42 47 0a 62 33 49 67 59 58 56 30 61 47 39 aGF3dGUsIEluYy4gLSBG.b3IgYXV0aG9
1ad6e0 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 49 47 41 31 55 45 41 78 4d yaXplZCB1c2Ugb25seTEkMCIGA1UEAxM
1ad700 62 64 47 68 68 64 33 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d 39 76 64 43 42 44 51 53 41 bdGhhd3RlIFByaW1hcnkgUm9vdCBDQSA
1ad720 74 0a 49 45 63 79 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 46 4b 34 45 45 41 43 t.IEcyMHYwEAYHKoZIzj0CAQYFK4EEAC
1ad740 49 44 59 67 41 45 6f 74 57 63 67 6e 75 56 6e 66 46 53 65 49 66 2b 69 68 61 2f 42 65 62 66 6f 77 IDYgAEotWcgnuVnfFSeIf+iha/Bebfow
1ad760 4a 50 44 51 66 47 41 46 47 36 44 41 4a 53 0a 4c 53 4b 6b 51 6a 6e 45 2f 6f 2f 71 79 63 47 2b 31 JPDQfGAFG6DAJS.LSKkQjnE/o/qycG+1
1ad780 45 33 2f 6e 33 71 65 34 72 46 38 6d 71 32 6e 68 67 6c 7a 68 39 48 6e 6d 75 4e 36 70 61 70 75 2b E3/n3qe4rF8mq2nhglzh9HnmuN6papu+
1ad7a0 37 71 7a 63 4d 42 6e 69 4b 49 31 31 4b 4f 61 73 66 32 74 77 75 38 78 2b 71 69 35 0a 38 2f 73 49 7qzcMBniKI11KOasf2twu8x+qi5.8/sI
1ad7c0 78 70 48 52 2b 79 6d 56 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 xpHR+ymVo0IwQDAPBgNVHRMBAf8EBTAD
1ad7e0 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
1ad800 48 51 34 45 46 67 51 55 0a 6d 74 67 41 4d 41 44 6e 61 33 2b 46 47 4f 36 4c 74 73 36 4b 44 50 67 HQ4EFgQU.mtgAMADna3+FGO6Lts6KDPg
1ad820 52 34 62 73 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 51 41 77 5a 67 49 78 41 4e 33 R4bswCgYIKoZIzj0EAwMDaQAwZgIxAN3
1ad840 34 34 46 64 48 57 36 66 6d 43 73 4f 39 39 59 43 4b 6c 7a 55 4e 0a 47 34 6b 38 56 49 5a 33 4b 4d 44FdHW6fmCsO99YCKlzUN.G4k8VIZ3KM
1ad860 71 68 39 48 6e 65 74 65 59 34 73 50 42 6c 63 49 78 2f 41 6c 54 43 76 2f 2f 59 6f 54 37 5a 7a 77 qh9HneteY4sPBlcIx/AlTCv//YoT7Zzw
1ad880 49 78 41 4d 53 4e 6c 50 7a 63 55 39 4c 63 6e 58 67 57 48 78 55 7a 49 31 4e 53 34 31 6f 78 58 5a IxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ
1ad8a0 33 4b 0a 72 72 30 54 4b 55 51 4e 4a 31 75 6f 35 32 69 63 45 76 64 59 50 79 35 79 41 6c 65 6a 6a 3K.rr0TKUQNJ1uo52icEvdYPy5yAlejj
1ad8c0 36 45 55 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 6EULg==.-----END.CERTIFICATE----
1ad8e0 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 20 2d 20 47 33 0a 3d -..thawte.Primary.Root.CA.-.G3.=
1ad900 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d ==========================.-----
1ad920 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4b 6a 43 43 41 BEGIN.CERTIFICATE-----.MIIEKjCCA
1ad940 78 4b 67 41 77 49 42 41 67 49 51 59 41 47 58 74 30 61 6e 36 72 53 30 6d 74 5a 4c 4c 2f 65 51 2b xKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+
1ad960 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 72 6a 45 4c 4d 41 6b 47 41 zANBgkqhkiG9w0BAQsFADCBrjELMAkGA
1ad980 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 1UE.BhMCVVMxFTATBgNVBAoTDHRoYXd0
1ad9a0 5a 53 77 67 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 6c 6d ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlm
1ad9c0 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 32 6c aWNhdGlvbiBTZXJ2.aWNlcyBEaXZpc2l
1ad9e0 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 67 67 64 47 68 vbjE4MDYGA1UECxMvKGMpIDIwMDggdGh
1ada00 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 0a 63 6d hd3RlLCBJbmMuIC0gRm9yIGF1dGhv.cm
1ada20 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 67 4e 56 42 41 4d 54 47 33 l6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3
1ada40 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLS
1ada60 42 48 4d 7a 41 65 46 77 30 77 0a 4f 44 41 30 4d 44 49 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4e BHMzAeFw0w.ODA0MDIwMDAwMDBaFw0zN
1ada80 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 75 4d 51 73 77 43 51 59 44 56 51 51 47 45 zEyMDEyMzU5NTlaMIGuMQswCQYDVQQGE
1adaa0 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 68 0a 64 33 52 6c 4c 43 42 4a wJVUzEVMBMGA1UEChMMdGhh.d3RlLCBJ
1adac0 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 4c 45 78 39 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 bmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0
1adae0 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 52 70 64 6d 6c 7a 61 57 39 75 4d 54 67 77 aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgw
1adb00 4e 67 59 44 0a 56 51 51 4c 45 79 38 6f 59 79 6b 67 4d 6a 41 77 4f 43 42 30 61 47 46 33 64 47 55 NgYD.VQQLEy8oYykgMjAwOCB0aGF3dGU
1adb20 73 49 45 6c 75 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB
1adb40 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 49 47 0a 41 31 55 45 41 78 4d 62 64 47 68 68 64 33 1c2Ugb25seTEkMCIG.A1UEAxMbdGhhd3
1adb60 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 7a 4d 49 RlIFByaW1hcnkgUm9vdCBDQSAtIEczMI
1adb80 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 0a 4d IBIjANBgkqhkiG9w0BAQEFAAOCAQ8A.M
1adba0 49 49 42 43 67 4b 43 41 51 45 41 73 72 38 6e 4c 50 76 62 32 46 76 64 65 48 73 62 6e 6e 64 6d 67 IIBCgKCAQEAsr8nLPvb2FvdeHsbnndmg
1adbc0 63 73 2b 76 48 79 75 38 36 59 6e 6d 6a 53 6a 61 44 46 78 4f 44 4e 69 35 50 4e 78 5a 6e 6d 78 71 cs+vHyu86YnmjSjaDFxODNi5PNxZnmxq
1adbe0 57 57 6a 70 59 76 56 6a 32 41 74 0a 50 30 4c 4d 71 6d 73 79 77 43 50 4c 4c 45 48 64 35 4e 2f 38 WWjpYvVj2At.P0LMqmsywCPLLEHd5N/8
1adc00 59 5a 7a 69 63 37 49 69 6c 52 46 44 47 46 2f 45 74 68 39 58 62 41 6f 46 57 43 4c 49 4e 6b 77 36 YZzic7IilRFDGF/Eth9XbAoFWCLINkw6
1adc20 66 4b 58 52 7a 34 61 76 69 4b 64 45 41 68 4e 30 63 58 4d 4b 51 6c 6b 43 0a 2b 42 73 55 61 30 4c fKXRz4aviKdEAhN0cXMKQlkC.+BsUa0L
1adc40 66 62 31 2b 36 61 34 4b 69 6e 56 76 6e 53 72 30 65 41 58 4c 62 53 33 54 6f 4f 33 39 2f 66 52 38 fb1+6a4KinVvnSr0eAXLbS3ToO39/fR8
1adc60 45 74 43 61 62 34 4c 52 61 72 45 63 39 56 62 6a 58 73 43 5a 53 4b 41 45 78 51 47 62 59 32 53 53 EtCab4LRarEc9VbjXsCZSKAExQGbY2SS
1adc80 39 39 69 72 59 0a 37 43 46 4a 58 4a 76 32 65 75 6c 2f 56 54 56 2b 6c 6d 75 4e 6b 35 4d 6e 79 35 99irY.7CFJXJv2eul/VTV+lmuNk5Mny5
1adca0 4b 37 36 71 78 41 77 4a 2f 43 2b 49 44 50 58 66 52 61 33 4d 35 30 68 71 59 2b 62 41 74 54 79 72 K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr
1adcc0 32 53 7a 68 6b 47 63 75 59 4d 58 44 68 70 78 77 54 57 0a 76 47 7a 4f 57 2f 62 33 61 4a 7a 63 4a 2SzhkGcuYMXDhpxwTW.vGzOW/b3aJzcJ
1adce0 52 56 49 69 4b 48 70 71 66 69 59 6e 4f 44 7a 31 54 45 6f 59 52 46 73 5a 35 61 4e 4f 5a 6e 4c 77 RVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLw
1add00 6b 55 6b 4f 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 0a kUkOQIDAQABo0IwQDAPBgNVHRMBAf8E.
1add20 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
1add40 42 67 4e 56 48 51 34 45 46 67 51 55 72 57 79 71 6c 47 43 63 37 65 54 2f 2b 6a 34 4b 64 43 74 6a BgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtj
1add60 41 2f 65 32 57 62 38 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 A/e2Wb8wDQYJ.KoZIhvcNAQELBQADggE
1add80 42 41 42 70 41 32 4a 56 6c 72 41 6d 53 69 63 59 35 39 42 44 6c 71 51 35 6d 55 31 31 34 33 76 6f BABpA2JVlrAmSicY59BDlqQ5mU1143vo
1adda0 6b 6b 62 76 6e 52 46 48 66 78 68 59 30 43 75 39 71 52 46 48 71 4b 77 65 4b 0a 41 33 72 44 36 7a kkbvnRFHfxhY0Cu9qRFHqKweK.A3rD6z
1addc0 38 4b 4c 46 49 57 6f 43 74 44 75 53 57 51 50 33 43 70 4d 79 56 74 52 52 6f 6f 4f 79 66 50 71 73 8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqs
1adde0 4d 70 51 68 76 66 4f 30 7a 41 4d 7a 52 62 51 59 69 2f 61 79 74 6c 72 79 6a 76 73 76 58 44 71 6d MpQhvfO0zAMzRbQYi/aytlryjvsvXDqm
1ade00 62 4f 65 31 62 75 0a 74 38 6a 4c 5a 38 48 4a 6e 42 6f 59 75 4d 54 44 53 51 50 78 59 41 35 51 7a bOe1bu.t8jLZ8HJnBoYuMTDSQPxYA5Qz
1ade20 55 62 46 38 33 64 35 39 37 59 56 34 44 6a 62 78 79 38 6f 6f 41 77 2f 64 79 5a 30 32 53 55 53 32 UbF83d597YV4Djbxy8ooAw/dyZ02SUS2
1ade40 6a 48 61 47 68 37 63 4b 55 47 52 49 6a 78 70 70 37 73 43 0a 38 72 5a 63 4a 77 4f 4a 39 41 62 71 jHaGh7cKUGRIjxpp7sC.8rZcJwOJ9Abq
1ade60 6d 2b 52 79 67 75 4f 68 43 63 48 70 41 42 6e 54 50 74 52 77 61 37 70 78 70 71 70 59 72 76 53 37 m+RyguOhCcHpABnTPtRwa7pxpqpYrvS7
1ade80 36 57 79 32 37 34 66 4d 6d 37 76 2f 4f 65 5a 57 59 64 4d 4b 70 38 52 63 54 47 42 37 42 58 63 6d 6Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
1adea0 0a 65 72 2f 59 42 31 49 73 59 76 64 77 59 39 6b 35 76 47 38 63 77 6e 6e 63 64 69 6d 76 7a 73 55 .er/YB1IsYvdwY9k5vG8cwnncdimvzsU
1adec0 73 5a 41 52 65 69 44 5a 75 4d 64 52 41 47 6d 49 30 4e 6a 38 31 41 61 36 73 59 36 41 3d 0a 2d 2d sZAReiDZuMdRAGmI0Nj81Aa6sY6A=.--
1adee0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 ---END.CERTIFICATE-----..GeoTrus
1adf00 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 t.Primary.Certification.Authorit
1adf20 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.-.G2.=========================
1adf40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1adf60 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 72 6a 43 43 41 6a 57 67 41 77 49 CERTIFICATE-----.MIICrjCCAjWgAwI
1adf80 42 41 67 49 51 50 4c 4c 30 53 41 6f 41 34 76 37 72 4a 44 74 65 59 44 37 44 61 7a 41 4b 42 67 67 BAgIQPLL0SAoA4v7rJDteYD7DazAKBgg
1adfa0 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 6d 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 qhkjOPQQDAzCBmDELMAkGA1UEBhMC.VV
1adfc0 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 59 79 MxFjAUBgNVBAoTDUdlb1RydXN0IEluYy
1adfe0 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 33 49 45 64 6c 62 31 4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1
1ae000 52 79 64 58 4e 30 49 45 6c 75 0a 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 39 79 61 RydXN0IElu.Yy4gLSBGb3IgYXV0aG9ya
1ae020 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 32 4d 44 51 47 41 31 55 45 41 78 4d 74 52 XplZCB1c2Ugb25seTE2MDQGA1UEAxMtR
1ae040 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 62 57 46 79 65 53 42 44 0a 5a 58 4a 30 61 57 5a 70 2VvVHJ1c3QgUHJpbWFyeSBD.ZXJ0aWZp
1ae060 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 Y2F0aW9uIEF1dGhvcml0eSAtIEcyMB4X
1ae080 44 54 41 33 4d 54 45 77 4e 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 44 49 7a DTA3MTEwNTAwMDAwMFoXDTM4MDExODIz
1ae0a0 4e 54 6b 31 0a 4f 56 6f 77 67 5a 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 NTk1.OVowgZgxCzAJBgNVBAYTAlVTMRY
1ae0c0 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 54 6b wFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTk
1ae0e0 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 6b 67 0a 4d 6a 41 77 4e 79 42 48 5a 57 39 55 63 6e wNwYDVQQLEzAoYykg.MjAwNyBHZW9Ucn
1ae100 56 7a 64 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 VzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZW
1ae120 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 4c 55 64 6c 0a 62 QgdXNlIG9ubHkxNjA0BgNVBAMTLUdl.b
1ae140 31 52 79 64 58 4e 30 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 1RydXN0IFByaW1hcnkgQ2VydGlmaWNhd
1ae160 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 42 32 4d 42 41 47 42 GlvbiBBdXRob3JpdHkgLSBHMjB2MBAGB
1ae180 79 71 47 53 4d 34 39 41 67 45 47 0a 42 53 75 42 42 41 41 69 41 32 49 41 42 42 57 78 36 50 30 44 yqGSM49AgEG.BSuBBAAiA2IABBWx6P0D
1ae1a0 46 55 50 6c 72 4f 75 48 4e 78 46 69 37 39 4b 44 4e 6c 4a 39 52 56 63 4c 53 6f 31 37 56 44 73 36 FUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6
1ae1c0 62 6c 38 56 41 73 42 51 70 73 38 6c 4c 33 33 4b 53 4c 6a 48 55 47 4d 63 0a 4b 69 45 49 66 4a 6f bl8VAsBQps8lL33KSLjHUGMc.KiEIfJo
1ae1e0 32 32 41 76 2b 30 53 62 46 57 44 45 77 4b 43 58 7a 58 56 32 6a 75 4c 61 6c 74 4a 4c 74 62 43 79 22Av+0SbFWDEwKCXzXV2juLaltJLtbCy
1ae200 66 36 39 31 44 69 61 49 38 53 30 69 52 48 56 44 73 4a 74 2f 57 59 43 36 39 49 61 4e 43 4d 45 41 f691DiaI8S0iRHVDsJt/WYC69IaNCMEA
1ae220 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 wDwYD.VR0TAQH/BAUwAwEB/zAOBgNVHQ
1ae240 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 56 66 4e 56 8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNV
1ae260 64 52 56 66 73 6c 73 71 30 44 61 66 77 42 6f 2f 71 2b 0a 45 56 58 56 4d 41 6f 47 43 43 71 47 53 dRVfslsq0DafwBo/q+.EVXVMAoGCCqGS
1ae280 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 53 57 57 61 62 6f 43 64 36 4c 75 76 70 61 69 M49BAMDA2cAMGQCMGSWWaboCd6Luvpai
1ae2a0 49 6a 77 48 35 48 54 52 71 6a 79 53 6b 77 43 59 2f 74 73 58 7a 6a 62 4c 6b 47 54 71 51 37 6d 0a IjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m.
1ae2c0 6e 64 77 78 48 4c 4b 67 70 78 67 63 65 65 48 48 4e 67 49 77 4f 6c 61 76 6d 6e 52 73 39 76 75 44 ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD
1ae2e0 34 44 50 54 43 46 2b 68 6e 4d 4a 62 6e 30 62 57 74 73 75 52 42 6d 4f 69 42 75 63 7a 72 44 36 6f 4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6o
1ae300 67 52 4c 51 79 37 72 51 6b 67 75 32 0a 6e 70 61 71 42 41 2b 4b 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 gRLQy7rQkgu2.npaqBA+K.-----END.C
1ae320 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 55 6e 69 76 65 72 ERTIFICATE-----..VeriSign.Univer
1ae340 73 61 6c 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 sal.Root.Certification.Authority
1ae360 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .===============================
1ae380 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1ae3a0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 75 54 43 43 41 36 47 67 41 77 49 42 41 67 49 IFICATE-----.MIIEuTCCA6GgAwIBAgI
1ae3c0 51 51 42 72 45 5a 43 47 7a 45 79 45 44 44 72 76 6b 45 68 72 46 48 54 41 4e 42 67 6b 71 68 6b 69 QQBrEZCGzEyEDDrvkEhrFHTANBgkqhki
1ae3e0 47 39 77 30 42 41 51 73 46 41 44 43 42 76 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 G9w0BAQsFADCBvTELMAkGA1UE.BhMCVV
1ae400 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d MxFzAVBgNVBAoTDlZlcmlTaWduLCBJbm
1ae420 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e MuMR8wHQYDVQQLExZWZXJpU2lnbiBUcn
1ae440 56 7a 64 43 42 4f 0a 5a 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 VzdCBO.ZXR3b3JrMTowOAYDVQQLEzEoY
1ae460 79 6b 67 4d 6a 41 77 4f 43 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 ykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtI
1ae480 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 65 6d 56 6b 0a 49 48 56 7a 5a 53 42 76 62 6d 78 35 EZvciBhdXRob3JpemVk.IHVzZSBvbmx5
1ae4a0 4d 54 67 77 4e 67 59 44 56 51 51 44 45 79 39 57 5a 58 4a 70 55 32 6c 6e 62 69 42 56 62 6d 6c 32 MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2
1ae4c0 5a 58 4a 7a 59 57 77 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
1ae4e0 0a 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4f 44 41 30 4d 44 49 77 4d 44 41 .IEF1dGhvcml0eTAeFw0wODA0MDIwMDA
1ae500 77 4d 44 42 61 46 77 30 7a 4e 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 39 4d 51 73 wMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQs
1ae520 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 58 4d 42 55 47 41 31 55 45 43 68 4d 4f 56 6d wCQYDVQQGEwJV.UzEXMBUGA1UEChMOVm
1ae540 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 7a 41 64 42 67 4e 56 42 41 73 54 46 6c VyaVNpZ24sIEluYy4xHzAdBgNVBAsTFl
1ae560 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e 30 49 45 35 6c 64 48 64 76 0a 63 6d 73 78 4f ZlcmlTaWduIFRydXN0IE5ldHdv.cmsxO
1ae580 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 79 4d 44 41 34 49 46 5a 6c 63 6d 6c 54 61 jA4BgNVBAsTMShjKSAyMDA4IFZlcmlTa
1ae5a0 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a WduLCBJbmMuIC0gRm9yIGF1dGhvcml6Z
1ae5c0 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 4f 44 41 32 42 67 4e 56 42 41 4d 54 4c 31 5a 6c WQgdXNl.IG9ubHkxODA2BgNVBAMTL1Zl
1ae5e0 63 6d 6c 54 61 57 64 75 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 53 62 32 39 30 49 45 4e 6c cmlTaWduIFVuaXZlcnNhbCBSb290IENl
1ae600 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 47 39 79 61 58 52 35 4d 49 49 cnRpZmljYXRpb24gQXV0.aG9yaXR5MII
1ae620 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 BIjANBgkqhkiG9w0BAQEFAAOCAQ8AMII
1ae640 42 43 67 4b 43 41 51 45 41 78 32 45 33 58 72 45 42 4e 4e 74 69 31 78 57 62 2f 31 68 61 6a 43 4d BCgKCAQEAx2E3XrEBNNti1xWb/1hajCM
1ae660 6a 0a 31 6d 43 4f 6b 64 65 51 6d 49 4e 36 35 6c 67 5a 4f 49 7a 46 39 75 56 6b 68 62 53 69 63 66 j.1mCOkdeQmIN65lgZOIzF9uVkhbSicf
1ae680 76 74 76 62 6e 61 7a 55 30 41 74 4d 67 74 63 36 58 48 61 58 47 56 48 7a 6b 38 73 6b 51 48 6e 4f vtvbnazU0AtMgtc6XHaXGVHzk8skQHnO
1ae6a0 67 4f 2b 6b 31 4b 78 43 48 66 4b 57 47 50 0a 4d 69 4a 68 67 73 57 48 48 32 36 4d 66 46 38 57 49 gO+k1KxCHfKWGP.MiJhgsWHH26MfF8WI
1ae6c0 46 46 45 30 58 42 50 56 2b 72 6a 48 4f 50 4d 65 65 35 59 32 41 37 43 73 30 57 54 77 43 7a 6e 6d FFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznm
1ae6e0 68 63 72 65 77 41 33 65 6b 45 7a 65 4f 45 7a 34 76 4d 51 47 6e 2b 48 4c 4c 37 32 0a 39 66 64 43 hcrewA3ekEzeOEz4vMQGn+HLL72.9fdC
1ae700 34 75 57 2f 68 32 4b 4a 58 77 42 4c 33 38 58 64 35 48 56 45 4d 6b 45 36 48 6e 46 75 61 63 73 4c 4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsL
1ae720 64 55 59 49 30 63 72 53 4b 35 58 51 7a 2f 75 35 51 47 74 6b 6a 46 64 4e 2f 42 4d 52 65 59 54 74 dUYI0crSK5XQz/u5QGtkjFdN/BMReYTt
1ae740 58 6c 54 32 4e 4a 38 49 0a 41 66 4d 51 4a 51 59 58 53 74 72 78 48 58 70 6d 61 35 68 67 5a 71 54 XlT2NJ8I.AfMQJQYXStrxHXpma5hgZqT
1ae760 5a 37 39 49 75 67 76 48 77 37 77 6e 71 52 4d 6b 56 61 75 49 44 62 6a 50 54 72 4a 39 56 41 4d 66 Z79IugvHw7wnqRMkVauIDbjPTrJ9VAMf
1ae780 32 43 47 71 55 75 56 2f 63 34 44 50 78 68 47 44 35 57 79 63 52 0a 74 50 77 57 38 72 74 57 61 6f 2CGqUuV/c4DPxhGD5WycR.tPwW8rtWao
1ae7a0 41 6c 6a 51 49 44 41 51 41 42 6f 34 47 79 4d 49 47 76 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 AljQIDAQABo4GyMIGvMA8GA1UdEwEB/w
1ae7c0 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 47 QFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG
1ae7e0 30 47 0a 43 43 73 47 41 51 55 46 42 77 45 4d 42 47 45 77 58 36 46 64 6f 46 73 77 57 54 42 58 4d 0G.CCsGAQUFBwEMBGEwX6FdoFswWTBXM
1ae800 46 55 57 43 57 6c 74 59 57 64 6c 4c 32 64 70 5a 6a 41 68 4d 42 38 77 42 77 59 46 4b 77 34 44 41 FUWCWltYWdlL2dpZjAhMB8wBwYFKw4DA
1ae820 68 6f 45 46 49 2f 6c 30 78 71 47 72 49 32 4f 0a 61 38 50 50 67 47 72 55 53 42 67 73 65 78 6b 75 hoEFI/l0xqGrI2O.a8PPgGrUSBgsexku
1ae840 4d 43 55 57 49 32 68 30 64 48 41 36 4c 79 39 73 62 32 64 76 4c 6e 5a 6c 63 6d 6c 7a 61 57 64 75 MCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWdu
1ae860 4c 6d 4e 76 62 53 39 32 63 32 78 76 5a 32 38 75 5a 32 6c 6d 4d 42 30 47 41 31 55 64 0a 44 67 51 LmNvbS92c2xvZ28uZ2lmMB0GA1Ud.DgQ
1ae880 57 42 42 53 32 64 2f 70 70 53 45 65 66 55 78 4c 56 77 75 6f 48 4d 6e 59 48 30 5a 63 48 47 54 41 WBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTA
1ae8a0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 53 76 6a 34 73 41 50 NBgkqhkiG9w0BAQsFAAOCAQEASvj4sAP
1ae8c0 6d 4c 47 64 37 35 4a 52 33 0a 59 38 78 75 54 50 6c 39 44 67 33 63 79 4c 6b 31 75 58 42 50 59 2f mLGd75JR3.Y8xuTPl9Dg3cyLk1uXBPY/
1ae8e0 6f 6b 2b 6d 79 44 6a 45 65 64 4f 32 50 7a 6d 76 6c 32 4d 70 57 52 73 58 65 38 72 4a 71 2b 73 65 ok+myDjEedO2Pzmvl2MpWRsXe8rJq+se
1ae900 51 78 49 63 61 42 6c 56 5a 61 44 72 48 43 31 4c 47 6d 57 61 7a 78 0a 59 38 75 34 54 42 31 5a 6b QxIcaBlVZaDrHC1LGmWazx.Y8u4TB1Zk
1ae920 45 72 76 6b 42 59 6f 48 31 71 75 45 50 75 42 55 44 67 4d 62 4d 7a 78 50 63 50 31 59 2b 4f 7a 34 ErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4
1ae940 79 48 4a 4a 44 6e 70 2f 52 56 6d 52 76 51 62 45 64 42 4e 63 36 4e 39 52 76 6b 39 37 61 68 66 59 yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfY
1ae960 74 54 78 0a 50 2f 6a 67 64 46 63 72 47 4a 32 42 74 4d 51 6f 32 70 53 58 70 58 44 72 72 42 32 2b tTx.P/jgdFcrGJ2BtMQo2pSXpXDrrB2+
1ae980 42 78 48 77 31 64 76 64 35 59 7a 77 31 54 4b 77 67 2b 5a 58 34 6f 2b 2f 76 71 47 71 76 7a 30 64 BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0d
1ae9a0 74 64 51 34 36 74 65 77 58 44 70 50 61 6a 2b 50 0a 77 47 5a 73 59 36 72 70 32 61 51 57 39 49 48 tdQ46tewXDpPaj+P.wGZsY6rp2aQW9IH
1ae9c0 52 6c 52 51 4f 66 63 32 56 4e 4e 6e 53 6a 33 42 7a 67 58 75 63 66 72 32 59 59 64 68 46 68 35 69 RlRQOfc2VNNnSj3BzgXucfr2YYdhFh5i
1ae9e0 51 78 65 75 47 4d 4d 59 31 76 2f 44 2f 77 31 57 49 67 30 76 76 42 5a 49 47 63 66 4b 34 0a 6d 4a QxeuGMMY1v/D/w1WIg0vvBZIGcfK4.mJ
1aea00 4f 33 37 4d 32 43 59 66 45 34 35 6b 2b 58 6d 43 70 61 6a 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 O37M2CYfE45k+XmCpajQ==.-----END.
1aea20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 43 6c 61 73 73 CERTIFICATE-----..VeriSign.Class
1aea40 20 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 .3.Public.Primary.Certification.
1aea60 41 75 74 68 6f 72 69 74 79 20 2d 20 47 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Authority.-.G4.=================
1aea80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1aeaa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1aeac0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 68 44 43 43 41 77 71 67 41 77 49 42 41 67 49 51 4c 34 44 2b TE-----.MIIDhDCCAwqgAwIBAgIQL4D+
1aeae0 49 34 77 4f 49 67 39 49 5a 78 49 6f 6b 59 65 73 73 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 I4wOIg9IZxIokYesszAKBggqhkjOPQQD
1aeb00 41 7a 43 42 79 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 46 7a 41 56 42 67 4e AzCByjELMAkGA1UEBhMC.VVMxFzAVBgN
1aeb20 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 VBAoTDlZlcmlTaWduLCBJbmMuMR8wHQY
1aeb40 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 5a 58 52 DVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR
1aeb60 33 0a 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 79 3.b3JrMTowOAYDVQQLEzEoYykgMjAwNy
1aeb80 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 58 BWZXJpU2lnbiwgSW5jLiAtIEZvciBhdX
1aeba0 52 6f 62 33 4a 70 65 6d 56 6b 49 48 56 7a 0a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 Rob3JpemVkIHVz.ZSBvbmx5MUUwQwYDV
1aebc0 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 QQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1Y
1aebe0 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 70 mxpYyBQcmltYXJ5IENlcnRpZmlj.YXRp
1aec00 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 77 48 68 63 4e 4d 44 63 78 b24gQXV0aG9yaXR5IC0gRzQwHhcNMDcx
1aec20 4d 54 41 31 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 MTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5
1aec40 57 6a 43 42 79 6a 45 4c 0a 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e WjCByjEL.MAkGA1UEBhMCVVMxFzAVBgN
1aec60 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 VBAoTDlZlcmlTaWduLCBJbmMuMR8wHQY
1aec80 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 0a 63 6e 56 7a 64 43 42 4f 5a 58 DVQQLExZWZXJpU2lnbiBU.cnVzdCBOZX
1aeca0 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 79 R3b3JrMTowOAYDVQQLEzEoYykgMjAwNy
1aecc0 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 58 BWZXJpU2lnbiwgSW5jLiAtIEZvciBhdX
1aece0 52 6f 0a 62 33 4a 70 65 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 Ro.b3JpemVkIHVzZSBvbmx5MUUwQwYDV
1aed00 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 QQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1Y
1aed20 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 0a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 mxpYyBQcmltYXJ5.IENlcnRpZmljYXRp
1aed40 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 77 64 6a 41 51 42 67 63 71 b24gQXV0aG9yaXR5IC0gRzQwdjAQBgcq
1aed60 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 53 6e 56 6e 70 38 0a 55 74 70 hkjOPQIBBgUrgQQAIgNiAASnVnp8.Utp
1aed80 6b 6d 77 34 74 58 4e 68 65 72 4a 49 39 2f 67 48 6d 47 55 6f 39 46 41 4e 4c 2b 6d 41 6e 49 4e 6d kmw4tXNherJI9/gHmGUo9FANL+mAnINm
1aeda0 44 69 57 6e 36 56 4d 61 61 47 46 35 56 4b 6d 54 65 42 76 61 4e 53 6a 75 74 45 44 78 6c 50 5a 43 DiWn6VMaaGF5VKmTeBvaNSjutEDxlPZC
1aedc0 49 42 49 6e 67 4d 47 47 7a 0a 72 6c 30 42 70 33 76 65 66 4c 4b 2b 79 6d 56 68 41 49 61 75 32 6f IBIngMGGz.rl0Bp3vefLK+ymVhAIau2o
1aede0 39 37 30 49 6d 74 54 52 31 5a 6d 6b 47 78 76 45 65 41 33 4a 35 69 77 2f 6d 6a 67 62 49 77 67 61 970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga
1aee00 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 4f 42 67 4e 56 48 8wDwYDVR0TAQH/BAUwAwEB./zAOBgNVH
1aee20 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b 77 59 42 42 51 55 48 41 51 77 45 59 Q8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEY
1aee40 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 57 31 68 5a 32 55 76 5a 32 6c 6d 4d TBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmM
1aee60 43 45 77 0a 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 6a 2b 58 54 47 6f 61 73 6a 59 35 72 CEw.HzAHBgUrDgMCGgQUj+XTGoasjY5r
1aee80 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a 61 48 52 30 63 44 6f 76 4c 32 78 76 w8+AatRIGCx7GS4wJRYjaHR0cDovL2xv
1aeea0 5a 32 38 75 64 6d 56 79 61 58 4e 70 5a 32 34 75 0a 59 32 39 74 4c 33 5a 7a 62 47 39 6e 62 79 35 Z28udmVyaXNpZ24u.Y29tL3ZzbG9nby5
1aeec0 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4c 4d 57 6b 66 33 75 70 6d 37 6b 74 53 35 naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5
1aeee0 4a 6a 34 64 34 67 59 44 73 35 62 47 31 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 0a 41 32 Jj4d4gYDs5bG1MAoGCCqGSM49BAMD.A2
1aef00 67 41 4d 47 55 43 4d 47 59 68 44 42 67 6d 59 46 6f 34 65 31 5a 43 34 4b 66 38 4e 6f 52 52 6b 53 gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkS
1aef20 41 73 64 6b 31 44 50 63 51 64 68 43 50 51 72 4e 5a 38 4e 51 62 4f 7a 57 6d 39 6b 41 33 62 62 45 Asdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbE
1aef40 68 43 48 51 36 71 51 67 49 78 0a 41 4a 77 39 53 44 6b 6a 4f 56 67 61 46 52 4a 5a 61 70 37 76 31 hCHQ6qQgIx.AJw9SDkjOVgaFRJZap7v1
1aef60 56 6d 79 48 56 49 73 6d 58 48 4e 78 79 6e 66 47 79 70 68 65 33 48 52 33 76 50 41 35 51 30 36 53 VmyHVIsmXHNxynfGyphe3HR3vPA5Q06S
1aef80 71 6f 74 70 39 69 47 4b 74 30 75 45 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 qotp9iGKt0uEA==.-----END.CERTIFI
1aefa0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4e 65 74 4c 6f 63 6b 20 41 72 61 6e 79 20 28 43 6c 61 73 73 20 CATE-----..NetLock.Arany.(Class.
1aefc0 47 6f 6c 64 29 20 46 c5 91 74 61 6e c3 ba 73 c3 ad 74 76 c3 a1 6e 79 0a 3d 3d 3d 3d 3d 3d 3d 3d Gold).F..tan..s..tv..ny.========
1aefe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1af000 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1af020 45 46 54 43 43 41 76 32 67 41 77 49 42 41 67 49 47 53 55 45 73 35 41 41 51 4d 41 30 47 43 53 71 EFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSq
1af040 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 6e 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a GSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJ
1af060 49 56 54 45 52 4d 41 38 47 0a 41 31 55 45 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 78 46 54 IVTERMA8G.A1UEBwwIQnVkYXBlc3QxFT
1af080 41 54 42 67 4e 56 42 41 6f 4d 44 45 35 6c 64 45 78 76 59 32 73 67 53 32 5a 30 4c 6a 45 33 4d 44 ATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MD
1af0a0 55 47 41 31 55 45 43 77 77 75 56 47 46 75 77 37 70 7a 77 36 31 30 0a 64 73 4f 68 62 6e 6c 72 61 UGA1UECwwuVGFuw7pzw610.dsOhbnlra
1af0c0 57 46 6b 77 37 4e 72 49 43 68 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 46 4e 6c 63 WFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlc
1af0e0 6e 5a 70 59 32 56 7a 4b 54 45 31 4d 44 4d 47 41 31 55 45 41 77 77 73 54 6d 56 30 54 47 39 6a 61 nZpY2VzKTE1MDMGA1UEAwwsTmV0TG9ja
1af100 79 42 42 0a 63 6d 46 75 65 53 41 6f 51 32 78 68 63 33 4d 67 52 32 39 73 5a 43 6b 67 52 73 57 52 yBB.cmFueSAoQ2xhc3MgR29sZCkgRsWR
1af120 64 47 46 75 77 37 70 7a 77 36 31 30 64 73 4f 68 62 6e 6b 77 48 68 63 4e 4d 44 67 78 4d 6a 45 78 dGFuw7pzw610dsOhbnkwHhcNMDgxMjEx
1af140 4d 54 55 77 4f 44 49 78 57 68 63 4e 4d 6a 67 78 0a 4d 6a 41 32 4d 54 55 77 4f 44 49 78 57 6a 43 MTUwODIxWhcNMjgx.MjA2MTUwODIxWjC
1af160 42 70 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 46 55 78 45 54 41 50 42 67 4e 56 42 41 63 BpzELMAkGA1UEBhMCSFUxETAPBgNVBAc
1af180 4d 43 45 4a 31 5a 47 46 77 5a 58 4e 30 4d 52 55 77 45 77 59 44 56 51 51 4b 44 41 78 4f 0a 5a 58 MCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO.ZX
1af1a0 52 4d 62 32 4e 72 49 45 74 6d 64 43 34 78 4e 7a 41 31 42 67 4e 56 42 41 73 4d 4c 6c 52 68 62 73 RMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbs
1af1c0 4f 36 63 38 4f 74 64 48 62 44 6f 57 35 35 61 32 6c 68 5a 4d 4f 7a 61 79 41 6f 51 32 56 79 64 47 O6c8OtdHbDoW55a2lhZMOzayAoQ2VydG
1af1e0 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 54 5a 58 4a 32 61 57 4e 6c 63 79 6b 78 4e 54 41 7a 42 lmaWNhdGlv.biBTZXJ2aWNlcykxNTAzB
1af200 67 4e 56 42 41 4d 4d 4c 45 35 6c 64 45 78 76 59 32 73 67 51 58 4a 68 62 6e 6b 67 4b 45 4e 73 59 gNVBAMMLE5ldExvY2sgQXJhbnkgKENsY
1af220 58 4e 7a 49 45 64 76 62 47 51 70 49 45 62 46 6b 58 52 68 62 73 4f 36 0a 63 38 4f 74 64 48 62 44 XNzIEdvbGQpIEbFkXRhbsO6.c8OtdHbD
1af240 6f 57 35 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 oW55MIIBIjANBgkqhkiG9w0BAQEFAAOC
1af260 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 78 43 52 65 63 37 35 4c 62 52 54 44 6f 66 54 6a AQ8AMIIBCgKCAQEAxCRec75LbRTDofTj
1af280 6c 35 42 75 0a 30 6a 42 46 48 6a 7a 75 5a 39 6c 6b 34 42 71 4b 66 38 6f 77 79 6f 50 6a 49 4d 48 l5Bu.0jBFHjzuZ9lk4BqKf8owyoPjIMH
1af2a0 6a 39 44 72 54 6c 46 38 61 66 46 74 74 76 7a 42 50 68 43 66 32 6e 78 39 4a 76 4d 61 5a 43 70 44 j9DrTlF8afFttvzBPhCf2nx9JvMaZCpD
1af2c0 79 44 2f 56 2f 51 34 51 33 59 31 47 4c 65 71 56 77 0a 2f 48 70 59 7a 59 36 62 37 63 4e 47 62 49 yD/V/Q4Q3Y1GLeqVw./HpYzY6b7cNGbI
1af2e0 52 77 58 64 72 7a 41 5a 41 6a 2f 45 34 77 71 58 37 68 4a 32 50 6e 37 57 51 38 6f 4c 6a 4a 4d 32 RwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2
1af300 50 2b 46 70 44 2f 73 4c 6a 39 31 36 6a 41 77 4a 52 44 43 37 62 56 57 61 61 65 56 74 41 6b 0a 48 P+FpD/sLj916jAwJRDC7bVWaaeVtAk.H
1af320 33 42 35 72 39 73 35 56 41 31 6c 64 64 6b 56 51 5a 51 42 72 31 37 73 39 6f 33 78 2f 36 31 6b 2f 3B5r9s5VA1lddkVQZQBr17s9o3x/61k/
1af340 69 43 61 31 31 7a 72 2f 71 59 66 43 47 53 6a 69 33 5a 56 72 52 34 37 4b 47 41 75 68 79 58 6f 71 iCa11zr/qYfCGSji3ZVrR47KGAuhyXoq
1af360 71 38 66 78 6d 52 47 49 4c 64 77 0a 66 7a 7a 65 53 4e 75 57 55 37 63 35 64 2b 51 61 34 73 63 57 q8fxmRGILdw.fzzeSNuWU7c5d+Qa4scW
1af380 68 48 61 58 57 79 2b 37 47 52 57 46 2b 47 6d 46 39 5a 6d 6e 71 66 49 30 70 36 6d 32 70 67 50 38 hHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8
1af3a0 62 34 59 39 56 48 78 32 42 4a 74 72 2b 55 42 64 41 44 54 48 4c 70 6c 31 0a 6e 65 57 49 41 36 70 b4Y9VHx2BJtr+UBdADTHLpl1.neWIA6p
1af3c0 4e 2b 41 50 53 51 6e 62 41 47 77 49 44 41 4b 69 4c 6f 30 55 77 51 7a 41 53 42 67 4e 56 48 52 4d N+APSQnbAGwIDAKiLo0UwQzASBgNVHRM
1af3e0 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 45 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 BAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQ
1af400 45 41 77 49 42 0a 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 7a 50 70 6e 6b 2f 43 32 75 4e EAwIB.BjAdBgNVHQ4EFgQUzPpnk/C2uN
1af420 43 6c 77 42 37 7a 55 2f 32 4d 55 39 2b 44 31 35 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 ClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQ
1af440 45 4c 42 51 41 44 67 67 45 42 41 4b 74 2f 37 68 77 57 0a 71 5a 77 38 55 51 43 67 77 42 45 49 42 ELBQADggEBAKt/7hwW.qZw8UQCgwBEIB
1af460 61 65 5a 35 6d 38 42 69 46 52 68 62 76 47 35 47 4b 31 4b 72 66 36 42 51 43 4f 55 4c 2f 74 31 66 aeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1f
1af480 43 38 6f 53 32 49 6b 67 59 49 4c 39 57 48 78 48 47 36 34 59 54 6a 72 67 66 70 69 6f 54 74 61 0a C8oS2IkgYIL9WHxHG64YTjrgfpioTta.
1af4a0 59 74 4f 55 5a 63 54 68 35 6d 32 43 2b 43 38 6c 63 4c 49 68 4a 73 46 79 55 52 2b 4d 4c 4d 4f 45 YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOE
1af4c0 6b 4d 4e 61 6a 37 72 50 39 4b 64 6c 70 65 75 59 30 66 73 46 73 6b 5a 31 46 53 4e 71 62 34 56 6a kMNaj7rP9KdlpeuY0fsFskZ1FSNqb4Vj
1af4e0 4d 49 44 77 31 5a 34 66 4b 52 7a 43 0a 62 4c 42 51 57 56 32 51 57 7a 75 6f 44 54 44 50 76 33 31 MIDw1Z4fKRzC.bLBQWV2QWzuoDTDPv31
1af500 2f 7a 76 47 64 67 37 33 4a 52 6d 34 67 70 76 6c 68 55 62 6f 68 4c 33 75 2b 70 52 56 6a 6f 64 53 /zvGdg73JRm4gpvlhUbohL3u+pRVjodS
1af520 56 68 2f 47 65 75 66 4f 4a 38 7a 32 46 75 4c 6a 62 76 72 57 35 4b 66 6e 61 0a 4e 77 55 41 53 5a Vh/GeufOJ8z2FuLjbvrW5Kfna.NwUASZ
1af540 51 44 68 45 54 6e 76 30 4d 78 7a 33 57 4c 4a 64 48 30 70 6d 54 31 6b 76 61 72 42 65 73 39 36 61 QDhETnv0Mxz3WLJdH0pmT1kvarBes96a
1af560 55 4c 4e 6d 4c 61 7a 41 5a 66 4e 6f 75 32 58 6a 47 34 4b 76 74 65 39 6e 48 66 52 43 61 65 78 4f ULNmLazAZfNou2XjG4Kvte9nHfRCaexO
1af580 59 4e 6b 62 51 75 0a 64 5a 57 41 55 57 70 4c 4d 4b 61 77 59 71 47 54 38 5a 76 59 7a 73 52 6a 64 YNkbQu.dZWAUWpLMKawYqGT8ZvYzsRjd
1af5a0 54 39 5a 52 37 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d T9ZR7E=.-----END.CERTIFICATE----
1af5c0 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 6e 20 52 6f 6f 74 20 43 41 -..Staat.der.Nederlanden.Root.CA
1af5e0 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .-.G2.==========================
1af600 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1af620 2d 2d 2d 2d 0a 4d 49 49 46 79 6a 43 43 41 37 4b 67 41 77 49 42 41 67 49 45 41 4a 69 57 6a 44 41 ----.MIIFyjCCA7KgAwIBAgIEAJiWjDA
1af640 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 NBgkqhkiG9w0BAQsFADBaMQswCQYDVQQ
1af660 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 68 59 58 51 67 5a 47 GEwJOTDEeMBwGA1UE.CgwVU3RhYXQgZG
1af680 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 73 77 4b 51 59 44 56 51 51 44 44 43 VyIE5lZGVybGFuZGVuMSswKQYDVQQDDC
1af6a0 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a 57 34 67 0a 55 JTdGFhdCBkZXIgTmVkZXJsYW5kZW4g.U
1af6c0 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 34 4d 44 4d 79 4e 6a 45 78 4d m9vdCBDQSAtIEcyMB4XDTA4MDMyNjExM
1af6e0 54 67 78 4e 31 6f 58 44 54 49 77 4d 44 4d 79 4e 54 45 78 4d 44 4d 78 4d 46 6f 77 57 6a 45 4c 4d TgxN1oXDTIwMDMyNTExMDMxMFowWjELM
1af700 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a 41 63 42 67 4e 56 42 41 6f 4d 46 56 4e 30 AkGA1UEBhMC.TkwxHjAcBgNVBAoMFVN0
1af720 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d 78 68 62 6d 52 6c 62 6a 45 72 4d 43 6b 47 YWF0IGRlciBOZWRlcmxhbmRlbjErMCkG
1af740 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 0a 5a 47 56 79 62 47 46 A1UEAwwiU3RhYXQgZGVyIE5l.ZGVybGF
1af760 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 6a 43 43 41 69 49 77 44 51 59 uZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQY
1af780 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 JKoZIhvcNAQEBBQADggIPADCCAgoCggI
1af7a0 42 41 4d 56 5a 0a 35 32 39 31 71 6a 35 4c 6e 4c 57 34 72 4a 34 4c 35 50 6e 5a 79 71 74 64 6a 37 BAMVZ.5291qj5LnLW4rJ4L5PnZyqtdj7
1af7c0 55 35 45 49 4c 58 72 31 48 67 4f 2b 45 41 53 47 72 50 32 75 45 47 51 78 47 5a 71 68 51 6c 45 71 U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq
1af7e0 30 69 36 41 42 74 51 38 53 70 75 4f 55 66 69 55 74 6e 0a 76 57 46 49 37 2f 33 53 34 47 43 49 35 0i6ABtQ8SpuOUfiUtn.vWFI7/3S4GCI5
1af800 62 6b 59 59 43 6a 44 64 79 75 74 73 44 65 71 4e 39 35 6b 57 53 70 47 56 2b 52 4c 75 66 67 33 66 bkYYCjDdyutsDeqN95kWSpGV+RLufg3f
1af820 4e 55 32 35 34 44 42 74 76 50 55 5a 35 75 57 36 4d 37 58 78 67 70 54 30 47 74 4a 6c 76 4f 6a 0a NU254DBtvPUZ5uW6M7XxgpT0GtJlvOj.
1af840 43 77 56 33 53 50 63 6c 35 58 43 73 4d 42 51 67 4a 65 4e 2f 64 56 72 6c 53 50 68 4f 65 77 4d 48 CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMH
1af860 42 50 71 43 59 59 64 75 38 44 76 45 70 4d 66 51 39 58 51 2b 70 56 30 61 43 50 4b 62 4a 64 4c 32 BPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2
1af880 72 41 51 6d 50 6c 55 36 59 69 69 6c 0a 65 37 49 77 72 2f 67 33 77 74 47 36 31 6a 6a 39 39 4f 39 rAQmPlU6Yiil.e7Iwr/g3wtG61jj99O9
1af8a0 4a 4d 44 65 5a 4a 69 46 49 68 51 47 70 35 52 62 6e 33 4a 42 56 33 77 2f 6f 4f 4d 32 5a 4e 79 46 JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyF
1af8c0 50 58 66 55 69 62 32 72 46 45 68 5a 67 46 31 58 79 5a 57 61 6d 70 7a 43 52 0a 4f 4d 45 34 48 59 PXfUib2rFEhZgF1XyZWampzCR.OME4HY
1af8e0 59 45 68 4c 6f 61 4a 58 68 65 6e 61 2f 4d 55 47 44 57 45 34 64 53 37 57 4d 66 62 57 56 39 77 68 YEhLoaJXhena/MUGDWE4dS7WMfbWV9wh
1af900 55 59 64 4d 72 68 66 6d 51 70 6a 48 4c 59 46 68 4e 39 43 30 6c 4b 38 53 67 62 49 48 52 72 78 54 UYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT
1af920 33 64 73 4b 70 49 0a 43 54 30 75 67 70 54 4e 47 6d 58 5a 4b 34 69 61 6d 62 77 59 66 70 2f 75 66 3dsKpI.CT0ugpTNGmXZK4iambwYfp/uf
1af940 57 5a 38 50 72 32 55 75 49 48 4f 7a 5a 67 77 65 4d 46 76 5a 39 43 2b 58 2b 42 6f 37 64 37 69 73 WZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7is
1af960 63 6b 73 57 58 69 53 71 74 38 72 59 47 50 79 35 56 36 35 0a 34 38 72 36 66 31 43 47 50 71 49 30 cksWXiSqt8rYGPy5V65.48r6f1CGPqI0
1af980 47 41 77 4a 61 43 67 52 48 4f 54 68 75 56 77 2b 52 37 6f 79 50 78 6a 4d 57 34 54 31 38 32 74 30 GAwJaCgRHOThuVw+R7oyPxjMW4T182t0
1af9a0 78 48 4a 30 34 65 4f 4c 6f 45 71 39 6a 57 59 76 36 71 30 31 32 69 44 54 69 49 4a 68 38 42 49 69 xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
1af9c0 0a 74 72 7a 51 31 61 54 73 72 31 53 49 4a 53 51 38 70 32 32 78 63 69 6b 2f 50 6c 65 6d 66 31 57 .trzQ1aTsr1SIJSQ8p22xcik/Plemf1W
1af9e0 76 62 69 62 47 2f 75 66 4d 51 46 78 52 52 49 45 4b 65 4e 35 4b 7a 6c 57 2f 48 64 58 5a 74 31 62 vbibG/ufMQFxRRIEKeN5KzlW/HdXZt1b
1afa00 76 38 48 62 2f 43 33 6d 31 72 37 33 37 0a 71 57 6d 52 52 70 64 6f 67 42 51 32 48 62 4e 2f 75 79 v8Hb/C3m1r737.qWmRRpdogBQ2HbN/uy
1afa20 6d 59 4e 71 55 67 2b 6f 4a 67 59 6a 4f 6b 37 4e 61 36 42 36 64 75 78 63 38 55 70 75 66 57 6b 6a mYNqUg+oJgYjOk7Na6B6duxc8UpufWkj
1afa40 54 59 67 66 58 38 48 56 32 71 58 42 37 32 6f 30 30 37 75 50 63 35 41 67 4d 42 0a 41 41 47 6a 67 TYgfX8HV2qXB72o007uPc5AgMB.AAGjg
1afa60 5a 63 77 67 5a 51 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 42 53 42 ZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSB
1afa80 67 4e 56 48 53 41 45 53 7a 42 4a 4d 45 63 47 42 46 55 64 49 41 41 77 50 7a 41 39 42 67 67 72 42 gNVHSAESzBJMEcGBFUdIAAwPzA9BggrB
1afaa0 67 45 46 42 51 63 43 0a 41 52 59 78 61 48 52 30 63 44 6f 76 4c 33 64 33 64 79 35 77 61 32 6c 76 gEFBQcC.ARYxaHR0cDovL3d3dy5wa2lv
1afac0 64 6d 56 79 61 47 56 70 5a 43 35 75 62 43 39 77 62 32 78 70 59 32 6c 6c 63 79 39 79 62 32 39 30 dmVyaGVpZC5ubC9wb2xpY2llcy9yb290
1afae0 4c 58 42 76 62 47 6c 6a 65 53 31 48 4d 6a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 41 4d LXBvbGljeS1HMjAOBgNV.HQ8BAf8EBAM
1afb00 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 46 6f 4d 6f 63 56 48 59 6e 69 74 66 47 CAQYwHQYDVR0OBBYEFJFoMocVHYnitfG
1afb20 73 4e 69 67 30 6a 51 74 38 59 6f 6a 72 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 sNig0jQt8YojrMA0GCSqGSIb3DQEBCwU
1afb40 41 0a 41 34 49 43 41 51 43 6f 51 55 70 6e 4b 70 4b 42 67 6c 42 75 34 64 66 59 73 7a 6b 37 38 77 A.A4ICAQCoQUpnKpKBglBu4dfYszk78w
1afb60 49 56 43 56 42 52 37 79 32 39 4a 48 75 49 68 6a 76 35 74 4c 79 53 43 5a 61 35 39 73 43 72 49 32 IVCVBR7y29JHuIhjv5tLySCZa59sCrI2
1afb80 41 47 65 59 77 52 54 6c 48 53 65 59 41 7a 0a 2b 35 31 49 76 75 78 42 51 34 45 66 66 6b 64 41 48 AGeYwRTlHSeYAz.+51IvuxBQ4EffkdAH
1afba0 4f 56 36 43 4d 71 71 69 33 57 74 46 4d 54 43 36 47 59 38 67 67 65 6e 35 69 65 43 57 78 6a 6d 44 OV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD
1afbc0 32 37 5a 55 44 36 4b 51 68 67 70 78 72 52 57 2f 46 59 51 6f 41 55 58 76 51 77 6a 0a 66 2f 53 54 27ZUD6KQhgpxrRW/FYQoAUXvQwj.f/ST
1afbe0 37 5a 77 61 55 62 37 64 52 55 47 2f 6b 53 53 30 48 34 7a 70 58 38 39 37 49 5a 6d 66 6c 5a 38 35 7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85
1afc00 4f 6b 59 63 62 50 6e 4e 65 35 79 51 7a 53 69 70 78 36 6c 56 75 36 78 69 4e 47 49 31 45 30 73 55 OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sU
1afc20 4f 6c 57 44 75 59 61 4e 0a 6b 71 62 47 39 41 63 6c 56 4d 77 57 56 78 4a 4b 67 6e 6a 49 46 4e 6b OlWDuYaN.kqbG9AclVMwWVxJKgnjIFNk
1afc40 58 67 69 59 74 58 53 41 66 65 61 37 2b 31 48 41 57 46 70 57 44 32 44 55 35 2f 31 4a 64 64 52 77 XgiYtXSAfea7+1HAWFpWD2DU5/1JddRw
1afc60 57 78 52 4e 56 7a 30 66 4d 64 57 56 53 53 74 37 77 73 4b 66 6b 0a 43 70 59 4c 2b 36 33 43 34 69 WxRNVz0fMdWVSSt7wsKfk.CpYL+63C4i
1afc80 57 45 73 74 33 6b 76 58 35 5a 62 4a 76 77 38 4e 6a 6e 79 76 4c 70 6c 7a 68 2b 69 62 37 4d 2b 7a WEst3kvX5ZbJvw8NjnyvLplzh+ib7M+z
1afca0 6b 58 59 54 39 79 32 7a 71 52 32 47 55 42 47 52 32 74 55 4b 52 58 43 6e 78 4c 76 4a 78 78 63 79 kXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcy
1afcc0 70 46 0a 55 52 6d 46 7a 49 37 39 52 36 64 30 6c 52 32 6f 30 61 39 4f 46 37 46 70 4a 73 4b 71 65 pF.URmFzI79R6d0lR2o0a9OF7FpJsKqe
1afce0 46 64 62 78 55 32 6e 35 5a 34 46 46 35 54 4b 73 6c 2b 67 53 52 69 4e 4e 4f 6b 6d 62 45 67 65 71 FdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeq
1afd00 6d 69 53 42 65 47 43 63 31 71 62 33 41 64 62 0a 43 47 31 39 6e 64 65 4e 49 64 6e 38 46 43 43 71 miSBeGCc1qb3Adb.CG19ndeNIdn8FCCq
1afd20 77 6b 58 66 50 2b 63 41 73 6c 48 6b 77 76 67 46 75 58 6b 61 6a 44 54 7a 6e 6c 76 6b 4e 31 74 72 wkXfP+cAslHkwvgFuXkajDTznlvkN1tr
1afd40 53 74 38 73 56 34 70 41 57 6a 61 36 33 58 56 45 43 44 64 43 63 41 7a 2b 33 46 34 68 0a 6f 4b 4f St8sV4pAWja63XVECDdCcAz+3F4h.oKO
1afd60 4b 77 4a 43 63 61 4e 70 51 35 6b 55 51 52 33 69 32 54 74 4a 6c 79 63 4d 33 33 2b 46 43 59 37 42 KwJCcaNpQ5kUQR3i2TtJlycM33+FCY7B
1afd80 58 4e 30 55 74 65 34 71 63 76 77 58 71 5a 56 55 7a 39 7a 6b 51 78 53 67 71 49 58 6f 62 69 73 51 XN0Ute4qcvwXqZVUz9zkQxSgqIXobisQ
1afda0 6b 2b 54 38 56 79 4a 6f 56 0a 49 50 56 56 59 70 62 74 62 5a 4e 51 76 4f 53 71 65 4b 33 5a 79 77 k+T8VyJoV.IPVVYpbtbZNQvOSqeK3Zyw
1afdc0 70 6c 68 36 5a 6d 77 63 53 42 6f 33 63 36 57 42 34 4c 37 6f 4f 4c 6e 52 37 53 55 71 54 4d 48 57 plh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW
1afde0 2b 77 6d 47 32 55 4d 62 58 34 63 51 72 63 75 66 78 39 4d 6d 44 6d 0a 36 36 2b 4b 41 51 3d 3d 0a +wmG2UMbX4cQrcufx9MmDm.66+KAQ==.
1afe00 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 6f 6e 67 6b -----END.CERTIFICATE-----..Hongk
1afe20 6f 6e 67 20 50 6f 73 74 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ong.Post.Root.CA.1.=============
1afe40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1afe60 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4d 44 43 43 41 68 69 67 41 77 49 42 41 67 49 43 41 2b 67 77 44 E-----.MIIDMDCCAhigAwIBAgICA+gwD
1afe80 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 QYJKoZIhvcNAQEFBQAwRzELMAkGA1UEB
1afea0 68 4d 43 53 45 73 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 0a 44 55 68 76 62 6d 64 72 62 32 35 6e hMCSEsxFjAUBgNVBAoT.DUhvbmdrb25n
1afec0 49 46 42 76 63 33 51 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 68 76 62 6d 64 72 62 32 35 6e IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25n
1afee0 49 46 42 76 63 33 51 67 55 6d 39 76 64 43 42 44 51 53 41 78 4d 42 34 58 44 54 41 7a 4d 44 55 78 IFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
1aff00 0a 4e 54 41 31 4d 54 4d 78 4e 46 6f 58 44 54 49 7a 4d 44 55 78 4e 54 41 30 4e 54 49 79 4f 56 6f .NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVo
1aff20 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 45 73 78 46 6a 41 55 42 67 4e 56 42 41 6f wRzELMAkGA1UEBhMCSEsxFjAUBgNVBAo
1aff40 54 44 55 68 76 62 6d 64 72 62 32 35 6e 0a 49 46 42 76 63 33 51 78 49 44 41 65 42 67 4e 56 42 41 TDUhvbmdrb25n.IFBvc3QxIDAeBgNVBA
1aff60 4d 54 46 30 68 76 62 6d 64 72 62 32 35 6e 49 46 42 76 63 33 51 67 55 6d 39 76 64 43 42 44 51 53 MTF0hvbmdrb25nIFBvc3QgUm9vdCBDQS
1aff80 41 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a 41 41 4f 43 41 AxMIIBIjANBgkqhkiG9w0BAQEF.AAOCA
1affa0 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 72 50 38 34 74 75 6c 6d 41 6b 6e 6a 6f 72 54 68 6b Q8AMIIBCgKCAQEArP84tulmAknjorThk
1affc0 50 6c 41 6a 33 6e 35 34 72 31 35 2f 67 4b 39 37 69 53 53 48 53 4c 32 32 6f 56 79 61 66 37 58 50 PlAj3n54r15/gK97iSSHSL22oVyaf7XP
1affe0 77 6e 55 33 5a 47 31 0a 41 70 7a 51 6a 56 72 68 56 63 4e 51 68 72 6b 70 4a 73 4c 6a 32 61 44 78 wnU3ZG1.ApzQjVrhVcNQhrkpJsLj2aDx
1b0000 61 51 4d 6f 49 49 42 46 49 69 31 57 70 7a 74 55 6c 56 59 69 57 52 38 6f 33 78 38 67 50 57 32 69 aQMoIIBFIi1WpztUlVYiWR8o3x8gPW2i
1b0020 4e 72 34 6a 6f 4c 46 75 74 62 45 6e 50 7a 6c 54 43 65 71 72 0a 61 75 68 30 73 73 4a 6c 58 49 36 Nr4joLFutbEnPzlTCeqr.auh0ssJlXI6
1b0040 2f 66 4d 4e 34 68 4d 32 65 46 76 7a 31 4c 6b 38 67 4b 67 69 66 64 2f 50 46 48 73 53 61 55 6d 59 /fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmY
1b0060 65 53 46 37 6a 45 41 61 50 49 70 6a 68 5a 59 34 62 58 53 4e 6d 4f 37 69 6c 4d 6c 48 49 68 71 71 eSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqq
1b0080 68 0a 71 5a 35 2f 64 70 54 43 70 6d 79 33 51 66 44 56 79 41 59 34 35 74 51 4d 34 76 4d 37 54 47 h.qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG
1b00a0 31 51 6a 4d 53 44 4a 38 45 54 68 46 6b 39 6e 6e 56 30 74 74 67 43 58 6a 71 51 65 73 42 43 4e 6e 1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNn
1b00c0 4c 73 61 6b 33 63 37 38 51 41 33 78 4d 59 0a 56 31 38 6d 65 4d 6a 57 43 6e 6c 33 76 2f 65 76 74 Lsak3c78QA3xMY.V18meMjWCnl3v/evt
1b00e0 33 61 35 70 51 75 45 46 31 30 51 36 6d 2f 68 71 35 55 52 58 32 30 38 6f 31 78 4e 67 31 76 79 73 3a5pQuEF10Q6m/hq5URX208o1xNg1vys
1b0100 78 6d 4b 67 49 73 4c 68 77 49 44 41 51 41 42 6f 79 59 77 4a 44 41 53 42 67 4e 56 0a 48 52 4d 42 xmKgIsLhwIDAQABoyYwJDASBgNV.HRMB
1b0120 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 44 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 Af8ECDAGAQH/AgEDMA4GA1UdDwEB/wQE
1b0140 41 77 49 42 78 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 AwIBxjANBgkqhkiG9w0BAQUFAAOCAQEA
1b0160 44 6b 62 56 50 4b 37 69 0a 68 39 6c 65 67 59 73 43 6d 45 45 49 6a 45 79 38 32 74 76 75 4a 78 75 DkbVPK7i.h9legYsCmEEIjEy82tvuJxu
1b0180 43 35 32 70 46 37 42 61 4c 54 34 57 67 38 37 4a 77 76 56 71 57 75 73 70 75 62 65 35 47 69 32 37 C52pF7BaLT4Wg87JwvVqWuspube5Gi27
1b01a0 6e 4b 69 36 57 73 78 6b 7a 36 37 53 66 71 4c 49 33 37 70 69 6f 0a 6c 37 59 75 74 6d 63 6e 31 4b nKi6Wsxkz67SfqLI37pio.l7Yutmcn1K
1b01c0 5a 4a 2f 52 79 54 5a 58 61 65 51 69 2f 63 49 6d 79 61 54 2f 4a 61 46 54 6d 78 63 64 63 72 55 65 ZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUe
1b01e0 68 74 48 4a 6a 41 32 53 72 30 6f 59 4a 37 31 63 6c 42 6f 69 4d 42 64 44 68 56 69 77 2b 35 4c 6d htHJjA2Sr0oYJ71clBoiMBdDhViw+5Lm
1b0200 65 69 0a 49 41 51 33 32 70 77 4c 30 78 63 68 34 49 2b 58 65 54 52 76 68 45 67 43 49 44 4d 62 35 ei.IAQ32pwL0xch4I+XeTRvhEgCIDMb5
1b0220 6a 52 45 6e 35 46 77 39 49 42 65 68 45 50 43 4b 64 4a 73 45 68 54 6b 59 59 32 73 45 4a 43 65 68 jREn5Fw9IBehEPCKdJsEhTkYY2sEJCeh
1b0240 46 43 37 38 4a 5a 76 52 5a 2b 4b 38 38 70 73 0a 54 2f 6f 52 4f 68 55 56 52 73 50 4e 48 34 4e 62 FC78JZvRZ+K88ps.T/oROhUVRsPNH4Nb
1b0260 4c 55 45 53 37 56 42 6e 51 52 4d 39 49 61 75 55 69 71 70 4f 66 4d 47 78 2b 36 66 57 74 53 63 76 LUES7VBnQRM9IauUiqpOfMGx+6fWtScv
1b0280 6c 36 74 75 34 42 33 69 30 52 77 73 48 30 54 69 2f 4c 36 52 6f 5a 7a 37 31 69 6c 54 0a 63 34 61 l6tu4B3i0RwsH0Ti/L6RoZz71ilT.c4a
1b02a0 66 55 39 68 44 44 6c 33 57 59 34 4a 78 48 59 42 30 79 76 62 69 41 6d 76 5a 57 67 3d 3d 0a 2d 2d fU9hDDl3WY4JxHYB0yvbiAmvZWg==.--
1b02c0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 65 53 ---END.CERTIFICATE-----..SecureS
1b02e0 69 67 6e 20 52 6f 6f 74 43 41 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ign.RootCA11.===================
1b0300 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1b0320 44 62 54 43 43 41 6c 57 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 DbTCCAlWgAwIBAgIBATANBgkqhkiG9w0
1b0340 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 72 4d 43 6b BAQUFADBYMQswCQYDVQQGEwJKUDErMCk
1b0360 47 41 31 55 45 43 68 4d 69 0a 53 6d 46 77 59 57 34 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 GA1UEChMi.SmFwYW4gQ2VydGlmaWNhdG
1b0380 6c 76 62 69 42 54 5a 58 4a 32 61 57 4e 6c 63 79 77 67 53 57 35 6a 4c 6a 45 63 4d 42 6f 47 41 31 lvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1
1b03a0 55 45 41 78 4d 54 55 32 56 6a 64 58 4a 6c 55 32 6c 6e 62 69 42 53 0a 62 32 39 30 51 30 45 78 4d UEAxMTU2VjdXJlU2lnbiBS.b290Q0ExM
1b03c0 54 41 65 46 77 30 77 4f 54 41 30 4d 44 67 77 4e 44 55 32 4e 44 64 61 46 77 30 79 4f 54 41 30 4d TAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0M
1b03e0 44 67 77 4e 44 55 32 4e 44 64 61 4d 46 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 70 51 4d DgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQM
1b0400 53 73 77 0a 4b 51 59 44 56 51 51 4b 45 79 4a 4b 59 58 42 68 62 69 42 44 5a 58 4a 30 61 57 5a 70 Ssw.KQYDVQQKEyJKYXBhbiBDZXJ0aWZp
1b0420 59 32 46 30 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4c 43 42 4a 62 6d 4d 75 4d 52 77 77 Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRww
1b0440 47 67 59 44 56 51 51 44 45 78 4e 54 5a 57 4e 31 0a 63 6d 56 54 61 57 64 75 49 46 4a 76 62 33 52 GgYDVQQDExNTZWN1.cmVTaWduIFJvb3R
1b0460 44 51 54 45 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f DQTExMIIBIjANBgkqhkiG9w0BAQEFAAO
1b0480 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 2f 58 65 71 70 52 79 51 42 54 76 4c 0a 54 4a CAQ8AMIIBCgKCAQEA/XeqpRyQBTvL.TJ
1b04a0 73 7a 69 31 6f 55 52 61 54 6e 6b 42 62 52 33 31 66 53 49 52 43 6b 46 2f 33 66 72 4e 59 66 70 2b szi1oURaTnkBbR31fSIRCkF/3frNYfp+
1b04c0 54 62 66 50 66 73 33 37 67 44 32 70 52 59 2f 56 31 79 66 49 77 2f 58 77 46 6e 64 42 57 57 34 77 TbfPfs37gD2pRY/V1yfIw/XwFndBWW4w
1b04e0 49 38 68 39 75 75 79 77 47 4f 0a 77 76 4e 6d 78 6f 56 46 39 41 4c 47 4f 72 56 69 73 71 2f 36 6e I8h9uuywGO.wvNmxoVF9ALGOrVisq/6n
1b0500 4c 2b 6b 35 74 53 41 4d 4a 6a 7a 44 62 61 54 6a 36 6e 55 32 44 62 79 73 50 79 4b 79 69 79 68 46 L+k5tSAMJjzDbaTj6nU2DbysPyKyiyhF
1b0520 54 4f 56 4d 64 72 41 47 2f 4c 75 59 70 6d 47 59 7a 2b 2f 33 5a 4d 71 0a 67 36 68 32 75 52 4d 66 TOVMdrAG/LuYpmGYz+/3ZMq.g6h2uRMf
1b0540 74 38 35 4f 51 6f 57 50 49 75 63 75 47 76 4b 56 43 62 49 46 74 55 52 4f 64 36 45 67 76 61 6e 79 t85OQoWPIucuGvKVCbIFtUROd6Egvany
1b0560 54 67 70 39 55 4b 33 31 42 51 31 46 54 30 5a 78 2f 53 67 2b 55 2f 73 45 32 43 33 58 5a 52 31 4b Tgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1K
1b0580 47 2f 72 50 0a 4f 37 41 78 6d 6a 56 75 79 49 73 47 30 77 43 52 38 70 51 49 5a 55 79 78 4e 41 59 G/rP.O7AxmjVuyIsG0wCR8pQIZUyxNAY
1b05a0 41 65 6f 6e 69 38 4d 63 44 57 63 2f 56 31 75 69 6e 4d 72 50 6d 6d 45 43 47 78 63 30 6e 45 6f 76 Aeoni8McDWc/V1uinMrPmmECGxc0nEov
1b05c0 4d 65 38 36 33 45 54 78 69 59 41 63 6a 50 69 74 41 0a 62 70 53 41 43 57 32 32 73 32 39 33 62 7a Me863ETxiYAcjPitA.bpSACW22s293bz
1b05e0 55 49 55 50 73 43 68 38 55 2b 69 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 UIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ
1b0600 34 45 46 67 51 55 57 2f 68 4e 54 37 4b 6c 68 74 51 36 30 76 46 6a 6d 71 43 2b 43 66 5a 58 0a 74 4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX.t
1b0620 39 34 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdE
1b0640 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 wEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFB
1b0660 51 41 44 67 67 45 42 41 4b 43 68 0a 4f 42 5a 6d 4c 71 64 57 48 79 47 63 42 76 6f 64 37 62 6b 69 QADggEBAKCh.OBZmLqdWHyGcBvod7bki
1b0680 78 54 67 6d 32 45 35 50 37 4b 4e 2f 65 64 35 47 49 61 47 48 64 34 38 48 43 4a 71 79 70 4d 57 76 xTgm2E5P7KN/ed5GIaGHd48HCJqypMWv
1b06a0 44 7a 4b 59 43 33 78 6d 4b 62 61 62 66 53 56 53 53 55 4f 72 54 43 34 72 0a 62 6e 70 77 72 78 59 DzKYC3xmKbabfSVSSUOrTC4r.bnpwrxY
1b06c0 4f 34 77 4a 73 2b 30 4c 6d 47 4a 31 46 32 46 58 49 36 44 76 64 35 2b 48 30 4c 67 73 63 4e 46 78 O4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFx
1b06e0 73 57 45 72 37 6a 49 68 51 58 35 55 63 76 2b 32 72 49 72 56 6c 73 34 57 36 6e 67 2b 34 72 65 56 sWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV
1b0700 36 47 34 70 51 0a 4f 68 32 39 44 62 78 37 56 46 41 4c 75 55 4b 76 56 61 41 59 67 61 31 6c 6d 65 6G4pQ.Oh29Dbx7VFALuUKvVaAYga1lme
1b0720 2b 2b 35 4a 79 2f 78 49 57 72 51 62 4a 55 62 39 77 6c 7a 65 31 34 34 6f 34 4d 6a 51 6c 4a 33 57 ++5Jy/xIWrQbJUb9wlze144o4MjQlJ3W
1b0740 4e 37 57 6d 6d 57 41 69 47 6f 76 56 4a 5a 36 58 30 31 0a 79 38 68 53 79 6e 2b 42 2f 74 6c 72 30 N7WmmWAiGovVJZ6X01.y8hSyn+B/tlr0
1b0760 2f 63 52 37 53 58 66 2b 4f 66 35 70 50 70 79 6c 34 52 54 44 61 58 51 4d 68 68 52 64 6c 6b 55 62 /cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUb
1b0780 41 2f 72 37 46 2b 41 6a 48 56 44 67 38 4f 46 6d 50 39 4d 6e 69 30 4e 35 48 65 44 6b 30 36 31 0a A/r7F+AjHVDg8OFmP9Mni0N5HeDk061.
1b07a0 6c 67 65 4c 4b 42 4f 62 6a 42 6d 4e 51 53 64 4a 51 4f 37 65 35 69 4e 45 4f 64 79 68 49 74 61 36 lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6
1b07c0 41 2f 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a A/I=.-----END.CERTIFICATE-----..
1b07e0 4d 69 63 72 6f 73 65 63 20 65 2d 53 7a 69 67 6e 6f 20 52 6f 6f 74 20 43 41 20 32 30 30 39 0a 3d Microsec.e-Szigno.Root.CA.2009.=
1b0800 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d =============================.--
1b0820 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 43 6a ---BEGIN.CERTIFICATE-----.MIIECj
1b0840 43 43 41 76 4b 67 41 77 49 42 41 67 49 4a 41 4d 4a 2b 51 77 52 4f 52 7a 38 5a 4d 41 30 47 43 53 CCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCS
1b0860 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 43 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 qGSIb3DQEBCwUAMIGCMQswCQYDVQQGEw
1b0880 4a 49 56 54 45 52 0a 4d 41 38 47 41 31 55 45 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 78 46 JIVTER.MA8GA1UEBwwIQnVkYXBlc3QxF
1b08a0 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a 49 45 78 30 5a 43 34 78 4a jAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJ
1b08c0 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 0a 63 32 56 6a 49 47 55 74 55 33 70 70 zAlBgNVBAMMHk1pY3Jv.c2VjIGUtU3pp
1b08e0 5a 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 66 4d 42 30 47 43 53 71 47 Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqG
1b0900 53 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e 36 61 57 64 75 62 79 35 6f SIb3DQEJARYQaW5mb0BlLXN6aWduby5o
1b0920 0a 64 54 41 65 46 77 30 77 4f 54 41 32 4d 54 59 78 4d 54 4d 77 4d 54 68 61 46 77 30 79 4f 54 45 .dTAeFw0wOTA2MTYxMTMwMThaFw0yOTE
1b0940 79 4d 7a 41 78 4d 54 4d 77 4d 54 68 61 4d 49 47 43 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a yMzAxMTMwMThaMIGCMQswCQYDVQQGEwJ
1b0960 49 56 54 45 52 4d 41 38 47 41 31 55 45 0a 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 78 46 6a IVTERMA8GA1UE.BwwIQnVkYXBlc3QxFj
1b0980 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a 49 45 78 30 5a 43 34 78 4a 7a AUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJz
1b09a0 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 63 32 56 6a 49 47 55 74 0a 55 33 70 70 5a AlBgNVBAMMHk1pY3Jvc2VjIGUt.U3ppZ
1b09c0 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 66 4d 42 30 47 43 53 71 47 53 25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGS
1b09e0 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e 36 61 57 64 75 62 79 35 6f 64 Ib3DQEJARYQaW5mb0BlLXN6aWduby5od
1b0a00 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 TCCASIw.DQYJKoZIhvcNAQEBBQADggEP
1b0a20 41 44 43 43 41 51 6f 43 67 67 45 42 41 4f 6e 34 6a 2f 4e 6a 72 64 71 47 32 4b 66 67 51 76 76 50 ADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP
1b0a40 6b 64 36 6d 4a 76 69 5a 70 57 4e 77 72 5a 75 75 79 6a 4e 41 0a 66 57 32 57 62 71 45 4f 52 4f 37 kd6mJviZpWNwrZuuyjNA.fW2WbqEORO7
1b0a60 68 45 35 32 55 51 6c 4b 61 76 58 57 46 64 43 79 6f 44 68 32 54 74 68 69 33 6a 43 79 6f 7a 2f 74 hE52UQlKavXWFdCyoDh2Tthi3jCyoz/t
1b0a80 63 63 62 6e 61 37 50 37 6f 66 6f 2f 6b 4c 78 32 79 71 48 57 48 32 4c 65 68 35 54 76 50 6d 55 70 ccbna7P7ofo/kLx2yqHWH2Leh5TvPmUp
1b0aa0 47 0a 30 49 4d 5a 66 63 43 68 45 68 79 56 62 55 72 30 32 4d 65 6c 54 54 4d 75 68 54 6c 41 64 58 G.0IMZfcChEhyVbUr02MelTTMuhTlAdX
1b0ac0 34 55 66 49 41 53 6d 46 44 48 51 57 65 34 6f 49 42 68 56 4b 5a 73 54 68 2f 67 6e 51 34 48 36 63 4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6c
1b0ae0 6d 36 4d 2b 66 2b 77 46 55 6f 4c 41 4b 41 0a 70 78 6e 31 6e 74 78 56 55 77 4f 58 65 77 64 49 2f m6M+f+wFUoLAKA.pxn1ntxVUwOXewdI/
1b0b00 35 6e 37 4e 34 6f 6b 78 46 6e 4d 55 42 42 6a 6a 71 71 70 47 72 43 45 47 6f 62 35 58 37 75 78 55 5n7N4okxFnMUBBjjqqpGrCEGob5X7uxU
1b0b20 47 36 6b 30 51 72 4d 31 58 46 2b 48 36 63 62 66 50 56 54 62 69 4a 66 79 79 76 6d 0a 31 48 78 64 G6k0QrM1XF+H6cbfPVTbiJfyyvm.1Hxd
1b0b40 72 74 62 43 78 6b 7a 6c 42 51 48 5a 37 56 66 38 77 53 4e 35 2f 50 72 49 4a 49 4f 56 38 37 56 71 rtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87Vq
1b0b60 55 51 48 51 64 39 62 70 45 71 48 35 47 6f 50 37 67 68 75 35 73 4a 66 30 64 67 59 7a 51 30 6d 67 UQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg
1b0b80 2f 77 75 31 2b 72 55 43 0a 41 77 45 41 41 61 4f 42 67 44 42 2b 4d 41 38 47 41 31 55 64 45 77 45 /wu1+rUC.AwEAAaOBgDB+MA8GA1UdEwE
1b0ba0 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 B/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgE
1b0bc0 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4c 44 38 62 66 0a 51 6b 50 4d 50 63 75 31 53 43 GMB0GA1UdDgQWBBTLD8bf.QkPMPcu1SC
1b0be0 4f 68 47 6e 71 6d 4b 72 73 30 61 44 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 4c 44 38 OhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8
1b0c00 62 66 51 6b 50 4d 50 63 75 31 53 43 4f 68 47 6e 71 6d 4b 72 73 30 61 44 41 62 42 67 4e 56 48 52 bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHR
1b0c20 45 45 0a 46 44 41 53 67 52 42 70 62 6d 5a 76 51 47 55 74 63 33 70 70 5a 32 35 76 4c 6d 68 31 4d EE.FDASgRBpbmZvQGUtc3ppZ25vLmh1M
1b0c40 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 44 4a 30 51 35 65 4c A0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eL
1b0c60 74 58 4d 73 33 77 2b 79 2f 77 39 2f 77 30 6f 0a 6c 5a 4d 45 79 4c 2f 61 7a 58 6d 34 51 35 44 77 tXMs3w+y/w9/w0o.lZMEyL/azXm4Q5Dw
1b0c80 70 4c 37 76 38 75 38 68 6d 4c 7a 55 31 46 30 47 39 75 35 43 37 44 42 73 6f 4b 71 70 79 76 47 76 pL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGv
1b0ca0 69 76 6f 2f 43 33 4e 71 50 75 6f 75 51 48 34 66 72 6c 52 68 65 65 73 75 43 44 66 58 0a 49 2f 4f ivo/C3NqPuouQH4frlRheesuCDfX.I/O
1b0cc0 4d 6e 37 34 64 73 65 47 6b 64 64 75 67 34 6c 51 55 73 62 6f 63 4b 61 51 59 39 68 4b 36 6f 68 51 Mn74dseGkddug4lQUsbocKaQY9hK6ohQ
1b0ce0 55 34 7a 45 31 79 45 44 2f 74 2b 41 46 64 6c 66 42 48 46 6e 79 2b 4c 2f 6b 37 53 56 69 58 49 54 U4zE1yED/t+AFdlfBHFny+L/k7SViXIT
1b0d00 77 66 6e 34 66 73 37 37 35 0a 74 79 45 52 7a 41 4d 42 56 6e 43 6e 45 4a 49 65 47 7a 53 42 48 71 wfn4fs775.tyERzAMBVnCnEJIeGzSBHq
1b0d20 32 63 47 73 4d 45 50 4f 30 43 59 64 59 65 42 76 4e 66 4f 6f 66 79 4b 2f 46 46 68 2b 55 39 72 4e 2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rN
1b0d40 48 48 56 34 53 39 61 36 37 63 32 50 6d 32 47 32 4a 77 43 7a 30 32 0a 79 55 4c 79 4d 74 64 36 59 HHV4S9a67c2Pm2G2JwCz02.yULyMtd6Y
1b0d60 65 62 53 32 7a 33 50 79 4b 6e 4a 6d 39 7a 62 57 45 54 58 62 7a 69 76 66 33 6a 54 6f 36 30 61 64 ebS2z3PyKnJm9zbWETXbzivf3jTo60ad
1b0d80 62 6f 63 77 54 5a 38 6a 78 35 74 48 4d 4e 31 52 71 34 31 42 61 62 32 58 44 30 68 37 6c 62 77 79 bocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwy
1b0da0 59 49 69 0a 4c 58 70 55 71 33 44 44 66 53 4a 6c 67 6e 43 57 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 YIi.LXpUq3DDfSJlgnCW.-----END.CE
1b0dc0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 RTIFICATE-----..GlobalSign.Root.
1b0de0 43 41 20 2d 20 52 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a CA.-.R3.=======================.
1b0e00 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 -----BEGIN.CERTIFICATE-----.MIID
1b0e20 58 7a 43 43 41 6b 65 67 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 49 56 68 54 43 4b 49 77 XzCCAkegAwIBAgILBAAAAAABIVhTCKIw
1b0e40 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 54 44 45 67 4d 42 34 47 41 31 55 45 DQYJKoZIhvcNAQELBQAwTDEgMB4GA1UE
1b0e60 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 32 6c 6e 62 69 42 53 62 32 39 30 49 45 4e 42 49 43 30 CxMXR2xv.YmFsU2lnbiBSb290IENBIC0
1b0e80 67 55 6a 4d 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24
1b0ea0 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 62 32 4a 68 0a 62 46 4e 70 5a 32 34 77 48 68 xEzARBgNVBAMTCkdsb2Jh.bFNpZ24wHh
1b0ec0 63 4e 4d 44 6b 77 4d 7a 45 34 4d 54 41 77 4d 44 41 77 57 68 63 4e 4d 6a 6b 77 4d 7a 45 34 4d 54 cNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MT
1b0ee0 41 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 56 51 51 4c 45 78 64 48 62 47 39 69 59 57 AwMDAwWjBMMSAwHgYDVQQLExdHbG9iYW
1b0f00 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 53 4d 7a 45 54 4d 42 45 47 41 xT.aWduIFJvb3QgQ0EgLSBSMzETMBEGA
1b0f20 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 6a 45 54 4d 42 45 47 41 31 55 45 41 1UEChMKR2xvYmFsU2lnbjETMBEGA1UEA
1b0f40 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 0a 62 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 xMKR2xvYmFsU2ln.bjCCASIwDQYJKoZI
1b0f60 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d 77 6c hvcNAQEBBQADggEPADCCAQoCggEBAMwl
1b0f80 64 70 42 35 42 6e 67 69 46 76 58 41 67 37 61 45 79 69 69 65 2f 51 56 32 45 63 57 74 0a 69 48 4c dpB5BngiFvXAg7aEyiie/QV2EcWt.iHL
1b0fa0 38 52 67 4a 44 78 37 4b 4b 6e 51 52 66 4a 4d 73 75 53 2b 46 67 67 6b 62 68 55 71 73 4d 67 55 64 8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUd
1b0fc0 77 62 4e 31 6b 30 65 76 31 4c 4b 4d 50 67 6a 30 4d 4b 36 36 58 31 37 59 55 68 68 42 35 75 7a 73 wbN1k0ev1LKMPgj0MK66X17YUhhB5uzs
1b0fe0 54 67 48 65 4d 43 4f 46 4a 0a 30 6d 70 69 4c 78 39 65 2b 70 5a 6f 33 34 6b 6e 6c 54 69 66 42 74 TgHeMCOFJ.0mpiLx9e+pZo34knlTifBt
1b1000 63 2b 79 63 73 6d 57 51 31 7a 33 72 44 49 36 53 59 4f 67 78 58 47 37 31 75 4c 30 67 52 67 79 6b c+ycsmWQ1z3rDI6SYOgxXG71uL0gRgyk
1b1020 6d 6d 4b 50 5a 70 4f 2f 62 4c 79 43 69 52 35 5a 32 4b 59 56 63 33 0a 72 48 51 55 33 48 54 67 4f mmKPZpO/bLyCiR5Z2KYVc3.rHQU3HTgO
1b1040 75 35 79 4c 79 36 63 2b 39 43 37 76 2f 55 39 41 4f 45 47 4d 2b 69 43 4b 36 35 54 70 6a 6f 57 63 u5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc
1b1060 34 7a 64 51 51 34 67 4f 73 43 30 70 36 48 70 73 6b 2b 51 4c 6a 4a 67 36 56 66 4c 75 51 53 53 61 4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSa
1b1080 47 6a 6c 0a 4f 43 5a 67 64 62 4b 66 64 2f 2b 52 46 4f 2b 75 49 45 6e 38 72 55 41 56 53 4e 45 43 Gjl.OCZgdbKfd/+RFO+uIEn8rUAVSNEC
1b10a0 4d 57 45 5a 58 72 69 58 37 36 31 33 74 32 53 61 65 72 39 66 77 52 50 76 6d 32 4c 37 44 57 7a 67 MWEZXriX7613t2Saer9fwRPvm2L7DWzg
1b10c0 56 47 6b 57 71 51 50 61 62 75 6d 44 6b 33 46 32 0a 78 6d 6d 46 67 68 63 43 41 77 45 41 41 61 4e VGkWqQPabumDk3F2.xmmFghcCAwEAAaN
1b10e0 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 CMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1U
1b1100 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 46 49 dEwEB/wQFMAMBAf8wHQYDVR0OBBYE.FI
1b1120 2f 77 53 33 2b 6f 4c 6b 55 6b 72 6b 31 51 2b 6d 4f 61 69 39 37 69 33 52 75 38 4d 41 30 47 43 53 /wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCS
1b1140 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 42 4c 51 4e 76 41 55 4b 72 2b 79 41 qGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yA
1b1160 7a 76 39 35 5a 55 52 55 6d 37 0a 6c 67 41 4a 51 61 79 7a 45 34 61 47 4b 41 63 7a 79 6d 76 6d 64 zv95ZURUm7.lgAJQayzE4aGKAczymvmd
1b1180 4c 6d 36 41 43 32 75 70 41 72 54 39 66 48 78 44 34 71 2f 63 32 64 4b 67 38 64 45 65 33 6a 67 72 Lm6AC2upArT9fHxD4q/c2dKg8dEe3jgr
1b11a0 32 35 73 62 77 4d 70 6a 6a 4d 35 52 63 4f 4f 35 4c 6c 58 62 4b 72 38 0a 45 70 62 73 55 38 59 74 25sbwMpjjM5RcOO5LlXbKr8.EpbsU8Yt
1b11c0 35 43 52 73 75 5a 52 6a 2b 39 78 54 61 47 64 57 50 6f 4f 34 7a 7a 55 68 77 38 6c 6f 2f 73 37 61 5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7a
1b11e0 77 6c 4f 71 7a 4a 43 4b 36 66 42 64 52 6f 79 56 33 58 70 59 4b 42 6f 76 48 64 37 4e 41 44 64 42 wlOqzJCK6fBdRoyV3XpYKBovHd7NADdB
1b1200 6a 2b 31 45 0a 62 64 64 54 4b 4a 64 2b 38 32 63 45 48 68 58 58 69 70 61 30 30 39 35 4d 4a 36 52 j+1E.bddTKJd+82cEHhXXipa0095MJ6R
1b1220 4d 47 33 4e 7a 64 76 51 58 6d 63 49 66 65 67 37 6a 4c 51 69 74 43 68 77 73 2f 7a 79 72 56 51 34 MG3NzdvQXmcIfeg7jLQitChws/zyrVQ4
1b1240 50 6b 58 34 32 36 38 4e 58 53 62 37 68 4c 69 31 38 0a 59 49 76 44 51 56 45 54 49 35 33 4f 39 7a PkX4268NXSb7hLi18.YIvDQVETI53O9z
1b1260 4a 72 6c 41 47 6f 6d 65 63 73 4d 78 38 36 4f 79 58 53 68 6b 44 4f 4f 79 79 47 65 4d 6c 68 4c 78 JrlAGomecsMx86OyXShkDOOyyGeMlhLx
1b1280 53 36 37 74 74 56 62 39 2b 45 37 67 55 4a 54 62 30 6f 32 48 4c 4f 30 32 4a 51 5a 52 37 72 0a 6b S67ttVb9+E7gUJTb0o2HLO02JQZR7r.k
1b12a0 70 65 44 4d 64 6d 7a 74 63 70 48 57 44 39 66 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 peDMdmztcpHWD9f.-----END.CERTIFI
1b12c0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 75 74 6f 72 69 64 61 64 20 64 65 20 43 65 72 74 69 66 69 63 CATE-----..Autoridad.de.Certific
1b12e0 61 63 69 6f 6e 20 46 69 72 6d 61 70 72 6f 66 65 73 69 6f 6e 61 6c 20 43 49 46 20 41 36 32 36 33 acion.Firmaprofesional.CIF.A6263
1b1300 34 30 36 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 4068.===========================
1b1320 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d ==============================.-
1b1340 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 46 ----BEGIN.CERTIFICATE-----.MIIGF
1b1360 44 43 43 41 2f 79 67 41 77 49 42 41 67 49 49 55 2b 77 37 37 76 75 79 53 46 38 77 44 51 59 4a 4b DCCA/ygAwIBAgIIU+w77vuySF8wDQYJK
1b1380 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 55 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 oZIhvcNAQEFBQAwUTELMAkGA1UEBhMCR
1b13a0 56 4d 78 51 6a 42 41 0a 42 67 4e 56 42 41 4d 4d 4f 55 46 31 64 47 39 79 61 57 52 68 5a 43 42 6b VMxQjBA.BgNVBAMMOUF1dG9yaWRhZCBk
1b13c0 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 39 75 49 45 5a 70 63 6d 31 68 63 48 4a 76 ZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJv
1b13e0 5a 6d 56 7a 61 57 39 75 59 57 77 67 51 30 6c 47 49 45 45 32 0a 4d 6a 59 7a 4e 44 41 32 4f 44 41 ZmVzaW9uYWwgQ0lGIEE2.MjYzNDA2ODA
1b1400 65 46 77 30 77 4f 54 41 31 4d 6a 41 77 4f 44 4d 34 4d 54 56 61 46 77 30 7a 4d 44 45 79 4d 7a 45 eFw0wOTA1MjAwODM4MTVaFw0zMDEyMzE
1b1420 77 4f 44 4d 34 4d 54 56 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 54 4d 55 49 wODM4MTVaMFExCzAJBgNVBAYTAkVTMUI
1b1440 77 0a 51 41 59 44 56 51 51 44 44 44 6c 42 64 58 52 76 63 6d 6c 6b 59 57 51 67 5a 47 55 67 51 32 w.QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2
1b1460 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 62 69 42 47 61 58 4a 74 59 58 42 79 62 32 5a 6c 63 32 VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2
1b1480 6c 76 62 6d 46 73 49 45 4e 4a 52 69 42 42 0a 4e 6a 49 32 4d 7a 51 77 4e 6a 67 77 67 67 49 69 4d lvbmFsIENJRiBB.NjI2MzQwNjgwggIiM
1b14a0 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 A0GCSqGSIb3DQEBAQUAA4ICDwAwggIKA
1b14c0 6f 49 43 41 51 44 4b 6c 6d 75 4f 36 76 6a 37 38 61 49 31 34 48 39 4d 32 75 44 44 0a 55 74 64 39 oICAQDKlmuO6vj78aI14H9M2uDD.Utd9
1b14e0 74 68 44 49 41 6c 36 7a 51 79 72 45 54 32 71 79 79 68 78 64 4b 4a 70 34 45 52 70 70 57 56 65 76 thDIAl6zQyrET2qyyhxdKJp4ERppWVev
1b1500 74 53 42 43 35 49 73 50 35 74 39 62 70 67 4f 53 4c 2f 55 52 35 47 4c 58 4d 6e 45 34 32 51 51 4d tSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM
1b1520 63 61 73 39 55 58 34 50 0a 42 39 39 6a 42 56 7a 70 76 35 52 76 77 53 6d 43 77 4c 54 61 55 62 44 cas9UX4P.B99jBVzpv5RvwSmCwLTaUbD
1b1540 42 50 4c 75 74 4e 30 70 63 79 76 46 4c 4e 67 34 6b 71 37 2f 44 68 48 66 39 71 46 44 30 73 65 66 BPLutN0pcyvFLNg4kq7/DhHf9qFD0sef
1b1560 47 4c 39 49 74 57 59 31 36 43 6b 36 57 61 56 49 43 71 6a 61 59 0a 37 50 7a 36 46 49 4d 4d 4e 78 GL9ItWY16Ck6WaVICqjaY.7Pz6FIMMNx
1b1580 2f 4a 6b 6a 64 2f 31 34 45 74 35 63 53 35 34 44 34 30 2f 6d 66 30 50 6d 62 52 30 2f 52 41 7a 31 /Jkjd/14Et5cS54D40/mf0PmbR0/RAz1
1b15a0 35 69 4e 41 39 77 42 6a 34 67 47 46 72 4f 39 33 49 62 4a 57 79 54 64 42 53 54 6f 33 4f 78 44 71 5iNA9wBj4gGFrO93IbJWyTdBSTo3OxDq
1b15c0 71 48 0a 45 43 4e 5a 58 79 41 46 47 55 66 74 61 49 36 53 45 73 70 64 2f 4e 59 72 73 70 49 38 49 qH.ECNZXyAFGUftaI6SEspd/NYrspI8I
1b15e0 4d 2f 68 58 36 38 67 76 71 42 32 66 33 62 6c 37 42 71 47 59 54 4d 2b 35 33 75 30 50 36 41 50 6a M/hX68gvqB2f3bl7BqGYTM+53u0P6APj
1b1600 71 4b 35 61 6d 2b 35 68 79 5a 76 51 57 79 49 0a 70 6c 44 39 61 6d 4d 4c 39 5a 4d 57 47 78 6d 50 qK5am+5hyZvQWyI.plD9amML9ZMWGxmP
1b1620 73 75 32 62 6d 38 6d 51 39 51 45 4d 33 78 6b 39 44 7a 34 34 49 38 6b 76 6a 77 7a 52 41 76 34 62 su2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4b
1b1640 56 64 5a 4f 30 49 30 38 72 30 2b 6b 38 2f 36 76 4b 74 4d 46 6e 58 6b 49 6f 63 74 58 0a 4d 62 53 VdZO0I08r0+k8/6vKtMFnXkIoctX.MbS
1b1660 63 79 4a 43 79 5a 2f 51 59 46 70 4d 36 2f 45 66 59 30 58 69 57 4d 52 2b 36 4b 77 78 66 58 5a 6d cyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZm
1b1680 74 59 34 6c 61 4a 43 42 32 32 4e 2f 39 71 30 36 6d 49 71 71 64 58 75 59 6e 69 6e 31 6f 4b 61 50 tY4laJCB22N/9q06mIqqdXuYnin1oKaP
1b16a0 6e 69 72 6a 61 45 62 73 58 0a 4c 5a 6d 64 45 79 52 47 39 38 58 69 32 4a 2b 4f 66 38 65 50 64 47 nirjaEbsX.LZmdEyRG98Xi2J+Of8ePdG
1b16c0 31 61 73 75 68 79 39 61 7a 75 4a 42 43 74 4c 78 54 61 2f 79 32 61 52 6e 46 48 76 6b 4c 66 75 77 1asuhy9azuJBCtLxTa/y2aRnFHvkLfuw
1b16e0 48 62 39 48 2f 54 4b 49 38 78 57 56 76 54 79 51 4b 6d 74 46 4c 4b 0a 62 70 66 37 51 38 55 49 4a Hb9H/TKI8xWVvTyQKmtFLK.bpf7Q8UIJ
1b1700 6d 2b 4b 39 4c 76 39 6e 79 69 71 44 64 56 46 38 78 4d 36 48 64 6a 41 65 49 39 42 5a 7a 77 65 6c m+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwel
1b1720 47 53 75 65 77 76 46 36 4e 6b 42 69 44 6b 61 6c 34 5a 6b 51 64 55 37 68 77 78 75 2b 67 2f 47 76 GSuewvF6NkBiDkal4ZkQdU7hwxu+g/Gv
1b1740 55 67 55 0a 76 7a 6c 4e 31 4a 35 42 74 6f 2b 57 48 57 4f 57 6b 39 6d 56 42 6e 67 78 61 4a 34 33 UgU.vzlN1J5Bto+WHWOWk9mVBngxaJ43
1b1760 42 6a 75 41 69 55 56 68 4f 53 50 48 47 30 53 6a 46 65 55 63 2b 4a 49 77 75 77 49 44 41 51 41 42 BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQAB
1b1780 6f 34 48 76 4d 49 48 73 4d 42 49 47 41 31 55 64 0a 45 77 45 42 2f 77 51 49 4d 41 59 42 41 66 38 o4HvMIHsMBIGA1Ud.EwEB/wQIMAYBAf8
1b17a0 43 41 51 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1U
1b17c0 64 44 67 51 57 42 42 52 6c 7a 65 75 72 4e 52 34 41 50 6e 37 56 64 4d 41 63 74 48 4e 48 0a 44 68 dDgQWBBRlzeurNR4APn7VdMActHNH.Dh
1b17e0 70 6b 4c 7a 43 42 70 67 59 44 56 52 30 67 42 49 47 65 4d 49 47 62 4d 49 47 59 42 67 52 56 48 53 pkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHS
1b1800 41 41 4d 49 47 50 4d 43 38 47 43 43 73 47 41 51 55 46 42 77 49 42 46 69 4e 6f 64 48 52 77 4f 69 AAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi
1b1820 38 76 64 33 64 33 4c 6d 5a 70 0a 63 6d 31 68 63 48 4a 76 5a 6d 56 7a 61 57 39 75 59 57 77 75 59 8vd3d3LmZp.cm1hcHJvZmVzaW9uYWwuY
1b1840 32 39 74 4c 32 4e 77 63 7a 42 63 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 42 51 48 6b 34 41 55 29tL2NwczBcBggrBgEFBQcCAjBQHk4AU
1b1860 41 42 68 41 48 4d 41 5a 51 42 76 41 43 41 41 5a 41 42 6c 41 43 41 41 0a 62 41 42 68 41 43 41 41 ABhAHMAZQBvACAAZABlACAA.bABhACAA
1b1880 51 67 42 76 41 47 34 41 59 51 42 75 41 47 38 41 64 67 42 68 41 43 41 41 4e 41 41 33 41 43 41 41 QgBvAG4AYQBuAG8AdgBhACAANAA3ACAA
1b18a0 51 67 42 68 41 48 49 41 59 77 42 6c 41 47 77 41 62 77 42 75 41 47 45 41 49 41 41 77 41 44 67 41 QgBhAHIAYwBlAGwAbwBuAGEAIAAwADgA
1b18c0 4d 41 41 78 0a 41 44 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 MAAx.ADcwDQYJKoZIhvcNAQEFBQADggI
1b18e0 42 41 42 64 39 6f 50 6d 30 33 63 58 46 36 36 31 4c 4a 4c 57 68 41 71 76 64 70 59 68 4b 73 67 39 BABd9oPm03cXF661LJLWhAqvdpYhKsg9
1b1900 56 53 79 74 58 6a 44 76 6c 4d 64 33 2b 78 44 4c 78 0a 35 31 74 6b 6c 6a 59 79 47 4f 79 6c 4d 6e VSytXjDvlMd3+xDLx.51tkljYyGOylMn
1b1920 66 58 34 30 53 32 77 42 45 71 67 4c 6b 39 61 6d 35 38 6d 39 4f 74 2f 4d 50 57 6f 2b 5a 6b 4b 58 fX40S2wBEqgLk9am58m9Ot/MPWo+ZkKX
1b1940 7a 52 34 54 67 65 67 69 76 2f 4a 32 57 76 2b 78 59 56 78 43 35 78 68 4f 57 31 2f 2f 71 6b 0a 52 zR4Tgegiv/J2Wv+xYVxC5xhOW1//qk.R
1b1960 37 31 6b 4d 72 76 32 4a 59 53 69 4a 30 4c 31 49 4c 44 43 45 78 41 52 7a 52 41 56 75 6b 4b 51 4b 71kMrv2JYSiJ0L1ILDCExARzRAVukKQK
1b1980 74 4a 45 34 5a 59 6d 36 7a 46 49 45 76 30 71 32 73 6b 47 7a 33 51 65 71 55 76 56 68 79 6a 35 65 tJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5e
1b19a0 54 53 53 50 69 35 45 36 50 61 50 0a 54 34 38 31 50 79 57 7a 4f 64 78 6a 4b 70 42 72 49 46 2f 45 TSSPi5E6PaP.T481PyWzOdxjKpBrIF/E
1b19c0 55 68 4a 4f 6c 79 77 71 72 4a 32 58 33 6b 6a 79 6f 32 62 62 77 74 4b 44 6c 61 5a 6d 70 35 34 6c UhJOlywqrJ2X3kjyo2bbwtKDlaZmp54l
1b19e0 44 2b 6b 4c 4d 35 46 6c 43 6c 72 44 32 56 51 53 33 61 2f 44 54 67 34 66 0a 4a 6c 34 4e 33 4c 4f D+kLM5FlClrD2VQS3a/DTg4f.Jl4N3LO
1b1a00 4e 37 4e 57 42 63 4e 37 53 54 79 51 46 38 32 78 4f 39 55 78 4a 5a 6f 33 52 2f 39 49 4c 4a 55 46 N7NWBcN7STyQF82xO9UxJZo3R/9ILJUF
1b1a20 49 2f 6c 47 45 78 6b 4b 76 67 41 54 50 30 48 35 6b 53 65 54 79 33 36 4c 73 73 55 7a 41 4b 68 33 I/lGExkKvgATP0H5kSeTy36LssUzAKh3
1b1a40 6e 74 4c 46 6c 0a 6f 73 53 38 38 5a 6a 30 71 6e 41 48 59 37 53 34 32 6a 74 4d 2b 6b 41 69 4d 46 ntLFl.osS88Zj0qnAHY7S42jtM+kAiMF
1b1a60 73 52 70 76 41 46 44 73 59 43 41 30 69 72 68 70 75 46 33 64 76 64 36 71 4a 32 67 48 4e 39 39 5a sRpvAFDsYCA0irhpuF3dvd6qJ2gHN99Z
1b1a80 77 45 78 45 57 4e 35 37 6b 63 69 35 37 71 31 33 58 52 0a 63 72 48 65 64 55 54 6e 51 6e 33 69 56 wExEWN57kci57q13XR.crHedUTnQn3iV
1b1aa0 32 74 39 33 4a 6d 38 50 59 4d 6f 36 6f 43 54 6a 63 56 4d 5a 63 46 77 67 62 67 34 2f 45 4d 78 73 2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxs
1b1ac0 76 59 44 4e 45 65 79 72 50 73 69 42 73 73 65 33 52 64 48 48 46 39 6d 75 64 4d 61 6f 74 6f 52 0a vYDNEeyrPsiBsse3RdHHF9mudMaotoR.
1b1ae0 73 61 53 38 49 38 6e 6b 76 6f 66 2f 75 5a 53 32 2b 46 30 67 53 74 52 66 35 37 31 6f 65 32 58 79 saS8I8nkvof/uZS2+F0gStRf571oe2Xy
1b1b00 46 52 37 53 4f 71 6b 74 36 64 68 72 4a 4b 79 58 57 45 52 48 72 56 6b 59 38 53 46 6c 63 4e 37 4f FR7SOqkt6dhrJKyXWERHrVkY8SFlcN7O
1b1b20 4e 47 43 6f 51 50 48 7a 50 4b 54 44 0a 4b 43 4f 4d 2f 69 63 7a 51 30 43 67 46 7a 7a 72 36 6a 75 NGCoQPHzPKTD.KCOM/iczQ0CgFzzr6ju
1b1b40 77 63 71 61 6a 75 55 70 4c 58 68 5a 49 39 4c 4b 38 79 49 79 53 78 5a 32 66 72 48 49 32 76 44 53 wcqajuUpLXhZI9LK8yIySxZ2frHI2vDS
1b1b60 41 4e 47 75 70 69 35 4c 41 75 42 66 74 37 48 5a 54 39 53 51 42 6a 4c 4d 69 0a 36 45 74 38 56 63 ANGupi5LAuBft7HZT9SQBjLMi.6Et8Vc
1b1b80 61 64 2b 71 4d 55 75 32 57 46 62 6d 35 50 45 6e 34 4b 50 4a 32 56 0a 2d 2d 2d 2d 2d 45 4e 44 20 ad+qMUu2WFbm5PEn4KPJ2V.-----END.
1b1ba0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 7a 65 6e 70 65 2e 63 6f 6d 0a 3d 3d 3d CERTIFICATE-----..Izenpe.com.===
1b1bc0 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1b1be0 2d 2d 2d 0a 4d 49 49 46 38 54 43 43 41 39 6d 67 41 77 49 42 41 67 49 51 41 4c 43 33 57 68 5a 49 ---.MIIF8TCCA9mgAwIBAgIQALC3WhZI
1b1c00 58 37 2f 68 79 2f 57 4c 31 78 6e 6d 66 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 X7/hy/WL1xnmfTANBgkqhkiG9w0BAQsF
1b1c20 41 44 41 34 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 46 55 7a 45 55 4d 42 49 47 41 31 55 ADA4MQswCQYDVQQG.EwJFUzEUMBIGA1U
1b1c40 45 43 67 77 4c 53 56 70 46 54 6c 42 46 49 46 4d 75 51 53 34 78 45 7a 41 52 42 67 4e 56 42 41 4d ECgwLSVpFTlBFIFMuQS4xEzARBgNVBAM
1b1c60 4d 43 6b 6c 36 5a 57 35 77 5a 53 35 6a 62 32 30 77 48 68 63 4e 4d 44 63 78 4d 6a 45 7a 0a 4d 54 MCkl6ZW5wZS5jb20wHhcNMDcxMjEz.MT
1b1c80 4d 77 4f 44 49 34 57 68 63 4e 4d 7a 63 78 4d 6a 45 7a 4d 44 67 79 4e 7a 49 31 57 6a 41 34 4d 51 MwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQ
1b1ca0 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 45 55 4d 42 49 47 41 31 55 45 43 67 77 4c 53 56 swCQYDVQQGEwJFUzEUMBIGA1UECgwLSV
1b1cc0 70 46 54 6c 42 46 49 46 4d 75 0a 51 53 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 4d 43 6b 6c 36 5a pFTlBFIFMu.QS4xEzARBgNVBAMMCkl6Z
1b1ce0 57 35 77 5a 53 35 6a 62 32 30 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 W5wZS5jb20wggIiMA0GCSqGSIb3DQEBA
1b1d00 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4a 0a 30 33 72 4b 44 78 36 73 QUAA4ICDwAwggIKAoICAQDJ.03rKDx6s
1b1d20 70 34 62 6f 46 6d 56 71 73 63 49 62 52 54 4a 78 6c 64 6e 2b 45 46 76 4d 72 2b 65 6c 65 51 47 50 p4boFmVqscIbRTJxldn+EFvMr+eleQGP
1b1d40 69 63 50 4b 38 6c 56 78 39 33 65 2b 64 35 54 7a 63 71 51 73 52 4e 69 65 6b 70 73 55 4f 71 48 6e icPK8lVx93e+d5TzcqQsRNiekpsUOqHn
1b1d60 4a 4a 41 4b 0a 43 6c 61 4f 78 64 67 6d 6c 4f 48 5a 53 4f 45 74 50 74 6f 4b 63 74 32 6a 6d 52 58 JJAK.ClaOxdgmlOHZSOEtPtoKct2jmRX
1b1d80 61 67 61 4b 48 39 48 74 75 4a 6e 65 4a 57 4b 33 57 36 77 79 79 51 58 70 7a 62 6d 33 62 65 6e 68 agaKH9HtuJneJWK3W6wyyQXpzbm3benh
1b1da0 42 36 51 69 49 45 6e 36 48 4c 6d 59 52 59 32 78 55 0a 2b 7a 79 64 63 73 43 38 4c 76 2f 43 74 39 B6QiIEn6HLmYRY2xU.+zydcsC8Lv/Ct9
1b1dc0 30 4e 64 75 4d 36 31 2f 65 30 61 4c 36 69 39 65 4f 42 62 73 46 47 62 31 32 4e 34 45 33 47 56 46 0NduM61/e0aL6i9eOBbsFGb12N4E3GVF
1b1de0 57 4a 47 6a 4d 78 43 72 46 58 75 61 4f 4b 6d 4d 50 73 4f 7a 54 46 6c 55 46 70 66 6e 58 43 0a 50 WJGjMxCrFXuaOKmMPsOzTFlUFpfnXC.P
1b1e00 43 44 46 59 62 70 52 52 36 41 67 6b 4a 4f 68 6b 45 76 7a 54 6e 79 46 52 56 53 61 30 51 55 6d 51 CDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQ
1b1e20 62 43 31 54 52 30 7a 76 73 51 44 79 43 56 38 77 58 44 62 4f 2f 51 4a 4c 56 51 6e 53 4b 77 76 34 bC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4
1b1e40 63 53 73 50 73 6a 4c 6b 6b 78 54 0a 4f 54 63 6a 37 4e 4d 42 2b 65 41 4a 52 45 31 4e 5a 4d 44 68 cSsPsjLkkxT.OTcj7NMB+eAJRE1NZMDh
1b1e60 44 56 71 48 49 72 79 74 47 36 50 2b 4a 72 55 56 38 36 66 38 68 42 6e 70 37 4b 47 49 74 45 52 70 DVqHIrytG6P+JrUV86f8hBnp7KGItERp
1b1e80 68 49 50 7a 69 64 46 30 42 71 6e 4d 43 39 62 43 33 69 65 46 55 43 62 4b 0a 46 37 6a 4a 65 6f 64 hIPzidF0BqnMC9bC3ieFUCbK.F7jJeod
1b1ea0 57 4c 42 6f 42 48 6d 79 2b 45 36 30 51 72 4c 55 6b 39 54 69 52 6f 64 5a 4c 32 76 47 37 30 74 35 WLBoBHmy+E60QrLUk9TiRodZL2vG70t5
1b1ec0 48 74 66 47 38 67 66 5a 5a 61 38 38 5a 55 2b 6d 4e 46 63 74 4b 79 36 6c 76 52 4f 55 62 51 63 2f HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/
1b1ee0 68 68 71 66 4b 0a 30 47 71 66 76 45 79 4e 42 6a 4e 61 6f 6f 58 6c 6b 44 57 67 59 6c 77 57 54 76 hhqfK.0GqfvEyNBjNaooXlkDWgYlwWTv
1b1f00 44 6a 6f 76 6f 44 47 72 51 73 63 62 4e 59 4c 4e 35 37 43 39 73 61 44 2b 76 65 49 52 38 47 64 77 DjovoDGrQscbNYLN57C9saD+veIR8Gdw
1b1f20 59 44 73 4d 6e 76 6d 66 7a 41 75 55 38 4c 68 69 6a 2b 0a 30 72 6e 71 34 39 71 6c 77 30 64 70 45 YDsMnvmfzAuU8Lhij+.0rnq49qlw0dpE
1b1f40 75 44 62 38 50 59 5a 69 2b 31 37 63 4e 63 43 31 75 32 48 47 43 67 73 42 43 52 4d 64 2b 52 49 69 uDb8PYZi+17cNcC1u2HGCgsBCRMd+RIi
1b1f60 68 72 47 4f 35 72 55 44 38 72 36 64 64 49 42 51 46 71 4e 65 62 2b 4c 7a 30 76 50 71 68 62 42 0a hrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB.
1b1f80 6c 65 53 74 54 49 6f 2b 46 35 48 55 73 57 4c 6c 67 75 57 41 42 4b 51 44 66 6f 32 2f 32 6e 2b 69 leStTIo+F5HUsWLlguWABKQDfo2/2n+i
1b1fa0 44 35 64 50 44 4e 4d 4e 2b 39 66 52 35 58 4a 2b 48 4d 68 33 2f 31 75 61 44 37 65 75 42 55 62 6c D5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl
1b1fc0 38 61 67 57 37 45 65 6b 46 77 49 44 0a 41 51 41 42 6f 34 48 32 4d 49 48 7a 4d 49 47 77 42 67 4e 8agW7EekFwID.AQABo4H2MIHzMIGwBgN
1b1fe0 56 48 52 45 45 67 61 67 77 67 61 57 42 44 32 6c 75 5a 6d 39 41 61 58 70 6c 62 6e 42 6c 4c 6d 4e VHREEgagwgaWBD2luZm9AaXplbnBlLmN
1b2000 76 62 61 53 42 6b 54 43 42 6a 6a 46 48 4d 45 55 47 41 31 55 45 43 67 77 2b 0a 53 56 70 46 54 6c vbaSBkTCBjjFHMEUGA1UECgw+.SVpFTl
1b2020 42 46 49 46 4d 75 51 53 34 67 4c 53 42 44 53 55 59 67 51 54 41 78 4d 7a 4d 33 4d 6a 59 77 4c 56 BFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLV
1b2040 4a 4e 5a 58 4a 6a 4c 6c 5a 70 64 47 39 79 61 57 45 74 52 32 46 7a 64 47 56 70 65 69 42 55 4d 54 JNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMT
1b2060 41 31 4e 53 42 47 0a 4e 6a 49 67 55 7a 67 78 51 7a 42 42 42 67 4e 56 42 41 6b 4d 4f 6b 46 32 5a A1NSBG.NjIgUzgxQzBBBgNVBAkMOkF2Z
1b2080 47 45 67 5a 47 56 73 49 45 31 6c 5a 47 6c 30 5a 58 4a 79 59 57 35 6c 62 79 42 46 64 47 39 79 59 GEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yY
1b20a0 6d 6c 6b 5a 57 45 67 4d 54 51 67 4c 53 41 77 4d 54 41 78 0a 4d 43 42 57 61 58 52 76 63 6d 6c 68 mlkZWEgMTQgLSAwMTAx.MCBWaXRvcmlh
1b20c0 4c 55 64 68 63 33 52 6c 61 58 6f 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 LUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB
1b20e0 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f /zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
1b2100 0a 42 42 59 45 46 42 30 63 5a 51 36 6f 38 69 56 37 74 4a 48 50 35 4c 47 78 35 72 31 56 64 47 77 .BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGw
1b2120 46 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 42 34 70 67 77 FMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgw
1b2140 57 53 70 39 4d 69 44 72 41 79 77 36 6c 0a 46 6e 32 66 75 55 68 66 47 49 38 4e 59 6a 62 32 7a 52 WSp9MiDrAyw6l.Fn2fuUhfGI8NYjb2zR
1b2160 6c 72 72 4b 76 56 39 70 46 39 72 6e 48 7a 50 37 4d 4f 65 49 57 62 6c 61 51 6e 49 55 64 43 53 6e lrrKvV9pF9rnHzP7MOeIWblaQnIUdCSn
1b2180 78 49 4f 76 56 46 66 4c 4d 4d 6a 6c 46 34 72 4a 55 54 33 73 62 39 66 62 67 61 0a 6b 45 79 72 6b xIOvVFfLMMjlF4rJUT3sb9fbga.kEyrk
1b21a0 67 50 48 37 55 49 42 7a 67 2f 59 73 66 71 69 6b 75 46 67 62 61 35 36 61 77 6d 71 78 69 6e 75 61 gPH7UIBzg/YsfqikuFgba56awmqxinua
1b21c0 45 6c 6e 4d 49 41 6b 65 6a 45 57 4f 56 74 2b 38 52 77 75 33 57 77 4a 72 66 49 78 77 59 4a 4f 75 ElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOu
1b21e0 62 76 35 76 72 38 71 0a 68 54 2f 41 51 4b 4d 36 57 66 78 5a 53 7a 77 6f 4a 4e 75 30 46 58 57 75 bv5vr8q.hT/AQKM6WfxZSzwoJNu0FXWu
1b2200 44 59 69 36 4c 6e 50 41 76 56 69 48 35 55 4c 79 36 31 37 75 48 6a 41 69 6d 63 73 33 30 63 51 68 DYi6LnPAvViH5ULy617uHjAimcs30cQh
1b2220 62 49 48 73 76 6d 30 6d 35 68 7a 6b 51 69 43 65 52 37 43 73 0a 67 31 6c 77 4c 44 58 57 72 7a 59 bIHsvm0m5hzkQiCeR7Cs.g1lwLDXWrzY
1b2240 30 74 4d 30 37 2b 44 4b 6f 37 2b 4e 34 69 66 75 4e 52 53 7a 61 6e 4c 68 2b 51 42 78 68 35 7a 36 0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6
1b2260 69 6b 69 78 4c 38 73 33 36 6d 4c 59 70 2f 2f 50 79 65 36 6b 66 4c 71 43 54 56 79 76 65 68 51 50 ikixL8s36mLYp//Pye6kfLqCTVyvehQP
1b2280 35 0a 61 54 66 4c 6e 6e 68 71 42 62 54 46 4d 58 69 4a 37 48 71 6e 68 65 47 35 65 7a 7a 65 76 68 5.aTfLnnhqBbTFMXiJ7HqnheG5ezzevh
1b22a0 35 35 68 4d 36 66 63 41 35 5a 77 6a 55 75 6b 43 6f 78 32 65 52 46 65 6b 47 6b 4c 68 4f 62 4e 41 55hM6fcA5ZwjUukCox2eRFekGkLhObNA
1b22c0 35 6d 65 30 6d 72 5a 4a 66 51 52 73 4e 35 0a 6e 58 4a 51 59 36 61 59 57 77 61 39 53 47 33 59 4f 5me0mrZJfQRsN5.nXJQY6aYWwa9SG3YO
1b22e0 59 4e 77 36 44 58 77 42 64 47 71 76 4f 50 62 79 41 4c 71 66 50 32 43 32 73 4a 62 55 6a 57 75 6d YNw6DXwBdGqvOPbyALqfP2C2sJbUjWum
1b2300 44 71 74 75 6a 57 54 49 36 63 66 53 4e 30 31 52 70 69 79 45 47 6a 6b 70 54 48 43 0a 43 6c 67 75 DqtujWTI6cfSN01RpiyEGjkpTHC.Clgu
1b2320 47 59 45 51 79 56 42 31 2f 4f 70 61 46 73 34 52 31 2b 37 76 55 49 67 74 59 66 38 2f 51 6e 4d 46 GYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMF
1b2340 6c 45 50 56 6a 6a 78 4f 41 54 6f 5a 70 52 39 47 54 6e 66 51 58 65 57 42 49 69 47 48 2f 70 52 39 lEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9
1b2360 68 4e 69 54 72 64 5a 6f 0a 51 30 69 79 32 2b 74 7a 4a 4f 65 52 66 31 53 6b 74 6f 41 2b 6e 61 4d hNiTrdZo.Q0iy2+tzJOeRf1SktoA+naM
1b2380 38 54 48 4c 43 56 38 53 67 31 4d 77 34 4a 38 37 56 42 70 36 69 53 4e 6e 70 6e 38 36 43 63 44 61 8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDa
1b23a0 54 6d 6a 76 66 6c 69 48 6a 57 62 63 4d 32 70 45 33 38 50 31 5a 0a 57 72 4f 5a 79 47 6c 73 51 79 TmjvfliHjWbcM2pE38P1Z.WrOZyGlsQy
1b23c0 59 42 4e 57 4e 67 56 59 6b 44 4f 6e 58 59 75 6b 72 5a 56 50 2f 75 33 6f 44 59 4c 64 45 34 31 56 YBNWNgVYkDOnXYukrZVP/u3oDYLdE41V
1b23e0 34 74 43 35 68 39 50 6d 7a 62 2f 43 61 49 78 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 4tC5h9Pmzb/CaIxw==.-----END.CERT
1b2400 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 68 61 6d 62 65 72 73 20 6f 66 20 43 6f 6d 6d 65 72 IFICATE-----..Chambers.of.Commer
1b2420 63 65 20 52 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ce.Root.-.2008.=================
1b2440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1b2460 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 54 7a 43 43 42 54 65 67 41 77 49 42 41 67 49 4a FICATE-----.MIIHTzCCBTegAwIBAgIJ
1b2480 41 4b 50 61 51 6e 36 6b 73 61 37 61 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 AKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUA
1b24a0 4d 49 47 75 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 0a 4d 45 45 47 41 31 55 MIGuMQswCQYDVQQGEwJFVTFD.MEEGA1U
1b24c0 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 56 79 63 6d 56 75 64 43 42 EBxM6TWFkcmlkIChzZWUgY3VycmVudCB
1b24e0 68 5a 47 52 79 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 hZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1
1b2500 68 4c 6d 4e 76 0a 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 hLmNv.bS9hZGRyZXNzKTESMBAGA1UEBR
1b2520 4d 4a 51 54 67 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 MJQTgyNzQzMjg3MRswGQYDVQQKExJBQy
1b2540 42 44 59 57 31 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 4b 54 41 6e 42 67 4e 56 42 BDYW1lcmZpcm1hIFMu.QS4xKTAnBgNVB
1b2560 41 4d 54 49 45 4e 6f 59 57 31 69 5a 58 4a 7a 49 47 39 6d 49 45 4e 76 62 57 31 6c 63 6d 4e 6c 49 AMTIENoYW1iZXJzIG9mIENvbW1lcmNlI
1b2580 46 4a 76 62 33 51 67 4c 53 41 79 4d 44 41 34 4d 42 34 58 44 54 41 34 4d 44 67 77 4d 54 45 79 0a FJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy.
1b25a0 4d 6a 6b 31 4d 46 6f 58 44 54 4d 34 4d 44 63 7a 4d 54 45 79 4d 6a 6b 31 4d 46 6f 77 67 61 34 78 Mjk1MFoXDTM4MDczMTEyMjk1MFowga4x
1b25c0 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 44 56 51 51 48 45 7a 70 4e CzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN
1b25e0 59 57 52 79 61 57 51 67 4b 48 4e 6c 0a 5a 53 42 6a 64 58 4a 79 5a 57 35 30 49 47 46 6b 5a 48 4a YWRyaWQgKHNl.ZSBjdXJyZW50IGFkZHJ
1b2600 6c 63 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 62 57 56 79 5a 6d 6c 79 62 57 45 75 59 32 39 lc3MgYXQgd3d3LmNhbWVyZmlybWEuY29
1b2620 74 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 51 46 0a 45 77 6c 42 4f 44 tL2FkZHJlc3MpMRIwEAYDVQQF.EwlBOD
1b2640 49 33 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 6b 46 44 49 45 4e 68 62 57 I3NDMyODcxGzAZBgNVBAoTEkFDIENhbW
1b2660 56 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 31 55 45 41 78 4d 67 51 32 VyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2
1b2680 68 68 62 57 4a 6c 0a 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 59 32 55 67 55 6d 39 76 64 hhbWJl.cnMgb2YgQ29tbWVyY2UgUm9vd
1b26a0 43 41 74 49 44 49 77 4d 44 67 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 CAtIDIwMDgwggIiMA0GCSqGSIb3DQEBA
1b26c0 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 0a 41 51 43 76 41 4d 74 77 4e 79 75 41 QUAA4ICDwAwggIKAoIC.AQCvAMtwNyuA
1b26e0 57 6b 6f 36 62 48 69 55 66 61 4e 2f 47 68 2f 32 4e 64 57 39 32 38 73 4e 52 48 49 2b 4a 72 4b 51 Wko6bHiUfaN/Gh/2NdW928sNRHI+JrKQ
1b2700 55 72 70 6a 4f 79 68 59 62 36 57 7a 62 5a 53 6d 38 39 31 6b 44 46 58 32 39 75 66 79 49 69 4b 41 UrpjOyhYb6WzbZSm891kDFX29ufyIiKA
1b2720 0a 58 75 46 69 78 72 59 70 34 59 46 73 38 72 2f 6c 66 54 4a 71 56 4b 41 79 47 56 6e 2b 48 34 76 .XuFixrYp4YFs8r/lfTJqVKAyGVn+H4v
1b2740 58 50 57 43 47 68 53 52 76 34 78 47 7a 64 7a 34 67 6c 6a 55 68 61 37 4d 49 32 58 41 75 5a 50 65 XPWCGhSRv4xGzdz4gljUha7MI2XAuZPe
1b2760 45 6b 6c 50 57 44 72 43 51 69 6f 72 6a 0a 68 34 30 47 30 37 32 51 44 75 4b 5a 6f 52 75 47 44 74 EklPWDrCQiorj.h40G072QDuKZoRuGDt
1b2780 71 61 43 72 73 4c 59 56 41 47 55 76 47 65 66 33 62 73 79 77 2f 51 48 67 33 50 6d 54 41 39 48 4d qaCrsLYVAGUvGef3bsyw/QHg3PmTA9HM
1b27a0 52 46 45 46 69 73 31 74 50 6f 31 2b 58 71 78 51 45 48 64 39 5a 52 35 67 4e 2f 0a 69 6b 69 6c 54 RFEFis1tPo1+XqxQEHd9ZR5gN/.ikilT
1b27c0 57 68 31 75 65 6d 38 6e 6b 34 5a 63 66 55 79 53 35 78 74 59 42 6b 4c 2b 38 79 64 64 64 79 2f 4a Wh1uem8nk4ZcfUyS5xtYBkL+8ydddy/J
1b27e0 73 32 50 6b 33 67 35 65 58 4e 65 4a 51 37 4b 58 4f 74 33 45 67 66 4c 5a 45 46 48 63 70 4f 72 55 s2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrU
1b2800 4d 50 72 43 58 5a 6b 0a 4e 4e 49 35 74 33 59 52 43 51 31 32 52 63 53 70 72 6a 31 71 72 37 56 39 MPrCXZk.NNI5t3YRCQ12RcSprj1qr7V9
1b2820 5a 53 2b 55 57 42 44 73 58 48 79 76 66 75 4b 32 47 4e 6e 51 6d 30 35 61 53 64 2b 70 5a 67 76 4d ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvM
1b2840 50 4d 5a 34 66 4b 65 63 48 65 50 4f 6a 6c 4f 2b 42 64 35 67 0a 44 32 76 6c 47 74 73 2f 34 2b 45 PMZ4fKecHePOjlO+Bd5g.D2vlGts/4+E
1b2860 68 79 53 6e 42 38 65 73 48 6e 46 49 62 41 55 52 52 50 48 73 6c 31 38 54 6c 55 6c 52 64 4a 51 66 hySnB8esHnFIbAURRPHsl18TlUlRdJQf
1b2880 4b 46 69 43 34 72 65 52 42 37 6e 6f 49 2f 70 6c 76 67 36 61 52 41 72 42 73 4e 6c 56 71 35 33 33 KFiC4reRB7noI/plvg6aRArBsNlVq533
1b28a0 31 0a 6c 75 62 4b 67 64 61 58 38 5a 53 44 36 65 32 77 73 57 73 53 61 52 36 73 2b 31 32 70 78 5a 1.lubKgdaX8ZSD6e2wsWsSaR6s+12pxZ
1b28c0 6a 70 74 46 74 59 65 72 34 39 6f 6b 51 36 59 31 6e 55 43 79 58 65 47 30 2b 39 35 51 47 65 7a 64 jptFtYer49okQ6Y1nUCyXeG0+95QGezd
1b28e0 49 70 31 5a 38 58 47 51 70 76 76 77 79 51 0a 30 77 6c 66 32 65 4f 4b 4e 63 78 35 57 6b 30 5a 4e Ip1Z8XGQpvvwyQ.0wlf2eOKNcx5Wk0ZN
1b2900 35 4b 33 78 4d 47 74 72 2f 52 35 4a 4a 71 79 41 51 75 78 72 31 79 57 38 34 41 79 2b 31 77 39 6d 5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9m
1b2920 50 47 67 50 30 72 65 76 71 2b 55 4c 74 6c 56 6d 68 64 75 59 4a 31 6a 62 4c 68 6a 0a 79 61 36 42 PGgP0revq+ULtlVmhduYJ1jbLhj.ya6B
1b2940 58 42 67 31 34 4a 43 37 76 6a 78 50 4e 79 4b 35 66 75 76 50 6e 6e 63 68 70 6a 30 34 67 66 74 49 XBg14JC7vjxPNyK5fuvPnnchpj04gftI
1b2960 32 6a 45 39 4b 2b 4f 4a 39 64 43 31 76 58 37 67 55 4d 51 53 69 62 4d 6a 6d 68 41 78 68 64 75 75 2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduu
1b2980 62 2b 38 34 4d 78 68 32 0a 45 51 49 44 41 51 41 42 6f 34 49 42 62 44 43 43 41 57 67 77 45 67 59 b+84Mxh2.EQIDAQABo4IBbDCCAWgwEgY
1b29a0 44 56 52 30 54 41 51 48 2f 42 41 67 77 42 67 45 42 2f 77 49 42 44 44 41 64 42 67 4e 56 48 51 34 DVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4
1b29c0 45 46 67 51 55 2b 53 53 73 44 37 4b 31 2b 48 6e 41 2b 6d 43 49 0a 47 38 54 5a 54 51 4b 65 46 78 EFgQU+SSsD7K1+HnA+mCI.G8TZTQKeFx
1b29e0 6b 77 67 65 4d 47 41 31 55 64 49 77 53 42 32 7a 43 42 32 49 41 55 2b 53 53 73 44 37 4b 31 2b 48 kwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+H
1b2a00 6e 41 2b 6d 43 49 47 38 54 5a 54 51 4b 65 46 78 6d 68 67 62 53 6b 67 62 45 77 67 61 34 78 43 7a nA+mCIG8TZTQKeFxmhgbSkgbEwga4xCz
1b2a20 41 4a 0a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 44 56 51 51 48 45 7a 70 4e 59 AJ.BgNVBAYTAkVVMUMwQQYDVQQHEzpNY
1b2a40 57 52 79 61 57 51 67 4b 48 4e 6c 5a 53 42 6a 64 58 4a 79 5a 57 35 30 49 47 46 6b 5a 48 4a 6c 63 WRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc
1b2a60 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 0a 62 57 56 79 5a 6d 6c 79 62 57 45 75 59 32 39 74 3MgYXQgd3d3LmNh.bWVyZmlybWEuY29t
1b2a80 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 51 46 45 77 6c 42 4f 44 49 33 L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3
1b2aa0 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 6b 46 44 49 45 4e 68 0a 62 57 56 NDMyODcxGzAZBgNVBAoTEkFDIENh.bWV
1b2ac0 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 31 55 45 41 78 4d 67 51 32 68 yZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2h
1b2ae0 68 62 57 4a 6c 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 59 32 55 67 55 6d 39 76 64 43 41 hbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCA
1b2b00 74 49 44 49 77 4d 44 69 43 0a 43 51 43 6a 32 6b 4a 2b 70 4c 47 75 32 6a 41 4f 42 67 4e 56 48 51 tIDIwMDiC.CQCj2kJ+pLGu2jAOBgNVHQ
1b2b20 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 50 51 59 44 56 52 30 67 42 44 59 77 4e 44 41 79 42 67 8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBg
1b2b40 52 56 48 53 41 41 4d 43 6f 77 4b 41 59 49 4b 77 59 42 42 51 55 48 0a 41 67 45 57 48 47 68 30 64 RVHSAAMCowKAYIKwYBBQUH.AgEWHGh0d
1b2b60 48 41 36 4c 79 39 77 62 32 78 70 59 33 6b 75 59 32 46 74 5a 58 4a 6d 61 58 4a 74 59 53 35 6a 62 HA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb
1b2b80 32 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 4a 41 53 72 20wDQYJKoZIhvcNAQEFBQADggIBAJASr
1b2ba0 79 49 31 0a 77 71 4d 35 38 43 37 65 36 62 58 70 65 48 78 49 76 6a 39 39 52 5a 4a 65 36 64 71 78 yI1.wqM58C7e6bXpeHxIvj99RZJe6dqx
1b2bc0 47 66 77 57 50 4a 2b 30 57 32 61 65 61 75 66 44 75 56 32 49 36 41 2b 74 7a 79 4d 50 33 69 55 36 GfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6
1b2be0 58 73 78 50 70 63 47 31 4c 61 77 6b 30 6c 67 48 0a 33 71 4c 50 61 59 52 67 4d 2b 67 51 44 52 4f XsxPpcG1Lawk0lgH.3qLPaYRgM+gQDRO
1b2c00 70 49 39 43 46 35 59 35 37 70 70 34 39 63 68 4e 79 4d 2f 57 71 66 63 5a 6a 48 77 6a 30 2f 67 46 pI9CF5Y57pp49chNyM/WqfcZjHwj0/gF
1b2c20 2f 4a 4d 38 72 4c 46 51 4a 33 75 49 72 62 5a 4c 47 4f 55 38 57 36 6a 78 2b 65 6b 62 55 0a 52 57 /JM8rLFQJ3uIrbZLGOU8W6jx+ekbU.RW
1b2c40 70 47 71 4f 74 31 67 6c 61 6e 71 36 42 38 61 42 4d 7a 39 70 30 77 38 47 38 6e 4f 53 51 6a 4b 70 pGqOt1glanq6B8aBMz9p0w8G8nOSQjKp
1b2c60 44 39 6b 43 6b 31 38 70 50 66 4e 4b 58 47 39 2f 6a 76 6a 41 39 69 53 6e 79 75 30 2f 56 55 2b 49 D9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I
1b2c80 32 32 6d 6c 61 48 46 6f 49 36 0a 4d 36 74 61 49 67 6a 33 67 72 72 71 4c 75 42 48 6d 72 53 31 52 22mlaHFoI6.M6taIgj3grrqLuBHmrS1R
1b2ca0 61 4d 46 4f 39 6e 63 4c 6b 56 41 4f 2b 72 63 66 2b 67 37 36 39 48 73 4a 74 67 31 70 44 44 46 4f aMFO9ncLkVAO+rcf+g769HsJtg1pDDFO
1b2cc0 71 78 58 6e 72 4e 32 70 53 42 37 2b 52 35 4b 42 57 49 42 70 69 68 31 0a 59 4a 65 53 44 57 34 2b qxXnrN2pSB7+R5KBWIBpih1.YJeSDW4+
1b2ce0 54 54 64 44 44 5a 49 56 6e 42 67 69 7a 56 47 5a 6f 43 6b 61 50 46 2b 4b 4d 6a 4e 62 4d 4d 65 4a TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJ
1b2d00 4c 30 65 59 44 36 4d 44 78 76 62 78 72 4e 38 79 38 4e 6d 42 47 75 53 63 76 66 61 41 46 50 44 52 L0eYD6MDxvbxrN8y8NmBGuScvfaAFPDR
1b2d20 4c 4c 6d 46 0a 39 64 69 6a 73 63 69 6c 49 65 55 63 45 35 66 75 44 72 33 66 4b 61 6e 76 4e 46 4e LLmF.9dijscilIeUcE5fuDr3fKanvNFN
1b2d40 62 30 2b 52 71 45 34 51 47 74 6a 49 43 78 46 4b 75 49 74 4c 63 73 69 46 43 47 74 70 41 38 43 6e b0+RqE4QGtjICxFKuItLcsiFCGtpA8Cn
1b2d60 4a 37 41 6f 4d 58 4f 4c 51 75 73 78 49 30 7a 63 4b 0a 7a 42 49 4b 69 6e 6d 77 50 51 4e 2f 61 55 J7AoMXOLQusxI0zcK.zBIKinmwPQN/aU
1b2d80 76 30 4e 43 42 39 73 7a 54 71 6a 6b 74 6b 39 54 37 39 73 79 4e 6e 46 51 30 45 75 50 41 74 77 51 v0NCB9szTqjktk9T79syNnFQ0EuPAtwQ
1b2da0 6c 52 50 4c 4a 73 46 66 43 6c 49 39 65 44 64 4f 54 6c 4c 73 6e 2b 6d 43 64 43 78 71 76 47 0a 6e lRPLJsFfClI9eDdOTlLsn+mCdCxqvG.n
1b2dc0 72 44 51 57 7a 69 6c 6d 31 44 65 66 68 69 59 74 55 55 37 39 6e 6d 30 36 50 63 61 65 77 61 44 2b rDQWzilm1DefhiYtUU79nm06PcaewaD+
1b2de0 39 43 4c 32 72 76 48 76 52 69 72 43 47 38 38 67 47 74 41 50 78 6b 5a 75 6d 57 4b 35 72 37 56 58 9CL2rvHvRirCG88gGtAPxkZumWK5r7VX
1b2e00 4e 4d 32 31 2b 39 41 55 69 52 67 0a 4f 47 63 45 4d 65 79 50 38 34 4c 47 33 72 6c 56 38 7a 73 78 NM21+9AUiRg.OGcEMeyP84LG3rlV8zsx
1b2e20 6b 56 72 63 74 51 67 56 72 58 59 6c 43 67 31 37 4c 6f 66 69 44 4b 59 47 76 43 59 51 62 54 65 64 kVrctQgVrXYlCg17LofiDKYGvCYQbTed
1b2e40 37 4e 31 34 6a 48 79 41 78 66 44 5a 64 30 6a 51 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 7N14jHyAxfDZd0jQ.-----END.CERTIF
1b2e60 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 20 43 68 61 6d 62 65 72 73 69 67 6e 20 52 ICATE-----..Global.Chambersign.R
1b2e80 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d oot.-.2008.=====================
1b2ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1b2ec0 2d 2d 2d 2d 2d 0a 4d 49 49 48 53 54 43 43 42 54 47 67 41 77 49 42 41 67 49 4a 41 4d 6e 4e 30 2b -----.MIIHSTCCBTGgAwIBAgIJAMnN0+
1b2ee0 6e 56 66 53 50 4f 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 49 47 73 4d 51 nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQ
1b2f00 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 0a 4d 45 45 47 41 31 55 45 42 78 4d 36 54 swCQYDVQQGEwJFVTFD.MEEGA1UEBxM6T
1b2f20 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 56 79 63 6d 56 75 64 43 42 68 5a 47 52 79 5a WFkcmlkIChzZWUgY3VycmVudCBhZGRyZ
1b2f40 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e 76 0a XNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv.
1b2f60 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 4d 4a 51 54 67 79 bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgy
1b2f80 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 42 44 59 57 31 6c NzQzMjg3MRswGQYDVQQKExJBQyBDYW1l
1b2fa0 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 64 cmZpcm1hIFMu.QS4xJzAlBgNVBAMTHkd
1b2fc0 73 62 32 4a 68 62 43 42 44 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 42 53 62 32 39 30 49 43 30 sb2JhbCBDaGFtYmVyc2lnbiBSb290IC0
1b2fe0 67 4d 6a 41 77 4f 44 41 65 46 77 30 77 4f 44 41 34 4d 44 45 78 4d 6a 4d 78 0a 4e 44 42 61 46 77 gMjAwODAeFw0wODA4MDExMjMx.NDBaFw
1b3000 30 7a 4f 44 41 33 4d 7a 45 78 4d 6a 4d 78 4e 44 42 61 4d 49 47 73 4d 51 73 77 43 51 59 44 56 51 0zODA3MzExMjMxNDBaMIGsMQswCQYDVQ
1b3020 51 47 45 77 4a 46 56 54 46 44 4d 45 45 47 41 31 55 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b 49 43 QGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIC
1b3040 68 7a 5a 57 55 67 0a 59 33 56 79 63 6d 56 75 64 43 42 68 5a 47 52 79 5a 58 4e 7a 49 47 46 30 49 hzZWUg.Y3VycmVudCBhZGRyZXNzIGF0I
1b3060 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e 76 62 53 39 68 5a 47 52 79 5a Hd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZ
1b3080 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 4d 4a 0a 51 54 67 79 4e 7a 51 7a 4d 6a 67 33 XNzKTESMBAGA1UEBRMJ.QTgyNzQzMjg3
1b30a0 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 42 44 59 57 31 6c 63 6d 5a 70 63 6d 31 68 MRswGQYDVQQKExJBQyBDYW1lcmZpcm1h
1b30c0 49 46 4d 75 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 64 73 62 32 4a 68 62 43 42 44 IFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
1b30e0 0a 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 42 53 62 32 39 30 49 43 30 67 4d 6a 41 77 4f 44 43 .aGFtYmVyc2lnbiBSb290IC0gMjAwODC
1b3100 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 CAiIwDQYJKoZIhvcNAQEBBQADggIPADC
1b3120 43 41 67 6f 43 67 67 49 42 41 4d 44 66 0a 56 74 50 6b 4f 70 74 32 52 62 51 54 32 2f 2f 42 74 68 CAgoCggIBAMDf.VtPkOpt2RbQT2//Bth
1b3140 6d 4c 4e 30 45 59 6c 56 4a 48 36 78 65 64 4b 59 69 4f 4e 57 77 47 4d 69 35 48 59 76 4e 4a 42 4c mLN0EYlVJH6xedKYiONWwGMi5HYvNJBL
1b3160 39 39 52 44 61 78 63 63 79 39 57 67 6c 7a 31 64 6d 46 52 50 2b 52 56 79 58 66 0a 58 6a 61 4f 63 99RDaxccy9Wglz1dmFRP+RVyXf.XjaOc
1b3180 4e 46 63 63 55 4d 64 32 64 72 76 58 4e 4c 37 47 37 30 36 74 63 75 74 6f 38 78 45 70 77 32 75 49 NFccUMd2drvXNL7G706tcuto8xEpw2uI
1b31a0 52 55 2f 75 58 70 62 6b 6e 58 59 70 42 49 34 69 52 6d 4b 74 34 44 53 34 6a 4a 76 56 70 79 52 31 RU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1
1b31c0 6f 67 51 43 37 4e 30 0a 5a 4a 4a 30 59 50 50 32 7a 78 68 50 59 4c 49 6a 30 4d 63 37 7a 6d 46 4c ogQC7N0.ZJJ0YPP2zxhPYLIj0Mc7zmFL
1b31e0 6d 59 2f 43 44 4e 42 41 73 70 6a 63 44 61 68 4f 6f 37 6b 4b 72 6d 43 67 72 55 56 53 59 37 70 6d mY/CDNBAspjcDahOo7kKrmCgrUVSY7pm
1b3200 76 57 6a 67 2b 62 34 61 71 49 47 37 48 6b 46 34 64 64 50 42 0a 2f 67 42 56 73 49 64 55 36 43 65 vWjg+b4aqIG7HkF4ddPB./gBVsIdU6Ce
1b3220 51 4e 52 31 4d 4d 36 32 58 2f 4a 63 75 6d 49 53 2f 4c 4d 6d 6a 76 39 47 59 45 52 54 74 59 2f 6a QNR1MM62X/JcumIS/LMmjv9GYERTtY/j
1b3240 4b 6d 49 68 59 46 35 6e 74 52 51 4f 58 66 6a 79 47 48 6f 69 4d 76 76 4b 52 68 49 39 6c 4e 4e 67 KmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNg
1b3260 41 0a 54 48 32 33 4d 52 64 61 4b 58 6f 4b 47 43 51 77 6f 7a 65 31 65 71 6b 42 66 53 62 57 2b 51 A.TH23MRdaKXoKGCQwoze1eqkBfSbW+Q
1b3280 36 4f 57 66 48 39 47 7a 4f 31 4b 54 73 58 4f 30 47 32 49 64 33 55 77 44 32 6c 6e 35 38 66 51 31 6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1
1b32a0 44 4a 75 37 78 73 65 70 65 59 37 73 32 4d 0a 48 2f 75 63 55 61 36 4c 63 4c 30 6e 6e 33 48 41 61 DJu7xsepeY7s2M.H/ucUa6LcL0nn3HAa
1b32c0 36 78 39 6b 47 62 6f 31 31 30 36 44 62 44 56 77 6f 33 56 79 4a 32 64 77 57 33 51 30 4c 39 52 35 6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5
1b32e0 4f 50 34 77 7a 67 32 72 74 61 6e 64 65 61 76 68 45 4e 64 6b 35 49 4d 61 67 66 65 0a 4f 78 32 59 OP4wzg2rtandeavhENdk5IMagfe.Ox2Y
1b3300 49 74 61 73 77 54 58 62 6f 36 41 6c 2f 33 4b 31 64 68 33 65 62 65 6b 73 5a 69 78 53 68 4e 42 46 ItaswTXbo6Al/3K1dh3ebeksZixShNBF
1b3320 6b 73 34 63 35 65 55 7a 48 64 77 48 55 31 53 6a 71 6f 49 37 6d 6a 63 76 33 4e 32 67 5a 4f 6e 6d ks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm
1b3340 33 62 32 75 2f 47 53 46 0a 48 54 79 6e 79 51 62 65 68 50 39 72 36 47 73 61 50 4d 57 69 73 30 4c 3b2u/GSF.HTynyQbehP9r6GsaPMWis0L
1b3360 37 69 77 6b 2b 58 77 68 53 78 32 4c 45 31 41 56 78 76 38 52 6b 35 50 69 68 67 2b 67 2b 45 70 75 7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+Epu
1b3380 6f 48 74 51 32 54 53 39 78 39 6f 30 6f 39 6f 4f 70 45 39 4a 68 0a 77 5a 47 37 53 4d 41 30 6a 30 oHtQ2TS9x9o0o9oOpE9Jh.wZG7SMA0j0
1b33a0 47 4d 53 30 7a 62 61 52 4c 2f 55 4a 53 63 49 49 4e 5a 63 2b 31 38 6f 66 4c 78 2f 64 33 33 53 64 GMS0zbaRL/UJScIINZc+18ofLx/d33Sd
1b33c0 4e 44 57 4b 42 57 59 38 6f 39 50 65 55 31 56 6c 6e 70 44 73 6f 67 7a 43 74 4c 6b 79 6b 50 41 67 NDWKBWY8o9PeU1VlnpDsogzCtLkykPAg
1b33e0 4d 42 0a 41 41 47 6a 67 67 46 71 4d 49 49 42 5a 6a 41 53 42 67 4e 56 48 52 4d 42 41 66 38 45 43 MB.AAGjggFqMIIBZjASBgNVHRMBAf8EC
1b3400 44 41 47 41 51 48 2f 41 67 45 4d 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 35 43 63 71 63 48 DAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcH
1b3420 74 76 54 62 44 70 72 72 75 31 55 38 56 75 54 0a 42 6a 55 75 58 6a 43 42 34 51 59 44 56 52 30 6a tvTbDprru1U8VuT.BjUuXjCB4QYDVR0j
1b3440 42 49 48 5a 4d 49 48 57 67 42 53 35 43 63 71 63 48 74 76 54 62 44 70 72 72 75 31 55 38 56 75 54 BIHZMIHWgBS5CcqcHtvTbDprru1U8VuT
1b3460 42 6a 55 75 58 71 47 42 73 71 53 42 72 7a 43 42 72 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d BjUuXqGBsqSBrzCBrDELMAkGA1UE.BhM
1b3480 43 52 56 55 78 51 7a 42 42 42 67 4e 56 42 41 63 54 4f 6b 31 68 5a 48 4a 70 5a 43 41 6f 63 32 56 CRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2V
1b34a0 6c 49 47 4e 31 63 6e 4a 6c 62 6e 51 67 59 57 52 6b 63 6d 56 7a 63 79 42 68 64 43 42 33 64 33 63 lIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3c
1b34c0 75 59 32 46 74 5a 58 4a 6d 0a 61 58 4a 74 59 53 35 6a 62 32 30 76 59 57 52 6b 63 6d 56 7a 63 79 uY2FtZXJm.aXJtYS5jb20vYWRkcmVzcy
1b34e0 6b 78 45 6a 41 51 42 67 4e 56 42 41 55 54 43 55 45 34 4d 6a 63 30 4d 7a 49 34 4e 7a 45 62 4d 42 kxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMB
1b3500 6b 47 41 31 55 45 43 68 4d 53 51 55 4d 67 51 32 46 74 5a 58 4a 6d 0a 61 58 4a 74 59 53 42 54 4c kGA1UEChMSQUMgQ2FtZXJm.aXJtYSBTL
1b3520 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 48 62 47 39 69 59 57 77 67 51 32 68 68 62 kEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhb
1b3540 57 4a 6c 63 6e 4e 70 5a 32 34 67 55 6d 39 76 64 43 41 74 49 44 49 77 4d 44 69 43 43 51 44 4a 7a WJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJz
1b3560 64 50 70 0a 31 58 30 6a 7a 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 dPp.1X0jzjAOBgNVHQ8BAf8EBAMCAQYw
1b3580 50 51 59 44 56 52 30 67 42 44 59 77 4e 44 41 79 42 67 52 56 48 53 41 41 4d 43 6f 77 4b 41 59 49 PQYDVR0gBDYwNDAyBgRVHSAAMCowKAYI
1b35a0 4b 77 59 42 42 51 55 48 41 67 45 57 48 47 68 30 0a 64 48 41 36 4c 79 39 77 62 32 78 70 59 33 6b KwYBBQUHAgEWHGh0.dHA6Ly9wb2xpY3k
1b35c0 75 59 32 46 74 5a 58 4a 6d 61 58 4a 74 59 53 35 6a 62 32 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 uY2FtZXJmaXJtYS5jb20wDQYJKoZIhvc
1b35e0 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 49 43 49 66 33 44 65 6b 69 6a 5a 42 5a 52 47 0a 2f 35 NAQEFBQADggIBAICIf3DekijZBZRG./5
1b3600 42 58 71 66 45 76 33 78 6f 4e 61 2f 70 38 44 68 78 4a 4a 48 6b 6e 32 45 61 71 62 79 6c 5a 55 6f BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUo
1b3620 68 77 45 75 72 64 50 66 57 62 55 31 52 76 34 57 43 69 71 41 6d 35 37 4f 74 5a 66 4d 59 31 38 64 hwEurdPfWbU1Rv4WCiqAm57OtZfMY18d
1b3640 77 59 36 66 46 6e 35 61 2b 36 0a 52 65 41 4a 33 73 70 45 44 38 49 58 44 6e 65 52 52 58 6f 7a 58 wY6fFn5a+6.ReAJ3spED8IXDneRRXozX
1b3660 31 2b 57 4c 47 69 4c 77 55 65 50 6d 4a 73 39 77 4f 7a 4c 39 64 57 43 6b 6f 51 31 30 62 34 32 4f 1+WLGiLwUePmJs9wOzL9dWCkoQ10b42O
1b3680 46 5a 79 4d 56 74 48 4c 61 6f 58 70 47 4e 52 36 77 6f 42 72 58 2f 73 0a 64 5a 37 4c 6f 52 2f 78 FZyMVtHLaoXpGNR6woBrX/s.dZ7LoR/x
1b36a0 66 78 4b 78 75 65 52 6b 66 32 66 57 49 79 72 30 75 44 6c 64 6d 4f 67 68 70 2b 47 39 50 55 49 61 fxKxueRkf2fWIyr0uDldmOghp+G9PUIa
1b36c0 64 4a 70 77 72 32 68 73 55 46 31 4a 7a 2f 2f 37 44 6c 33 6d 4c 45 66 58 67 54 70 5a 41 4c 56 7a dJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz
1b36e0 61 32 4d 67 0a 39 6a 46 46 43 44 6b 4f 39 48 42 2b 51 48 42 61 50 39 42 72 51 71 6c 30 50 53 67 a2Mg.9jFFCDkO9HB+QHBaP9BrQql0PSg
1b3700 76 41 6d 31 31 63 70 55 4a 6a 55 68 6a 78 73 59 6a 56 35 4b 54 58 6a 58 42 6a 66 6b 4b 39 79 79 vAm11cpUJjUhjxsYjV5KTXjXBjfkK9yy
1b3720 64 59 68 7a 32 72 58 7a 64 70 6a 45 65 74 72 48 48 0a 66 6f 55 6d 2b 71 52 71 74 64 70 6a 4d 4e dYhz2rXzdpjEetrHH.foUm+qRqtdpjMN
1b3740 48 76 6b 7a 65 79 5a 69 39 39 42 66 66 6e 74 30 75 59 6c 44 58 41 32 54 6f 70 77 5a 32 79 55 44 HvkzeyZi99Bffnt0uYlDXA2TopwZ2yUD
1b3760 4d 64 53 71 6c 61 70 73 6b 44 37 2b 33 30 35 36 68 75 69 72 52 58 68 4f 75 6b 50 39 44 75 0a 71 MdSqlapskD7+3056huirRXhOukP9Du.q
1b3780 71 71 48 57 32 50 6f 6b 2b 4a 72 71 4e 53 34 63 6e 68 72 47 2b 30 35 35 46 33 4c 6d 36 71 48 31 qqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1
1b37a0 55 39 4f 41 50 37 5a 61 70 38 38 4d 51 38 6f 41 67 46 39 6d 4f 69 6e 73 4b 4a 6b 6e 6e 6e 34 53 U9OAP7Zap88MQ8oAgF9mOinsKJknnn4S
1b37c0 50 49 56 71 63 7a 6d 79 45 54 72 0a 50 33 69 5a 38 6e 74 78 50 6a 7a 78 6d 4b 66 46 47 42 49 2f PIVqczmyETr.P3iZ8ntxPjzxmKfFGBI/
1b37e0 35 72 73 6f 4d 30 4c 70 52 51 70 38 62 66 4b 47 65 53 2f 46 67 68 6c 39 43 59 6c 38 73 6c 52 32 5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2
1b3800 69 4b 37 65 77 66 50 4d 34 57 37 62 4d 64 61 54 72 70 6d 67 37 79 56 71 0a 63 35 69 4a 57 7a 6f iK7ewfPM4W7bMdaTrpmg7yVq.c5iJWzo
1b3820 75 45 34 67 65 76 38 43 53 6c 44 51 62 34 79 65 33 69 78 35 76 51 76 2f 6e 36 54 65 62 55 42 30 uE4gev8CSlDQb4ye3ix5vQv/n6TebUB0
1b3840 74 6f 76 6b 43 37 73 74 59 57 44 70 78 76 47 6a 6a 71 73 47 76 48 43 67 66 6f 74 77 6a 5a 54 2b tovkC7stYWDpxvGjjqsGvHCgfotwjZT+
1b3860 42 36 71 36 5a 0a 30 39 67 77 7a 78 4d 4e 54 78 58 4a 68 4c 79 6e 53 43 33 34 4d 43 4e 33 32 45 B6q6Z.09gwzxMNTxXJhLynSC34MCN32E
1b3880 5a 4c 65 57 33 32 6a 4f 30 36 66 32 41 52 65 50 54 70 6d 36 37 56 56 4d 42 30 67 4e 45 4c 51 70 ZLeW32jO06f2ARePTpm67VVMB0gNELQp
1b38a0 2f 42 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6f /B.-----END.CERTIFICATE-----..Go
1b38c0 20 44 61 64 64 79 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 .Daddy.Root.Certificate.Authorit
1b38e0 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.-.G2.=========================
1b3900 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1b3920 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 78 54 43 43 41 71 32 67 41 77 49 42 41 67 49 42 FICATE-----.MIIDxTCCAq2gAwIBAgIB
1b3940 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 7a 45 4c 4d 41 6b 47 ADANBgkqhkiG9w0BAQsFADCBgzELMAkG
1b3960 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 54 0a 42 30 46 79 61 58 70 A1UEBhMCVVMxEDAOBgNVBAgT.B0FyaXp
1b3980 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 52 30 63 32 52 68 62 47 55 vbmExEzARBgNVBAcTClNjb3R0c2RhbGU
1b39a0 78 47 6a 41 59 42 67 4e 56 42 41 6f 54 45 55 64 76 52 47 46 6b 5a 48 6b 75 59 32 39 74 4c 43 42 xGjAYBgNVBAoTEUdvRGFkZHkuY29tLCB
1b39c0 4a 62 6d 4d 75 0a 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 62 79 42 45 59 57 52 6b 65 53 JbmMu.MTEwLwYDVQQDEyhHbyBEYWRkeS
1b39e0 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d BSb290IENlcnRpZmljYXRlIEF1dGhvcm
1b3a00 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 0a 4d 44 6b 77 4d 54 41 77 4d 44 41 77 4d l0eSAtIEcyMB4XDTA5.MDkwMTAwMDAwM
1b3a20 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 59 4d 78 43 7a 41 4a 42 FoXDTM3MTIzMTIzNTk1OVowgYMxCzAJB
1b3a40 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c 36 0a gNVBAYTAlVTMRAwDgYDVQQIEwdBcml6.
1b3a60 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6c b25hMRMwEQYDVQQHEwpTY290dHNkYWxl
1b3a80 4d 52 6f 77 47 41 59 44 56 51 51 4b 45 78 46 48 62 30 52 68 5a 47 52 35 4c 6d 4e 76 62 53 77 67 MRowGAYDVQQKExFHb0RhZGR5LmNvbSwg
1b3aa0 53 57 35 6a 4c 6a 45 78 4d 43 38 47 0a 41 31 55 45 41 78 4d 6f 52 32 38 67 52 47 46 6b 5a 48 6b SW5jLjExMC8G.A1UEAxMoR28gRGFkZHk
1b3ac0 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3J
1b3ae0 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 pdHkgLSBHMjCCASIwDQYJKoZI.hvcNAQ
1b3b00 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c 39 78 59 67 6a 78 2b 6c EBBQADggEPADCCAQoCggEBAL9xYgjx+l
1b3b20 6b 30 39 78 76 4a 47 4b 50 33 67 45 6c 59 36 53 4b 44 45 36 62 46 49 45 4d 42 4f 34 54 78 35 6f k09xvJGKP3gElY6SKDE6bFIEMBO4Tx5o
1b3b40 56 4a 6e 79 66 71 0a 39 6f 51 62 54 71 43 30 32 33 43 59 78 7a 49 42 73 51 55 2b 42 30 37 75 39 VJnyfq.9oQbTqC023CYxzIBsQU+B07u9
1b3b60 50 70 50 4c 31 6b 77 49 75 65 72 47 56 5a 72 34 6f 41 48 2f 50 4d 57 64 59 41 35 55 58 76 6c 2b PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+
1b3b80 54 57 32 64 45 36 70 6a 59 49 54 35 4c 59 2f 71 51 4f 44 0a 2b 71 4b 2b 69 68 56 71 66 39 34 4c TW2dE6pjYIT5LY/qQOD.+qK+ihVqf94L
1b3ba0 77 37 59 5a 46 41 58 4b 36 73 4f 6f 42 4a 51 37 52 6e 77 79 44 66 4d 41 5a 69 4c 49 6a 57 6c 74 w7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWlt
1b3bc0 4e 6f 77 52 47 4c 66 54 73 68 78 67 74 44 6a 36 41 6f 7a 4f 30 39 31 47 42 39 34 4b 50 75 74 64 NowRGLfTshxgtDj6AozO091GB94KPutd
1b3be0 0a 66 4d 68 38 2b 37 41 72 55 36 53 53 59 6d 6c 52 4a 51 56 68 47 6b 53 42 6a 43 79 70 51 35 59 .fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Y
1b3c00 6a 33 36 77 36 67 5a 6f 4f 4b 63 55 63 71 65 6c 64 48 72 61 65 6e 6a 41 4b 4f 63 37 78 69 49 44 j36w6gZoOKcUcqeldHraenjAKOc7xiID
1b3c20 37 53 31 33 4d 4d 75 79 46 59 6b 4d 6c 0a 4e 41 4a 57 4a 77 47 52 74 44 74 77 4b 6a 39 75 73 65 7S13MMuyFYkMl.NAJWJwGRtDtwKj9use
1b3c40 69 63 69 41 46 39 6e 39 54 35 32 31 4e 74 59 4a 32 2f 4c 4f 64 59 71 37 68 66 52 76 7a 4f 78 42 iciAF9n9T521NtYJ2/LOdYq7hfRvzOxB
1b3c60 73 44 50 41 6e 72 53 54 46 63 61 55 61 7a 34 45 63 43 41 77 45 41 41 61 4e 43 0a 4d 45 41 77 44 sDPAnrSTFcaUaz4EcCAwEAAaNC.MEAwD
1b3c80 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 wYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BA
1b3ca0 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 44 71 61 68 51 63 51 5a f8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZ
1b3cc0 79 69 32 37 2f 61 39 0a 42 55 46 75 49 4d 47 55 32 67 2f 65 4d 41 30 47 43 53 71 47 53 49 62 33 yi27/a9.BUFuIMGU2g/eMA0GCSqGSIb3
1b3ce0 44 51 45 42 43 77 55 41 41 34 49 42 41 51 43 5a 32 31 31 35 31 66 6d 58 57 57 63 44 59 66 46 2b DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+
1b3d00 4f 77 59 78 64 53 32 68 49 49 35 50 5a 59 65 30 39 36 61 63 0a 76 4e 6a 70 4c 39 44 62 57 75 37 OwYxdS2hII5PZYe096ac.vNjpL9DbWu7
1b3d20 50 64 49 78 7a 74 44 68 43 32 67 56 37 2b 41 4a 31 75 50 32 6c 73 64 65 75 39 74 66 65 45 38 74 PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8t
1b3d40 54 45 48 36 4b 52 74 47 58 2b 72 63 75 4b 78 47 72 6b 4c 41 6e 67 50 6e 6f 6e 31 72 70 4e 35 2b TEH6KRtGX+rcuKxGrkLAngPnon1rpN5+
1b3d60 72 0a 35 4e 39 73 73 34 55 58 6e 54 33 5a 4a 45 39 35 6b 54 58 57 58 77 54 72 67 49 4f 72 6d 67 r.5N9ss4UXnT3ZJE95kTXWXwTrgIOrmg
1b3d80 49 74 74 52 44 30 32 4a 44 48 42 48 4e 41 37 58 49 6c 6f 4b 6d 66 37 4a 36 72 61 42 4b 5a 56 38 IttRD02JDHBHNA7XIloKmf7J6raBKZV8
1b3da0 61 50 45 6a 6f 4a 70 4c 31 45 2f 51 59 56 0a 4e 38 47 62 35 44 4b 6a 37 54 6a 6f 32 47 54 7a 4c aPEjoJpL1E/QYV.N8Gb5DKj7Tjo2GTzL
1b3dc0 48 34 55 2f 41 4c 71 6e 38 33 2f 42 32 67 58 32 79 4b 51 4f 43 31 36 6a 64 46 55 38 57 6e 6a 58 H4U/ALqn83/B2gX2yKQOC16jdFU8WnjX
1b3de0 7a 50 4b 65 6a 31 37 43 75 50 4b 66 31 38 35 35 65 4a 31 75 73 56 32 47 44 50 4f 0a 4c 50 41 76 zPKej17CuPKf1855eJ1usV2GDPO.LPAv
1b3e00 54 4b 33 33 73 65 66 4f 54 36 6a 45 6d 30 70 55 42 73 56 2f 66 64 55 49 44 2b 49 63 2f 6e 34 58 TK33sefOT6jEm0pUBsV/fdUID+Ic/n4X
1b3e20 75 4b 78 65 39 74 51 57 73 6b 4d 4a 44 45 33 32 70 32 75 30 6d 59 52 6c 79 6e 71 49 34 75 4a 45 uKxe9tQWskMJDE32p2u0mYRlynqI4uJE
1b3e40 76 6c 7a 33 36 68 7a 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d vlz36hz1.-----END.CERTIFICATE---
1b3e60 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 --..Starfield.Root.Certificate.A
1b3e80 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d uthority.-.G2.==================
1b3ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1b3ec0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 33 54 43 43 41 73 57 67 IN.CERTIFICATE-----.MIID3TCCAsWg
1b3ee0 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 AwIBAgIBADANBgkqhkiG9w0BAQsFADCB
1b3f00 6a 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 54 jzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
1b3f20 0a 42 30 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 52 .B0FyaXpvbmExEzARBgNVBAcTClNjb3R
1b3f40 30 63 32 52 68 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 57 56 0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWV
1b3f60 73 5a 43 42 55 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 4d 6a sZCBUZWNobm9s.b2dpZXMsIEluYy4xMj
1b3f80 41 77 42 67 4e 56 42 41 4d 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 53 62 32 39 30 49 45 AwBgNVBAMTKVN0YXJmaWVsZCBSb290IE
1b3fa0 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 53 41 74 49 NlcnRpZmljYXRlIEF1dGhvcml0.eSAtI
1b3fc0 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 33 4d EcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3M
1b3fe0 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 59 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 TIzMTIzNTk1OVowgY8xCzAJBgNVBAYTA
1b4000 6c 56 54 4d 52 41 77 0a 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c 36 62 32 35 68 4d 52 4d 77 lVTMRAw.DgYDVQQIEwdBcml6b25hMRMw
1b4020 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6c 4d 53 55 77 49 77 59 44 EQYDVQQHEwpTY290dHNkYWxlMSUwIwYD
1b4040 56 51 51 4b 45 78 78 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 0a 56 47 56 6a 61 47 35 76 62 47 39 VQQKExxTdGFyZmllbGQg.VGVjaG5vbG9
1b4060 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 49 77 4d 41 59 44 56 51 51 44 45 79 6c 54 64 47 46 naWVzLCBJbmMuMTIwMAYDVQQDEylTdGF
1b4080 79 5a 6d 6c 6c 62 47 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 yZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSB
1b40a0 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f B.dXRob3JpdHkgLSBHMjCCASIwDQYJKo
1b40c0 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c ZIhvcNAQEBBQADggEPADCCAQoCggEBAL
1b40e0 33 74 77 51 50 38 39 6f 2f 38 41 72 46 76 0a 57 35 39 49 32 5a 31 35 34 71 4b 33 41 32 46 57 47 3twQP89o/8ArFv.W59I2Z154qK3A2FWG
1b4100 4d 4e 48 74 74 66 4b 50 54 55 75 69 55 50 33 6f 57 6d 62 33 6f 6f 61 2f 52 4d 67 6e 4c 52 4a 64 MNHttfKPTUuiUP3oWmb3ooa/RMgnLRJd
1b4120 7a 49 70 56 76 32 35 37 49 7a 64 49 76 70 79 33 43 64 68 6c 2b 37 32 57 6f 54 73 0a 62 68 6d 35 zIpVv257IzdIvpy3Cdhl+72WoTs.bhm5
1b4140 69 53 7a 63 68 46 76 56 64 50 74 72 58 38 57 4a 70 52 42 53 69 55 5a 56 39 4c 68 31 48 4f 5a 2f iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/
1b4160 35 46 53 75 53 2f 68 56 63 6c 63 43 47 66 67 58 63 56 6e 72 48 69 67 48 64 4d 57 64 53 4c 35 73 5FSuS/hVclcCGfgXcVnrHigHdMWdSL5s
1b4180 74 50 53 6b 73 50 4e 6b 0a 4e 33 6d 53 77 4f 78 47 58 6e 2f 68 62 56 4e 4d 59 71 2f 4e 48 77 74 tPSksPNk.N3mSwOxGXn/hbVNMYq/NHwt
1b41a0 6a 75 7a 71 64 2b 2f 78 35 41 4a 68 68 64 4d 38 6d 67 6b 42 6a 38 37 4a 79 61 68 6b 4e 6d 63 72 juzqd+/x5AJhhdM8mgkBj87JyahkNmcr
1b41c0 55 44 6e 58 4d 4e 2f 75 4c 69 63 46 5a 38 57 4a 2f 58 37 4e 66 0a 5a 54 44 34 70 37 64 4e 64 6c UDnXMN/uLicFZ8WJ/X7Nf.ZTD4p7dNdl
1b41e0 6f 65 64 6c 34 30 77 4f 69 57 56 70 6d 4b 73 2f 42 2f 70 4d 32 39 33 44 49 78 66 4a 48 50 34 46 oedl40wOiWVpmKs/B/pM293DIxfJHP4F
1b4200 38 52 2b 47 75 71 53 56 7a 52 6d 5a 54 52 6f 75 4e 6a 57 77 6c 32 74 56 5a 69 34 55 74 30 48 5a 8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZ
1b4220 62 55 0a 4a 74 51 49 42 46 6e 51 6d 41 34 4f 35 74 37 38 77 2b 77 66 6b 50 45 43 41 77 45 41 41 bU.JtQIBFnQmA4O5t78w+wfkPECAwEAA
1b4240 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 aNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOB
1b4260 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 gNVHQ8BAf8EBAMC.AQYwHQYDVR0OBBYE
1b4280 46 48 77 4d 4d 68 2b 6e 32 54 42 2f 78 48 31 6f 6f 32 4b 6f 6f 63 36 72 42 31 73 6e 4d 41 30 47 FHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G
1b42a0 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 52 57 66 6f 6c 0a 54 77 4e CSqGSIb3DQEBCwUAA4IBAQARWfol.TwN
1b42c0 76 6c 4a 6b 37 6d 68 2b 43 68 54 6e 55 64 67 57 55 58 75 45 6f 6b 32 31 69 58 51 6e 43 6f 4b 6a vlJk7mh+ChTnUdgWUXuEok21iXQnCoKj
1b42e0 55 73 48 55 34 38 54 52 71 6e 65 53 66 69 6f 59 6d 55 65 59 73 30 63 59 74 62 70 55 67 53 70 49 UsHU48TRqneSfioYmUeYs0cYtbpUgSpI
1b4300 42 37 4c 69 4b 5a 33 73 78 0a 34 6d 63 75 6a 4a 55 44 4a 69 35 44 6e 55 6f 78 39 67 36 31 44 4c B7LiKZ3sx.4mcujJUDJi5DnUox9g61DL
1b4320 75 33 34 6a 64 2f 49 72 6f 41 6f 77 35 37 55 76 74 72 75 7a 76 45 30 33 6c 52 54 73 32 51 39 47 u34jd/IroAow57UvtruzvE03lRTs2Q9G
1b4340 63 48 47 63 67 38 52 6e 6f 4e 41 58 33 46 57 4f 64 74 35 6f 55 77 0a 46 35 6f 6b 78 42 44 67 42 cHGcg8RnoNAX3FWOdt5oUw.F5okxBDgB
1b4360 50 66 67 38 6e 2f 55 71 67 72 2f 51 68 30 33 37 5a 54 6c 5a 46 6b 53 49 48 63 34 30 7a 49 2b 4f Pfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+O
1b4380 49 46 31 6c 6e 50 36 61 49 2b 78 79 38 34 66 78 65 7a 36 6e 48 37 50 66 72 48 78 42 79 32 32 2f IF1lnP6aI+xy84fxez6nH7PfrHxBy22/
1b43a0 4c 2f 4b 0a 70 4c 2f 51 6c 77 56 4b 76 4f 6f 59 4b 41 4b 51 76 56 52 34 43 53 46 78 30 39 46 39 L/K.pL/QlwVKvOoYKAKQvVR4CSFx09F9
1b43c0 48 64 6b 57 73 4b 6c 68 50 64 41 4b 41 43 4c 38 78 33 76 4c 43 57 52 46 43 7a 74 41 67 66 64 39 HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9
1b43e0 66 44 4c 31 6d 4d 70 59 6a 6e 30 71 37 70 42 5a 0a 63 32 54 35 4e 6e 52 65 4a 61 48 31 5a 67 55 fDL1mMpYjn0q7pBZ.c2T5NnReJaH1ZgU
1b4400 75 66 7a 6b 56 71 53 72 37 55 49 75 4f 68 57 6e 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 ufzkVqSr7UIuOhWn0.-----END.CERTI
1b4420 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 53 65 72 76 69 63 65 73 20 FICATE-----..Starfield.Services.
1b4440 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a Root.Certificate.Authority.-.G2.
1b4460 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b4480 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1b44a0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 37 7a 43 43 41 74 65 67 41 77 49 42 41 RTIFICATE-----.MIID7zCCAtegAwIBA
1b44c0 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 6d 44 45 4c 4d gIBADANBgkqhkiG9w0BAQsFADCBmDELM
1b44e0 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 54 0a 42 30 46 79 AkGA1UEBhMCVVMxEDAOBgNVBAgT.B0Fy
1b4500 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 52 30 63 32 52 68 aXpvbmExEzARBgNVBAcTClNjb3R0c2Rh
1b4520 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 55 bGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBU
1b4540 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 4f 7a 41 35 42 67 4e ZWNobm9s.b2dpZXMsIEluYy4xOzA5BgN
1b4560 56 42 41 4d 54 4d 6c 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 54 5a 58 4a 32 61 57 4e 6c 63 79 42 VBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyB
1b4580 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 0a 49 45 46 31 64 47 68 76 63 6d Sb290IENlcnRpZmljYXRl.IEF1dGhvcm
1b45a0 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d 54 41 77 4d 44 41 77 4d 46 l0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMF
1b45c0 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 5a 67 78 43 7a 41 4a 42 67 oXDTM3MTIzMTIzNTk1OVowgZgxCzAJBg
1b45e0 4e 56 0a 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c 36 62 NV.BAYTAlVTMRAwDgYDVQQIEwdBcml6b
1b4600 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6c 4d 25hMRMwEQYDVQQHEwpTY290dHNkYWxlM
1b4620 53 55 77 49 77 59 44 56 51 51 4b 45 78 78 54 0a 64 47 46 79 5a 6d 6c 6c 62 47 51 67 56 47 56 6a SUwIwYDVQQKExxT.dGFyZmllbGQgVGVj
1b4640 61 47 35 76 62 47 39 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 73 77 4f 51 59 44 56 51 51 44 aG5vbG9naWVzLCBJbmMuMTswOQYDVQQD
1b4660 45 7a 4a 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 0a 55 6d 39 EzJTdGFyZmllbGQgU2VydmljZXMg.Um9
1b4680 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHk
1b46a0 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 gLSBHMjCCASIwDQYJKoZIhvcNAQEBBQA
1b46c0 44 67 67 45 50 41 44 43 43 0a 41 51 6f 43 67 67 45 42 41 4e 55 4d 4f 73 51 71 2b 55 37 69 39 62 DggEPADCC.AQoCggEBANUMOsQq+U7i9b
1b46e0 34 5a 6c 31 2b 4f 69 46 4f 78 48 7a 2f 4c 7a 35 38 67 45 32 30 70 4f 73 67 50 66 54 7a 33 61 33 4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3
1b4700 59 34 59 39 6b 32 59 4b 69 62 58 6c 77 41 67 4c 49 76 57 58 2f 32 0a 68 2f 6b 6c 51 34 62 6e 61 Y4Y9k2YKibXlwAgLIvWX/2.h/klQ4bna
1b4720 52 74 53 6d 70 44 68 63 65 50 59 4c 51 31 4f 62 2f 62 49 53 64 6d 32 38 78 70 57 72 69 75 32 64 RtSmpDhcePYLQ1Ob/bISdm28xpWriu2d
1b4740 42 54 72 7a 2f 73 6d 34 78 71 36 48 5a 59 75 61 6a 74 59 6c 49 6c 48 56 76 38 6c 6f 4a 4e 77 55 BTrz/sm4xq6HZYuajtYlIlHVv8loJNwU
1b4760 34 50 61 0a 68 48 51 55 77 32 65 65 42 47 67 36 33 34 35 41 57 68 31 4b 54 73 39 44 6b 54 76 6e 4Pa.hHQUw2eeBGg6345AWh1KTs9DkTvn
1b4780 56 74 59 41 63 4d 74 53 37 6e 74 39 72 6a 72 6e 76 44 48 35 52 66 62 43 59 4d 38 54 57 51 49 72 VtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIr
1b47a0 67 4d 77 30 52 39 2b 35 33 70 42 6c 62 51 4c 50 0a 4c 4a 47 6d 70 75 66 65 68 52 68 4a 66 47 5a gMw0R9+53pBlbQLP.LJGmpufehRhJfGZ
1b47c0 4f 6f 7a 70 74 71 62 58 75 4e 43 36 36 44 51 4f 34 4d 39 39 48 36 37 46 72 6a 53 58 5a 6d 38 36 OozptqbXuNC66DQO4M99H67FrjSXZm86
1b47e0 42 30 55 56 47 4d 70 5a 77 68 39 34 43 44 6b 6c 44 68 62 5a 73 63 37 74 6b 36 6d 46 42 0a 72 4d B0UVGMpZwh94CDklDhbZsc7tk6mFB.rM
1b4800 6e 55 56 4e 2b 48 4c 38 63 69 73 69 62 4d 6e 31 6c 55 61 4a 2f 38 76 69 6f 76 78 46 55 63 64 55 nUVN+HL8cisibMn1lUaJ/8viovxFUcdU
1b4820 42 67 46 34 55 43 56 54 6d 4c 66 77 55 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 BgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR
1b4840 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 0TAQH/BAUw.AwEB/zAOBgNVHQ8BAf8EB
1b4860 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 78 66 41 4e 2b 71 41 64 63 77 4b AMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwK
1b4880 7a 69 49 6f 72 68 74 53 70 7a 79 45 5a 47 44 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 ziIorhtSpzyEZGDMA0GCSqG.SIb3DQEB
1b48a0 43 77 55 41 41 34 49 42 41 51 42 4c 4e 71 61 45 64 32 6e 64 4f 78 6d 66 5a 79 4d 49 62 77 35 68 CwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5h
1b48c0 79 66 32 45 33 46 2f 59 4e 6f 48 4e 32 42 74 42 4c 5a 39 67 33 63 63 61 61 4e 6e 52 62 6f 62 68 yf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobh
1b48e0 69 43 50 50 0a 45 39 35 44 7a 2b 49 30 73 77 53 64 48 79 6e 56 76 2f 68 65 79 4e 58 42 76 65 36 iCPP.E95Dz+I0swSdHynVv/heyNXBve6
1b4900 53 62 7a 4a 30 38 70 47 43 4c 37 32 43 51 6e 71 74 4b 72 63 67 66 55 32 38 65 6c 55 53 77 68 58 SbzJ08pGCL72CQnqtKrcgfU28elUSwhX
1b4920 71 76 66 64 71 6c 53 35 73 64 4a 2f 50 48 4c 54 79 0a 78 51 47 6a 68 64 42 79 50 71 31 7a 71 77 qvfdqlS5sdJ/PHLTy.xQGjhdByPq1zqw
1b4940 75 62 64 51 78 74 52 62 65 4f 6c 4b 79 57 4e 37 57 67 30 49 38 56 52 77 37 6a 36 49 50 64 6a 2f ubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/
1b4960 33 76 51 51 46 33 7a 43 65 70 59 6f 55 7a 38 6a 63 49 37 33 48 50 64 77 62 65 79 42 6b 64 0a 69 3vQQF3zCepYoUz8jcI73HPdwbeyBkd.i
1b4980 45 44 50 66 55 59 64 2f 78 37 48 34 63 37 2f 49 39 76 47 2b 6f 31 56 54 71 6b 43 35 30 63 52 52 EDPfUYd/x7H4c7/I9vG+o1VTqkC50cRR
1b49a0 6a 37 30 2f 62 31 37 4b 53 61 37 71 57 46 69 4e 79 69 32 4c 53 72 32 45 49 5a 6b 79 58 43 6e 30 j70/b17KSa7qWFiNyi2LSr2EIZkyXCn0
1b49c0 71 32 33 4b 58 42 35 36 6a 7a 61 0a 59 79 57 66 2f 57 69 33 4d 4f 78 77 2b 33 57 4b 74 32 31 67 q23KXB56jza.YyWf/Wi3MOxw+3WKt21g
1b49e0 5a 37 49 65 79 4c 6e 70 32 4b 68 76 41 6f 74 6e 44 55 30 6d 56 33 48 61 49 50 7a 42 53 6c 43 4e Z7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN
1b4a00 73 53 69 36 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a sSi6.-----END.CERTIFICATE-----..
1b4a20 41 66 66 69 72 6d 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d AffirmTrust.Commercial.=========
1b4a40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1b4a60 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 77 49 42 41 67 49 49 64 33 CATE-----.MIIDTDCCAjSgAwIBAgIId3
1b4a80 63 47 4a 79 61 70 73 58 77 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 52 44 cGJyapsXwwDQYJKoZIhvcNAQELBQAwRD
1b4aa0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f 4d 43 ELMAkGA1UEBhMCVVMxFDAS.BgNVBAoMC
1b4ac0 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 42 5a 0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZ
1b4ae0 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 44 62 32 31 74 5a 58 4a 6a 61 57 46 73 4d 42 34 58 44 mZpcm1UcnVzdCBDb21tZXJjaWFsMB4XD
1b4b00 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 59 77 4e 6c 6f 58 44 54 4d 77 4d 54 49 7a 4d 54 45 30 TEw.MDEyOTE0MDYwNloXDTMwMTIzMTE0
1b4b20 4d 44 59 77 4e 6c 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 MDYwNlowRDELMAkGA1UEBhMCVVMxFDAS
1b4b40 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 BgNVBAoMC0FmZmly.bVRydXN0MR8wHQY
1b4b60 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 44 62 32 31 74 5a 58 4a DVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJ
1b4b80 6a 61 57 46 73 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a 41 41 jaWFsMIIBIjANBgkqhkiG9w0BAQEF.AA
1b4ba0 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 39 68 74 50 5a 77 63 72 6f 52 58 31 42 69 OCAQ8AMIIBCgKCAQEA9htPZwcroRX1Bi
1b4bc0 4c 4c 48 77 47 79 34 33 4e 46 42 6b 52 4a 4c 4c 74 4a 4a 52 54 57 7a 73 4f 33 71 79 78 50 78 6b LLHwGy43NFBkRJLLtJJRTWzsO3qyxPxk
1b4be0 45 79 6c 46 66 36 45 71 64 62 0a 44 75 4b 50 48 78 36 47 47 61 65 71 74 53 32 35 58 77 32 4b 77 EylFf6Eqdb.DuKPHx6GGaeqtS25Xw2Kw
1b4c00 71 2b 46 4e 58 6b 79 4c 62 73 63 59 6a 66 79 73 56 74 4b 50 63 72 4e 63 56 2f 70 51 72 36 55 36 q+FNXkyLbscYjfysVtKPcrNcV/pQr6U6
1b4c20 4d 6a 65 2b 53 4a 49 5a 4d 62 6c 71 38 59 72 62 61 30 46 38 50 72 56 0a 43 38 2b 61 35 66 42 51 Mje+SJIZMblq8Yrba0F8PrV.C8+a5fBQ
1b4c40 70 49 73 37 52 36 55 6a 57 33 70 36 2b 44 4d 2f 75 4f 2b 5a 6c 2b 4d 67 77 64 59 6f 69 63 2b 55 pIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U
1b4c60 2b 37 6c 46 37 65 4e 41 46 78 48 55 64 50 41 4c 4d 65 49 72 4a 6d 71 62 54 46 65 75 72 43 41 2b +7lF7eNAFxHUdPALMeIrJmqbTFeurCA+
1b4c80 75 6b 56 36 0a 42 66 4f 39 6d 32 6b 56 72 6e 31 4f 49 47 50 45 4e 58 59 36 42 77 4c 4a 4e 2f 33 ukV6.BfO9m2kVrn1OIGPENXY6BwLJN/3
1b4ca0 48 52 2b 37 6f 38 58 59 64 63 78 58 79 6c 36 53 31 79 48 70 35 32 55 4b 71 4b 33 39 63 2f 73 34 HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4
1b4cc0 6d 54 36 4e 6d 67 54 57 76 52 4c 70 55 48 68 77 77 0a 4d 6d 57 64 35 6a 79 54 58 6c 42 4f 65 75 mT6NmgTWvRLpUHhww.MmWd5jyTXlBOeu
1b4ce0 4d 36 31 47 37 4d 47 76 76 35 30 6a 65 75 4a 43 71 72 56 77 4d 69 4b 41 31 4a 64 58 2b 33 4b 4e M61G7MGvv50jeuJCqrVwMiKA1JdX+3KN
1b4d00 70 31 76 34 37 6a 33 41 35 35 4d 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 0a 48 p1v47j3A55MQIDAQABo0IwQDAdBgNV.H
1b4d20 51 34 45 46 67 51 55 6e 5a 50 47 55 34 74 65 79 71 38 2f 6e 78 34 50 35 5a 6d 56 76 43 54 32 6c Q4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2l
1b4d40 49 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 I8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVH
1b4d60 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c Q8BAf8EBAMC.AQYwDQYJKoZIhvcNAQEL
1b4d80 42 51 41 44 67 67 45 42 41 46 69 73 39 41 51 4f 7a 63 41 4e 2f 77 72 39 31 4c 6f 57 58 79 6d 39 BQADggEBAFis9AQOzcAN/wr91LoWXym9
1b4da0 65 32 69 5a 57 45 6e 53 74 42 30 33 54 58 38 6e 66 55 59 47 58 55 50 47 0a 68 69 34 2b 63 37 49 e2iZWEnStB03TX8nfUYGXUPG.hi4+c7I
1b4dc0 6d 66 55 2b 54 71 62 62 45 4b 70 71 72 49 5a 63 55 73 64 36 4d 30 36 75 4a 46 64 68 72 4a 4e 54 mfU+TqbbEKpqrIZcUsd6M06uJFdhrJNT
1b4de0 78 46 71 37 59 70 46 7a 55 66 31 47 4f 37 52 67 42 73 5a 4e 6a 76 62 7a 34 59 59 43 61 6e 72 48 xFq7YpFzUf1GO7RgBsZNjvbz4YYCanrH
1b4e00 4f 51 6e 44 69 0a 71 58 30 47 4a 58 30 6e 6f 66 35 76 37 4c 4d 65 4a 4e 72 6a 53 31 55 61 41 44 OQnDi.qX0GJX0nof5v7LMeJNrjS1UaAD
1b4e20 73 31 74 44 76 5a 31 31 30 77 2f 59 45 54 69 66 4c 43 42 69 76 74 5a 38 53 4f 79 55 4f 79 58 47 s1tDvZ110w/YETifLCBivtZ8SOyUOyXG
1b4e40 73 56 69 51 4b 38 59 76 78 4f 38 72 55 7a 71 72 4a 76 0a 30 77 71 69 55 4f 50 32 4f 2b 67 75 52 sViQK8YvxO8rUzqrJv.0wqiUOP2O+guR
1b4e60 4d 4c 62 5a 6a 69 70 4d 31 5a 49 38 57 30 62 4d 34 30 4e 6a 44 39 67 4e 35 33 54 79 6d 31 2b 4e MLbZjipM1ZI8W0bM40NjD9gN53Tym1+N
1b4e80 48 34 4e 6e 33 4a 32 69 78 75 66 63 76 31 53 4e 55 46 46 41 70 59 76 48 4c 4b 61 63 30 6b 68 0a H4Nn3J2ixufcv1SNUFFApYvHLKac0kh.
1b4ea0 73 55 6c 48 52 55 65 30 37 32 6f 30 45 63 6c 4e 6d 73 78 5a 74 39 59 43 6e 6c 70 4f 5a 62 57 55 sUlHRUe072o0EclNmsxZt9YCnlpOZbWU
1b4ec0 72 68 76 66 4b 62 41 57 38 62 38 41 6e 67 63 36 46 32 53 31 42 4c 55 6a 49 5a 6b 4b 6c 54 75 58 rhvfKbAW8b8Angc6F2S1BLUjIZkKlTuX
1b4ee0 66 4f 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a fO8=.-----END.CERTIFICATE-----..
1b4f00 41 66 66 69 72 6d 54 72 75 73 74 20 4e 65 74 77 6f 72 6b 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d AffirmTrust.Networking.=========
1b4f20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1b4f40 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 77 49 42 41 67 49 49 66 45 CATE-----.MIIDTDCCAjSgAwIBAgIIfE
1b4f60 38 45 4f 52 7a 55 6d 53 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 44 8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRD
1b4f80 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f 4d 43 ELMAkGA1UEBhMCVVMxFDAS.BgNVBAoMC
1b4fa0 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 42 5a 0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZ
1b4fc0 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 61 57 35 6e 4d 42 34 58 44 mZpcm1UcnVzdCBOZXR3b3JraW5nMB4XD
1b4fe0 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 67 79 4e 46 6f 58 44 54 4d 77 4d 54 49 7a 4d 54 45 30 TEw.MDEyOTE0MDgyNFoXDTMwMTIzMTE0
1b5000 4d 44 67 79 4e 46 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 MDgyNFowRDELMAkGA1UEBhMCVVMxFDAS
1b5020 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 BgNVBAoMC0FmZmly.bVRydXN0MR8wHQY
1b5040 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a DVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3J
1b5060 72 61 57 35 6e 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a 41 41 raW5nMIIBIjANBgkqhkiG9w0BAQEF.AA
1b5080 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 74 49 54 4d 4d 78 63 75 61 35 52 73 61 32 OCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2
1b50a0 46 53 6f 4f 75 6a 7a 33 6d 55 54 4f 57 55 67 4a 6e 4c 56 57 52 45 5a 59 39 6e 5a 4f 49 47 34 31 FSoOujz3mUTOWUgJnLVWREZY9nZOIG41
1b50c0 77 33 53 66 59 76 6d 34 53 45 0a 48 69 33 79 59 4a 30 77 54 73 79 45 68 65 49 73 7a 78 36 65 2f w3SfYvm4SE.Hi3yYJ0wTsyEheIszx6e/
1b50e0 6a 61 72 4d 33 63 31 52 4e 67 31 6c 68 6f 39 4e 75 68 36 44 74 6a 56 52 36 46 71 61 59 76 5a 2f jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/
1b5100 4c 73 36 72 6e 6c 61 31 66 54 57 63 62 75 61 6b 43 4e 72 6d 72 65 49 0a 64 49 63 4d 48 6c 2b 35 Ls6rnla1fTWcbuakCNrmreI.dIcMHl+5
1b5120 6e 69 33 36 71 31 4d 72 33 4c 74 32 50 70 4e 4d 43 41 69 4d 48 71 49 6a 48 4e 52 71 72 53 4b 36 ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6
1b5140 6d 51 45 75 62 57 58 4c 76 69 52 6d 56 53 52 4c 51 45 53 78 47 39 66 68 77 6f 58 41 33 68 41 2f mQEubWXLviRmVSRLQESxG9fhwoXA3hA/
1b5160 50 65 32 34 0a 2f 50 48 78 49 31 50 63 76 32 57 58 62 39 6e 35 51 48 47 4e 66 62 32 56 31 4d 36 Pe24./PHxI1Pcv2WXb9n5QHGNfb2V1M6
1b5180 2b 6f 46 34 6e 49 39 37 39 70 74 41 6d 44 67 41 70 36 7a 78 47 38 44 31 67 76 7a 39 51 30 74 77 +oF4nI979ptAmDgAp6zxG8D1gvz9Q0tw
1b51a0 6d 51 56 47 65 46 44 64 43 42 4b 4e 77 56 36 67 62 0a 68 2b 30 74 2b 6e 76 75 6a 41 72 6a 71 57 mQVGeFDdCBKNwV6gb.h+0t+nvujArjqW
1b51c0 61 4a 47 63 74 42 2b 64 31 45 4e 6d 48 50 34 6e 64 47 79 48 33 32 39 4a 4b 42 4e 76 33 62 4e 50 aJGctB+d1ENmHP4ndGyH329JKBNv3bNP
1b51e0 46 79 66 76 4d 4d 46 72 32 30 46 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 0a 48 FyfvMMFr20FQIDAQABo0IwQDAdBgNV.H
1b5200 51 34 45 46 67 51 55 42 78 2f 53 35 35 7a 61 77 6d 36 69 51 4c 53 77 65 6c 41 51 55 48 54 45 79 Q4EFgQUBx/S55zawm6iQLSwelAQUHTEy
1b5220 4c 30 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 L0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVH
1b5240 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 Q8BAf8EBAMC.AQYwDQYJKoZIhvcNAQEF
1b5260 42 51 41 44 67 67 45 42 41 49 6c 58 73 68 5a 36 71 4d 4c 39 31 74 6d 62 6d 7a 54 43 6e 4c 51 79 BQADggEBAIlXshZ6qML91tmbmzTCnLQy
1b5280 46 45 32 6e 70 4e 2f 73 76 71 65 2b 2b 45 50 62 6b 54 66 4f 74 44 49 75 0a 55 46 55 61 4e 55 35 FE2npN/svqe++EPbkTfOtDIu.UFUaNU5
1b52a0 32 51 33 45 67 37 35 4e 33 54 68 56 77 4c 6f 66 44 77 52 31 74 33 4d 75 31 4a 39 51 73 56 74 46 2Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtF
1b52c0 53 55 7a 70 45 30 6e 50 49 78 42 73 46 5a 56 70 69 6b 70 7a 75 51 59 30 78 32 2b 63 30 36 6c 6b SUzpE0nPIxBsFZVpikpzuQY0x2+c06lk
1b52e0 68 31 51 46 36 0a 31 32 53 34 5a 44 6e 4e 79 65 32 76 37 55 73 44 53 4b 65 67 6d 51 47 41 33 47 h1QF6.12S4ZDnNye2v7UsDSKegmQGA3G
1b5300 57 6a 4e 71 35 6c 57 55 68 50 67 6b 76 49 5a 66 46 58 48 65 56 5a 4c 67 6f 2f 62 4e 6a 52 39 65 WjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9e
1b5320 55 4a 74 47 78 55 41 41 72 67 46 55 32 48 64 57 32 33 0a 57 4a 5a 61 33 57 33 53 41 4b 44 30 6d UJtGxUAArgFU2HdW23.WJZa3W3SAKD0m
1b5340 30 69 2b 77 7a 65 6b 75 6a 62 67 66 49 65 46 6c 78 6f 56 6f 74 34 75 6f 6c 75 39 72 78 6a 35 6b 0i+wzekujbgfIeFlxoVot4uolu9rxj5k
1b5360 46 44 4e 63 46 6e 34 4a 32 64 48 79 38 65 67 42 7a 70 39 30 53 78 64 62 42 6b 36 5a 72 56 39 0a FDNcFn4J2dHy8egBzp90SxdbBk6ZrV9.
1b5380 2f 5a 46 76 67 72 47 2b 43 4a 50 62 46 45 66 78 6f 6a 66 48 52 5a 34 38 78 33 65 76 5a 4b 69 54 /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT
1b53a0 33 2f 5a 70 67 34 4a 67 38 6b 6c 43 4e 4f 31 61 41 46 53 46 48 42 59 32 6b 67 78 63 2b 71 61 74 3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qat
1b53c0 76 39 73 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a v9s=.-----END.CERTIFICATE-----..
1b53e0 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d 69 75 6d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d AffirmTrust.Premium.============
1b5400 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1b5420 2d 2d 2d 0a 4d 49 49 46 52 6a 43 43 41 79 36 67 41 77 49 42 41 67 49 49 62 59 77 55 52 72 47 6d ---.MIIFRjCCAy6gAwIBAgIIbYwURrGm
1b5440 43 75 34 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 77 51 54 45 4c 4d 41 6b 47 Cu4wDQYJKoZIhvcNAQEMBQAwQTELMAkG
1b5460 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c A1UEBhMCVVMxFDAS.BgNVBAoMC0FmZml
1b5480 79 62 56 52 79 64 58 4e 30 4d 52 77 77 47 67 59 44 56 51 51 44 44 42 4e 42 5a 6d 5a 70 63 6d 31 ybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1
1b54a0 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 4d 42 34 58 44 54 45 77 4d 44 45 79 0a 4f 54 UcnVzdCBQcmVtaXVtMB4XDTEwMDEy.OT
1b54c0 45 30 4d 54 41 7a 4e 6c 6f 58 44 54 51 77 4d 54 49 7a 4d 54 45 30 4d 54 41 7a 4e 6c 6f 77 51 54 E0MTAzNloXDTQwMTIzMTE0MTAzNlowQT
1b54e0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 42 67 4e 56 42 41 6f 4d 43 30 ELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0
1b5500 46 6d 5a 6d 6c 79 62 56 52 79 0a 64 58 4e 30 4d 52 77 77 47 67 59 44 56 51 51 44 44 42 4e 42 5a FmZmlybVRy.dXN0MRwwGgYDVQQDDBNBZ
1b5520 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 4d 49 49 43 49 6a 41 4e 42 mZpcm1UcnVzdCBQcmVtaXVtMIICIjANB
1b5540 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d 49 49 43 43 67 4b 43 gkqhkiG9w0BAQEFAAOCAg8A.MIICCgKC
1b5560 41 67 45 41 78 42 4c 66 71 56 2f 2b 51 64 33 64 39 5a 2b 4b 34 2f 61 73 34 54 78 34 6d 72 7a 59 AgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY
1b5580 38 48 39 36 6f 44 4d 71 33 49 30 67 57 36 34 74 62 2b 65 54 32 54 5a 77 61 6d 6a 50 6a 6c 47 6a 8H96oDMq3I0gW64tb+eT2TZwamjPjlGj
1b55a0 68 56 74 6e 0a 42 4b 41 51 4a 47 39 64 4b 49 4c 42 6c 31 66 59 53 43 6b 54 74 75 47 2b 6b 55 33 hVtn.BKAQJG9dKILBl1fYSCkTtuG+kU3
1b55c0 66 68 51 78 54 47 4a 6f 65 4a 4b 4a 50 6a 2f 43 69 68 51 76 4c 39 43 6c 2f 30 71 52 59 37 69 5a fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZ
1b55e0 4e 79 61 71 6f 65 35 72 5a 2b 6a 6a 65 52 46 63 56 0a 35 66 69 4d 79 4e 6c 49 34 67 30 57 4a 78 Nyaqoe5rZ+jjeRFcV.5fiMyNlI4g0WJx
1b5600 30 65 79 49 4f 46 4a 62 65 36 71 6c 56 42 7a 41 4d 69 53 79 32 52 6a 59 76 6d 69 61 39 6d 78 2b 0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+
1b5620 6e 2f 4b 2b 6b 38 72 4e 72 53 73 38 50 68 61 4a 79 4a 2b 48 6f 41 56 74 37 30 56 5a 56 73 0a 2b n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs.+
1b5640 37 70 6b 33 57 4b 4c 33 77 74 33 4d 75 74 69 7a 43 61 61 6d 37 75 71 59 6f 4e 4d 74 41 5a 36 4d 7pk3WKL3wt3MutizCaam7uqYoNMtAZ6M
1b5660 4d 67 70 76 2b 30 47 54 5a 65 35 48 4d 51 78 4b 39 56 66 76 46 4d 53 46 35 79 5a 56 79 6c 6d 64 Mgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd
1b5680 32 45 68 4d 51 63 75 4a 55 6d 64 0a 47 50 4c 75 38 79 74 78 6a 4c 57 36 4f 51 64 4a 64 2f 7a 76 2EhMQcuJUmd.GPLu8ytxjLW6OQdJd/zv
1b56a0 4c 70 4b 51 42 59 30 74 4c 33 64 37 37 30 4f 2f 4e 62 75 61 32 50 6c 7a 70 79 7a 79 30 46 66 75 LpKQBY0tL3d770O/Nbua2Plzpyzy0Ffu
1b56c0 4b 45 34 6d 58 34 2b 51 61 41 6b 76 75 50 6a 63 42 75 6b 75 6d 6a 35 52 0a 70 39 45 69 78 41 71 KE4mX4+QaAkvuPjcBukumj5R.p9EixAq
1b56e0 6e 4f 45 68 73 73 2f 6e 2f 66 61 75 47 56 2b 4f 36 31 6f 56 34 64 37 70 44 36 6b 68 2f 39 74 69 nOEhss/n/fauGV+O61oV4d7pD6kh/9ti
1b5700 2b 49 32 30 65 76 39 45 32 62 46 68 63 38 65 36 6b 47 56 51 61 39 51 50 53 64 75 62 68 6a 4c 30 +I20ev9E2bFhc8e6kGVQa9QPSdubhjL0
1b5720 38 73 39 4e 49 0a 53 2b 4c 49 2b 48 2b 53 71 48 5a 47 6e 45 4a 6c 50 71 51 65 77 51 63 44 57 6b 8s9NI.S+LI+H+SqHZGnEJlPqQewQcDWk
1b5740 59 74 75 4a 66 7a 74 39 57 79 56 53 48 76 75 74 78 4d 41 4a 66 37 46 4a 55 6e 4d 37 2f 6f 51 30 YtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0
1b5760 64 47 30 67 69 5a 46 6d 41 37 6d 6e 37 53 35 75 30 34 0a 36 75 77 42 48 6a 78 49 56 6b 6b 4a 78 dG0giZFmA7mn7S5u04.6uwBHjxIVkkJx
1b5780 30 77 33 41 4a 36 49 44 73 42 7a 34 57 39 6d 36 58 4a 48 4d 44 34 51 35 51 73 44 79 5a 70 43 41 0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCA
1b57a0 47 7a 46 6c 48 35 68 78 49 72 66 66 34 49 61 43 31 6e 45 57 54 4a 33 73 37 78 67 61 56 59 35 0a GzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5.
1b57c0 2f 62 51 47 65 79 7a 57 5a 44 62 5a 76 55 6a 74 68 42 39 2b 70 53 4b 50 4b 72 68 43 39 49 4b 33 /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK3
1b57e0 31 46 4f 51 65 45 34 74 47 76 32 42 62 30 54 58 4f 77 46 30 6c 6b 4c 67 41 4f 49 75 61 2b 72 46 1FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF
1b5800 37 6e 4b 73 75 37 2f 2b 36 71 71 6f 0a 2b 4e 7a 32 73 6e 6d 4b 74 6d 63 43 41 77 45 41 41 61 4e 7nKsu7/+6qqo.+Nz2snmKtmcCAwEAAaN
1b5820 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 33 41 5a 36 59 4d 49 74 6b 6d 39 55 57 CMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UW
1b5840 72 70 6d 56 53 45 53 66 59 52 61 78 6a 4d 41 38 47 41 31 55 64 45 77 45 42 0a 2f 77 51 46 4d 41 rpmVSESfYRaxjMA8GA1UdEwEB./wQFMA
1b5860 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 MBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCS
1b5880 71 47 53 49 62 33 44 51 45 42 44 41 55 41 41 34 49 43 41 51 43 7a 56 30 30 51 59 6b 34 36 35 4b qGSIb3DQEBDAUAA4ICAQCzV00QYk465K
1b58a0 7a 71 75 42 79 76 0a 4d 69 50 49 73 30 6c 61 55 5a 78 32 4b 49 31 35 71 6c 64 47 46 39 58 31 55 zquByv.MiPIs0laUZx2KI15qldGF9X1U
1b58c0 76 61 33 52 4f 67 49 52 4c 38 59 68 4e 49 4c 67 4d 33 46 45 76 30 41 56 51 56 68 68 30 48 63 74 va3ROgIRL8YhNILgM3FEv0AVQVhh0Hct
1b58e0 53 53 65 50 4d 54 59 79 50 74 77 6e 69 39 34 6c 6f 4d 67 0a 4e 74 35 38 44 32 6b 54 69 4b 56 31 SSePMTYyPtwni94loMg.Nt58D2kTiKV1
1b5900 4e 70 67 49 70 73 62 66 72 4d 37 6a 57 4e 61 33 50 74 36 36 38 2b 73 30 51 4e 69 69 67 66 56 34 NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4
1b5920 50 79 2f 56 70 66 7a 5a 6f 74 52 65 42 41 34 58 72 66 35 42 38 4f 57 79 63 76 70 45 67 6a 4e 43 Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
1b5940 0a 36 43 31 59 39 31 61 4d 59 6a 2b 36 51 72 43 63 44 46 78 2b 4c 6d 55 6d 58 46 4e 50 41 4c 4a .6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ
1b5960 34 66 71 45 4e 6d 53 32 4e 75 42 32 4f 6f 73 53 77 2f 57 44 51 4d 4b 53 4f 79 41 52 69 71 63 54 4fqENmS2NuB2OosSw/WDQMKSOyARiqcT
1b5980 74 4e 64 35 36 6c 2b 30 4f 4f 46 36 53 0a 4c 35 4e 77 70 61 6d 63 62 36 64 39 45 78 31 2b 78 67 tNd56l+0OOF6S.L5Nwpamcb6d9Ex1+xg
1b59a0 68 49 73 56 35 6e 36 31 45 49 4a 65 6e 6d 4a 57 74 53 4b 5a 47 63 30 6a 6c 7a 43 46 66 65 6d 51 hIsV5n61EIJenmJWtSKZGc0jlzCFfemQ
1b59c0 61 30 57 35 30 51 42 75 48 43 41 4b 69 34 48 45 6f 43 43 68 54 51 77 55 48 4b 0a 2b 34 77 31 49 a0W50QBuHCAKi4HEoCChTQwUHK.+4w1I
1b59e0 58 32 43 4f 50 4b 70 56 4a 45 5a 4e 5a 4f 55 62 57 6f 36 78 62 4c 51 75 34 6d 47 6b 2b 69 62 79 X2COPKpVJEZNZOUbWo6xbLQu4mGk+iby
1b5a00 51 38 36 70 33 71 34 6f 66 42 34 52 76 72 38 4e 79 2f 6c 69 6f 54 7a 33 2f 34 45 32 61 46 6f 6f Q86p3q4ofB4Rvr8Ny/lioTz3/4E2aFoo
1b5a20 43 38 6b 34 67 6d 56 0a 42 74 57 56 79 75 45 6b 6c 75 74 38 39 70 4d 46 75 2b 31 7a 36 53 33 52 C8k4gmV.BtWVyuEklut89pMFu+1z6S3R
1b5a40 64 54 6e 58 35 79 54 62 32 45 35 66 51 34 2b 65 30 42 51 35 76 31 56 77 53 4a 6c 58 4d 62 53 63 dTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc
1b5a60 37 6b 71 59 41 35 59 77 48 32 41 47 37 68 73 6a 2f 6f 46 67 0a 49 78 70 48 59 6f 57 6c 7a 42 6b 7kqYA5YwH2AG7hsj/oFg.IxpHYoWlzBk
1b5a80 30 67 47 2b 7a 72 42 72 6a 6e 2f 42 37 53 4b 33 56 41 64 6c 6e 74 71 6c 79 6b 2b 6f 74 5a 72 57 0gG+zrBrjn/B7SK3VAdlntqlyk+otZrW
1b5aa0 79 75 4f 51 39 50 4c 4c 76 54 49 7a 71 36 77 65 2f 71 7a 57 61 56 59 61 38 47 4b 61 31 71 46 36 yuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF6
1b5ac0 30 0a 67 32 78 72 61 55 44 54 6e 39 7a 78 77 32 6c 72 75 65 46 74 43 66 54 78 71 6c 42 32 43 6e 0.g2xraUDTn9zxw2lrueFtCfTxqlB2Cn
1b5ae0 70 39 65 68 65 68 56 5a 5a 43 6d 54 45 4a 33 57 41 52 6a 51 55 77 66 75 61 4f 52 74 47 64 46 4e p9ehehVZZCmTEJ3WARjQUwfuaORtGdFN
1b5b00 72 48 46 2b 51 46 6c 6f 7a 45 4a 4c 55 62 0a 7a 78 51 48 73 6b 44 34 6f 35 35 42 68 72 77 45 30 rHF+QFlozEJLUb.zxQHskD4o55BhrwE0
1b5b20 47 75 57 79 43 71 41 4e 50 32 2f 37 77 61 6a 33 56 6a 46 68 54 30 2b 6a 2f 36 65 4b 65 43 32 75 GuWyCqANP2/7waj3VjFhT0+j/6eKeC2u
1b5b40 41 6c 6f 47 52 77 59 51 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 AloGRwYQw==.-----END.CERTIFICATE
1b5b60 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d 69 75 6d 20 45 43 43 0a 3d -----..AffirmTrust.Premium.ECC.=
1b5b80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1b5ba0 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 2f 6a 43 43 41 59 57 67 41 N.CERTIFICATE-----.MIIB/jCCAYWgA
1b5bc0 77 49 42 41 67 49 49 64 4a 63 6c 69 73 63 2f 65 6c 51 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 wIBAgIIdJclisc/elQwCgYIKoZIzj0EA
1b5be0 77 4d 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 42 67 4e 56 0a wMwRTELMAkGA1UEBhMCVVMxFDASBgNV.
1b5c00 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 53 41 77 48 67 59 44 56 51 51 44 BAoMC0FmZmlybVRydXN0MSAwHgYDVQQD
1b5c20 44 42 64 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 49 45 56 44 DBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVD
1b5c40 51 7a 41 65 46 77 30 78 4d 44 41 78 0a 4d 6a 6b 78 4e 44 49 77 4d 6a 52 61 46 77 30 30 4d 44 45 QzAeFw0xMDAx.MjkxNDIwMjRaFw00MDE
1b5c60 79 4d 7a 45 78 4e 44 49 77 4d 6a 52 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 yMzExNDIwMjRaMEUxCzAJBgNVBAYTAlV
1b5c80 54 4d 52 51 77 45 67 59 44 56 51 51 4b 44 41 74 42 5a 6d 5a 70 63 6d 31 55 0a 63 6e 56 7a 64 44 TMRQwEgYDVQQKDAtBZmZpcm1U.cnVzdD
1b5ca0 45 67 4d 42 34 47 41 31 55 45 41 77 77 58 51 57 5a 6d 61 58 4a 74 56 48 4a 31 63 33 51 67 55 48 EgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUH
1b5cc0 4a 6c 62 57 6c 31 62 53 42 46 51 30 4d 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 JlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBg
1b5ce0 55 72 67 51 51 41 0a 49 67 4e 69 41 41 51 4e 4d 46 34 62 46 5a 30 44 30 4b 46 35 4e 62 63 36 50 UrgQQA.IgNiAAQNMF4bFZ0D0KF5Nbc6P
1b5d00 4a 4a 36 79 68 55 63 7a 57 4c 7a 6e 43 5a 63 42 7a 33 6c 56 50 71 6a 31 73 77 53 36 76 51 55 58 JJ6yhUczWLznCZcBz3lVPqj1swS6vQUX
1b5d20 2b 69 4f 47 61 73 76 4c 6b 6a 6d 72 42 68 44 65 4b 7a 51 0a 4e 38 4f 39 73 73 30 73 35 6b 66 69 +iOGasvLkjmrBhDeKzQ.N8O9ss0s5kfi
1b5d40 47 75 5a 6a 75 44 30 75 4c 33 6a 45 54 39 76 30 44 36 52 6f 54 46 56 79 61 35 55 64 54 68 68 43 GuZjuD0uL3jET9v0D6RoTFVya5UdThhC
1b5d60 6c 58 6a 4d 4e 7a 79 52 34 70 74 6c 4b 79 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 lXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
1b5d80 0a 42 42 53 61 72 79 6c 36 77 42 45 31 4e 53 5a 52 4d 41 44 44 61 76 35 41 31 61 37 57 50 44 41 .BBSaryl6wBE1NSZRMADDav5A1a7WPDA
1b5da0 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 PBgNVHRMBAf8EBTADAQH/MA4GA1UdDwE
1b5dc0 42 2f 77 51 45 41 77 49 42 42 6a 41 4b 0a 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e 41 44 B/wQEAwIBBjAK.BggqhkjOPQQDAwNnAD
1b5de0 42 6b 41 6a 41 58 43 66 4f 48 69 46 42 61 72 38 6a 41 51 72 39 48 58 2f 56 73 61 6f 62 67 78 43 BkAjAXCfOHiFBar8jAQr9HX/VsaobgxC
1b5e00 64 30 35 44 68 54 31 77 56 2f 47 7a 54 6a 78 69 2b 7a 79 67 6b 38 4e 35 33 58 0a 35 37 68 47 38 d05DhT1wV/GzTjxi+zygk8N53X.57hG8
1b5e20 66 32 68 34 6e 45 43 4d 45 4a 5a 68 30 50 55 55 64 2b 36 30 77 6b 79 57 73 36 49 66 6c 63 39 6e f2h4nECMEJZh0PUUd+60wkyWs6Iflc9n
1b5e40 46 39 43 61 2f 55 48 4c 62 58 77 67 70 50 35 57 57 2b 75 5a 50 70 59 35 59 73 65 34 32 4f 2b 74 F9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+t
1b5e60 59 48 4e 62 77 4b 4d 0a 65 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 YHNbwKM.eQ==.-----END.CERTIFICAT
1b5e80 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 75 6d 20 54 72 75 73 74 65 64 20 4e 65 74 77 6f 72 6b 20 43 E-----..Certum.Trusted.Network.C
1b5ea0 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d A.=========================.----
1b5ec0 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 75 7a 43 43 -BEGIN.CERTIFICATE-----.MIIDuzCC
1b5ee0 41 71 4f 67 41 77 49 42 41 67 49 44 42 45 54 41 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 AqOgAwIBAgIDBETAMA0GCSqGSIb3DQEB
1b5f00 42 51 55 41 4d 48 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 4d 4d 53 49 77 49 41 59 44 BQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYD
1b5f20 56 51 51 4b 0a 45 78 6c 56 62 6d 6c 36 5a 58 52 76 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c VQQK.ExlVbml6ZXRvIFRlY2hub2xvZ2l
1b5f40 6c 63 79 42 54 4c 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 45 78 35 44 5a 58 4a 30 64 57 30 lcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0
1b5f60 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 gQ2VydGlmaWNhdGlv.biBBdXRob3JpdH
1b5f80 6b 78 49 6a 41 67 42 67 4e 56 42 41 4d 54 47 55 4e 6c 63 6e 52 31 62 53 42 55 63 6e 56 7a 64 47 kxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdG
1b5fa0 56 6b 49 45 35 6c 64 48 64 76 63 6d 73 67 51 30 45 77 48 68 63 4e 4d 44 67 78 4d 44 49 79 0a 4d VkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy.M
1b5fc0 54 49 77 4e 7a 4d 33 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 54 49 77 4e 7a 4d 33 57 6a 42 2b 4d TIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+M
1b5fe0 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 54 44 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 56 QswCQYDVQQGEwJQTDEiMCAGA1UEChMZV
1b6000 57 35 70 65 6d 56 30 62 79 42 55 0a 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 55 79 35 42 W5pemV0byBU.ZWNobm9sb2dpZXMgUy5B
1b6020 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 51 32 56 79 64 48 56 74 49 45 4e 6c 63 6e 52 70 LjEnMCUGA1UECxMeQ2VydHVtIENlcnRp
1b6040 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 0a 4d 53 49 77 49 41 59 ZmljYXRpb24gQXV0aG9yaXR5.MSIwIAY
1b6060 44 56 51 51 44 45 78 6c 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 63 33 52 6c 5a 43 42 4f 5a 58 52 DVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR
1b6080 33 62 33 4a 72 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 3b3JrIENBMIIBIjANBgkqhkiG9w0BAQE
1b60a0 46 41 41 4f 43 0a 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 34 2f 74 39 6f 33 4b 36 77 76 FAAOC.AQ8AMIIBCgKCAQEA4/t9o3K6wv
1b60c0 44 4a 46 49 66 31 61 77 46 4f 34 57 35 41 42 37 70 74 4a 31 31 2f 39 31 73 74 73 31 72 48 55 56 DJFIf1awFO4W5AB7ptJ11/91sts1rHUV
1b60e0 2b 72 70 44 4b 6d 59 59 65 32 62 67 2b 47 30 6a 41 43 0a 6c 2f 6a 58 61 56 65 68 47 44 6c 64 61 +rpDKmYYe2bg+G0jAC.l/jXaVehGDlda
1b6100 6d 52 35 78 67 46 5a 72 44 77 78 53 6a 68 38 30 67 54 53 53 79 6a 6f 49 46 38 37 42 36 4c 4d 54 mR5xgFZrDwxSjh80gTSSyjoIF87B6LMT
1b6120 58 50 62 38 36 35 50 78 31 62 56 57 71 65 57 69 66 72 7a 71 32 6a 55 49 34 5a 5a 4a 38 38 4a 0a XPb865Px1bVWqeWifrzq2jUI4ZZJ88J.
1b6140 4a 37 79 73 62 6e 4b 44 48 44 42 79 33 2b 43 69 36 64 4c 68 64 48 55 5a 76 53 71 65 65 78 56 55 J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU
1b6160 42 42 76 58 51 7a 6d 74 56 53 6a 46 34 68 71 37 39 4d 44 6b 72 6a 68 4a 4d 38 78 32 68 5a 38 35 BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85
1b6180 52 64 4b 6b 6e 76 49 53 6a 46 48 34 0a 66 4f 51 74 66 2f 57 73 58 2b 73 57 6e 37 45 74 30 62 72 RdKknvISjFH4.fOQtf/WsX+sWn7Et0br
1b61a0 4d 6b 55 4a 33 54 43 58 4a 6b 44 68 76 32 2f 44 4d 2b 34 34 65 6c 31 6b 2b 31 57 42 4f 35 67 55 MkUJ3TCXJkDhv2/DM+44el1k+1WBO5gU
1b61c0 6f 37 55 6c 35 45 30 75 36 53 4e 73 76 2b 58 4c 54 4f 63 72 2b 48 39 67 30 0a 63 76 57 30 51 4d o7Ul5E0u6SNsv+XLTOcr+H9g0.cvW0QM
1b61e0 38 78 41 63 50 73 33 68 45 74 46 31 30 66 75 46 44 52 58 68 6d 6e 61 64 34 48 4d 79 6a 4b 55 4a 8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJ
1b6200 58 35 70 31 54 4c 56 49 5a 51 52 61 6e 35 53 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 X5p1TLVIZQRan5SQIDAQABo0IwQDAPBg
1b6220 4e 56 48 52 4d 42 0a 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 NVHRMB.Af8EBTADAQH/MB0GA1UdDgQWB
1b6240 42 51 49 64 73 33 4c 42 2f 38 6b 39 73 58 4e 37 62 75 51 76 4f 4b 45 4e 30 5a 31 39 7a 41 4f 42 BQIds3LB/8k9sXN7buQvOKEN0Z19zAOB
1b6260 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e gNVHQ8BAf8EBAMCAQYw.DQYJKoZIhvcN
1b6280 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 61 6f 72 53 4c 4f 41 54 32 6d 6f 2f 39 69 30 45 69 64 AQEFBQADggEBAKaorSLOAT2mo/9i0Eid
1b62a0 69 31 35 79 73 48 68 45 34 39 77 63 72 77 6e 39 49 30 6a 36 76 53 72 45 75 56 55 45 74 52 43 6a i15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
1b62c0 0a 6a 53 66 65 43 34 4a 6a 30 4f 37 65 44 44 64 35 51 56 73 69 73 72 43 61 51 56 79 6d 63 4f 44 .jSfeC4Jj0O7eDDd5QVsisrCaQVymcOD
1b62e0 55 30 48 66 4c 49 39 4d 41 34 47 78 57 4c 2b 46 70 44 51 33 5a 71 72 38 68 67 56 44 5a 42 71 57 U0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqW
1b6300 6f 2f 35 55 33 30 4b 72 2b 34 72 50 31 0a 6d 53 31 46 68 49 72 6c 51 67 6e 58 64 41 49 76 39 34 o/5U30Kr+4rP1.mS1FhIrlQgnXdAIv94
1b6320 6e 59 6d 65 6d 38 4a 39 52 48 6a 62 6f 4e 52 68 78 33 7a 78 53 6b 48 4c 6d 6b 4d 63 53 63 4b 48 nYmem8J9RHjboNRhx3zxSkHLmkMcScKH
1b6340 51 44 4e 50 38 7a 47 53 61 6c 36 51 31 30 74 7a 36 58 78 6e 62 6f 4a 35 61 6a 0a 5a 74 33 68 72 QDNP8zGSal6Q10tz6XxnboJ5aj.Zt3hr
1b6360 76 4a 42 57 38 71 59 56 6f 4e 7a 63 4f 53 47 47 74 49 78 51 62 6f 76 76 69 30 54 57 6e 5a 76 54 vJBW8qYVoNzcOSGGtIxQbovvi0TWnZvT
1b6380 75 68 4f 67 51 34 2f 57 77 4d 69 6f 42 4b 2b 5a 6c 67 52 53 73 73 44 78 4c 51 71 4b 69 32 57 46 uhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF
1b63a0 2b 41 35 56 4c 78 49 0a 30 33 59 6e 6e 5a 6f 74 42 71 62 4a 37 44 6e 53 71 39 75 66 6d 67 73 6e +A5VLxI.03YnnZotBqbJ7DnSq9ufmgsn
1b63c0 41 6a 55 70 73 55 43 56 35 2f 6e 6f 6e 46 57 49 47 55 62 57 74 7a 54 31 66 73 34 35 6d 74 6b 34 AjUpsUCV5/nonFWIGUbWtzT1fs45mtk4
1b63e0 38 56 48 33 54 79 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 8VH3Tyw=.-----END.CERTIFICATE---
1b6400 2d 2d 0a 0a 54 57 43 41 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 --..TWCA.Root.Certification.Auth
1b6420 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ority.==========================
1b6440 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1b6460 2d 2d 2d 0a 4d 49 49 44 65 7a 43 43 41 6d 4f 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 ---.MIIDezCCAmOgAwIBAgIBATANBgkq
1b6480 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 66 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 55 hkiG9w0BAQUFADBfMQswCQYDVQQGEwJU
1b64a0 56 7a 45 53 4d 42 41 47 41 31 55 45 43 67 77 4a 0a 56 45 46 4a 56 30 46 4f 4c 55 4e 42 4d 52 41 VzESMBAGA1UECgwJ.VEFJV0FOLUNBMRA
1b64c0 77 44 67 59 44 56 51 51 4c 44 41 64 53 62 32 39 30 49 45 4e 42 4d 53 6f 77 4b 41 59 44 56 51 51 wDgYDVQQLDAdSb290IENBMSowKAYDVQQ
1b64e0 44 44 43 46 55 56 30 4e 42 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 DDCFUV0NBIFJvb3QgQ2VydGlmaWNh.dG
1b6500 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 67 77 4f 44 49 34 4d 44 lvbiBBdXRob3JpdHkwHhcNMDgwODI4MD
1b6520 63 79 4e 44 4d 7a 57 68 63 4e 4d 7a 41 78 4d 6a 4d 78 4d 54 55 31 4f 54 55 35 57 6a 42 66 4d 51 cyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQ
1b6540 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 53 4d 42 41 47 41 31 55 45 43 67 77 4a 56 swCQYDVQQG.EwJUVzESMBAGA1UECgwJV
1b6560 45 46 4a 56 30 46 4f 4c 55 4e 42 4d 52 41 77 44 67 59 44 56 51 51 4c 44 41 64 53 62 32 39 30 49 EFJV0FOLUNBMRAwDgYDVQQLDAdSb290I
1b6580 45 4e 42 4d 53 6f 77 4b 41 59 44 56 51 51 44 44 43 46 55 56 30 4e 42 0a 49 46 4a 76 62 33 51 67 ENBMSowKAYDVQQDDCFUV0NB.IFJvb3Qg
1b65a0 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
1b65c0 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
1b65e0 67 67 45 4b 0a 41 6f 49 42 41 51 43 77 66 6e 4b 34 70 41 4f 55 35 71 66 65 43 54 69 52 53 68 46 ggEK.AoIBAQCwfnK4pAOU5qfeCTiRShF
1b6600 41 68 36 64 38 57 57 51 55 65 37 55 52 45 4e 33 2b 76 39 58 41 75 31 62 69 68 53 58 30 4e 58 49 Ah6d8WWQUe7UREN3+v9XAu1bihSX0NXI
1b6620 50 2b 46 50 51 51 65 46 45 41 63 4b 30 48 4d 4d 78 0a 51 68 5a 48 68 54 4d 69 64 72 49 4b 62 77 P+FPQQeFEAcK0HMMx.QhZHhTMidrIKbw
1b6640 2f 6c 4a 56 42 50 68 59 61 2b 76 35 67 75 45 47 63 65 76 68 45 46 68 67 57 51 78 46 6e 51 66 48 /lJVBPhYa+v5guEGcevhEFhgWQxFnQfH
1b6660 67 51 73 49 42 63 74 2b 48 48 4b 33 58 4c 66 4a 2b 75 74 64 47 64 49 7a 64 6a 70 39 78 43 0a 6f gQsIBct+HHK3XLfJ+utdGdIzdjp9xC.o
1b6680 69 32 53 42 42 74 51 77 58 75 34 50 68 76 4a 56 67 53 4c 4c 31 4b 62 72 61 6c 57 36 63 48 2f 72 i2SBBtQwXu4PhvJVgSLL1KbralW6cH/r
1b66a0 61 6c 59 68 7a 43 32 67 66 65 58 52 66 77 5a 56 7a 73 72 62 2b 52 48 39 4a 6c 46 2f 68 33 78 2b alYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+
1b66c0 4a 65 6a 69 42 30 33 48 46 79 50 0a 34 48 59 6c 6d 6c 44 34 6f 46 54 2f 52 4a 42 32 49 39 49 79 JejiB03HFyP.4HYlmlD4oFT/RJB2I9Iy
1b66e0 78 73 4f 72 42 72 2f 38 2b 37 2f 7a 72 58 32 53 59 67 4a 62 4b 64 4d 31 6f 35 4f 61 51 32 52 67 xsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2Rg
1b6700 58 62 4c 36 4d 76 38 37 42 4b 39 4e 51 47 72 35 78 2b 50 76 49 2f 31 72 0a 79 2b 55 50 69 7a 67 XbL6Mv87BK9NQGr5x+PvI/1r.y+UPizg
1b6720 4e 37 67 72 38 2f 67 2b 59 6e 7a 41 78 33 57 78 53 5a 66 6d 4c 67 62 34 69 34 52 78 59 41 37 71 N7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7q
1b6740 52 47 34 6b 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 RG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQ
1b6760 45 41 77 49 42 0a 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 EAwIB.BjAPBgNVHRMBAf8EBTADAQH/MB
1b6780 30 47 41 31 55 64 44 67 51 57 42 42 52 71 4f 46 73 6d 6a 64 36 4c 57 76 4a 50 65 6c 53 44 47 52 0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGR
1b67a0 6a 6a 43 44 57 6d 75 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 42 41 51 55 46 41 41 4f 43 41 jjCDWmujANBgkqhkiG.9w0BAQUFAAOCA
1b67c0 51 45 41 50 4e 56 33 50 64 72 66 69 62 71 48 44 41 68 55 61 69 42 51 6b 72 36 77 51 54 32 35 4a QEAPNV3PdrfibqHDAhUaiBQkr6wQT25J
1b67e0 6d 53 44 43 69 2f 6f 51 4d 43 58 4b 43 65 43 4d 45 72 4a 6b 2f 39 71 35 36 59 41 66 34 6c 43 0a mSDCi/oQMCXKCeCMErJk/9q56YAf4lC.
1b6800 6d 74 59 52 35 56 50 4f 4c 38 7a 79 32 67 58 45 2f 75 4a 51 78 44 71 47 66 63 7a 61 66 68 41 4a mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJ
1b6820 4f 35 49 31 4b 6c 4f 79 2f 75 73 72 42 64 6c 73 58 65 62 51 37 39 4e 71 5a 70 34 56 4b 49 56 36 O5I1KlOy/usrBdlsXebQ79NqZp4VKIV6
1b6840 36 49 49 41 72 42 36 6e 43 57 6c 57 0a 51 74 4e 6f 55 52 69 2b 56 4a 71 2f 52 45 47 36 53 62 34 6IIArB6nCWlW.QtNoURi+VJq/REG6Sb4
1b6860 67 75 6d 6c 63 37 72 68 33 7a 63 35 73 48 36 32 44 6c 68 68 39 44 72 55 55 4f 59 54 78 4b 4f 6b gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOk
1b6880 74 6f 35 35 37 48 6e 70 79 57 6f 4f 7a 65 57 2f 76 74 50 7a 51 43 71 56 59 0a 54 30 62 66 2b 32 to557HnpyWoOzeW/vtPzQCqVY.T0bf+2
1b68a0 31 35 57 66 4b 45 49 6c 4b 75 44 38 7a 37 66 44 76 6e 61 73 70 48 59 63 4e 36 2b 4e 4f 53 42 42 15WfKEIlKuD8z7fDvnaspHYcN6+NOSBB
1b68c0 2b 34 49 49 54 68 4e 6c 51 57 78 30 44 65 4f 34 70 7a 33 4e 2f 47 43 55 7a 66 37 4e 72 2f 31 46 +4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1F
1b68e0 4e 43 6f 63 6e 79 0a 59 68 30 69 67 7a 79 58 78 66 6b 5a 59 69 65 73 5a 53 4c 58 30 7a 7a 47 35 NCocny.Yh0igzyXxfkZYiesZSLX0zzG5
1b6900 59 36 79 55 38 78 4a 7a 72 77 77 2f 6e 73 4f 4d 35 44 37 37 64 49 55 6b 52 38 48 72 77 3d 3d 0a Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==.
1b6920 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 -----END.CERTIFICATE-----..Secur
1b6940 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 6f 74 43 41 32 0a 3d 3d 3d 3d 3d 3d ity.Communication.RootCA2.======
1b6960 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1b6980 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 6c 2b GIN.CERTIFICATE-----.MIIDdzCCAl+
1b69a0 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 gAwIBAgIBADANBgkqhkiG9w0BAQsFADB
1b69c0 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d dMQswCQYDVQQGEwJKUDElMCMGA1UEChM
1b69e0 63 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 67 55 33 6c 7a 64 47 56 74 63 79 42 44 54 79 c.U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy
1b6a00 34 73 54 46 52 45 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 55 32 56 6a 64 58 4a 70 64 48 4sTFRELjEnMCUGA1UECxMeU2VjdXJpdH
1b6a20 6b 67 51 32 39 74 62 58 56 75 61 57 4e 68 0a 64 47 6c 76 62 69 42 53 62 32 39 30 51 30 45 79 4d kgQ29tbXVuaWNh.dGlvbiBSb290Q0EyM
1b6a40 42 34 58 44 54 41 35 4d 44 55 79 4f 54 41 31 4d 44 41 7a 4f 56 6f 58 44 54 49 35 4d 44 55 79 4f B4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyO
1b6a60 54 41 31 4d 44 41 7a 4f 56 6f 77 58 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 53 6c 41 78 TA1MDAzOVowXTELMAkGA1UEBhMC.SlAx
1b6a80 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 46 51 30 39 4e 49 46 52 79 64 58 4e 30 49 46 4e 35 JTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5
1b6aa0 63 33 52 6c 62 58 4d 67 51 30 38 75 4c 45 78 55 52 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 54 c3RlbXMgQ08uLExURC4xJzAlBgNVBAsT
1b6ac0 48 6c 4e 6c 59 33 56 79 0a 61 58 52 35 49 45 4e 76 62 57 31 31 62 6d 6c 6a 59 58 52 70 62 32 34 HlNlY3Vy.aXR5IENvbW11bmljYXRpb24
1b6ae0 67 55 6d 39 76 64 45 4e 42 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 gUm9vdENBMjCCASIwDQYJKoZIhvcNAQE
1b6b00 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4e 41 56 4f 56 4b 78 55 72 BBQADggEPADCCAQoCggEB.ANAVOVKxUr
1b6b20 4f 36 78 56 6d 43 78 46 31 53 72 6a 70 44 5a 59 42 4c 78 2f 4b 57 76 4e 73 32 6c 39 61 6d 5a 49 O6xVmCxF1SrjpDZYBLx/KWvNs2l9amZI
1b6b40 79 6f 58 76 44 6a 43 68 7a 33 33 35 63 39 53 36 37 32 58 65 77 68 74 55 47 72 7a 62 6c 2b 64 70 yoXvDjChz335c9S672XewhtUGrzbl+dp
1b6b60 2b 2b 0a 2b 54 34 32 4e 4b 41 37 77 66 59 78 45 55 56 30 6b 7a 31 58 67 4d 58 35 69 5a 6e 4b 35 ++.+T42NKA7wfYxEUV0kz1XgMX5iZnK5
1b6b80 61 74 71 31 4c 58 61 51 5a 41 51 77 64 62 57 51 6f 6e 43 76 2f 51 34 45 70 56 4d 56 41 58 33 4e atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3N
1b6ba0 75 52 46 67 33 73 55 5a 64 62 63 44 45 33 52 0a 33 6e 34 4d 71 7a 76 45 46 62 34 36 56 71 5a 61 uRFg3sUZdbcDE3R.3n4MqzvEFb46VqZa
1b6bc0 62 33 5a 70 55 71 6c 36 75 63 6a 72 61 70 70 64 55 74 41 74 43 6d 73 31 46 67 6b 51 68 4e 42 71 b3ZpUql6ucjrappdUtAtCms1FgkQhNBq
1b6be0 79 6a 6f 47 41 44 64 48 35 48 35 58 54 7a 2b 4c 36 32 65 34 69 4b 72 46 76 6c 4e 56 0a 73 70 48 yjoGADdH5H5XTz+L62e4iKrFvlNV.spH
1b6c00 45 66 62 6d 77 68 52 6b 47 65 43 37 62 59 52 72 36 68 66 56 4b 6b 61 48 6e 46 74 57 4f 6f 6a 6e EfbmwhRkGeC7bYRr6hfVKkaHnFtWOojn
1b6c20 66 6c 4c 68 77 48 79 67 2f 69 2f 78 41 58 6d 4f 44 50 49 4d 71 47 70 6c 72 7a 39 35 5a 61 6a 76 flLhwHyg/i/xAXmODPIMqGplrz95Zajv
1b6c40 38 62 78 62 58 48 2f 31 4b 0a 45 4f 74 4f 67 68 59 36 72 43 63 4d 55 2f 47 74 31 53 53 77 61 77 8bxbXH/1K.EOtOghY6rCcMU/Gt1SSwaw
1b6c60 4e 51 77 53 30 38 46 74 31 45 4e 43 63 61 64 66 73 43 41 77 45 41 41 61 4e 43 4d 45 41 77 48 51 NQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQ
1b6c80 59 44 56 52 30 4f 42 42 59 45 46 41 71 46 71 58 64 6c 42 5a 68 38 0a 51 49 48 34 44 35 63 73 4f YDVR0OBBYEFAqFqXdlBZh8.QIH4D5csO
1b6ca0 50 45 4b 37 44 7a 50 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 PEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPB
1b6cc0 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 30 47 43 53 71 47 53 49 62 33 44 gNVHRMBAf8EBTADAQH/MA0GCSqGSIb3D
1b6ce0 51 45 42 0a 43 77 55 41 41 34 49 42 41 51 42 4d 4f 71 4e 45 72 4c 6c 46 73 63 65 54 66 73 67 4c QEB.CwUAA4IBAQBMOqNErLlFsceTfsgL
1b6d00 43 6b 4c 66 5a 4f 6f 63 37 6c 6c 73 43 4c 71 4a 58 32 72 4b 53 70 57 65 65 6f 38 48 78 64 70 46 CkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF
1b6d20 63 6f 4a 78 44 6a 72 53 7a 47 2b 6e 74 4b 45 6a 0a 75 2f 59 6b 6e 38 73 58 2f 6f 79 6d 7a 73 4c coJxDjrSzG+ntKEj.u/Ykn8sX/oymzsL
1b6d40 53 32 38 79 4e 2f 48 48 38 41 79 6e 42 62 46 30 7a 58 32 53 32 5a 54 75 4a 62 78 68 32 65 50 58 S28yN/HH8AynBbF0zX2S2ZTuJbxh2ePX
1b6d60 63 6f 6b 67 66 47 54 2b 4f 6b 2b 76 78 2b 68 66 75 7a 55 37 6a 42 42 4a 56 31 75 58 6b 0a 33 66 cokgfGT+Ok+vx+hfuzU7jBBJV1uXk.3f
1b6d80 73 2b 42 58 7a 69 48 56 37 47 70 37 79 58 54 32 67 36 39 65 6b 75 43 6b 4f 32 72 31 64 63 59 6d s+BXziHV7Gp7yXT2g69ekuCkO2r1dcYm
1b6da0 68 38 74 2f 32 6a 69 6f 53 67 72 47 4b 2b 4b 77 6d 48 4e 50 42 71 41 62 75 62 4b 56 59 38 2f 67 h8t/2jioSgrGK+KwmHNPBqAbubKVY8/g
1b6dc0 41 33 7a 79 4e 73 38 55 36 71 0a 74 6e 52 47 45 6d 79 52 37 6a 54 56 37 4a 71 52 35 30 53 2b 6b A3zyNs8U6q.tnRGEmyR7jTV7JqR50S+k
1b6de0 44 46 79 31 55 6b 43 39 67 4c 6c 39 42 2f 72 66 4e 6d 57 56 61 6e 2f 37 49 72 35 6d 55 66 2f 4e DFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/N
1b6e00 56 6f 43 71 67 54 4c 69 6c 75 48 63 53 6d 52 76 61 53 30 65 67 32 39 0a 6d 76 56 58 49 77 41 48 VoCqgTLiluHcSmRvaS0eg29.mvVXIwAH
1b6e20 49 52 63 2f 53 6a 6e 52 42 55 6b 4c 70 37 59 33 67 61 56 64 6a 4b 6f 7a 58 6f 45 6f 66 4b 64 39 IRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9
1b6e40 4a 2b 73 41 72 6f 30 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d J+sAro03.-----END.CERTIFICATE---
1b6e60 2d 2d 0a 0a 45 43 2d 41 43 43 0a 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 --..EC-ACC.======.-----BEGIN.CER
1b6e80 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 56 6a 43 43 42 44 36 67 41 77 49 42 41 67 TIFICATE-----.MIIFVjCCBD6gAwIBAg
1b6ea0 49 51 37 69 73 39 36 39 51 68 33 68 53 6f 59 71 77 45 38 39 33 45 41 54 41 4e 42 67 6b 71 68 6b IQ7is969Qh3hSoYqwE893EATANBgkqhk
1b6ec0 69 47 39 77 30 42 41 51 55 46 41 44 43 42 38 7a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 iG9w0BAQUFADCB8zELMAkGA1UE.BhMCR
1b6ee0 56 4d 78 4f 7a 41 35 42 67 4e 56 42 41 6f 54 4d 6b 46 6e 5a 57 35 6a 61 57 45 67 51 32 46 30 59 VMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0Y
1b6f00 57 78 68 62 6d 45 67 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 49 43 68 4f 53 WxhbmEgZGUgQ2VydGlmaWNhY2lvIChOS
1b6f20 55 59 67 55 53 30 77 0a 4f 44 41 78 4d 54 63 32 4c 55 6b 70 4d 53 67 77 4a 67 59 44 56 51 51 4c UYgUS0w.ODAxMTc2LUkpMSgwJgYDVQQL
1b6f40 45 78 39 54 5a 58 4a 32 5a 57 6c 7a 49 46 42 31 59 6d 78 70 59 33 4d 67 5a 47 55 67 51 32 56 79 Ex9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2Vy
1b6f60 64 47 6c 6d 61 57 4e 68 59 32 6c 76 4d 54 55 77 4d 77 59 44 0a 56 51 51 4c 45 79 78 57 5a 57 64 dGlmaWNhY2lvMTUwMwYD.VQQLEyxWZWd
1b6f80 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 4c 6d 35 ldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5
1b6fa0 6c 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 6f 59 79 6b 77 4d 7a 45 31 4d 44 4d 47 41 31 55 ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1U
1b6fc0 45 0a 43 78 4d 73 53 6d 56 79 59 58 4a 78 64 57 6c 68 49 45 56 75 64 47 6c 30 59 58 52 7a 49 47 E.CxMsSmVyYXJxdWlhIEVudGl0YXRzIG
1b6fe0 52 6c 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 4e 70 62 79 42 44 59 58 52 68 62 47 46 75 5a 58 RlIENlcnRpZmljYWNpbyBDYXRhbGFuZX
1b7000 4d 78 44 7a 41 4e 42 67 4e 56 42 41 4d 54 0a 42 6b 56 44 4c 55 46 44 51 7a 41 65 46 77 30 77 4d MxDzANBgNVBAMT.BkVDLUFDQzAeFw0wM
1b7020 7a 41 78 4d 44 63 79 4d 7a 41 77 4d 44 42 61 46 77 30 7a 4d 54 41 78 4d 44 63 79 4d 6a 55 35 4e zAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5N
1b7040 54 6c 61 4d 49 48 7a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 45 37 0a 4d 44 6b 47 TlaMIHzMQswCQYDVQQGEwJFUzE7.MDkG
1b7060 41 31 55 45 43 68 4d 79 51 57 64 6c 62 6d 4e 70 59 53 42 44 59 58 52 68 62 47 46 75 59 53 42 6b A1UEChMyQWdlbmNpYSBDYXRhbGFuYSBk
1b7080 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 38 67 4b 45 35 4a 52 69 42 52 4c 54 41 34 ZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4
1b70a0 4d 44 45 78 4e 7a 59 74 0a 53 53 6b 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 63 6e 5a MDExNzYt.SSkxKDAmBgNVBAsTH1NlcnZ
1b70c0 6c 61 58 4d 67 55 48 56 69 62 47 6c 6a 63 79 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 laXMgUHVibGljcyBkZSBDZXJ0aWZpY2F
1b70e0 6a 61 57 38 78 4e 54 41 7a 42 67 4e 56 42 41 73 54 4c 46 5a 6c 0a 5a 32 56 31 49 47 68 30 64 48 jaW8xNTAzBgNVBAsTLFZl.Z2V1IGh0dH
1b7100 42 7a 4f 69 38 76 64 33 64 33 4c 6d 4e 68 64 47 4e 6c 63 6e 51 75 62 6d 56 30 4c 33 5a 6c 63 6d BzOi8vd3d3LmNhdGNlcnQubmV0L3Zlcm
1b7120 46 79 63 6d 56 73 49 43 68 6a 4b 54 41 7a 4d 54 55 77 4d 77 59 44 56 51 51 4c 45 79 78 4b 5a 58 FycmVsIChjKTAzMTUwMwYDVQQLEyxKZX
1b7140 4a 68 0a 63 6e 46 31 61 57 45 67 52 57 35 30 61 58 52 68 64 48 4d 67 5a 47 55 67 51 32 56 79 64 Jh.cnF1aWEgRW50aXRhdHMgZGUgQ2Vyd
1b7160 47 6c 6d 61 57 4e 68 59 32 6c 76 49 45 4e 68 64 47 46 73 59 57 35 6c 63 7a 45 50 4d 41 30 47 41 GlmaWNhY2lvIENhdGFsYW5lczEPMA0GA
1b7180 31 55 45 41 78 4d 47 52 55 4d 74 51 55 4e 44 0a 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 1UEAxMGRUMtQUND.MIIBIjANBgkqhkiG
1b71a0 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 73 79 4c 48 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLH
1b71c0 54 2b 4b 58 51 70 57 49 52 34 4e 41 39 68 30 58 38 34 4e 7a 4a 42 35 52 38 35 69 4b 0a 77 35 4b T+KXQpWIR4NA9h0X84NzJB5R85iK.w5K
1b71e0 34 2f 30 43 51 42 58 43 48 59 4d 6b 41 71 62 57 55 5a 52 6b 69 46 52 66 43 51 32 78 6d 52 4a 6f 4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJo
1b7200 4e 42 44 34 35 62 36 56 4c 65 71 70 6a 74 34 70 45 6e 64 6c 6a 6b 59 52 6d 34 43 67 50 75 6b 4c NBD45b6VLeqpjt4pEndljkYRm4CgPukL
1b7220 6a 62 6f 37 33 46 43 65 54 0a 61 65 36 52 44 71 4e 66 44 72 48 72 5a 71 4a 79 54 78 49 54 68 6d jbo73FCeT.ae6RDqNfDrHrZqJyTxIThm
1b7240 56 36 50 74 74 50 42 2f 53 6e 43 57 44 61 4f 6b 4b 5a 78 37 4a 2f 73 78 61 56 48 4d 66 35 4e 4c V6PttPB/SnCWDaOkKZx7J/sxaVHMf5NL
1b7260 57 55 68 64 57 5a 58 71 42 49 6f 48 37 6e 46 32 57 34 6f 6e 57 34 0a 48 76 50 6c 51 6e 32 76 37 WUhdWZXqBIoH7nF2W4onW4.HvPlQn2v7
1b7280 66 4f 4b 53 47 52 64 67 68 53 54 32 4d 44 6b 2f 37 4e 51 63 76 4a 32 39 72 4e 64 51 6c 42 35 30 fOKSGRdghST2MDk/7NQcvJ29rNdQlB50
1b72a0 4a 51 2b 61 77 77 41 76 74 68 72 44 6b 34 71 37 44 37 53 7a 49 4b 69 47 47 55 7a 45 33 65 65 6d JQ+awwAvthrDk4q7D7SzIKiGGUzE3eem
1b72c0 6c 30 61 0a 45 39 6a 44 32 7a 33 49 6c 33 72 75 63 4f 32 6e 35 6e 7a 62 63 63 38 74 6c 47 4c 66 l0a.E9jD2z3Il3rucO2n5nzbcc8tlGLf
1b72e0 62 64 62 31 4f 4c 34 2f 70 59 55 4b 47 62 69 6f 32 41 6c 31 51 6e 44 45 36 75 2f 4c 44 73 67 30 bdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0
1b7300 71 42 49 69 6d 41 79 34 45 35 53 32 53 2b 7a 77 0a 30 4a 44 6e 4a 77 49 44 41 51 41 42 6f 34 48 qBIimAy4E5S2S+zw.0JDnJwIDAQABo4H
1b7320 6a 4d 49 48 67 4d 42 30 47 41 31 55 64 45 51 51 57 4d 42 53 42 45 6d 56 6a 58 32 46 6a 59 30 42 jMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0B
1b7340 6a 59 58 52 6a 5a 58 4a 30 4c 6d 35 6c 64 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 0a 42 54 jYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E.BT
1b7360 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 ADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBg
1b7380 4e 56 48 51 34 45 46 67 51 55 6f 4d 4f 4c 52 4b 6f 33 70 55 57 2f 6c 34 42 61 30 66 46 34 6f 70 NVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4op
1b73a0 76 70 58 59 30 77 66 77 59 44 0a 56 52 30 67 42 48 67 77 64 6a 42 30 42 67 73 72 42 67 45 45 41 vpXY0wfwYD.VR0gBHgwdjB0BgsrBgEEA
1b73c0 66 56 34 41 51 4d 42 43 6a 42 6c 4d 43 77 47 43 43 73 47 41 51 55 46 42 77 49 42 46 69 42 6f 64 fV4AQMBCjBlMCwGCCsGAQUFBwIBFiBod
1b73e0 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 0a 4c 6d 35 6c 64 43 39 32 HRwczovL3d3dy5jYXRjZXJ0.Lm5ldC92
1b7400 5a 58 4a 68 63 6e 4a 6c 62 44 41 31 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 41 70 47 69 64 57 ZXJhcnJlbDA1BggrBgEFBQcCAjApGidW
1b7420 5a 57 64 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 ZWdldSBodHRwczovL3d3dy5jYXRjZXJ0
1b7440 4c 6d 35 6c 0a 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 Lm5l.dC92ZXJhcnJlbCAwDQYJKoZIhvc
1b7460 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 42 49 57 34 49 42 39 6b 31 49 75 44 6c 56 4e 5a 79 NAQEFBQADggEBAKBIW4IB9k1IuDlVNZy
1b7480 41 65 6c 4f 5a 31 56 72 2f 73 58 45 37 7a 44 6b 4a 0a 6c 46 37 57 32 75 2b 2b 41 56 74 64 30 78 AelOZ1Vr/sXE7zDkJ.lF7W2u++AVtd0x
1b74a0 37 59 2f 58 31 50 7a 61 42 42 34 44 53 54 76 38 76 69 68 70 77 33 6b 70 42 57 48 4e 7a 72 4b 51 7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQ
1b74c0 58 6c 78 4a 37 48 4e 64 2b 4b 44 4d 33 46 49 55 50 70 71 6f 6a 6c 4e 63 41 5a 51 6d 4e 61 0a 41 XlxJ7HNd+KDM3FIUPpqojlNcAZQmNa.A
1b74e0 6c 36 6b 53 42 67 36 68 57 2f 63 6e 62 77 2f 6e 5a 7a 42 68 37 68 36 59 51 6a 70 64 77 74 2f 63 l6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/c
1b7500 4b 74 36 33 64 6d 58 4c 47 51 65 68 62 2b 38 64 4a 61 68 77 33 6f 53 37 41 77 61 62 6f 4d 4d 50 Kt63dmXLGQehb+8dJahw3oS7AwaboMMP
1b7520 4f 68 79 52 70 2f 37 53 4e 56 65 0a 6c 2b 61 78 6f 66 6a 6b 37 30 59 6c 6c 4a 79 4a 32 32 6b 34 OhyRp/7SNVe.l+axofjk70YllJyJ22k4
1b7540 76 75 78 63 44 6c 62 48 5a 56 48 6c 55 49 69 49 76 30 4c 56 4b 7a 33 6c 2b 62 71 65 4c 72 50 4b vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK
1b7560 39 48 4f 53 41 67 75 2b 54 47 62 72 49 50 36 35 79 37 57 5a 66 2b 61 32 0a 45 2f 72 4b 53 30 33 9HOSAgu+TGbrIP65y7WZf+a2.E/rKS03
1b7580 5a 37 6c 4e 47 42 6a 76 47 54 71 32 54 57 6f 46 2b 62 43 70 4c 61 67 56 46 6a 50 49 68 70 44 47 Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDG
1b75a0 51 68 32 78 6c 6e 4a 32 6c 59 4a 55 36 55 6e 2f 31 30 61 73 49 62 76 50 75 57 2f 6d 49 50 58 36 Qh2xlnJ2lYJU6Un/10asIbvPuW/mIPX6
1b75c0 34 62 32 34 44 0a 35 45 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 4b24D.5EI=.-----END.CERTIFICATE-
1b75e0 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 65 73 65 ----..Hellenic.Academic.and.Rese
1b7600 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 52 6f 6f 74 43 41 20 32 30 31 31 0a 3d 3d arch.Institutions.RootCA.2011.==
1b7620 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b7640 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e =====================.-----BEGIN
1b7660 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 54 43 43 41 78 6d 67 41 77 .CERTIFICATE-----.MIIEMTCCAxmgAw
1b7680 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 6c 54 IBAgIBADANBgkqhkiG9w0BAQUFADCBlT
1b76a0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 52 44 42 43 42 67 4e 56 42 41 6f 54 0a 4f ELMAkGA1UEBhMCR1IxRDBCBgNVBAoT.O
1b76c0 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZ
1b76e0 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 51 32 56 79 64 XNlYXJjaCBJbnN0aXR1dGlvbnMgQ2Vyd
1b7700 43 34 67 51 58 56 30 61 47 39 79 0a 61 58 52 35 4d 55 41 77 50 67 59 44 56 51 51 44 45 7a 64 49 C4gQXV0aG9y.aXR5MUAwPgYDVQQDEzdI
1b7720 5a 57 78 73 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d 56 7a ZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVz
1b7740 5a 57 46 79 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 0a 49 46 4a 76 62 33 52 ZWFyY2ggSW5zdGl0dXRpb25z.IFJvb3R
1b7760 44 51 53 41 79 4d 44 45 78 4d 42 34 58 44 54 45 78 4d 54 49 77 4e 6a 45 7a 4e 44 6b 31 4d 6c 6f DQSAyMDExMB4XDTExMTIwNjEzNDk1Mlo
1b7780 58 44 54 4d 78 4d 54 49 77 4d 54 45 7a 4e 44 6b 31 4d 6c 6f 77 67 5a 55 78 43 7a 41 4a 42 67 4e XDTMxMTIwMTEzNDk1MlowgZUxCzAJBgN
1b77a0 56 42 41 59 54 0a 41 6b 64 53 4d 55 51 77 51 67 59 44 56 51 51 4b 45 7a 74 49 5a 57 78 73 5a 57 VBAYT.AkdSMUQwQgYDVQQKEztIZWxsZW
1b77c0 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d 56 7a 5a 57 46 79 59 32 5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2
1b77e0 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 0a 49 45 4e 6c 63 6e 51 75 49 45 46 31 64 ggSW5zdGl0dXRpb25z.IENlcnQuIEF1d
1b7800 47 68 76 63 6d 6c 30 65 54 46 41 4d 44 34 47 41 31 55 45 41 78 4d 33 53 47 56 73 62 47 56 75 61 Ghvcml0eTFAMD4GA1UEAxM3SGVsbGVua
1b7820 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 0a WMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo.
1b7840 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 63 79 42 53 62 32 39 30 51 30 45 67 4d 6a 41 78 IEluc3RpdHV0aW9ucyBSb290Q0EgMjAx
1b7860 4d 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 MTCCASIwDQYJKoZIhvcNAQEBBQADggEP
1b7880 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4b 6c 54 41 4f 4d 75 70 76 61 4f 2b 6d 44 59 4c 5a 55 ADCCAQoCggEB.AKlTAOMupvaO+mDYLZU
1b78a0 2b 2b 43 77 71 56 45 37 4e 75 59 52 68 6c 46 68 50 6a 7a 32 4c 35 45 50 7a 64 59 6d 4e 55 65 54 ++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeT
1b78c0 44 4e 39 4b 4b 69 45 31 35 48 72 63 53 33 55 4e 34 53 6f 71 53 35 74 64 49 0a 31 51 2b 6b 4f 69 DN9KKiE15HrcS3UN4SoqS5tdI.1Q+kOi
1b78e0 6c 45 4e 62 67 48 39 6d 67 64 56 63 30 34 55 66 43 4d 4a 44 47 46 72 34 50 4a 66 65 6c 33 72 2b lENbgH9mgdVc04UfCMJDGFr4PJfel3r+
1b7900 30 61 65 35 30 58 2b 62 4f 64 4f 46 41 50 70 6c 70 35 6b 59 43 76 4e 36 36 6d 30 7a 48 37 74 53 0ae50X+bOdOFAPplp5kYCvN66m0zH7tS
1b7920 59 4a 6e 54 78 61 0a 37 31 48 46 4b 39 2b 57 58 65 73 79 48 67 4c 61 63 45 6e 73 62 67 7a 49 6d YJnTxa.71HFK9+WXesyHgLacEnsbgzIm
1b7940 6a 65 4e 39 2f 45 32 59 45 73 6d 4c 49 4b 65 30 48 6a 7a 44 51 39 6a 70 46 45 77 34 66 6b 72 4a jeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJ
1b7960 78 49 48 32 4f 71 39 47 47 4b 59 73 46 6b 33 66 62 37 75 0a 38 79 42 52 51 6c 71 44 37 35 4f 36 xIH2Oq9GGKYsFk3fb7u.8yBRQlqD75O6
1b7980 61 52 58 78 59 70 32 66 6d 54 6d 43 6f 62 64 30 4c 6f 76 55 78 51 74 37 4c 2f 44 49 43 74 6f 39 aRXxYp2fmTmCobd0LovUxQt7L/DICto9
1b79a0 65 51 71 61 6b 78 79 6c 4b 48 4a 7a 6b 55 4f 61 70 39 46 4e 68 59 53 35 71 58 53 50 46 45 44 48 eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
1b79c0 0a 33 4e 36 73 51 57 52 73 74 42 6d 62 41 6d 4e 74 4a 47 53 50 52 4c 49 6c 36 73 35 64 64 41 78 .3N6sQWRstBmbAmNtJGSPRLIl6s5ddAx
1b79e0 6a 4d 6c 79 4e 68 2b 55 43 41 77 45 41 41 61 4f 42 69 54 43 42 68 6a 41 50 42 67 4e 56 48 52 4d jMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRM
1b7a00 42 41 66 38 45 42 54 41 44 41 51 48 2f 0a 4d 41 73 47 41 31 55 64 44 77 51 45 41 77 49 42 42 6a BAf8EBTADAQH/.MAsGA1UdDwQEAwIBBj
1b7a20 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 70 70 46 43 2f 52 4e 68 53 69 4f 65 43 4b 51 70 35 64 AdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5d
1b7a40 67 54 42 43 50 75 51 53 55 77 52 77 59 44 56 52 30 65 42 45 41 77 50 71 41 38 0a 4d 41 57 43 41 gTBCPuQSUwRwYDVR0eBEAwPqA8.MAWCA
1b7a60 79 35 6e 63 6a 41 46 67 67 4d 75 5a 58 55 77 42 6f 49 45 4c 6d 56 6b 64 54 41 47 67 67 51 75 62 y5ncjAFggMuZXUwBoIELmVkdTAGggQub
1b7a80 33 4a 6e 4d 41 57 42 41 79 35 6e 63 6a 41 46 67 51 4d 75 5a 58 55 77 42 6f 45 45 4c 6d 56 6b 64 3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkd
1b7aa0 54 41 47 67 51 51 75 0a 62 33 4a 6e 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 TAGgQQu.b3JnMA0GCSqGSIb3DQEBBQUA
1b7ac0 41 34 49 42 41 51 41 66 37 33 6c 42 34 58 74 75 50 37 4b 4d 68 6a 64 43 53 6b 34 63 4e 78 36 4e A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6N
1b7ae0 5a 72 6f 6b 67 63 6c 50 45 67 38 68 77 41 4f 58 68 69 56 74 0a 58 64 4d 69 4b 61 68 73 6f 67 32 ZrokgclPEg8hwAOXhiVt.XdMiKahsog2
1b7b00 70 36 7a 30 47 57 35 6b 36 78 38 7a 44 6d 6a 52 2f 71 77 37 49 54 68 7a 68 2b 75 54 63 7a 51 32 p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2
1b7b20 2b 76 79 54 2b 62 4f 64 72 77 67 33 49 42 70 35 4f 6a 57 45 6f 70 6d 72 39 35 66 5a 69 36 68 67 +vyT+bOdrwg3IBp5OjWEopmr95fZi6hg
1b7b40 38 0a 54 71 42 54 6e 62 49 36 6e 4f 75 6c 6e 4a 45 57 74 6b 32 43 34 41 77 46 53 4b 6c 73 39 63 8.TqBTnbI6nOulnJEWtk2C4AwFSKls9c
1b7b60 7a 34 79 35 31 4a 74 50 41 43 70 66 31 77 41 2b 32 4b 49 61 57 75 45 34 5a 4a 77 7a 4e 7a 76 6f z4y51JtPACpf1wA+2KIaWuE4ZJwzNzvo
1b7b80 63 37 64 49 73 58 52 53 5a 4d 46 70 47 44 0a 2f 6d 64 39 7a 55 31 6a 5a 2f 72 7a 41 78 4b 57 65 c7dIsXRSZMFpGD./md9zU1jZ/rzAxKWe
1b7ba0 41 61 4e 73 57 66 74 6a 6a 2b 2b 6e 30 38 43 39 62 4d 4a 4c 2f 4e 4d 68 39 38 71 79 35 56 38 41 AaNsWftjj++n08C9bMJL/NMh98qy5V8A
1b7bc0 63 79 73 4e 6e 71 2f 6f 6e 4e 36 39 34 2f 42 74 5a 71 68 46 4c 4b 50 4d 35 38 4e 0a 37 79 4c 63 cysNnq/onN694/BtZqhFLKPM58N.7yLc
1b7be0 5a 6e 75 45 76 55 55 58 42 6a 30 38 79 72 6c 33 4e 49 2f 4b 36 73 38 2f 4d 54 37 6a 69 4f 4f 41 ZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOA
1b7c00 53 53 58 49 6c 37 57 64 6d 70 6c 4e 73 44 7a 34 53 67 43 62 5a 4e 32 66 4f 55 76 52 4a 39 65 34 SSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
1b7c20 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 63 74 61 .-----END.CERTIFICATE-----..Acta
1b7c40 6c 69 73 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d lis.Authentication.Root.CA.=====
1b7c60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
1b7c80 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 75 7a 43 43 41 36 EGIN.CERTIFICATE-----.MIIFuzCCA6
1b7ca0 4f 67 41 77 49 42 41 67 49 49 56 77 6f 52 6c 30 4c 45 34 38 77 77 44 51 59 4a 4b 6f 5a 49 68 76 OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhv
1b7cc0 63 4e 41 51 45 4c 42 51 41 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 56 51 78 44 6a cNAQELBQAwazELMAkGA1UEBhMCSVQxDj
1b7ce0 41 4d 0a 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 49 51 59 44 56 51 51 4b 44 AM.BgNVBAcMBU1pbGFuMSMwIQYDVQQKD
1b7d00 42 70 42 59 33 52 68 62 47 6c 7a 49 46 4d 75 63 43 35 42 4c 69 38 77 4d 7a 4d 31 4f 44 55 79 4d BpBY3RhbGlzIFMucC5BLi8wMzM1ODUyM
1b7d20 44 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 0a 41 77 77 65 51 57 4e 30 59 57 78 70 63 79 42 42 Dk2NzEnMCUGA1UE.AwweQWN0YWxpcyBB
1b7d40 64 58 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 dXRoZW50aWNhdGlvbiBSb290IENBMB4X
1b7d60 44 54 45 78 4d 44 6b 79 4d 6a 45 78 4d 6a 49 77 4d 6c 6f 58 44 54 4d 77 4d 44 6b 79 0a 4d 6a 45 DTExMDkyMjExMjIwMloXDTMwMDky.MjE
1b7d80 78 4d 6a 49 77 4d 6c 6f 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 56 51 78 44 6a 41 xMjIwMlowazELMAkGA1UEBhMCSVQxDjA
1b7da0 4d 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 49 51 59 44 56 51 51 4b 44 42 70 MBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBp
1b7dc0 42 59 33 52 68 62 47 6c 7a 0a 49 46 4d 75 63 43 35 42 4c 69 38 77 4d 7a 4d 31 4f 44 55 79 4d 44 BY3RhbGlz.IFMucC5BLi8wMzM1ODUyMD
1b7de0 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 41 77 77 65 51 57 4e 30 59 57 78 70 63 79 42 42 64 58 k2NzEnMCUGA1UEAwweQWN0YWxpcyBBdX
1b7e00 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 30 0a 49 45 4e 42 4d 49 49 43 49 RoZW50aWNhdGlvbiBSb290.IENBMIICI
1b7e20 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 jANBgkqhkiG9w0BAQEFAAOCAg8AMIICC
1b7e40 67 4b 43 41 67 45 41 70 38 62 45 70 53 6d 6b 4c 4f 2f 6c 47 4d 57 77 55 4b 4e 76 55 54 75 66 43 gKCAgEAp8bEpSmkLO/lGMWwUKNvUTufC
1b7e60 6c 72 4a 0a 77 6b 67 34 43 73 49 63 6f 42 68 2f 6b 62 57 48 75 55 41 2f 33 52 31 6f 48 77 69 44 lrJ.wkg4CsIcoBh/kbWHuUA/3R1oHwiD
1b7e80 31 53 30 65 69 4b 44 34 6a 31 61 50 62 5a 6b 43 6b 70 41 57 31 56 38 49 62 49 6e 58 34 61 79 38 1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8
1b7ea0 49 4d 4b 78 34 49 4e 52 69 6d 6c 4e 41 4a 5a 61 0a 62 79 2f 41 52 48 36 6a 44 75 53 52 7a 56 6a IMKx4INRimlNAJZa.by/ARH6jDuSRzVj
1b7ec0 75 33 50 76 48 48 6b 56 48 33 53 65 35 43 41 47 66 70 69 45 64 39 55 45 74 4c 30 7a 39 4b 4b 33 u3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3
1b7ee0 67 69 71 30 69 74 46 5a 6c 6a 6f 5a 55 6a 35 4e 44 4b 64 34 35 52 6e 69 6a 4d 43 4f 36 0a 7a 66 giq0itFZljoZUj5NDKd45RnijMCO6.zf
1b7f00 42 39 45 31 66 41 58 64 4b 44 61 30 68 4d 78 4b 75 66 67 46 70 62 4f 72 33 4a 70 79 49 2f 67 43 B9E1fAXdKDa0hMxKufgFpbOr3JpyI/gC
1b7f20 63 7a 57 77 36 33 69 67 78 64 42 7a 63 49 79 32 7a 53 65 6b 63 69 52 44 58 46 7a 4d 77 75 6a 74 czWw63igxdBzcIy2zSekciRDXFzMwujt
1b7f40 30 71 37 62 64 39 5a 67 31 66 0a 59 56 45 69 56 52 76 6a 52 75 50 6a 50 64 41 31 59 70 72 62 72 0q7bd9Zg1f.YVEiVRvjRuPjPdA1Yprbr
1b7f60 78 54 49 57 36 48 4d 69 52 76 68 4d 43 62 38 6f 4a 73 66 67 61 64 48 48 77 54 72 6f 7a 6d 53 42 xTIW6HMiRvhMCb8oJsfgadHHwTrozmSB
1b7f80 70 2b 5a 30 37 2f 54 36 6b 39 51 6e 42 6e 2b 6c 6f 63 65 50 47 58 32 0a 6f 78 67 6b 67 34 59 51 p+Z07/T6k9QnBn+locePGX2.oxgkg4YQ
1b7fa0 35 31 51 2b 71 44 70 32 4a 45 2b 42 49 63 58 6a 44 77 4c 34 6b 35 52 48 49 4c 76 2b 31 41 37 54 51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7T
1b7fc0 61 4c 6e 64 78 48 71 45 67 75 4e 54 56 48 6e 64 32 35 7a 53 38 67 65 62 4c 72 61 38 50 75 32 46 aLndxHqEguNTVHnd25zS8gebLra8Pu2F
1b7fe0 62 65 38 6c 0a 45 66 4b 58 47 6b 4a 68 39 30 71 58 36 49 75 78 45 41 66 36 5a 59 47 79 6f 6a 6e be8l.EfKXGkJh90qX6IuxEAf6ZYGyojn
1b8000 50 39 7a 7a 2f 47 50 76 47 38 56 71 4c 57 65 49 43 72 48 75 53 30 45 34 55 54 31 6c 46 39 67 78 P9zz/GPvG8VqLWeICrHuS0E4UT1lF9gx
1b8020 65 4b 46 2b 77 36 44 39 46 7a 38 2b 76 6d 32 2f 37 0a 68 4e 4e 33 57 70 56 76 72 4a 53 45 6e 75 eKF+w6D9Fz8+vm2/7.hNN3WpVvrJSEnu
1b8040 36 38 77 45 71 50 53 70 50 34 52 43 48 69 4d 55 56 68 55 45 34 51 32 4f 4d 31 66 45 77 5a 74 4e 68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN
1b8060 34 46 76 36 4d 47 6e 38 69 31 7a 65 51 66 31 78 63 47 44 58 71 56 64 46 55 4e 61 42 72 38 0a 45 4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8.E
1b8080 42 74 69 5a 4a 31 74 34 4a 57 67 77 35 51 48 56 77 30 55 35 72 30 46 2b 37 69 66 35 74 2b 4c 34 BtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4
1b80a0 73 62 6e 66 70 62 32 55 38 57 41 4e 46 41 6f 57 50 41 53 55 48 45 58 4d 4c 72 6d 65 47 4f 38 39 sbnfpb2U8WANFAoWPASUHEXMLrmeGO89
1b80c0 4c 4b 74 6d 79 75 79 2f 75 45 35 0a 6a 46 36 36 43 79 43 55 33 6e 75 44 75 50 2f 6a 56 6f 32 33 LKtmyuy/uE5.jF66CyCU3nuDuP/jVo23
1b80e0 45 65 6b 37 6a 50 4b 78 77 56 32 64 70 41 74 4d 4b 39 6d 79 47 50 57 31 6e 30 73 43 41 77 45 41 Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEA
1b8100 41 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 46 4c 59 0a 69 44 72 49 6e 33 68 AaNjMGEwHQYDVR0OBBYEFFLY.iDrIn3h
1b8120 6d 37 59 6e 7a 65 7a 68 77 6c 4d 6b 43 41 6a 62 51 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 m7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQ
1b8140 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 55 74 69 49 4f 73 69 FMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsi
1b8160 66 65 47 62 74 0a 69 66 4e 37 4f 48 43 55 79 51 49 43 4e 74 41 77 44 67 59 44 56 52 30 50 41 51 feGbt.ifN7OHCUyQICNtAwDgYDVR0PAQ
1b8180 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 H/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4
1b81a0 49 43 41 51 41 4c 65 33 4b 48 77 47 43 6d 53 55 79 49 0a 57 4f 59 64 69 50 63 55 5a 45 69 6d 32 ICAQALe3KHwGCmSUyI.WOYdiPcUZEim2
1b81c0 46 67 4b 44 6b 38 54 4e 64 38 31 48 64 54 74 42 6a 48 49 67 54 35 71 31 64 30 37 47 6a 4c 75 6b FgKDk8TNd81HdTtBjHIgT5q1d07GjLuk
1b81e0 44 30 52 30 69 37 30 6a 73 4e 6a 4c 69 4e 6d 73 47 65 2b 62 37 62 41 45 7a 6c 67 71 71 49 30 0a D0R0i70jsNjLiNmsGe+b7bAEzlgqqI0.
1b8200 4a 5a 4e 31 55 74 36 6e 6e 61 30 4f 68 34 6c 53 63 57 6f 57 50 42 6b 64 67 2f 69 61 4b 57 57 2b JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+
1b8220 39 44 2b 61 32 66 44 7a 57 6f 63 68 63 59 42 4e 79 2b 41 34 6d 7a 2b 37 2b 75 41 77 54 63 2b 47 9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G
1b8240 30 32 55 51 47 52 6a 52 6c 77 4b 78 0a 4b 33 4a 43 61 4b 79 67 76 55 35 61 32 68 69 2f 61 35 69 02UQGRjRlwKx.K3JCaKygvU5a2hi/a5i
1b8260 42 30 50 32 61 76 6c 34 56 53 4d 30 52 46 62 6e 41 4b 56 79 30 36 49 6a 33 50 6a 61 75 74 32 4c B0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L
1b8280 39 48 6d 4c 65 63 48 67 51 48 45 68 62 32 72 79 6b 4f 4c 70 6e 37 56 55 2b 0a 58 6c 66 66 31 41 9HmLecHgQHEhb2rykOLpn7VU+.Xlff1A
1b82a0 4e 41 54 49 47 6b 30 6b 39 6a 70 77 6c 43 43 52 54 38 41 4b 6e 43 67 48 4e 50 4c 73 42 41 32 52 NATIGk0k9jpwlCCRT8AKnCgHNPLsBA2R
1b82c0 46 37 53 4f 70 36 41 73 44 54 36 79 67 42 4a 6c 68 30 77 63 42 7a 49 6d 32 54 6c 66 30 35 66 62 F7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fb
1b82e0 73 71 34 2f 61 43 0a 34 79 79 58 58 30 34 66 6b 5a 54 36 2f 69 79 6a 32 48 59 61 75 45 32 79 4f sq4/aC.4yyXX04fkZT6/iyj2HYauE2yO
1b8300 45 2b 62 2b 68 31 49 59 48 6b 6d 34 76 50 39 71 64 43 61 36 48 43 50 53 58 72 57 35 62 30 4b 44 E+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KD
1b8320 74 73 74 38 34 32 2f 36 2b 4f 6b 66 63 76 48 6c 58 48 6f 0a 32 71 4e 38 78 63 4c 34 64 4a 49 45 tst842/6+OkfcvHlXHo.2qN8xcL4dJIE
1b8340 47 34 61 73 70 43 4a 54 51 4c 61 73 2f 6b 78 32 7a 2f 75 55 4d 73 41 31 6e 33 59 2f 62 75 57 51 G4aspCJTQLas/kx2z/uUMsA1n3Y/buWQ
1b8360 62 71 43 6d 4a 71 4b 34 4c 4c 37 52 4b 34 58 39 70 32 6a 49 75 67 45 72 73 57 78 30 48 62 68 7a bqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
1b8380 0a 6c 65 66 75 74 38 63 6c 38 41 42 4d 41 4c 4a 2b 74 67 75 4c 48 50 50 41 55 4a 34 6c 75 65 41 .lefut8cl8ABMALJ+tguLHPPAUJ4lueA
1b83a0 49 33 6a 5a 6d 2f 7a 65 6c 30 62 74 55 5a 43 7a 4a 4a 37 56 4c 6b 6e 35 6c 2f 39 4d 74 34 62 6c I3jZm/zel0btUZCzJJ7VLkn5l/9Mt4bl
1b83c0 4f 76 48 2b 6b 51 53 47 51 51 58 65 6d 0a 4f 52 2f 71 6e 75 4f 66 30 47 5a 76 42 65 79 71 64 6e OvH+kQSGQQXem.OR/qnuOf0GZvBeyqdn
1b83e0 36 2f 61 78 61 67 36 37 58 48 2f 4a 4a 55 4c 79 73 52 4a 79 55 33 65 45 78 52 61 72 44 7a 7a 46 6/axag67XH/JJULysRJyU3eExRarDzzF
1b8400 68 64 46 50 46 71 53 42 58 2f 77 67 65 32 73 59 30 50 6a 6c 78 51 52 72 4d 39 0a 76 77 47 59 54 hdFPFqSBX/wge2sY0PjlxQRrM9.vwGYT
1b8420 37 4a 5a 56 45 63 2b 4e 48 74 34 62 56 61 54 4c 6e 50 71 5a 69 68 34 7a 52 30 55 76 36 43 50 4c 7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPL
1b8440 79 36 34 4c 6f 37 79 46 49 72 4d 36 62 56 38 2b 32 79 64 44 4b 58 68 6c 67 3d 3d 0a 2d 2d 2d 2d y64Lo7yFIrM6bV8+2ydDKXhlg==.----
1b8460 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 69 73 20 46 -END.CERTIFICATE-----..Trustis.F
1b8480 50 53 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d PS.Root.CA.===================.-
1b84a0 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 5a ----BEGIN.CERTIFICATE-----.MIIDZ
1b84c0 7a 43 43 41 6b 2b 67 41 77 49 42 41 67 49 51 47 78 2b 74 74 69 44 35 4a 4e 4d 32 61 2f 66 48 38 zCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8
1b84e0 59 79 67 57 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 46 4d 51 73 77 43 YygWTANBgkqhkiG9w0BAQUFADBFMQswC
1b8500 51 59 44 56 51 51 47 0a 45 77 4a 48 51 6a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 56 48 4a 31 QYDVQQG.EwJHQjEYMBYGA1UEChMPVHJ1
1b8520 63 33 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 77 77 47 67 59 44 56 51 51 4c 45 78 4e 55 c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNU
1b8540 63 6e 56 7a 64 47 6c 7a 49 45 5a 51 55 79 42 53 62 32 39 30 0a 49 45 4e 42 4d 42 34 58 44 54 41 cnVzdGlzIEZQUyBSb290.IENBMB4XDTA
1b8560 7a 4d 54 49 79 4d 7a 45 79 4d 54 51 77 4e 6c 6f 58 44 54 49 30 4d 44 45 79 4d 54 45 78 4d 7a 59 zMTIyMzEyMTQwNloXDTI0MDEyMTExMzY
1b8580 31 4e 46 6f 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 78 47 44 41 57 42 67 4e 1NFowRTELMAkGA1UEBhMCR0IxGDAWBgN
1b85a0 56 0a 42 41 6f 54 44 31 52 79 64 58 4e 30 61 58 4d 67 54 47 6c 74 61 58 52 6c 5a 44 45 63 4d 42 V.BAoTD1RydXN0aXMgTGltaXRlZDEcMB
1b85c0 6f 47 41 31 55 45 43 78 4d 54 56 48 4a 31 63 33 52 70 63 79 42 47 55 46 4d 67 55 6d 39 76 64 43 oGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdC
1b85e0 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 BDQTCCASIwDQYJ.KoZIhvcNAQEBBQADg
1b8600 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d 56 51 65 35 34 37 4e 64 44 66 78 49 7a 4e 6a gEPADCCAQoCggEBAMVQe547NdDfxIzNj
1b8620 70 76 74 6f 38 41 32 6d 66 52 43 36 71 63 2b 67 49 4d 50 70 71 64 5a 68 38 6d 51 0a 52 55 4e 2b pvto8A2mfRC6qc+gIMPpqdZh8mQ.RUN+
1b8640 41 4f 71 47 65 53 6f 44 76 54 30 33 6d 59 6c 6d 74 2b 57 4b 56 6f 61 54 6e 47 68 4c 61 41 53 4d AOqGeSoDvT03mYlmt+WKVoaTnGhLaASM
1b8660 6b 35 4d 43 50 6a 44 53 4e 7a 6f 69 59 59 6b 63 68 55 35 39 6a 39 57 76 65 7a 58 32 66 69 68 48 k5MCPjDSNzoiYYkchU59j9WvezX2fihH
1b8680 69 54 48 63 44 6e 6c 6b 0a 48 35 6e 53 57 37 72 2b 66 32 43 2f 72 65 76 6e 50 44 67 70 61 69 2f iTHcDnlk.H5nSW7r+f2C/revnPDgpai/
1b86a0 6c 6b 51 74 56 2f 2b 78 76 57 4e 55 74 79 64 35 4d 5a 6e 47 50 44 4e 63 45 32 67 66 6d 48 68 6a lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhj
1b86c0 6a 76 53 6b 43 71 50 6f 63 34 56 75 35 67 36 68 42 53 4c 77 61 0a 63 59 33 6e 59 75 55 74 73 75 jvSkCqPoc4Vu5g6hBSLwa.cY3nYuUtsu
1b86e0 76 66 66 4d 2f 62 71 31 72 4b 4d 66 46 4d 49 76 4d 46 45 2f 65 43 2b 58 4e 35 44 4c 37 58 53 78 vffM/bq1rKMfFMIvMFE/eC+XN5DL7XSx
1b8700 7a 41 30 52 55 38 6b 30 46 6b 30 65 61 2b 49 78 63 69 41 49 6c 65 48 32 75 6c 72 47 36 6e 53 34 zA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4
1b8720 7a 74 0a 6f 33 4c 6d 72 32 4e 4e 4c 34 58 53 46 44 57 61 4c 6b 36 4d 36 6a 4b 59 4b 49 61 68 6b zt.o3Lmr2NNL4XSFDWaLk6M6jKYKIahk
1b8740 51 6c 42 4f 72 54 68 34 2f 4c 36 38 4d 6b 4b 6f 6b 48 64 71 65 4d 44 78 34 67 56 4f 78 7a 55 47 QlBOrTh4/L68MkKokHdqeMDx4gVOxzUG
1b8760 70 54 58 6e 32 52 5a 45 6d 30 43 41 77 45 41 0a 41 61 4e 54 4d 46 45 77 44 77 59 44 56 52 30 54 pTXn2RZEm0CAwEA.AaNTMFEwDwYDVR0T
1b8780 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 53 36 AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6
1b87a0 2b 6e 45 6c 65 59 74 58 51 53 55 68 68 67 74 78 36 37 4a 6b 44 6f 73 68 5a 7a 41 64 0a 42 67 4e +nEleYtXQSUhhgtx67JkDoshZzAd.BgN
1b87c0 56 48 51 34 45 46 67 51 55 75 76 70 78 4a 58 6d 4c 56 30 45 6c 49 59 59 4c 63 65 75 79 5a 41 36 VHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6
1b87e0 4c 49 57 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 48 35 LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5
1b8800 59 2f 2f 30 31 47 58 32 63 0a 47 45 2b 65 73 43 75 38 6a 6f 77 55 2f 79 79 67 32 6b 64 62 77 2b Y//01GX2c.GE+esCu8jowU/yyg2kdbw+
1b8820 2b 42 4c 61 38 46 36 6e 52 49 57 2f 4d 2b 54 67 66 48 62 63 57 7a 6b 38 38 69 4e 56 79 32 50 33 +BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3
1b8840 55 6e 58 77 6d 57 7a 61 44 2b 76 6b 41 4d 58 42 4a 56 2b 4a 4f 43 0a 79 69 6e 70 58 6a 39 57 56 UnXwmWzaD+vkAMXBJV+JOC.yinpXj9WV
1b8860 34 73 34 4e 76 64 46 47 6b 77 6f 7a 5a 35 42 75 4f 31 57 54 49 53 6b 51 4d 69 34 73 4b 55 72 61 4s4NvdFGkwozZ5BuO1WTISkQMi4sKUra
1b8880 58 41 45 61 73 50 34 31 42 49 79 2b 51 37 44 73 64 77 79 68 45 51 73 62 38 74 47 44 2b 70 6d 51 XAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQ
1b88a0 51 39 50 0a 38 56 69 6c 70 67 30 4e 44 32 48 65 70 5a 35 64 66 57 57 68 50 42 66 6e 71 46 56 4f Q9P.8Vilpg0ND2HepZ5dfWWhPBfnqFVO
1b88c0 37 36 44 48 37 63 5a 45 66 31 54 31 6f 2b 43 50 38 48 78 56 49 6f 38 70 74 6f 47 6a 34 57 31 4f 76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1O
1b88e0 4c 42 75 41 5a 2b 79 74 49 4a 38 4d 59 6d 48 56 0a 6c 2f 39 44 37 53 33 42 32 6c 30 70 4b 6f 55 LBuAZ+ytIJ8MYmHV.l/9D7S3B2l0pKoU
1b8900 2f 72 47 58 75 68 67 38 46 6a 5a 42 66 33 2b 36 66 39 4c 2f 75 48 66 75 59 35 48 2b 51 4b 34 52 /rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R
1b8920 34 45 41 35 73 53 56 50 76 46 56 74 6c 52 6b 70 64 72 37 72 37 4f 6e 49 64 7a 66 59 6c 0a 69 42 4EA5sSVPvFVtlRkpdr7r7OnIdzfYl.iB
1b8940 36 58 7a 43 47 63 4b 51 45 4e 5a 65 74 58 32 66 4e 58 6c 72 74 49 7a 59 45 3d 0a 2d 2d 2d 2d 2d 6XzCGcKQENZetX2fNXlrtIzYE=.-----
1b8960 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 75 79 70 61 73 73 20 43 6c END.CERTIFICATE-----..Buypass.Cl
1b8980 61 73 73 20 32 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ass.2.Root.CA.==================
1b89a0 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1b89c0 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 77 49 42 41 67 49 42 41 6a 41 4e 42 67 6b 71 68 6b -.MIIFWTCCA0GgAwIBAgIBAjANBgkqhk
1b89e0 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f 54 7a iG9w0BAQsFADBOMQswCQYDVQQGEwJOTz
1b8a00 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a 51 6e 56 35 63 47 46 7a 63 79 42 42 55 79 30 35 4f EdMBsGA1UECgwU.QnV5cGFzcyBBUy05O
1b8a20 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 42 67 4e 56 42 41 4d 4d 46 30 4a 31 65 58 42 68 63 DMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc
1b8a40 33 4d 67 51 32 78 68 63 33 4d 67 4d 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 0a 44 54 45 77 3MgQ2xhc3MgMiBSb290IENBMB4X.DTEw
1b8a60 4d 54 41 79 4e 6a 41 34 4d 7a 67 77 4d 31 6f 58 44 54 51 77 4d 54 41 79 4e 6a 41 34 4d 7a 67 77 MTAyNjA4MzgwM1oXDTQwMTAyNjA4Mzgw
1b8a80 4d 31 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 54 6b 38 78 48 54 41 62 42 67 4e 56 M1owTjELMAkGA1UEBhMCTk8xHTAbBgNV
1b8aa0 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 4d 67 51 56 4d 74 4f 54 67 7a 4d 54 59 7a 4d 7a 49 BAoMFEJ1.eXBhc3MgQVMtOTgzMTYzMzI
1b8ac0 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 64 43 64 58 6c 77 59 58 4e 7a 49 45 4e 73 59 58 4e 3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXN
1b8ae0 7a 49 44 49 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 69 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 zIDIgUm9vdCBDQTCCAiIw.DQYJKoZIhv
1b8b00 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4e 66 48 58 76 cNAQEBBQADggIPADCCAgoCggIBANfHXv
1b8b20 66 42 42 39 52 33 2b 30 4d 68 39 50 54 31 61 65 54 75 4d 67 48 62 6f 34 59 66 35 46 6b 4e 75 75 fBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuu
1b8b40 64 31 0a 67 31 4c 72 36 68 78 68 46 55 69 37 48 51 66 4b 6a 4b 36 77 33 4a 61 64 36 73 4e 67 6b d1.g1Lr6hxhFUi7HQfKjK6w3Jad6sNgk
1b8b60 6f 61 43 4b 48 4f 63 56 67 62 2f 53 32 54 77 44 43 6f 33 53 62 58 6c 7a 77 78 38 37 76 46 4b 75 oaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu
1b8b80 33 4d 77 5a 66 50 56 4c 34 4f 32 66 75 50 6e 0a 39 5a 36 72 59 50 6e 54 38 5a 32 53 64 49 72 6b 3MwZfPVL4O2fuPn.9Z6rYPnT8Z2SdIrk
1b8ba0 48 4a 61 73 57 34 44 70 74 66 51 78 68 36 4e 52 2f 4d 64 2b 6f 57 2b 4f 55 33 66 55 6c 38 46 56 HJasW4DptfQxh6NR/Md+oW+OU3fUl8FV
1b8bc0 4d 35 49 2b 47 43 39 31 31 4b 32 47 53 63 75 56 72 31 51 47 62 4e 67 47 45 34 31 62 0a 2f 2b 45 M5I+GC911K2GScuVr1QGbNgGE41b./+E
1b8be0 6d 47 56 6e 41 4a 4c 71 42 63 58 6d 51 52 46 42 6f 4a 4a 52 66 75 4c 4d 52 38 53 6c 42 59 61 4e mGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaN
1b8c00 42 79 79 4d 32 31 63 48 78 4d 6c 41 51 54 6e 2f 30 68 70 50 73 68 4e 4f 4f 76 45 75 2f 58 41 46 ByyM21cHxMlAQTn/0hpPshNOOvEu/XAF
1b8c20 4f 42 7a 33 63 46 49 71 55 0a 43 71 54 71 63 2f 73 4c 55 65 67 54 42 78 6a 36 44 76 45 72 30 56 OBz3cFIqU.CqTqc/sLUegTBxj6DvEr0V
1b8c40 51 56 66 54 7a 68 39 37 51 5a 51 6d 64 69 58 6e 66 67 6f 6c 58 73 74 74 6c 70 46 39 55 36 72 30 QVfTzh97QZQmdiXnfgolXsttlpF9U6r0
1b8c60 54 74 53 73 57 65 35 48 6f 6e 66 4f 56 31 31 36 72 4c 4a 65 66 66 0a 61 77 72 62 44 30 32 54 54 TtSsWe5HonfOV116rLJeff.awrbD02TT
1b8c80 71 69 67 7a 58 73 75 38 6c 6b 42 61 72 63 4e 75 41 65 42 66 6f 73 34 47 7a 6a 6d 43 6c 65 5a 50 qigzXsu8lkBarcNuAeBfos4GzjmCleZP
1b8ca0 65 34 68 36 4b 50 31 44 42 62 64 69 2b 77 30 6a 70 77 71 48 41 41 56 46 34 31 6f 67 39 4a 77 6e e4h6KP1DBbdi+w0jpwqHAAVF41og9Jwn
1b8cc0 78 67 49 0a 7a 52 46 6f 31 63 6c 72 55 73 33 45 52 6f 2f 63 74 66 50 59 56 33 4d 65 36 5a 51 35 xgI.zRFo1clrUs3ERo/ctfPYV3Me6ZQ5
1b8ce0 42 4c 2f 54 33 6a 6a 65 74 46 50 73 61 52 79 69 66 73 53 50 35 42 74 77 72 66 4b 69 2b 66 76 33 BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3
1b8d00 46 6d 52 6d 61 5a 39 4a 55 61 4c 69 46 52 68 6e 0a 42 6b 70 2f 31 57 79 31 54 62 4d 7a 34 47 48 FmRmaZ9JUaLiFRhn.Bkp/1Wy1TbMz4GH
1b8d20 72 58 62 37 70 6d 41 38 79 31 78 31 4c 50 43 35 61 41 56 4b 52 43 66 4c 66 36 6f 33 59 42 6b 42 rXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkB
1b8d40 6a 71 68 48 6b 2f 73 4d 33 6e 68 52 53 50 2f 54 69 7a 50 4a 68 6b 39 48 39 5a 32 76 58 0a 55 71 jqhHk/sM3nhRSP/TizPJhk9H9Z2vX.Uq
1b8d60 36 2f 61 4b 74 41 51 36 42 58 4e 56 4e 34 38 46 50 34 59 55 49 48 5a 4d 62 58 62 35 74 4d 4f 41 6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA
1b8d80 31 6a 72 47 4b 76 4e 6f 75 69 63 77 6f 4e 39 53 47 39 64 4b 70 4e 36 6e 49 44 53 64 76 48 58 78 1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx
1b8da0 31 69 59 38 66 39 33 5a 48 73 0a 4d 2b 37 31 62 62 52 75 4d 47 6a 65 79 4e 59 6d 73 48 56 65 65 1iY8f93ZHs.M+71bbRuMGjeyNYmsHVee
1b8dc0 37 51 48 49 4a 69 68 64 6a 4b 34 54 57 78 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA
1b8de0 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 0a 56 52 30 4f 42 42 59 45 1UdEwEB/wQFMAMBAf8wHQYD.VR0OBBYE
1b8e00 46 4d 6d 41 64 2b 42 69 6b 6f 4c 31 52 70 7a 7a 75 76 64 4d 77 39 36 34 6f 36 30 35 4d 41 34 47 FMmAd+BikoL1RpzzuvdMw964o605MA4G
1b8e20 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0B
1b8e40 41 51 73 46 0a 41 41 4f 43 41 67 45 41 55 31 38 68 39 62 71 77 4f 6c 49 35 4c 4a 4b 77 62 41 44 AQsF.AAOCAgEAU18h9bqwOlI5LJKwbAD
1b8e60 4a 37 38 34 67 37 77 62 79 6c 70 37 70 70 48 52 2f 65 68 62 38 74 2f 57 32 2b 78 55 62 50 36 75 J784g7wbylp7ppHR/ehb8t/W2+xUbP6u
1b8e80 6d 77 48 4a 64 45 4c 46 78 37 72 78 50 34 36 32 73 0a 41 32 30 75 63 53 36 76 78 4f 4f 74 6f 37 mwHJdELFx7rxP462s.A20ucS6vxOOto7
1b8ea0 30 4d 45 61 65 30 2f 30 71 79 65 78 41 51 48 36 64 58 51 62 4c 41 72 76 51 73 57 64 5a 48 45 49 0MEae0/0qyexAQH6dXQbLArvQsWdZHEI
1b8ec0 6a 7a 49 56 45 70 4d 4d 70 67 68 71 39 47 71 78 33 74 4f 6c 75 77 6c 4e 35 45 34 30 45 49 0a 6f jzIVEpMMpghq9Gqx3tOluwlN5E40EI.o
1b8ee0 73 48 73 48 64 62 39 54 37 62 57 52 39 41 55 43 38 72 6d 79 72 56 37 64 33 35 42 48 31 36 44 78 sHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx
1b8f00 37 61 4d 4f 5a 61 77 50 35 61 42 51 57 39 67 6b 4f 4c 6f 2b 66 73 69 63 64 6c 39 73 7a 31 47 76 7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv
1b8f20 37 53 45 72 35 41 63 44 34 38 53 0a 61 71 2f 76 37 68 35 36 72 67 4a 4b 69 68 63 72 64 76 36 73 7SEr5AcD48S.aq/v7h56rgJKihcrdv6s
1b8f40 56 49 6b 6b 4c 45 38 2f 74 72 4b 6e 54 6f 79 6f 6b 5a 66 37 4b 63 5a 37 58 43 32 35 79 32 61 32 VIkkLE8/trKnToyokZf7KcZ7XC25y2a2
1b8f60 74 36 68 62 45 6c 47 46 74 51 6c 2b 59 6e 68 77 2f 71 6c 71 59 4c 59 64 0a 44 6e 6b 4d 2f 63 72 t6hbElGFtQl+Ynhw/qlqYLYd.DnkM/cr
1b8f80 71 4a 49 42 79 77 35 63 2f 38 6e 65 72 51 79 49 4b 78 2b 75 32 44 49 53 43 4c 49 42 72 51 59 6f qJIByw5c/8nerQyIKx+u2DISCLIBrQYo
1b8fa0 49 77 4f 75 6c 61 39 2b 5a 45 73 75 4b 31 56 36 41 44 4a 48 67 4a 67 67 32 53 4d 58 36 4f 42 45 IwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE
1b8fc0 31 2f 79 57 44 0a 4c 66 4a 36 76 39 72 39 6a 76 36 6c 79 30 55 73 48 38 53 49 55 36 35 33 44 74 1/yWD.LfJ6v9r9jv6ly0UsH8SIU653Dt
1b8fe0 6d 61 64 73 57 4f 4c 42 32 6a 75 74 58 73 4d 71 37 41 71 71 7a 33 30 58 70 4e 36 39 51 48 34 6b madsWOLB2jutXsMq7Aqqz30XpN69QH4k
1b9000 6a 33 49 6f 36 77 70 4a 39 71 7a 6f 36 79 73 6d 44 30 0a 6f 79 4c 51 49 2b 75 55 57 6e 70 70 33 j3Io6wpJ9qzo6ysmD0.oyLQI+uUWnpp3
1b9020 51 2b 2f 51 46 65 73 61 31 6c 51 32 61 4f 5a 34 57 37 2b 6a 51 46 35 4a 79 4d 56 33 70 4b 64 65 Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKde
1b9040 77 6c 4e 57 75 64 4c 53 44 42 61 47 4f 59 4b 62 65 61 50 34 4e 4b 37 35 74 39 38 62 69 47 43 0a wlNWudLSDBaGOYKbeaP4NK75t98biGC.
1b9060 77 57 67 35 54 62 53 59 57 47 5a 69 7a 45 71 51 58 73 50 36 4a 77 53 78 65 52 56 30 6d 63 79 2b wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+
1b9080 72 53 44 65 4a 6d 41 63 36 31 5a 52 70 71 50 71 35 4b 4d 2f 70 2f 39 68 33 50 46 61 54 57 77 79 rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwy
1b90a0 49 30 50 75 72 4b 6a 75 37 6b 6f 53 0a 43 54 78 64 63 63 4b 2b 65 66 72 43 68 32 67 64 43 2f 31 I0PurKju7koS.CTxdccK+efrCh2gdC/1
1b90c0 63 61 63 77 47 30 4a 70 39 56 4a 6b 71 79 54 6b 61 47 61 39 4c 4b 6b 50 7a 59 31 31 61 57 4f 49 cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOI
1b90e0 76 34 78 33 6b 71 64 62 51 43 74 43 65 76 39 65 42 43 66 48 4a 78 79 59 4e 0a 72 4a 67 57 56 71 v4x3kqdbQCtCev9eBCfHJxyYN.rJgWVq
1b9100 41 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 75 A=.-----END.CERTIFICATE-----..Bu
1b9120 79 70 61 73 73 20 43 6c 61 73 73 20 33 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ypass.Class.3.Root.CA.==========
1b9140 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1b9160 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 77 49 42 41 67 49 42 41 6a CATE-----.MIIFWTCCA0GgAwIBAgIBAj
1b9180 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d 51 73 77 43 51 59 44 56 51 ANBgkqhkiG9w0BAQsFADBOMQswCQYDVQ
1b91a0 51 47 45 77 4a 4f 54 7a 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a 51 6e 56 35 63 47 46 7a 63 QGEwJOTzEdMBsGA1UECgwU.QnV5cGFzc
1b91c0 79 42 42 55 79 30 35 4f 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 42 67 4e 56 42 41 4d 4d 46 yBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF
1b91e0 30 4a 31 65 58 42 68 63 33 4d 67 51 32 78 68 63 33 4d 67 4d 79 42 53 62 32 39 30 49 45 4e 42 4d 0J1eXBhc3MgQ2xhc3MgMyBSb290IENBM
1b9200 42 34 58 0a 44 54 45 77 4d 54 41 79 4e 6a 41 34 4d 6a 67 31 4f 46 6f 58 44 54 51 77 4d 54 41 79 B4X.DTEwMTAyNjA4Mjg1OFoXDTQwMTAy
1b9220 4e 6a 41 34 4d 6a 67 31 4f 46 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 54 6b 38 78 NjA4Mjg1OFowTjELMAkGA1UEBhMCTk8x
1b9240 48 54 41 62 42 67 4e 56 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 4d 67 51 56 4d 74 4f 54 67 HTAbBgNVBAoMFEJ1.eXBhc3MgQVMtOTg
1b9260 7a 4d 54 59 7a 4d 7a 49 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 64 43 64 58 6c 77 59 58 4e zMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXN
1b9280 7a 49 45 4e 73 59 58 4e 7a 49 44 4d 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 69 49 77 0a 44 51 zIENsYXNzIDMgUm9vdCBDQTCCAiIw.DQ
1b92a0 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 YJKoZIhvcNAQEBBQADggIPADCCAgoCgg
1b92c0 49 42 41 4b 58 61 43 70 55 57 55 4f 4f 56 38 6c 36 64 64 6a 45 47 4d 6e 71 62 38 52 42 32 75 41 IBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uA
1b92e0 43 61 74 56 49 32 7a 53 52 48 0a 73 4a 38 59 5a 4c 79 61 39 76 72 56 65 64 69 51 59 6b 77 69 4c CatVI2zSRH.sJ8YZLya9vrVediQYkwiL
1b9300 39 34 34 50 64 62 67 71 4f 6b 63 4c 4e 74 34 45 65 6d 4f 61 46 45 56 63 73 66 7a 4d 34 66 6b 6f 944PdbgqOkcLNt4EemOaFEVcsfzM4fko
1b9320 46 30 4c 58 4f 42 58 42 79 6f 77 39 63 33 45 4e 33 63 6f 54 52 69 52 0a 35 72 2f 56 55 76 31 78 F0LXOBXByow9c3EN3coTRiR.5r/VUv1x
1b9340 4c 58 41 2b 35 38 62 45 69 75 50 77 4b 41 76 30 64 70 69 68 69 34 64 56 73 6a 6f 54 2f 4c 63 2b LXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+
1b9360 4a 7a 65 4f 49 75 4f 6f 54 79 72 76 59 4c 73 39 74 7a 6e 44 44 67 46 48 6d 56 30 53 54 39 74 44 JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD
1b9380 2b 6c 65 68 0a 37 66 6d 64 76 68 46 48 4a 6c 73 54 6d 4b 74 64 46 6f 71 77 4e 78 78 58 6e 55 58 +leh.7fmdvhFHJlsTmKtdFoqwNxxXnUX
1b93a0 2f 69 4a 59 32 76 37 76 4b 42 33 74 76 68 32 50 58 30 44 4a 71 31 6c 31 73 44 50 47 7a 62 6a 6e /iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjn
1b93c0 69 61 7a 45 75 4f 51 41 6e 46 4e 34 34 77 4f 77 5a 0a 5a 6f 59 53 36 4a 31 79 46 68 4e 6b 55 73 iazEuOQAnFN44wOwZ.ZoYS6J1yFhNkUs
1b93e0 65 70 4e 78 7a 39 67 6a 44 74 68 42 67 64 39 4b 35 63 2f 33 41 54 41 4f 75 78 39 54 4e 36 53 39 epNxz9gjDthBgd9K5c/3ATAOux9TN6S9
1b9400 5a 56 2b 41 57 4e 53 32 6d 77 39 62 4d 6f 4e 6c 77 55 78 46 46 7a 54 57 73 4c 38 54 51 48 0a 32 ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH.2
1b9420 78 63 35 31 39 77 6f 65 32 76 31 6e 2f 4d 75 77 55 38 58 4b 68 44 7a 7a 4d 72 6f 36 2f 31 72 71 xc519woe2v1n/MuwU8XKhDzzMro6/1rq
1b9440 79 36 61 6e 79 32 43 62 67 54 55 55 67 47 54 4c 54 32 47 2f 48 37 38 33 2b 39 43 48 61 5a 72 37 y6any2CbgTUUgGTLT2G/H783+9CHaZr7
1b9460 37 6b 67 78 76 65 39 6f 4b 65 56 0a 2f 61 66 6d 69 53 54 59 7a 49 77 30 62 4f 49 6a 4c 39 6b 53 7kgxve9oKeV./afmiSTYzIw0bOIjL9kS
1b9480 47 69 47 35 56 5a 46 76 43 35 46 35 47 51 79 74 51 49 67 4c 63 4f 4a 36 30 67 37 59 61 45 69 37 GiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7
1b94a0 67 68 4d 35 45 46 6a 70 32 43 6f 48 78 68 4c 62 57 4e 76 53 4f 31 55 51 0a 52 77 55 56 5a 32 4a ghM5EFjp2CoHxhLbWNvSO1UQ.RwUVZ2J
1b94c0 2b 47 47 4f 6d 52 6a 38 4a 44 6c 51 79 58 72 38 4e 59 6e 6f 6e 37 34 44 6f 32 39 6c 4c 42 6c 6f +GGOmRj8JDlQyXr8NYnon74Do29lLBlo
1b94e0 33 57 69 58 51 43 42 4a 33 31 47 38 4a 55 4a 63 39 79 42 33 44 33 34 78 46 4d 46 62 47 30 32 53 3WiXQCBJ31G8JUJc9yB3D34xFMFbG02S
1b9500 72 5a 76 50 41 0a 58 70 61 63 77 38 54 76 77 33 78 72 69 7a 70 35 66 37 4e 4a 7a 7a 33 69 69 5a rZvPA.Xpacw8Tvw3xrizp5f7NJzz3iiZ
1b9520 2b 67 4d 45 75 46 75 5a 79 55 4a 48 6d 50 66 57 75 70 52 57 67 50 4b 39 44 78 32 68 7a 4c 61 62 +gMEuFuZyUJHmPfWupRWgPK9Dx2hzLab
1b9540 6a 4b 53 57 4a 74 79 4e 42 6a 59 74 31 67 44 31 69 71 0a 6a 36 47 38 42 61 56 6d 6f 73 38 62 64 jKSWJtyNBjYt1gD1iq.j6G8BaVmos8bd
1b9560 72 4b 45 5a 4c 46 4d 4f 56 4c 41 4d 4c 72 77 6a 45 73 43 73 4c 61 33 41 67 4d 42 41 41 47 6a 51 rKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQ
1b9580 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 0a jBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD.
1b95a0 56 52 30 4f 42 42 59 45 46 45 65 34 7a 66 2f 6c 62 2b 37 34 73 75 77 76 54 67 37 35 4a 62 43 4f VR0OBBYEFEe4zf/lb+74suwvTg75JbCO
1b95c0 50 47 76 44 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 71 PGvDMA4GA1UdDwEB/wQEAwIBBjANBgkq
1b95e0 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 41 43 41 6a 51 54 55 45 6b 4d 4a hkiG9w0BAQsF.AAOCAgEAACAjQTUEkMJ
1b9600 41 59 6d 44 76 34 6a 56 4d 31 7a 2b 73 34 6a 53 51 75 4b 46 76 64 76 6f 57 46 71 52 49 4e 79 7a AYmDv4jVM1z+s4jSQuKFvdvoWFqRINyz
1b9620 70 6b 4d 4c 79 50 50 67 4b 6e 39 69 42 35 62 74 62 32 69 55 73 70 4b 64 56 0a 63 53 51 79 39 73 pkMLyPPgKn9iB5btb2iUspKdV.cSQy9s
1b9640 67 4c 38 72 78 71 2b 4a 4f 73 73 67 66 43 58 35 2f 62 7a 4d 69 4b 71 72 35 71 62 2b 46 4a 45 4d gL8rxq+JOssgfCX5/bzMiKqr5qb+FJEM
1b9660 77 78 31 34 43 37 75 38 6a 59 6f 67 35 6b 56 2b 71 69 39 63 4b 70 4d 52 58 53 49 47 72 73 2f 43 wx14C7u8jYog5kV+qi9cKpMRXSIGrs/C
1b9680 49 42 4b 4d 2b 47 0a 75 49 41 65 71 63 77 52 70 54 7a 79 46 72 4e 48 6e 66 7a 53 67 43 48 45 79 IBKM+G.uIAeqcwRpTzyFrNHnfzSgCHEy
1b96a0 39 42 48 63 45 47 68 79 6f 4d 5a 43 43 78 74 38 6c 31 33 6e 49 6f 55 45 39 51 32 48 4a 4c 77 35 9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5
1b96c0 51 59 33 33 4b 62 6d 6b 4a 73 34 6a 31 78 72 47 30 61 47 0a 51 30 4a 66 50 67 45 48 55 31 52 64 QY33KbmkJs4j1xrG0aG.Q0JfPgEHU1Rd
1b96e0 5a 58 33 33 69 6e 4f 68 6d 6c 52 61 48 79 6c 44 46 43 66 43 68 51 2b 31 69 48 73 61 4f 35 53 33 ZX33inOhmlRaHylDFCfChQ+1iHsaO5S3
1b9700 48 57 43 6e 74 5a 7a 6e 4b 57 6c 58 57 70 75 54 65 6b 4d 77 47 77 50 58 59 73 68 41 70 71 72 38 HWCntZznKWlXWpuTekMwGwPXYshApqr8
1b9720 0a 5a 4f 52 4b 31 35 46 54 41 61 67 67 69 47 36 63 58 30 53 35 79 32 43 42 4e 4f 78 76 30 33 33 .ZORK15FTAaggiG6cX0S5y2CBNOxv033
1b9740 61 53 46 2f 72 74 4a 43 38 4c 61 6b 63 43 36 77 63 31 61 4a 6f 49 49 41 45 31 76 79 78 6a 79 2b aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+
1b9760 37 53 6a 45 4e 53 6f 59 63 36 2b 49 32 0a 4b 53 62 31 32 74 6a 45 38 6e 56 68 7a 33 36 75 64 6d 7SjENSoYc6+I2.KSb12tjE8nVhz36udm
1b9780 4e 4b 65 6b 42 6c 6b 34 66 34 48 6f 43 4d 68 75 57 47 31 6f 38 4f 2f 46 4d 73 59 4f 67 57 59 52 NKekBlk4f4HoCMhuWG1o8O/FMsYOgWYR
1b97a0 71 69 50 6b 4e 37 7a 54 6c 67 56 47 72 31 38 6f 6b 6d 41 57 69 44 53 4b 49 7a 0a 36 4d 6b 45 6b qiPkN7zTlgVGr18okmAWiDSKIz.6MkEk
1b97c0 62 49 52 4e 42 45 2b 36 74 42 44 47 52 38 44 6b 35 41 4d 2f 31 45 39 56 2f 52 42 62 75 48 4c 6f bIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLo
1b97e0 4c 37 72 79 57 50 4e 62 63 7a 6b 2b 44 61 71 61 4a 33 74 76 56 32 58 63 45 51 4e 74 67 34 31 33 L7ryWPNbczk+DaqaJ3tvV2XcEQNtg413
1b9800 4f 45 4d 58 62 75 67 0a 55 5a 54 4c 66 68 62 72 45 53 2b 6a 6b 6b 58 49 54 48 48 5a 76 4d 6d 5a OEMXbug.UZTLfhbrES+jkkXITHHZvMmZ
1b9820 55 6c 64 47 4c 31 44 50 76 54 56 70 39 44 30 56 7a 67 61 6c 4c 41 38 2b 39 6f 47 36 6c 4c 76 44 UldGL1DPvTVp9D0VzgalLA8+9oG6lLvD
1b9840 75 37 39 6c 65 4e 4b 47 65 66 39 4a 4f 78 71 44 44 50 44 65 0a 65 4f 7a 49 38 6b 31 4d 47 74 36 u79leNKGef9JOxqDDPDe.eOzI8k1MGt6
1b9860 43 4b 66 6a 42 57 74 72 74 37 75 59 6e 58 75 68 46 30 4a 30 63 55 61 68 6f 71 30 54 6a 30 49 74 CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0It
1b9880 71 34 2f 67 37 75 39 78 4e 31 32 54 79 55 62 37 6d 71 71 74 61 36 54 48 75 42 72 78 7a 76 78 4e q4/g7u9xN12TyUb7mqqta6THuBrxzvxN
1b98a0 69 0a 43 70 2f 48 75 5a 63 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d i.Cp/HuZc=.-----END.CERTIFICATE-
1b98c0 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c 65 53 65 63 20 47 6c 6f 62 61 6c 52 6f 6f 74 20 43 6c 61 73 73 ----..T-TeleSec.GlobalRoot.Class
1b98e0 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a .3.============================.
1b9900 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 -----BEGIN.CERTIFICATE-----.MIID
1b9920 77 7a 43 43 41 71 75 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 wzCCAqugAwIBAgIBATANBgkqhkiG9w0B
1b9940 41 51 73 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 AQsFADCBgjELMAkGA1UEBhMCREUxKzAp
1b9960 42 67 4e 56 42 41 6f 4d 0a 49 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 BgNVBAoM.IlQtU3lzdGVtcyBFbnRlcnB
1b9980 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 67 4e yaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgN
1b99a0 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 0a 63 6e 56 7a 64 43 42 44 5a 57 VBAsMFlQtU3lzdGVtcyBU.cnVzdCBDZW
1b99c0 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYy
1b99e0 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 4d 77 48 68 63 4e 4d 44 BHbG9iYWxSb290IENsYXNzIDMwHhcNMD
1b9a00 67 78 0a 4d 44 41 78 4d 54 41 79 4f 54 55 32 57 68 63 4e 4d 7a 4d 78 4d 44 41 78 4d 6a 4d 31 4f gx.MDAxMTAyOTU2WhcNMzMxMDAxMjM1O
1b9a20 54 55 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 TU5WjCBgjELMAkGA1UEBhMCREUxKzApB
1b9a40 67 4e 56 42 41 6f 4d 49 6c 51 74 55 33 6c 7a 0a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 gNVBAoMIlQtU3lz.dGVtcyBFbnRlcnBy
1b9a60 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNV
1b9a80 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 63 6e 56 7a 64 43 42 44 0a 5a 57 35 BAsMFlQtU3lzdGVtcyBUcnVzdCBD.ZW5
1b9aa0 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 0ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyB
1b9ac0 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 4d 77 67 67 45 69 4d 41 30 HbG9iYWxSb290IENsYXNzIDMwggEiMA0
1b9ae0 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f GCSqGSIb3.DQEBAQUAA4IBDwAwggEKAo
1b9b00 49 42 41 51 43 39 64 5a 50 77 59 69 4a 76 4a 4b 37 67 65 6e 61 73 66 62 33 5a 4a 4e 57 34 74 2f IBAQC9dZPwYiJvJK7genasfb3ZJNW4t/
1b9b20 7a 4e 38 45 4c 67 36 33 69 49 56 6c 36 62 6d 6c 51 64 54 51 79 4b 0a 39 74 50 50 63 50 52 53 74 zN8ELg63iIVl6bmlQdTQyK.9tPPcPRSt
1b9b40 64 69 54 42 4f 4e 47 68 6e 46 42 53 69 76 77 4b 69 78 56 41 39 5a 49 77 2b 41 35 4f 4f 33 79 58 diTBONGhnFBSivwKixVA9ZIw+A5OO3yX
1b9b60 44 77 2f 52 4c 79 54 50 57 47 72 54 73 30 4e 76 76 41 67 4a 31 67 4f 52 48 38 45 47 6f 65 6c 31 Dw/RLyTPWGrTs0NvvAgJ1gORH8EGoel1
1b9b80 35 59 55 0a 4e 70 44 51 53 58 75 68 64 66 73 61 61 33 4f 78 2b 4d 36 70 43 53 7a 79 55 39 58 44 5YU.NpDQSXuhdfsaa3Ox+M6pCSzyU9XD
1b9ba0 46 45 53 34 68 71 58 32 69 79 73 35 32 71 4d 7a 56 4e 6e 36 63 68 72 33 49 68 55 63 69 4a 46 72 FES4hqX2iys52qMzVNn6chr3IhUciJFr
1b9bc0 66 32 62 6c 77 32 71 41 73 43 54 7a 33 34 5a 46 0a 69 50 30 5a 66 33 57 48 48 78 2b 78 47 77 70 f2blw2qAsCTz34ZF.iP0Zf3WHHx+xGwp
1b9be0 7a 4a 46 75 35 5a 65 41 73 56 4d 68 67 30 32 59 58 50 2b 48 4d 56 44 4e 7a 6b 51 49 36 70 6e 39 zJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn9
1b9c00 37 64 6a 6d 69 48 35 61 32 4f 4b 36 31 79 4a 4e 30 48 5a 36 35 74 4f 56 67 6e 53 39 57 0a 30 65 7djmiH5a2OK61yJN0HZ65tOVgnS9W.0e
1b9c20 44 72 58 6c 74 4d 45 6e 41 4d 62 45 51 67 71 78 48 59 39 42 6e 32 30 70 78 53 4e 2b 66 36 74 73 DrXltMEnAMbEQgqxHY9Bn20pxSN+f6ts
1b9c40 49 78 4f 30 72 55 46 4a 6d 74 78 78 72 31 58 56 2f 36 42 37 68 38 44 52 2f 57 67 78 36 7a 41 67 IxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAg
1b9c60 4d 42 41 41 47 6a 51 6a 42 41 0a 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 MBAAGjQjBA.MA8GA1UdEwEB/wQFMAMBA
1b9c80 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 f8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdD
1b9ca0 67 51 57 42 42 53 31 41 2f 64 32 4f 32 47 43 61 68 4b 71 47 46 50 72 0a 41 79 47 55 76 2f 37 4f gQWBBS1A/d2O2GCahKqGFPr.AyGUv/7O
1b9cc0 79 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 56 6a 33 76 yjANBgkqhkiG9w0BAQsFAAOCAQEAVj3v
1b9ce0 6c 4e 57 39 32 6e 4f 79 57 4c 36 75 6b 4b 32 59 4a 35 66 2b 41 62 47 77 55 67 43 34 54 65 51 62 lNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQb
1b9d00 49 58 51 62 0a 66 73 44 75 58 6d 6b 71 4a 61 39 63 31 68 33 61 30 6e 6e 4a 38 35 63 70 34 49 61 IXQb.fsDuXmkqJa9c1h3a0nnJ85cp4Ia
1b9d20 48 33 67 52 5a 44 2f 46 5a 31 47 53 46 53 35 6d 76 4a 51 51 65 79 55 61 70 6c 39 36 43 73 68 74 H3gRZD/FZ1GSFS5mvJQQeyUapl96Csht
1b9d40 77 6e 35 7a 32 72 33 45 78 33 58 73 46 70 53 7a 54 0a 75 63 70 48 39 73 72 79 39 75 65 74 75 55 wn5z2r3Ex3XsFpSzT.ucpH9sry9uetuU
1b9d60 67 2f 76 42 61 33 77 57 33 30 36 67 6d 76 37 50 4f 31 35 77 57 65 70 68 36 4b 55 31 48 57 6b 34 g/vBa3wW306gmv7PO15wWeph6KU1HWk4
1b9d80 48 4d 64 4a 50 32 75 64 71 6d 4a 51 56 30 65 56 70 2b 51 44 36 43 53 79 59 52 4d 47 37 68 0a 50 HMdJP2udqmJQV0eVp+QD6CSyYRMG7h.P
1b9da0 30 48 48 52 77 41 31 31 66 58 54 39 31 51 2b 67 54 33 61 53 57 71 61 73 2b 38 51 50 65 62 72 62 0HHRwA11fXT91Q+gT3aSWqas+8QPebrb
1b9dc0 39 48 49 49 6b 66 4c 7a 4d 38 42 4d 5a 4c 5a 47 4f 4d 69 76 67 6b 65 47 6a 35 61 73 75 52 72 44 9HIIkfLzM8BMZLZGOMivgkeGj5asuRrD
1b9de0 46 52 36 66 55 4e 4f 75 49 6d 6c 0a 65 39 65 69 50 5a 61 47 7a 50 49 6d 4e 43 31 71 6b 70 32 61 FR6fUNOuIml.e9eiPZaGzPImNC1qkp2a
1b9e00 47 74 41 77 34 6c 31 4f 42 4c 42 66 69 79 42 2b 64 38 45 39 6c 59 4c 52 52 70 6f 37 50 48 69 34 GtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4
1b9e20 62 36 48 51 44 57 53 69 65 42 34 70 54 70 50 44 70 46 51 55 57 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e b6HQDWSieB4pTpPDpFQUWw==.-----EN
1b9e40 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 45 20 43 65 72 74 69 66 69 63 61 D.CERTIFICATE-----..EE.Certifica
1b9e60 74 69 6f 6e 20 43 65 6e 74 72 65 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.Centre.Root.CA.============
1b9e80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1b9ea0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 41 7a 43 43 41 75 75 67 41 77 49 42 ERTIFICATE-----.MIIEAzCCAuugAwIB
1b9ec0 41 67 49 51 56 49 44 35 6f 48 50 74 50 77 42 4d 79 6f 6e 59 34 33 48 6d 53 6a 41 4e 42 67 6b 71 AgIQVID5oHPtPwBMyonY43HmSjANBgkq
1b9ee0 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 31 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a hkiG9w0BAQUFADB1MQswCQYDVQQG.EwJ
1b9f00 46 52 54 45 69 4d 43 41 47 41 31 55 45 43 67 77 5a 51 56 4d 67 55 32 56 79 64 47 6c 6d 61 58 52 FRTEiMCAGA1UECgwZQVMgU2VydGlmaXR
1b9f20 7a 5a 57 56 79 61 57 31 70 63 32 74 6c 63 32 74 31 63 7a 45 6f 4d 43 59 47 41 31 55 45 41 77 77 zZWVyaW1pc2tlc2t1czEoMCYGA1UEAww
1b9f40 66 52 55 55 67 51 32 56 79 0a 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 44 5a 57 35 30 63 6d fRUUgQ2Vy.dGlmaWNhdGlvbiBDZW50cm
1b9f60 55 67 55 6d 39 76 64 43 42 44 51 54 45 59 4d 42 59 47 43 53 71 47 53 49 62 33 44 51 45 4a 41 52 UgUm9vdCBDQTEYMBYGCSqGSIb3DQEJAR
1b9f80 59 4a 63 47 74 70 51 48 4e 72 4c 6d 56 6c 4d 43 49 59 44 7a 49 77 0a 4d 54 41 78 4d 44 4d 77 4d YJcGtpQHNrLmVlMCIYDzIw.MTAxMDMwM
1b9fa0 54 41 78 4d 44 4d 77 57 68 67 50 4d 6a 41 7a 4d 44 45 79 4d 54 63 79 4d 7a 55 35 4e 54 6c 61 4d TAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaM
1b9fc0 48 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 46 4d 53 49 77 49 41 59 44 56 51 51 4b 44 HUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKD
1b9fe0 42 6c 42 0a 55 79 42 54 5a 58 4a 30 61 57 5a 70 64 48 4e 6c 5a 58 4a 70 62 57 6c 7a 61 32 56 7a BlB.UyBTZXJ0aWZpdHNlZXJpbWlza2Vz
1ba000 61 33 56 7a 4d 53 67 77 4a 67 59 44 56 51 51 44 44 42 39 46 52 53 42 44 5a 58 4a 30 61 57 5a 70 a3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZp
1ba020 59 32 46 30 61 57 39 75 49 45 4e 6c 62 6e 52 79 0a 5a 53 42 53 62 32 39 30 49 45 4e 42 4d 52 67 Y2F0aW9uIENlbnRy.ZSBSb290IENBMRg
1ba040 77 46 67 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 6b 42 46 67 6c 77 61 32 6c 41 63 32 73 75 5a 57 55 wFgYJKoZIhvcNAQkBFglwa2lAc2suZWU
1ba060 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 0a 44 77 wggEiMA0GCSqGSIb3DQEBAQUAA4IB.Dw
1ba080 41 77 67 67 45 4b 41 6f 49 42 41 51 44 49 49 4d 44 73 34 4d 56 4c 71 77 64 34 6c 66 4e 45 37 76 AwggEKAoIBAQDIIMDs4MVLqwd4lfNE7v
1ba0a0 73 4c 44 50 39 30 6a 6d 47 37 73 57 4c 71 49 39 69 72 6f 57 55 79 65 75 75 4f 46 30 2b 57 32 41 sLDP90jmG7sWLqI9iroWUyeuuOF0+W2A
1ba0c0 70 37 6b 61 4a 6a 62 4d 65 4d 0a 54 43 35 35 76 36 6b 46 2f 47 6c 63 6c 59 31 69 2b 62 6c 77 37 p7kaJjbMeM.TC55v6kF/GlclY1i+blw7
1ba0e0 63 4e 52 66 64 43 54 35 6d 7a 72 4d 45 76 68 76 48 32 2f 55 70 76 4f 62 6e 74 6c 38 6a 69 78 77 cNRfdCT5mzrMEvhvH2/UpvObntl8jixw
1ba100 4b 49 79 37 32 4b 79 61 4f 42 68 55 38 45 32 6c 66 2f 73 6c 4c 6f 32 0a 72 70 77 63 70 7a 49 50 KIy72KyaOBhU8E2lf/slLo2.rpwcpzIP
1ba120 35 58 79 30 78 6d 39 30 2f 58 73 59 36 4b 78 58 37 51 59 67 53 7a 49 77 57 46 76 39 7a 61 6a 6d 5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajm
1ba140 6f 66 78 77 76 49 36 53 63 39 75 58 70 33 77 68 72 6a 33 42 39 55 69 48 62 43 65 39 6e 79 56 30 ofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0
1ba160 67 56 57 77 0a 39 33 58 32 50 61 52 6b 61 39 5a 50 35 38 35 41 72 51 2f 64 4d 74 4f 38 69 68 4a gVWw.93X2PaRka9ZP585ArQ/dMtO8ihJ
1ba180 54 6d 4d 6d 4a 2b 78 41 64 54 58 37 4e 66 68 39 57 44 53 46 77 68 66 59 67 67 78 2f 32 75 68 38 TmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8
1ba1a0 45 6a 2b 70 33 69 44 58 45 2f 2b 70 4f 6f 59 74 4e 0a 50 32 4d 62 52 4d 4e 45 31 43 56 32 79 72 Ej+p3iDXE/+pOoYtN.P2MbRMNE1CV2yr
1ba1c0 65 4e 31 78 35 4b 5a 6d 54 4e 58 4d 57 63 67 2b 48 43 43 49 69 61 37 45 36 6a 38 54 34 63 4c 4e eN1x5KZmTNXMWcg+HCCIia7E6j8T4cLN
1ba1e0 6c 73 48 61 46 4c 41 67 4d 42 41 41 47 6a 67 59 6f 77 67 59 63 77 44 77 59 44 56 52 30 54 0a 41 lsHaFLAgMBAAGjgYowgYcwDwYDVR0T.A
1ba200 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 QH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCA
1ba220 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 4c 79 57 6a 37 71 56 68 79 2f 7a 51 61 73 38 QYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8
1ba240 66 45 6c 79 61 6c 4c 31 42 53 5a 0a 4d 45 55 47 41 31 55 64 4a 51 51 2b 4d 44 77 47 43 43 73 47 fElyalL1BSZ.MEUGA1UdJQQ+MDwGCCsG
1ba260 41 51 55 46 42 77 4d 43 42 67 67 72 42 67 45 46 42 51 63 44 41 51 59 49 4b 77 59 42 42 51 55 48 AQUFBwMCBggrBgEFBQcDAQYIKwYBBQUH
1ba280 41 77 4d 47 43 43 73 47 41 51 55 46 42 77 4d 45 42 67 67 72 42 67 45 46 0a 42 51 63 44 43 41 59 AwMGCCsGAQUFBwMEBggrBgEF.BQcDCAY
1ba2a0 49 4b 77 59 42 42 51 55 48 41 77 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 IKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQA
1ba2c0 44 67 67 45 42 41 48 76 32 35 4d 41 4e 71 68 6c 48 74 30 31 58 6f 2f 36 74 75 37 46 71 31 51 2b DggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+
1ba2e0 65 32 2b 52 6a 0a 78 59 36 68 55 46 61 54 6c 72 67 34 77 43 51 69 5a 72 78 54 46 47 47 56 76 39 e2+Rj.xY6hUFaTlrg4wCQiZrxTFGGVv9
1ba300 44 48 4b 70 59 35 50 33 30 6f 73 78 42 41 49 57 72 45 72 37 42 53 64 78 6a 68 6c 74 68 57 58 65 DHKpY5P30osxBAIWrEr7BSdxjhlthWXe
1ba320 50 64 4e 6c 34 64 70 31 42 55 6f 4d 55 71 35 4b 71 4d 0a 6c 49 70 50 6e 54 58 2f 64 71 51 47 45 PdNl4dp1BUoMUq5KqM.lIpPnTX/dqQGE
1ba340 35 47 69 6f 6e 30 41 52 44 39 56 30 34 49 38 47 74 56 62 76 46 5a 4d 49 69 35 47 51 34 6f 6b 51 5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQ
1ba360 43 33 7a 45 72 67 37 63 42 71 6b 6c 72 6b 61 72 34 64 42 47 6d 6f 59 44 51 5a 50 78 7a 35 75 0a C3zErg7cBqklrkar4dBGmoYDQZPxz5u.
1ba380 75 53 6c 4e 44 55 6d 4a 45 59 63 79 57 2b 5a 4c 42 4d 6a 6b 58 4f 5a 30 63 35 52 64 46 70 67 54 uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgT
1ba3a0 6c 66 37 37 32 37 46 45 35 54 70 77 72 44 64 72 35 72 4d 7a 63 69 6a 4a 73 31 65 67 39 67 49 57 lf7727FE5TpwrDdr5rMzcijJs1eg9gIW
1ba3c0 69 41 59 4c 74 71 5a 4c 49 43 6a 55 0a 33 6a 32 4c 72 54 63 46 55 33 54 2b 62 73 79 38 51 78 64 iAYLtqZLICjU.3j2LrTcFU3T+bsy8Qxd
1ba3e0 78 58 76 6e 46 7a 42 71 70 59 65 37 33 64 67 7a 7a 63 76 52 79 72 63 39 79 41 6a 59 48 52 38 2f xXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/
1ba400 76 47 56 43 4a 59 4d 7a 70 4a 4a 55 50 77 73 73 64 38 6d 39 32 6b 4d 66 4d 0a 64 63 47 57 78 5a vGVCJYMzpJJUPwssd8m92kMfM.dcGWxZ
1ba420 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 2d 0=.-----END.CERTIFICATE-----..D-
1ba440 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 73 20 33 20 43 41 20 32 20 32 30 30 39 0a 3d 3d 3d TRUST.Root.Class.3.CA.2.2009.===
1ba460 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1ba480 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 7a 43 43 -BEGIN.CERTIFICATE-----.MIIEMzCC
1ba4a0 41 78 75 67 41 77 49 42 41 67 49 44 43 59 50 7a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 AxugAwIBAgIDCYPzMA0GCSqGSIb3DQEB
1ba4c0 43 77 55 41 4d 45 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 CwUAME0xCzAJBgNVBAYTAkRFMRUwEwYD
1ba4e0 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4a 7a 41 6c 42 67 4e VQQK.DAxELVRydXN0IEdtYkgxJzAlBgN
1ba500 56 42 41 4d 4d 48 6b 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 VBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyA
1ba520 7a 49 45 4e 42 49 44 49 67 4d 6a 41 77 4f 54 41 65 0a 46 77 30 77 4f 54 45 78 4d 44 55 77 4f 44 zIENBIDIgMjAwOTAe.Fw0wOTExMDUwOD
1ba540 4d 31 4e 54 68 61 46 77 30 79 4f 54 45 78 4d 44 55 77 4f 44 4d 31 4e 54 68 61 4d 45 30 78 43 7a M1NThaFw0yOTExMDUwODM1NThaME0xCz
1ba560 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 44 41 78 45 0a 4c AJBgNVBAYTAkRFMRUwEwYDVQQKDAxE.L
1ba580 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 51 74 56 VRydXN0IEdtYkgxJzAlBgNVBAMMHkQtV
1ba5a0 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 4d FJVU1QgUm9vdCBDbGFzcyAzIENBIDIgM
1ba5c0 6a 41 77 4f 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 jAwOTCCASIw.DQYJKoZIhvcNAQEBBQAD
1ba5e0 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 4f 79 53 73 39 36 52 2b 39 31 6d 79 50 36 ggEPADCCAQoCggEBANOySs96R+91myP6
1ba600 4f 69 2f 57 55 45 57 4a 4e 54 72 47 61 39 76 2b 32 77 42 6f 71 4f 41 44 0a 45 52 30 33 55 41 69 Oi/WUEWJNTrGa9v+2wBoqOAD.ER03UAi
1ba620 66 54 55 70 6f 6c 44 57 7a 55 39 47 55 59 36 63 67 56 71 2f 65 55 58 6a 73 4b 6a 33 7a 53 45 68 fTUpolDWzU9GUY6cgVq/eUXjsKj3zSEh
1ba640 51 50 67 72 66 52 6c 57 4c 4a 32 33 44 45 45 30 4e 6b 56 4a 44 32 49 66 67 58 55 34 32 74 53 48 QPgrfRlWLJ23DEE0NkVJD2IfgXU42tSH
1ba660 4b 58 7a 6c 41 0a 42 46 39 62 66 73 79 6a 78 69 75 70 51 42 37 5a 4e 6f 54 57 53 50 4f 53 48 6a KXzlA.BF9bfsyjxiupQB7ZNoTWSPOSHj
1ba680 52 47 49 43 54 42 70 46 47 4f 53 68 72 76 55 44 39 70 58 52 6c 2f 52 63 50 48 41 59 39 52 79 53 RGICTBpFGOShrvUD9pXRl/RcPHAY9RyS
1ba6a0 50 6f 63 71 36 30 76 46 59 4a 66 78 4c 4c 48 4c 47 76 0a 4b 5a 41 4b 79 56 58 4d 44 39 4f 30 47 Pocq60vFYJfxLLHLGv.KZAKyVXMD9O0G
1ba6c0 75 31 48 4e 56 70 4b 37 5a 78 7a 42 43 48 51 71 72 30 4d 45 37 55 41 79 69 5a 73 78 47 73 4d 6c u1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMl
1ba6e0 46 71 56 6c 4e 70 51 6d 76 48 2f 70 53 74 6d 4d 61 54 4a 4f 4b 44 66 48 52 2b 34 43 53 37 7a 0a FqVlNpQmvH/pStmMaTJOKDfHR+4CS7z.
1ba700 70 2b 68 6e 55 71 75 56 48 2b 42 47 50 74 69 6b 77 38 70 61 78 54 47 41 36 45 69 61 6e 35 52 70 p+hnUquVH+BGPtikw8paxTGA6Eian5Rp
1ba720 2f 68 6e 64 32 48 4e 38 67 63 71 57 33 6f 37 74 73 7a 49 46 5a 59 51 30 35 75 62 39 56 78 43 31 /hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1
1ba740 58 33 61 2f 4c 37 41 51 44 63 55 43 0a 41 77 45 41 41 61 4f 43 41 52 6f 77 67 67 45 57 4d 41 38 X3a/L7AQDcUC.AwEAAaOCARowggEWMA8
1ba760 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBY
1ba780 45 46 50 33 61 46 4d 53 66 4d 4e 34 68 76 52 35 43 4f 66 79 72 59 79 4e 4a 0a 34 50 47 45 4d 41 EFP3aFMSfMN4hvR5COfyrYyNJ.4PGEMA
1ba7a0 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 43 42 30 77 59 44 56 52 30 66 42 49 4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBI
1ba7c0 48 4c 4d 49 48 49 4d 49 47 41 6f 48 36 67 66 49 5a 36 62 47 52 68 63 44 6f 76 4c 32 52 70 63 6d HLMIHIMIGAoH6gfIZ6bGRhcDovL2Rpcm
1ba7e0 56 6a 64 47 39 79 0a 65 53 35 6b 4c 58 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 54 6a 31 45 4c VjdG9y.eS5kLXRydXN0Lm5ldC9DTj1EL
1ba800 56 52 53 56 56 4e 55 4a 54 49 77 55 6d 39 76 64 43 55 79 4d 45 4e 73 59 58 4e 7a 4a 54 49 77 4d VRSVVNUJTIwUm9vdCUyMENsYXNzJTIwM
1ba820 79 55 79 4d 45 4e 42 4a 54 49 77 4d 69 55 79 4d 44 49 77 0a 4d 44 6b 73 54 7a 31 45 4c 56 52 79 yUyMENBJTIwMiUyMDIw.MDksTz1ELVRy
1ba840 64 58 4e 30 4a 54 49 77 52 32 31 69 53 43 78 44 50 55 52 46 50 32 4e 6c 63 6e 52 70 5a 6d 6c 6a dXN0JTIwR21iSCxDPURFP2NlcnRpZmlj
1ba860 59 58 52 6c 63 6d 56 32 62 32 4e 68 64 47 6c 76 62 6d 78 70 63 33 51 77 51 36 42 42 6f 44 2b 47 YXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
1ba880 0a 50 57 68 30 64 48 41 36 4c 79 39 33 64 33 63 75 5a 43 31 30 63 6e 56 7a 64 43 35 75 5a 58 51 .PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQ
1ba8a0 76 59 33 4a 73 4c 32 51 74 64 48 4a 31 63 33 52 66 63 6d 39 76 64 46 39 6a 62 47 46 7a 63 31 38 vY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18
1ba8c0 7a 58 32 4e 68 58 7a 4a 66 4d 6a 41 77 0a 4f 53 35 6a 63 6d 77 77 44 51 59 4a 4b 6f 5a 49 68 76 zX2NhXzJfMjAw.OS5jcmwwDQYJKoZIhv
1ba8e0 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 48 2b 58 32 7a 44 49 33 36 53 63 66 53 46 36 67 48 cNAQELBQADggEBAH+X2zDI36ScfSF6gH
1ba900 44 4f 46 42 4a 70 69 42 53 56 59 45 51 42 72 4c 4c 70 4d 45 2b 62 55 4d 4a 6d 0a 32 48 36 4e 4d DOFBJpiBSVYEQBrLLpME+bUMJm.2H6NM
1ba920 4c 56 77 4d 65 6e 69 61 63 66 7a 63 4e 73 67 46 59 62 51 44 66 43 2b 72 41 46 31 68 4d 35 2b 6e LVwMeniacfzcNsgFYbQDfC+rAF1hM5+n
1ba940 30 32 2f 74 32 41 37 6e 50 50 4b 48 65 4a 65 61 4e 69 6a 6e 5a 66 6c 51 47 44 53 4e 69 48 2b 30 02/t2A7nPPKHeJeaNijnZflQGDSNiH+0
1ba960 4c 53 34 46 39 70 30 0a 6f 33 2f 55 33 37 43 59 41 71 78 76 61 32 73 73 4a 53 52 79 6f 57 58 75 LS4F9p0.o3/U37CYAqxva2ssJSRyoWXu
1ba980 4a 56 72 6c 35 6a 4c 6e 38 74 2b 72 53 66 72 7a 6b 47 6b 6a 32 77 54 5a 35 31 78 59 2f 47 58 55 JVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXU
1ba9a0 6c 37 37 4d 2f 43 34 4b 7a 43 55 71 4e 51 54 34 59 4a 45 56 0a 64 54 31 42 2f 79 4d 66 47 63 68 l77M/C4KzCUqNQT4YJEV.dT1B/yMfGch
1ba9c0 73 36 34 4a 54 42 4b 62 6b 54 43 4a 4e 6a 59 79 36 7a 6c 74 7a 37 47 52 55 55 47 33 52 6e 46 58 s64JTBKbkTCJNjYy6zltz7GRUUG3RnFX
1ba9e0 37 61 63 4d 32 77 34 79 38 50 49 57 6d 61 77 6f 6d 44 65 43 54 6d 47 43 75 66 73 59 6b 6c 34 70 7acM2w4y8PIWmawomDeCTmGCufsYkl4p
1baa00 68 0a 58 35 47 4f 5a 70 49 4a 68 7a 62 4e 69 35 73 74 50 76 5a 52 31 46 44 55 57 53 69 39 67 2f h.X5GOZpIJhzbNi5stPvZR1FDUWSi9g/
1baa20 4c 4d 4b 48 74 54 68 6d 33 59 4a 6f 68 77 31 2b 71 52 7a 54 36 35 79 73 43 51 62 6c 72 47 58 6e LMKHtThm3YJohw1+qRzT65ysCQblrGXn
1baa40 52 6c 31 31 7a 2b 6f 2b 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d Rl11z+o+I=.-----END.CERTIFICATE-
1baa60 2d 2d 2d 2d 0a 0a 44 2d 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 73 20 33 20 43 41 20 32 20 ----..D-TRUST.Root.Class.3.CA.2.
1baa80 45 56 20 32 30 30 39 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d EV.2009.========================
1baaa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1baac0 2d 2d 2d 2d 2d 0a 4d 49 49 45 51 7a 43 43 41 79 75 67 41 77 49 42 41 67 49 44 43 59 50 30 4d 41 -----.MIIEQzCCAyugAwIBAgIDCYP0MA
1baae0 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 46 41 78 43 7a 41 4a 42 67 4e 56 42 41 0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBA
1bab00 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 YTAkRFMRUwEwYDVQQK.DAxELVRydXN0I
1bab20 45 64 74 59 6b 67 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 56 46 4a 56 55 31 51 67 55 EdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgU
1bab40 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 52 56 59 67 4d 6a 41 77 0a m9vdCBDbGFzcyAzIENBIDIgRVYgMjAw.
1bab60 4f 54 41 65 46 77 30 77 4f 54 45 78 4d 44 55 77 4f 44 55 77 4e 44 5a 61 46 77 30 79 4f 54 45 78 OTAeFw0wOTExMDUwODUwNDZaFw0yOTEx
1bab80 4d 44 55 77 4f 44 55 77 4e 44 5a 61 4d 46 41 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 MDUwODUwNDZaMFAxCzAJBgNVBAYTAkRF
1baba0 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 MRUwEwYDVQQK.DAxELVRydXN0IEdtYkg
1babc0 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 xKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCB
1babe0 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 52 56 59 67 4d 6a 41 77 0a 4f 54 43 43 41 53 DbGFzcyAzIENBIDIgRVYgMjAw.OTCCAS
1bac00 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 IwDQYJKoZIhvcNAQEBBQADggEPADCCAQ
1bac20 6f 43 67 67 45 42 41 4a 6e 78 68 44 52 77 75 69 2b 33 4d 4b 43 4f 76 58 77 45 7a 37 35 69 76 4a oCggEBAJnxhDRwui+3MKCOvXwEz75ivJ
1bac40 6e 39 67 70 66 53 0a 65 67 70 6e 6c 6a 67 4a 39 68 42 4f 6c 53 4a 7a 6d 59 33 61 46 53 33 6e 42 n9gpfS.egpnljgJ9hBOlSJzmY3aFS3nB
1bac60 66 77 5a 63 79 4b 33 6a 70 67 41 76 44 77 39 72 4b 46 73 2b 39 5a 35 4a 55 75 74 38 4d 78 6b 32 fwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2
1bac80 6f 67 2b 4b 62 67 50 43 64 4d 30 33 54 50 31 59 74 48 68 0a 7a 52 6e 70 37 68 68 50 54 46 69 75 og+KbgPCdM03TP1YtHh.zRnp7hhPTFiu
1baca0 34 68 37 57 44 46 73 56 57 74 67 36 75 4d 51 59 5a 42 37 6a 4d 37 4b 31 69 58 64 4f 44 4c 2f 5a 4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/Z
1bacc0 6c 47 73 54 6c 32 38 53 6f 2f 36 5a 71 51 54 4d 46 65 78 67 61 44 62 74 43 48 75 33 39 62 2b 54 lGsTl28So/6ZqQTMFexgaDbtCHu39b+T
1bace0 0a 37 57 59 78 67 34 7a 47 63 54 53 48 54 68 66 71 72 34 75 52 6a 52 78 57 51 61 34 69 4e 31 34 .7WYxg4zGcTSHThfqr4uRjRxWQa4iN14
1bad00 33 38 68 33 5a 30 53 30 4e 4c 32 6c 52 70 37 35 6d 70 6f 6f 36 4b 72 33 48 47 72 48 68 46 50 43 38h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC
1bad20 2b 4f 68 32 35 7a 31 75 78 61 76 36 30 0a 73 55 59 67 6f 76 73 65 4f 33 44 76 6b 35 68 39 6a 48 +Oh25z1uxav60.sUYgovseO3Dvk5h9jH
1bad40 4f 57 38 73 58 76 68 58 43 74 4b 53 62 38 48 67 51 2b 48 4b 44 59 44 38 74 53 67 32 4a 38 37 6f OW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87o
1bad60 74 54 6c 5a 43 70 56 36 4c 71 59 51 58 59 2b 55 33 45 4a 2f 70 75 72 65 33 35 0a 31 31 48 33 61 tTlZCpV6LqYQXY+U3EJ/pure35.11H3a
1bad80 36 55 43 41 77 45 41 41 61 4f 43 41 53 51 77 67 67 45 67 4d 41 38 47 41 31 55 64 45 77 45 42 2f 6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/
1bada0 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 4f 55 69 6b 78 69 45 wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiE
1badc0 79 6f 5a 4c 73 79 76 0a 63 6f 70 39 4e 74 65 61 48 4e 78 6e 4d 41 34 47 41 31 55 64 44 77 45 42 yoZLsyv.cop9NteaHNxnMA4GA1UdDwEB
1bade0 2f 77 51 45 41 77 49 42 42 6a 43 42 33 51 59 44 56 52 30 66 42 49 48 56 4d 49 48 53 4d 49 47 48 /wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGH
1bae00 6f 49 47 45 6f 49 47 42 68 6e 39 73 5a 47 46 77 4f 69 38 76 0a 5a 47 6c 79 5a 57 4e 30 62 33 4a oIGEoIGBhn9sZGFwOi8v.ZGlyZWN0b3J
1bae20 35 4c 6d 51 74 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 30 4e 4f 50 55 51 74 56 46 4a 56 55 31 51 5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1Q
1bae40 6c 4d 6a 42 53 62 32 39 30 4a 54 49 77 51 32 78 68 63 33 4d 6c 4d 6a 41 7a 4a 54 49 77 51 30 45 lMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0E
1bae60 6c 0a 4d 6a 41 79 4a 54 49 77 52 56 59 6c 4d 6a 41 79 4d 44 41 35 4c 45 38 39 52 43 31 55 63 6e l.MjAyJTIwRVYlMjAyMDA5LE89RC1Ucn
1bae80 56 7a 64 43 55 79 4d 45 64 74 59 6b 67 73 51 7a 31 45 52 54 39 6a 5a 58 4a 30 61 57 5a 70 59 32 VzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2
1baea0 46 30 5a 58 4a 6c 64 6d 39 6a 59 58 52 70 0a 62 32 35 73 61 58 4e 30 4d 45 61 67 52 4b 42 43 68 F0ZXJldm9jYXRp.b25saXN0MEagRKBCh
1baec0 6b 42 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 51 74 64 48 4a 31 63 33 51 75 62 6d 56 30 4c kBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L
1baee0 32 4e 79 62 43 39 6b 4c 58 52 79 64 58 4e 30 58 33 4a 76 62 33 52 66 59 32 78 68 0a 63 33 4e 66 2NybC9kLXRydXN0X3Jvb3RfY2xh.c3Nf
1baf00 4d 31 39 6a 59 56 38 79 58 32 56 32 58 7a 49 77 4d 44 6b 75 59 33 4a 73 4d 41 30 47 43 53 71 47 M19jYV8yX2V2XzIwMDkuY3JsMA0GCSqG
1baf20 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 30 37 58 74 61 50 4b 53 55 69 4f 38 61 SIb3DQEBCwUAA4IBAQA07XtaPKSUiO8a
1baf40 45 58 55 48 4c 37 50 2b 0a 50 50 6f 65 55 53 62 72 68 2f 59 70 33 75 44 78 31 4d 59 6b 43 65 6e EXUHL7P+.PPoeUSbrh/Yp3uDx1MYkCen
1baf60 42 7a 31 55 62 74 44 44 5a 7a 68 72 2b 42 6c 47 6d 46 61 51 74 37 37 4a 4c 76 79 41 6f 4a 55 6e Bz1UbtDDZzhr+BlGmFaQt77JLvyAoJUn
1baf80 52 70 6a 5a 33 4e 4f 68 6b 33 31 4b 78 45 63 64 7a 65 73 30 35 0a 6e 73 4b 74 6a 48 45 68 38 6c RpjZ3NOhk31KxEcdzes05.nsKtjHEh8l
1bafa0 70 72 72 39 38 38 54 6c 57 76 73 6f 52 6c 46 49 6d 35 64 38 73 71 4d 62 37 50 6f 32 33 50 62 30 prr988TlWvsoRlFIm5d8sqMb7Po23Pb0
1bafc0 69 55 4d 6b 5a 76 35 33 47 4d 6f 4b 61 45 47 54 63 48 38 67 4e 46 43 53 75 47 64 58 7a 66 58 32 iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2
1bafe0 6c 58 0a 41 4e 74 75 32 4b 5a 79 49 6b 74 51 31 48 57 59 56 74 2b 33 47 50 39 44 51 31 43 75 65 lX.ANtu2KZyIktQ1HWYVt+3GP9DQ1Cue
1bb000 6b 52 37 38 48 6c 52 31 30 4d 39 70 39 4f 42 30 2f 44 4a 54 37 6e 61 78 70 65 47 30 49 4c 44 35 kR78HlR10M9p9OB0/DJT7naxpeG0ILD5
1bb020 45 4a 74 2f 72 44 69 5a 45 34 4f 4a 75 64 41 0a 4e 43 61 31 43 49 6e 58 43 47 4e 6a 4f 43 64 31 EJt/rDiZE4OJudA.NCa1CInXCGNjOCd1
1bb040 48 6a 50 71 62 71 6a 64 6e 35 6c 50 64 45 32 42 69 59 42 4c 33 5a 71 58 4b 56 77 76 76 6f 46 42 HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFB
1bb060 75 59 7a 2f 36 6e 31 67 42 70 37 4e 31 7a 33 54 4c 71 4d 56 76 4b 6a 6d 4a 75 56 76 0a 77 39 79 uYz/6n1gBp7N1z3TLqMVvKjmJuVv.w9y
1bb080 34 41 79 48 71 6e 78 62 78 4c 46 53 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 4AyHqnxbxLFS1.-----END.CERTIFICA
1bb0a0 54 45 2d 2d 2d 2d 2d 0a 0a 43 41 20 44 69 73 69 67 20 52 6f 6f 74 20 52 32 0a 3d 3d 3d 3d 3d 3d TE-----..CA.Disig.Root.R2.======
1bb0c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1bb0e0 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 54 43 43 41 31 47 67 41 77 49 42 41 67 49 4a 41 4a 4b 34 69 E-----.MIIFaTCCA1GgAwIBAgIJAJK4i
1bb100 4e 75 77 69 73 46 6a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 46 49 78 43 NuwisFjMA0GCSqGSIb3DQEBCwUAMFIxC
1bb120 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4e 4c 4d 52 4d 77 0a 45 51 59 44 56 51 51 48 45 77 70 43 zAJBgNVBAYTAlNLMRMw.EQYDVQQHEwpC
1bb140 63 6d 46 30 61 58 4e 73 59 58 5a 68 4d 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 45 61 58 4e 70 cmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNp
1bb160 5a 79 42 68 4c 6e 4d 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 44 51 53 42 45 61 58 4e 70 ZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
1bb180 0a 5a 79 42 53 62 32 39 30 49 46 49 79 4d 42 34 58 44 54 45 79 4d 44 63 78 4f 54 41 35 4d 54 55 .ZyBSb290IFIyMB4XDTEyMDcxOTA5MTU
1bb1a0 7a 4d 46 6f 58 44 54 51 79 4d 44 63 78 4f 54 41 35 4d 54 55 7a 4d 46 6f 77 55 6a 45 4c 4d 41 6b zMFoXDTQyMDcxOTA5MTUzMFowUjELMAk
1bb1c0 47 41 31 55 45 42 68 4d 43 55 30 73 78 0a 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6b 4a 79 59 58 GA1UEBhMCU0sx.EzARBgNVBAcTCkJyYX
1bb1e0 52 70 63 32 78 68 64 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 52 70 63 32 6c 6e 49 47 Rpc2xhdmExEzARBgNVBAoTCkRpc2lnIG
1bb200 45 75 63 79 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 45 4e 42 49 45 52 70 0a 63 32 6c 6e 49 Eucy4xGTAXBgNVBAMTEENBIERp.c2lnI
1bb220 46 4a 76 62 33 51 67 55 6a 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 FJvb3QgUjIwggIiMA0GCSqGSIb3DQEBA
1bb240 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 69 6f 38 51 41 43 64 61 46 58 QUAA4ICDwAwggIKAoICAQCio8QACdaFX
1bb260 53 31 74 46 50 62 43 0a 77 33 4f 65 4e 63 4a 78 56 58 36 42 2b 36 74 47 55 4f 44 42 66 45 6c 34 S1tFPbC.w3OeNcJxVX6B+6tGUODBfEl4
1bb280 35 71 74 35 57 44 7a 61 2f 33 77 63 6e 39 69 58 41 6e 67 2b 61 30 45 45 36 55 47 39 76 67 4d 73 5qt5WDza/3wcn9iXAng+a0EE6UG9vgMs
1bb2a0 52 66 59 76 5a 4e 53 72 58 61 4e 48 50 57 53 62 36 57 69 61 0a 78 73 77 62 50 37 71 2b 73 6f 73 RfYvZNSrXaNHPWSb6Wia.xswbP7q+sos
1bb2c0 30 41 69 36 59 56 52 6e 38 6a 47 2b 71 58 39 70 4d 7a 6b 30 44 49 61 50 59 30 6a 53 54 56 70 62 0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpb
1bb2e0 4c 54 41 77 41 46 6a 78 66 47 73 33 49 78 32 79 6d 72 64 4d 78 70 37 7a 6f 35 65 46 6d 31 74 4c LTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL
1bb300 37 0a 41 37 52 42 5a 63 6b 51 72 67 34 46 59 38 61 41 61 6d 6b 77 2f 64 4c 75 6b 4f 38 4e 4a 39 7.A7RBZckQrg4FY8aAamkw/dLukO8NJ9
1bb320 2b 66 6c 58 50 30 34 53 58 61 62 42 62 65 51 54 67 30 36 6f 76 38 30 65 67 45 46 47 45 74 51 58 +flXP04SXabBbeQTg06ov80egEFGEtQX
1bb340 36 73 78 33 64 4f 79 31 46 55 2b 31 36 53 0a 47 42 73 45 57 6d 6a 47 79 63 54 36 74 78 4f 67 6d 6sx3dOy1FU+16S.GBsEWmjGycT6txOgm
1bb360 4c 63 52 4b 37 66 57 56 38 78 38 6e 68 66 52 79 79 58 2b 68 6b 34 6b 4c 6c 59 4d 65 45 32 65 41 LcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eA
1bb380 52 4b 6d 4b 36 63 42 5a 57 35 38 59 68 32 45 68 4e 2f 71 77 47 75 31 70 53 71 56 0a 67 38 4e 54 RKmK6cBZW58Yh2EhN/qwGu1pSqV.g8NT
1bb3a0 45 51 78 7a 48 51 75 79 52 70 44 52 51 6a 72 4f 51 47 36 56 72 66 2f 47 6c 4b 31 75 6c 34 53 4f EQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SO
1bb3c0 66 57 2b 65 69 6f 41 4e 53 57 31 7a 34 6e 75 53 48 73 50 7a 77 66 50 72 4c 67 56 76 32 52 76 50 fW+eioANSW1z4nuSHsPzwfPrLgVv2RvP
1bb3e0 4e 33 59 45 79 4c 52 61 0a 35 42 65 6e 79 39 31 32 48 39 41 5a 64 75 67 73 42 62 50 57 6e 44 54 N3YEyLRa.5Beny912H9AZdugsBbPWnDT
1bb400 59 6c 74 78 68 68 35 45 46 35 45 51 49 4d 38 48 61 75 51 68 6c 31 4b 36 79 4e 67 33 72 75 6a 69 Yltxhh5EF5EQIM8HauQhl1K6yNg3ruji
1bb420 36 44 4f 57 62 6e 75 75 4e 5a 74 32 5a 7a 39 61 4a 51 66 59 45 0a 6b 6f 6f 70 4b 57 31 72 4f 68 6DOWbnuuNZt2Zz9aJQfYE.koopKW1rOh
1bb440 7a 6e 64 58 30 43 63 51 37 7a 77 4f 65 39 79 78 6e 64 6e 57 43 79 77 6d 5a 67 74 72 45 45 37 73 zndX0CcQ7zwOe9yxndnWCywmZgtrEE7s
1bb460 6e 6d 68 72 6d 61 5a 6b 43 6f 35 78 48 74 67 55 55 44 69 2f 5a 6e 57 65 6a 42 42 68 47 39 33 63 nmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c
1bb480 2b 41 0a 41 6b 39 6c 51 48 68 63 52 31 44 49 6d 2b 59 66 67 58 76 6b 52 4b 68 62 68 5a 72 69 33 +A.Ak9lQHhcR1DIm+YfgXvkRKhbhZri3
1bb4a0 6c 72 56 78 2f 6b 36 52 47 5a 4c 35 44 4a 55 66 4f 52 73 6e 4c 4d 4f 50 52 65 69 73 6a 51 53 31 lrVx/k6RGZL5DJUfORsnLMOPReisjQS1
1bb4c0 6e 36 79 71 45 6d 37 30 58 6f 6f 51 4c 36 69 0a 46 68 2f 66 35 44 63 66 45 58 50 37 6b 41 70 6c n6yqEm70XooQL6i.Fh/f5DcfEXP7kApl
1bb4e0 51 36 49 4e 66 50 67 47 41 56 55 7a 66 62 41 4e 75 50 54 31 72 71 56 43 56 33 77 32 45 59 78 37 Q6INfPgGAVUzfbANuPT1rqVCV3w2EYx7
1bb500 58 73 51 44 6e 59 78 35 6e 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 0a 48 52 4d XsQDnYx5nQIDAQABo0IwQDAPBgNV.HRM
1bb520 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 BAf8EBTADAQH/MA4GA1UdDwEB/wQEAwI
1bb540 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 74 5a 6e 34 72 37 43 55 39 65 4d 67 31 67 71 BBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gq
1bb560 74 7a 6b 35 57 70 43 35 75 0a 51 75 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 tzk5WpC5u.Qu0wDQYJKoZIhvcNAQELBQ
1bb580 41 44 67 67 49 42 41 43 59 47 58 6e 44 6e 5a 54 50 49 67 6d 37 5a 6e 42 63 36 47 33 70 6d 73 67 ADggIBACYGXnDnZTPIgm7ZnBc6G3pmsg
1bb5a0 48 32 65 44 74 70 58 69 2f 71 2f 30 37 35 4b 4d 4f 59 4b 6d 46 4d 0a 74 43 51 53 69 6e 31 74 45 H2eDtpXi/q/075KMOYKmFM.tCQSin1tE
1bb5c0 52 54 33 6e 4c 58 4b 35 72 79 65 4a 34 35 4d 47 63 69 70 76 58 72 41 31 7a 59 4f 62 59 56 79 62 RT3nLXK5ryeJ45MGcipvXrA1zYObYVyb
1bb5e0 71 6a 47 6f 6d 33 32 2b 6e 4e 6a 66 37 78 75 65 51 67 63 6e 59 71 66 47 6f 70 54 70 74 69 37 32 qjGom32+nNjf7xueQgcnYqfGopTpti72
1bb600 54 56 56 0a 73 52 48 46 71 51 4f 7a 56 6a 75 35 68 4a 4d 69 58 6e 37 42 39 68 4a 53 69 2b 6f 73 TVV.sRHFqQOzVju5hJMiXn7B9hJSi+os
1bb620 5a 37 7a 2b 4e 6b 7a 31 75 4d 2f 52 73 30 6d 53 4f 39 4d 70 44 70 6b 62 6c 76 64 68 75 44 76 45 Z7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvE
1bb640 4b 37 5a 34 62 4c 51 6a 62 2f 44 39 30 37 4a 65 0a 64 52 2b 5a 6c 61 69 73 39 74 72 68 78 54 46 K7Z4bLQjb/D907Je.dR+Zlais9trhxTF
1bb660 37 2b 39 46 47 73 39 4b 38 5a 37 52 69 56 4c 6f 4a 39 32 4f 77 6b 36 4b 61 2b 65 6c 53 4c 6f 74 7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLot
1bb680 67 45 71 76 38 39 57 42 57 37 78 42 63 69 38 51 61 51 74 79 44 57 32 51 4f 79 37 57 38 0a 31 6b gEqv89WBW7xBci8QaQtyDW2QOy7W8.1k
1bb6a0 2f 42 66 44 78 75 6a 52 4e 74 2b 33 76 72 4d 4e 44 63 54 61 2f 46 31 62 61 6c 54 46 74 78 79 65 /BfDxujRNt+3vrMNDcTa/F1balTFtxye
1bb6c0 67 78 76 75 67 34 42 6b 69 68 47 75 4c 71 30 74 34 53 4f 56 67 61 2f 34 41 4f 67 6e 58 6d 74 38 gxvug4BkihGuLq0t4SOVga/4AOgnXmt8
1bb6e0 6b 48 62 41 37 76 2f 7a 6a 78 0a 6d 48 48 45 74 33 38 4f 46 64 41 6c 61 62 30 69 6e 53 76 74 42 kHbA7v/zjx.mHHEt38OFdAlab0inSvtB
1bb700 66 5a 47 52 36 7a 74 77 50 44 55 4f 2b 4c 73 37 70 5a 62 6b 42 4e 4f 48 6c 59 36 36 37 44 76 6c fZGR6ztwPDUO+Ls7pZbkBNOHlY667Dvl
1bb720 72 75 57 49 78 47 36 38 6b 4f 47 64 47 53 56 79 43 68 31 33 78 30 31 0a 75 74 49 33 67 7a 68 54 ruWIxG68kOGdGSVyCh13x01.utI3gzhT
1bb740 4f 44 59 37 7a 32 7a 70 2b 57 73 4f 30 50 73 45 36 45 39 33 31 32 55 42 65 49 59 4d 65 6a 34 68 ODY7z2zp+WsO0PsE6E9312UBeIYMej4h
1bb760 59 76 46 2f 59 33 45 4d 79 5a 39 45 32 36 67 6e 6f 6e 57 2b 62 6f 45 2b 31 38 44 72 47 35 67 50 YvF/Y3EMyZ9E26gnonW+boE+18DrG5gP
1bb780 63 46 77 30 0a 73 6f 72 4d 77 49 55 59 36 32 35 36 73 2f 64 61 6f 51 65 2f 71 55 4b 53 38 32 41 cFw0.sorMwIUY6256s/daoQe/qUKS82A
1bb7a0 69 6c 2b 51 55 6f 51 65 62 54 6e 62 41 6a 6e 33 39 70 43 58 48 52 2b 33 2f 48 33 4f 73 7a 4d 4f il+QUoQebTnbAjn39pCXHR+3/H3OszMO
1bb7c0 6c 36 57 38 4b 6a 70 74 6c 77 6c 43 46 74 61 4f 67 0a 55 78 4c 4d 56 59 64 68 38 34 47 75 45 45 l6W8KjptlwlCFtaOg.UxLMVYdh84GuEE
1bb7e0 5a 68 76 55 51 68 75 4d 49 39 64 4d 39 2b 4a 44 58 36 48 41 63 4f 6d 7a 30 69 79 75 38 78 4c 34 ZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4
1bb800 79 73 45 72 33 76 51 43 6a 38 4b 57 65 66 73 68 4e 50 5a 69 54 45 55 78 6e 70 48 69 6b 56 0a 37 ysEr3vQCj8KWefshNPZiTEUxnpHikV.7
1bb820 2b 5a 74 73 48 38 74 5a 2f 33 7a 62 42 74 31 52 71 50 6c 53 68 66 70 70 4e 63 4c 0a 2d 2d 2d 2d +ZtsH8tZ/3zbBt1RqPlShfppNcL.----
1bb840 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 43 43 56 52 41 49 5a 31 -END.CERTIFICATE-----..ACCVRAIZ1
1bb860 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 .=========.-----BEGIN.CERTIFICAT
1bb880 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 30 7a 43 43 42 62 75 67 41 77 49 42 41 67 49 49 58 73 4f 33 70 E-----.MIIH0zCCBbugAwIBAgIIXsO3p
1bb8a0 6b 4e 2f 70 4f 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 51 6a 45 53 4d kN/pOAwDQYJKoZIhvcNAQEFBQAwQjESM
1bb8c0 42 41 47 41 31 55 45 41 77 77 4a 51 55 4e 44 56 6c 4a 42 0a 53 56 6f 78 4d 52 41 77 44 67 59 44 BAGA1UEAwwJQUNDVlJB.SVoxMRAwDgYD
1bb8e0 56 51 51 4c 44 41 64 51 53 30 6c 42 51 30 4e 57 4d 51 30 77 43 77 59 44 56 51 51 4b 44 41 52 42 VQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARB
1bb900 51 30 4e 57 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 41 65 46 77 30 78 4d 54 41 31 Q0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
1bb920 0a 4d 44 55 77 4f 54 4d 33 4d 7a 64 61 46 77 30 7a 4d 44 45 79 4d 7a 45 77 4f 54 4d 33 4d 7a 64 .MDUwOTM3MzdaFw0zMDEyMzEwOTM3Mzd
1bb940 61 4d 45 49 78 45 6a 41 51 42 67 4e 56 42 41 4d 4d 43 55 46 44 51 31 5a 53 51 55 6c 61 4d 54 45 aMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTE
1bb960 51 4d 41 34 47 41 31 55 45 43 77 77 48 0a 55 45 74 4a 51 55 4e 44 56 6a 45 4e 4d 41 73 47 41 31 QMA4GA1UECwwH.UEtJQUNDVjENMAsGA1
1bb980 55 45 43 67 77 45 51 55 4e 44 56 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 56 4d 77 67 67 UECgwEQUNDVjELMAkGA1UEBhMCRVMwgg
1bb9a0 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 0a 44 77 41 77 67 IiMA0GCSqGSIb3DQEBAQUAA4IC.DwAwg
1bb9c0 67 49 4b 41 6f 49 43 41 51 43 62 71 61 75 2f 59 55 71 58 72 79 2b 58 5a 70 70 30 58 39 44 5a 6c gIKAoICAQCbqau/YUqXry+XZpp0X9DZl
1bb9e0 76 33 50 34 75 52 6d 37 78 38 66 52 7a 50 43 52 4b 50 66 6d 74 34 66 74 56 54 64 46 58 78 70 4e v3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpN
1bba00 52 46 76 75 38 67 4d 0a 6a 6d 6f 59 48 74 69 50 32 52 61 38 45 45 67 32 58 50 42 6a 73 35 42 61 RFvu8gM.jmoYHtiP2Ra8EEg2XPBjs5Ba
1bba20 58 43 51 33 31 36 50 57 79 77 6c 78 75 66 45 42 63 6f 53 77 66 64 74 4e 67 4d 33 38 30 32 2f 4a XCQ316PWywlxufEBcoSwfdtNgM3802/J
1bba40 2b 4e 71 32 44 6f 4c 53 52 59 57 6f 47 32 69 6f 50 65 6a 30 0a 52 47 79 39 6f 63 4c 4c 41 37 36 +Nq2DoLSRYWoG2ioPej0.RGy9ocLLA76
1bba60 4d 50 68 4d 41 68 4e 39 4b 53 4d 44 6a 49 67 72 6f 36 54 65 6e 47 45 79 78 43 51 30 6a 56 6e 38 MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8
1bba80 45 54 64 6b 58 68 42 69 6c 79 4e 70 41 6c 48 50 72 7a 67 35 58 50 41 4f 42 4f 70 30 4b 6f 56 64 ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVd
1bbaa0 44 0a 61 61 78 58 62 58 6d 51 65 4f 57 31 74 44 76 59 76 45 79 4e 4b 4b 47 6e 6f 36 65 36 41 6b D.aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak
1bbac0 34 6c 30 53 71 75 37 61 34 44 49 72 68 72 49 41 38 77 4b 46 53 56 66 2b 44 75 7a 67 70 6d 6e 64 4l0Squ7a4DIrhrIA8wKFSVf+Duzgpmnd
1bbae0 46 41 4c 57 34 69 72 35 30 61 77 51 55 5a 0a 30 6d 2f 41 38 70 2f 34 65 37 4d 43 51 76 74 51 71 FALW4ir50awQUZ.0m/A8p/4e7MCQvtQq
1bbb00 52 30 74 6b 77 38 6a 71 38 62 42 44 35 4c 2f 30 4b 49 56 39 56 4d 4a 63 52 7a 2f 52 52 4f 45 35 R0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5
1bbb20 69 5a 65 2b 4f 43 49 48 41 72 38 46 72 61 6f 63 77 61 34 38 47 4f 45 41 71 44 47 0a 57 75 7a 6e iZe+OCIHAr8Fraocwa48GOEAqDG.Wuzn
1bbb40 64 4e 39 77 72 71 4f 44 4a 65 72 57 78 35 65 48 6b 36 66 47 69 6f 6f 7a 6c 32 41 33 45 44 36 58 dN9wrqODJerWx5eHk6fGioozl2A3ED6X
1bbb60 50 6d 34 70 46 64 61 68 44 39 47 49 4c 42 4b 66 62 36 71 6b 78 6b 4c 72 51 61 4c 6a 6c 55 50 54 Pm4pFdahD9GILBKfb6qkxkLrQaLjlUPT
1bbb80 41 59 56 74 6a 72 73 37 0a 38 79 4d 32 78 2f 34 37 34 4b 45 6c 42 30 69 72 79 59 6c 30 2f 77 69 AYVtjrs7.8yM2x/474KElB0iryYl0/wi
1bbba0 50 67 4c 2f 41 6c 6d 58 7a 37 75 78 4c 61 4c 32 64 69 4d 4d 78 73 30 44 78 36 4d 2f 32 4f 4c 75 PgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLu
1bbbc0 63 35 4e 46 2f 31 4f 56 59 6d 33 7a 36 31 50 4d 4f 6d 33 57 52 0a 35 4c 70 53 4c 68 6c 2b 30 66 c5NF/1OVYm3z61PMOm3WR.5LpSLhl+0f
1bbbe0 58 4e 57 68 6e 38 75 67 62 32 2b 31 4b 6f 53 35 6b 45 33 66 6a 35 74 49 74 51 6f 30 35 69 69 66 XNWhn8ugb2+1KoS5kE3fj5tItQo05iif
1bbc00 43 48 4a 50 71 44 51 73 47 48 2b 74 55 74 4b 53 70 61 63 58 70 6b 61 74 63 6e 59 47 4d 4e 32 38 CHJPqDQsGH+tUtKSpacXpkatcnYGMN28
1bbc20 35 4a 0a 39 59 30 66 6b 49 6b 79 46 2f 68 7a 51 37 6a 53 57 70 4f 47 59 64 62 68 64 51 72 71 65 5J.9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqe
1bbc40 57 5a 32 69 45 39 78 36 77 51 6c 31 67 70 61 65 70 50 6c 75 55 73 58 51 41 2b 78 74 72 6e 31 33 WZ2iE9x6wQl1gpaepPluUsXQA+xtrn13
1bbc60 6b 2f 63 34 4c 4f 73 4f 78 46 77 59 49 52 4b 0a 51 32 36 5a 49 4d 41 70 63 51 72 41 5a 51 49 44 k/c4LOsOxFwYIRK.Q26ZIMApcQrAZQID
1bbc80 41 51 41 42 6f 34 49 43 79 7a 43 43 41 73 63 77 66 51 59 49 4b 77 59 42 42 51 55 48 41 51 45 45 AQABo4ICyzCCAscwfQYIKwYBBQUHAQEE
1bbca0 63 54 42 76 4d 45 77 47 43 43 73 47 41 51 55 46 42 7a 41 43 68 6b 42 6f 64 48 52 77 0a 4f 69 38 cTBvMEwGCCsGAQUFBzAChkBodHRw.Oi8
1bbcc0 76 64 33 64 33 4c 6d 46 6a 59 33 59 75 5a 58 4d 76 5a 6d 6c 73 5a 57 46 6b 62 57 6c 75 4c 30 46 vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0F
1bbce0 79 59 32 68 70 64 6d 39 7a 4c 32 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 52 76 63 79 39 79 59 57 6c yY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl
1bbd00 36 59 57 4e 6a 64 6a 45 75 0a 59 33 4a 30 4d 42 38 47 43 43 73 47 41 51 55 46 42 7a 41 42 68 68 6YWNjdjEu.Y3J0MB8GCCsGAQUFBzABhh
1bbd20 4e 6f 64 48 52 77 4f 69 38 76 62 32 4e 7a 63 43 35 68 59 32 4e 32 4c 6d 56 7a 4d 42 30 47 41 31 NodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1
1bbd40 55 64 44 67 51 57 42 42 54 53 68 37 54 6a 33 7a 63 6e 6b 31 58 32 0a 56 75 71 42 35 54 62 4d 6a UdDgQWBBTSh7Tj3zcnk1X2.VuqB5TbMj
1bbd60 42 34 2f 76 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 38 47 41 B4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA
1bbd80 31 55 64 49 77 51 59 4d 42 61 41 46 4e 4b 48 74 4f 50 66 4e 79 65 54 56 66 5a 57 36 6f 48 6c 4e 1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlN
1bbda0 73 79 4d 0a 48 6a 2b 39 4d 49 49 42 63 77 59 44 56 52 30 67 42 49 49 42 61 6a 43 43 41 57 59 77 syM.Hj+9MIIBcwYDVR0gBIIBajCCAWYw
1bbdc0 67 67 46 69 42 67 52 56 48 53 41 41 4d 49 49 42 57 44 43 43 41 53 49 47 43 43 73 47 41 51 55 46 ggFiBgRVHSAAMIIBWDCCASIGCCsGAQUF
1bbde0 42 77 49 43 4d 49 49 42 46 42 36 43 41 52 41 41 0a 51 51 42 31 41 48 51 41 62 77 42 79 41 47 6b BwICMIIBFB6CARAA.QQB1AHQAbwByAGk
1bbe00 41 5a 41 42 68 41 47 51 41 49 41 42 6b 41 47 55 41 49 41 42 44 41 47 55 41 63 67 42 30 41 47 6b AZABhAGQAIABkAGUAIABDAGUAcgB0AGk
1bbe20 41 5a 67 42 70 41 47 4d 41 59 51 42 6a 41 47 6b 41 38 77 42 75 41 43 41 41 55 67 42 68 0a 41 4f AZgBpAGMAYQBjAGkA8wBuACAAUgBh.AO
1bbe40 30 41 65 67 41 67 41 47 51 41 5a 51 41 67 41 47 77 41 59 51 41 67 41 45 45 41 51 77 42 44 41 46 0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAF
1bbe60 59 41 49 41 41 6f 41 45 45 41 5a 77 42 6c 41 47 34 41 59 77 42 70 41 47 45 41 49 41 42 6b 41 47 YAIAAoAEEAZwBlAG4AYwBpAGEAIABkAG
1bbe80 55 41 49 41 42 55 41 47 55 41 0a 59 77 42 75 41 47 38 41 62 41 42 76 41 47 63 41 37 51 42 68 41 UAIABUAGUA.YwBuAG8AbABvAGcA7QBhA
1bbea0 43 41 41 65 51 41 67 41 45 4d 41 5a 51 42 79 41 48 51 41 61 51 42 6d 41 47 6b 41 59 77 42 68 41 CAAeQAgAEMAZQByAHQAaQBmAGkAYwBhA
1bbec0 47 4d 41 61 51 44 7a 41 47 34 41 49 41 42 46 41 47 77 41 5a 51 42 6a 0a 41 48 51 41 63 67 44 7a GMAaQDzAG4AIABFAGwAZQBj.AHQAcgDz
1bbee0 41 47 34 41 61 51 42 6a 41 47 45 41 4c 41 41 67 41 45 4d 41 53 51 42 47 41 43 41 41 55 51 41 30 AG4AaQBjAGEALAAgAEMASQBGACAAUQA0
1bbf00 41 44 59 41 4d 41 41 78 41 44 45 41 4e 51 41 32 41 45 55 41 4b 51 41 75 41 43 41 41 51 77 42 51 ADYAMAAxADEANQA2AEUAKQAuACAAQwBQ
1bbf20 41 46 4d 41 0a 49 41 42 6c 41 47 34 41 49 41 42 6f 41 48 51 41 64 41 42 77 41 44 6f 41 4c 77 41 AFMA.IABlAG4AIABoAHQAdABwADoALwA
1bbf40 76 41 48 63 41 64 77 42 33 41 43 34 41 59 51 42 6a 41 47 4d 41 64 67 41 75 41 47 55 41 63 7a 41 vAHcAdwB3AC4AYQBjAGMAdgAuAGUAczA
1bbf60 77 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 6b 0a 61 48 52 30 63 44 6f 76 4c 33 64 33 64 79 wBggrBgEFBQcCARYk.aHR0cDovL3d3dy
1bbf80 35 68 59 32 4e 32 4c 6d 56 7a 4c 32 78 6c 5a 32 6c 7a 62 47 46 6a 61 57 39 75 58 32 4d 75 61 48 5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaH
1bbfa0 52 74 4d 46 55 47 41 31 55 64 48 77 52 4f 4d 45 77 77 53 71 42 49 6f 45 61 47 52 47 68 30 0a 64 RtMFUGA1UdHwROMEwwSqBIoEaGRGh0.d
1bbfc0 48 41 36 4c 79 39 33 64 33 63 75 59 57 4e 6a 64 69 35 6c 63 79 39 6d 61 57 78 6c 59 57 52 74 61 HA6Ly93d3cuYWNjdi5lcy9maWxlYWRta
1bbfe0 57 34 76 51 58 4a 6a 61 47 6c 32 62 33 4d 76 59 32 56 79 64 47 6c 6d 61 57 4e 68 5a 47 39 7a 4c W4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL
1bc000 33 4a 68 61 58 70 68 59 32 4e 32 0a 4d 56 39 6b 5a 58 49 75 59 33 4a 73 4d 41 34 47 41 31 55 64 3JhaXphY2N2.MV9kZXIuY3JsMA4GA1Ud
1bc020 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 58 42 67 4e 56 48 52 45 45 45 44 41 4f 67 51 78 68 DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxh
1bc040 59 32 4e 32 51 47 46 6a 59 33 59 75 5a 58 4d 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 Y2N2QGFjY3YuZXMwDQYJKoZI.hvcNAQE
1bc060 46 42 51 41 44 67 67 49 42 41 4a 63 78 41 70 2f 6e 2f 55 4e 6e 53 45 51 55 35 43 6d 48 37 55 77 FBQADggIBAJcxAp/n/UNnSEQU5CmH7Uw
1bc080 6f 5a 74 43 50 4e 64 70 4e 59 62 64 4b 6c 30 32 31 32 35 44 67 42 53 34 4f 78 6e 6e 51 38 70 64 oZtCPNdpNYbdKl02125DgBS4OxnnQ8pd
1bc0a0 70 44 37 30 45 0a 52 39 6d 2b 32 37 55 70 32 70 76 5a 72 71 6d 5a 31 64 4d 38 4d 4a 50 31 6a 61 pD70E.R9m+27Up2pvZrqmZ1dM8MJP1ja
1bc0c0 47 6f 2f 41 61 4e 52 50 54 4b 46 70 56 38 4d 39 78 69 69 36 67 33 2b 43 66 59 43 53 30 62 37 38 Go/AaNRPTKFpV8M9xii6g3+CfYCS0b78
1bc0e0 67 55 4a 79 43 70 5a 45 54 2f 4c 74 5a 31 71 6d 78 4e 0a 59 45 41 5a 53 55 4e 55 59 39 72 69 7a gUJyCpZET/LtZ1qmxN.YEAZSUNUY9riz
1bc100 4c 70 6d 35 55 39 45 65 6c 76 5a 61 6f 45 72 51 4e 56 2f 2b 51 45 6e 57 43 7a 49 37 55 69 52 66 Lpm5U9EelvZaoErQNV/+QEnWCzI7UiRf
1bc120 44 2b 6d 41 4d 2f 45 4b 58 4d 52 4e 74 36 47 47 54 36 64 37 68 6d 4b 47 39 57 77 37 59 34 39 0a D+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49.
1bc140 6e 43 72 41 44 64 67 39 5a 75 4d 38 44 62 33 56 6c 46 7a 69 34 71 63 31 47 77 51 41 39 6a 39 61 nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9a
1bc160 6a 65 70 44 76 56 2b 4a 48 61 6e 42 73 4d 79 5a 34 6b 30 41 43 74 72 4a 4a 31 76 6e 45 35 42 63 jepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc
1bc180 35 50 55 7a 6f 6c 56 74 33 4f 41 4a 0a 54 53 2b 78 4a 6c 73 6e 64 51 41 4a 78 47 4a 33 4b 51 68 5PUzolVt3OAJ.TS+xJlsndQAJxGJ3KQh
1bc1a0 66 6e 6c 6d 73 74 6e 36 74 6e 31 51 77 49 67 50 42 48 6e 46 6b 2f 76 6b 34 43 70 59 59 33 51 49 fnlmstn6tn1QwIgPBHnFk/vk4CpYY3QI
1bc1c0 55 72 43 50 4c 42 68 77 65 70 48 32 4e 44 64 34 6e 51 65 69 74 32 68 57 33 0a 73 43 50 64 4b 36 UrCPLBhwepH2NDd4nQeit2hW3.sCPdK6
1bc1e0 6a 54 32 69 57 48 37 65 68 56 52 45 32 49 39 44 5a 2b 68 4a 70 34 72 50 63 4f 56 6b 6b 4f 31 6a jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1j
1bc200 4d 6c 31 6f 52 51 51 6d 77 67 45 68 30 71 31 62 36 38 38 6e 43 42 70 48 42 67 76 67 57 31 6d 35 Ml1oRQQmwgEh0q1b688nCBpHBgvgW1m5
1bc220 34 45 52 4c 35 68 0a 49 36 7a 70 70 53 53 4d 45 59 43 55 57 71 4b 69 75 55 6e 53 77 64 7a 52 70 4ERL5h.I6zppSSMEYCUWqKiuUnSwdzRp
1bc240 2b 30 78 45 53 79 65 47 61 62 75 34 56 58 68 77 4f 72 50 44 59 54 6b 46 37 65 69 66 4b 58 65 56 +0xESyeGabu4VXhwOrPDYTkF7eifKXeV
1bc260 53 55 47 37 73 7a 41 68 31 78 41 32 73 79 56 50 31 58 67 0a 4e 63 65 34 68 4c 36 30 58 63 31 36 SUG7szAh1xA2syVP1Xg.Nce4hL60Xc16
1bc280 67 77 46 79 37 6f 66 6d 58 78 32 75 74 59 58 47 4a 74 2f 6d 77 5a 72 70 48 67 4a 48 6e 79 71 6f gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqo
1bc2a0 62 61 6c 62 7a 2b 78 46 64 33 2b 59 4a 35 6f 79 58 53 72 6a 68 4f 37 46 6d 47 59 76 6c 69 41 64 balbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
1bc2c0 0a 33 64 6a 44 4a 39 65 77 2b 66 37 5a 66 63 33 51 6e 34 38 4c 46 46 68 52 6e 79 2b 4c 77 7a 67 .3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzg
1bc2e0 74 33 75 69 50 31 6f 32 48 70 50 56 57 51 78 61 5a 4c 50 53 6b 56 72 51 30 75 47 45 33 79 63 4a t3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJ
1bc300 59 67 42 75 67 6c 36 48 38 57 59 33 70 0a 45 66 62 52 44 30 74 56 4e 45 59 71 69 34 59 37 0a 2d YgBugl6H8WY3p.EfbRD0tVNEYqi4Y7.-
1bc320 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 57 43 41 20 47 ----END.CERTIFICATE-----..TWCA.G
1bc340 6c 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d lobal.Root.CA.==================
1bc360 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1bc380 49 46 51 54 43 43 41 79 6d 67 41 77 49 42 41 67 49 43 44 4c 34 77 44 51 59 4a 4b 6f 5a 49 68 76 IFQTCCAymgAwIBAgICDL4wDQYJKoZIhv
1bc3a0 63 4e 41 51 45 4c 42 51 41 77 55 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 63 78 45 6a cNAQELBQAwUTELMAkGA1UEBhMCVFcxEj
1bc3c0 41 51 42 67 4e 56 42 41 6f 54 0a 43 56 52 42 53 56 64 42 54 69 31 44 51 54 45 51 4d 41 34 47 41 AQBgNVBAoT.CVRBSVdBTi1DQTEQMA4GA
1bc3e0 31 55 45 43 78 4d 48 55 6d 39 76 64 43 42 44 51 54 45 63 4d 42 6f 47 41 31 55 45 41 78 4d 54 56 1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTV
1bc400 46 64 44 51 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 44 0a 51 54 41 65 46 77 30 78 FdDQSBHbG9iYWwgUm9vdCBD.QTAeFw0x
1bc420 4d 6a 41 32 4d 6a 63 77 4e 6a 49 34 4d 7a 4e 61 46 77 30 7a 4d 44 45 79 4d 7a 45 78 4e 54 55 35 MjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5
1bc440 4e 54 6c 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 58 4d 52 49 77 45 41 59 44 NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYD
1bc460 56 51 51 4b 0a 45 77 6c 55 51 55 6c 58 51 55 34 74 51 30 45 78 45 44 41 4f 42 67 4e 56 42 41 73 VQQK.EwlUQUlXQU4tQ0ExEDAOBgNVBAs
1bc480 54 42 31 4a 76 62 33 51 67 51 30 45 78 48 44 41 61 42 67 4e 56 42 41 4d 54 45 31 52 58 51 30 45 TB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0E
1bc4a0 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 33 51 67 0a 51 30 45 77 67 67 49 69 4d 41 30 47 43 53 gR2xvYmFsIFJvb3Qg.Q0EwggIiMA0GCS
1bc4c0 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 qGSIb3DQEBAQUAA4ICDwAwggIKAoICAQ
1bc4e0 43 77 42 64 76 49 36 34 7a 45 62 6f 6f 68 37 34 35 4e 6e 48 45 4b 48 31 4a 77 37 57 32 43 0a 6e CwBdvI64zEbooh745NnHEKH1Jw7W2C.n
1bc500 4a 66 46 31 30 78 4f 52 55 6e 4c 51 45 4b 31 45 6a 52 73 47 63 4a 30 70 44 46 66 68 51 4b 58 37 JfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7
1bc520 45 4d 7a 43 6c 50 53 6e 49 79 4f 74 37 68 35 32 79 76 56 61 76 4b 4f 5a 73 54 75 4b 77 45 48 6b EMzClPSnIyOt7h52yvVavKOZsTuKwEHk
1bc540 74 53 7a 30 41 4c 66 55 50 5a 56 0a 72 32 59 4f 79 2b 42 48 59 43 38 72 4d 6a 6b 31 55 6a 6f 6f tSz0ALfUPZV.r2YOy+BHYC8rMjk1Ujoo
1bc560 67 2f 68 37 46 73 59 59 75 47 4c 57 52 79 57 52 7a 76 41 5a 45 6b 32 74 59 2f 58 54 50 33 56 66 g/h7FsYYuGLWRyWRzvAZEk2tY/XTP3Vf
1bc580 4b 66 43 68 4d 42 77 71 6f 4a 69 6d 46 62 33 75 2f 52 6b 32 38 4f 4b 52 0a 51 34 2f 36 79 74 59 KfChMBwqoJimFb3u/Rk28OKR.Q4/6ytY
1bc5a0 51 4a 30 6c 4d 37 39 33 42 38 59 56 77 6d 38 72 71 71 46 70 44 2f 47 32 47 62 33 50 70 4e 30 57 QJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0W
1bc5c0 70 38 44 62 48 7a 49 68 31 48 72 74 73 42 76 2b 62 61 7a 34 58 37 47 47 71 63 58 7a 47 48 61 4c p8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL
1bc5e0 33 53 65 6b 56 0a 74 54 7a 57 6f 57 48 31 45 66 63 46 62 78 33 39 45 62 37 51 4d 41 66 43 4b 62 3SekV.tTzWoWH1EfcFbx39Eb7QMAfCKb
1bc600 41 4a 54 69 62 63 34 36 4b 6f 6b 57 6f 66 77 70 46 46 69 46 7a 6c 6d 4c 68 78 70 52 55 5a 79 58 AJTibc46KokWofwpFFiFzlmLhxpRUZyX
1bc620 78 31 45 63 78 77 64 45 38 74 6d 78 32 52 52 50 31 57 0a 4b 4b 44 2b 75 34 5a 71 79 50 70 63 43 x1EcxwdE8tmx2RRP1W.KKD+u4ZqyPpcC
1bc640 31 6a 63 78 6b 74 32 79 4b 73 69 32 58 4d 50 70 66 52 61 41 6f 6b 2f 54 35 34 69 67 75 36 69 64 1jcxkt2yKsi2XMPpfRaAok/T54igu6id
1bc660 46 4d 71 50 56 4d 6e 61 52 31 73 6a 6a 49 73 5a 41 41 6d 59 32 45 32 54 71 4e 47 74 7a 39 39 0a FMqPVMnaR1sjjIsZAAmY2E2TqNGtz99.
1bc680 73 79 32 73 62 5a 43 69 6c 61 4c 4f 7a 39 71 43 35 77 63 30 47 5a 62 70 75 43 47 71 4b 58 36 6d sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6m
1bc6a0 4f 4c 36 4f 4b 55 6f 68 5a 6e 6b 66 73 38 4f 31 43 57 66 65 31 74 51 48 52 76 4d 71 32 75 59 69 OL6OKUohZnkfs8O1CWfe1tQHRvMq2uYi
1bc6c0 4e 32 44 4c 67 62 59 50 6f 41 2f 70 0a 79 4a 56 2f 76 31 57 52 42 58 72 50 50 52 58 41 62 39 34 N2DLgbYPoA/p.yJV/v1WRBXrPPRXAb94
1bc6e0 4a 6c 41 47 44 31 7a 51 62 7a 45 43 6c 38 4c 69 62 5a 39 57 59 6b 54 75 6e 68 48 69 56 4a 71 52 JlAGD1zQbzECl8LibZ9WYkTunhHiVJqR
1bc700 61 43 50 67 72 64 4c 51 41 42 44 7a 66 75 42 53 4f 36 4e 2b 70 6a 57 78 6e 0a 6b 6a 4d 64 77 4c aCPgrdLQABDzfuBSO6N+pjWxn.kjMdwL
1bc720 66 53 37 4a 4c 49 76 67 6d 2f 4c 43 6b 46 62 77 4a 72 6e 75 2b 38 76 79 71 38 57 38 42 51 6a 30 fS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0
1bc740 46 77 63 59 65 79 54 62 63 45 71 59 53 6a 4d 71 2b 75 37 6d 73 58 69 37 4b 78 2f 6d 7a 68 6b 49 FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkI
1bc760 79 49 71 4a 64 49 0a 7a 73 68 4e 79 2f 4d 47 7a 31 39 71 43 6b 4b 78 48 68 35 33 4c 34 36 67 35 yIqJdI.zshNy/MGz19qCkKxHh53L46g5
1bc780 70 49 4f 42 76 77 46 49 74 49 6d 34 54 46 52 66 54 4c 63 44 77 49 44 41 51 41 42 6f 79 4d 77 49 pIOBvwFItIm4TFRfTLcDwIDAQABoyMwI
1bc7a0 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 77 59 44 56 52 30 54 TAOBgNVHQ8BAf8EBAMC.AQYwDwYDVR0T
1bc7c0 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsF
1bc7e0 41 41 4f 43 41 67 45 41 58 7a 53 42 64 75 2b 57 48 64 58 6c 74 64 6b 43 59 34 51 57 77 61 36 67 AAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
1bc800 0a 63 46 47 6e 39 30 78 48 4e 63 67 4c 31 79 67 39 69 58 48 5a 71 6a 4e 42 36 68 51 62 62 43 45 .cFGn90xHNcgL1yg9iXHZqjNB6hQbbCE
1bc820 41 77 47 78 43 47 58 36 66 61 56 73 67 51 74 2b 69 30 74 72 45 66 4a 64 4c 6a 62 44 6f 72 4d 6a AwGxCGX6faVsgQt+i0trEfJdLjbDorMj
1bc840 75 70 57 6b 45 6d 51 71 53 70 71 73 6e 0a 4c 68 70 4e 67 62 2b 45 31 48 41 65 72 55 66 2b 2f 55 upWkEmQqSpqsn.LhpNgb+E1HAerUf+/U
1bc860 71 64 4d 2b 44 79 75 63 52 46 43 43 45 4b 32 6d 6c 70 63 33 49 4e 76 6a 54 2b 6c 49 75 74 77 78 qdM+DyucRFCCEK2mlpc3INvjT+lIutwx
1bc880 34 31 31 36 4b 44 37 2b 55 34 78 36 57 46 48 36 76 50 4e 4f 77 2f 4b 50 34 4d 0a 38 56 65 47 54 4116KD7+U4x6WFH6vPNOw/KP4M.8VeGT
1bc8a0 73 6c 56 39 78 7a 55 32 4b 56 39 42 6e 70 76 31 64 38 51 33 34 46 4f 49 57 57 78 74 75 45 58 65 slV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXe
1bc8c0 5a 56 46 42 73 35 66 7a 4e 78 47 69 57 4e 6f 52 49 32 54 39 47 52 77 6f 44 32 64 4b 41 58 44 4f ZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDO
1bc8e0 58 43 34 59 6e 73 67 0a 2f 65 54 62 36 51 69 68 75 4a 34 39 43 63 64 50 2b 79 7a 34 6b 33 5a 42 XC4Ynsg./eTb6QihuJ49CcdP+yz4k3ZB
1bc900 33 6c 4c 67 34 56 66 53 6e 51 4f 38 64 35 37 2b 6e 69 6c 65 39 38 46 52 59 42 2f 65 32 67 75 79 3lLg4VfSnQO8d57+nile98FRYB/e2guy
1bc920 4c 58 57 33 51 30 69 54 35 2f 5a 35 78 6f 52 64 67 46 6c 67 0a 6c 50 78 34 6d 49 38 38 6b 31 48 LXW3Q0iT5/Z5xoRdgFlg.lPx4mI88k1H
1bc940 74 51 4a 41 48 33 32 52 6a 4a 4d 74 4f 63 51 57 68 31 35 51 61 69 44 4c 78 49 6e 51 69 72 71 57 tQJAH32RjJMtOcQWh15QaiDLxInQirqW
1bc960 6d 32 42 4a 70 54 47 43 6a 41 75 34 72 37 4e 52 6a 6b 67 74 65 76 69 39 32 61 36 4f 32 4a 72 79 m2BJpTGCjAu4r7NRjkgtevi92a6O2Jry
1bc980 50 0a 41 39 67 4b 38 6b 78 6b 52 72 30 35 59 75 57 57 36 7a 52 6a 45 53 6a 4d 6c 66 47 74 37 2b P.A9gK8kxkRr05YuWW6zRjESjMlfGt7+
1bc9a0 2f 63 67 46 68 49 36 55 75 34 36 6d 57 73 36 66 79 41 74 62 58 49 52 66 6d 73 77 5a 2f 5a 75 65 /cgFhI6Uu46mWs6fyAtbXIRfmswZ/Zue
1bc9c0 70 69 69 49 37 45 38 55 75 44 45 71 33 6d 0a 69 34 54 57 6e 73 4c 72 67 78 69 66 61 72 73 62 4a piiI7E8UuDEq3m.i4TWnsLrgxifarsbJ
1bc9e0 47 41 7a 63 4d 7a 73 39 7a 4c 7a 58 4e 6c 35 66 65 2b 65 70 50 37 4a 49 38 4d 6b 37 68 57 53 73 GAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSs
1bca00 54 32 52 54 79 61 47 76 57 5a 7a 4a 42 50 71 70 4b 35 6a 77 61 31 39 68 41 4d 38 0a 45 48 69 47 T2RTyaGvWZzJBPqpK5jwa19hAM8.EHiG
1bca20 47 33 6e 6a 78 50 50 79 42 4a 55 67 72 69 4f 43 78 4c 4d 36 41 47 4b 2f 35 6a 59 6b 34 56 65 36 G3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6
1bca40 78 78 36 51 64 64 56 66 50 35 56 68 4b 38 45 37 7a 65 57 7a 61 47 48 51 52 69 61 70 49 56 4a 70 xx6QddVfP5VhK8E7zeWzaGHQRiapIVJp
1bca60 4c 65 73 75 78 2b 74 33 0a 7a 71 59 36 74 51 4d 7a 54 33 62 52 35 31 78 55 41 56 33 4c 65 50 54 Lesux+t3.zqY6tQMzT3bR51xUAV3LePT
1bca80 4a 44 4c 2f 50 45 6f 34 58 4c 53 4e 6f 6c 4f 65 72 2f 71 6d 79 4b 77 62 51 42 4d 30 3d 0a 2d 2d JDL/PEo4XLSNolOer/qmyKwbQBM0=.--
1bcaa0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 65 6c 69 61 53 6f ---END.CERTIFICATE-----..TeliaSo
1bcac0 6e 65 72 61 20 52 6f 6f 74 20 43 41 20 76 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d nera.Root.CA.v1.================
1bcae0 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1bcb00 2d 2d 0a 4d 49 49 46 4f 44 43 43 41 79 43 67 41 77 49 42 41 67 49 52 41 4a 57 2b 46 71 44 33 4c --.MIIFODCCAyCgAwIBAgIRAJW+FqD3L
1bcb20 6b 62 78 65 7a 6d 43 63 76 71 4c 7a 5a 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 kbxezmCcvqLzZYwDQYJKoZIhvcNAQEFB
1bcb40 51 41 77 4e 7a 45 55 4d 42 49 47 41 31 55 45 0a 43 67 77 4c 56 47 56 73 61 57 46 54 62 32 35 6c QAwNzEUMBIGA1UE.CgwLVGVsaWFTb25l
1bcb60 63 6d 45 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 6c 62 47 6c 68 55 32 39 75 5a 58 4a 68 cmExHzAdBgNVBAMMFlRlbGlhU29uZXJh
1bcb80 49 46 4a 76 62 33 51 67 51 30 45 67 64 6a 45 77 48 68 63 4e 4d 44 63 78 4d 44 45 34 0a 4d 54 49 IFJvb3QgQ0EgdjEwHhcNMDcxMDE4.MTI
1bcba0 77 4d 44 55 77 57 68 63 4e 4d 7a 49 78 4d 44 45 34 4d 54 49 77 4d 44 55 77 57 6a 41 33 4d 52 51 wMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQ
1bcbc0 77 45 67 59 44 56 51 51 4b 44 41 74 55 5a 57 78 70 59 56 4e 76 62 6d 56 79 59 54 45 66 4d 42 30 wEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0
1bcbe0 47 41 31 55 45 41 77 77 57 0a 56 47 56 73 61 57 46 54 62 32 35 6c 63 6d 45 67 55 6d 39 76 64 43 GA1UEAwwW.VGVsaWFTb25lcmEgUm9vdC
1bcc00 42 44 51 53 42 32 4d 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 BDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQ
1bcc20 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4d 4b 2b 0a 36 79 66 77 49 61 50 7a 61 ADggIPADCCAgoCggIBAMK+.6yfwIaPza
1bcc40 53 5a 56 66 70 33 46 56 52 61 52 58 50 33 76 49 62 39 54 67 48 6f 74 30 70 47 4d 59 7a 48 77 37 SZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7
1bcc60 43 54 77 77 36 58 53 63 6e 77 51 62 66 51 33 74 2b 58 6d 66 48 6e 71 6a 4c 57 43 69 36 35 49 74 CTww6XScnwQbfQ3t+XmfHnqjLWCi65It
1bcc80 71 77 41 0a 33 47 56 31 37 43 70 4e 58 38 47 48 39 53 42 6c 4b 34 47 6f 52 7a 36 4a 49 35 55 77 qwA.3GV17CpNX8GH9SBlK4GoRz6JI5Uw
1bcca0 46 70 42 2f 36 46 63 48 53 4f 63 5a 72 72 39 46 5a 37 45 33 47 77 59 71 2f 74 37 35 72 48 32 44 FpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D
1bccc0 2b 31 36 36 35 49 2b 58 5a 37 35 4c 6a 6f 31 6b 0a 42 31 63 34 56 57 6b 30 4e 6a 30 54 53 4f 39 +1665I+XZ75Ljo1k.B1c4VWk0Nj0TSO9
1bcce0 50 34 74 4e 6d 48 71 54 50 47 72 64 65 4e 6a 50 55 74 41 61 39 47 41 48 39 64 34 52 51 41 45 58 P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX
1bcd00 31 6a 46 33 6f 49 37 78 2b 2f 6a 58 68 37 56 42 37 71 54 43 4e 47 64 4d 4a 6a 6d 68 6e 0a 58 62 1jF3oI7x+/jXh7VB7qTCNGdMJjmhn.Xb
1bcd20 38 38 6c 78 68 54 75 79 6c 69 78 63 70 65 63 73 48 48 6c 74 54 62 4c 61 43 30 48 32 6b 44 37 4f 88lxhTuylixcpecsHHltTbLaC0H2kD7O
1bcd40 72 69 55 50 45 4d 50 50 43 73 38 31 4d 74 38 42 7a 31 37 57 77 35 4f 58 4f 41 46 73 68 53 73 43 riUPEMPPCs81Mt8Bz17Ww5OXOAFshSsC
1bcd60 50 4e 34 44 37 63 33 54 78 48 0a 6f 4c 73 31 69 75 4b 59 61 49 75 2b 35 62 39 79 37 74 4c 36 70 PN4D7c3TxH.oLs1iuKYaIu+5b9y7tL6p
1bcd80 65 30 53 37 66 79 59 47 4b 6b 6d 64 74 77 6f 53 78 41 67 48 4e 4e 2f 46 6e 63 74 37 57 2b 41 39 e0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A9
1bcda0 30 6d 37 55 77 57 37 58 57 6a 48 31 4d 68 31 46 6a 2b 4a 57 6f 76 33 0a 46 30 66 55 54 50 48 53 0m7UwW7XWjH1Mh1Fj+JWov3.F0fUTPHS
1bcdc0 69 58 6b 2b 54 54 32 59 71 47 48 65 4f 68 37 53 2b 46 34 44 34 4d 48 4a 48 49 7a 54 6a 55 33 54 iXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3T
1bcde0 6c 54 61 7a 4e 31 39 6a 59 35 73 7a 46 50 41 74 4a 6d 74 54 66 49 6d 4d 4d 73 4a 75 37 44 30 68 lTazN19jY5szFPAtJmtTfImMMsJu7D0h
1bce00 41 44 6e 4a 0a 6f 57 6a 69 55 49 4d 75 73 44 6f 72 38 7a 61 67 72 43 2f 6b 62 32 48 43 55 51 6b ADnJ.oWjiUIMusDor8zagrC/kb2HCUQk
1bce20 35 50 6f 74 54 75 62 74 6e 32 74 78 54 75 58 5a 5a 4e 70 31 44 35 53 44 67 50 54 4a 67 68 53 4a 5PotTubtn2txTuXZZNp1D5SDgPTJghSJ
1bce40 52 74 38 63 7a 75 39 30 56 4c 36 52 34 70 67 64 37 0a 67 55 59 32 42 49 62 64 65 54 58 48 6c 53 Rt8czu90VL6R4pgd7.gUY2BIbdeTXHlS
1bce60 77 37 73 4b 4d 58 4e 65 56 7a 48 37 52 63 57 65 2f 61 36 68 42 6c 65 33 72 51 66 35 2b 7a 74 43 w7sKMXNeVzH7RcWe/a6hBle3rQf5+ztC
1bce80 6f 33 4f 33 43 4c 6d 31 75 35 4b 37 66 73 73 6c 45 53 6c 31 4d 70 57 74 54 77 45 68 44 63 0a 54 o3O3CLm1u5K7fsslESl1MpWtTwEhDc.T
1bcea0 77 4b 37 45 70 49 76 59 74 51 2f 61 55 4e 38 44 64 62 38 57 48 55 42 69 4a 31 59 46 6b 76 65 75 wK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveu
1bcec0 70 44 2f 52 77 47 4a 42 6d 72 32 58 37 4b 51 61 72 4d 43 70 67 4b 49 76 37 4e 48 66 69 72 5a 31 pD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1
1bcee0 66 70 6f 65 44 56 4e 41 67 4d 42 0a 41 41 47 6a 50 7a 41 39 4d 41 38 47 41 31 55 64 45 77 45 42 fpoeDVNAgMB.AAGjPzA9MA8GA1UdEwEB
1bcf00 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d 42 30 47 /wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0G
1bcf20 41 31 55 64 44 67 51 57 42 42 54 77 6a 31 6b 34 41 4c 50 31 6a 35 71 57 0a 44 4e 58 72 2b 6e 75 A1UdDgQWBBTwj1k4ALP1j5qW.DNXr+nu
1bcf40 71 46 2b 67 54 45 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 qF+gTEjANBgkqhkiG9w0BAQUFAAOCAgE
1bcf60 41 76 75 52 63 59 6b 34 6b 39 41 77 49 2f 2f 44 54 44 47 6a 6b 6b 30 6b 69 50 30 51 6e 62 37 74 AvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7t
1bcf80 74 33 6f 4e 6d 0a 7a 71 6a 4d 44 66 7a 31 6d 67 62 6c 64 78 53 52 36 35 31 42 65 35 6b 71 68 4f t3oNm.zqjMDfz1mgbldxSR651Be5kqhO
1bcfa0 58 2f 2f 43 48 42 58 66 44 6b 48 31 65 33 64 61 6d 68 58 77 49 6d 2f 39 66 48 39 30 37 65 54 2f X//CHBXfDkH1e3damhXwIm/9fH907eT/
1bcfc0 6a 33 48 45 62 41 65 6b 39 41 4c 43 49 31 38 42 6d 78 0a 30 47 74 6e 4c 4c 43 6f 34 4d 42 41 4e j3HEbAek9ALCI18Bmx.0GtnLLCo4MBAN
1bcfe0 7a 58 32 68 46 78 63 34 36 39 43 65 50 36 6e 79 51 31 51 36 67 32 45 64 76 5a 52 37 34 4e 54 78 zX2hFxc469CeP6nyQ1Q6g2EdvZR74NTx
1bd000 6e 72 2f 44 6c 5a 4a 4c 6f 39 36 31 67 7a 6d 4a 31 54 6a 54 51 70 67 63 6d 4c 4e 6b 51 66 57 0a nr/DlZJLo961gzmJ1TjTQpgcmLNkQfW.
1bd020 70 62 2f 49 6d 57 76 74 78 42 6e 6d 71 30 77 52 4f 4d 56 76 4d 65 4a 75 53 63 67 2f 64 6f 41 6d pb/ImWvtxBnmq0wROMVvMeJuScg/doAm
1bd040 41 79 59 70 34 44 62 32 39 69 42 54 34 78 64 77 4e 42 65 64 59 32 67 65 61 2b 7a 44 54 59 61 34 AyYp4Db29iBT4xdwNBedY2gea+zDTYa4
1bd060 45 7a 41 76 58 55 59 4e 52 30 50 56 0a 47 36 70 5a 44 72 6c 63 6a 51 5a 49 72 58 53 48 58 38 66 EzAvXUYNR0PV.G6pZDrlcjQZIrXSHX8f
1bd080 38 4d 56 52 42 45 2b 4c 48 49 51 36 65 34 42 34 4e 34 63 42 37 51 34 57 51 78 59 70 59 78 6d 55 8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmU
1bd0a0 4b 65 46 66 79 78 69 4d 50 41 64 6b 67 53 39 34 50 2b 35 4b 46 64 53 70 63 0a 63 34 31 74 65 79 KeFfyxiMPAdkgS94P+5KFdSpc.c41tey
1bd0c0 57 52 79 75 35 46 72 67 5a 4c 41 4d 7a 54 73 56 6c 51 32 6a 71 49 4f 79 6c 44 52 6c 36 58 4b 31 WRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1
1bd0e0 54 4f 55 32 2b 4e 53 75 65 57 2b 72 39 78 44 6b 4b 4c 66 50 30 6f 6f 4e 42 49 79 74 72 45 67 55 TOU2+NSueW+r9xDkKLfP0ooNBIytrEgU
1bd100 79 37 6f 6e 4f 54 0a 4a 73 6a 72 44 4e 59 6d 69 4c 62 41 4a 4d 2b 37 76 56 76 72 64 58 33 70 43 y7onOT.JsjrDNYmiLbAJM+7vVvrdX3pC
1bd120 49 36 47 4d 79 78 35 64 77 6c 70 70 59 6e 38 73 33 43 51 68 33 61 50 30 79 4b 37 51 73 36 39 63 I6GMyx5dwlppYn8s3CQh3aP0yK7Qs69c
1bd140 77 73 67 4a 69 72 51 6d 7a 31 77 48 69 52 73 7a 59 64 32 0a 71 52 65 57 74 38 38 4e 6b 76 75 4f wsgJirQmz1wHiRszYd2.qReWt88NkvuO
1bd160 47 4b 6d 59 53 64 47 65 2f 6d 42 45 63 69 47 35 47 65 33 43 39 54 48 78 4f 55 69 49 6b 43 52 31 GKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1
1bd180 56 42 61 74 7a 76 54 34 61 52 52 6b 4f 66 75 6a 75 4c 70 77 51 4d 63 6e 48 4c 2f 45 56 6c 50 36 VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
1bd1a0 0a 59 32 58 51 38 78 77 4f 46 76 56 72 68 6c 68 4e 47 4e 54 6b 44 59 36 6c 6e 56 75 52 33 48 59 .Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HY
1bd1c0 6b 55 44 2f 47 4b 76 76 5a 74 35 79 31 31 75 62 51 32 65 67 5a 69 78 56 78 53 4b 32 33 36 74 68 kUD/GKvvZt5y11ubQ2egZixVxSK236th
1bd1e0 5a 69 4e 53 51 76 78 61 7a 32 65 6d 73 0a 57 57 46 55 79 42 79 36 79 73 48 4b 34 62 6b 67 54 49 ZiNSQvxaz2ems.WWFUyBy6ysHK4bkgTI
1bd200 38 36 6b 34 6d 6c 6f 4d 79 2f 30 2f 5a 31 70 48 57 57 62 56 59 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 86k4mloMy/0/Z1pHWWbVY=.-----END.
1bd220 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 2d 54 75 67 72 61 20 43 65 72 74 69 66 CERTIFICATE-----..E-Tugra.Certif
1bd240 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ication.Authority.==============
1bd260 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1bd280 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 53 7a 43 43 42 44 4f 67 41 77 49 42 41 67 TIFICATE-----.MIIGSzCCBDOgAwIBAg
1bd2a0 49 49 61 6d 67 2b 6e 46 47 62 79 31 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 IIamg+nFGby1MwDQYJKoZIhvcNAQELBQ
1bd2c0 41 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d 51 38 77 0a 44 51 59 44 56 AwgbIxCzAJBgNVBAYTAlRSMQ8w.DQYDV
1bd2e0 51 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 51 44 41 2b 42 67 4e 56 42 41 6f 4d 4e 30 55 74 56 QQHDAZBbmthcmExQDA+BgNVBAoMN0UtV
1bd300 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 62 53 42 55 5a 57 74 75 62 HXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub
1bd320 32 78 76 61 6d 6c 73 0a 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 6c 64 47 78 6c 63 6d 6b 67 2xvamls.ZXJpIHZlIEhpem1ldGxlcmkg
1bd340 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 74 56 48 56 6e 63 6d 45 67 QS7Fni4xJjAkBgNVBAsMHUUtVHVncmEg
1bd360 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 0a 5a 58 4a 72 5a 58 70 70 4d 53 67 U2VydGlmaWthc3lvbiBN.ZXJrZXppMSg
1bd380 77 4a 67 59 44 56 51 51 44 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 4e 6c 63 6e 52 70 5a 6d 6c wJgYDVQQDDB9FLVR1Z3JhIENlcnRpZml
1bd3a0 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 45 7a 4d 44 4d jYXRpb24gQXV0aG9yaXR5MB4XDTEzMDM
1bd3c0 77 0a 4e 54 45 79 4d 44 6b 30 4f 46 6f 58 44 54 49 7a 4d 44 4d 77 4d 7a 45 79 4d 44 6b 30 4f 46 w.NTEyMDk0OFoXDTIzMDMwMzEyMDk0OF
1bd3e0 6f 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d 51 38 77 44 51 59 44 56 51 owgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQ
1bd400 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 0a 51 44 41 2b 42 67 4e 56 42 41 6f 4d 4e 30 55 74 56 QHDAZBbmthcmEx.QDA+BgNVBAoMN0UtV
1bd420 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 62 53 42 55 5a 57 74 75 62 HXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub
1bd440 32 78 76 61 6d 6c 73 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 6c 64 47 78 6c 0a 63 6d 6b 67 2xvamlsZXJpIHZlIEhpem1ldGxl.cmkg
1bd460 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 74 56 48 56 6e 63 6d 45 67 QS7Fni4xJjAkBgNVBAsMHUUtVHVncmEg
1bd480 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 5a 58 4a 72 5a 58 70 70 4d 53 67 77 U2VydGlmaWthc3lvbiBNZXJrZXppMSgw
1bd4a0 4a 67 59 44 56 51 51 44 0a 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 4e 6c 63 6e 52 70 5a 6d 6c JgYDVQQD.DB9FLVR1Z3JhIENlcnRpZml
1bd4c0 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 43 49 6a 41 4e 42 67 6b jYXRpb24gQXV0aG9yaXR5MIICIjANBgk
1bd4e0 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d 49 49 43 43 67 4b 43 41 67 qhkiG9w0BAQEFAAOCAg8A.MIICCgKCAg
1bd500 45 41 34 76 55 2f 6b 77 56 52 48 6f 56 69 56 46 35 36 43 2f 55 59 42 34 4f 75 66 71 39 38 39 39 EA4vU/kwVRHoViVF56C/UYB4Oufq9899
1bd520 53 4b 61 36 56 6a 51 7a 6d 35 53 2f 66 44 78 6d 53 4a 50 5a 51 75 56 49 42 53 4f 54 6b 48 53 30 SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0
1bd540 76 64 0a 68 51 64 32 68 38 79 2f 4c 35 56 4d 7a 48 32 6e 50 62 78 48 44 35 68 77 2b 49 79 46 48 vd.hQd2h8y/L5VMzH2nPbxHD5hw+IyFH
1bd560 6e 53 4f 6b 6d 30 62 51 4e 47 5a 44 62 74 31 62 73 69 70 61 35 72 41 68 44 47 76 79 6b 50 4c 36 nSOkm0bQNGZDbt1bsipa5rAhDGvykPL6
1bd580 79 73 30 36 49 2b 58 61 77 47 62 31 51 35 4b 0a 43 4b 70 62 6b 6e 53 46 51 39 4f 41 72 71 47 49 ys06I+XawGb1Q5K.CKpbknSFQ9OArqGI
1bd5a0 57 36 36 7a 36 6c 37 4c 46 70 70 33 52 4d 69 68 39 6c 52 6f 7a 74 36 50 6c 79 75 36 57 30 41 43 W66z6l7LFpp3RMih9lRozt6Plyu6W0AC
1bd5c0 44 47 51 58 77 4c 57 54 7a 65 48 78 45 32 62 4f 44 48 6e 76 30 5a 45 6f 71 31 2b 67 0a 45 6c 49 DGQXwLWTzeHxE2bODHnv0ZEoq1+g.ElI
1bd5e0 77 63 78 6d 4f 6a 2b 47 4d 42 36 4c 44 75 30 72 77 36 68 38 56 71 4f 34 6c 7a 4b 52 47 2b 42 73 wcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bs
1bd600 69 37 37 4d 4f 51 37 6f 73 4a 4c 6a 46 4c 46 7a 55 48 50 68 64 5a 4c 33 44 6b 31 34 6f 70 7a 38 i77MOQ7osJLjFLFzUHPhdZL3Dk14opz8
1bd620 6e 38 59 34 65 30 79 70 51 0a 42 61 4e 56 32 63 76 6e 4f 56 50 41 6d 4a 36 4d 56 47 4b 4c 4a 72 n8Y4e0ypQ.BaNV2cvnOVPAmJ6MVGKLJr
1bd640 44 33 66 59 31 38 35 4d 61 65 5a 6b 4a 56 67 6b 66 6e 73 6c 69 4e 5a 76 63 48 66 43 34 32 35 6c D3fY185MaeZkJVgkfnsliNZvcHfC425l
1bd660 41 63 50 39 74 44 4a 4d 57 2f 68 6b 64 35 73 33 6b 63 39 31 72 30 0a 45 2b 78 73 2b 44 2f 69 57 AcP9tDJMW/hkd5s3kc91r0.E+xs+D/iW
1bd680 52 2b 56 37 6b 49 2b 75 61 32 6f 4d 6f 56 4a 6c 30 62 2b 53 7a 47 50 57 73 75 74 64 45 63 66 36 R+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6
1bd6a0 5a 47 33 33 79 67 45 49 71 44 55 44 31 33 69 65 55 2f 71 62 49 57 47 76 61 69 6d 7a 75 54 36 77 ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w
1bd6c0 2b 47 7a 0a 72 74 34 38 55 65 37 4c 45 33 77 42 66 34 51 4f 58 56 47 55 6e 68 4d 4d 74 69 36 6c +Gz.rt48Ue7LE3wBf4QOXVGUnhMMti6l
1bd6e0 54 50 6b 35 63 44 5a 76 6c 73 6f 75 44 45 52 56 78 63 72 36 58 51 4b 6a 33 39 5a 6b 6a 46 71 7a TPk5cDZvlsouDERVxcr6XQKj39ZkjFqz
1bd700 41 51 71 70 74 51 70 48 46 2f 2f 76 6b 55 41 71 0a 6a 71 46 47 4f 6a 47 59 35 52 48 38 7a 4c 74 AQqptQpHF//vkUAq.jqFGOjGY5RH8zLt
1bd720 4a 56 6f 72 38 75 64 42 68 6d 6d 39 6c 62 4f 62 44 79 7a 35 31 53 66 36 50 70 2b 4b 4a 78 57 66 JVor8udBhmm9lbObDyz51Sf6Pp+KJxWf
1bd740 58 6e 55 59 54 54 6a 46 32 4f 79 53 7a 6e 68 46 6c 68 71 74 2f 37 78 33 55 2b 4c 7a 6e 0a 72 46 XnUYTTjF2OySznhFlhqt/7x3U+Lzn.rF
1bd760 70 63 74 31 70 48 58 46 58 4f 56 62 51 69 63 56 74 62 43 2f 44 50 33 4b 42 68 5a 4f 71 70 31 32 pct1pHXFXOVbQicVtbC/DP3KBhZOqp12
1bd780 67 4b 59 36 66 67 44 54 2b 67 72 39 4f 71 30 6e 37 76 55 61 44 6d 55 53 74 56 6b 68 55 58 55 38 gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8
1bd7a0 75 33 5a 67 35 6d 54 50 6a 35 0a 64 55 79 51 35 78 4a 77 78 30 55 43 41 77 45 41 41 61 4e 6a 4d u3Zg5mTPj5.dUyQ5xJwx0UCAwEAAaNjM
1bd7c0 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 43 37 6a 32 37 4a 4a 30 4a 78 55 65 56 7a 36 4a GEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6J
1bd7e0 79 72 2b 7a 45 37 53 36 45 35 55 4d 41 38 47 41 31 55 64 45 77 45 42 0a 2f 77 51 46 4d 41 4d 42 yr+zE7S6E5UMA8GA1UdEwEB./wQFMAMB
1bd800 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 4c 75 50 62 73 6b 6e 51 6e 46 52 35 Af8wHwYDVR0jBBgwFoAULuPbsknQnFR5
1bd820 58 50 6f 6e 4b 76 37 4d 54 74 4c 6f 54 6c 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQD
1bd840 41 67 45 47 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 41 AgEG.MA0GCSqGSIb3DQEBCwUAA4ICAQA
1bd860 46 4e 7a 72 30 54 62 64 46 34 6b 56 31 4a 49 2b 32 64 31 4c 6f 48 4e 67 51 6b 32 58 7a 38 6c 6b FNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lk
1bd880 47 70 44 34 65 4b 65 78 64 30 64 43 72 66 4f 41 4b 0a 6b 45 68 34 37 55 36 59 41 35 6e 2b 4b 47 GpD4eKexd0dCrfOAK.kEh47U6YA5n+KG
1bd8a0 43 52 48 54 41 64 75 47 4e 38 71 4f 59 31 74 66 72 54 59 58 62 6d 31 67 64 4c 79 6d 6d 61 73 6f CRHTAduGN8qOY1tfrTYXbm1gdLymmaso
1bd8c0 52 36 64 35 4e 46 46 78 57 66 4a 4e 43 59 45 78 4c 2f 75 36 41 75 2f 55 35 4d 68 2f 6a 4f 0a 58 R6d5NFFxWfJNCYExL/u6Au/U5Mh/jO.X
1bd8e0 4b 71 59 47 77 58 67 41 45 5a 4b 67 6f 43 6c 4d 34 73 6f 33 4f 30 34 30 39 2f 6c 50 75 6e 2b 2b KqYGwXgAEZKgoClM4so3O0409/lPun++
1bd900 31 6e 64 59 59 52 50 30 6c 53 57 45 32 45 54 50 6f 2b 41 61 62 36 54 52 37 55 31 51 39 4a 61 75 1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jau
1bd920 7a 31 63 37 37 4e 43 52 38 30 37 0a 56 52 4d 47 73 41 6e 62 2f 57 50 32 4f 6f 67 4b 6d 57 39 2b z1c77NCR807.VRMGsAnb/WP2OogKmW9+
1bd940 34 63 34 62 55 32 70 45 5a 69 4e 52 43 48 75 38 57 31 4b 69 2f 51 59 33 4f 45 42 68 6a 30 71 57 4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qW
1bd960 75 4a 41 33 2b 47 62 48 65 4a 41 41 46 53 36 4c 72 56 45 31 55 77 65 6f 0a 61 32 69 75 2b 55 34 uJA3+GbHeJAAFS6LrVE1Uweo.a2iu+U4
1bd980 38 42 79 62 4e 43 41 56 77 7a 44 6b 2f 64 72 32 6c 30 32 63 6d 41 59 61 6d 55 39 4a 67 4f 33 78 8BybNCAVwzDk/dr2l02cmAYamU9JgO3x
1bd9a0 44 66 31 57 4b 76 4a 55 61 77 53 67 35 54 42 39 44 30 70 48 30 63 6c 6d 4b 75 56 62 38 50 37 53 Df1WKvJUawSg5TB9D0pH0clmKuVb8P7S
1bd9c0 64 32 6e 43 63 0a 64 6c 71 4d 51 31 44 75 6a 6a 42 79 54 64 2f 2f 53 66 66 47 71 57 66 5a 62 61 d2nCc.dlqMQ1DujjByTd//SffGqWfZba
1bd9e0 77 43 45 65 49 36 46 69 57 6e 57 41 6a 4c 62 31 4e 42 6e 45 67 34 52 32 67 7a 30 64 66 48 6a 39 wCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9
1bda00 52 30 49 64 54 44 42 5a 42 36 2f 38 36 57 69 4c 45 56 0a 4b 56 30 6a 71 39 42 67 6f 52 4a 50 33 R0IdTDBZB6/86WiLEV.KV0jq9BgoRJP3
1bda20 76 51 58 7a 54 4c 6c 79 62 2f 49 51 36 33 39 4c 6f 37 78 72 2b 4c 30 6d 50 6f 53 48 79 44 59 77 vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYw
1bda40 4b 63 4d 68 63 57 51 39 44 73 74 6c 69 61 78 4c 4c 35 4d 71 2b 75 78 30 6f 72 4a 32 33 67 54 0a KcMhcWQ9DstliaxLL5Mq+ux0orJ23gT.
1bda60 44 78 34 4a 6e 57 32 50 41 4a 38 43 32 73 48 36 48 33 70 36 43 63 52 4b 35 6f 67 71 6c 35 2b 4a Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+J
1bda80 69 2f 30 33 58 31 38 36 7a 6a 68 5a 68 6b 75 76 63 51 75 30 32 50 4a 77 54 35 38 79 45 2b 4f 77 i/03X186zjhZhkuvcQu02PJwT58yE+Ow
1bdaa0 70 31 66 6c 32 74 70 44 79 34 51 30 0a 38 69 6a 45 36 6d 33 30 4b 75 2f 42 61 33 62 61 2b 33 36 p1fl2tpDy4Q0.8ijE6m30Ku/Ba3ba+36
1bdac0 37 68 54 7a 53 55 38 4a 4e 76 6e 48 68 52 64 48 39 49 32 63 4e 45 33 58 37 7a 32 56 6e 49 70 32 7hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2
1bdae0 75 73 41 6e 52 43 66 38 64 4e 4c 2f 2b 49 35 63 33 30 6a 6e 36 50 51 30 47 0a 43 37 54 62 4f 36 usAnRCf8dNL/+I5c30jn6PQ0G.C7TbO6
1bdb00 4f 72 62 31 77 64 74 6e 37 6f 73 34 49 30 37 51 5a 63 4a 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 Orb1wdtn7os4I07QZcJA==.-----END.
1bdb20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c 65 53 65 63 20 47 6c 6f 62 CERTIFICATE-----..T-TeleSec.Glob
1bdb40 61 6c 52 6f 6f 74 20 43 6c 61 73 73 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d alRoot.Class.2.=================
1bdb60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1bdb80 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 77 7a 43 43 41 71 75 67 41 77 49 42 41 67 49 42 41 54 41 4e TE-----.MIIDwzCCAqugAwIBAgIBATAN
1bdba0 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 BgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
1bdbc0 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 0a 49 6c 51 74 55 33 6c 7a 64 47 56 BhMCREUxKzApBgNVBAoM.IlQtU3lzdGV
1bdbe0 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 tcyBFbnRlcnByaXNlIFNlcnZpY2VzIEd
1bdc00 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 tYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyB
1bdc20 55 0a 63 6e 56 7a 64 43 42 44 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 U.cnVzdCBDZW50ZXIxJTAjBgNVBAMMHF
1bdc40 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 QtVGVsZVNlYyBHbG9iYWxSb290IENsYX
1bdc60 4e 7a 49 44 49 77 48 68 63 4e 4d 44 67 78 0a 4d 44 41 78 4d 54 41 30 4d 44 45 30 57 68 63 4e 4d NzIDIwHhcNMDgx.MDAxMTA0MDE0WhcNM
1bdc80 7a 4d 78 4d 44 41 78 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 zMxMDAxMjM1OTU5WjCBgjELMAkGA1UEB
1bdca0 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 49 6c 51 74 55 33 6c 7a 0a 64 47 56 74 hMCREUxKzApBgNVBAoMIlQtU3lz.dGVt
1bdcc0 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 cyBFbnRlcnByaXNlIFNlcnZpY2VzIEdt
1bdce0 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 YkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
1bdd00 63 6e 56 7a 64 43 42 44 0a 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 cnVzdCBD.ZW50ZXIxJTAjBgNVBAMMHFQ
1bdd20 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e tVGVsZVNlYyBHbG9iYWxSb290IENsYXN
1bdd40 7a 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 41 51 55 41 41 34 zIDIwggEiMA0GCSqGSIb3.DQEBAQUAA4
1bdd60 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 71 58 39 6f 62 58 2b 68 7a 6b 65 58 61 58 50 IBDwAwggEKAoIBAQCqX9obX+hzkeXaXP
1bdd80 53 69 35 6b 66 6c 38 32 68 56 59 41 55 64 41 71 53 7a 6d 31 6e 7a 48 6f 71 76 4e 4b 33 38 44 63 Si5kfl82hVYAUdAqSzm1nzHoqvNK38Dc
1bdda0 4c 5a 0a 53 42 6e 75 61 59 2f 4a 49 50 77 68 71 67 63 5a 37 62 42 63 72 47 58 48 58 2b 30 43 66 LZ.SBnuaY/JIPwhqgcZ7bBcrGXHX+0Cf
1bddc0 48 74 38 4c 52 76 57 75 72 6d 41 77 68 69 43 46 6f 54 36 5a 72 41 49 78 6c 51 6a 67 65 54 4e 75 Ht8LRvWurmAwhiCFoT6ZrAIxlQjgeTNu
1bdde0 55 6b 2f 39 6b 39 75 4e 30 67 6f 4f 41 2f 46 0a 76 75 64 6f 63 50 30 35 6c 30 33 53 78 35 69 52 Uk/9k9uN0goOA/F.vudocP05l03Sx5iR
1bde00 55 4b 72 45 52 4c 4d 6a 66 54 6c 48 36 56 4a 69 31 68 4b 54 58 72 63 78 6c 6b 49 46 2b 33 61 6e UKrERLMjfTlH6VJi1hKTXrcxlkIF+3an
1bde20 48 71 50 31 77 76 7a 70 65 73 56 73 71 58 46 50 36 73 74 34 76 47 43 76 78 39 37 30 0a 32 63 75 HqP1wvzpesVsqXFP6st4vGCvx970.2cu
1bde40 2b 66 6a 4f 6c 62 70 53 44 38 44 54 36 49 61 76 71 6a 6e 4b 67 50 36 54 65 4d 46 76 76 68 6b 31 +fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1
1bde60 71 6c 56 74 44 52 4b 67 51 46 52 7a 6c 41 56 66 46 6d 50 48 6d 42 69 69 52 71 69 44 46 74 31 4d qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1M
1bde80 6d 55 55 4f 79 43 78 47 56 0a 57 4f 48 41 44 33 62 5a 77 49 31 38 67 66 4e 79 63 4a 35 76 2f 68 mUUOyCxGV.WOHAD3bZwI18gfNycJ5v/h
1bdea0 71 4f 32 56 38 31 78 72 4a 76 4e 48 79 2b 53 45 2f 69 57 6a 6e 58 32 4a 31 34 6e 70 2b 47 50 67 qO2V81xrJvNHy+SE/iWjnX2J14np+GPg
1bdec0 4e 65 47 59 74 45 6f 74 58 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 0a 4d 41 38 47 41 31 55 64 45 NeGYtEotXHAgMBAAGjQjBA.MA8GA1UdE
1bdee0 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 wEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDA
1bdf00 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 2f 57 53 41 32 41 48 6d 67 6f 43 4a 72 6a gEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrj
1bdf20 4e 58 79 0a 59 64 4b 34 4c 4d 75 43 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 NXy.YdK4LMuCSjANBgkqhkiG9w0BAQsF
1bdf40 41 41 4f 43 41 51 45 41 4d 51 4f 69 59 51 73 66 64 4f 68 79 4e 73 5a 74 2b 55 32 65 2b 69 4b 6f AAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo
1bdf60 34 59 46 57 7a 38 32 37 6e 2b 71 72 6b 52 6b 34 0a 72 36 70 38 46 55 33 7a 74 71 4f 4e 70 66 53 4YFWz827n+qrkRk4.r6p8FU3ztqONpfS
1bdf80 4f 39 6b 53 70 70 2b 67 68 6c 61 30 2b 41 47 49 57 69 50 41 43 75 76 78 68 49 2b 59 7a 6d 7a 42 O9kSpp+ghla0+AGIWiPACuvxhI+YzmzB
1bdfa0 36 61 7a 5a 69 65 36 30 45 49 34 52 59 5a 65 4c 62 4b 34 72 6e 4a 56 4d 33 59 6c 4e 66 0a 76 4e 6azZie60EI4RYZeLbK4rnJVM3YlNf.vN
1bdfc0 6f 42 59 69 6d 69 70 69 64 78 35 6a 6f 69 66 73 46 76 48 5a 56 77 49 45 6f 48 4e 4e 2f 71 2f 78 oBYimipidx5joifsFvHZVwIEoHNN/q/x
1bdfe0 57 41 35 62 72 58 65 74 68 62 64 58 77 46 65 69 6c 48 66 6b 43 6f 4d 52 4e 33 7a 55 41 37 74 46 WA5brXethbdXwFeilHfkCoMRN3zUA7tF
1be000 46 48 65 69 34 52 34 30 63 52 0a 33 70 31 6d 30 49 76 56 56 47 62 36 67 31 58 71 66 4d 49 70 69 FHei4R40cR.3p1m0IvVVGb6g1XqfMIpi
1be020 52 76 70 62 37 50 4f 34 67 57 45 79 53 38 2b 65 49 56 69 62 73 6c 66 77 58 68 6a 64 46 6a 41 53 Rvpb7PO4gWEyS8+eIVibslfwXhjdFjAS
1be040 42 67 4d 6d 54 6e 72 70 4d 77 61 74 58 6c 61 6a 52 57 63 32 42 51 4e 0a 39 6e 6f 48 56 38 63 69 BgMmTnrpMwatXlajRWc2BQN.9noHV8ci
1be060 67 77 55 74 50 4a 73 6c 4a 6a 30 59 73 36 6c 44 66 4d 6a 49 71 32 53 50 44 71 4f 2f 6e 42 75 64 gwUtPJslJj0Ys6lDfMjIq2SPDqO/nBud
1be080 4d 4e 76 61 30 42 6b 75 71 6a 7a 78 2b 7a 4f 41 64 75 54 4e 72 52 6c 50 42 53 65 4f 45 36 46 75 MNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fu
1be0a0 77 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a wg==.-----END.CERTIFICATE-----..
1be0c0 41 74 6f 73 20 54 72 75 73 74 65 64 52 6f 6f 74 20 32 30 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Atos.TrustedRoot.2011.==========
1be0e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1be100 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 42 41 67 49 49 58 44 50 4c TE-----.MIIDdzCCAl+gAwIBAgIIXDPL
1be120 59 69 78 66 73 7a 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 50 44 45 65 YixfszIwDQYJKoZIhvcNAQELBQAwPDEe
1be140 4d 42 77 47 41 31 55 45 41 77 77 56 51 58 52 76 63 79 42 55 0a 63 6e 56 7a 64 47 56 6b 55 6d 39 MBwGA1UEAwwVQXRvcyBU.cnVzdGVkUm9
1be160 76 64 43 41 79 4d 44 45 78 4d 51 30 77 43 77 59 44 56 51 51 4b 44 41 52 42 64 47 39 7a 4d 51 73 vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQs
1be180 77 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 41 65 46 77 30 78 4d 54 41 33 4d 44 63 78 4e 44 55 wCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU
1be1a0 34 0a 4d 7a 42 61 46 77 30 7a 4d 44 45 79 4d 7a 45 79 4d 7a 55 35 4e 54 6c 61 4d 44 77 78 48 6a 4.MzBaFw0zMDEyMzEyMzU5NTlaMDwxHj
1be1c0 41 63 42 67 4e 56 42 41 4d 4d 46 55 46 30 62 33 4d 67 56 48 4a 31 63 33 52 6c 5a 46 4a 76 62 33 AcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3
1be1e0 51 67 4d 6a 41 78 4d 54 45 4e 4d 41 73 47 0a 41 31 55 45 43 67 77 45 51 58 52 76 63 7a 45 4c 4d QgMjAxMTENMAsG.A1UECgwEQXRvczELM
1be200 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 AkGA1UEBhMCREUwggEiMA0GCSqGSIb3D
1be220 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 56 0a 68 54 75 58 QEBAQUAA4IBDwAwggEKAoIBAQCV.hTuX
1be240 62 79 6f 37 4c 6a 76 50 70 76 4d 70 4e 62 37 50 47 4b 77 2b 71 74 6e 34 54 61 41 2b 47 6b 65 35 byo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5
1be260 76 4a 72 66 38 76 37 4d 50 6b 66 6f 65 70 62 43 4a 49 34 31 39 4b 6b 4d 2f 49 4c 39 62 63 46 79 vJrf8v7MPkfoepbCJI419KkM/IL9bcFy
1be280 59 69 65 39 36 6d 76 72 0a 35 34 72 4d 56 44 36 51 55 4d 2b 41 31 4a 58 37 36 4c 57 43 31 42 54 Yie96mvr.54rMVD6QUM+A1JX76LWC1BT
1be2a0 46 74 71 6c 56 4a 56 66 62 73 56 44 32 73 47 42 6b 57 58 70 70 7a 77 4f 33 62 77 32 2b 79 6a 35 FtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5
1be2c0 76 64 48 4c 71 71 6a 41 71 63 32 4b 2b 53 5a 46 68 79 42 48 2b 0a 44 67 4d 71 39 32 6f 67 33 41 vdHLqqjAqc2K+SZFhyBH+.DgMq92og3A
1be2e0 49 56 44 56 34 56 61 76 7a 6a 67 73 47 31 78 5a 31 6b 43 57 79 6a 57 5a 67 48 4a 38 63 62 6c 69 IVDV4VavzjgsG1xZ1kCWyjWZgHJ8cbli
1be300 74 68 64 48 46 73 51 2f 48 33 4e 59 6b 51 34 4a 37 73 56 61 45 33 49 71 4b 48 42 41 55 73 52 33 thdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR3
1be320 32 30 0a 48 4c 6c 69 4b 57 59 6f 79 72 66 68 6b 2f 57 6b 6c 41 4f 5a 75 58 43 46 74 65 5a 49 36 20.HLliKWYoyrfhk/WklAOZuXCFteZI6
1be340 6f 31 51 2f 4e 6e 65 7a 47 38 48 44 74 30 4c 63 70 32 41 4d 42 59 48 6c 54 38 6f 44 76 33 46 64 o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3Fd
1be360 55 39 54 31 6e 53 61 74 43 51 75 6a 67 4b 52 0a 7a 33 62 46 6d 78 35 56 64 4a 78 34 49 62 48 77 U9T1nSatCQujgKR.z3bFmx5VdJx4IbHw
1be380 4c 66 45 4c 6e 38 4c 56 6c 68 67 66 38 46 51 69 65 6f 77 48 41 67 4d 42 41 41 47 6a 66 54 42 37 LfELn8LVlhgf8FQieowHAgMBAAGjfTB7
1be3a0 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 6e 70 51 61 78 4c 4b 59 4a 59 4f 37 52 0a 6c 2b 6c MB0GA1UdDgQWBBSnpQaxLKYJYO7R.l+l
1be3c0 77 72 72 77 37 47 57 7a 62 49 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 wrrw7GWzbITAPBgNVHRMBAf8EBTADAQH
1be3e0 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4b 65 6c 42 72 45 73 70 67 6c 67 37 74 47 /MB8GA1UdIwQYMBaAFKelBrEspglg7tG
1be400 58 36 58 43 75 76 44 73 5a 0a 62 4e 73 68 4d 42 67 47 41 31 55 64 49 41 51 52 4d 41 38 77 44 51 X6XCuvDsZ.bNshMBgGA1UdIAQRMA8wDQ
1be420 59 4c 4b 77 59 42 42 41 47 77 4c 51 4d 45 41 51 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 YLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BA
1be440 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a 43 77 55 41 41 34 49 42 41 QDAgGGMA0GCSqGSIb3DQEB.CwUAA4IBA
1be460 51 41 6d 64 7a 54 62 6c 45 69 47 4b 6b 47 64 4c 44 34 47 6b 47 44 45 6a 4b 77 4c 56 4c 67 66 75 QAmdzTblEiGKkGdLD4GkGDEjKwLVLgfu
1be480 58 76 54 42 7a 6e 6b 2b 6a 35 37 73 6a 31 4f 37 5a 38 6a 76 5a 66 7a 61 31 7a 76 37 76 31 41 70 XvTBznk+j57sj1O7Z8jvZfza1zv7v1Ap
1be4a0 74 2b 68 0a 6b 36 45 4b 68 71 7a 76 49 4e 42 35 41 62 31 34 39 78 6e 59 4a 44 45 30 42 41 47 6d t+h.k6EKhqzvINB5Ab149xnYJDE0BAGm
1be4c0 75 68 57 61 77 79 66 63 32 45 38 50 7a 42 68 6a 2f 35 6b 50 44 70 46 72 64 52 62 68 49 66 7a 59 uhWawyfc2E8PzBhj/5kPDpFrdRbhIfzY
1be4e0 4a 73 64 48 74 36 62 50 57 48 4a 78 66 72 72 68 0a 54 5a 56 48 4f 38 6d 76 62 61 47 30 77 65 79 JsdHt6bPWHJxfrrh.TZVHO8mvbaG0wey
1be500 4a 39 72 51 50 4f 4c 58 69 5a 4e 77 6c 7a 36 62 62 36 35 70 63 6d 61 48 46 43 4e 37 39 35 74 72 J9rQPOLXiZNwlz6bb65pcmaHFCN795tr
1be520 56 31 6c 70 46 44 4d 53 33 77 72 55 55 37 37 51 52 2f 77 34 56 74 66 58 31 32 38 61 39 0a 36 31 V1lpFDMS3wrUU77QR/w4VtfX128a9.61
1be540 71 6e 38 46 59 69 71 54 78 6c 56 4d 59 56 71 4c 32 47 6e 73 32 44 6c 6d 68 36 63 59 47 4a 34 51 qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Q
1be560 76 68 36 68 45 62 61 41 6a 4d 61 5a 37 73 6e 6b 47 65 52 44 49 6d 65 75 4b 48 43 6e 45 39 36 2b vh6hEbaAjMaZ7snkGeRDImeuKHCnE96+
1be580 52 61 70 4e 4c 62 78 63 33 47 0a 33 6d 42 2f 75 66 4e 50 52 4a 4c 76 4b 72 63 59 50 71 63 5a 32 RapNLbxc3G.3mB/ufNPRJLvKrcYPqcZ2
1be5a0 51 74 39 73 54 64 42 51 72 43 36 59 42 33 79 2f 67 6b 52 73 50 43 48 65 36 65 64 0a 2d 2d 2d 2d Qt9sTdBQrC6YB3y/gkRsPCHe6ed.----
1be5c0 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 -END.CERTIFICATE-----..QuoVadis.
1be5e0 52 6f 6f 74 20 43 41 20 31 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Root.CA.1.G3.===================
1be600 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1be620 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 55 65 46 68 66 4c 71 30 73 47 55 76 6a 4e IIFYDCCA0igAwIBAgIUeFhfLq0sGUvjN
1be640 77 63 31 4e 42 4d 6f 74 5a 62 55 5a 5a 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 wc1NBMotZbUZZMwDQYJKoZIhvcNAQELB
1be660 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 QAwSDELMAkG.A1UEBhMCQk0xGTAXBgNV
1be680 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 63 BAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc
1be6a0 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 45 BgNVBAMTFVF1b1ZhZGlzIFJv.b3QgQ0E
1be6c0 67 4d 53 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 78 4e 7a 49 33 4e 44 52 61 46 77 30 gMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw0
1be6e0 30 4d 6a 41 78 4d 54 49 78 4e 7a 49 33 4e 44 52 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 0MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAY
1be700 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 TAkJN.MRkwFwYDVQQKExBRdW9WYWRpcy
1be720 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 59 57 BMaW1pdGVkMR4wHAYDVQQDExVRdW9WYW
1be740 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 45 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 43 RpcyBSb290IENBIDEg.RzMwggIiMA0GC
1be760 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 SqGSIb3DQEBAQUAA4ICDwAwggIKAoICA
1be780 51 43 67 76 6c 41 51 6a 75 6e 79 62 45 43 30 42 4a 79 46 75 54 48 4b 33 43 33 6b 45 61 6b 45 0a QCgvlAQjunybEC0BJyFuTHK3C3kEakE.
1be7a0 50 42 74 56 77 65 64 59 4d 42 30 6b 74 4d 50 76 68 64 36 4d 4c 4f 48 42 50 64 2b 43 35 6b 2b 74 PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+t
1be7c0 52 34 64 73 37 46 74 4a 77 55 72 56 75 34 2f 73 68 36 78 2f 67 70 71 47 37 44 30 44 6d 56 49 42 R4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB
1be7e0 30 6a 57 65 72 4e 72 77 55 38 6c 6d 0a 50 4e 53 73 41 67 48 61 4a 4e 4d 37 71 41 4a 47 72 36 51 0jWerNrwU8lm.PNSsAgHaJNM7qAJGr6Q
1be800 63 34 2f 68 7a 57 48 61 33 39 67 36 51 44 62 58 77 7a 38 7a 36 2b 63 5a 4d 35 63 4f 47 4d 41 71 c4/hzWHa39g6QDbXwz8z6+cZM5cOGMAq
1be820 4e 46 33 34 31 36 38 58 66 75 77 36 63 77 49 32 48 34 34 67 34 68 57 66 36 0a 50 73 65 72 34 42 NF34168Xfuw6cwI2H44g4hWf6.Pser4B
1be840 4f 63 42 52 69 59 7a 35 50 31 73 5a 4b 30 2f 43 50 54 7a 39 58 45 4a 30 6e 67 6e 6a 79 62 43 4b OcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCK
1be860 4f 4c 58 53 6f 68 34 50 77 35 71 6c 50 61 66 58 37 50 47 67 6c 54 76 46 30 46 42 4d 2b 68 53 6f OLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo
1be880 2b 4c 64 6f 49 4e 0a 6f 66 6a 53 78 78 52 33 57 35 41 32 42 34 47 62 50 67 62 36 55 6c 35 6a 78 +LdoIN.ofjSxxR3W5A2B4GbPgb6Ul5jx
1be8a0 61 59 41 2f 71 58 70 55 68 74 53 74 5a 49 35 63 67 4d 4a 59 72 32 77 59 42 5a 75 70 74 30 6c 77 aYA/qXpUhtStZI5cgMJYr2wYBZupt0lw
1be8c0 67 4e 6d 33 66 4d 45 30 55 44 69 54 6f 75 47 39 47 2f 6c 0a 67 36 41 6e 68 46 34 45 77 66 57 51 gNm3fME0UDiTouG9G/l.g6AnhF4EwfWQ
1be8e0 76 54 41 39 78 4f 2b 6f 61 62 77 34 6d 36 53 6b 6c 74 46 69 32 6d 6e 41 41 5a 61 75 79 38 52 52 vTA9xO+oabw4m6SkltFi2mnAAZauy8RR
1be900 4e 4f 6f 4d 71 76 38 68 6a 6c 6d 50 53 6c 7a 6b 59 5a 71 6e 30 75 6b 71 65 49 31 52 50 54 6f 56 NOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
1be920 0a 37 71 4a 5a 6a 71 6c 63 33 73 58 35 6b 43 4c 6c 69 45 56 78 33 5a 47 5a 62 48 71 66 50 54 32 .7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2
1be940 59 66 46 37 32 76 68 5a 6f 6f 46 36 75 43 79 50 38 57 67 2b 71 49 6e 59 74 79 61 45 51 48 65 54 YfF72vhZooF6uCyP8Wg+qInYtyaEQHeT
1be960 54 52 43 4f 51 69 4a 2f 47 4b 75 62 58 0a 39 5a 71 7a 57 42 34 76 4d 49 6b 49 47 31 53 69 74 5a TRCOQiJ/GKubX.9ZqzWB4vMIkIG1SitZ
1be980 67 6a 37 41 68 33 48 4a 56 64 59 64 48 4c 69 5a 78 66 6f 6b 71 52 6d 75 38 68 71 6b 6b 57 43 4b gj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCK
1be9a0 69 39 59 53 67 78 79 58 53 74 68 66 62 5a 78 62 47 4c 30 65 55 51 4d 6b 31 66 0a 69 79 41 36 50 i9YSgxyXSthfbZxbGL0eUQMk1f.iyA6P
1be9c0 45 6b 66 4d 34 56 5a 44 64 76 4c 43 58 56 44 61 58 50 37 61 33 46 39 38 4e 2f 45 54 48 33 47 6f EkfM4VZDdvLCXVDaXP7a3F98N/ETH3Go
1be9e0 79 37 49 6c 58 6e 4c 63 36 4b 4f 54 6b 30 6b 2b 31 37 6b 42 4c 35 79 47 36 59 6e 4c 55 6c 61 6d y7IlXnLc6KOTk0k+17kBL5yG6YnLUlam
1bea00 58 72 58 58 41 6b 67 0a 74 33 2b 55 75 55 2f 78 44 52 78 65 69 45 49 62 45 62 66 6e 6b 64 75 65 XrXXAkg.t3+UuU/xDRxeiEIbEbfnkdue
1bea20 62 50 52 71 33 34 77 47 6d 41 4f 74 7a 43 6a 76 70 55 66 7a 55 77 49 44 41 51 41 42 6f 30 49 77 bPRq34wGmAOtzCjvpUfzUwIDAQABo0Iw
1bea40 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 QDAPBgNVHRMBAf8EBTAD.AQH/MA4GA1U
1bea60 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 35 66 dDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5f
1bea80 57 38 31 36 69 45 4f 47 72 52 5a 38 38 46 32 51 38 37 67 46 77 6e 4d 77 77 44 51 59 4a 4b 6f 5a W816iEOGrRZ88F2Q87gFwnMwwDQYJKoZ
1beaa0 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 42 6a 36 57 33 58 38 50 6e 72 48 58 33 I.hvcNAQELBQADggIBABj6W3X8PnrHX3
1beac0 66 48 79 74 2f 50 58 38 4d 53 78 45 42 64 31 44 4b 71 75 47 72 58 31 52 55 56 52 70 67 6a 70 65 fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpe
1beae0 61 51 57 78 69 5a 54 4f 4f 74 51 71 4f 43 0a 4d 54 61 49 7a 65 6e 37 78 41 53 57 53 49 73 42 78 aQWxiZTOOtQqOC.MTaIzen7xASWSIsBx
1beb00 34 30 42 7a 31 73 7a 42 70 5a 47 5a 6e 51 64 54 2b 33 42 74 72 6d 30 44 57 48 4d 59 33 37 58 4c 40Bz1szBpZGZnQdT+3Btrm0DWHMY37XL
1beb20 6e 65 4d 6c 68 77 71 49 32 68 72 68 56 64 32 63 44 4d 54 2f 75 46 50 70 69 4e 33 0a 47 50 6f 61 neMlhwqI2hrhVd2cDMT/uFPpiN3.GPoa
1beb40 6a 4f 69 39 5a 63 6e 50 50 2f 54 4a 46 39 7a 72 78 37 7a 41 42 43 34 74 52 69 39 70 5a 73 4d 62 jOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMb
1beb60 6a 2f 37 73 50 74 50 4b 6c 4c 39 32 43 69 55 4e 71 58 73 43 48 4b 6e 51 4f 31 38 4c 77 49 45 36 j/7sPtPKlL92CiUNqXsCHKnQO18LwIE6
1beb80 50 57 54 68 76 36 63 74 0a 54 72 31 4e 78 4e 67 70 78 69 49 59 30 4d 57 73 63 67 4b 43 50 36 6f PWThv6ct.Tr1NxNgpxiIY0MWscgKCP6o
1beba0 36 6f 6a 6f 69 6c 7a 48 64 43 47 50 44 64 52 53 35 59 43 67 74 57 32 6a 67 46 71 6c 6d 67 69 4e 6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiN
1bebc0 52 39 65 74 54 32 44 47 62 65 2b 6d 33 6e 55 76 72 69 42 62 50 0a 2b 56 30 34 69 6b 6b 77 6a 2b R9etT2DGbe+m3nUvriBbP.+V04ikkwj+
1bebe0 33 78 36 78 6e 30 64 78 6f 78 47 45 31 6e 56 47 77 76 62 32 58 35 32 7a 33 73 49 65 78 65 39 50 3x6xn0dxoxGE1nVGwvb2X52z3sIexe9P
1bec00 53 4c 79 6d 42 6c 56 4e 46 78 5a 50 54 35 70 71 4f 42 4d 7a 59 7a 63 66 43 6b 65 46 39 4f 72 59 SLymBlVNFxZPT5pqOBMzYzcfCkeF9OrY
1bec20 4d 68 0a 33 6a 52 4a 6a 65 68 5a 72 4a 33 79 64 6c 6f 32 38 68 50 30 72 2b 41 4a 78 32 45 71 62 Mh.3jRJjehZrJ3ydlo28hP0r+AJx2Eqb
1bec40 50 66 67 6e 61 36 37 68 6b 6f 6f 62 79 37 75 74 48 6e 4e 6b 44 50 44 73 33 62 36 39 66 42 73 6e Pfgna67hkooby7utHnNkDPDs3b69fBsn
1bec60 51 47 51 2b 70 36 51 39 70 78 79 7a 30 66 61 0a 77 78 2f 6b 4e 53 42 54 38 6c 54 52 33 32 47 44 QGQ+p6Q9pxyz0fa.wx/kNSBT8lTR32GD
1bec80 70 67 4c 69 4a 54 6a 65 68 54 49 74 58 6e 4f 51 55 6c 31 43 78 4d 34 39 53 2b 48 35 47 59 51 64 pgLiJTjehTItXnOQUl1CxM49S+H5GYQd
1beca0 31 61 4a 51 7a 45 48 37 51 52 54 44 76 64 62 4a 57 71 4e 6a 5a 67 4b 41 76 51 55 36 0a 4f 30 65 1aJQzEH7QRTDvdbJWqNjZgKAvQU6.O0e
1becc0 63 37 41 41 6d 54 50 57 49 55 62 2b 6f 49 33 38 59 42 37 41 4c 37 59 73 6d 6f 57 54 54 59 55 72 c7AAmTPWIUb+oI38YB7AL7YsmoWTTYUr
1bece0 72 58 4a 2f 65 73 36 39 6e 41 37 4d 66 33 57 31 64 61 57 68 70 71 31 34 36 37 48 78 70 76 4d 63 rXJ/es69nA7Mf3W1daWhpq1467HxpvMc
1bed00 37 68 55 36 65 46 62 6d 30 0a 46 55 2f 44 6c 58 70 59 31 38 6c 73 36 57 79 35 38 79 6c 6a 58 72 7hU6eFbm0.FU/DlXpY18ls6Wy58yljXr
1bed20 51 73 38 43 30 39 37 56 70 6c 34 4b 6c 62 51 4d 4a 49 6d 59 46 74 6e 68 38 47 4b 6a 77 53 74 49 Qs8C097Vpl4KlbQMJImYFtnh8GKjwStI
1bed40 73 50 6d 36 49 6b 38 4b 61 4e 31 6e 72 67 53 37 5a 6b 6c 6d 4f 56 0a 68 4d 4a 4b 7a 52 77 75 4a sPm6Ik8KaN1nrgS7ZklmOV.hMJKzRwuJ
1bed60 49 63 7a 59 4f 58 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d IczYOXD.-----END.CERTIFICATE----
1bed80 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 32 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d -..QuoVadis.Root.CA.2.G3.=======
1beda0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1bedc0 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 55 52 ICATE-----.MIIFYDCCA0igAwIBAgIUR
1bede0 46 63 30 4a 46 75 42 69 5a 73 31 38 73 36 34 4b 7a 74 62 70 79 62 77 64 53 67 77 44 51 59 4a 4b Fc0JFuBiZs18s64KztbpybwdSgwDQYJK
1bee00 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 oZIhvcNAQELBQAwSDELMAkG.A1UEBhMC
1bee20 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 Qk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExp
1bee40 62 57 6c 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a bWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlz
1bee60 49 46 4a 76 0a 62 33 51 67 51 30 45 67 4d 69 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 IFJv.b3QgQ0EgMiBHMzAeFw0xMjAxMTI
1bee80 78 4f 44 55 35 4d 7a 4a 61 46 77 30 30 4d 6a 41 78 4d 54 49 78 4f 44 55 35 4d 7a 4a 61 4d 45 67 xODU5MzJaFw00MjAxMTIxODU5MzJaMEg
1beea0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 xCzAJBgNVBAYTAkJN.MRkwFwYDVQQKEx
1beec0 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 BRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQ
1beee0 51 44 45 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 49 67 0a 52 QDExVRdW9WYWRpcyBSb290IENBIDIg.R
1bef00 7a 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 zMwggIiMA0GCSqGSIb3DQEBAQUAA4ICD
1bef20 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 68 72 69 57 79 41 52 6a 63 56 34 67 2f 52 75 76 35 72 wAwggIKAoICAQChriWyARjcV4g/Ruv5r
1bef40 2b 4c 72 49 33 48 69 6d 74 46 68 0a 5a 69 46 66 71 71 38 6e 55 65 56 75 47 78 62 55 4c 58 31 51 +LrI3HimtFh.ZiFfqq8nUeVuGxbULX1Q
1bef60 73 46 4e 33 76 58 67 36 59 4f 4a 6b 41 70 74 38 68 70 76 57 47 6f 36 74 2f 78 38 56 66 39 57 56 sFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WV
1bef80 48 68 4c 4c 35 68 53 45 42 4d 48 66 4e 72 4d 57 6e 34 72 6a 79 64 75 59 0a 4e 4d 37 59 4d 78 63 HhLL5hSEBMHfNrMWn4rjyduY.NM7YMxc
1befa0 6f 52 76 79 6e 79 66 44 53 74 4e 56 4e 43 58 4a 4a 2b 66 4b 48 34 36 6e 61 66 61 46 39 61 37 49 oRvynyfDStNVNCXJJ+fKH46nafaF9a7I
1befc0 36 4a 61 6c 74 55 6b 53 73 2b 4c 35 75 2b 39 79 6d 63 35 47 51 59 61 59 44 46 43 44 79 35 34 65 6JaltUkSs+L5u+9ymc5GQYaYDFCDy54e
1befe0 6a 69 4b 32 74 0a 6f 49 7a 2f 70 67 73 6c 55 69 58 6e 46 67 48 56 79 37 67 31 67 51 79 6a 4f 2f jiK2t.oIz/pgslUiXnFgHVy7g1gQyjO/
1bf000 44 68 34 66 78 61 58 63 36 41 63 57 33 34 53 61 73 2b 4f 37 71 34 31 34 41 42 2b 36 58 72 57 37 Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7
1bf020 50 46 58 6d 41 71 4d 61 43 76 4e 2b 67 67 4f 70 2b 6f 0a 4d 69 77 4d 7a 41 6b 64 30 35 36 4f 58 PFXmAqMaCvN+ggOp+o.MiwMzAkd056OX
1bf040 62 78 4d 6d 4f 37 46 47 6d 68 37 37 46 4f 6d 36 52 51 31 6f 39 2f 4e 67 4a 38 4d 53 50 73 63 39 bxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9
1bf060 50 47 2f 53 72 6a 36 31 59 78 78 53 73 63 66 72 66 35 42 6d 72 4f 44 58 66 4b 45 56 75 2b 6c 0a PG/Srj61YxxSscfrf5BmrODXfKEVu+l.
1bf080 56 30 50 4f 4b 61 32 4d 71 31 57 2f 78 50 74 62 41 64 30 6a 49 61 46 59 41 49 37 44 30 47 6f 54 V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT
1bf0a0 37 52 50 6a 45 69 75 41 33 47 66 6d 6c 62 4c 4e 48 69 4a 75 4b 76 68 42 31 50 4c 4b 46 41 65 4e 7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeN
1bf0c0 69 6c 55 53 78 6d 6e 31 75 49 5a 6f 0a 4c 31 4e 65 73 4e 4b 71 49 63 47 59 35 6a 44 6a 5a 31 58 ilUSxmn1uIZo.L1NesNKqIcGY5jDjZ1X
1bf0e0 48 6d 32 36 73 47 61 68 56 70 6b 55 47 30 43 4d 36 32 2b 74 6c 58 53 6f 52 45 66 41 37 54 38 70 Hm26sGahVpkUG0CM62+tlXSoREfA7T8p
1bf100 74 39 44 54 45 63 65 54 2f 41 46 72 32 58 4b 34 6a 59 49 56 7a 38 65 51 51 0a 73 53 57 75 31 5a t9DTEceT/AFr2XK4jYIVz8eQQ.sSWu1Z
1bf120 4b 37 45 38 45 4d 34 44 6e 61 74 44 6c 58 74 61 73 31 71 6e 49 68 4f 34 4d 31 35 7a 48 66 65 69 K7E8EM4DnatDlXtas1qnIhO4M15zHfei
1bf140 46 75 75 44 49 49 66 52 30 79 6b 52 56 4b 59 6e 4c 50 34 33 65 68 76 4e 55 52 47 33 59 42 5a 77 FuuDIIfR0ykRVKYnLP43ehvNURG3YBZw
1bf160 6a 67 51 51 76 44 0a 36 78 56 75 2b 4b 51 5a 32 61 4b 72 72 2b 49 6e 55 6c 59 72 41 6f 6f 73 46 jgQQvD.6xVu+KQZ2aKrr+InUlYrAoosF
1bf180 43 54 35 76 30 49 43 76 79 62 49 78 6f 2f 67 62 6a 68 39 55 79 33 6c 37 5a 69 7a 6c 57 4e 6f 66 CT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof
1bf1a0 2f 6b 31 39 4e 2b 49 78 57 41 31 6b 73 42 38 61 52 78 68 0a 6c 52 62 51 36 39 34 4c 72 7a 34 45 /k19N+IxWA1ksB8aRxh.lRbQ694Lrz4E
1bf1c0 45 45 56 6c 57 46 41 34 72 30 6a 79 57 62 59 57 38 6a 77 4e 6b 41 4c 47 63 43 34 42 72 54 77 56 EEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV
1bf1e0 31 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
1bf200 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e .AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgN
1bf220 56 48 51 34 45 46 67 51 55 37 65 64 76 64 6c 71 2f 59 4f 78 4a 57 38 61 6c 64 37 74 79 46 6e 47 VHQ4EFgQU7edvdlq/YOxJW8ald7tyFnG
1bf240 62 78 44 30 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 4a bxD0wDQYJKoZI.hvcNAQELBQADggIBAJ
1bf260 48 66 67 44 39 44 43 58 35 78 77 76 66 72 73 34 69 50 34 56 47 79 76 44 31 31 2b 53 68 64 79 4c HfgD9DCX5xwvfrs4iP4VGyvD11+ShdyL
1bf280 79 5a 6d 33 74 64 71 75 58 4b 34 51 72 33 36 4c 4c 54 6e 39 31 6e 4d 58 36 36 0a 41 61 72 48 61 yZm3tdquXK4Qr36LLTn91nMX66.AarHa
1bf2a0 6b 45 37 6b 4e 51 49 58 4c 4a 67 61 70 44 77 79 4d 34 44 59 76 6d 4c 37 66 74 75 4b 74 77 47 54 kE7kNQIXLJgapDwyM4DYvmL7ftuKtwGT
1bf2c0 54 77 70 44 34 6b 57 69 6c 68 4d 53 41 2f 6f 68 47 48 71 50 48 4b 6d 64 2b 52 43 72 6f 69 6a 51 TwpD4kWilhMSA/ohGHqPHKmd+RCroijQ
1bf2e0 31 68 35 66 71 37 4b 0a 70 56 4d 4e 71 54 31 77 76 53 41 5a 59 61 52 73 4f 50 78 44 4d 75 48 42 1h5fq7K.pVMNqT1wvSAZYaRsOPxDMuHB
1bf300 52 2f 2f 34 37 50 45 52 49 6a 4b 57 6e 4d 4c 32 57 32 6d 57 65 79 41 4d 51 30 47 61 57 2f 5a 5a R//47PERIjKWnML2W2mWeyAMQ0GaW/ZZ
1bf320 47 59 6a 65 56 59 67 33 55 51 74 34 58 41 6f 65 6f 30 4c 39 0a 78 35 32 49 44 38 44 79 65 41 49 GYjeVYg3UQt4XAoeo0L9.x52ID8DyeAI
1bf340 6b 56 4a 4f 76 69 59 65 49 79 55 71 41 48 65 72 51 62 6a 35 68 4c 6a 61 37 4e 51 34 6e 6c 76 31 kVJOviYeIyUqAHerQbj5hLja7NQ4nlv1
1bf360 6d 4e 44 74 68 63 6e 50 78 46 6c 78 48 42 6c 52 4a 41 48 70 59 45 72 41 4b 37 34 58 39 73 62 67 mNDthcnPxFlxHBlRJAHpYErAK74X9sbg
1bf380 7a 0a 64 57 71 54 48 42 4c 6d 59 46 35 76 48 58 2f 4a 48 79 50 4c 68 47 47 66 48 6f 4a 45 2b 56 z.dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V
1bf3a0 2b 74 59 6c 55 6b 6d 6c 4b 59 37 56 48 6e 6f 58 36 58 4f 75 59 76 48 78 48 61 55 34 41 73 68 5a +tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ
1bf3c0 36 72 4e 52 44 62 49 6c 39 71 78 56 36 58 0a 55 2f 49 79 41 67 6b 77 6f 31 6a 77 44 51 48 56 63 6rNRDbIl9qxV6X.U/IyAgkwo1jwDQHVc
1bf3e0 73 61 78 66 47 6c 37 77 2f 55 32 52 63 78 68 62 6c 35 4d 6c 4d 56 65 72 75 67 4f 58 6f 75 2f 39 saxfGl7w/U2Rcxhbl5MlMVerugOXou/9
1bf400 38 33 67 37 61 45 4f 47 7a 50 75 56 42 6a 2b 44 37 37 76 66 6f 52 72 51 2b 4e 77 0a 6d 4e 74 64 83g7aEOGzPuVBj+D77vfoRrQ+Nw.mNtd
1bf420 64 62 49 4e 57 51 65 46 46 53 4d 35 31 76 48 66 71 53 59 50 31 6b 6a 48 73 36 59 69 39 54 4d 33 dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3
1bf440 57 70 56 48 6e 33 75 36 47 42 56 76 2f 39 59 55 5a 49 4e 4a 30 67 70 6e 49 64 73 50 4e 57 4e 67 WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg
1bf460 4b 43 4c 6a 73 5a 57 44 0a 7a 59 57 6d 33 53 38 50 35 32 64 53 62 72 73 76 68 58 7a 31 53 6e 50 KCLjsZWD.zYWm3S8P52dSbrsvhXz1SnP
1bf480 6e 78 54 37 41 76 53 45 53 42 54 2f 38 74 77 4e 4a 41 6c 76 49 4a 65 62 69 56 44 6a 31 65 59 65 nxT7AvSESBT/8twNJAlvIJebiVDj1eYe
1bf4a0 4d 48 56 4f 79 54 6f 56 37 42 6a 6a 48 4c 50 6a 34 73 48 4b 4e 0a 4a 65 56 33 55 76 51 44 48 45 MHVOyToV7BjjHLPj4sHKN.JeV3UvQDHE
1bf4c0 69 6d 55 46 2b 49 49 44 42 75 38 6f 4a 44 71 7a 32 58 68 4f 64 54 2b 79 48 42 54 77 38 69 6d 6f imUF+IIDBu8oJDqz2XhOdT+yHBTw8imo
1bf4e0 61 34 57 53 72 32 52 7a 30 5a 69 43 33 6f 68 65 47 65 37 49 55 49 61 72 46 73 4e 4d 6b 64 37 45 a4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7E
1bf500 67 72 0a 4f 33 6a 74 5a 73 53 4f 65 57 6d 44 33 6e 2b 4d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 gr.O3jtZsSOeWmD3n+M.-----END.CER
1bf520 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 TIFICATE-----..QuoVadis.Root.CA.
1bf540 33 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 3.G3.=====================.-----
1bf560 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 BEGIN.CERTIFICATE-----.MIIFYDCCA
1bf580 30 69 67 41 77 49 42 41 67 49 55 4c 76 57 62 41 69 69 6e 32 33 72 2f 31 61 4f 70 37 72 30 44 6f 0igAwIBAgIULvWbAiin23r/1aOp7r0Do
1bf5a0 4d 38 53 61 68 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 4c 4d M8Sah0wDQYJKoZIhvcNAQELBQAwSDELM
1bf5c0 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 31 AkG.A1UEBhMCQk0xGTAXBgNVBAoTEFF1
1bf5e0 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMT
1bf600 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 45 67 4d 79 42 48 4d 7a 41 FVF1b1ZhZGlzIFJv.b3QgQ0EgMyBHMzA
1bf620 65 46 77 30 78 4d 6a 41 78 4d 54 49 79 4d 44 49 32 4d 7a 4a 61 46 77 30 30 4d 6a 41 78 4d 54 49 eFw0xMjAxMTIyMDI2MzJaFw00MjAxMTI
1bf640 79 4d 44 49 32 4d 7a 4a 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a 4d 52 yMDI2MzJaMEgxCzAJBgNVBAYTAkJN.MR
1bf660 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 kwFwYDVQQKExBRdW9WYWRpcyBMaW1pdG
1bf680 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 VkMR4wHAYDVQQDExVRdW9WYWRpcyBSb2
1bf6a0 39 30 49 45 4e 42 49 44 4d 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 90IENBIDMg.RzMwggIiMA0GCSqGSIb3D
1bf6c0 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 7a 79 77 34 51 5a QEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ
1bf6e0 34 37 71 46 4a 65 6e 4d 69 6f 4b 56 6a 5a 2f 61 45 7a 48 73 32 38 36 0a 49 78 53 52 2f 78 6c 2f 47qFJenMioKVjZ/aEzHs286.IxSR/xl/
1bf700 70 63 71 73 37 72 4e 32 6e 58 72 70 69 78 75 72 61 7a 48 62 2b 67 74 54 54 4b 2f 46 70 52 70 35 pcqs7rN2nXrpixurazHb+gtTTK/FpRp5
1bf720 50 49 70 4d 2f 36 7a 66 4a 64 35 4f 32 59 49 79 43 30 54 65 79 74 75 4d 72 4b 4e 75 46 6f 4d 37 PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7
1bf740 70 6d 52 4c 0a 4d 6f 6e 37 46 68 59 34 66 75 74 44 34 74 4e 30 53 73 4a 69 43 6e 4d 4b 33 55 6d pmRL.Mon7FhY4futD4tN0SsJiCnMK3Um
1bf760 7a 56 39 4b 77 43 6f 57 64 63 54 7a 65 6f 38 76 41 4d 76 4d 42 4f 53 42 44 47 7a 58 52 55 37 4f zV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7O
1bf780 78 37 73 57 54 61 59 49 2b 46 72 55 6f 52 71 48 65 0a 36 6f 6b 4a 37 55 4f 34 42 55 61 4b 68 76 x7sWTaYI+FrUoRqHe.6okJ7UO4BUaKhv
1bf7a0 56 5a 52 37 34 62 62 77 45 68 45 4c 6e 39 71 64 49 6f 79 68 41 35 43 63 6f 54 4e 73 2b 63 72 61 VZR74bbwEhELn9qdIoyhA5CcoTNs+cra
1bf7c0 31 41 64 48 6b 72 41 6a 38 30 2f 2f 6f 67 61 58 33 54 37 6d 48 31 75 72 50 6e 4d 4e 41 33 0a 49 1AdHkrAj80//ogaX3T7mH1urPnMNA3.I
1bf7e0 34 5a 79 59 55 55 70 53 46 6c 6f 62 33 65 6d 4c 6f 47 2b 42 30 31 76 72 38 37 45 52 52 4f 52 46 4ZyYUUpSFlob3emLoG+B01vr87ERRORF
1bf800 48 41 47 6a 78 2b 66 2b 49 64 70 73 51 37 76 77 34 6b 5a 36 2b 6f 63 59 66 78 36 62 49 72 63 31 HAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1
1bf820 67 4d 4c 6e 69 61 36 45 74 33 55 0a 56 44 6d 72 4a 71 4d 7a 36 6e 57 42 32 69 33 4e 44 30 2f 6b gMLnia6Et3U.VDmrJqMz6nWB2i3ND0/k
1bf840 41 39 48 76 46 5a 63 62 61 35 44 46 41 70 43 54 5a 67 49 68 73 55 66 65 69 35 70 4b 67 4c 6c 56 A9HvFZcba5DFApCTZgIhsUfei5pKgLlV
1bf860 6a 37 57 69 4c 38 44 57 4d 32 66 61 66 73 53 6e 74 41 52 45 36 30 66 37 0a 35 6c 69 35 39 77 7a j7WiL8DWM2fafsSntARE60f7.5li59wz
1bf880 77 65 79 75 78 77 48 41 70 77 30 42 69 4c 54 74 49 61 64 77 6a 50 45 6a 72 65 77 6c 35 71 57 33 weyuxwHApw0BiLTtIadwjPEjrewl5qW3
1bf8a0 61 71 44 43 59 7a 34 42 79 41 34 69 6d 57 30 61 75 63 6e 6c 38 43 41 4d 68 5a 61 36 33 34 52 79 aqDCYz4ByA4imW0aucnl8CAMhZa634Ry
1bf8c0 6c 73 53 71 69 0a 4d 64 35 6d 42 50 66 41 64 4f 68 78 33 76 38 39 57 63 79 57 4a 68 4b 4c 68 5a lsSqi.Md5mBPfAdOhx3v89WcyWJhKLhZ
1bf8e0 56 58 47 71 74 72 64 51 74 45 50 52 45 6f 50 48 74 68 74 2b 4b 50 5a 30 2f 6c 37 44 78 4d 59 49 VXGqtrdQtEPREoPHtht+KPZ0/l7DxMYI
1bf900 42 70 56 7a 67 65 41 56 75 4e 56 65 6a 48 33 38 44 4d 0a 64 79 4d 30 53 58 56 38 39 70 67 52 36 BpVzgeAVuNVejH38DM.dyM0SXV89pgR6
1bf920 79 33 65 37 55 45 75 46 41 55 43 66 2b 44 2b 49 4f 73 31 35 78 47 73 49 73 35 58 50 64 37 4a 4d y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JM
1bf940 47 30 51 41 34 58 4e 38 66 2b 4d 46 72 58 42 73 6a 36 49 62 47 42 2f 6b 45 2b 56 39 2f 59 74 0a G0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt.
1bf960 72 51 45 35 42 77 54 36 64 59 42 39 76 30 6c 51 37 65 2f 4a 78 48 77 63 36 34 42 2b 32 37 62 51 rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ
1bf980 33 52 50 2b 79 64 4f 63 31 37 4b 58 71 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 3RP+ydOc17KXqQIDAQABo0IwQDAPBgNV
1bf9a0 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 HRMBAf8EBTAD.AQH/MA4GA1UdDwEB/wQ
1bf9c0 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 78 68 66 51 76 4b 6a 71 41 6b 50 EAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkP
1bf9e0 79 47 77 61 5a 58 53 75 51 49 4c 6e 58 6e 4f 51 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 yGwaZXSuQILnXnOQwDQYJKoZI.hvcNAQ
1bfa00 45 4c 42 51 41 44 67 67 49 42 41 44 52 68 32 56 61 31 45 6f 64 56 54 64 32 6a 4e 54 46 47 75 36 ELBQADggIBADRh2Va1EodVTd2jNTFGu6
1bfa20 51 48 63 72 78 66 59 57 4c 6f 70 66 73 4c 4e 37 45 38 74 72 50 36 4b 5a 31 2f 41 76 57 6b 79 61 QHcrxfYWLopfsLN7E8trP6KZ1/AvWkya
1bfa40 69 54 74 33 70 78 0a 4b 47 6d 50 63 2b 46 53 6b 4e 72 56 76 6a 72 6c 74 33 5a 71 56 6f 41 68 33 iTt3px.KGmPc+FSkNrVvjrlt3ZqVoAh3
1bfa60 31 33 6d 36 54 71 65 35 54 37 32 6f 6d 6e 48 4b 67 71 77 47 45 66 63 49 48 42 39 55 71 4d 2b 57 13m6Tqe5T72omnHKgqwGEfcIHB9UqM+W
1bfa80 58 7a 42 75 73 6e 49 46 55 42 68 79 6e 4c 57 63 4b 7a 53 0a 74 2f 41 63 35 49 59 70 38 4d 37 76 XzBusnIFUBhynLWcKzS.t/Ac5IYp8M7v
1bfaa0 61 47 50 51 74 53 43 4b 46 57 47 61 66 6f 61 59 74 4d 6e 43 64 76 76 4d 75 6a 41 57 7a 4b 4e 68 aGPQtSCKFWGafoaYtMnCdvvMujAWzKNh
1bfac0 78 6e 51 54 35 57 76 76 6f 78 58 71 41 2f 34 54 69 32 54 6b 30 38 48 53 36 49 54 37 53 64 45 51 xnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
1bfae0 0a 54 58 6c 6d 36 36 72 39 39 49 30 78 48 6e 41 55 72 64 7a 65 5a 78 4e 4d 67 52 56 68 76 4c 66 .TXlm66r99I0xHnAUrdzeZxNMgRVhvLf
1bfb00 5a 6b 58 64 78 47 59 46 67 75 2f 42 59 70 62 57 63 43 2f 65 50 49 6c 55 6e 77 45 73 42 62 54 75 ZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTu
1bfb20 5a 44 64 51 64 6d 32 4e 6e 4c 39 44 75 0a 44 63 70 6d 76 4a 52 50 70 71 33 74 2f 4f 35 6a 72 46 ZDdQdm2NnL9Du.DcpmvJRPpq3t/O5jrF
1bfb40 63 2f 5a 53 58 50 73 6f 61 50 30 41 6a 2f 75 48 59 55 62 74 37 6c 4a 2b 79 72 65 4c 56 54 75 62 c/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTub
1bfb60 59 2f 36 43 44 35 30 71 69 2b 59 55 62 4b 68 34 79 45 38 2f 6e 78 6f 47 69 62 0a 49 68 36 42 4a Y/6CD50qi+YUbKh4yE8/nxoGib.Ih6BJ
1bfb80 70 73 51 42 4a 46 78 77 41 59 66 33 4b 44 54 75 56 61 6e 34 35 67 74 66 34 4f 64 33 34 77 72 6e psQBJFxwAYf3KDTuVan45gtf4Od34wrn
1bfba0 44 4b 4f 4d 70 54 77 41 54 77 69 4b 70 39 44 77 69 37 44 6d 44 6b 48 4f 48 76 38 58 67 42 43 48 DKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH
1bfbc0 2f 4d 79 4a 6e 6d 44 0a 68 50 62 6c 38 4d 46 52 45 73 41 4c 48 67 51 6a 44 46 53 6c 54 43 39 4a /MyJnmD.hPbl8MFREsALHgQjDFSlTC9J
1bfbe0 78 55 72 52 74 6d 35 67 44 57 76 38 61 34 75 46 4a 47 53 33 69 51 36 72 4a 55 64 62 50 4d 39 2b xUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+
1bfc00 53 62 33 48 36 51 72 47 32 76 64 2b 44 68 63 49 30 30 69 58 0a 30 48 47 53 38 41 38 35 50 6a 52 Sb3H6QrG2vd+DhcI00iX.0HGS8A85PjR
1bfc20 71 48 48 33 59 38 69 4b 75 75 32 6e 30 4d 37 53 6d 53 46 58 52 44 77 34 6d 36 4f 79 32 43 79 32 qHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2
1bfc40 6e 68 54 58 4e 2f 56 6e 49 6e 39 48 4e 50 6c 6f 70 4e 4c 6b 39 68 4d 36 78 5a 64 52 5a 6b 5a 46 nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZF
1bfc60 57 0a 64 53 48 42 64 35 37 35 65 75 46 67 6e 64 4f 74 42 42 6a 30 66 4f 74 65 6b 34 39 54 53 69 W.dSHBd575euFgndOtBBj0fOtek49TSi
1bfc80 49 70 2b 45 67 72 50 6b 32 47 72 46 74 2f 79 77 61 5a 57 57 44 59 57 47 57 56 6a 55 54 52 39 33 Ip+EgrPk2GrFt/ywaZWWDYWGWVjUTR93
1bfca0 39 2b 4a 33 39 39 72 6f 44 31 42 30 79 32 0a 50 70 78 78 56 4a 6b 45 53 2f 31 59 2b 5a 6a 30 0a 9+J399roD1B0y2.PpxxVJkES/1Y+Zj0.
1bfcc0 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 -----END.CERTIFICATE-----..DigiC
1bfce0 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d ert.Assured.ID.Root.G2.=========
1bfd00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1bfd20 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6c 6a 43 43 41 6e 36 67 41 77 49 42 41 RTIFICATE-----.MIIDljCCAn6gAwIBA
1bfd40 67 49 51 43 35 4d 63 4f 74 59 35 5a 2b 70 6e 49 37 2f 44 72 35 72 30 53 7a 41 4e 42 67 6b 71 68 gIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqh
1bfd60 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 kiG9w0BAQsFADBlMQswCQYDVQQG.EwJV
1bfd80 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j
1bfda0 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
1bfdc0 59 32 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 Y29tMSQw.IgYDVQQDExtEaWdpQ2VydCB
1bfde0 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 49 77 48 68 63 4e 4d 54 4d Bc3N1cmVkIElEIFJvb3QgRzIwHhcNMTM
1bfe00 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 0a 4d 54 45 31 4d 54 49 77 4d 44 wODAxMTIwMDAwWhcNMzgw.MTE1MTIwMD
1bfe20 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 AwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1
1bfe40 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQ
1bfe60 51 4c 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 QL.ExB3d3cuZGlnaWNlcnQuY29tMSQwI
1bfe80 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 gYDVQQDExtEaWdpQ2VydCBBc3N1cmVkI
1bfea0 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 49 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 ElEIFJvb3QgRzIw.ggEiMA0GCSqGSIb3
1bfec0 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 5a 35 79 67 76 DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygv
1bfee0 55 6a 38 32 63 6b 6d 49 6b 7a 54 7a 2b 47 6f 65 4d 56 53 41 6e 36 31 55 51 62 56 48 0a 33 35 61 Uj82ckmIkzTz+GoeMVSAn61UQbVH.35a
1bff00 6f 31 4b 2b 41 4c 62 6b 4b 7a 33 58 39 69 61 56 39 4a 50 72 6a 49 67 77 72 76 4a 55 58 43 7a 4f o1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO
1bff20 2f 47 55 31 42 42 70 41 41 76 51 78 4e 45 50 34 48 74 65 63 63 62 69 4a 56 4d 57 57 58 76 64 4d /GU1BBpAAvQxNEP4HteccbiJVMWWXvdM
1bff40 58 30 68 35 69 38 39 76 71 0a 62 46 43 4d 50 34 51 4d 6c 73 2b 33 79 77 50 67 79 6d 32 68 46 45 X0h5i89vq.bFCMP4QMls+3ywPgym2hFE
1bff60 77 62 69 64 33 74 41 4c 42 53 66 4b 2b 52 62 4c 45 34 45 39 48 70 45 67 6a 41 41 4c 41 63 4b 78 wbid3tALBSfK+RbLE4E9HpEgjAALAcKx
1bff80 48 61 64 33 41 32 6d 36 37 4f 65 59 66 63 67 6e 44 6d 43 58 52 77 0a 56 57 6d 76 6f 32 69 66 76 Had3A2m67OeYfcgnDmCXRw.VWmvo2ifv
1bffa0 39 32 32 65 62 50 79 6e 58 41 70 56 66 53 72 2f 35 56 68 38 38 6c 41 62 78 33 52 76 70 4f 37 30 922ebPynXApVfSr/5Vh88lAbx3RvpO70
1bffc0 34 67 71 75 35 32 2f 63 6c 70 57 63 54 73 2f 31 50 50 52 43 76 34 6f 37 36 50 75 32 5a 6d 76 41 4gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA
1bffe0 39 4f 50 0a 59 4c 66 79 6b 71 47 78 76 59 6d 4a 48 7a 44 4e 77 36 59 75 59 6a 4f 75 46 67 4a 33 9OP.YLfykqGxvYmJHzDNw6YuYjOuFgJ3
1c0000 52 46 72 6e 67 51 6f 38 70 30 51 75 65 62 67 2f 42 4c 78 63 6f 49 66 68 47 36 39 52 6a 73 33 73 RFrngQo8p0Quebg/BLxcoIfhG69Rjs3s
1c0020 4c 50 72 34 2f 6d 33 77 4f 6e 79 71 69 2b 52 6e 0a 6c 54 47 4e 41 67 4d 42 41 41 47 6a 51 6a 42 LPr4/m3wOnyqi+Rn.lTGNAgMBAAGjQjB
1c0040 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 AMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0
1c0060 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4f 0a 77 30 PAQH/BAQDAgGGMB0GA1UdDgQWBBTO.w0
1c0080 71 35 6d 56 58 79 75 4e 74 67 76 36 6c 2b 76 56 61 31 6c 7a 61 6e 31 6a 41 4e 42 67 6b 71 68 6b q5mVXyuNtgv6l+vVa1lzan1jANBgkqhk
1c00a0 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 79 71 56 56 6a 4f 50 49 51 57 35 70 4a 36 iG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6
1c00c0 64 31 45 65 38 38 68 6a 5a 76 0a 30 70 33 47 65 44 67 64 61 5a 61 69 6b 6d 6b 75 4f 47 79 62 66 d1Ee88hjZv.0p3GeDgdaZaikmkuOGybf
1c00e0 51 54 55 69 61 57 78 4d 54 65 4b 79 53 48 4d 71 32 7a 4e 69 78 79 61 31 72 39 49 30 6a 4a 6d 77 QTUiaWxMTeKySHMq2zNixya1r9I0jJmw
1c0100 59 72 41 38 79 38 36 37 38 44 6a 31 4a 47 47 30 56 44 6a 41 39 74 7a 0a 64 32 39 4b 4f 56 50 74 YrA8y8678Dj1JGG0VDjA9tz.d29KOVPt
1c0120 33 69 62 48 74 58 32 76 4b 30 4c 52 64 57 4c 6a 53 69 73 43 78 31 42 4c 34 47 6e 69 6c 6d 77 4f 3ibHtX2vK0LRdWLjSisCx1BL4GnilmwO
1c0140 52 47 59 51 52 49 2b 74 42 65 76 34 65 61 79 6d 47 2b 67 33 4e 4a 31 54 79 57 47 71 6f 6c 4b 76 RGYQRI+tBev4eaymG+g3NJ1TyWGqolKv
1c0160 53 6e 41 57 0a 68 73 49 36 79 4c 45 54 63 44 62 59 7a 2b 37 30 43 6a 54 56 57 30 7a 39 42 35 79 SnAW.hsI6yLETcDbYz+70CjTVW0z9B5y
1c0180 69 75 74 6b 42 63 6c 7a 7a 54 63 48 64 44 72 45 63 44 63 52 6a 76 71 33 30 46 50 75 4a 37 4b 4a iutkBclzzTcHdDrEcDcRjvq30FPuJ7KJ
1c01a0 42 44 6b 7a 4d 79 46 64 41 30 47 34 44 71 73 30 4d 0a 6a 6f 6d 5a 6d 57 7a 77 50 44 43 76 4f 4e BDkzMyFdA0G4Dqs0M.jomZmWzwPDCvON
1c01c0 39 76 76 4b 4f 2b 4b 53 41 6e 71 33 54 2f 45 79 4a 34 33 70 64 53 56 52 36 44 74 56 51 67 41 2b 9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+
1c01e0 36 75 77 45 39 57 33 6a 66 4d 77 33 2b 71 42 43 65 37 30 33 65 34 59 74 73 58 66 4a 77 6f 0a 49 6uwE9W3jfMw3+qBCe703e4YtsXfJwo.I
1c0200 68 4e 7a 62 4d 38 6d 39 59 6f 70 35 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 hNzbM8m9Yop5w==.-----END.CERTIFI
1c0220 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 CATE-----..DigiCert.Assured.ID.R
1c0240 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d oot.G3.=========================
1c0260 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1c0280 49 49 43 52 6a 43 43 41 63 32 67 41 77 49 42 41 67 49 51 43 36 46 61 2b 68 33 66 6f 4c 56 4a 52 IICRjCCAc2gAwIBAgIQC6Fa+h3foLVJR
1c02a0 4b 2f 4e 4a 4b 42 73 37 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 6c 4d 51 73 77 43 K/NJKBs7DAKBggqhkjOPQQDAzBlMQswC
1c02c0 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e QYDVQQGEwJV.UzEVMBMGA1UEChMMRGln
1c02e0 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
1c0300 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 44 0a 56 51 51 44 45 78 74 ZGlnaWNlcnQuY29tMSQwIgYD.VQQDExt
1c0320 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 EaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Q
1c0340 67 52 7a 4d 77 48 68 63 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 gRzMwHhcNMTMwODAxMTIwMDAwWhcNMzg
1c0360 77 4d 54 45 31 0a 4d 54 49 77 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 wMTE1.MTIwMDAwWjBlMQswCQYDVQQGEw
1c0380 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 JVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW
1c03a0 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 0a 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 5jMRkwFwYDVQQLExB3.d3cuZGlnaWNlc
1c03c0 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 nQuY29tMSQwIgYDVQQDExtEaWdpQ2Vyd
1c03e0 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 4d 77 64 6a 41 51 0a CBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ.
1c0400 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 5a 35 37 79 73 BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ys
1c0420 52 47 58 74 7a 62 67 2f 57 50 75 4e 73 56 65 70 52 43 30 46 46 66 4c 76 43 2f 38 51 64 4a 2b 31 RGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1
1c0440 59 6c 4a 66 5a 6e 34 66 35 64 77 62 0a 52 58 6b 4c 7a 4d 5a 54 43 70 32 4e 58 51 4c 5a 71 56 6e YlJfZn4f5dwb.RXkLzMZTCp2NXQLZqVn
1c0460 65 41 6c 72 32 6c 53 6f 4f 6a 54 68 4b 69 6b 6e 47 76 4d 59 44 4f 41 64 66 56 64 70 2b 43 57 37 eAlr2lSoOjThKiknGvMYDOAdfVdp+CW7
1c0480 69 66 31 37 51 52 53 41 50 57 58 59 51 31 71 41 6b 38 43 33 65 4e 76 4a 73 0a 4b 54 6d 6a 51 6a if17QRSAPWXYQ1qAk8C3eNvJs.KTmjQj
1c04a0 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 BAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR
1c04c0 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4c 30 4c 0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L
1c04e0 32 70 34 5a 67 46 0a 55 61 46 4e 4e 36 4b 44 65 63 36 4e 48 53 72 6b 68 44 41 4b 42 67 67 71 68 2p4ZgF.UaFNN6KDec6NHSrkhDAKBggqh
1c0500 6b 6a 4f 50 51 51 44 41 77 4e 6e 41 44 42 6b 41 6a 41 6c 70 49 46 46 41 6d 73 53 53 33 56 30 54 kjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T
1c0520 38 67 6a 34 33 44 79 64 58 4c 65 66 49 6e 77 7a 35 46 79 0a 59 5a 35 65 45 4a 4a 5a 56 72 6d 44 8gj43DydXLefInwz5Fy.YZ5eEJJZVrmD
1c0540 78 78 44 6e 4f 4f 6c 59 4a 6a 5a 39 31 65 51 30 68 6a 6b 43 4d 48 77 32 55 2f 41 77 35 57 4a 6a xxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJj
1c0560 4f 70 6e 69 74 71 4d 37 6d 7a 54 36 48 74 6f 51 6b 6e 46 65 6b 52 4f 6e 33 61 52 75 6b 73 77 79 OpnitqM7mzT6HtoQknFekROn3aRukswy
1c0580 0a 31 76 55 68 5a 73 63 76 36 70 5a 6a 61 6d 56 46 6b 70 55 42 74 41 3d 3d 0a 2d 2d 2d 2d 2d 45 .1vUhZscv6pZjamVFkpUBtA==.-----E
1c05a0 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 47 6c ND.CERTIFICATE-----..DigiCert.Gl
1c05c0 6f 62 61 6c 20 52 6f 6f 74 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d obal.Root.G2.===================
1c05e0 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c0600 0a 4d 49 49 44 6a 6a 43 43 41 6e 61 67 41 77 49 42 41 67 49 51 41 7a 72 78 35 71 63 52 71 61 43 .MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC
1c0620 37 4b 47 53 78 48 51 6e 36 35 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 7KGSxHQn65TANBgkqhkiG9w0BAQsFADB
1c0640 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 hMQswCQYDVQQG.EwJVUzEVMBMGA1UECh
1c0660 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 MMRGlnaUNlcnQgSW5jMRkwFwYDVQQLEx
1c0680 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 0a 48 67 59 44 56 B3d3cuZGlnaWNlcnQuY29tMSAw.HgYDV
1c06a0 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 QQDExdEaWdpQ2VydCBHbG9iYWwgUm9vd
1c06c0 43 42 48 4d 6a 41 65 46 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 7a 4f CBHMjAeFw0xMzA4MDExMjAwMDBaFw0zO
1c06e0 44 41 78 4d 54 55 78 0a 4d 6a 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 DAxMTUx.MjAwMDBaMGExCzAJBgNVBAYT
1c0700 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 42 4a AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
1c0720 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 35 6b 61 57 64 70 59 32 56 bmMxGTAXBgNVBAsTEHd3.dy5kaWdpY2V
1c0740 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 58 4a ydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ
1c0760 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 63 79 4d 49 49 42 49 6a 41 4e 42 67 6b 0IEdsb2JhbCBSb290IEcyMIIBIjANBgk
1c0780 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 q.hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQ
1c07a0 45 41 75 7a 66 4e 4e 4e 78 37 61 38 6d 79 61 4a 43 74 53 6e 58 2f 52 72 6f 68 43 67 69 4e 39 52 EAuzfNNNx7a8myaJCtSnX/RrohCgiN9R
1c07c0 6c 55 79 66 75 49 32 2f 4f 75 38 6a 71 4a 0a 6b 54 78 36 35 71 73 47 47 6d 76 50 72 43 33 6f 58 lUyfuI2/Ou8jqJ.kTx65qsGGmvPrC3oX
1c07e0 67 6b 6b 52 4c 70 69 6d 6e 37 57 6f 36 68 2b 34 46 52 31 49 41 57 73 55 4c 65 63 59 78 70 73 4d gkkRLpimn7Wo6h+4FR1IAWsULecYxpsM
1c0800 4e 7a 61 48 78 6d 78 31 78 37 65 2f 64 66 67 79 35 53 44 4e 36 37 73 48 30 4e 4f 0a 33 58 73 73 NzaHxmx1x7e/dfgy5SDN67sH0NO.3Xss
1c0820 30 72 30 75 70 53 2f 6b 71 62 69 74 4f 74 53 5a 70 4c 59 6c 36 5a 74 72 41 47 43 53 59 50 39 50 0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9P
1c0840 49 55 6b 59 39 32 65 51 71 32 45 47 6e 49 2f 79 75 75 6d 30 36 5a 49 79 61 37 58 7a 56 2b 68 64 IUkY92eQq2EGnI/yuum06ZIya7XzV+hd
1c0860 47 38 32 4d 48 61 75 56 0a 42 4a 56 4a 38 7a 55 74 6c 75 4e 4a 62 64 31 33 34 2f 74 4a 53 37 53 G82MHauV.BJVJ8zUtluNJbd134/tJS7S
1c0880 73 56 51 65 70 6a 35 57 7a 74 43 4f 37 54 47 31 46 38 50 61 70 73 70 55 77 74 50 31 4d 56 59 77 sVQepj5WztCO7TG1F8PapspUwtP1MVYw
1c08a0 6e 53 6c 63 55 66 49 4b 64 7a 58 4f 53 30 78 5a 4b 42 67 79 4d 0a 55 4e 47 50 48 67 6d 2b 46 36 nSlcUfIKdzXOS0xZKBgyM.UNGPHgm+F6
1c08c0 48 6d 49 63 72 39 67 2b 55 51 76 49 4f 6c 43 73 52 6e 4b 50 5a 7a 46 42 51 39 52 6e 62 44 68 78 HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhx
1c08e0 53 4a 49 54 52 4e 72 77 39 46 44 4b 5a 4a 6f 62 71 37 6e 4d 57 78 4d 34 4d 70 68 51 49 44 41 51 SJITRNrw9FDKZJobq7nMWxM4MphQIDAQ
1c0900 41 42 0a 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d AB.o0IwQDAPBgNVHRMBAf8EBTADAQH/M
1c0920 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 A4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EF
1c0940 67 51 55 54 69 4a 55 49 42 69 56 35 75 4e 75 0a 35 67 2f 36 2b 72 6b 53 37 51 59 58 6a 7a 6b 77 gQUTiJUIBiV5uNu.5g/6+rkS7QYXjzkw
1c0960 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 47 42 6e 4b 4a 52 76 DQYJKoZIhvcNAQELBQADggEBAGBnKJRv
1c0980 44 6b 68 6a 36 7a 48 64 36 6d 63 59 31 59 6c 39 50 4d 57 4c 53 6e 2f 70 76 74 73 72 0a 46 39 2b Dkhj6zHd6mcY1Yl9PMWLSn/pvtsr.F9+
1c09a0 77 58 33 4e 33 4b 6a 49 54 4f 59 46 6e 51 6f 51 6a 38 6b 56 6e 4e 65 79 49 76 2f 69 50 73 47 45 wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGE
1c09c0 4d 4e 4b 53 75 49 45 79 45 78 74 76 34 4e 65 46 32 32 64 2b 6d 51 72 76 48 52 41 69 47 66 7a 5a MNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ
1c09e0 30 4a 46 72 61 62 41 30 55 0a 57 54 57 39 38 6b 6e 64 74 68 2f 4a 73 77 31 48 4b 6a 32 5a 4c 37 0JFrabA0U.WTW98kndth/Jsw1HKj2ZL7
1c0a00 74 63 75 37 58 55 49 4f 47 5a 58 31 4e 47 46 64 74 6f 6d 2f 44 7a 4d 4e 55 2b 4d 65 4b 4e 68 4a tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ
1c0a20 37 6a 69 74 72 61 6c 6a 34 31 45 36 56 66 38 50 6c 77 55 48 42 48 0a 51 52 46 58 47 55 37 41 6a 7jitralj41E6Vf8PlwUHBH.QRFXGU7Aj
1c0a40 36 34 47 78 4a 55 54 46 79 38 62 4a 5a 39 31 38 72 47 4f 6d 61 46 76 45 37 46 42 63 66 36 49 4b 64GxJUTFy8bJZ918rGOmaFvE7FBcf6IK
1c0a60 73 68 50 45 43 42 56 31 2f 4d 55 52 65 58 67 52 50 54 71 68 35 55 79 6b 77 37 2b 55 30 62 36 4c shPECBV1/MUReXgRPTqh5Uykw7+U0b6L
1c0a80 4a 33 2f 0a 69 79 4b 35 53 39 6b 4a 52 61 54 65 70 4c 69 61 57 4e 30 62 66 56 4b 66 6a 6c 6c 44 J3/.iyK5S9kJRaTepLiaWN0bfVKfjllD
1c0aa0 69 49 47 6b 6e 69 62 56 62 36 33 64 44 63 59 33 66 65 30 44 6b 68 76 6c 64 31 39 32 37 6a 79 4e iIGknibVb63dDcY3fe0Dkhvld1927jyN
1c0ac0 78 46 31 57 57 36 4c 5a 5a 6d 36 7a 4e 54 66 6c 0a 4d 72 59 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 xF1WW6LZZm6zNTfl.MrY=.-----END.C
1c0ae0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 47 6c 6f 62 61 6c ERTIFICATE-----..DigiCert.Global
1c0b00 20 52 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.G3.=======================
1c0b20 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1c0b40 43 50 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 42 56 56 57 76 50 4a 65 70 44 55 31 77 36 51 CPzCCAcWgAwIBAgIQBVVWvPJepDU1w6Q
1c0b60 50 31 61 74 46 63 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 68 4d 51 73 77 43 51 59 P1atFcjAKBggqhkjOPQQDAzBhMQswCQY
1c0b80 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 DVQQGEwJV.UzEVMBMGA1UEChMMRGlnaU
1c0ba0 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 NlcnQgSW5jMRkwFwYDVQQLExB3d3cuZG
1c0bc0 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 48 67 59 44 0a 56 51 51 44 45 78 64 45 61 lnaWNlcnQuY29tMSAwHgYD.VQQDExdEa
1c0be0 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 4d 7a 41 65 46 WdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeF
1c0c00 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 55 78 4d w0xMzA4MDExMjAwMDBaFw0zODAxMTUxM
1c0c20 6a 41 77 0a 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 55 77 jAw.MDBaMGExCzAJBgNVBAYTAlVTMRUw
1c0c40 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 42 4a 62 6d 4d 78 47 54 41 58 EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAX
1c0c60 42 67 4e 56 42 41 73 54 45 48 64 33 64 79 35 6b 0a 61 57 64 70 59 32 56 79 64 43 35 6a 62 32 30 BgNVBAsTEHd3dy5k.aWdpY2VydC5jb20
1c0c80 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 58 4a 30 49 45 64 73 62 32 4a xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2J
1c0ca0 68 62 43 42 53 62 32 39 30 49 45 63 7a 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 0a 41 51 hbCBSb290IEczMHYwEAYHKoZIzj0C.AQ
1c0cc0 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 33 61 66 5a 75 34 71 34 43 2f 73 4c 66 79 48 53 38 4c YFK4EEACIDYgAE3afZu4q4C/sLfyHS8L
1c0ce0 36 2b 63 2f 4d 7a 58 52 71 38 4e 4f 72 65 78 70 75 38 30 4a 58 32 38 4d 7a 51 43 37 70 68 57 31 6+c/MzXRq8NOrexpu80JX28MzQC7phW1
1c0d00 46 47 66 70 34 74 6e 2b 36 4f 0a 59 77 77 58 37 41 64 77 39 63 2b 45 4c 6b 43 44 6e 4f 67 2f 51 FGfp4tn+6O.YwwX7Adw9c+ELkCDnOg/Q
1c0d20 57 30 37 72 64 4f 6b 46 46 6b 32 65 4a 30 44 51 2b 34 51 45 32 78 79 33 71 36 49 70 36 46 72 74 W07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6Frt
1c0d40 55 50 4f 5a 39 77 6a 2f 77 4d 63 6f 2b 49 2b 6f 30 49 77 51 44 41 50 0a 42 67 4e 56 48 52 4d 42 UPOZ9wj/wMco+I+o0IwQDAP.BgNVHRMB
1c0d60 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
1c0d80 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 73 39 74 49 70 50 6d 68 78 64 69 75 4e 6b 48 4d hjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHM
1c0da0 45 57 4e 70 0a 59 69 6d 38 53 38 59 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 41 41 EWNp.Yim8S8YwCgYIKoZIzj0EAwMDaAA
1c0dc0 77 5a 51 49 78 41 4b 32 38 38 6d 77 2f 45 6b 72 52 4c 54 6e 44 43 67 6d 58 63 2f 53 49 4e 6f 79 wZQIxAK288mw/EkrRLTnDCgmXc/SINoy
1c0de0 49 4a 37 76 6d 69 49 31 51 68 61 64 6a 2b 5a 34 79 0a 33 6d 61 54 44 2f 48 4d 73 51 6d 50 33 57 IJ7vmiI1Qhadj+Z4y.3maTD/HMsQmP3W
1c0e00 79 72 2b 6d 74 2f 6f 41 49 77 4f 57 5a 62 77 6d 53 4e 75 4a 35 51 33 4b 6a 56 53 61 4c 74 78 39 yr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9
1c0e20 7a 52 53 58 38 58 41 62 6a 49 68 6f 39 4f 6a 49 67 72 71 4a 71 70 69 73 58 52 41 4c 33 34 0a 56 zRSX8XAbjIho9OjIgrqJqpisXRAL34.V
1c0e40 4f 4b 61 35 56 74 38 73 79 63 58 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 OKa5Vt8sycX.-----END.CERTIFICATE
1c0e60 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 54 72 75 73 74 65 64 20 52 6f 6f 74 20 47 34 0a -----..DigiCert.Trusted.Root.G4.
1c0e80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1c0ea0 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6b 44 43 43 41 33 69 GIN.CERTIFICATE-----.MIIFkDCCA3i
1c0ec0 67 41 77 49 42 41 67 49 51 42 5a 73 62 56 35 36 4f 49 54 4c 69 4f 51 65 39 70 33 64 31 58 44 41 gAwIBAgIQBZsbV56OITLiOQe9p3d1XDA
1c0ee0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 69 4d 51 73 77 43 51 59 44 56 51 51 NBgkqhkiG9w0BAQwFADBiMQswCQYDVQQ
1c0f00 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e G.EwJVUzEVMBMGA1UEChMMRGlnaUNlcn
1c0f20 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 QgSW5jMRkwFwYDVQQLExB3d3cuZGlnaW
1c0f40 4e 6c 63 6e 51 75 59 32 39 74 4d 53 45 77 0a 48 77 59 44 56 51 51 44 45 78 68 45 61 57 64 70 51 NlcnQuY29tMSEw.HwYDVQQDExhEaWdpQ
1c0f60 32 56 79 64 43 42 55 63 6e 56 7a 64 47 56 6b 49 46 4a 76 62 33 51 67 52 7a 51 77 48 68 63 4e 4d 2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNM
1c0f80 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 31 0a 4d 54 49 77 TMwODAxMTIwMDAwWhcNMzgwMTE1.MTIw
1c0fa0 4d 44 41 77 57 6a 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 MDAwWjBiMQswCQYDVQQGEwJVUzEVMBMG
1c0fc0 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
1c0fe0 56 51 51 4c 45 78 42 33 0a 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 45 VQQLExB3.d3cuZGlnaWNlcnQuY29tMSE
1c1000 77 48 77 59 44 56 51 51 44 45 78 68 45 61 57 64 70 51 32 56 79 64 43 42 55 63 6e 56 7a 64 47 56 wHwYDVQQDExhEaWdpQ2VydCBUcnVzdGV
1c1020 6b 49 46 4a 76 62 33 51 67 52 7a 51 77 67 67 49 69 4d 41 30 47 0a 43 53 71 47 53 49 62 33 44 51 kIFJvb3QgRzQwggIiMA0G.CSqGSIb3DQ
1c1040 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 2f 35 70 42 7a 61 4e EBAQUAA4ICDwAwggIKAoICAQC/5pBzaN
1c1060 36 37 35 46 31 4b 50 44 41 69 4d 47 6b 7a 37 4d 4b 6e 4a 53 37 4a 49 54 33 79 69 74 68 5a 77 75 675F1KPDAiMGkz7MKnJS7JIT3yithZwu
1c1080 45 70 0a 70 7a 31 59 71 33 61 61 7a 61 35 37 47 34 51 4e 78 44 41 66 38 78 75 6b 4f 42 62 72 56 Ep.pz1Yq3aaza57G4QNxDAf8xukOBbrV
1c10a0 73 61 58 62 52 32 72 73 6e 6e 79 79 68 48 53 35 46 2f 57 42 54 78 53 44 31 49 66 78 70 34 56 70 saXbR2rsnnyyhHS5F/WBTxSD1Ifxp4Vp
1c10c0 58 36 2b 6e 36 6c 58 46 6c 6c 56 63 71 39 6f 0a 6b 33 44 43 73 72 70 31 6d 57 70 7a 4d 70 54 52 X6+n6lXFllVcq9o.k3DCsrp1mWpzMpTR
1c10e0 45 45 51 51 4c 74 2b 43 38 77 65 45 35 6e 51 37 62 58 48 69 4c 51 77 62 37 69 44 56 79 53 41 64 EEQQLt+C8weE5nQ7bXHiLQwb7iDVySAd
1c1100 59 79 6b 74 7a 75 78 65 54 73 69 54 2b 43 46 68 6d 7a 54 72 42 63 5a 65 37 46 73 61 0a 76 4f 76 YyktzuxeTsiT+CFhmzTrBcZe7Fsa.vOv
1c1120 4a 7a 38 32 73 4e 45 42 66 73 58 70 6d 37 6e 66 49 53 4b 68 6d 56 31 65 66 56 46 69 4f 44 43 75 Jz82sNEBfsXpm7nfISKhmV1efVFiODCu
1c1140 33 54 36 63 77 32 56 62 75 79 6e 74 64 34 36 33 4a 54 31 37 6c 4e 65 63 78 79 39 71 54 58 74 79 3T6cw2Vbuyntd463JT17lNecxy9qTXty
1c1160 4f 6a 34 44 61 74 70 47 59 0a 51 4a 42 35 77 33 6a 48 74 72 48 45 74 57 6f 59 4f 41 4d 51 6a 64 Oj4DatpGY.QJB5w3jHtrHEtWoYOAMQjd
1c1180 6a 55 4e 36 51 75 42 58 32 49 39 59 49 2b 45 4a 46 77 71 31 57 43 51 54 4c 58 32 77 52 7a 4b 6d jUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm
1c11a0 36 52 41 58 77 68 54 4e 53 38 72 68 73 44 64 56 31 34 5a 74 6b 36 0a 4d 55 53 61 4d 30 43 2f 43 6RAXwhTNS8rhsDdV14Ztk6.MUSaM0C/C
1c11c0 4e 64 61 53 61 54 43 35 71 6d 67 5a 39 32 6b 4a 37 79 68 54 7a 6d 31 45 56 67 58 39 79 52 63 52 NdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcR
1c11e0 6f 39 6b 39 38 46 70 69 48 61 59 64 6a 31 5a 58 55 4a 32 68 34 6d 58 61 58 70 49 38 4f 43 69 45 o9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiE
1c1200 68 74 6d 0a 6d 6e 54 4b 33 6b 73 65 35 77 35 6a 72 75 62 55 37 35 4b 53 4f 70 34 39 33 41 44 6b htm.mnTK3kse5w5jrubU75KSOp493ADk
1c1220 52 53 57 4a 74 70 70 45 47 53 74 2b 77 4a 53 30 30 6d 46 74 36 7a 50 5a 78 64 39 4c 42 41 44 4d RSWJtppEGSt+wJS00mFt6zPZxd9LBADM
1c1240 66 52 79 56 77 34 2f 33 49 62 4b 79 45 62 65 37 0a 66 2f 4c 56 6a 48 41 73 51 57 43 71 73 57 4d fRyVw4/3IbKyEbe7.f/LVjHAsQWCqsWM
1c1260 59 52 4a 55 61 64 6d 4a 2b 39 6f 43 77 2b 2b 68 6b 70 6a 50 52 69 51 66 68 76 62 66 6d 51 36 51 YRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6Q
1c1280 59 75 4b 5a 33 41 65 45 50 6c 41 77 68 48 62 4a 55 4b 53 57 4a 62 4f 55 4f 55 6c 46 48 0a 64 4c YuKZ3AeEPlAwhHbJUKSWJbOUOUlFH.dL
1c12a0 34 6d 72 4c 5a 42 64 64 35 36 72 46 2b 4e 50 38 6d 38 30 30 45 52 45 6c 76 6c 45 46 44 72 4d 63 4mrLZBdd56rF+NP8m800ERElvlEFDrMc
1c12c0 58 4b 63 68 59 69 43 64 39 38 54 48 55 2f 59 2b 77 68 58 38 51 67 55 57 74 76 73 61 75 47 69 30 XKchYiCd98THU/Y+whX8QgUWtvsauGi0
1c12e0 2f 43 31 6b 56 66 6e 53 44 38 0a 6f 52 37 46 77 49 2b 69 73 58 34 4b 4a 70 6e 31 35 47 6b 76 6d /C1kVfnSD8.oR7FwI+isX4KJpn15Gkvm
1c1300 42 30 74 39 64 6d 70 73 68 33 6c 47 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 B0t9dmpsh3lGwIDAQABo0IwQDAPBgNVH
1c1320 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 0a 44 77 45 42 2f 77 51 45 RMBAf8EBTADAQH/MA4GA1Ud.DwEB/wQE
1c1340 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 4e 66 6a 67 74 4a 78 58 57 52 4d AwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM
1c1360 33 79 35 6e 50 2b 65 36 6d 4b 34 63 44 30 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEM
1c1380 42 51 41 44 0a 67 67 49 42 41 4c 74 68 32 58 32 70 62 4c 34 58 78 4a 45 62 77 36 47 69 41 49 33 BQAD.ggIBALth2X2pbL4XxJEbw6GiAI3
1c13a0 6a 5a 47 67 50 56 73 39 33 72 6e 44 35 2f 5a 70 4b 6d 62 6e 4a 65 46 77 4d 44 46 2f 6b 35 68 51 jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQ
1c13c0 70 56 67 73 32 53 56 31 45 59 2b 43 74 6e 4a 59 59 0a 5a 68 73 6a 44 54 31 35 36 57 31 72 31 6c pVgs2SV1EY+CtnJYY.ZhsjDT156W1r1l
1c13e0 54 34 30 6a 7a 42 51 30 43 75 48 56 44 31 55 76 79 51 4f 37 75 59 6d 57 6c 72 78 38 47 6e 71 47 T40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqG
1c1400 69 6b 4a 39 79 64 2b 53 65 75 4d 49 57 35 39 6d 64 4e 4f 6a 36 50 57 54 6b 69 55 30 54 72 0a 79 ikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr.y
1c1420 46 30 44 79 75 31 51 65 6e 31 69 49 51 71 41 79 48 4e 6d 30 61 41 46 59 46 2f 6f 70 62 53 6e 72 F0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr
1c1440 36 6a 33 62 54 57 63 66 46 71 4b 31 71 49 34 6d 66 4e 34 69 2f 52 4e 30 69 41 4c 33 67 54 75 6a 6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTuj
1c1460 4a 74 48 67 58 49 4e 77 42 51 79 0a 37 7a 42 5a 4c 71 37 67 63 66 4a 57 35 47 71 58 62 35 4a 51 JtHgXINwBQy.7zBZLq7gcfJW5GqXb5JQ
1c1480 62 5a 61 4e 61 48 71 61 73 6a 59 55 65 67 62 79 4a 4c 6b 4a 45 56 44 58 43 4c 47 34 69 58 71 45 bZaNaHqasjYUegbyJLkJEVDXCLG4iXqE
1c14a0 49 32 46 43 4b 65 57 6a 7a 61 49 67 51 64 66 52 6e 47 54 5a 36 69 61 68 0a 69 78 54 58 54 42 6d I2FCKeWjzaIgQdfRnGTZ6iah.ixTXTBm
1c14c0 79 55 45 46 78 50 54 39 4e 63 43 4f 47 44 45 72 63 67 64 4c 4d 4d 70 53 45 44 51 67 4a 6c 78 78 yUEFxPT9NcCOGDErcgdLMMpSEDQgJlxx
1c14e0 50 77 4f 35 72 49 48 51 77 30 75 41 35 4e 42 43 46 49 52 55 42 43 4f 68 56 4d 74 35 78 53 64 6b PwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdk
1c1500 6f 46 31 42 4e 0a 35 72 35 4e 30 58 57 73 30 4d 72 37 51 62 68 44 70 61 72 54 77 77 56 45 54 79 oF1BN.5r5N0XWs0Mr7QbhDparTwwVETy
1c1520 77 32 6d 2b 4c 36 34 6b 57 34 49 31 4e 73 42 6d 39 6e 56 58 39 47 74 55 77 2f 62 69 68 61 65 53 w2m+L64kW4I1NsBm9nVX9GtUw/bihaeS
1c1540 62 53 70 4b 68 69 6c 39 49 65 34 75 31 4b 69 37 77 62 0a 2f 55 64 4b 44 64 39 6e 5a 6e 36 79 57 bSpKhil9Ie4u1Ki7wb./UdKDd9nZn6yW
1c1560 30 48 51 4f 2b 54 30 4f 2f 51 45 59 2b 6e 76 77 6c 51 41 55 61 43 4b 4b 73 6e 4f 65 4d 7a 56 36 0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6
1c1580 6f 63 45 47 4c 50 4f 72 30 6d 49 72 2f 4f 53 6d 62 61 7a 35 6d 45 50 30 6f 55 41 35 31 41 61 0a ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa.
1c15a0 35 42 75 56 6e 52 6d 68 75 5a 79 78 6d 37 45 41 48 75 2f 51 44 30 39 43 62 4d 6b 4b 76 4f 35 44 5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D
1c15c0 2b 6a 70 78 70 63 68 4e 4a 71 55 31 2f 59 6c 64 76 49 56 69 48 54 4c 53 6f 43 74 55 37 5a 70 58 +jpxpchNJqU1/YldvIViHTLSoCtU7ZpX
1c15e0 77 64 76 36 45 4d 38 5a 74 34 74 4b 0a 47 34 38 42 74 69 65 56 55 2b 69 32 69 57 31 62 76 47 6a wdv6EM8Zt4tK.G48BtieVU+i2iW1bvGj
1c1600 55 49 2b 69 4c 55 61 4a 57 2b 66 43 6d 67 4b 44 57 48 72 4f 38 44 77 39 54 64 53 6d 71 36 68 4e UI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN
1c1620 33 35 4e 36 4d 67 53 47 74 42 78 42 48 45 61 32 48 50 51 66 52 64 62 7a 50 0a 38 32 5a 2b 0a 2d 35N6MgSGtBxBHEa2HPQfRdbzP.82Z+.-
1c1640 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f ----END.CERTIFICATE-----..COMODO
1c1660 20 52 53 41 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d .RSA.Certification.Authority.===
1c1680 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a ===============================.
1c16a0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1c16c0 32 44 43 43 41 38 43 67 41 77 49 42 41 67 49 51 54 4b 72 35 79 74 74 6a 62 2b 41 66 39 30 37 59 2DCCA8CgAwIBAgIQTKr5yttjb+Af907Y
1c16e0 57 77 4f 47 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 43 42 68 54 45 4c WwOGnTANBgkqhkiG9w0BAQwFADCBhTEL
1c1700 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 MAkGA1UE.BhMCR0IxGzAZBgNVBAgTEkd
1c1720 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 yZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1U
1c1740 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 0a 41 31 55 45 43 68 4d 52 51 30 EBxMHU2FsZm9yZDEaMBgG.A1UEChMRQ0
1c1760 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 9NT0RPIENBIExpbWl0ZWQxKzApBgNVBA
1c1780 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 MTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdG
1c17a0 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d 54 45 35 4d lv.biBBdXRob3JpdHkwHhcNMTAwMTE5M
1c17c0 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 68 DAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBh
1c17e0 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 54 TELMAkGA1UEBhMC.R0IxGzAZBgNVBAgT
1c1800 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
1c1820 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 41 31 55 45 0a 43 68 4d A1UEBxMHU2FsZm9yZDEaMBgGA1UE.ChM
1c1840 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e RQ09NT0RPIENBIExpbWl0ZWQxKzApBgN
1c1860 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e VBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWN
1c1880 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 49 69 4d 41 30 47 43 53 hdGlvbiBB.dXRob3JpdHkwggIiMA0GCS
1c18a0 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 qGSIb3DQEBAQUAA4ICDwAwggIKAoICAQ
1c18c0 43 52 36 46 53 53 30 67 70 57 73 61 77 4e 4a 4e 33 46 7a 30 52 6e 0a 64 4a 6b 72 4e 36 4e 39 49 CR6FSS0gpWsawNJN3Fz0Rn.dJkrN6N9I
1c18e0 33 41 41 63 62 78 54 33 38 54 36 4b 68 4b 50 53 33 38 51 56 72 32 66 63 48 4b 33 59 58 2f 4a 53 3AAcbxT38T6KhKPS38QVr2fcHK3YX/JS
1c1900 77 38 58 70 7a 33 6a 73 41 52 68 37 76 38 52 6c 38 66 30 68 6a 34 4b 2b 6a 35 63 2b 5a 50 6d 4e w8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmN
1c1920 48 72 5a 0a 46 47 76 6e 6e 4c 4f 46 6f 49 4a 36 64 71 39 78 6b 4e 66 73 2f 51 33 36 6e 47 7a 36 HrZ.FGvnnLOFoIJ6dq9xkNfs/Q36nGz6
1c1940 33 37 43 43 39 42 52 2b 2b 62 37 45 70 69 39 50 66 35 6c 2f 74 66 78 6e 51 33 4b 39 44 41 44 57 37CC9BR++b7Epi9Pf5l/tfxnQ3K9DADW
1c1960 69 65 74 72 4c 4e 50 74 6a 35 67 63 46 4b 74 2b 0a 35 65 4e 75 2f 4e 69 6f 35 4a 49 6b 32 6b 4e ietrLNPtj5gcFKt+.5eNu/Nio5JIk2kN
1c1980 72 59 72 68 56 2f 65 72 42 76 47 79 32 69 2f 4d 4f 6a 5a 72 6b 6d 32 78 70 6d 66 68 34 53 44 42 rYrhV/erBvGy2i/MOjZrkm2xpmfh4SDB
1c19a0 46 31 61 33 68 44 54 78 46 59 50 77 79 6c 6c 45 6e 76 47 66 44 79 69 36 32 61 2b 70 47 0a 78 38 F1a3hDTxFYPwyllEnvGfDyi62a+pG.x8
1c19c0 63 67 6f 4c 45 66 5a 64 35 49 43 4c 71 6b 54 71 6e 79 67 30 59 33 68 4f 76 6f 7a 49 46 49 51 32 cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2
1c19e0 64 4f 63 69 71 62 58 4c 31 4d 47 79 69 4b 58 43 4a 37 74 4b 75 59 32 65 37 67 55 59 50 44 43 55 dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCU
1c1a00 5a 4f 62 54 36 5a 2b 70 55 58 0a 32 6e 77 7a 56 30 45 38 6a 56 48 74 43 37 5a 63 72 79 78 6a 47 ZObT6Z+pUX.2nwzV0E8jVHtC7ZcryxjG
1c1a20 74 39 58 79 44 2b 38 36 56 33 45 6d 36 39 46 6d 65 4b 6a 57 69 53 30 75 71 6c 57 50 63 39 76 71 t9XyD+86V3Em69FmeKjWiS0uqlWPc9vq
1c1a40 76 39 4a 57 4c 37 77 71 50 2f 30 75 4b 33 70 4e 2f 75 36 75 50 51 4c 0a 4f 76 6e 6f 51 30 49 65 v9JWL7wqP/0uK3pN/u6uPQL.OvnoQ0Ie
1c1a60 69 64 69 45 79 78 50 78 32 62 76 68 69 57 43 34 6a 43 68 57 72 42 51 64 6e 41 72 6e 63 65 76 50 idiEyxPx2bvhiWC4jChWrBQdnArncevP
1c1a80 44 74 30 39 71 5a 61 68 53 4c 30 38 39 36 2b 31 44 53 4a 4d 77 42 47 42 37 46 59 37 39 74 4f 69 Dt09qZahSL0896+1DSJMwBGB7FY79tOi
1c1aa0 34 6c 75 33 0a 73 67 51 69 55 70 57 41 6b 32 6e 6f 6a 6b 78 6c 38 5a 45 44 4c 58 42 30 41 75 71 4lu3.sgQiUpWAk2nojkxl8ZEDLXB0Auq
1c1ac0 4c 5a 78 55 70 61 56 49 43 75 39 66 66 55 47 70 56 52 72 2b 67 6f 79 68 68 66 33 44 51 77 36 4b LZxUpaVICu9ffUGpVRr+goyhhf3DQw6K
1c1ae0 71 4c 43 47 71 52 38 34 6f 6e 41 5a 46 64 72 2b 43 0a 47 43 65 30 31 61 36 30 79 31 44 6d 61 2f qLCGqR84onAZFdr+C.GCe01a60y1Dma/
1c1b00 52 4d 68 6e 45 77 36 61 62 66 46 6f 62 67 32 50 39 41 33 66 76 51 51 6f 68 2f 6f 7a 4d 36 4c 6c RMhnEw6abfFobg2P9A3fvQQoh/ozM6Ll
1c1b20 77 65 51 52 47 42 59 38 34 59 63 57 73 72 37 4b 61 4b 74 7a 46 63 4f 6d 70 48 34 4d 4e 35 0a 57 weQRGBY84YcWsr7KaKtzFcOmpH4MN5.W
1c1b40 64 59 67 47 71 2f 79 61 70 69 71 63 72 78 58 53 74 4a 4c 6e 62 73 51 2f 4c 42 4d 51 65 58 74 48 dYgGq/yapiqcrxXStJLnbsQ/LBMQeXtH
1c1b60 54 31 65 4b 4a 32 63 7a 4c 2b 7a 55 64 71 6e 52 2b 57 45 55 77 49 44 41 51 41 42 6f 30 49 77 51 T1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQ
1c1b80 44 41 64 42 67 4e 56 48 51 34 45 0a 46 67 51 55 75 36 39 2b 41 6a 33 36 70 76 45 38 68 49 36 74 DAdBgNVHQ4E.FgQUu69+Aj36pvE8hI6t
1c1ba0 37 6a 69 59 37 4e 6b 79 4d 74 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEG
1c1bc0 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 0a 44 51 59 4a 4b 6f 5a MA8GA1UdEwEB/wQFMAMBAf8w.DQYJKoZ
1c1be0 49 68 76 63 4e 41 51 45 4d 42 51 41 44 67 67 49 42 41 41 72 78 31 55 61 45 74 36 35 52 75 32 79 IhvcNAQEMBQADggIBAArx1UaEt65Ru2y
1c1c00 79 54 55 45 55 41 4a 4e 4d 6e 4d 76 6c 77 46 54 50 6f 43 57 4f 41 76 6e 39 73 4b 49 4e 39 53 43 yTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SC
1c1c20 59 50 42 4d 74 0a 72 46 61 69 73 4e 5a 2b 45 5a 4c 70 4c 72 71 65 4c 70 70 79 73 62 30 5a 52 47 YPBMt.rFaisNZ+EZLpLrqeLppysb0ZRG
1c1c40 78 68 4e 61 4b 61 74 42 59 53 61 56 71 4d 34 64 63 2b 70 42 72 6f 4c 77 50 30 72 6d 45 64 45 42 xhNaKatBYSaVqM4dc+pBroLwP0rmEdEB
1c1c60 73 71 70 49 74 36 78 66 34 46 70 75 48 41 31 73 6a 2b 0a 6e 71 36 50 4b 37 6f 39 6d 66 6a 59 63 sqpIt6xf4FpuHA1sj+.nq6PK7o9mfjYc
1c1c80 77 6c 59 52 6d 36 6d 6e 50 54 58 4a 39 4f 56 32 6a 65 44 63 68 7a 54 63 2b 43 69 52 35 6b 44 4f wlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDO
1c1ca0 46 33 56 53 58 6b 41 4b 52 7a 48 37 4a 73 67 48 41 63 6b 61 56 64 34 73 6a 6e 38 4f 6f 53 67 0a F3VSXkAKRzH7JsgHAckaVd4sjn8OoSg.
1c1cc0 74 5a 78 38 6a 62 38 75 6b 32 49 6e 74 7a 6e 61 46 78 69 75 76 54 77 4a 61 50 2b 45 6d 7a 7a 56 tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV
1c1ce0 31 67 73 44 34 31 65 65 46 50 66 52 36 30 2f 49 76 59 63 6a 74 37 5a 4a 51 33 6d 46 58 4c 72 72 1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrr
1c1d00 6b 67 75 68 78 75 68 6f 71 45 77 57 0a 73 52 71 5a 43 75 68 54 4c 4a 4b 37 6f 51 6b 59 64 51 78 kguhxuhoqEwW.sRqZCuhTLJK7oQkYdQx
1c1d20 6c 71 48 76 4c 49 37 63 61 77 69 69 46 77 78 76 2f 30 43 74 69 37 36 52 37 43 5a 47 59 5a 34 77 lqHvLI7cawiiFwxv/0Cti76R7CZGYZ4w
1c1d40 55 41 63 31 6f 42 6d 70 6a 49 58 55 44 67 49 69 4b 62 6f 48 47 68 66 4b 70 0a 70 43 33 6e 39 4b UAc1oBmpjIXUDgIiKboHGhfKp.pC3n9K
1c1d60 55 6b 45 45 65 44 79 73 33 30 6a 58 6c 59 73 51 61 62 35 78 6f 71 32 5a 30 42 31 35 52 39 37 51 UkEEeDys30jXlYsQab5xoq2Z0B15R97Q
1c1d80 4e 4b 79 76 44 62 36 4b 6b 42 50 76 56 57 6d 63 6b 65 6a 6b 6b 39 75 2b 55 4a 75 65 42 50 53 5a NKyvDb6KkBPvVWmckejkk9u+UJueBPSZ
1c1da0 49 39 46 6f 4a 41 0a 7a 4d 78 5a 78 75 59 36 37 52 49 75 61 54 78 73 6c 62 48 39 71 68 31 37 66 I9FoJA.zMxZxuY67RIuaTxslbH9qh17f
1c1dc0 34 61 2b 48 67 34 79 52 76 76 37 45 34 39 31 66 30 79 4c 53 30 5a 6a 2f 67 41 30 51 48 44 42 77 4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw
1c1de0 37 6d 68 33 61 5a 77 34 67 53 7a 51 62 7a 70 67 4a 48 71 0a 5a 4a 78 36 34 53 49 44 71 5a 78 75 7mh3aZw4gSzQbzpgJHq.ZJx64SIDqZxu
1c1e00 62 77 35 6c 54 32 79 48 68 31 37 7a 62 71 44 35 64 61 57 62 51 4f 68 54 73 69 65 64 53 72 6e 41 bw5lT2yHh17zbqD5daWbQOhTsiedSrnA
1c1e20 64 79 47 4e 2f 34 66 79 33 72 79 4d 37 78 66 66 74 30 6b 4c 30 66 4a 75 4d 41 73 61 44 6b 35 32 dyGN/4fy3ryM7xfft0kL0fJuMAsaDk52
1c1e40 0a 37 52 48 38 39 65 6c 57 73 6e 32 2f 78 32 30 4b 6b 34 79 6c 30 4d 43 32 48 62 34 36 54 70 53 .7RH89elWsn2/x20Kk4yl0MC2Hb46TpS
1c1e60 69 31 32 35 73 43 38 4b 4b 66 50 6f 67 38 38 54 6b 35 63 30 4e 71 4d 75 52 6b 72 46 38 68 65 79 i125sC8KKfPog88Tk5c0NqMuRkrF8hey
1c1e80 31 46 47 6c 6d 44 6f 4c 6e 7a 63 37 49 0a 4c 61 5a 52 66 79 48 42 4e 56 4f 46 42 6b 70 64 6e 36 1FGlmDoLnzc7I.LaZRfyHBNVOFBkpdn6
1c1ea0 32 37 47 31 39 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 27G190.-----END.CERTIFICATE-----
1c1ec0 0a 0a 55 53 45 52 54 72 75 73 74 20 52 53 41 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 ..USERTrust.RSA.Certification.Au
1c1ee0 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d thority.========================
1c1f00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c1f20 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 33 6a 43 43 41 38 61 67 41 77 49 42 41 67 49 51 41 66 CATE-----.MIIF3jCCA8agAwIBAgIQAf
1c1f40 31 74 4d 50 79 6a 79 6c 47 6f 47 37 78 6b 44 6a 55 44 4c 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w
1c1f60 30 42 41 51 77 46 41 44 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 45 0BAQwFADCBiDELMAkGA1UE.BhMCVVMxE
1c1f80 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 zARBgNVBAgTCk5ldyBKZXJzZXkxFDASB
1c1fa0 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 gNVBAcTC0plcnNleSBDaXR5MR4wHAYDV
1c1fc0 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 QQK.ExVUaGUgVVNFUlRSVVNUIE5ldHdv
1c1fe0 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 53 cmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBS
1c2000 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a U0EgQ2VydGlmaWNh.dGlvbiBBdXRob3J
1c2020 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d 6a 41 78 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 pdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzg
1c2040 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 wMTE4MjM1OTU5WjCBiDELMAkGA1UE.Bh
1c2060 4d 43 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 MCVVMxEzARBgNVBAgTCk5ldyBKZXJzZX
1c2080 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 kxFDASBgNVBAcTC0plcnNleSBDaXR5MR
1c20a0 34 77 48 41 59 44 56 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 4wHAYDVQQK.ExVUaGUgVVNFUlRSVVNUI
1c20c0 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 E5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUc
1c20e0 6e 56 7a 64 43 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 42 42 nVzdCBSU0EgQ2VydGlmaWNh.dGlvbiBB
1c2100 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 dXRob3JpdHkwggIiMA0GCSqGSIb3DQEB
1c2120 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 41 45 6d 55 58 4e 67 37 44 AQUAA4ICDwAwggIKAoICAQCAEmUXNg7D
1c2140 32 77 69 7a 0a 30 4b 78 58 44 58 62 74 7a 53 66 54 54 4b 31 51 67 32 48 69 71 69 42 4e 43 53 31 2wiz.0KxXDXbtzSfTTK1Qg2HiqiBNCS1
1c2160 6b 43 64 7a 4f 69 5a 2f 4d 50 61 6e 73 39 73 2f 42 33 50 48 54 73 64 5a 37 4e 79 67 52 4b 30 66 kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0f
1c2180 61 4f 63 61 38 4f 68 6d 30 58 36 61 39 66 5a 32 6a 0a 59 30 4b 32 64 76 4b 70 4f 79 75 52 2b 4f aOca8Ohm0X6a9fZ2j.Y0K2dvKpOyuR+O
1c21a0 4a 76 30 4f 77 57 49 4a 41 4a 50 75 4c 6f 64 4d 6b 59 74 4a 48 55 59 6d 54 62 66 36 4d 47 38 59 Jv0OwWIJAJPuLodMkYtJHUYmTbf6MG8Y
1c21c0 67 59 61 70 41 69 50 4c 7a 2b 45 2f 43 48 46 48 76 32 35 42 2b 4f 31 4f 52 52 78 68 46 6e 0a 52 gYapAiPLz+E/CHFHv25B+O1ORRxhFn.R
1c21e0 67 68 52 79 34 59 55 56 44 2b 38 4d 2f 35 2b 62 4a 7a 2f 46 70 30 59 76 56 47 4f 4e 61 61 6e 5a ghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZ
1c2200 73 68 79 5a 39 73 68 5a 72 48 55 6d 33 67 44 77 46 41 36 36 4d 7a 77 33 4c 79 65 54 50 36 76 42 shyZ9shZrHUm3gDwFA66Mzw3LyeTP6vB
1c2220 5a 59 31 48 31 64 61 74 2f 2f 4f 0a 2b 54 32 33 4c 4c 62 32 56 4e 33 49 35 78 49 36 54 61 35 4d ZY1H1dat//O.+T23LLb2VN3I5xI6Ta5M
1c2240 69 72 64 63 6d 72 53 33 49 44 33 4b 66 79 49 30 72 6e 34 37 61 47 59 42 52 4f 63 42 54 6b 5a 54 irdcmrS3ID3KfyI0rn47aGYBROcBTkZT
1c2260 6d 7a 4e 67 39 35 53 2b 55 7a 65 51 63 30 50 7a 4d 73 4e 54 37 39 75 71 0a 2f 6e 52 4f 61 63 64 mzNg95S+UzeQc0PzMsNT79uq./nROacd
1c2280 72 6a 47 43 54 33 73 54 48 44 4e 2f 68 4d 71 37 4d 6b 7a 74 52 65 4a 56 6e 69 2b 34 39 56 76 34 rjGCT3sTHDN/hMq7MkztReJVni+49Vv4
1c22a0 4d 30 47 6b 50 47 77 2f 7a 4a 53 5a 72 4d 32 33 33 62 6b 66 36 63 30 50 6c 66 67 36 6c 5a 72 45 M0GkPGw/zJSZrM233bkf6c0Plfg6lZrE
1c22c0 70 66 44 4b 45 0a 59 31 57 4a 78 41 33 42 6b 31 51 77 47 52 4f 73 30 33 30 33 70 2b 74 64 4f 6d pfDKE.Y1WJxA3Bk1QwGROs0303p+tdOm
1c22e0 77 31 58 4e 74 42 31 78 4c 61 71 55 6b 4c 33 39 69 41 69 67 6d 54 59 6f 36 31 5a 73 38 6c 69 4d w1XNtB1xLaqUkL39iAigmTYo61Zs8liM
1c2300 32 45 75 4c 45 2f 70 44 6b 50 32 51 4b 65 36 78 4a 4d 0a 6c 58 7a 7a 61 77 57 70 58 68 61 44 7a 2EuLE/pDkP2QKe6xJM.lXzzawWpXhaDz
1c2320 4c 68 6e 34 75 67 54 6e 63 78 62 67 74 4e 4d 73 2b 31 62 2f 39 37 6c 63 36 77 6a 4f 79 30 41 76 Lhn4ugTncxbgtNMs+1b/97lc6wjOy0Av
1c2340 7a 56 56 64 41 6c 4a 32 45 6c 59 47 6e 2b 53 4e 75 5a 52 6b 67 37 7a 4a 6e 30 63 54 52 65 38 0a zVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8.
1c2360 79 65 78 44 4a 74 43 2f 51 56 39 41 71 55 52 45 39 4a 6e 6e 56 34 65 65 55 42 39 58 56 4b 67 2b yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+
1c2380 2f 58 52 6a 4c 37 46 51 5a 51 6e 6d 57 45 49 75 51 78 70 4d 74 50 41 6c 52 31 6e 36 42 42 36 54 /XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T
1c23a0 31 43 5a 47 53 6c 43 42 73 74 36 2b 0a 65 4c 66 38 5a 78 58 68 79 56 65 45 48 67 39 6a 31 75 6c 1CZGSlCBst6+.eLf8ZxXhyVeEHg9j1ul
1c23c0 69 75 74 5a 66 56 53 37 71 58 4d 59 6f 43 41 51 6c 4f 62 67 4f 4b 36 6e 79 54 4a 63 63 42 7a 38 iutZfVS7qXMYoCAQlObgOK6nyTJccBz8
1c23e0 4e 55 76 58 74 37 79 2b 43 44 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 0a 42 67 4e 56 48 51 NUvXt7y+CDwIDAQABo0IwQDAd.BgNVHQ
1c2400 34 45 46 67 51 55 55 33 6d 2f 57 71 6f 72 53 73 39 55 67 4f 48 59 6d 38 43 64 38 72 49 44 5a 73 4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZs
1c2420 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 swDgYDVR0PAQH/BAQDAgEGMA8GA1UdEw
1c2440 45 42 2f 77 51 46 0a 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 EB/wQF.MAMBAf8wDQYJKoZIhvcNAQEMB
1c2460 51 41 44 67 67 49 42 41 46 7a 55 66 41 33 50 39 77 46 39 51 5a 6c 6c 44 48 50 46 55 70 2f 4c 2b QADggIBAFzUfA3P9wF9QZllDHPFUp/L+
1c2480 4d 2b 5a 42 6e 38 62 32 6b 4d 56 6e 35 34 43 56 56 65 57 0a 46 50 46 53 50 43 65 48 6c 43 6a 74 M+ZBn8b2kMVn54CVVeW.FPFSPCeHlCjt
1c24a0 48 7a 6f 42 4e 36 4a 32 2f 46 4e 51 77 49 53 62 78 6d 74 4f 75 6f 77 68 54 36 4b 4f 56 57 4b 52 HzoBN6J2/FNQwISbxmtOuowhT6KOVWKR
1c24c0 38 32 6b 56 32 4c 79 49 34 38 53 71 43 2f 33 76 71 4f 6c 4c 56 53 6f 47 49 47 31 56 65 43 6b 5a 82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ
1c24e0 0a 37 6c 38 77 58 45 73 6b 45 56 58 2f 4a 4a 70 75 58 69 6f 72 37 67 74 4e 6e 33 2f 33 41 54 69 .7l8wXEskEVX/JJpuXior7gtNn3/3ATi
1c2500 55 46 4a 56 44 42 77 6e 37 59 4b 6e 75 48 4b 73 53 6a 4b 43 61 58 71 65 59 61 6c 6c 74 69 7a 38 UFJVDBwn7YKnuHKsSjKCaXqeYalltiz8
1c2520 49 2b 38 6a 52 52 61 38 59 46 57 53 51 0a 45 67 39 7a 4b 43 37 46 34 69 52 4f 2f 46 6a 73 38 50 I+8jRRa8YFWSQ.Eg9zKC7F4iRO/Fjs8P
1c2540 52 46 2f 69 4b 7a 36 79 2b 4f 30 74 6c 46 59 51 58 42 6c 32 2b 6f 64 6e 4b 50 69 34 77 32 72 37 RF/iKz6y+O0tlFYQXBl2+odnKPi4w2r7
1c2560 38 4e 42 63 35 78 6a 65 61 6d 62 78 39 73 70 6e 46 69 78 64 6a 51 67 33 49 4d 0a 38 57 63 52 69 8NBc5xjeambx9spnFixdjQg3IM.8WcRi
1c2580 51 79 63 45 30 78 79 4e 4e 2b 38 31 58 48 66 71 6e 48 64 34 62 6c 73 6a 44 77 53 58 57 58 61 76 QycE0xyNN+81XHfqnHd4blsjDwSXWXav
1c25a0 56 63 53 74 6b 4e 72 2f 2b 58 65 54 57 59 52 55 63 2b 5a 72 75 77 58 74 75 68 78 6b 59 7a 65 53 VcStkNr/+XeTWYRUc+ZruwXtuhxkYzeS
1c25c0 66 37 64 4e 58 47 69 0a 46 53 65 55 48 4d 39 68 34 79 61 37 62 36 4e 6e 4a 53 46 64 35 74 30 64 f7dNXGi.FSeUHM9h4ya7b6NnJSFd5t0d
1c25e0 43 79 35 6f 47 7a 75 43 72 2b 79 44 5a 34 58 55 6d 46 46 30 73 62 6d 5a 67 49 6e 2f 66 33 67 5a Cy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
1c2600 58 48 6c 4b 59 43 36 53 51 4b 35 4d 4e 79 6f 73 79 63 64 69 0a 79 41 35 64 39 7a 5a 62 79 75 41 XHlKYC6SQK5MNyosycdi.yA5d9zZbyuA
1c2620 6c 4a 51 47 30 33 52 6f 48 6e 48 63 41 50 39 44 63 31 65 77 39 31 50 71 37 50 38 79 46 31 6d 39 lJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9
1c2640 2f 71 53 33 66 75 51 4c 33 39 5a 65 61 74 54 58 61 77 32 65 77 68 30 71 70 4b 4a 34 6a 6a 76 39 /qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9
1c2660 63 0a 4a 32 76 68 73 45 2f 7a 42 2b 34 41 4c 74 52 5a 68 38 74 53 51 5a 58 71 39 45 66 58 37 6d c.J2vhsE/zB+4ALtRZh8tSQZXq9EfX7m
1c2680 52 42 56 58 79 4e 57 51 4b 56 33 57 4b 64 77 72 6e 75 57 69 68 30 68 4b 57 62 74 35 44 48 44 41 RBVXyNWQKV3WKdwrnuWih0hKWbt5DHDA
1c26a0 66 66 39 59 6b 32 64 44 4c 57 4b 4d 47 77 0a 73 41 76 67 6e 45 7a 44 48 4e 62 38 34 32 6d 31 52 ff9Yk2dDLWKMGw.sAvgnEzDHNb842m1R
1c26c0 30 61 42 4c 36 4b 43 71 39 4e 6a 52 48 44 45 6a 66 38 74 4d 37 71 74 6a 33 75 31 63 49 69 75 50 0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuP
1c26e0 68 6e 50 51 43 6a 59 2f 4d 69 51 75 31 32 5a 49 76 56 53 35 6c 6a 46 48 34 67 78 0a 51 2b 36 49 hnPQCjY/MiQu12ZIvVS5ljFH4gx.Q+6I
1c2700 48 64 66 47 6a 6a 78 44 61 68 32 6e 47 4e 35 39 50 52 62 78 59 76 6e 4b 6b 4b 6a 39 0a 2d 2d 2d HdfGjjxDah2nGN59PRbxYvnKkKj9.---
1c2720 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 53 45 52 54 72 75 73 --END.CERTIFICATE-----..USERTrus
1c2740 74 20 45 43 43 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d t.ECC.Certification.Authority.==
1c2760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c2780 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1c27a0 4d 49 49 43 6a 7a 43 43 41 68 57 67 41 77 49 42 41 67 49 51 58 49 75 5a 78 56 71 55 78 64 4a 78 MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJx
1c27c0 56 74 37 4e 69 59 44 4d 4a 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 69 44 45 4c Vt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL
1c27e0 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 MAkGA1UEBhMC.VVMxEzARBgNVBAgTCk5
1c2800 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e ldyBKZXJzZXkxFDASBgNVBAcTC0plcnN
1c2820 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 45 78 56 55 0a 61 47 55 67 56 56 leSBDaXR5MR4wHAYDVQQKExVU.aGUgVV
1c2840 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 NFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBA
1c2860 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 46 51 30 4d 67 51 32 56 79 64 47 6c 6d 61 57 MTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaW
1c2880 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d NhdGlv.biBBdXRob3JpdHkwHhcNMTAwM
1c28a0 6a 41 78 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 jAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5W
1c28c0 6a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 45 7a 41 52 42 67 4e 56 jCBiDELMAkGA1UEBhMC.VVMxEzARBgNV
1c28e0 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcT
1c2900 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 45 78 56 55 C0plcnNleSBDaXR5MR4wHAYDVQQKExVU
1c2920 0a 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 .aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjA
1c2940 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 46 51 30 4d 67 51 32 56 sBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2V
1c2960 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 64 6a ydGlmaWNhdGlv.biBBdXRob3JpdHkwdj
1c2980 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 61 72 46 AQBgcqhkjOPQIBBgUrgQQAIgNiAAQarF
1c29a0 52 61 71 66 6c 6f 49 2b 64 36 31 53 52 76 55 38 5a 61 32 45 75 72 78 74 57 32 0a 30 65 5a 7a 63 RaqfloI+d61SRvU8Za2EurxtW2.0eZzc
1c29c0 61 37 64 6e 4e 59 4d 59 66 33 62 6f 49 6b 44 75 41 55 55 37 46 66 4f 37 6c 30 2f 34 69 47 7a 7a a7dnNYMYf3boIkDuAUU7FfO7l0/4iGzz
1c29e0 76 66 55 69 6e 6e 67 6f 34 4e 2b 4c 5a 66 51 59 63 54 78 6d 64 77 6c 6b 57 4f 72 66 7a 43 6a 74 vfUinngo4N+LZfQYcTxmdwlkWOrfzCjt
1c2a00 48 44 69 78 36 45 7a 0a 6e 50 4f 2f 4c 6c 78 54 73 56 2b 7a 66 54 4a 2f 69 6a 54 6a 65 58 6d 6a HDix6Ez.nPO/LlxTsV+zfTJ/ijTjeXmj
1c2a20 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 36 34 51 6d 47 31 4d 38 5a 77 70 5a 32 QjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2
1c2a40 64 45 6c 32 33 4f 41 31 78 6d 4e 6a 6d 6a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 41 4d dEl23OA1xmNjmjAOBgNV.HQ8BAf8EBAM
1c2a60 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4b 42 67 67 CAQYwDwYDVR0TAQH/BAUwAwEB/zAKBgg
1c2a80 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a 41 32 5a 36 45 57 43 4e 7a 6b 6c 77 42 qhkjOPQQDAwNoADBlAjA2Z6EWCNzklwB
1c2aa0 42 0a 48 55 36 2b 34 57 4d 42 7a 7a 75 71 51 68 46 6b 6f 4a 32 55 4f 51 49 52 65 56 78 37 48 66 B.HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hf
1c2ac0 70 6b 75 65 34 57 51 72 4f 2f 69 73 49 4a 78 4f 7a 6b 73 55 30 43 4d 51 44 70 4b 6d 46 48 6a 46 pkue4WQrO/isIJxOzksU0CMQDpKmFHjF
1c2ae0 4a 4b 53 30 34 59 63 50 62 57 52 4e 5a 75 0a 39 59 4f 36 62 56 69 39 4a 4e 6c 57 53 4f 72 76 78 JKS04YcPbWRNZu.9YO6bVi9JNlWSOrvx
1c2b00 4b 4a 47 67 59 68 71 4f 6b 62 52 71 5a 74 4e 79 57 48 61 30 56 31 58 61 68 67 3d 0a 2d 2d 2d 2d KJGgYhqOkbRqZtNyWHa0V1Xahg=.----
1c2b20 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 69 67 -END.CERTIFICATE-----..GlobalSig
1c2b40 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.ECC.Root.CA.-.R4.=============
1c2b60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1c2b80 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 34 54 43 43 41 59 65 67 41 77 49 42 41 67 49 52 4b ICATE-----.MIIB4TCCAYegAwIBAgIRK
1c2ba0 6a 69 6b 48 4a 59 4b 42 4e 35 43 73 69 69 6c 43 2b 67 30 6d 41 49 77 43 67 59 49 4b 6f 5a 49 7a jikHJYKBN5CsiilC+g0mAIwCgYIKoZIz
1c2bc0 6a 30 45 41 77 49 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 j0EAwIwUDEkMCIGA1UECxMb.R2xvYmFs
1c2be0 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 30 4d 52 4d 77 U2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMw
1c2c00 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 EQYDVQQKEwpHbG9iYWxTaWduMRMwEQYD
1c2c20 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 34 58 44 54 45 79 4d 54 45 VQQD.EwpHbG9iYWxTaWduMB4XDTEyMTE
1c2c40 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 41 7a 4d 54 51 77 4e 31 6f xMzAwMDAwMFoXDTM4MDExOTAzMTQwN1o
1c2c60 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 69 wUDEkMCIGA1UECxMb.R2xvYmFsU2lnbi
1c2c80 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 30 4d 52 4d 77 45 51 59 44 56 51 BFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQ
1c2ca0 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 56 51 51 44 0a 45 QKEwpHbG9iYWxTaWduMRMwEQYDVQQD.E
1c2cc0 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 46 6b 77 45 77 59 48 4b 6f 5a 49 7a 6a 30 43 41 wpHbG9iYWxTaWduMFkwEwYHKoZIzj0CA
1c2ce0 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 75 4d 5a 35 30 34 39 73 4a 51 36 66 4c QYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fL
1c2d00 6a 6b 5a 48 41 4f 6b 72 70 72 6c 0a 4f 51 63 4a 46 73 70 6a 73 62 6d 47 2b 49 70 58 77 56 66 4f jkZHAOkrprl.OQcJFspjsbmG+IpXwVfO
1c2d20 51 76 70 7a 6f 66 64 6c 51 76 38 65 77 51 43 79 62 6e 4d 4f 2f 38 63 68 35 52 69 6b 71 74 6c 78 QvpzofdlQv8ewQCybnMO/8ch5Rikqtlx
1c2d40 50 36 6a 55 75 63 36 4d 48 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 0a 41 51 48 2f 42 41 51 P6jUuc6MHaNCMEAwDgYDVR0P.AQH/BAQ
1c2d60 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 DAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQY
1c2d80 44 56 52 30 4f 42 42 59 45 46 46 53 77 65 36 31 46 75 4f 4a 41 66 2f 73 4b 62 76 75 2b 4d 38 6b DVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k
1c2da0 38 6f 34 54 56 0a 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 30 67 41 4d 45 55 43 49 51 8o4TV.MAoGCCqGSM49BAMCA0gAMEUCIQ
1c2dc0 44 63 6b 71 47 67 45 36 62 50 41 37 44 6d 78 43 47 58 6b 50 6f 55 56 79 30 44 37 4f 34 38 30 32 DckqGgE6bPA7DmxCGXkPoUVy0D7O4802
1c2de0 37 4b 71 47 78 32 76 4b 4c 65 75 77 49 67 4a 36 69 46 0a 4a 7a 57 62 56 73 61 6a 38 6b 66 53 74 7KqGx2vKLeuwIgJ6iF.JzWbVsaj8kfSt
1c2e00 32 34 62 41 67 41 58 71 6d 65 6d 46 5a 48 65 2b 70 54 73 65 77 76 34 6e 34 51 3d 0a 2d 2d 2d 2d 24bAgAXqmemFZHe+pTsewv4n4Q=.----
1c2e20 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 69 67 -END.CERTIFICATE-----..GlobalSig
1c2e40 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.ECC.Root.CA.-.R5.=============
1c2e60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1c2e80 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 6a 43 43 41 61 53 67 41 77 49 42 41 67 49 52 59 ICATE-----.MIICHjCCAaSgAwIBAgIRY
1c2ea0 46 6c 4a 34 43 59 75 75 31 58 35 43 6e 65 4b 63 66 6c 4b 32 47 77 77 43 67 59 49 4b 6f 5a 49 7a FlJ4CYuu1X5CneKcflK2GwwCgYIKoZIz
1c2ec0 6a 30 45 41 77 4d 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 j0EAwMwUDEkMCIGA1UECxMb.R2xvYmFs
1c2ee0 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 31 4d 52 4d 77 U2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMw
1c2f00 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 EQYDVQQKEwpHbG9iYWxTaWduMRMwEQYD
1c2f20 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 34 58 44 54 45 79 4d 54 45 VQQD.EwpHbG9iYWxTaWduMB4XDTEyMTE
1c2f40 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 41 7a 4d 54 51 77 4e 31 6f xMzAwMDAwMFoXDTM4MDExOTAzMTQwN1o
1c2f60 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 69 wUDEkMCIGA1UECxMb.R2xvYmFsU2lnbi
1c2f80 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 31 4d 52 4d 77 45 51 59 44 56 51 BFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQ
1c2fa0 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 56 51 51 44 0a 45 QKEwpHbG9iYWxTaWduMRMwEQYDVQQD.E
1c2fc0 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 41 wpHbG9iYWxTaWduMHYwEAYHKoZIzj0CA
1c2fe0 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 52 30 55 4f 6c 76 74 39 58 62 2f 70 4f 64 45 68 2b QYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+
1c3000 4a 38 4c 74 74 56 37 48 70 49 36 0a 53 46 6b 63 38 47 49 78 4c 63 42 36 4b 50 34 61 70 31 79 7a J8LttV7HpI6.SFkc8GIxLcB6KP4ap1yz
1c3020 74 73 79 58 35 30 58 55 57 50 72 52 64 32 31 44 6f 73 43 48 5a 54 51 4b 48 33 72 64 36 7a 77 7a tsyX50XUWPrRd21DosCHZTQKH3rd6zwz
1c3040 6f 63 57 64 54 61 52 76 51 5a 55 34 66 38 6b 65 68 4f 76 52 6e 6b 6d 53 0a 68 35 53 48 44 44 71 ocWdTaRvQZU4f8kehOvRnkmS.h5SHDDq
1c3060 46 53 6d 61 66 6e 56 6d 54 54 5a 64 68 42 6f 5a 4b 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 FSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8
1c3080 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwE
1c30a0 42 2f 7a 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 50 65 59 70 53 4a 76 71 42 38 6f 68 52 45 B/zAd.BgNVHQ4EFgQUPeYpSJvqB8ohRE
1c30c0 6f 6d 33 6d 37 65 30 6f 50 51 6e 31 6b 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 41 om3m7e0oPQn1kwCgYIKoZIzj0EAwMDaA
1c30e0 41 77 5a 51 49 78 41 4f 56 70 45 73 6c 75 32 38 59 78 0a 75 67 6c 42 34 5a 66 34 2b 2f 32 61 34 AwZQIxAOVpEslu28Yx.uglB4Zf4+/2a4
1c3100 6e 30 53 79 65 31 38 5a 4e 50 4c 42 53 57 4c 56 74 6d 67 35 31 35 64 54 67 75 44 6e 46 74 32 4b n0Sye18ZNPLBSWLVtmg515dTguDnFt2K
1c3120 61 41 4a 4a 69 46 71 59 67 49 77 63 64 4b 31 6a 31 7a 71 4f 2b 46 34 43 59 57 6f 64 5a 49 37 0a aAJJiFqYgIwcdK1j1zqO+F4CYWodZI7.
1c3140 79 46 7a 39 53 4f 38 4e 64 43 4b 6f 43 4f 4a 75 78 55 6e 4f 78 77 79 38 70 32 46 70 38 66 63 37 yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc7
1c3160 34 53 72 4c 2b 53 76 7a 5a 70 41 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 4SrL+SvzZpA3.-----END.CERTIFICAT
1c3180 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 6e 20 52 6f E-----..Staat.der.Nederlanden.Ro
1c31a0 6f 74 20 43 41 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ot.CA.-.G3.=====================
1c31c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c31e0 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 64 44 43 43 41 31 79 67 41 77 49 42 41 67 49 45 41 4a CATE-----.MIIFdDCCA1ygAwIBAgIEAJ
1c3200 69 69 4f 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 73 77 43 51 iiOTANBgkqhkiG9w0BAQsFADBaMQswCQ
1c3220 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 68 59 YDVQQGEwJOTDEeMBwGA1UE.CgwVU3RhY
1c3240 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 73 77 4b 51 59 44 56 XQgZGVyIE5lZGVybGFuZGVuMSswKQYDV
1c3260 51 51 44 44 43 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a QQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZ
1c3280 57 34 67 0a 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 7a 4d 42 34 58 44 54 45 7a 4d 54 45 78 W4g.Um9vdCBDQSAtIEczMB4XDTEzMTEx
1c32a0 4e 44 45 78 4d 6a 67 30 4d 6c 6f 58 44 54 49 34 4d 54 45 78 4d 7a 49 7a 4d 44 41 77 4d 46 6f 77 NDExMjg0MloXDTI4MTExMzIzMDAwMFow
1c32c0 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a 41 63 42 67 4e 56 42 41 6f WjELMAkGA1UEBhMC.TkwxHjAcBgNVBAo
1c32e0 4d 46 56 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d 78 68 62 6d 52 6c 62 6a 45 MFVN0YWF0IGRlciBOZWRlcmxhbmRlbjE
1c3300 72 4d 43 6b 47 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 0a 5a 47 rMCkGA1UEAwwiU3RhYXQgZGVyIE5l.ZG
1c3320 56 79 62 47 46 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 7a 43 43 41 69 VybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAi
1c3340 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 IwDQYJKoZIhvcNAQEBBQADggIPADCCAg
1c3360 6f 43 67 67 49 42 41 4c 34 79 0a 6f 6c 51 50 63 50 73 73 58 46 6e 72 62 4d 53 6b 55 65 69 46 4b oCggIBAL4y.olQPcPssXFnrbMSkUeiFK
1c3380 72 50 4d 53 6a 54 79 73 46 2f 7a 44 73 63 63 50 56 4d 65 69 41 68 6f 32 47 38 39 72 63 4b 65 7a rPMSjTysF/zDsccPVMeiAho2G89rcKez
1c33a0 49 4a 6e 42 79 65 48 61 48 45 36 6e 33 57 57 49 6b 59 46 73 4f 32 74 0a 78 31 75 65 4b 74 36 63 IJnByeHaHE6n3WWIkYFsO2t.x1ueKt6c
1c33c0 2f 44 72 47 6c 61 66 31 46 32 63 59 35 79 39 4a 43 41 78 63 7a 2b 62 4d 4e 4f 31 34 2b 31 43 78 /DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx
1c33e0 33 47 73 79 38 4b 4c 2b 74 6a 7a 6b 37 46 71 58 78 7a 38 65 63 41 67 77 6f 4e 7a 46 73 32 31 76 3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v
1c3400 30 49 4a 79 0a 45 61 76 53 67 57 68 5a 67 68 65 33 65 4a 4a 67 2b 73 7a 65 50 34 54 72 6a 54 67 0IJy.EavSgWhZghe3eJJg+szeP4TrjTg
1c3420 7a 6b 41 70 79 49 2f 6f 31 7a 43 5a 78 4d 64 46 79 4b 4a 4c 5a 57 79 4e 74 5a 72 56 74 42 30 4c zkApyI/o1zCZxMdFyKJLZWyNtZrVtB0L
1c3440 72 70 6a 50 4f 6b 74 76 41 39 6d 78 6a 65 4d 33 4b 0a 54 6a 32 31 35 56 4b 62 38 62 34 37 35 6c rpjPOktvA9mxjeM3K.Tj215VKb8b475l
1c3460 52 67 73 47 59 65 43 61 73 48 2f 6c 53 4a 45 55 4c 52 39 79 53 36 59 48 67 61 6d 50 66 4a 45 66 RgsGYeCasH/lSJEULR9yS6YHgamPfJEf
1c3480 30 57 77 54 55 61 56 48 58 76 51 39 50 6c 72 6b 37 4f 35 33 76 44 78 6b 35 68 55 55 75 72 0a 6d 0WwTUaVHXvQ9Plrk7O53vDxk5hUUur.m
1c34a0 6b 56 4c 6f 52 39 42 76 55 68 54 46 58 46 6b 43 34 61 7a 35 53 36 2b 7a 71 51 62 77 53 6d 45 6f kVLoR9BvUhTFXFkC4az5S6+zqQbwSmEo
1c34c0 72 58 4c 43 43 4e 32 51 79 49 6b 48 78 63 45 31 47 36 63 78 76 78 2f 4b 32 59 61 37 49 72 6c 31 rXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1
1c34e0 73 39 4e 39 57 4d 4a 74 78 55 35 0a 31 6e 75 73 36 2b 4e 38 36 55 37 38 64 55 4c 49 37 56 69 56 s9N9WMJtxU5.1nus6+N86U78dULI7ViV
1c3500 44 41 5a 43 6f 70 7a 33 35 48 43 7a 33 33 4a 76 57 6a 64 41 69 64 69 46 70 4e 66 78 43 39 35 44 DAZCopz35HCz33JvWjdAidiFpNfxC95D
1c3520 47 64 52 4b 57 43 79 4d 69 6a 6d 65 76 34 53 48 38 52 59 37 4e 67 7a 70 0a 30 37 54 4b 62 42 6c GdRKWCyMijmev4SH8RY7Ngzp.07TKbBl
1c3540 42 55 67 6d 68 48 62 42 71 76 34 4c 76 63 46 45 68 4d 74 77 46 64 6f 7a 4c 39 32 54 6b 41 31 43 BUgmhHbBqv4LvcFEhMtwFdozL92TkA1C
1c3560 76 6a 4a 46 6e 71 38 58 79 37 6c 6a 59 33 72 37 33 35 7a 48 50 62 4d 6b 37 63 63 48 56 69 4c 56 vjJFnq8Xy7ljY3r735zHPbMk7ccHViLV
1c3580 6c 76 4d 44 6f 0a 46 78 63 48 45 72 56 63 30 71 73 67 6b 37 54 6d 67 6f 4e 77 4e 73 58 4e 6f 34 lvMDo.FxcHErVc0qsgk7TmgoNwNsXNo4
1c35a0 32 74 69 2b 79 6a 77 55 4f 48 35 6b 50 69 4e 4c 36 56 69 7a 58 74 42 7a 6e 61 71 42 31 36 6e 7a 2ti+yjwUOH5kPiNL6VizXtBznaqB16nz
1c35c0 61 65 45 72 41 4d 5a 52 4b 51 46 57 44 5a 4a 6b 42 45 0a 34 31 5a 67 70 52 44 55 61 6a 7a 39 51 aeErAMZRKQFWDZJkBE.41ZgpRDUajz9Q
1c35e0 64 77 4f 57 6b 65 32 37 35 64 68 64 55 2f 5a 2f 73 65 79 48 64 54 74 58 55 6d 7a 71 57 72 4c 5a dwOWke275dhdU/Z/seyHdTtXUmzqWrLZ
1c3600 6f 51 54 31 56 79 67 33 4e 39 75 64 77 62 52 63 58 58 49 56 32 2b 76 44 33 64 62 41 67 4d 42 0a oQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB.
1c3620 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w
1c3640 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 DgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQW
1c3660 42 42 52 55 72 66 72 48 6b 6c 65 75 0a 79 6a 57 63 4c 68 4c 37 35 4c 70 64 49 4e 79 55 56 7a 41 BBRUrfrHkleu.yjWcLhL75LpdINyUVzA
1c3680 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 4d 4a 6d 64 42 54 4c NBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTL
1c36a0 49 58 67 34 37 6d 41 45 36 69 71 54 6e 42 2f 64 36 2b 4f 65 61 33 31 42 44 0a 55 35 63 71 50 63 IXg47mAE6iqTnB/d6+Oea31BD.U5cqPc
1c36c0 6f 38 52 35 67 75 34 52 56 37 38 5a 4c 7a 59 64 71 51 4a 52 5a 6c 77 4a 39 55 58 51 34 44 4f 31 o8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1
1c36e0 74 33 41 70 79 45 74 67 32 59 58 7a 54 64 4f 32 50 43 77 79 69 42 77 70 77 70 4c 69 6e 69 79 4d t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyM
1c3700 4d 42 38 6a 50 71 0a 4b 71 72 4d 43 51 6a 33 5a 57 66 47 7a 64 2f 54 74 69 75 6e 76 63 7a 52 44 MB8jPq.KqrMCQj3ZWfGzd/TtiunvczRD
1c3720 6e 42 66 75 43 50 52 79 35 46 4f 43 76 54 49 65 75 58 5a 59 7a 62 42 31 4e 2f 38 49 70 66 33 59 nBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3Y
1c3740 46 33 71 4b 53 39 59 73 72 31 59 76 59 32 57 54 78 42 31 0a 76 30 68 37 50 56 47 48 6f 54 78 30 F3qKS9Ysr1YvY2WTxB1.v0h7PVGHoTx0
1c3760 49 73 4c 38 42 33 2b 41 33 4d 53 73 2f 6d 72 42 63 44 43 77 36 59 35 70 34 69 78 70 67 5a 51 4a IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJ
1c3780 75 74 33 2b 54 63 43 44 6a 4a 52 59 77 45 59 67 72 35 77 66 41 76 67 31 56 55 6b 76 52 74 54 41 ut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
1c37a0 0a 38 4b 43 57 41 67 38 7a 78 58 48 7a 6e 69 4e 39 6c 4c 66 39 4f 74 4d 4a 67 77 59 68 2f 57 41 .8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA
1c37c0 39 72 6a 4c 41 30 75 36 4e 70 76 44 6e 74 49 4a 38 43 73 78 77 79 58 6d 41 2b 50 35 4d 39 7a 57 9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zW
1c37e0 45 47 59 6f 78 2b 77 72 5a 31 33 2b 62 0a 38 4b 4b 61 61 38 4d 46 53 75 31 42 59 42 51 77 30 61 EGYox+wrZ13+b.8KKaa8MFSu1BYBQw0a
1c3800 6f 52 51 6d 37 54 49 77 49 45 43 38 5a 6c 33 64 31 53 64 39 71 42 61 37 4b 6f 2b 67 45 34 75 5a oRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZ
1c3820 62 71 4b 6d 78 6e 6c 34 6d 55 6e 72 7a 68 56 4e 58 6b 61 6e 6a 76 53 72 30 72 0a 6d 6a 31 41 66 bqKmxnl4mUnrzhVNXkanjvSr0r.mj1Af
1c3840 73 62 41 64 64 4a 75 2b 32 67 77 37 4f 79 4c 6e 66 6c 4a 4e 5a 6f 61 4c 4e 6d 7a 6c 54 6e 56 48 sbAddJu+2gw7OyLnflJNZoaLNmzlTnVH
1c3860 70 4c 33 70 72 6c 6c 4c 2b 55 39 62 54 70 49 54 41 6a 63 35 43 67 53 4b 4c 35 39 4e 56 7a 71 34 pL3prllL+U9bTpITAjc5CgSKL59NVzq4
1c3880 42 5a 2b 45 78 74 71 0a 31 7a 37 58 6e 76 77 74 64 62 4c 42 46 4e 55 6a 41 39 74 62 62 77 73 2b BZ+Extq.1z7XnvwtdbLBFNUjA9tbbws+
1c38a0 65 43 38 4e 33 6a 4f 4e 46 72 64 49 35 34 4f 61 67 51 39 37 77 55 4e 4e 56 51 51 58 4f 45 70 52 eC8N3jONFrdI54OagQ97wUNNVQQXOEpR
1c38c0 31 56 6d 69 69 58 54 54 6e 37 34 65 53 39 66 47 62 62 65 49 0a 4a 47 39 67 6b 61 53 43 68 56 74 1VmiiXTTn74eS9fGbbeI.JG9gkaSChVt
1c38e0 57 51 62 7a 51 52 4b 74 71 45 37 37 52 4c 46 69 33 45 6a 4e 59 73 6a 64 6a 33 42 50 31 6c 42 30 WQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0
1c3900 2f 51 46 48 31 54 2f 55 36 37 63 6a 46 36 38 49 65 48 52 61 56 65 73 64 2b 51 6e 47 54 62 6b 73 /QFH1T/U67cjF68IeHRaVesd+QnGTbks
1c3920 56 0a 74 7a 44 66 71 75 31 58 68 55 69 73 48 57 72 64 4f 57 6e 6b 34 58 6c 34 76 73 34 46 76 36 V.tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6
1c3940 45 4d 39 34 42 37 49 57 63 6e 4d 46 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 EM94B7IWcnMFk=.-----END.CERTIFIC
1c3960 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 6e 20 ATE-----..Staat.der.Nederlanden.
1c3980 45 56 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d EV.Root.CA.=====================
1c39a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1c39c0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 63 44 43 43 41 31 69 67 41 77 49 42 41 67 49 45 41 4a 69 57 TE-----.MIIFcDCCA1igAwIBAgIEAJiW
1c39e0 6a 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 59 4d 51 73 77 43 51 59 44 jTANBgkqhkiG9w0BAQsFADBYMQswCQYD
1c3a00 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 68 59 58 51 VQQGEwJOTDEeMBwGA1UE.CgwVU3RhYXQ
1c3a20 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 6b 77 4a 77 59 44 56 51 51 gZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQ
1c3a40 44 44 43 42 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a 57 34 DDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4
1c3a60 67 0a 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 78 4d 44 45 79 4d 44 67 78 4d 54 g.RVYgUm9vdCBDQTAeFw0xMDEyMDgxMT
1c3a80 45 35 4d 6a 6c 61 46 77 30 79 4d 6a 45 79 4d 44 67 78 4d 54 45 77 4d 6a 68 61 4d 46 67 78 43 7a E5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCz
1c3aa0 41 4a 42 67 4e 56 42 41 59 54 41 6b 35 4d 0a 4d 52 34 77 48 41 59 44 56 51 51 4b 44 42 56 54 64 AJBgNVBAYTAk5M.MR4wHAYDVQQKDBVTd
1c3ac0 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a 57 34 78 4b 54 41 6e 42 GFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnB
1c3ae0 67 4e 56 42 41 4d 4d 49 46 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 0a 63 6d 78 68 gNVBAMMIFN0YWF0IGRlciBOZWRl.cmxh
1c3b00 62 6d 52 6c 62 69 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 49 49 43 49 6a 41 4e 42 67 6b 71 bmRlbiBFViBSb290IENBMIICIjANBgkq
1c3b20 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
1c3b40 34 38 64 2b 69 66 6b 6b 0a 53 7a 72 53 4d 34 4d 31 4c 47 6e 73 33 41 6d 6b 34 31 47 6f 4a 53 74 48d+ifkk.SzrSM4M1LGns3Amk41GoJSt
1c3b60 35 75 41 67 39 34 4a 47 36 68 49 58 47 68 61 54 4b 35 73 6b 75 55 36 54 4a 4a 42 37 39 56 57 5a 5uAg94JG6hIXGhaTK5skuU6TJJB79VWZ
1c3b80 78 58 53 7a 46 59 47 67 45 74 39 6e 43 55 69 59 34 69 4b 54 57 0a 4f 30 43 6d 77 73 30 2f 7a 5a xXSzFYGgEt9nCUiY4iKTW.O0Cmws0/zZ
1c3ba0 69 54 73 31 51 55 57 4a 5a 56 31 56 44 2b 68 71 32 6b 59 33 39 63 68 2f 61 4f 35 69 65 53 5a 78 iTs1QUWJZV1VD+hq2kY39ch/aO5ieSZx
1c3bc0 65 53 41 67 4d 73 33 4e 5a 6d 64 4f 33 64 5a 2f 2f 42 59 59 31 6a 54 77 2b 62 62 52 63 77 4a 75 eSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu
1c3be0 2b 72 0a 30 68 38 51 6f 50 6e 46 66 78 5a 70 67 51 4e 48 37 52 35 6f 6a 58 4b 68 54 62 49 6d 78 +r.0h8QoPnFfxZpgQNH7R5ojXKhTbImx
1c3c00 72 70 73 58 32 33 57 72 39 47 78 45 34 36 70 72 66 4e 65 61 58 55 6d 47 44 35 42 4b 79 46 2f 37 rpsX23Wr9GxE46prfNeaXUmGD5BKyF/7
1c3c20 6f 74 64 42 77 61 64 51 38 51 70 43 69 76 38 0a 4b 6a 36 47 79 7a 79 44 4f 76 6e 4a 44 64 72 46 otdBwadQ8QpCiv8.Kj6GyzyDOvnJDdrF
1c3c40 6d 65 4b 38 65 45 45 7a 64 75 47 2f 4c 31 33 6c 70 4a 68 51 44 42 58 64 34 50 71 63 66 7a 68 6f meK8eEEzduG/L13lpJhQDBXd4Pqcfzho
1c3c60 30 4c 4b 6d 65 71 66 52 4d 62 31 2b 69 6c 67 6e 51 37 4f 36 4d 35 48 54 70 35 67 56 0a 58 4a 72 0LKmeqfRMb1+ilgnQ7O6M5HTp5gV.XJr
1c3c80 6d 30 77 39 31 32 66 78 42 6d 4a 63 2b 71 69 58 62 6a 35 49 75 73 48 73 4d 58 2f 46 6a 71 54 66 m0w912fxBmJc+qiXbj5IusHsMX/FjqTf
1c3ca0 35 6d 33 56 70 54 43 67 6d 4a 64 72 56 38 68 4a 77 52 56 58 6a 33 33 4e 65 4e 2f 55 68 62 4a 43 5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJC
1c3cc0 4f 4e 56 72 4a 30 79 50 72 0a 30 38 43 2b 65 4b 78 43 4b 46 68 6d 70 55 5a 74 63 41 4c 58 45 50 ONVrJ0yPr.08C+eKxCKFhmpUZtcALXEP
1c3ce0 6c 4c 56 50 78 64 68 6b 71 48 7a 33 2f 4b 52 61 77 52 57 72 55 67 55 59 30 76 69 45 65 58 4f 63 lLVPxdhkqHz3/KRawRWrUgUY0viEeXOc
1c3d00 44 50 75 73 42 43 41 55 43 5a 53 43 45 4c 61 36 66 53 2f 5a 62 56 0a 30 62 35 47 6e 55 6e 67 43 DPusBCAUCZSCELa6fS/ZbV.0b5GnUngC
1c3d20 36 61 67 49 6b 34 34 30 4d 45 38 4d 4c 78 77 6a 79 78 31 7a 4e 44 46 6a 46 45 37 50 5a 51 49 5a 6agIk440ME8MLxwjyx1zNDFjFE7PZQIZ
1c3d40 43 5a 68 66 62 6e 44 5a 59 38 55 6e 43 48 51 71 76 30 58 63 67 4f 50 76 5a 75 4d 35 6c 35 54 6e CZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tn
1c3d60 72 6d 64 0a 37 34 4b 37 34 62 7a 69 63 6b 46 62 49 5a 54 54 52 54 65 55 30 64 38 4a 4f 56 33 6e rmd.74K74bzickFbIZTTRTeU0d8JOV3n
1c3d80 49 36 71 61 48 63 70 74 71 41 71 47 68 59 71 43 76 6b 49 48 31 76 49 34 67 6e 50 61 68 31 76 6c I6qaHcptqAqGhYqCvkIH1vI4gnPah1vl
1c3da0 50 4e 4f 65 50 71 63 37 6e 76 51 44 73 2f 6e 78 0a 66 52 4e 30 41 76 2b 37 6f 65 58 36 41 48 6b PNOePqc7nvQDs/nx.fRN0Av+7oeX6AHk
1c3dc0 63 70 6d 5a 42 69 46 78 67 56 36 59 75 43 63 53 36 2f 5a 72 50 70 78 39 41 77 37 76 4d 57 67 70 cpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgp
1c3de0 56 53 7a 73 34 64 6c 47 34 59 34 75 45 6c 42 62 6d 56 76 4d 43 41 77 45 41 41 61 4e 43 0a 4d 45 VSzs4dlG4Y4uElBbmVvMCAwEAAaNC.ME
1c3e00 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 AwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ
1c3e20 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 50 36 72 41 4a 8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJ
1c3e40 43 59 6e 69 54 38 71 63 77 61 0a 69 76 73 6e 75 4c 38 77 62 71 67 37 4d 41 30 47 43 53 71 47 53 CYniT8qcwa.ivsnuL8wbqg7MA0GCSqGS
1c3e60 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 44 50 64 79 78 75 56 72 35 4f 73 37 61 45 41 Ib3DQEBCwUAA4ICAQDPdyxuVr5Os7aEA
1c3e80 4a 53 72 52 38 6b 4e 30 6e 62 48 68 70 38 64 42 39 4f 32 74 4c 73 49 0a 65 4b 39 70 30 67 74 4a JSrR8kN0nbHhp8dB9O2tLsI.eK9p0gtJ
1c3ea0 33 6a 50 46 72 4b 33 43 69 41 4a 39 42 72 63 31 41 73 46 67 79 62 2f 45 36 4a 54 65 31 4e 4f 70 3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOp
1c3ec0 45 79 56 61 2f 6d 36 69 72 6e 30 46 33 48 33 7a 62 50 42 2b 70 6f 33 75 32 64 66 4f 57 42 66 6f EyVa/m6irn0F3H3zbPB+po3u2dfOWBfo
1c3ee0 71 53 6d 75 0a 63 30 69 48 35 35 76 4b 62 69 6d 68 5a 46 38 5a 45 2f 65 75 42 68 44 2f 55 63 61 qSmu.c0iH55vKbimhZF8ZE/euBhD/Uca
1c3f00 62 54 56 55 6c 54 35 4f 5a 45 41 46 54 64 66 45 54 7a 73 65 6d 51 55 48 53 76 34 69 6c 66 30 58 bTVUlT5OZEAFTdfETzsemQUHSv4ilf0X
1c3f20 38 72 4c 69 6c 74 54 4d 4d 67 73 54 37 42 2f 5a 71 0a 35 53 57 45 58 77 62 4b 77 59 59 35 45 64 8rLiltTMMgsT7B/Zq.5SWEXwbKwYY5Ed
1c3f40 74 59 7a 58 63 37 4c 4d 4a 4d 44 31 36 61 34 2f 43 72 50 6d 45 62 55 43 54 43 77 50 54 78 47 66 tYzXc7LMJMD16a4/CrPmEbUCTCwPTxGf
1c3f60 41 52 4b 62 61 6c 47 41 4b 62 31 32 4e 4d 63 49 78 48 6f 77 4e 44 58 4c 6c 64 52 71 41 4e 0a 62 ARKbalGAKb12NMcIxHowNDXLldRqAN.b
1c3f80 2f 39 5a 6a 72 37 64 6e 33 4c 44 57 79 76 66 6a 46 76 4f 35 51 78 47 62 4a 4b 79 43 71 4e 4d 56 /9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMV
1c3fa0 45 49 59 46 52 49 59 76 64 72 38 75 6e 52 75 2f 38 47 32 6f 47 54 59 71 56 39 56 72 70 39 63 61 EIYFRIYvdr8unRu/8G2oGTYqV9Vrp9ca
1c3fc0 6e 61 57 32 48 4e 6e 68 2f 74 4e 0a 66 31 7a 75 61 63 70 7a 45 50 75 4b 71 66 32 65 76 54 59 34 naW2HNnh/tN.f1zuacpzEPuKqf2evTY4
1c3fe0 53 55 6d 48 39 41 34 55 38 4f 6d 48 75 44 2b 6e 54 33 70 61 6a 6e 6e 55 6b 2b 53 37 61 46 4b 45 SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKE
1c4000 72 47 7a 70 38 35 68 77 56 58 49 79 2b 54 53 72 4b 30 6d 31 7a 53 42 69 0a 35 44 70 36 5a 32 4f rGzp85hwVXIy+TSrK0m1zSBi.5Dp6Z2O
1c4020 72 6c 74 78 74 72 70 66 73 2f 4a 39 32 56 6f 67 75 5a 73 39 62 74 73 6d 6b 73 4e 63 46 75 75 45 rltxtrpfs/J92VoguZs9btsmksNcFuuE
1c4040 6e 4c 35 4f 37 4a 69 71 69 6b 37 41 62 38 34 36 2b 48 55 43 6a 75 54 61 50 50 6f 49 61 47 6c 36 nL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6
1c4060 49 36 6c 44 34 0a 57 65 4b 44 52 69 6b 4c 34 30 52 63 34 5a 57 32 61 5a 43 61 46 47 2b 58 72 6f I6lD4.WeKDRikL40Rc4ZW2aZCaFG+Xro
1c4080 48 50 61 4f 2b 5a 6d 72 36 31 35 2b 46 2f 2b 50 6f 54 52 78 5a 4d 7a 47 30 49 51 4f 65 4c 65 47 HPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG
1c40a0 39 51 67 6b 52 51 50 32 59 47 69 71 74 44 68 46 5a 4b 0a 44 79 41 74 68 67 37 31 30 74 76 53 65 9QgkRQP2YGiqtDhFZK.DyAthg710tvSe
1c40c0 6f 70 4c 7a 61 58 6f 54 76 46 65 4a 69 55 42 57 53 4f 67 66 74 4c 32 66 69 46 58 31 79 65 38 46 opLzaXoTvFeJiUBWSOgftL2fiFX1ye8F
1c40e0 56 64 4d 70 45 62 42 34 49 4d 65 44 45 78 4e 48 30 38 47 47 65 4c 35 71 50 51 36 67 71 47 79 0a VdMpEbB4IMeDExNH08GGeL5qPQ6gqGy.
1c4100 65 55 4e 35 31 71 31 76 65 69 65 51 41 36 54 71 4a 49 63 2f 32 62 33 5a 36 66 4a 66 55 45 6b 63 eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc
1c4120 37 75 7a 58 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 7uzXLg==.-----END.CERTIFICATE---
1c4140 2d 2d 0a 0a 49 64 65 6e 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 6c 20 52 6f 6f 74 20 43 41 --..IdenTrust.Commercial.Root.CA
1c4160 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .1.=============================
1c4180 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1c41a0 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 51 43 67 46 43 67 41 41 41 41 55 55 6a 79 45 IFYDCCA0igAwIBAgIQCgFCgAAAAUUjyE
1c41c0 53 31 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4b 4d 51 S1AAAAAjANBgkqhkiG9w0BAQsFADBKMQ
1c41e0 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 swCQYDVQQG.EwJVUzESMBAGA1UEChMJS
1c4200 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 4a 5a 47 56 75 56 WRlblRydXN0MScwJQYDVQQDEx5JZGVuV
1c4220 48 4a 31 63 33 51 67 51 32 39 74 62 57 56 79 59 32 6c 68 62 43 42 53 0a 62 32 39 30 49 45 4e 42 HJ1c3QgQ29tbWVyY2lhbCBS.b290IENB
1c4240 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 32 4d 54 67 78 4d 6a 49 7a 57 68 63 4e 4d 7a 51 77 IDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw
1c4260 4d 54 45 32 4d 54 67 78 4d 6a 49 7a 57 6a 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJV
1c4280 55 7a 45 53 0a 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 63 UzES.MBAGA1UEChMJSWRlblRydXN0MSc
1c42a0 77 4a 51 59 44 56 51 51 44 45 78 35 4a 5a 47 56 75 56 48 4a 31 63 33 51 67 51 32 39 74 62 57 56 wJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWV
1c42c0 79 59 32 6c 68 62 43 42 53 62 32 39 30 49 45 4e 42 0a 49 44 45 77 67 67 49 69 4d 41 30 47 43 53 yY2lhbCBSb290IENB.IDEwggIiMA0GCS
1c42e0 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 qGSIb3DQEBAQUAA4ICDwAwggIKAoICAQ
1c4300 43 6e 55 42 6e 65 50 35 6b 39 31 44 4e 47 38 57 39 52 59 59 4b 79 71 55 2b 50 5a 34 6c 64 0a 68 CnUBneP5k91DNG8W9RYYKyqU+PZ4ld.h
1c4320 4e 6c 54 33 51 77 6f 32 64 66 77 2f 36 36 56 51 33 4b 5a 2b 62 56 64 66 49 72 42 51 75 45 78 55 NlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExU
1c4340 48 54 52 67 51 31 38 7a 5a 73 68 71 30 50 69 72 4b 31 65 68 6d 37 7a 43 59 6f 66 57 6a 4b 39 6f HTRgQ18zZshq0PirK1ehm7zCYofWjK9o
1c4360 75 75 55 2b 65 68 63 43 75 7a 2f 0a 6d 4e 4b 76 63 62 4f 30 55 35 39 4f 68 2b 2b 53 76 4c 33 73 uuU+ehcCuz/.mNKvcbO0U59Oh++SvL3s
1c4380 54 7a 49 77 69 45 73 58 58 6c 66 45 55 38 4c 32 41 70 65 4e 32 57 49 72 76 79 51 66 59 6f 33 66 TzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3f
1c43a0 77 37 67 70 53 30 6c 34 50 4a 4e 67 69 43 4c 38 6d 64 6f 32 79 4d 4b 69 0a 31 43 78 55 41 47 63 w7gpS0l4PJNgiCL8mdo2yMKi.1CxUAGc
1c43c0 31 62 6e 4f 2f 41 6c 6a 77 70 4e 33 6c 73 4b 49 6d 65 73 72 67 4e 71 55 5a 46 76 58 39 74 2b 2b 1bnO/AljwpN3lsKImesrgNqUZFvX9t++
1c43e0 75 50 30 44 31 62 56 6f 45 2f 63 34 30 79 69 54 63 64 43 4d 62 58 54 4d 54 45 6c 33 45 41 53 58 uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX
1c4400 32 4d 4e 30 43 0a 58 5a 2f 67 31 55 65 39 74 4f 73 62 6f 62 74 4a 53 64 69 66 57 77 4c 7a 69 75 2MN0C.XZ/g1Ue9tOsbobtJSdifWwLziu
1c4420 51 6b 6b 4f 52 69 54 30 2f 42 72 34 73 4f 64 42 65 6f 30 58 4b 49 61 6e 6f 42 53 63 79 30 52 6e QkkORiT0/Br4sOdBeo0XKIanoBScy0Rn
1c4440 6e 47 46 37 48 61 6d 42 34 48 57 66 70 31 49 59 56 6c 0a 33 5a 42 57 7a 76 75 72 70 57 43 64 78 nGF7HamB4HWfp1IYVl.3ZBWzvurpWCdx
1c4460 4a 33 35 55 72 43 4c 76 59 66 35 6a 79 73 6a 43 69 4e 32 4f 2f 63 7a 34 63 6b 41 38 32 6e 35 53 J35UrCLvYf5jysjCiN2O/cz4ckA82n5S
1c4480 36 4c 67 54 72 78 2b 6b 7a 6d 45 42 2f 64 45 63 48 37 2b 42 31 72 6c 73 61 7a 52 47 4d 7a 79 0a 6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy.
1c44a0 4e 65 56 4a 53 51 6a 4b 56 73 6b 39 2b 77 38 59 66 59 73 37 77 52 50 43 54 59 2f 4a 54 77 34 33 NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw43
1c44c0 36 52 2b 68 44 6d 72 66 59 69 37 4c 4e 51 5a 52 65 53 7a 49 4a 54 6a 30 2b 6b 75 6e 69 56 79 63 6R+hDmrfYi7LNQZReSzIJTj0+kuniVyc
1c44e0 30 75 4d 4e 4f 59 5a 4b 64 48 7a 56 0a 57 59 66 43 50 30 34 4d 58 46 4c 30 50 66 64 53 67 76 48 0uMNOYZKdHzV.WYfCP04MXFL0PfdSgvH
1c4500 71 6f 36 7a 39 53 54 51 61 4b 50 4e 42 69 44 6f 54 37 75 6a 65 2f 35 6b 64 58 37 72 4c 36 42 37 qo6z9STQaKPNBiDoT7uje/5kdX7rL6B7
1c4520 79 75 56 42 67 77 44 48 54 63 2b 58 76 76 71 44 74 4d 77 74 30 76 69 41 67 0a 78 47 64 73 38 41 yuVBgwDHTc+XvvqDtMwt0viAg.xGds8A
1c4540 67 44 65 6c 57 41 66 30 5a 4f 6c 71 66 30 48 6a 37 68 39 74 67 4a 34 54 4e 6b 4b 32 50 58 4d 6c gDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl
1c4560 36 66 2b 63 42 37 44 33 68 76 6c 37 79 54 6d 76 6d 63 45 70 42 34 65 6f 43 48 46 64 64 79 64 4a 6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJ
1c4580 78 56 64 48 69 78 0a 75 75 46 75 63 41 53 36 54 36 43 36 61 4d 4e 37 2f 7a 48 77 63 7a 30 39 6c xVdHix.uuFucAS6T6C6aMN7/zHwcz09l
1c45a0 43 71 78 43 30 45 4f 6f 50 35 4e 69 47 56 72 65 54 4f 30 31 77 49 44 41 51 41 42 6f 30 49 77 51 CqxC0EOoP5NiGVreTO01wIDAQABo0IwQ
1c45c0 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 77 59 44 56 52 30 54 DAOBgNVHQ8BAf8EBAMC.AQYwDwYDVR0T
1c45e0 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 55 51 5a AQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZ
1c4600 77 4e 50 77 42 6f 76 75 70 48 75 2b 51 75 63 6d 56 4d 69 4f 4e 6e 59 77 44 51 59 4a 4b 6f 5a 49 wNPwBovupHu+QucmVMiONnYwDQYJKoZI
1c4620 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 41 32 75 6b 44 4c 32 70 6b 74 38 52 48 59 .hvcNAQELBQADggIBAA2ukDL2pkt8RHY
1c4640 5a 59 52 34 6e 4b 4d 31 65 56 4f 38 6c 76 4f 4d 49 6b 50 6b 70 31 36 35 6f 43 4f 47 55 41 46 6a ZYR4nKM1eVO8lvOMIkPkp165oCOGUAFj
1c4660 76 4c 69 35 2b 55 31 4b 4d 74 6c 77 48 0a 36 6f 69 36 6d 59 74 51 6c 4e 65 43 67 4e 39 68 43 51 vLi5+U1KMtlwH.6oi6mYtQlNeCgN9hCQ
1c4680 43 54 72 51 30 55 35 73 37 42 38 6a 65 55 65 4c 42 66 6e 4c 4f 69 63 37 69 50 42 5a 4d 34 7a 59 CTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY
1c46a0 30 2b 73 4c 6a 37 77 4d 2b 78 38 75 77 74 4c 52 76 4d 37 4b 71 61 73 36 70 67 0a 67 68 73 74 4f 0+sLj7wM+x8uwtLRvM7Kqas6pg.ghstO
1c46c0 38 4f 45 50 56 65 4b 6c 68 36 63 64 62 6a 54 4d 4d 31 67 43 49 4f 51 30 34 35 55 38 55 31 6d 77 8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mw
1c46e0 46 31 30 41 30 43 6a 37 6f 56 2b 77 68 39 33 6e 41 62 6f 77 61 63 59 58 56 4b 56 37 63 6e 64 4a F10A0Cj7oV+wh93nAbowacYXVKV7cndJ
1c4700 5a 35 74 2b 71 6e 74 0a 6f 7a 6f 30 30 46 6c 37 32 75 31 51 38 7a 57 2f 37 65 73 55 54 54 48 48 Z5t+qnt.ozo00Fl72u1Q8zW/7esUTTHH
1c4720 59 50 54 61 38 59 65 63 34 6b 6a 69 78 73 55 33 2b 77 59 51 2b 6e 56 5a 5a 6a 46 48 4b 64 70 32 YPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2
1c4740 6d 68 7a 70 67 71 37 76 6d 72 6c 52 39 34 67 6a 6d 6d 6d 56 0a 59 6a 7a 6c 56 59 41 32 31 31 51 mhzpgq7vmrlR94gjmmmV.YjzlVYA211Q
1c4760 43 2f 2f 47 35 58 63 37 55 49 32 2f 59 52 59 52 4b 57 32 58 76 69 51 7a 64 46 4b 63 67 79 78 69 C//G5Xc7UI2/YRYRKW2XviQzdFKcgyxi
1c4780 6c 4a 62 51 4e 2b 51 48 77 6f 74 4c 30 41 4d 68 30 6a 71 45 71 53 49 35 6c 32 78 50 45 34 69 55 lJbQN+QHwotL0AMh0jqEqSI5l2xPE4iU
1c47a0 58 0a 66 65 75 2b 68 31 73 58 49 46 52 52 6b 30 70 54 41 77 76 73 58 63 6f 7a 37 57 4c 39 52 63 X.feu+h1sXIFRRk0pTAwvsXcoz7WL9Rc
1c47c0 63 76 57 39 78 59 6f 49 41 35 35 76 72 58 2f 68 4d 55 70 75 30 39 6c 45 70 43 64 4e 54 44 64 31 cvW9xYoIA55vrX/hMUpu09lEpCdNTDd1
1c47e0 6c 7a 7a 59 39 47 76 6c 55 34 37 2f 72 6f 0a 6b 54 4c 71 6c 31 67 45 49 74 34 34 77 38 79 38 62 lzzY9GvlU47/ro.kTLql1gEIt44w8y8b
1c4800 63 6b 7a 4f 6d 6f 4b 61 54 2b 67 79 4f 70 79 6a 34 78 6a 68 69 4f 39 62 54 79 57 6e 70 58 67 53 ckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgS
1c4820 55 79 71 6f 72 6b 71 47 35 77 32 67 58 6a 74 77 2b 68 47 34 69 5a 5a 52 48 55 65 0a 32 58 57 4a UyqorkqG5w2gXjtw+hG4iZZRHUe.2XWJ
1c4840 55 63 30 51 68 4a 31 68 59 4d 74 64 2b 5a 63 69 54 59 36 59 35 75 4e 2f 39 6c 75 37 72 73 33 4b Uc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3K
1c4860 53 6f 46 72 58 67 76 7a 55 65 46 30 4b 2b 6c 2b 4a 36 66 5a 6d 55 6c 4f 2b 4b 57 41 32 79 55 50 SoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUP
1c4880 48 47 4e 69 69 73 6b 7a 0a 5a 32 73 38 45 49 50 47 72 64 36 6f 7a 52 61 4f 6a 66 41 48 4e 33 47 HGNiiskz.Z2s8EIPGrd6ozRaOjfAHN3G
1c48a0 66 38 71 76 38 51 66 58 42 69 2b 77 41 4e 31 30 4a 35 55 36 41 37 2f 71 78 58 44 67 47 70 52 74 f8qv8QfXBi+wAN10J5U6A7/qxXDgGpRt
1c48c0 4b 34 64 77 34 4c 54 7a 63 71 78 2b 51 47 74 56 4b 6e 4f 37 52 0a 63 47 7a 4d 37 76 52 58 2b 42 K4dw4LTzcqx+QGtVKnO7R.cGzM7vRX+B
1c48e0 69 36 68 47 36 48 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d i6hG6H.-----END.CERTIFICATE-----
1c4900 0a 0a 49 64 65 6e 54 72 75 73 74 20 50 75 62 6c 69 63 20 53 65 63 74 6f 72 20 52 6f 6f 74 20 43 ..IdenTrust.Public.Sector.Root.C
1c4920 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d A.1.============================
1c4940 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1c4960 2d 0a 4d 49 49 46 5a 6a 43 43 41 30 36 67 41 77 49 42 41 67 49 51 43 67 46 43 67 41 41 41 41 55 -.MIIFZjCCA06gAwIBAgIQCgFCgAAAAU
1c4980 55 6a 7a 30 5a 38 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 Ujz0Z8AAAAAjANBgkqhkiG9w0BAQsFAD
1c49a0 42 4e 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 4d 42 41 47 41 31 55 45 43 BNMQswCQYDVQQG.EwJVUzESMBAGA1UEC
1c49c0 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 56 51 51 44 45 79 46 4a 5a hMJSWRlblRydXN0MSowKAYDVQQDEyFJZ
1c49e0 47 56 75 56 48 4a 31 63 33 51 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c 59 33 52 76 0a 63 69 42 53 GVuVHJ1c3QgUHVibGljIFNlY3Rv.ciBS
1c4a00 62 32 39 30 49 45 4e 42 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 32 4d 54 63 31 4d 7a 4d 79 b290IENBIDEwHhcNMTQwMTE2MTc1MzMy
1c4a20 57 68 63 4e 4d 7a 51 77 4d 54 45 32 4d 54 63 31 4d 7a 4d 79 57 6a 42 4e 4d 51 73 77 43 51 59 44 WhcNMzQwMTE2MTc1MzMyWjBNMQswCQYD
1c4a40 56 51 51 47 45 77 4a 56 0a 55 7a 45 53 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c 52 VQQGEwJV.UzESMBAGA1UEChMJSWRlblR
1c4a60 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 56 51 51 44 45 79 46 4a 5a 47 56 75 56 48 4a 31 63 33 51 ydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3Q
1c4a80 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c 59 33 52 76 63 69 42 53 0a 62 32 39 30 49 45 4e 42 49 44 gUHVibGljIFNlY3RvciBS.b290IENBID
1c4aa0 45 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDw
1c4ac0 41 77 67 67 49 4b 41 6f 49 43 41 51 43 32 49 70 54 38 70 45 69 76 36 45 64 72 43 76 73 6e 64 75 AwggIKAoICAQC2IpT8pEiv6EdrCvsndu
1c4ae0 54 79 0a 50 34 6f 37 65 6b 6f 73 4d 53 71 4d 6a 62 43 70 77 7a 46 72 71 48 64 32 68 43 61 32 72 Ty.P4o7ekosMSqMjbCpwzFrqHd2hCa2r
1c4b00 49 46 43 44 51 6a 72 56 56 69 37 65 76 69 38 5a 58 33 79 6f 47 32 4c 71 45 66 70 59 6e 59 65 45 IFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeE
1c4b20 65 34 49 46 4e 47 79 52 42 62 30 36 74 44 36 0a 48 69 39 65 32 38 74 7a 51 61 36 38 41 4c 42 4b e4IFNGyRBb06tD6.Hi9e28tzQa68ALBK
1c4b40 4b 30 43 79 72 4f 45 37 53 38 49 74 6e 65 53 68 6d 2b 77 61 4f 68 37 77 43 4c 50 51 35 43 51 31 K0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1
1c4b60 42 35 2b 63 74 4d 6c 53 62 64 73 48 79 6f 2b 31 57 2f 43 44 38 30 2f 48 4c 61 58 49 0a 72 63 75 B5+ctMlSbdsHyo+1W/CD80/HLaXI.rcu
1c4b80 56 49 4b 51 78 4b 46 64 59 57 75 53 4e 47 35 71 72 6e 67 30 4d 38 67 6f 7a 4f 53 49 35 43 70 63 VIKQxKFdYWuSNG5qrng0M8gozOSI5Cpc
1c4ba0 75 38 31 4e 33 75 55 52 46 2f 59 54 4c 4e 69 43 42 57 53 32 61 62 32 31 49 53 47 48 4b 54 4e 39 u81N3uURF/YTLNiCBWS2ab21ISGHKTN9
1c4bc0 54 30 61 39 53 76 45 53 66 0a 71 79 39 72 67 33 4c 76 64 59 44 61 42 6a 4d 62 58 63 6a 61 59 38 T0a9SvESf.qy9rg3LvdYDaBjMbXcjaY8
1c4be0 5a 4e 7a 61 78 6d 4d 63 33 52 33 6a 36 48 45 44 62 68 75 61 52 36 37 32 42 51 73 73 76 4b 70 6c ZNzaxmMc3R3j6HEDbhuaR672BQssvKpl
1c4c00 62 67 4e 36 2b 72 4e 42 4d 35 4a 65 67 35 5a 75 53 59 65 71 6f 53 0a 6d 4a 78 5a 5a 6f 59 2b 72 bgN6+rNBM5Jeg5ZuSYeqoS.mJxZZoY+r
1c4c20 66 47 77 79 6a 34 47 44 33 76 77 45 55 73 33 6f 45 52 74 65 38 75 6f 6a 48 48 30 31 62 57 52 4e fGwyj4GD3vwEUs3oERte8uojHH01bWRN
1c4c40 73 7a 77 46 63 59 72 33 6c 45 58 73 5a 64 4d 55 44 32 78 6c 56 6c 38 42 58 30 74 49 64 55 41 76 szwFcYr3lEXsZdMUD2xlVl8BX0tIdUAv
1c4c60 77 46 6e 0a 6f 6c 35 37 70 6c 7a 79 39 79 4c 78 6b 41 32 54 32 36 70 45 55 57 62 4d 66 58 59 44 wFn.ol57plzy9yLxkA2T26pEUWbMfXYD
1c4c80 36 32 71 6f 4b 6a 67 5a 6c 33 59 4e 61 34 70 68 2b 62 7a 32 37 6e 62 39 63 43 76 64 4b 54 7a 34 62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4
1c4ca0 43 68 35 62 51 68 79 4c 56 69 39 56 47 78 79 68 0a 4c 72 58 48 46 75 62 34 71 6a 79 53 6a 6d 6d Ch5bQhyLVi9VGxyh.LrXHFub4qjySjmm
1c4cc0 32 41 63 47 31 68 70 32 4a 44 77 73 34 6c 46 54 6f 36 74 79 65 50 53 57 38 55 79 62 74 31 61 73 2AcG1hp2JDws4lFTo6tyePSW8Uybt1as
1c4ce0 35 71 73 56 41 54 46 53 72 73 72 54 5a 32 66 6a 58 63 74 73 63 76 47 32 39 5a 56 2f 76 0a 69 44 5qsVATFSrsrTZ2fjXctscvG29ZV/v.iD
1c4d00 55 71 5a 69 2f 75 39 72 4e 6c 38 44 4f 4e 66 4a 68 42 61 55 59 50 51 78 78 70 2b 70 75 31 30 47 UqZi/u9rNl8DONfJhBaUYPQxxp+pu10G
1c4d20 46 71 7a 63 70 4c 32 55 79 51 52 71 73 56 57 61 46 48 56 43 6b 75 67 79 68 66 48 4d 4b 69 71 33 FqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3
1c4d40 49 58 41 41 61 4f 52 65 79 4c 0a 34 6a 4d 39 66 39 6f 5a 52 4f 52 69 63 73 50 66 49 73 62 79 56 IXAAaOReyL.4jM9f9oZRORicsPfIsbyV
1c4d60 74 54 64 58 35 56 79 37 57 31 66 39 30 67 44 57 2f 33 46 4b 71 44 32 63 79 4f 45 45 42 73 42 35 tTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5
1c4d80 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 0a 41 66 38 45 42 41 4d 43 wIDAQABo0IwQDAOBgNVHQ8B.Af8EBAMC
1c4da0 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
1c4dc0 48 51 34 45 46 67 51 55 34 33 48 67 6e 74 69 6e 51 74 6e 62 63 5a 46 72 6c 4a 50 72 77 36 50 52 HQ4EFgQU43HgntinQtnbcZFrlJPrw6PR
1c4de0 46 4b 4d 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 45 66 FKMw.DQYJKoZIhvcNAQELBQADggIBAEf
1c4e00 36 33 51 71 77 45 5a 45 34 72 55 31 64 39 2b 55 4f 6c 31 51 5a 67 6b 69 48 56 49 79 71 5a 4a 6e 63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJn
1c4e20 59 57 76 36 49 41 63 56 59 70 5a 6d 78 49 31 51 6a 0a 74 32 6f 64 49 46 66 6c 41 57 4a 42 46 39 YWv6IAcVYpZmxI1Qj.t2odIFflAWJBF9
1c4e40 4d 4a 32 33 58 4c 62 6c 53 51 64 66 34 61 6e 34 45 4b 77 74 33 58 39 77 6e 51 57 33 49 56 35 42 MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B
1c4e60 34 4a 61 6a 30 7a 38 79 47 61 35 68 56 2b 72 56 48 56 44 52 44 74 66 55 4c 41 6a 2b 37 41 0a 6d 4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A.m
1c4e80 67 6a 56 51 64 5a 63 44 69 46 70 62 6f 42 68 44 68 58 41 75 4d 2f 46 53 52 4a 53 7a 4c 34 36 7a gjVQdZcDiFpboBhDhXAuM/FSRJSzL46z
1c4ea0 4e 51 75 4f 41 58 65 4e 66 30 66 62 37 69 41 61 4a 67 39 54 61 44 4b 51 47 58 53 63 33 7a 31 69 NQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i
1c4ec0 39 6b 4b 6c 54 2f 59 50 79 4e 74 0a 47 74 45 71 4a 42 6e 5a 68 62 4d 58 37 33 68 75 71 56 6a 52 9kKlT/YPyNt.GtEqJBnZhbMX73huqVjR
1c4ee0 49 39 50 48 45 2b 31 79 4a 58 39 64 73 58 4e 77 30 48 38 47 6c 77 6d 45 4b 59 42 68 48 66 70 65 I9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe
1c4f00 2f 33 4f 73 6f 4f 4f 4a 75 42 78 78 46 63 62 65 4d 58 38 53 33 4f 46 74 0a 6d 36 2f 6e 36 4a 39 /3OsoOOJuBxxFcbeMX8S3OFt.m6/n6J9
1c4f20 31 65 45 79 72 52 6a 75 61 7a 72 38 46 47 46 31 4e 46 54 77 57 6d 68 6c 51 42 4a 71 79 6d 6d 39 1eEyrRjuazr8FGF1NFTwWmhlQBJqymm9
1c4f40 6c 69 31 4a 66 50 46 67 45 4b 43 58 41 5a 6d 45 78 66 72 6e 67 64 62 6b 61 71 49 48 57 63 68 65 li1JfPFgEKCXAZmExfrngdbkaqIHWche
1c4f60 7a 78 51 4d 78 0a 4e 52 46 34 65 4b 4c 67 36 54 43 4d 66 34 44 66 57 4e 38 38 75 69 65 57 34 6f zxQMx.NRF4eKLg6TCMf4DfWN88uieW4o
1c4f80 41 30 62 65 4f 59 30 32 51 6e 72 45 68 2b 4b 48 64 63 78 69 56 68 4a 66 69 46 44 47 58 36 78 44 A0beOY02QnrEh+KHdcxiVhJfiFDGX6xD
1c4fa0 49 76 70 5a 67 46 35 50 67 4c 5a 78 59 57 78 6f 4b 34 0a 4d 68 6e 35 2b 62 6c 35 33 42 2f 4e 36 IvpZgF5PgLZxYWxoK4.Mhn5+bl53B/N6
1c4fc0 36 2b 72 44 74 30 62 32 30 58 6b 65 75 63 43 34 70 56 64 2f 47 6e 77 55 32 6c 68 6c 58 56 35 43 6+rDt0b20XkeucC4pVd/GnwU2lhlXV5C
1c4fe0 31 35 56 35 6a 67 63 6c 4b 6c 5a 4d 35 37 49 63 58 52 35 66 31 47 4a 74 73 68 71 75 44 44 49 0a 15V5jgclKlZM57IcXR5f1GJtshquDDI.
1c5000 61 6a 6a 44 62 70 37 68 4e 78 62 71 42 57 4a 4d 57 78 4a 48 37 61 65 30 73 31 68 57 78 30 6e 7a ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nz
1c5020 66 78 4a 6f 43 54 46 78 38 47 33 34 54 6b 66 37 31 6f 58 75 78 56 68 41 47 61 51 64 70 2f 6c 4c fxJoCTFx8G34Tkf71oXuxVhAGaQdp/lL
1c5040 51 7a 66 63 61 46 70 50 7a 2b 76 43 0a 5a 48 54 65 74 42 58 5a 39 46 52 55 47 69 38 63 31 35 64 QzfcaFpPz+vC.ZHTetBXZ9FRUGi8c15d
1c5060 78 56 4a 43 4f 32 53 43 64 55 79 74 2f 71 34 2f 69 36 6a 43 38 55 44 66 76 38 55 65 31 66 58 77 xVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXw
1c5080 73 42 4f 78 6f 6e 62 52 4a 52 42 44 30 63 6b 73 63 5a 4f 66 38 35 6d 75 51 0a 33 57 6c 39 61 66 sBOxonbRJRBD0ckscZOf85muQ.3Wl9af
1c50a0 30 41 56 71 57 33 72 4c 61 74 74 38 6f 2b 41 65 2b 63 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 0AVqW3rLatt8o+Ae+c.-----END.CERT
1c50c0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 IFICATE-----..Entrust.Root.Certi
1c50e0 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d fication.Authority.-.G2.========
1c5100 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c5120 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1c5140 49 45 50 6a 43 43 41 79 61 67 41 77 49 42 41 67 49 45 53 6c 4f 4d 4b 44 41 4e 42 67 6b 71 68 6b IEPjCCAyagAwIBAgIESlOMKDANBgkqhk
1c5160 69 47 39 77 30 42 41 51 73 46 41 44 43 42 76 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 iG9w0BAQsFADCBvjELMAkGA1UEBhMCVV
1c5180 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 MxFjAUBgNV.BAoTDUVudHJ1c3QsIEluY
1c51a0 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 y4xKDAmBgNVBAsTH1NlZSB3d3cuZW50c
1c51c0 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 6e 59 57 77 74 64 47 56 79 0a 62 58 4d 78 4f 54 41 33 nVzdC5uZXQvbGVnYWwtdGVy.bXMxOTA3
1c51e0 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 35 49 45 56 75 64 48 4a 31 63 33 51 73 BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs
1c5200 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1
1c5220 63 32 55 67 0a 62 32 35 73 65 54 45 79 4d 44 41 47 41 31 55 45 41 78 4d 70 52 57 35 30 63 6e 56 c2Ug.b25seTEyMDAGA1UEAxMpRW50cnV
1c5240 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 zdCBSb290IENlcnRpZmljYXRpb24gQXV
1c5260 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 49 77 0a 48 68 63 4e 4d 44 6b 77 4e 7a 41 33 4d 54 0aG9yaXR5IC0gRzIw.HhcNMDkwNzA3MT
1c5280 63 79 4e 54 55 30 57 68 63 4e 4d 7a 41 78 4d 6a 41 33 4d 54 63 31 4e 54 55 30 57 6a 43 42 76 6a cyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvj
1c52a0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 0a 44 ELMAkGA1UEBhMCVVMxFjAUBgNVBAoT.D
1c52c0 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 UVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH
1c52e0 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 6e 59 1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnY
1c5300 57 77 74 64 47 56 79 62 58 4d 78 0a 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 WwtdGVybXMx.OTA3BgNVBAsTMChjKSAy
1c5320 4d 44 41 35 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 49 67 MDA5IEVudHJ1c3QsIEluYy4gLSBmb3Ig
1c5340 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 0a 65 54 45 79 4d 44 41 YXV0aG9yaXplZCB1c2Ugb25s.eTEyMDA
1c5360 47 41 31 55 45 41 78 4d 70 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 GA1UEAxMpRW50cnVzdCBSb290IENlcnR
1c5380 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 49 pZmljYXRpb24gQXV0aG9yaXR5IC0gRzI
1c53a0 77 67 67 45 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 wggEi.MA0GCSqGSIb3DQEBAQUAA4IBDw
1c53c0 41 77 67 67 45 4b 41 6f 49 42 41 51 43 36 68 4c 5a 79 32 35 34 4d 61 2b 4b 5a 36 54 41 42 70 33 AwggEKAoIBAQC6hLZy254Ma+KZ6TABp3
1c53e0 62 71 4d 72 69 56 51 52 72 4a 32 6d 46 4f 57 48 4c 50 0a 2f 76 61 43 65 62 39 7a 59 51 59 4b 70 bqMriVQRrJ2mFOWHLP./vaCeb9zYQYKp
1c5400 53 66 59 73 31 2f 54 52 55 34 63 63 74 5a 4f 4d 76 4a 79 69 67 2f 33 67 78 6e 51 61 6f 43 41 41 SfYs1/TRU4cctZOMvJyig/3gxnQaoCAA
1c5420 45 55 65 73 4d 66 6e 6d 72 38 53 56 79 63 63 6f 32 67 76 43 6f 65 39 61 6d 73 4f 58 6d 58 7a 0a EUesMfnmr8SVycco2gvCoe9amsOXmXz.
1c5440 48 48 66 56 31 49 57 4e 63 43 47 30 73 7a 4c 6e 69 36 4c 56 68 6a 6b 43 73 62 6a 53 52 38 37 6b HHfV1IWNcCG0szLni6LVhjkCsbjSR87k
1c5460 79 55 6e 45 4f 36 66 65 2b 31 52 39 56 37 37 77 36 47 37 43 65 62 49 36 43 31 58 69 55 4a 67 57 yUnEO6fe+1R9V77w6G7CebI6C1XiUJgW
1c5480 4d 68 4e 63 4c 33 68 57 77 63 4b 55 0a 73 2f 4a 61 35 43 65 61 6e 79 54 58 78 75 7a 51 6d 79 57 MhNcL3hWwcKU.s/Ja5CeanyTXxuzQmyW
1c54a0 43 34 38 7a 43 78 45 58 46 6a 4a 64 36 42 6d 73 71 45 5a 2b 70 43 6d 35 49 4f 32 2f 62 31 42 45 C48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BE
1c54c0 5a 51 76 65 50 42 37 2f 31 55 31 2b 63 50 76 51 58 4c 4f 5a 70 72 45 34 79 0a 54 47 4a 33 36 72 ZQvePB7/1U1+cPvQXLOZprE4y.TGJ36r
1c54e0 66 6f 35 62 73 30 76 42 6d 4c 72 70 78 52 35 37 64 2b 74 56 4f 78 4d 79 4c 6c 62 63 39 77 50 42 fo5bs0vBmLrpxR57d+tVOxMyLlbc9wPB
1c5500 72 36 34 70 74 6e 74 6f 50 30 6a 61 57 76 59 6b 78 4e 34 46 69 73 5a 44 51 53 41 2f 69 32 6a 5a r64ptntoP0jaWvYkxN4FisZDQSA/i2jZ
1c5520 52 6a 4a 4b 52 78 0a 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f RjJKRx.AgMBAAGjQjBAMA4GA1UdDwEB/
1c5540 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/M
1c5560 42 30 47 41 31 55 64 44 67 51 57 42 42 52 71 63 69 5a 36 0a 30 42 37 76 66 65 63 37 61 56 48 55 B0GA1UdDgQWBBRqciZ6.0B7vfec7aVHU
1c5580 62 49 32 66 6b 42 4a 6d 71 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 bI2fkBJmqzANBgkqhkiG9w0BAQsFAAOC
1c55a0 41 51 45 41 65 5a 38 64 6c 73 61 32 65 54 38 69 6a 59 66 54 68 77 4d 45 59 47 70 72 6d 69 35 5a AQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
1c55c0 0a 69 58 4d 52 72 45 50 52 39 52 50 2f 6a 54 6b 72 77 50 4b 39 54 33 43 4d 71 53 2f 71 46 38 51 .iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8Q
1c55e0 4c 56 4a 37 55 47 35 61 59 4d 7a 79 6f 72 57 4b 69 41 48 61 72 57 57 6c 75 42 68 31 2b 78 4c 6c LVJ7UG5aYMzyorWKiAHarWWluBh1+xLl
1c5600 45 6a 5a 69 76 45 74 52 68 32 77 6f 5a 0a 52 6b 66 7a 36 2f 64 6a 77 55 41 46 51 4b 58 53 74 2f EjZivEtRh2woZ.Rkfz6/djwUAFQKXSt/
1c5620 53 31 6d 6a 61 2f 71 59 68 32 69 41 52 56 42 43 75 63 68 33 38 61 4e 7a 78 2b 4c 61 55 61 32 4e S1mja/qYh2iARVBCuch38aNzx+LaUa2N
1c5640 53 4a 58 73 71 39 72 44 31 73 32 47 32 76 31 66 4e 32 44 38 30 37 69 44 67 69 0a 6e 57 79 54 6d SJXsq9rD1s2G2v1fN2D807iDgi.nWyTm
1c5660 73 51 39 76 34 49 62 5a 54 2b 6d 44 31 32 71 2f 4f 57 79 46 63 71 31 72 63 61 38 50 64 43 45 36 sQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6
1c5680 4f 6f 47 63 72 42 4e 4f 54 4a 34 76 7a 34 52 6e 41 75 6b 6e 5a 6f 68 38 2f 43 62 43 7a 42 34 32 OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB42
1c56a0 38 48 63 68 30 50 2b 0a 76 47 4f 61 79 73 58 43 48 4d 6e 48 6a 66 38 37 45 6c 67 49 35 72 59 39 8Hch0P+.vGOaysXCHMnHjf87ElgI5rY9
1c56c0 37 48 6f 73 54 76 75 44 6c 73 34 4d 50 47 6d 48 56 48 4f 6b 63 38 4b 54 2f 31 45 51 72 42 56 55 7HosTvuDls4MPGmHVHOkc8KT/1EQrBVU
1c56e0 41 64 6a 38 42 62 47 4a 6f 58 39 30 67 35 70 4a 31 39 78 4f 0a 65 34 70 49 62 34 74 46 39 67 3d Adj8BbGJoX90g5pJ19xO.e4pIb4tF9g=
1c5700 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 =.-----END.CERTIFICATE-----..Ent
1c5720 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 rust.Root.Certification.Authorit
1c5740 79 20 2d 20 45 43 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.-.EC1.========================
1c5760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1c5780 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 2b 54 43 43 41 6f 43 67 41 77 49 42 41 RTIFICATE-----.MIIC+TCCAoCgAwIBA
1c57a0 67 49 4e 41 4b 61 4c 65 53 6b 41 41 41 41 41 55 4e 43 52 2b 54 41 4b 42 67 67 71 68 6b 6a 4f 50 gINAKaLeSkAAAAAUNCR+TAKBggqhkjOP
1c57c0 51 51 44 41 7a 43 42 76 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 0a 46 6a 41 55 QQDAzCBvzELMAkGA1UEBhMCVVMx.FjAU
1c57e0 42 67 4e 56 42 41 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 41 6d BgNVBAoTDUVudHJ1c3QsIEluYy4xKDAm
1c5800 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 BgNVBAsTH1NlZSB3d3cuZW50cnVzdC5u
1c5820 5a 58 51 76 62 47 56 6e 0a 59 57 77 74 64 47 56 79 62 58 4d 78 4f 54 41 33 42 67 4e 56 42 41 73 ZXQvbGVn.YWwtdGVybXMxOTA3BgNVBAs
1c5840 54 4d 43 68 6a 4b 53 41 79 4d 44 45 79 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 TMChjKSAyMDEyIEVudHJ1c3QsIEluYy4
1c5860 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 0a 5a 43 42 31 63 32 55 67 62 32 gLSBmb3IgYXV0aG9yaXpl.ZCB1c2Ugb2
1c5880 35 73 65 54 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 5seTEzMDEGA1UEAxMqRW50cnVzdCBSb2
1c58a0 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 90IENlcnRpZmljYXRpb24gQXV0aG9yaX
1c58c0 52 35 0a 49 43 30 67 52 55 4d 78 4d 42 34 58 44 54 45 79 4d 54 49 78 4f 44 45 31 4d 6a 55 7a 4e R5.IC0gRUMxMB4XDTEyMTIxODE1MjUzN
1c58e0 6c 6f 58 44 54 4d 33 4d 54 49 78 4f 44 45 31 4e 54 55 7a 4e 6c 6f 77 67 62 38 78 43 7a 41 4a 42 loXDTM3MTIxODE1NTUzNlowgb8xCzAJB
1c5900 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 0a 46 41 59 44 56 51 51 4b 45 77 31 46 62 6e 52 79 gNVBAYTAlVTMRYw.FAYDVQQKEw1FbnRy
1c5920 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 4c 45 78 39 54 5a 57 55 67 dXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUg
1c5940 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 32 78 6c 5a 32 46 73 0a 4c 58 52 d3d3LmVudHJ1c3QubmV0L2xlZ2Fs.LXR
1c5960 6c 63 6d 31 7a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 6b 67 4d 6a 41 78 4d 69 42 lcm1zMTkwNwYDVQQLEzAoYykgMjAxMiB
1c5980 46 62 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 49 43 30 67 5a 6d 39 79 49 47 46 31 64 47 68 FbnRydXN0LCBJbmMuIC0gZm9yIGF1dGh
1c59a0 76 63 6d 6c 36 5a 57 51 67 0a 64 58 4e 6c 49 47 39 75 62 48 6b 78 4d 7a 41 78 42 67 4e 56 42 41 vcml6ZWQg.dXNlIG9ubHkxMzAxBgNVBA
1c59c0 4d 54 4b 6b 56 75 64 48 4a 31 63 33 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 MTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2
1c59e0 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 0a 49 45 56 44 4d 54 42 32 4d F0aW9uIEF1dGhvcml0eSAt.IEVDMTB2M
1c5a00 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 42 49 51 54 79 BAGByqGSM49AgEGBSuBBAAiA2IABIQTy
1c5a20 64 43 36 62 55 46 37 34 6d 7a 51 36 31 56 66 5a 67 49 61 4a 50 52 62 69 57 6c 48 34 37 6a 43 66 dC6bUF74mzQ61VfZgIaJPRbiWlH47jCf
1c5a40 66 48 79 0a 41 73 57 66 6f 50 5a 62 31 59 73 47 47 59 5a 50 55 78 42 74 42 79 51 6e 6f 61 44 34 fHy.AsWfoPZb1YsGGYZPUxBtByQnoaD4
1c5a60 31 55 63 5a 59 55 78 39 79 70 4d 6e 36 6e 51 4d 37 32 2b 57 43 66 35 6a 37 48 42 64 4e 71 31 6e 1UcZYUx9ypMn6nQM72+WCf5j7HBdNq1n
1c5a80 64 36 37 4a 6e 58 78 56 52 44 71 69 59 31 45 66 0a 39 65 4e 69 31 4b 6c 48 42 7a 37 4d 49 4b 4e d67JnXxVRDqiY1Ef.9eNi1KlHBz7MIKN
1c5aa0 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 CMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1U
1c5ac0 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 46 4c dEwEB/wQFMAMBAf8wHQYDVR0OBBYE.FL
1c5ae0 64 6a 35 78 72 64 6a 65 6b 49 70 6c 57 44 70 4f 42 71 55 45 46 6c 45 55 4a 4a 4d 41 6f 47 43 43 dj5xrdjekIplWDpOBqUEFlEUJJMAoGCC
1c5b00 71 47 53 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 46 35 32 4f 56 43 52 39 38 63 72 6c qGSM49BAMDA2cAMGQCMGF52OVCR98crl
1c5b20 4f 5a 46 37 5a 76 48 48 33 68 0a 76 78 47 55 30 51 4f 49 64 65 53 4e 69 61 53 4b 64 30 62 65 62 OZF7ZvHH3h.vxGU0QOIdeSNiaSKd0beb
1c5b40 57 48 76 41 76 58 37 74 64 2f 4d 2f 6b 37 2f 2f 71 6e 6d 70 77 49 77 57 35 6e 58 68 54 63 47 74 WHvAvX7td/M/k7//qnmpwIwW5nXhTcGt
1c5b60 58 73 49 2f 65 73 6e 69 30 71 55 2b 65 48 36 70 34 34 6d 43 4f 68 38 0a 6b 6d 68 74 63 39 68 76 XsI/esni0qU+eH6p44mCOh8.kmhtc9hv
1c5b80 4a 71 77 68 41 72 69 5a 74 79 5a 42 57 79 56 67 72 74 42 49 47 75 34 47 0a 2d 2d 2d 2d 2d 45 4e JqwhAriZtyZBWyVgrtBIGu4G.-----EN
1c5ba0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 46 43 41 20 45 56 20 52 4f 4f 54 D.CERTIFICATE-----..CFCA.EV.ROOT
1c5bc0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 .============.-----BEGIN.CERTIFI
1c5be0 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6a 54 43 43 41 33 57 67 41 77 49 42 41 67 49 45 47 45 CATE-----.MIIFjTCCA3WgAwIBAgIEGE
1c5c00 72 4d 31 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 57 4d 51 73 77 43 51 rM1jANBgkqhkiG9w0BAQsFADBWMQswCQ
1c5c20 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 4d 43 34 47 41 31 55 45 0a 43 67 77 6e 51 32 68 70 62 YDVQQGEwJDTjEwMC4GA1UE.CgwnQ2hpb
1c5c40 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 mEgRmluYW5jaWFsIENlcnRpZmljYXRpb
1c5c60 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 59 44 56 51 51 44 44 41 78 44 52 24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDR
1c5c80 6b 4e 42 0a 49 45 56 57 49 46 4a 50 54 31 51 77 48 68 63 4e 4d 54 49 77 4f 44 41 34 4d 44 4d 77 kNB.IEVWIFJPT1QwHhcNMTIwODA4MDMw
1c5ca0 4e 7a 41 78 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 44 4d 77 4e 7a 41 78 57 6a 42 57 4d 51 73 77 NzAxWhcNMjkxMjMxMDMwNzAxWjBWMQsw
1c5cc0 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 0a 4d 43 34 47 41 31 55 45 43 67 77 6e 51 32 68 CQYDVQQGEwJDTjEw.MC4GA1UECgwnQ2h
1c5ce0 70 62 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 pbmEgRmluYW5jaWFsIENlcnRpZmljYXR
1c5d00 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 59 44 56 51 51 44 0a 44 41 pb24gQXV0aG9yaXR5MRUwEwYDVQQD.DA
1c5d20 78 44 52 6b 4e 42 49 45 56 57 49 46 4a 50 54 31 51 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 xDRkNBIEVWIFJPT1QwggIiMA0GCSqGSI
1c5d40 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 58 58 57 b3DQEBAQUAA4ICDwAwggIKAoICAQDXXW
1c5d60 76 4e 45 44 38 66 42 56 6e 56 0a 42 55 30 33 73 51 37 73 6d 43 75 4f 46 52 33 36 6b 30 73 58 67 vNED8fBVnV.BU03sQ7smCuOFR36k0sXg
1c5d80 69 46 78 45 46 4c 58 55 57 52 77 46 73 4a 56 61 55 32 4f 46 57 32 66 76 77 77 62 77 75 43 6a 5a iFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ
1c5da0 39 59 4d 72 4d 38 69 72 71 39 33 56 43 70 4c 54 49 70 54 55 6e 72 44 0a 37 69 37 65 73 33 45 6c 9YMrM8irq93VCpLTIpTUnrD.7i7es3El
1c5dc0 77 65 6c 64 50 65 36 68 4c 36 50 33 4b 6a 7a 4a 49 78 31 71 71 78 32 68 70 2f 48 7a 37 4b 44 56 weldPe6hL6P3KjzJIx1qqx2hp/Hz7KDV
1c5de0 52 4d 38 56 7a 33 49 76 48 57 4f 58 36 4a 6e 35 2f 5a 4f 6b 56 49 42 4d 55 74 52 53 71 79 35 4a RM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J
1c5e00 33 35 44 4e 0a 75 46 2b 2b 50 39 36 68 79 6b 30 67 31 43 58 6f 68 43 6c 54 74 37 47 49 48 2f 2f 35DN.uF++P96hyk0g1CXohClTt7GIH//
1c5e20 36 32 70 43 66 43 71 6b 74 51 54 2b 78 38 52 67 70 37 68 5a 5a 4c 44 52 4a 47 71 67 47 31 36 69 62pCfCqktQT+x8Rgp7hZZLDRJGqgG16i
1c5e40 49 30 67 4e 79 65 6a 4c 69 36 6d 68 4e 62 69 79 57 0a 5a 58 76 4b 57 66 72 79 34 74 33 75 4d 43 I0gNyejLi6mhNbiyW.ZXvKWfry4t3uMC
1c5e60 7a 37 7a 45 61 73 78 47 50 72 62 33 38 32 4b 7a 52 7a 45 70 52 2f 33 38 77 6d 6e 76 46 79 58 56 z7zEasxGPrb382KzRzEpR/38wmnvFyXV
1c5e80 42 6c 57 59 39 70 73 34 64 65 4d 6d 2f 44 47 49 71 31 6c 59 2b 77 65 6a 66 65 57 6b 55 37 0a 78 BlWY9ps4deMm/DGIq1lY+wejfeWkU7.x
1c5ea0 7a 62 68 37 32 66 52 4f 64 4f 58 57 33 4e 69 47 55 67 74 68 78 77 47 2b 33 53 59 49 45 6c 7a 38 zbh72fROdOXW3NiGUgthxwG+3SYIElz8
1c5ec0 41 58 53 47 37 47 67 6f 37 63 62 63 4e 4f 49 61 62 6c 61 31 6a 6a 30 59 74 77 6c 69 33 69 2f 2b AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+
1c5ee0 4f 68 2b 75 46 7a 4a 6c 55 39 66 0a 70 79 32 35 49 47 76 50 61 39 33 31 44 66 53 43 74 2f 53 79 Oh+uFzJlU9f.py25IGvPa931DfSCt/Sy
1c5f00 5a 69 34 51 4b 50 61 58 57 6e 75 57 46 6f 38 42 47 53 31 73 62 6e 38 35 57 41 5a 6b 67 77 47 44 Zi4QKPaXWnuWFo8BGS1sbn85WAZkgwGD
1c5f20 67 38 4e 4e 6b 74 30 79 78 6f 65 6b 4e 2b 6b 57 7a 71 6f 74 61 4b 38 4b 0a 67 57 55 36 63 4d 47 g8NNkt0yxoekN+kWzqotaK8K.gWU6cMG
1c5f40 62 72 55 31 74 56 4d 6f 71 4c 55 75 46 47 37 4f 41 35 6e 42 46 44 57 74 65 4e 66 42 2f 4f 37 69 brU1tVMoqLUuFG7OA5nBFDWteNfB/O7i
1c5f60 63 35 41 52 77 69 52 49 6c 6b 39 6f 4b 6d 53 4a 67 61 6d 4e 67 54 6e 59 47 6d 45 36 39 67 36 30 c5ARwiRIlk9oKmSJgamNgTnYGmE69g60
1c5f80 64 57 49 6f 6c 0a 68 64 4c 48 5a 52 34 74 6a 73 62 66 74 73 62 68 66 34 6f 45 49 52 55 70 64 50 dWIol.hdLHZR4tjsbftsbhf4oEIRUpdP
1c5fa0 41 2b 6e 4a 43 64 44 43 37 78 69 6a 35 61 71 67 77 4a 48 73 66 56 50 4b 50 74 6c 38 4d 65 4e 50 A+nJCdDC7xij5aqgwJHsfVPKPtl8MeNP
1c5fc0 6f 34 2b 51 67 4f 34 38 42 64 4b 34 50 52 56 6d 72 4a 0a 74 71 68 55 55 79 35 34 4d 6d 63 39 67 o4+QgO48BdK4PRVmrJ.tqhUUy54Mmc9g
1c5fe0 6e 39 30 30 50 76 68 74 67 56 67 75 58 44 62 6a 67 76 35 45 31 68 76 63 57 41 51 55 68 43 35 77 n900PvhtgVguXDbjgv5E1hvcWAQUhC5w
1c6000 55 45 4a 37 33 49 66 5a 7a 46 34 2f 35 59 46 6a 51 49 44 41 51 41 42 6f 32 4d 77 59 54 41 66 0a UEJ73IfZzF4/5YFjQIDAQABo2MwYTAf.
1c6020 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 6a 2f 69 33 39 4b 4e 41 4c 74 62 71 32 6f 73 53 2f BgNVHSMEGDAWgBTj/i39KNALtbq2osS/
1c6040 42 71 6f 46 6a 4a 50 37 4c 7a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/
1c6060 4d 41 34 47 41 31 55 64 44 77 45 42 0a 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 MA4GA1UdDwEB./wQEAwIBBjAdBgNVHQ4
1c6080 45 46 67 51 55 34 2f 34 74 2f 53 6a 51 43 37 57 36 74 71 4c 45 76 77 61 71 42 59 79 54 2b 79 38 EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8
1c60a0 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 0a 41 43 58 47 75 6d wDQYJKoZIhvcNAQELBQADggIB.ACXGum
1c60c0 76 72 68 38 76 65 67 6a 6d 57 50 66 42 45 70 32 75 45 63 77 50 65 6e 53 74 50 75 69 42 2f 76 48 vrh8vegjmWPfBEp2uEcwPenStPuiB/vH
1c60e0 69 79 7a 35 65 77 47 35 7a 7a 31 33 6b 75 39 55 69 32 30 76 73 58 69 4f 62 54 65 6a 2f 74 55 78 iyz5ewG5zz13ku9Ui20vsXiObTej/tUx
1c6100 50 51 34 69 39 71 0a 65 63 73 41 49 79 6a 6d 48 6a 64 58 4e 59 6d 45 77 6e 5a 50 4e 44 61 74 5a PQ4i9q.ecsAIyjmHjdXNYmEwnZPNDatZ
1c6120 38 50 4f 51 51 61 49 78 66 66 75 32 42 71 34 31 67 74 2f 55 50 2b 54 71 68 64 4c 6a 4f 7a 74 55 8POQQaIxffu2Bq41gt/UP+TqhdLjOztU
1c6140 6d 43 79 70 41 62 71 54 75 76 30 61 78 6e 39 36 2f 55 61 0a 34 43 55 71 6d 74 7a 48 51 54 62 33 mCypAbqTuv0axn96/Ua.4CUqmtzHQTb3
1c6160 79 48 51 46 68 44 6d 56 4f 64 59 4c 4f 36 51 6e 2b 67 6a 59 58 42 37 34 42 47 42 53 45 53 67 6f yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgo
1c6180 41 2f 2f 76 55 32 59 41 70 55 6f 30 46 6d 5a 38 2f 51 6d 6b 72 70 35 6e 47 6d 39 42 43 32 73 47 A//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG
1c61a0 0a 45 35 75 50 68 6e 45 46 74 43 2b 4e 69 57 59 7a 4b 58 5a 55 6d 68 48 34 4a 2f 71 79 50 35 48 .E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5H
1c61c0 67 7a 67 30 62 38 7a 41 61 72 62 38 69 58 52 76 54 76 79 55 46 54 65 47 53 47 6e 2b 5a 6e 7a 78 gzg0b8zAarb8iXRvTvyUFTeGSGn+Znzx
1c61e0 45 6b 38 72 55 51 45 6c 73 67 49 66 58 0a 42 44 72 44 4d 6c 49 31 44 6c 62 34 70 64 31 39 78 49 Ek8rUQElsgIfX.BDrDMlI1Dlb4pd19xI
1c6200 73 4e 45 52 39 54 79 78 36 79 46 37 5a 6f 64 31 72 67 31 4d 76 49 42 36 37 31 4f 69 36 4f 4e 37 sNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7
1c6220 66 51 41 55 74 44 4b 58 65 4d 4f 5a 65 50 67 6c 72 34 55 65 57 4a 6f 42 6a 6e 0a 61 48 39 64 43 fQAUtDKXeMOZePglr4UeWJoBjn.aH9dC
1c6240 69 37 37 6f 30 63 4f 50 61 59 6a 65 73 59 42 78 34 2f 49 58 72 39 74 67 46 61 2b 69 69 53 36 4d i77o0cOPaYjesYBx4/IXr9tgFa+iiS6M
1c6260 2b 71 66 34 54 49 52 6e 76 48 53 54 34 44 32 47 30 43 76 4f 4a 34 52 55 48 6c 7a 45 68 4c 4e 35 +qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5
1c6280 6d 79 64 4c 49 68 79 0a 50 44 43 42 42 70 45 69 36 6c 6d 74 32 68 6b 75 49 73 4b 4e 75 59 79 48 mydLIhy.PDCBBpEi6lmt2hkuIsKNuYyH
1c62a0 34 47 61 38 63 79 4e 66 49 57 52 6a 67 45 6a 31 6f 44 77 59 50 5a 54 49 53 45 45 64 51 4c 70 65 4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe
1c62c0 2f 76 35 57 4f 61 48 49 7a 31 36 65 47 57 52 47 45 4e 6f 58 0a 6b 62 63 46 67 4b 79 4c 6d 5a 4a /v5WOaHIz16eGWRGENoX.kbcFgKyLmZJ
1c62e0 39 35 36 4c 59 42 77 73 32 4a 2b 64 49 65 57 43 4b 77 39 63 54 58 50 68 79 51 4e 39 4b 79 38 2b 956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+
1c6300 5a 41 41 6f 41 43 78 47 56 32 6c 5a 46 41 34 67 4b 6e 32 66 51 31 58 6d 78 71 49 31 41 62 51 33 ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3
1c6320 43 0a 65 6b 44 36 38 31 39 6b 52 35 4c 4c 55 37 6d 37 57 63 35 50 2f 64 41 56 55 77 48 59 33 2b C.ekD6819kR5LLU7m7Wc5P/dAVUwHY3+
1c6340 76 5a 35 6e 62 76 30 43 4f 37 4f 36 6c 35 73 39 55 43 4b 63 32 4a 6f 35 59 50 53 6a 58 6e 54 6b vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTk
1c6360 4c 41 64 63 30 48 7a 2b 59 73 36 33 73 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 LAdc0Hz+Ys63su.-----END.CERTIFIC
1c6380 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 6e 6f 6d 69 73 20 2d 20 52 6f 6f 74 20 43 41 0a 3d ATE-----..Certinomis.-.Root.CA.=
1c63a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1c63c0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6b 6a 43 43 41 33 71 67 41 77 49 42 ERTIFICATE-----.MIIFkjCCA3qgAwIB
1c63e0 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 73 77 AgIBATANBgkqhkiG9w0BAQsFADBaMQsw
1c6400 43 51 59 44 56 51 51 47 45 77 4a 47 55 6a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 0a 51 32 56 CQYDVQQGEwJGUjETMBEGA1UEChMK.Q2V
1c6420 79 64 47 6c 75 62 32 31 70 63 7a 45 58 4d 42 55 47 41 31 55 45 43 78 4d 4f 4d 44 41 77 4d 69 41 ydGlub21pczEXMBUGA1UECxMOMDAwMiA
1c6440 30 4d 7a 4d 35 4f 54 67 35 4d 44 4d 78 48 54 41 62 42 67 4e 56 42 41 4d 54 46 45 4e 6c 63 6e 52 0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnR
1c6460 70 62 6d 39 74 61 58 4d 67 0a 4c 53 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 44 54 45 7a 4d 54 pbm9taXMg.LSBSb290IENBMB4XDTEzMT
1c6480 41 79 4d 54 41 35 4d 54 63 78 4f 46 6f 58 44 54 4d 7a 4d 54 41 79 4d 54 41 35 4d 54 63 78 4f 46 AyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOF
1c64a0 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 0a 45 7a 41 52 42 67 4e 56 42 owWjELMAkGA1UEBhMCRlIx.EzARBgNVB
1c64c0 41 6f 54 43 6b 4e 6c 63 6e 52 70 62 6d 39 74 61 58 4d 78 46 7a 41 56 42 67 4e 56 42 41 73 54 44 AoTCkNlcnRpbm9taXMxFzAVBgNVBAsTD
1c64e0 6a 41 77 4d 44 49 67 4e 44 4d 7a 4f 54 6b 34 4f 54 41 7a 4d 52 30 77 47 77 59 44 56 51 51 44 45 jAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDE
1c6500 78 52 44 0a 5a 58 4a 30 61 57 35 76 62 57 6c 7a 49 43 30 67 55 6d 39 76 64 43 42 44 51 54 43 43 xRD.ZXJ0aW5vbWlzIC0gUm9vdCBDQTCC
1c6520 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 AiIwDQYJKoZIhvcNAQEBBQADggIPADCC
1c6540 41 67 6f 43 67 67 49 42 41 4e 54 4d 43 51 6f 73 0a 50 35 4c 32 66 78 53 65 43 35 79 61 61 68 31 AgoCggIBANTMCQos.P5L2fxSeC5yaah1
1c6560 41 4d 47 54 39 71 74 38 4f 48 67 5a 62 6e 31 43 46 36 73 32 4e 71 30 4e 6e 33 72 44 36 66 6f 43 AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foC
1c6580 57 6e 6f 52 34 6b 6b 6a 57 34 7a 6e 75 7a 75 52 5a 57 4a 66 6c 4c 69 65 59 36 70 4f 6f 0a 64 35 WnoR4kkjW4znuzuRZWJflLieY6pOo.d5
1c65a0 74 4b 38 4f 39 30 67 43 33 72 4d 42 2b 31 32 63 65 41 6e 47 49 6e 6b 59 6a 77 53 6f 6e 64 33 49 tK8O90gC3rMB+12ceAnGInkYjwSond3I
1c65c0 6a 6d 46 50 6e 56 41 79 2f 2f 6c 64 75 39 6e 2b 77 73 2b 68 51 56 57 5a 55 4b 78 6b 64 38 61 52 jmFPnVAy//ldu9n+ws+hQVWZUKxkd8aR
1c65e0 69 35 70 77 50 35 79 6e 61 70 0a 7a 38 64 76 74 46 34 46 2f 75 37 42 55 72 4a 31 4d 6f 66 73 37 i5pwP5ynap.z8dvtF4F/u7BUrJ1Mofs7
1c6600 53 6c 6d 4f 2f 4e 4b 46 6f 4c 32 31 70 72 62 63 70 6a 70 33 76 44 46 54 4b 57 72 74 65 6f 42 34 SlmO/NKFoL21prbcpjp3vDFTKWrteoB4
1c6620 6f 77 75 5a 48 39 6b 62 2f 32 6a 4a 5a 4f 4c 79 4b 49 4f 53 59 30 30 0a 38 42 2f 73 57 45 55 75 owuZH9kb/2jJZOLyKIOSY00.8B/sWEUu
1c6640 4e 4b 71 45 55 4c 33 6e 73 6b 6f 54 75 4c 41 50 72 6a 68 64 73 4b 6b 62 35 6e 50 4a 57 71 48 5a NKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZ
1c6660 5a 6b 43 71 71 55 32 6d 4e 41 4b 74 68 48 36 79 49 38 48 37 4b 73 5a 6e 39 44 53 32 73 4a 56 71 ZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVq
1c6680 4d 30 39 78 0a 52 4c 57 74 77 48 6b 7a 69 4f 43 2f 37 61 4f 67 46 4c 53 63 43 62 41 4b 34 32 43 M09x.RLWtwHkziOC/7aOgFLScCbAK42C
1c66a0 2b 2b 50 68 6d 69 4d 31 62 38 58 63 46 34 4c 56 7a 62 73 46 39 52 69 36 4f 53 79 65 6d 7a 54 55 ++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTU
1c66c0 4b 2f 65 56 4e 66 61 6f 71 6f 79 6e 48 57 6d 67 45 0a 36 4f 58 57 6b 36 52 69 77 73 58 6d 39 45 K/eVNfaoqoynHWmgE.6OXWk6RiwsXm9E
1c66e0 2f 47 2b 5a 38 61 6a 59 4a 4a 47 59 72 4b 57 55 4d 36 36 41 30 79 77 66 52 4d 45 77 4e 76 62 71 /G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbq
1c6700 59 2f 6b 58 50 4c 79 6e 4e 76 45 69 43 4c 37 73 43 43 65 4e 35 4c 4c 73 4a 4a 77 78 33 74 0a 46 Y/kXPLynNvEiCL7sCCeN5LLsJJwx3t.F
1c6720 76 59 6b 39 43 63 62 58 46 63 78 33 46 58 75 71 42 35 76 62 4b 7a 69 52 63 78 58 56 34 70 31 56 vYk9CcbXFcx3FXuqB5vbKziRcxXV4p1V
1c6740 78 6e 67 74 56 69 5a 53 54 59 78 50 44 4d 42 62 52 5a 4b 7a 62 67 71 67 34 53 47 6d 2f 6c 67 30 xngtViZSTYxPDMBbRZKzbgqg4SGm/lg0
1c6760 68 39 74 6b 51 50 54 59 4b 62 56 0a 50 5a 72 64 64 35 41 39 4e 61 53 66 44 31 37 31 55 6b 52 70 h9tkQPTYKbV.PZrdd5A9NaSfD171UkRp
1c6780 75 63 43 36 33 4d 39 39 33 33 7a 5a 78 4b 79 47 49 6a 4b 38 65 32 75 52 37 33 72 34 46 32 69 77 ucC63M9933zZxKyGIjK8e2uR73r4F2iw
1c67a0 34 6c 4e 56 59 43 32 76 50 73 4b 44 32 4e 6b 4a 4b 2f 44 41 5a 4e 75 48 0a 69 35 48 4d 6b 65 73 4lNVYC2vPsKD2NkJK/DAZNuH.i5HMkes
1c67c0 45 2f 58 61 30 6c 5a 72 6d 46 41 59 62 31 54 51 64 76 74 6a 2f 64 42 78 54 68 5a 6e 67 57 56 4a E/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJ
1c67e0 4b 59 65 32 49 6e 6d 74 4a 69 55 5a 2b 49 46 72 5a 35 30 72 6c 61 75 37 53 5a 52 46 44 41 67 4d KYe2InmtJiUZ+IFrZ50rlau7SZRFDAgM
1c6800 42 41 41 47 6a 0a 59 7a 42 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a BAAGj.YzBhMA4GA1UdDwEB/wQEAwIBBj
1c6820 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 APBgNVHRMBAf8EBTADAQH/MB0GA1UdDg
1c6840 51 57 42 42 54 76 6b 55 7a 31 70 63 4d 77 36 43 38 49 0a 36 74 4e 78 49 71 53 53 61 48 68 30 32 QWBBTvkUz1pcMw6C8I.6tNxIqSSaHh02
1c6860 54 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 76 6b 55 7a 31 70 63 4d 77 36 43 38 49 36 TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6
1c6880 74 4e 78 49 71 53 53 61 48 68 30 32 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a tNxIqSSaHh02TANBgkqhkiG9w0BAQsF.
1c68a0 41 41 4f 43 41 67 45 41 66 6a 31 55 32 69 4a 64 47 6c 67 2b 4f 31 51 6e 75 72 72 4d 79 4f 4d 61 AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMa
1c68c0 61 75 6f 2b 2b 52 4c 72 56 6c 38 39 55 4d 37 67 36 6b 67 6d 4a 73 39 35 56 6e 36 52 48 4a 6b 2f auo++RLrVl89UM7g6kgmJs95Vn6RHJk/
1c68e0 30 4b 47 52 48 43 77 50 54 35 69 56 0a 57 56 4f 39 30 43 4c 59 69 46 32 63 4e 2f 7a 37 5a 4d 46 0KGRHCwPT5iV.WVO90CLYiF2cN/z7ZMF
1c6900 34 6a 49 75 61 59 41 6e 71 31 66 6f 68 58 39 42 30 5a 65 64 51 78 62 38 75 75 51 73 4c 72 62 57 4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbW
1c6920 77 46 36 59 53 6a 4e 52 69 65 4f 70 57 61 75 77 4b 30 6b 44 44 50 41 55 77 0a 50 6b 32 55 74 35 wF6YSjNRieOpWauwK0kDDPAUw.Pk2Ut5
1c6940 39 4b 41 39 4e 39 4a 30 75 32 2f 6b 54 4f 2b 68 6b 7a 47 6d 32 6b 51 74 48 64 7a 4d 6a 49 31 78 9KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1x
1c6960 5a 53 67 30 38 31 6c 4c 4d 53 56 58 33 6c 34 6b 4c 72 35 4a 79 54 43 63 42 4d 57 77 65 72 78 32 ZSg081lLMSVX3l4kLr5JyTCcBMWwerx2
1c6980 30 52 6f 46 41 58 0a 6c 43 4f 6f 74 51 71 53 44 37 4a 36 77 57 41 73 4f 4d 77 61 70 6c 76 2f 38 0RoFAX.lCOotQqSD7J6wWAsOMwaplv/8
1c69a0 67 7a 6a 71 68 38 63 33 4c 69 67 6b 79 66 65 59 2b 4e 2f 49 5a 38 36 35 5a 37 36 34 42 4e 71 64 gzjqh8c3LigkyfeY+N/IZ865Z764BNqd
1c69c0 65 75 57 58 47 4b 52 6c 49 35 6e 55 37 61 4a 2b 42 49 4a 0a 79 32 39 53 57 77 4e 79 68 6c 43 56 euWXGKRlI5nU7aJ+BIJ.y29SWwNyhlCV
1c69e0 43 4e 53 4e 68 34 59 56 48 35 55 6b 32 4b 52 76 6d 73 36 6b 6e 5a 74 74 30 72 4a 32 42 6f 62 47 CNSNh4YVH5Uk2KRvms6knZtt0rJ2BobG
1c6a00 56 67 6a 46 36 77 6e 61 4e 73 49 62 57 30 47 2b 59 53 72 6a 63 4f 61 34 70 76 69 32 57 73 53 39 VgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
1c6a20 0a 49 66 66 2f 71 6c 2b 68 62 48 59 35 5a 74 62 71 54 46 58 68 41 44 4f 62 45 35 68 6a 79 57 2f .Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/
1c6a40 51 41 53 41 4a 4e 31 4c 6e 44 45 38 2b 7a 62 7a 31 58 35 59 6e 70 79 41 43 6c 65 41 75 36 41 64 QASAJN1LnDE8+zbz1X5YnpyACleAu6Ad
1c6a60 42 42 52 38 56 62 74 61 77 35 42 6e 67 0a 44 77 4b 54 41 43 64 79 78 59 76 52 56 42 39 64 53 73 BBR8Vbtaw5Bng.DwKTACdyxYvRVB9dSs
1c6a80 4e 41 6c 33 35 56 70 6e 7a 42 4d 77 51 55 41 52 31 4a 49 47 6b 4c 47 5a 4f 64 62 6c 67 69 39 30 NAl35VpnzBMwQUAR1JIGkLGZOdblgi90
1c6aa0 41 4d 52 67 77 6a 59 2f 4d 35 30 6e 39 32 55 61 66 30 79 4b 48 78 44 48 59 69 0a 49 30 5a 53 4b AMRgwjY/M50n92Uaf0yKHxDHYi.I0ZSK
1c6ac0 53 33 69 6f 30 45 48 56 6d 6d 59 30 67 55 4a 76 47 6e 48 57 6d 48 4e 6a 34 46 67 46 55 32 41 33 S3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3
1c6ae0 5a 44 69 66 63 52 51 38 6f 77 37 62 6b 72 48 78 75 61 41 4b 7a 79 42 76 42 47 41 46 68 41 6e 31 ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1
1c6b00 2f 44 4e 50 33 6e 4d 0a 63 79 72 44 66 6c 4f 52 31 6d 37 34 39 66 50 48 30 46 46 4e 6a 6b 75 6c /DNP3nM.cyrDflOR1m749fPH0FFNjkul
1c6b20 57 2b 59 5a 46 7a 76 57 67 51 6e 63 49 74 7a 75 6a 72 6e 45 6a 31 50 68 5a 37 73 7a 75 49 67 56 W+YZFzvWgQncItzujrnEj1PhZ7szuIgV
1c6b40 52 73 2f 74 61 54 58 2f 64 51 31 47 38 38 35 78 34 63 56 72 0a 68 6b 49 47 75 55 45 3d 0a 2d 2d Rs/taTX/dQ1G885x4cVr.hkIGuUE=.--
1c6b60 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 54 45 20 57 ---END.CERTIFICATE-----..OISTE.W
1c6b80 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 42 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d ISeKey.Global.Root.GB.CA.=======
1c6ba0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1c6bc0 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 74 54 43 43 41 70 32 GIN.CERTIFICATE-----.MIIDtTCCAp2
1c6be0 67 41 77 49 42 41 67 49 51 64 72 45 67 55 6e 54 77 68 59 64 47 73 2f 67 6a 47 76 62 43 77 44 41 gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDA
1c6c00 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 74 4d 51 73 77 43 51 59 44 56 51 51 NBgkqhkiG9w0BAQsFADBtMQswCQYDVQQ
1c6c20 47 0a 45 77 4a 44 53 44 45 51 4d 41 34 47 41 31 55 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 G.EwJDSDEQMA4GA1UEChMHV0lTZUtleT
1c6c40 45 69 4d 43 41 47 41 31 55 45 43 78 4d 5a 54 30 6c 54 56 45 55 67 52 6d 39 31 62 6d 52 68 64 47 EiMCAGA1UECxMZT0lTVEUgRm91bmRhdG
1c6c60 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e 6c 0a 5a 44 45 6f 4d 43 59 47 41 31 55 45 41 78 4d 66 54 lvbiBFbmRvcnNl.ZDEoMCYGA1UEAxMfT
1c6c80 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vd
1c6ca0 43 42 48 51 69 42 44 51 54 41 65 46 77 30 78 4e 44 45 79 4d 44 45 78 4e 54 41 77 0a 4d 7a 4a 61 CBHQiBDQTAeFw0xNDEyMDExNTAw.MzJa
1c6cc0 46 77 30 7a 4f 54 45 79 4d 44 45 78 4e 54 45 77 4d 7a 46 61 4d 47 30 78 43 7a 41 4a 42 67 4e 56 Fw0zOTEyMDExNTEwMzFaMG0xCzAJBgNV
1c6ce0 42 41 59 54 41 6b 4e 49 4d 52 41 77 44 67 59 44 56 51 51 4b 45 77 64 58 53 56 4e 6c 53 32 56 35 BAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5
1c6d00 4d 53 49 77 49 41 59 44 0a 56 51 51 4c 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 MSIwIAYD.VQQLExlPSVNURSBGb3VuZGF
1c6d20 30 61 57 39 75 49 45 56 75 5a 47 39 79 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9
1c6d40 50 53 56 4e 55 52 53 42 58 53 56 4e 6c 53 32 56 35 49 45 64 73 0a 62 32 4a 68 62 43 42 53 62 32 PSVNURSBXSVNlS2V5IEds.b2JhbCBSb2
1c6d60 39 30 49 45 64 43 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 90IEdCIENBMIIBIjANBgkqhkiG9w0BAQ
1c6d80 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 32 42 65 33 48 45 6f 6b 4b 74 EFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKt
1c6da0 61 58 0a 73 63 72 69 48 76 74 39 4f 4f 2b 59 39 62 49 35 6d 45 34 6e 75 42 46 64 65 39 49 6c 6c aX.scriHvt9OO+Y9bI5mE4nuBFde9Ill
1c6dc0 49 69 43 46 53 5a 71 47 7a 47 37 71 46 73 68 49 53 76 59 44 30 36 66 57 76 47 78 57 75 52 35 31 IiCFSZqGzG7qFshISvYD06fWvGxWuR51
1c6de0 6a 49 6a 4b 2b 46 54 7a 4a 6c 46 58 48 74 50 0a 72 62 79 2f 68 30 6f 4c 53 35 64 61 71 50 5a 49 jIjK+FTzJlFXHtP.rby/h0oLS5daqPZI
1c6e00 37 48 31 37 44 63 30 68 42 74 2b 65 46 66 31 42 69 6b 69 33 49 50 53 68 65 68 74 58 31 46 31 51 7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q
1c6e20 2f 37 70 6e 32 43 4f 5a 48 38 67 2f 34 39 37 2f 62 31 74 33 73 57 74 75 75 4d 6c 6b 0a 39 2b 48 /7pn2COZH8g/497/b1t3sWtuuMlk.9+H
1c6e40 4b 51 55 59 4f 4b 58 48 51 75 53 50 38 79 59 46 66 54 76 64 76 33 37 2b 45 72 58 4e 6b 75 37 64 KQUYOKXHQuSP8yYFfTvdv37+ErXNku7d
1c6e60 43 6a 6d 6e 32 31 48 59 64 66 70 32 6e 75 46 65 4b 55 57 64 79 31 39 53 6f 75 4a 56 55 51 48 4d Cjmn21HYdfp2nuFeKUWdy19SouJVUQHM
1c6e80 44 39 75 72 30 36 2f 34 6f 0a 51 6e 63 2f 6e 53 4d 62 73 72 59 39 67 42 51 48 54 43 35 50 39 39 D9ur06/4o.Qnc/nSMbsrY9gBQHTC5P99
1c6ea0 55 4b 46 67 32 39 5a 6b 4d 33 66 69 4e 44 65 63 4e 41 68 76 56 4d 4b 64 71 4f 6d 71 30 4e 70 51 UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQ
1c6ec0 53 48 69 42 36 46 34 2b 6c 54 31 5a 76 49 69 77 4e 6a 65 4f 76 67 0a 47 55 70 75 75 79 39 72 4d SHiB6F4+lT1ZvIiwNjeOvg.GUpuuy9rM
1c6ee0 32 52 59 6b 36 31 70 76 34 38 62 37 34 4a 49 78 77 49 44 41 51 41 42 6f 31 45 77 54 7a 41 4c 42 2RYk61pv48b74JIxwIDAQABo1EwTzALB
1c6f00 67 4e 56 48 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 gNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwA
1c6f20 77 45 42 0a 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 4e 51 2f 49 4e 6d 4e 65 34 71 50 73 wEB./zAdBgNVHQ4EFgQUNQ/INmNe4qPs
1c6f40 2b 54 74 6d 46 63 35 52 55 75 4f 52 6d 6a 30 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 +TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB
1c6f60 42 41 4d 43 41 51 41 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 BAMCAQAwDQYJKoZI.hvcNAQELBQADggE
1c6f80 42 41 45 42 4d 2b 34 65 79 6d 59 47 51 66 70 33 46 73 4c 41 6d 7a 59 68 37 4b 7a 4b 4e 62 72 67 BAEBM+4eymYGQfp3FsLAmzYh7KzKNbrg
1c6fa0 68 63 56 69 58 66 61 34 33 46 4b 38 2b 35 2f 65 61 34 6e 33 32 63 5a 69 5a 42 4b 70 44 0a 64 48 hcViXfa43FK8+5/ea4n32cZiZBKpD.dH
1c6fc0 69 6a 34 30 6c 68 50 6e 4f 4d 54 5a 54 67 2b 58 48 45 74 68 59 4f 55 33 67 66 31 71 4b 48 4c 77 ij40lhPnOMTZTg+XHEthYOU3gf1qKHLw
1c6fe0 49 35 67 53 6b 38 72 78 57 59 49 54 44 2b 4b 4a 41 41 6a 4e 48 68 79 2f 70 65 79 50 33 34 45 45 I5gSk8rxWYITD+KJAAjNHhy/peyP34EE
1c7000 59 37 6f 6e 68 43 6b 52 64 30 0a 56 51 72 65 55 47 64 4e 5a 74 47 6e 2f 2f 33 5a 77 4c 57 6f 6f Y7onhCkRd0.VQreUGdNZtGn//3ZwLWoo
1c7020 34 72 4f 5a 76 55 50 51 38 32 6e 4b 31 64 37 59 30 5a 71 71 69 35 53 32 50 54 74 34 57 32 74 4b 4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tK
1c7040 5a 42 34 53 4c 72 68 49 36 71 6a 69 65 79 31 71 35 62 41 74 45 75 69 0a 48 5a 65 65 65 76 4a 75 ZB4SLrhI6qjiey1q5bAtEui.HZeeevJu
1c7060 51 48 48 66 61 50 46 6c 54 63 35 38 42 64 39 54 5a 61 6d 6c 38 4c 47 58 42 48 41 56 52 67 4f 59 QHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY
1c7080 31 4e 4b 2f 56 4c 53 67 57 48 31 53 62 39 70 57 4a 6d 4c 55 32 4e 75 4a 4d 57 38 63 38 43 4c 43 1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC
1c70a0 30 32 49 63 0a 4e 63 31 4d 61 52 56 55 47 70 43 59 33 75 73 65 58 38 70 33 78 38 75 4f 50 55 4e 02Ic.Nc1MaRVUGpCY3useX8p3x8uOPUN
1c70c0 70 6e 4a 70 59 30 43 51 37 33 78 74 41 6c 6e 34 31 72 59 48 48 54 6e 47 36 69 42 4d 3d 0a 2d 2d pnJpY0CQ73xtAln41rYHHTnG6iBM=.--
1c70e0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 5a 41 46 49 52 20 ---END.CERTIFICATE-----..SZAFIR.
1c7100 52 4f 4f 54 20 43 41 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ROOT.CA2.===============.-----BE
1c7120 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 63 6a 43 43 41 6c 71 GIN.CERTIFICATE-----.MIIDcjCCAlq
1c7140 67 41 77 49 42 41 67 49 55 50 6f 70 64 42 2b 78 56 30 6a 4c 56 74 2b 4f 32 58 77 48 72 4c 64 7a gAwIBAgIUPopdB+xV0jLVt+O2XwHrLdz
1c7160 6b 31 75 51 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 55 54 45 4c 4d 41 6b k1uQwDQYJKoZIhvcNAQELBQAwUTELMAk
1c7180 47 0a 41 31 55 45 42 68 4d 43 55 45 77 78 4b 44 41 6d 42 67 4e 56 42 41 6f 4d 48 30 74 79 59 57 G.A1UEBhMCUEwxKDAmBgNVBAoMH0tyYW
1c71a0 70 76 64 32 45 67 53 58 70 69 59 53 42 53 62 33 70 73 61 57 4e 36 5a 57 35 70 62 33 64 68 49 46 pvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIF
1c71c0 4d 75 51 53 34 78 47 44 41 57 42 67 4e 56 0a 42 41 4d 4d 44 31 4e 61 51 55 5a 4a 55 69 42 53 54 MuQS4xGDAWBgNV.BAMMD1NaQUZJUiBST
1c71e0 30 39 55 49 45 4e 42 4d 6a 41 65 46 77 30 78 4e 54 45 77 4d 54 6b 77 4e 7a 51 7a 4d 7a 42 61 46 09UIENBMjAeFw0xNTEwMTkwNzQzMzBaF
1c7200 77 30 7a 4e 54 45 77 4d 54 6b 77 4e 7a 51 7a 4d 7a 42 61 4d 46 45 78 43 7a 41 4a 0a 42 67 4e 56 w0zNTEwMTkwNzQzMzBaMFExCzAJ.BgNV
1c7220 42 41 59 54 41 6c 42 4d 4d 53 67 77 4a 67 59 44 56 51 51 4b 44 42 39 4c 63 6d 46 71 62 33 64 68 BAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dh
1c7240 49 45 6c 36 59 6d 45 67 55 6d 39 36 62 47 6c 6a 65 6d 56 75 61 57 39 33 59 53 42 54 4c 6b 45 75 IEl6YmEgUm96bGljemVuaW93YSBTLkEu
1c7260 4d 52 67 77 46 67 59 44 0a 56 51 51 44 44 41 39 54 57 6b 46 47 53 56 49 67 55 6b 39 50 56 43 42 MRgwFgYD.VQQDDA9TWkFGSVIgUk9PVCB
1c7280 44 51 54 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 DQTIwggEiMA0GCSqGSIb3DQEBAQUAA4I
1c72a0 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 33 76 44 35 51 0a 71 45 76 4e 51 4c 58 4f 59 65 BDwAwggEKAoIBAQC3vD5Q.qEvNQLXOYe
1c72c0 65 57 79 72 53 68 32 67 77 69 73 50 71 31 65 33 59 41 64 34 77 4c 7a 33 32 6f 68 73 77 6d 55 65 eWyrSh2gwisPq1e3YAd4wLz32ohswmUe
1c72e0 51 67 50 59 55 4d 31 6c 6a 6a 35 2f 51 71 47 4a 33 61 30 61 34 6d 37 75 74 54 33 50 53 51 31 68 QgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1h
1c7300 4e 4b 0a 44 4a 41 38 77 2f 54 61 30 6f 34 4e 6b 6a 72 63 73 62 48 2f 4f 4e 37 44 75 69 31 66 67 NK.DJA8w/Ta0o4NkjrcsbH/ON7Dui1fg
1c7320 4c 6b 43 76 55 71 64 47 77 2b 30 77 38 4c 42 5a 77 50 64 33 42 75 63 50 62 4f 77 33 67 41 65 71 LkCvUqdGw+0w8LBZwPd3BucPbOw3gAeq
1c7340 44 52 48 75 35 72 72 2f 67 73 55 76 54 61 45 0a 32 67 30 67 76 2f 70 62 79 36 6b 57 49 4b 30 35 DRHu5rr/gsUvTaE.2g0gv/pby6kWIK05
1c7360 59 4f 34 76 64 62 62 6e 6c 35 7a 35 50 76 31 2b 54 57 39 4e 4c 2b 2b 49 44 57 72 36 33 66 45 39 YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9
1c7380 62 69 43 6c 6f 42 4b 30 54 58 43 35 7a 74 64 79 4f 34 6d 54 70 34 43 45 48 43 64 4a 0a 63 6b 6d biCloBK0TXC5ztdyO4mTp4CEHCdJ.ckm
1c73a0 31 2f 7a 75 56 6e 73 48 4d 79 41 48 73 36 41 36 4b 43 70 62 6e 73 36 61 48 35 64 62 35 42 53 73 1/zuVnsHMyAHs6A6KCpbns6aH5db5BSs
1c73c0 4e 6c 30 42 77 50 4c 71 73 64 56 71 63 31 55 32 64 41 67 72 53 53 35 74 6d 53 30 59 48 46 32 57 Nl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2W
1c73e0 74 6e 32 79 49 41 4e 77 69 0a 69 65 44 68 5a 4e 52 6e 76 44 46 35 59 54 79 37 79 6b 48 4e 58 47 tn2yIANwi.ieDhZNRnvDF5YTy7ykHNXG
1c7400 6f 41 79 44 77 34 6a 6c 69 76 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 oAyDw4jlivAgMBAAGjQjBAMA8GA1UdEw
1c7420 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 0a 41 51 48 2f 42 41 51 44 41 EB/wQFMAMBAf8wDgYDVR0P.AQH/BAQDA
1c7440 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 75 46 71 6c 4b 47 4c 58 4c 7a 50 56 76 55 gEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvU
1c7460 50 4d 6a 58 2f 68 64 35 36 7a 77 79 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 PMjX/hd56zwyDANBgkqhkiG9w0BAQsFA
1c7480 41 4f 43 0a 41 51 45 41 74 58 50 34 41 39 78 5a 57 78 31 32 36 61 4d 71 65 35 41 6f 73 6b 33 41 AOC.AQEAtXP4A9xZWx126aMqe5Aosk3A
1c74a0 4d 30 2b 71 6d 72 48 55 75 4f 51 6e 2f 36 6d 57 6d 63 35 47 34 47 31 38 54 4b 49 34 70 41 5a 77 M0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw
1c74c0 38 50 52 42 45 65 77 2f 52 34 30 2f 63 6f 66 35 0a 4f 2f 32 6b 62 79 74 54 41 4f 44 2f 4f 62 6c 8PRBEew/R40/cof5.O/2kbytTAOD/Obl
1c74e0 71 42 77 37 72 48 52 7a 32 6f 6e 4b 51 79 34 49 39 45 59 4b 4c 30 72 75 66 4b 71 38 68 35 6d 4f qBw7rHRz2onKQy4I9EYKL0rufKq8h5mO
1c7500 47 6e 58 6b 5a 37 2f 65 37 44 44 57 51 77 34 72 74 54 77 2f 31 7a 42 4c 5a 70 44 36 37 0a 6f 50 GnXkZ7/e7DDWQw4rtTw/1zBLZpD67.oP
1c7520 77 67 6c 56 39 50 4a 69 38 52 49 34 4e 4f 64 51 63 50 76 35 76 52 74 42 33 70 45 41 54 2b 79 6d wglV9PJi8RI4NOdQcPv5vRtB3pEAT+ym
1c7540 43 50 6f 6b 79 34 72 63 2f 68 6b 41 2f 4e 72 67 72 48 58 58 75 33 55 4e 4c 55 59 66 72 56 46 64 CPoky4rc/hkA/NrgrHXXu3UNLUYfrVFd
1c7560 76 58 6e 34 64 52 56 4f 75 6c 0a 34 2b 76 4a 68 61 41 6c 49 44 66 37 6a 73 34 4d 4e 49 54 68 50 vXn4dRVOul.4+vJhaAlIDf7js4MNIThP
1c7580 49 47 79 64 30 35 44 70 59 68 66 68 6d 65 68 50 65 61 30 58 47 47 32 50 74 76 2b 74 79 6a 46 6f IGyd05DpYhfhmehPea0XGG2Ptv+tyjFo
1c75a0 67 65 75 74 63 72 4b 6a 53 6f 53 37 35 66 74 77 6a 43 6b 79 53 70 36 0a 2b 2f 4e 4e 49 78 75 5a geutcrKjSoS75ftwjCkySp6.+/NNIxuZ
1c75c0 4d 7a 53 67 4c 76 57 70 43 7a 2f 55 58 65 48 50 68 4a 2f 69 47 63 4a 66 69 74 59 67 48 75 4e 7a MzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNz
1c75e0 74 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a tw==.-----END.CERTIFICATE-----..
1c7600 43 65 72 74 75 6d 20 54 72 75 73 74 65 64 20 4e 65 74 77 6f 72 6b 20 43 41 20 32 0a 3d 3d 3d 3d Certum.Trusted.Network.CA.2.====
1c7620 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1c7640 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 30 6a 43 43 41 37 71 67 IN.CERTIFICATE-----.MIIF0jCCA7qg
1c7660 41 77 49 42 41 67 49 51 49 64 62 51 53 6b 38 6c 44 38 6b 79 4e 2f 79 71 58 68 4b 4e 36 54 41 4e AwIBAgIQIdbQSk8lD8kyN/yqXhKN6TAN
1c7680 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 30 46 41 44 43 42 67 44 45 4c 4d 41 6b 47 41 31 55 45 BgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
1c76a0 0a 42 68 4d 43 55 45 77 78 49 6a 41 67 42 67 4e 56 42 41 6f 54 47 56 56 75 61 58 70 6c 64 47 38 .BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8
1c76c0 67 56 47 56 6a 61 47 35 76 62 47 39 6e 61 57 56 7a 49 46 4d 75 51 53 34 78 4a 7a 41 6c 42 67 4e gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgN
1c76e0 56 42 41 73 54 48 6b 4e 6c 63 6e 52 31 0a 62 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 VBAsTHkNlcnR1.bSBDZXJ0aWZpY2F0aW
1c7700 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 41 78 4d 62 51 32 9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2
1c7720 56 79 64 48 56 74 49 46 52 79 64 58 4e 30 5a 57 51 67 54 6d 56 30 64 32 39 79 0a 61 79 42 44 51 VydHVtIFRydXN0ZWQgTmV0d29y.ayBDQ
1c7740 53 41 79 4d 43 49 59 44 7a 49 77 4d 54 45 78 4d 44 41 32 4d 44 67 7a 4f 54 55 32 57 68 67 50 4d SAyMCIYDzIwMTExMDA2MDgzOTU2WhgPM
1c7760 6a 41 30 4e 6a 45 77 4d 44 59 77 4f 44 4d 35 4e 54 5a 61 4d 49 47 41 4d 51 73 77 43 51 59 44 56 jA0NjEwMDYwODM5NTZaMIGAMQswCQYDV
1c7780 51 51 47 45 77 4a 51 0a 54 44 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 56 57 35 70 65 6d 56 30 QQGEwJQ.TDEiMCAGA1UEChMZVW5pemV0
1c77a0 62 79 42 55 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 55 79 35 42 4c 6a 45 6e 4d 43 55 47 byBUZWNobm9sb2dpZXMgUy5BLjEnMCUG
1c77c0 41 31 55 45 43 78 4d 65 51 32 56 79 64 48 56 74 49 45 4e 6c 0a 63 6e 52 70 5a 6d 6c 6a 59 58 52 A1UECxMeQ2VydHVtIENl.cnRpZmljYXR
1c77e0 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 pb24gQXV0aG9yaXR5MSQwIgYDVQQDExt
1c7800 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 63 33 52 6c 5a 43 42 4f 5a 58 52 33 62 33 4a 72 49 45 4e DZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIEN
1c7820 42 0a 49 44 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 B.IDIwggIiMA0GCSqGSIb3DQEBAQUAA4
1c7840 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 39 2b 58 6a 34 35 74 57 41 44 47 53 64 68 68 ICDwAwggIKAoICAQC9+Xj45tWADGSdhh
1c7860 75 57 5a 47 63 2f 49 6a 6f 65 64 51 46 39 0a 37 2f 74 63 5a 34 7a 4a 7a 46 78 72 71 5a 48 6d 75 uWZGc/IjoedQF9.7/tcZ4zJzFxrqZHmu
1c7880 55 4c 6c 49 45 75 62 32 70 74 37 75 5a 6c 64 32 5a 75 41 53 39 65 45 51 43 73 6e 30 2b 69 36 4d ULlIEub2pt7uZld2ZuAS9eEQCsn0+i6M
1c78a0 4c 73 2b 43 52 71 6e 53 5a 58 76 4b 30 41 6b 77 70 66 48 70 2b 36 62 4a 65 2b 6f 0a 43 67 43 58 Ls+CRqnSZXvK0AkwpfHp+6bJe+o.CgCX
1c78c0 68 56 71 71 6e 64 77 70 79 65 49 31 42 2b 74 77 54 55 72 57 77 62 4e 57 75 4b 46 42 4f 4a 76 52 hVqqndwpyeI1B+twTUrWwbNWuKFBOJvR
1c78e0 2b 7a 46 2f 6a 2b 42 66 34 62 45 2f 44 34 34 57 53 57 44 58 42 6f 30 59 2b 61 6f 6d 45 4b 73 71 +zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq
1c7900 30 39 44 52 5a 34 30 62 0a 52 72 35 48 4d 4e 55 75 63 74 48 46 59 39 72 6e 59 33 6c 45 66 6b 74 09DRZ40b.Rr5HMNUuctHFY9rnY3lEfkt
1c7920 6a 4a 49 6d 47 4c 6a 51 2f 4b 55 78 53 69 79 71 6e 77 4f 4b 52 4b 49 6d 35 77 46 76 35 48 64 6e jJImGLjQ/KUxSiyqnwOKRKIm5wFv5Hdn
1c7940 6e 4a 36 33 2f 6d 67 4b 58 77 63 5a 51 6b 70 73 43 4c 4c 32 70 0a 75 54 52 5a 43 72 2b 45 53 76 nJ63/mgKXwcZQkpsCLL2p.uTRZCr+ESv
1c7960 2f 66 2f 72 4f 66 36 39 6d 65 34 4a 67 6a 37 4b 5a 72 64 78 59 71 32 38 79 74 4f 78 79 6b 68 39 /f/rOf69me4Jgj7KZrdxYq28ytOxykh9
1c7980 78 47 63 31 34 5a 59 6d 68 46 56 2b 53 51 67 6b 4b 37 51 74 62 77 59 65 44 42 6f 7a 31 6d 6f 31 xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo1
1c79a0 33 30 0a 47 4f 36 49 79 59 30 58 52 53 6d 5a 4d 6e 55 43 4d 65 34 70 4a 73 68 72 41 75 61 31 59 30.GO6IyY0XRSmZMnUCMe4pJshrAua1Y
1c79c0 6b 56 2f 4e 78 56 61 49 32 69 4a 31 44 37 65 54 69 65 77 38 45 41 4d 76 45 30 58 79 30 32 69 73 kV/NxVaI2iJ1D7eTiew8EAMvE0Xy02is
1c79e0 78 37 51 42 6c 72 64 39 70 50 50 56 33 57 5a 0a 39 66 71 47 47 6d 64 34 73 37 2b 57 2f 6a 54 63 x7QBlrd9pPPV3WZ.9fqGGmd4s7+W/jTc
1c7a00 76 65 64 53 56 75 57 7a 35 58 56 37 31 30 47 52 42 64 78 64 61 65 4f 56 44 55 4f 35 2f 49 4f 57 vedSVuWz5XV710GRBdxdaeOVDUO5/IOW
1c7a20 4f 5a 56 37 62 49 42 61 54 78 4e 79 78 74 64 39 4b 58 70 45 75 6c 4b 6b 4b 74 56 42 0a 52 67 6b OZV7bIBaTxNyxtd9KXpEulKkKtVB.Rgk
1c7a40 67 2f 69 4b 67 74 6c 73 77 6a 62 79 4a 44 4e 58 58 63 50 69 48 55 76 33 61 37 36 78 52 4c 67 65 g/iKgtlswjbyJDNXXcPiHUv3a76xRLge
1c7a60 7a 54 76 37 51 43 64 70 77 37 35 6a 36 56 75 5a 74 32 37 56 58 53 39 7a 6c 4c 43 55 56 79 4a 34 zTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4
1c7a80 75 65 45 37 34 32 70 79 65 0a 68 69 7a 4b 56 2f 4d 61 35 63 69 53 69 78 71 43 6c 6e 72 44 76 46 ueE742pye.hizKV/Ma5ciSixqClnrDvF
1c7aa0 41 53 61 64 67 4f 57 6b 61 4c 4f 75 73 6d 2b 69 50 4a 74 72 43 42 76 6b 49 41 70 50 6a 57 2f 6a ASadgOWkaLOusm+iPJtrCBvkIApPjW/j
1c7ac0 41 75 78 39 4a 47 39 75 57 4f 64 66 33 79 7a 4c 6e 51 68 31 76 4d 0a 42 68 42 67 75 34 4d 31 74 Aux9JG9uWOdf3yzLnQh1vM.BhBgu4M1t
1c7ae0 31 35 6e 33 6b 66 73 6d 55 6a 78 70 4b 45 56 2f 71 32 4d 59 6f 34 35 56 55 38 35 46 72 6d 78 59 15n3kfsmUjxpKEV/q2MYo45VU85FrmxY
1c7b00 35 33 2f 74 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 53/twIDAQABo0IwQDAPBgNVHRMBAf8EB
1c7b20 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 32 6f 56 51 35 41 73 4f 67 TAD.AQH/MB0GA1UdDgQWBBS2oVQ5AsOg
1c7b40 50 34 36 4b 76 50 72 55 2b 42 79 6d 30 54 6f 4f 2f 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 P46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8E
1c7b60 42 41 4d 43 41 51 59 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4e 42 51 41 44 67 67 49 BAMCAQYwDQYJKoZI.hvcNAQENBQADggI
1c7b80 42 41 48 47 6c 44 73 37 6b 36 62 38 2f 4f 4e 57 4a 57 73 51 43 59 66 74 4d 78 52 51 58 4c 59 74 BAHGlDs7k6b8/ONWJWsQCYftMxRQXLYt
1c7ba0 50 55 32 73 51 46 2f 78 6c 68 4d 63 51 53 5a 44 65 32 38 63 6d 6b 34 67 6d 62 33 44 57 0a 41 6c PU2sQF/xlhMcQSZDe28cmk4gmb3DW.Al
1c7bc0 34 35 6f 50 65 50 71 35 61 31 70 52 4e 63 67 52 52 74 44 6f 47 43 45 52 75 4b 54 73 5a 50 70 64 45oPePq5a1pRNcgRRtDoGCERuKTsZPpd
1c7be0 31 69 48 6b 54 66 43 56 6e 30 57 33 63 4c 4e 2b 6d 4c 49 4d 62 34 43 6b 34 75 57 42 7a 72 4d 39 1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9
1c7c00 44 50 68 6d 44 4a 32 76 75 41 0a 4c 35 35 4d 59 49 52 34 50 53 46 6b 31 76 74 42 48 78 67 50 35 DPhmDJ2vuA.L55MYIR4PSFk1vtBHxgP5
1c7c20 38 6c 31 63 62 32 39 58 4e 34 30 68 7a 35 42 73 41 37 32 75 64 59 2f 43 52 4f 57 46 43 2f 65 6d 8l1cb29XN40hz5BsA72udY/CROWFC/em
1c7c40 68 31 61 75 56 62 4f 4e 54 71 77 58 33 42 4e 58 75 4d 70 38 53 4d 6f 0a 63 6c 6d 32 71 38 4b 4d h1auVbONTqwX3BNXuMp8SMo.clm2q8KM
1c7c60 5a 69 59 63 64 79 77 6d 64 6a 57 4c 4b 4b 64 70 6f 50 6b 37 39 53 50 64 68 52 42 30 79 5a 41 44 ZiYcdywmdjWLKKdpoPk79SPdhRB0yZAD
1c7c80 56 70 48 6e 72 37 70 48 31 42 4b 58 45 53 4c 6a 6f 6b 6d 55 62 4f 65 33 6c 45 75 36 4c 61 54 61 VpHnr7pH1BKXESLjokmUbOe3lEu6LaTa
1c7ca0 4d 34 74 4d 0a 70 6b 54 2f 57 6a 7a 47 48 57 54 59 74 54 48 6b 70 6a 78 36 71 46 63 4c 32 2b 31 M4tM.pkT/WjzGHWTYtTHkpjx6qFcL2+1
1c7cc0 68 47 73 76 78 7a 6e 4e 33 59 36 53 48 62 30 78 52 4f 4e 62 6b 58 38 65 66 74 6f 45 71 35 49 56 hGsvxznN3Y6SHb0xRONbkX8eftoEq5IV
1c7ce0 49 65 56 68 65 4f 2f 6a 62 41 6f 4a 6e 77 54 6e 62 0a 77 33 52 4c 50 54 59 65 2b 53 6d 54 69 47 IeVheO/jbAoJnwTnb.w3RLPTYe+SmTiG
1c7d00 68 62 71 45 51 5a 49 66 43 6e 36 49 45 4e 4c 4f 69 54 4e 72 51 33 73 73 71 77 47 79 5a 36 6d 69 hbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6mi
1c7d20 55 66 6d 70 71 41 6e 6b 73 71 50 2f 75 6a 6d 76 35 7a 4d 6e 48 43 6e 73 5a 79 34 59 70 6f 0a 4a UfmpqAnksqP/ujmv5zMnHCnsZy4Ypo.J
1c7d40 2f 48 6b 44 37 54 45 54 4b 56 68 6b 2f 69 58 45 41 63 71 4d 43 57 70 75 63 68 78 75 4f 39 6f 7a /HkD7TETKVhk/iXEAcqMCWpuchxuO9oz
1c7d60 43 31 2b 39 65 42 2b 44 34 4b 6f 62 37 61 36 62 49 4e 44 64 38 32 4b 6b 68 65 68 6e 6c 74 34 46 C1+9eB+D4Kob7a6bINDd82Kkhehnlt4F
1c7d80 6a 31 46 34 6a 4e 79 33 65 46 6d 0a 79 70 6e 54 79 63 55 6d 2f 51 31 6f 42 45 61 75 74 74 6d 62 j1F4jNy3eFm.ypnTycUm/Q1oBEauttmb
1c7da0 6a 4c 34 5a 76 72 48 47 38 68 6e 6a 58 41 4c 4b 4c 4e 68 76 53 67 66 5a 79 54 58 61 51 48 58 79 jL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXy
1c7dc0 78 4b 63 5a 62 35 35 43 45 4a 68 31 35 70 57 4c 59 4c 7a 74 78 52 4c 58 0a 69 73 37 56 6d 46 78 xKcZb55CEJh15pWLYLztxRLX.is7VmFx
1c7de0 57 6c 67 50 46 37 6e 63 47 4e 66 2f 50 35 4f 34 2f 45 32 48 75 32 39 6f 74 68 66 44 4e 72 70 32 WlgPF7ncGNf/P5O4/E2Hu29othfDNrp2
1c7e00 79 47 41 6c 46 77 35 4b 68 63 68 66 38 52 37 61 67 43 79 7a 78 78 4e 35 44 61 41 68 71 58 7a 76 yGAlFw5Khchf8R7agCyzxxN5DaAhqXzv
1c7e20 77 64 6d 50 37 0a 7a 41 59 73 70 73 62 69 44 72 57 35 76 69 53 50 0a 2d 2d 2d 2d 2d 45 4e 44 20 wdmP7.zAYspsbiDrW5viSP.-----END.
1c7e40 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 CERTIFICATE-----..Hellenic.Acade
1c7e60 6d 69 63 20 61 6e 64 20 52 65 73 65 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 52 6f mic.and.Research.Institutions.Ro
1c7e80 6f 74 43 41 20 32 30 31 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d otCA.2015.======================
1c7ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c7ec0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1c7ee0 49 47 43 7a 43 43 41 2f 4f 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 IGCzCCA/OgAwIBAgIBADANBgkqhkiG9w
1c7f00 30 42 41 51 73 46 41 44 43 42 70 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 0BAQsFADCBpjELMAkGA1UEBhMCR1IxDz
1c7f20 41 4e 42 67 4e 56 42 41 63 54 0a 42 6b 46 30 61 47 56 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 ANBgNVBAcT.BkF0aGVuczFEMEIGA1UEC
1c7f40 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 hM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kI
1c7f60 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 0a 61 57 39 75 63 79 42 44 FJlc2VhcmNoIEluc3RpdHV0.aW9ucyBD
1c7f80 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 51 44 41 2b 42 67 4e 56 42 41 4d 54 ZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT
1c7fa0 4e 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 N0hlbGxlbmljIEFjYWRlbWljIGFuZCBS
1c7fc0 5a 58 4e 6c 0a 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 55 6d 39 ZXNl.YXJjaCBJbnN0aXR1dGlvbnMgUm9
1c7fe0 76 64 45 4e 42 49 44 49 77 4d 54 55 77 48 68 63 4e 4d 54 55 77 4e 7a 41 33 4d 54 41 78 4d 54 49 vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTI
1c8000 78 57 68 63 4e 4e 44 41 77 4e 6a 4d 77 4d 54 41 78 0a 4d 54 49 78 57 6a 43 42 70 6a 45 4c 4d 41 xWhcNNDAwNjMwMTAx.MTIxWjCBpjELMA
1c8020 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 42 6b 46 30 61 47 kGA1UEBhMCR1IxDzANBgNVBAcTBkF0aG
1c8040 56 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 0a 51 VuczFEMEIGA1UEChM7SGVsbGVuaWMg.Q
1c8060 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 WNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc
1c8080 33 52 70 64 48 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 3RpdHV0aW9ucyBDZXJ0LiBBdXRob3Jpd
1c80a0 48 6b 78 51 44 41 2b 42 67 4e 56 0a 42 41 4d 54 4e 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a HkxQDA+BgNV.BAMTN0hlbGxlbmljIEFj
1c80c0 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0
1c80e0 61 58 52 31 64 47 6c 76 62 6e 4d 67 55 6d 39 76 64 45 4e 42 49 44 49 77 0a 4d 54 55 77 67 67 49 aXR1dGlvbnMgUm9vdENBIDIw.MTUwggI
1c8100 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 iMA0GCSqGSIb3DQEBAQUAA4ICDwAwggI
1c8120 4b 41 6f 49 43 41 51 44 43 2b 4b 6b 2f 47 34 6e 38 50 44 77 45 58 54 32 51 4e 72 43 52 4f 6e 6b KAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk
1c8140 38 5a 6c 72 76 0a 62 54 6b 42 53 52 71 30 74 38 39 2f 54 53 4e 54 74 35 41 41 34 78 4d 71 4b 4b 8Zlrv.bTkBSRq0t89/TSNTt5AA4xMqKK
1c8160 59 78 38 5a 45 41 34 79 6a 73 72 69 46 42 7a 68 2f 61 2f 58 30 53 57 77 47 44 44 37 6d 77 58 35 Yx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5
1c8180 6e 68 38 68 4b 44 67 45 30 47 50 74 2b 73 72 2b 65 68 0a 69 47 73 78 72 2f 43 4c 30 42 67 7a 75 nh8hKDgE0GPt+sr+eh.iGsxr/CL0Bgzu
1c81a0 4e 74 46 61 6a 54 30 41 6f 41 6b 4b 41 6f 43 46 5a 56 65 64 69 6f 4e 6d 54 6f 55 57 2f 62 4c 79 NtFajT0AoAkKAoCFZVedioNmToUW/bLy
1c81c0 31 4f 38 45 30 30 42 69 44 65 55 4a 52 74 43 76 43 4c 59 6a 71 4f 57 58 6a 72 5a 4d 74 73 2b 0a 1O8E00BiDeUJRtCvCLYjqOWXjrZMts+.
1c81e0 36 50 41 51 5a 65 31 30 34 53 2b 6e 66 4b 38 6e 4e 4c 73 70 66 5a 75 32 7a 77 6e 49 35 64 4d 4b 6PAQZe104S+nfK8nNLspfZu2zwnI5dMK
1c8200 2f 49 68 6c 5a 58 51 4b 33 48 4d 63 58 4d 31 41 73 52 7a 55 74 6f 53 4d 54 46 44 50 61 49 36 6f /IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6o
1c8220 57 61 37 43 4a 30 36 43 6f 6a 58 64 0a 46 50 51 66 2f 37 4a 33 31 59 63 76 71 6d 35 39 4a 43 66 Wa7CJ06CojXd.FPQf/7J31Ycvqm59JCf
1c8240 6e 78 73 73 6d 35 75 58 2b 5a 77 64 6a 32 45 55 4e 33 54 70 5a 5a 54 6c 59 65 70 4b 5a 63 6a 32 nxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2
1c8260 63 68 46 36 49 49 62 6a 56 39 43 7a 38 32 58 42 53 54 33 69 34 76 54 77 72 0a 69 35 57 59 39 62 chF6IIbjV9Cz82XBST3i4vTwr.i5WY9b
1c8280 50 52 61 4d 38 67 46 48 35 4d 58 46 2f 6e 69 2b 58 31 4e 59 45 5a 4e 39 63 52 43 4c 64 6d 76 74 PRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvt
1c82a0 4e 4b 7a 6f 4e 58 41 44 72 44 67 66 67 58 79 35 49 32 58 64 47 6a 32 48 55 62 34 59 73 6e 36 6e NKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6n
1c82c0 70 49 51 66 31 46 0a 47 51 61 74 4a 35 6c 4f 77 58 42 48 33 62 57 66 67 56 4d 53 35 62 47 4d 53 pIQf1F.GQatJ5lOwXBH3bWfgVMS5bGMS
1c82e0 46 30 78 51 78 66 6a 6a 4d 5a 36 59 35 5a 4c 4b 54 42 4f 68 45 35 69 47 56 34 38 7a 70 65 51 70 F0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQp
1c8300 58 38 42 36 35 33 67 2b 49 75 4a 33 53 57 59 50 5a 4b 32 0a 66 75 2f 5a 38 56 46 52 66 53 30 6d X8B653g+IuJ3SWYPZK2.fu/Z8VFRfS0m
1c8320 79 47 6c 5a 59 65 43 73 61 72 67 71 4e 68 45 45 65 6c 43 39 4d 6f 53 2b 4c 39 78 79 31 64 63 64 yGlZYeCsargqNhEEelC9MoS+L9xy1dcd
1c8340 46 6b 66 6b 52 32 59 67 50 2f 53 57 78 61 2b 4f 41 58 71 6c 44 33 70 6b 39 51 30 59 68 39 6d 75 FkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
1c8360 0a 69 4e 58 36 68 4d 45 36 77 47 6b 6f 4c 66 49 4e 61 46 47 71 34 36 56 33 78 71 53 51 44 71 45 .iNX6hME6wGkoLfINaFGq46V3xqSQDqE
1c8380 33 69 7a 45 6a 52 38 45 4a 43 4f 74 75 39 33 69 62 31 34 4c 38 68 43 43 5a 53 52 6d 32 45 6b 61 3izEjR8EJCOtu93ib14L8hCCZSRm2Eka
1c83a0 78 2b 30 56 56 46 71 6d 6a 5a 61 79 63 0a 42 77 2f 71 61 39 77 66 4c 67 5a 79 37 49 61 49 45 75 x+0VVFqmjZayc.Bw/qa9wfLgZy7IaIEu
1c83c0 51 74 32 31 38 46 4c 2b 54 77 41 39 4d 6d 4d 2b 65 41 77 73 31 43 6f 52 63 30 43 77 49 44 41 51 Qt218FL+TwA9MmM+eAws1CoRc0CwIDAQ
1c83e0 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d ABo0IwQDAPBgNVHRMBAf8EBTAD.AQH/M
1c8400 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 A4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EF
1c8420 67 51 55 63 52 56 6e 79 4d 6a 4a 76 58 56 64 63 74 41 34 47 47 71 64 38 33 45 6b 56 41 73 77 44 gQUcRVnyMjJvXVdctA4GGqd83EkVAswD
1c8440 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 48 57 37 62 56 52 4c QYJKoZI.hvcNAQELBQADggIBAHW7bVRL
1c8460 71 68 42 59 52 6a 54 79 59 74 63 57 4e 6c 30 49 58 74 56 73 79 49 65 39 74 43 35 47 38 6a 48 34 qhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4
1c8480 66 4f 70 43 74 5a 4d 57 56 64 79 68 44 42 4b 67 32 6d 46 2b 0a 44 31 68 59 63 32 52 79 78 2b 68 fOpCtZMWVdyhDBKg2mF+.D1hYc2Ryx+h
1c84a0 46 6a 74 79 70 38 69 59 2f 78 6e 6d 4d 73 56 4d 49 4d 34 47 77 56 68 4f 2b 35 6c 46 63 32 4a 73 Fjtyp8iY/xnmMsVMIM4GwVhO+5lFc2Js
1c84c0 4b 54 30 75 63 56 6c 4d 43 36 55 2f 32 44 57 44 71 54 55 4a 56 36 48 77 62 49 53 48 54 47 7a 72 KT0ucVlMC6U/2DWDqTUJV6HwbISHTGzr
1c84e0 4d 0a 64 2f 4b 34 6b 50 46 6f 78 2f 6c 61 2f 76 6f 74 39 4c 2f 4a 39 55 55 62 7a 6a 67 51 4b 6a M.d/K4kPFox/la/vot9L/J9UUbzjgQKj
1c8500 65 4b 65 61 4f 30 34 77 6c 73 68 59 61 54 2f 34 6d 57 4a 33 69 42 6a 32 66 6a 52 6e 52 55 6a 74 eKeaO04wlshYaT/4mWJ3iBj2fjRnRUjt
1c8520 6b 4e 61 65 4a 4b 39 45 31 30 41 2f 2b 79 0a 64 2b 32 56 5a 35 66 6b 73 63 57 72 76 32 6f 6a 36 kNaeJK9E10A/+y.d+2VZ5fkscWrv2oj6
1c8540 4e 53 55 34 6b 51 6f 59 73 52 4c 34 76 44 59 34 69 6c 72 47 6e 42 2b 4a 47 47 54 65 30 38 44 4d NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DM
1c8560 69 55 4e 52 53 51 72 6c 72 52 47 61 72 39 4b 43 2f 65 61 6a 38 47 73 47 73 56 6e 0a 38 32 38 30 iUNRSQrlrRGar9KC/eaj8GsGsVn.8280
1c8580 30 76 70 7a 59 34 7a 76 46 72 43 6f 70 45 59 71 2b 4f 73 53 37 48 4b 30 37 2f 67 72 66 6f 78 53 0vpzY4zvFrCopEYq+OsS7HK07/grfoxS
1c85a0 77 49 75 45 56 50 6b 76 50 75 4e 56 71 4e 78 6d 73 64 6e 68 58 39 69 7a 6a 46 6b 30 57 61 53 72 wIuEVPkvPuNVqNxmsdnhX9izjFk0WaSr
1c85c0 54 32 79 37 48 78 6a 62 0a 64 61 76 59 79 35 4c 4e 6c 44 68 68 44 67 63 47 48 30 74 47 45 50 45 T2y7Hxjb.davYy5LNlDhhDgcGH0tGEPE
1c85e0 56 76 6f 32 46 58 44 74 4b 4b 34 46 35 44 37 52 70 6e 30 6c 51 6c 30 33 33 44 6c 5a 64 77 4a 56 Vvo2FXDtKK4F5D7Rpn0lQl033DlZdwJV
1c8600 71 77 6a 62 44 47 32 6a 4a 39 53 72 63 52 35 71 2b 73 73 37 46 0a 4a 65 6a 36 41 37 6e 61 2b 52 qwjbDG2jJ9SrcR5q+ss7F.Jej6A7na+R
1c8620 5a 75 6b 59 54 31 48 43 6a 49 2f 43 62 4d 31 78 79 51 56 71 64 66 62 7a 6f 45 76 4d 31 34 69 51 ZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQ
1c8640 75 4f 44 79 2b 6a 71 6b 2b 69 47 78 49 39 46 67 68 41 44 2f 46 47 54 4e 65 71 65 77 6a 42 43 76 uODy+jqk+iGxI9FghAD/FGTNeqewjBCv
1c8660 56 74 0a 4a 39 34 43 6a 38 72 44 74 53 76 4b 36 65 76 49 49 56 4d 34 70 63 77 37 32 48 63 33 4d Vt.J94Cj8rDtSvK6evIIVM4pcw72Hc3M
1c8680 4b 4a 50 32 57 2f 52 38 6b 43 74 51 58 6f 58 78 64 5a 4b 4e 59 6d 33 51 64 56 38 68 6e 39 56 54 KJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VT
1c86a0 59 4e 4b 70 58 4d 67 77 44 71 76 6b 50 47 61 0a 4a 49 37 5a 6a 6e 48 4b 65 37 69 47 32 72 4b 50 YNKpXMgwDqvkPGa.JI7ZjnHKe7iG2rKP
1c86c0 6d 54 34 64 45 77 30 53 45 65 37 55 71 2f 44 70 46 58 59 43 35 4f 44 66 71 69 41 65 57 32 47 46 mT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GF
1c86e0 5a 45 43 70 6b 4a 63 4e 72 56 50 53 57 68 32 48 61 67 43 58 5a 57 4b 30 76 6d 39 71 0a 70 2f 55 ZECpkJcNrVPSWh2HagCXZWK0vm9q.p/U
1c8700 73 51 75 30 79 72 62 59 68 6e 72 36 38 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 sQu0yrbYhnr68.-----END.CERTIFICA
1c8720 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 TE-----..Hellenic.Academic.and.R
1c8740 65 73 65 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 45 43 43 20 52 6f 6f 74 43 41 20 esearch.Institutions.ECC.RootCA.
1c8760 32 30 31 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2015.===========================
1c8780 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c87a0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1c87c0 43 77 7a 43 43 41 6b 71 67 41 77 49 42 41 67 49 42 41 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 CwzCCAkqgAwIBAgIBADAKBggqhkjOPQQ
1c87e0 44 41 6a 43 42 71 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e DAjCBqjELMAkGA1UEBhMCR1IxDzANBgN
1c8800 56 42 41 63 54 42 6b 46 30 0a 61 47 56 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 VBAcTBkF0.aGVuczFEMEIGA1UEChM7SG
1c8820 56 73 62 47 56 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 VsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2
1c8840 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 0a 63 79 42 44 5a 58 4a 30 4c VhcmNoIEluc3RpdHV0aW9u.cyBDZXJ0L
1c8860 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 52 44 42 43 42 67 4e 56 42 41 4d 54 4f 30 68 6c 62 iBBdXRob3JpdHkxRDBCBgNVBAMTO0hlb
1c8880 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 GxlbmljIEFjYWRlbWljIGFuZCBSZXNlY
1c88a0 58 4a 6a 0a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 52 55 4e 44 49 46 4a 76 XJj.aCBJbnN0aXR1dGlvbnMgRUNDIFJv
1c88c0 62 33 52 44 51 53 41 79 4d 44 45 31 4d 42 34 58 44 54 45 31 4d 44 63 77 4e 7a 45 77 4d 7a 63 78 b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcx
1c88e0 4d 6c 6f 58 44 54 51 77 4d 44 59 7a 4d 44 45 77 0a 4d 7a 63 78 4d 6c 6f 77 67 61 6f 78 43 7a 41 MloXDTQwMDYzMDEw.MzcxMlowgaoxCzA
1c8900 4a 42 67 4e 56 42 41 59 54 41 6b 64 53 4d 51 38 77 44 51 59 44 56 51 51 48 45 77 5a 42 64 47 68 JBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGh
1c8920 6c 62 6e 4d 78 52 44 42 43 42 67 4e 56 42 41 6f 54 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 0a 49 45 lbnMxRDBCBgNVBAoTO0hlbGxlbmlj.IE
1c8940 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e FjYWRlbWljIGFuZCBSZXNlYXJjaCBJbn
1c8960 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 51 32 56 79 64 43 34 67 51 58 56 30 61 47 39 79 61 58 N0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaX
1c8980 52 35 4d 55 51 77 51 67 59 44 0a 56 51 51 44 45 7a 74 49 5a 57 78 73 5a 57 35 70 59 79 42 42 59 R5MUQwQgYD.VQQDEztIZWxsZW5pYyBBY
1c89a0 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d 56 7a 5a 57 46 79 59 32 67 67 53 57 35 7a 64 2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zd
1c89c0 47 6c 30 64 58 52 70 62 32 35 7a 49 45 56 44 51 79 42 53 62 32 39 30 0a 51 30 45 67 4d 6a 41 78 Gl0dXRpb25zIEVDQyBSb290.Q0EgMjAx
1c89e0 4e 54 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 NTB2MBAGByqGSM49AgEGBSuBBAAiA2IA
1c8a00 42 4a 4b 67 51 65 68 4c 67 6f 52 63 34 76 67 78 45 5a 6d 47 5a 45 34 4a 4a 53 2b 64 51 53 38 4b BJKgQehLgoRc4vgxEZmGZE4JJS+dQS8K
1c8a20 72 6a 56 50 0a 64 4a 57 79 55 57 52 72 6a 57 76 6d 50 33 43 56 38 41 56 45 52 36 5a 79 4f 46 42 rjVP.dJWyUWRrjWvmP3CV8AVER6ZyOFB
1c8a40 32 6c 51 4a 61 6a 71 34 6f 6e 76 6b 74 54 70 6e 76 4c 45 68 76 54 43 55 70 36 4e 46 78 57 39 38 2lQJajq4onvktTpnvLEhvTCUp6NFxW98
1c8a60 64 77 58 55 33 74 4e 66 36 65 33 70 43 6e 47 6f 4b 0a 56 6c 70 38 61 51 75 71 67 41 6b 6b 62 48 dwXU3tNf6e3pCnGoK.Vlp8aQuqgAkkbH
1c8a80 37 42 52 71 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/z
1c8aa0 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 0a 42 AOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O.B
1c8ac0 42 59 45 46 4c 51 69 43 34 4b 5a 4a 41 45 4f 6e 4c 76 6b 44 76 32 2f 2b 35 63 67 6b 35 6b 71 4d BYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqM
1c8ae0 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 32 63 41 4d 47 51 43 4d 47 66 4f 46 6d 49 34 6f AoGCCqGSM49BAMCA2cAMGQCMGfOFmI4o
1c8b00 71 78 69 52 61 65 70 6c 53 54 41 0a 47 69 65 63 4d 6a 76 41 77 4e 57 36 71 65 66 34 42 45 4e 54 qxiRaeplSTA.GiecMjvAwNW6qef4BENT
1c8b20 68 65 35 53 49 64 36 64 39 53 57 44 50 70 35 59 53 79 2f 58 5a 78 4d 4f 49 51 49 77 42 65 46 31 he5SId6d9SWDPp5YSy/XZxMOIQIwBeF1
1c8b40 41 64 35 6f 37 53 6f 66 54 55 77 4a 43 41 33 73 53 36 31 6b 46 79 6a 6e 0a 64 63 35 46 5a 58 49 Ad5o7SofTUwJCA3sS61kFyjn.dc5FZXI
1c8b60 68 46 38 73 69 51 51 36 4d 45 35 67 34 6d 6c 52 74 6d 38 72 69 66 4f 6f 43 57 43 4b 52 0a 2d 2d hF8siQQ6ME5g4mlRtm8rifOoCWCKR.--
1c8b80 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 53 52 47 20 52 6f ---END.CERTIFICATE-----..ISRG.Ro
1c8ba0 6f 74 20 58 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ot.X1.============.-----BEGIN.CE
1c8bc0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 7a 43 43 41 31 4f 67 41 77 49 42 41 RTIFICATE-----.MIIFazCCA1OgAwIBA
1c8be0 67 49 52 41 49 49 51 7a 37 44 53 51 4f 4e 5a 52 47 50 67 75 32 4f 43 69 77 41 77 44 51 59 4a 4b gIRAIIQz7DSQONZRGPgu2OCiwAwDQYJK
1c8c00 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 54 7a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 oZIhvcNAQELBQAwTzELMAkGA1UE.BhMC
1c8c20 56 56 4d 78 4b 54 41 6e 42 67 4e 56 42 41 6f 54 49 45 6c 75 64 47 56 79 62 6d 56 30 49 46 4e 6c VVMxKTAnBgNVBAoTIEludGVybmV0IFNl
1c8c40 59 33 56 79 61 58 52 35 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 64 79 62 33 56 77 4d 52 55 77 Y3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUw
1c8c60 45 77 59 44 56 51 51 44 0a 45 77 78 4a 55 31 4a 48 49 46 4a 76 62 33 51 67 57 44 45 77 48 68 63 EwYDVQQD.EwxJU1JHIFJvb3QgWDEwHhc
1c8c80 4e 4d 54 55 77 4e 6a 41 30 4d 54 45 77 4e 44 4d 34 57 68 63 4e 4d 7a 55 77 4e 6a 41 30 4d 54 45 NMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTE
1c8ca0 77 4e 44 4d 34 57 6a 42 50 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 70 4d 43 wNDM4WjBPMQswCQYDVQQG.EwJVUzEpMC
1c8cc0 63 47 41 31 55 45 43 68 4d 67 53 57 35 30 5a 58 4a 75 5a 58 51 67 55 32 56 6a 64 58 4a 70 64 48 cGA1UEChMgSW50ZXJuZXQgU2VjdXJpdH
1c8ce0 6b 67 55 6d 56 7a 5a 57 46 79 59 32 67 67 52 33 4a 76 64 58 41 78 46 54 41 54 42 67 4e 56 42 41 kgUmVzZWFyY2ggR3JvdXAxFTATBgNVBA
1c8d00 4d 54 0a 44 45 6c 54 55 6b 63 67 55 6d 39 76 64 43 42 59 4d 54 43 43 41 69 49 77 44 51 59 4a 4b MT.DElTUkcgUm9vdCBYMTCCAiIwDQYJK
1c8d20 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 oZIhvcNAQEBBQADggIPADCCAgoCggIBA
1c8d40 4b 33 6f 4a 48 50 30 46 44 66 7a 6d 35 34 72 0a 56 79 67 63 68 37 37 63 74 39 38 34 6b 49 78 75 K3oJHP0FDfzm54r.Vygch77ct984kIxu
1c8d60 50 4f 5a 58 6f 48 6a 33 64 63 4b 69 2f 76 56 71 62 76 59 41 54 79 6a 62 33 6d 69 47 62 45 53 54 POZXoHj3dcKi/vVqbvYATyjb3miGbEST
1c8d80 74 72 46 6a 2f 52 51 53 61 37 38 66 30 75 6f 78 6d 79 46 2b 30 54 4d 38 75 6b 6a 31 0a 33 58 6e trFj/RQSa78f0uoxmyF+0TM8ukj1.3Xn
1c8da0 66 73 37 6a 2f 45 76 45 68 6d 6b 76 42 69 6f 5a 78 61 55 70 6d 5a 6d 79 50 66 6a 78 77 76 36 30 fs7j/EvEhmkvBioZxaUpmZmyPfjxwv60
1c8dc0 70 49 67 62 7a 35 4d 44 6d 67 4b 37 69 53 34 2b 33 6d 58 36 55 41 35 2f 54 52 35 64 38 6d 55 67 pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUg
1c8de0 6a 55 2b 67 34 72 6b 38 4b 0a 62 34 4d 75 30 55 6c 58 6a 49 42 30 74 74 6f 76 30 44 69 4e 65 77 jU+g4rk8K.b4Mu0UlXjIB0ttov0DiNew
1c8e00 4e 77 49 52 74 31 38 6a 41 38 2b 6f 2b 75 33 64 70 6a 71 2b 73 57 54 38 4b 4f 45 55 74 2b 7a 77 NwIRt18jA8+o+u3dpjq+sWT8KOEUt+zw
1c8e20 76 6f 2f 37 56 33 4c 76 53 79 65 30 72 67 54 42 49 6c 44 48 43 4e 0a 41 79 6d 67 34 56 4d 6b 37 vo/7V3LvSye0rgTBIlDHCN.Aymg4VMk7
1c8e40 42 50 5a 37 68 6d 2f 45 4c 4e 4b 6a 44 2b 4a 6f 32 46 52 33 71 79 48 42 35 54 30 59 33 48 73 4c BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsL
1c8e60 75 4a 76 57 35 69 42 34 59 6c 63 4e 48 6c 73 64 75 38 37 6b 47 4a 35 35 74 75 6b 6d 69 38 6d 78 uJvW5iB4YlcNHlsdu87kGJ55tukmi8mx
1c8e80 64 41 51 0a 34 51 37 65 32 52 43 4f 46 76 75 33 39 36 6a 33 78 2b 55 43 42 35 69 50 4e 67 69 56 dAQ.4Q7e2RCOFvu396j3x+UCB5iPNgiV
1c8ea0 35 2b 49 33 6c 67 30 32 64 5a 37 37 44 6e 4b 78 48 5a 75 38 41 2f 6c 4a 42 64 69 42 33 51 57 30 5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0
1c8ec0 4b 74 5a 42 36 61 77 42 64 70 55 4b 44 39 6a 66 0a 31 62 30 53 48 7a 55 76 4b 42 64 73 30 70 6a KtZB6awBdpUKD9jf.1b0SHzUvKBds0pj
1c8ee0 42 71 41 6c 6b 64 32 35 48 4e 37 72 4f 72 46 6c 65 61 4a 31 2f 63 74 61 4a 78 51 5a 42 4b 54 35 BqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5
1c8f00 5a 50 74 30 6d 39 53 54 4a 45 61 64 61 6f 30 78 41 48 30 61 68 6d 62 57 6e 4f 6c 46 75 0a 68 6a ZPt0m9STJEadao0xAH0ahmbWnOlFu.hj
1c8f20 75 65 66 58 4b 6e 45 67 56 34 57 65 30 2b 55 58 67 56 43 77 4f 50 6a 64 41 76 42 62 49 2b 65 30 uefXKnEgV4We0+UXgVCwOPjdAvBbI+e0
1c8f40 6f 63 53 33 4d 46 45 76 7a 47 36 75 42 51 45 33 78 44 6b 33 53 7a 79 6e 54 6e 6a 68 38 42 43 4e ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCN
1c8f60 41 77 31 46 74 78 4e 72 51 48 0a 75 73 45 77 4d 46 78 49 74 34 49 37 6d 4b 5a 39 59 49 71 69 6f Aw1FtxNrQH.usEwMFxIt4I7mKZ9YIqio
1c8f80 79 6d 43 7a 4c 71 39 67 77 51 62 6f 6f 4d 44 51 61 48 57 42 66 45 62 77 72 62 77 71 48 79 47 4f ymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO
1c8fa0 30 61 6f 53 43 71 49 33 48 61 61 64 72 38 66 61 71 55 39 47 59 2f 72 0a 4f 50 4e 6b 33 73 67 72 0aoSCqI3Haadr8faqU9GY/r.OPNk3sgr
1c8fc0 44 51 6f 6f 2f 2f 66 62 34 68 56 43 31 43 4c 51 4a 31 33 68 65 66 34 59 35 33 43 49 72 55 37 6d DQoo//fb4hVC1CLQJ13hef4Y53CIrU7m
1c8fe0 32 59 73 36 78 74 30 6e 55 57 37 2f 76 47 54 31 4d 30 4e 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBA
1c9000 4d 41 34 47 0a 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d MA4G.A1UdDwEB/wQEAwIBBjAPBgNVHRM
1c9020 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 35 74 46 6e BAf8EBTADAQH/MB0GA1UdDgQWBBR5tFn
1c9040 6d 65 37 62 6c 35 41 46 7a 67 41 69 49 79 42 70 59 0a 39 75 6d 62 62 6a 41 4e 42 67 6b 71 68 6b me7bl5AFzgAiIyBpY.9umbbjANBgkqhk
1c9060 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 56 52 39 59 71 62 79 79 71 46 44 51 44 4c iG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDL
1c9080 48 59 47 6d 6b 67 4a 79 6b 49 72 47 46 31 58 49 70 75 2b 49 4c 6c 61 53 2f 56 39 6c 5a 4c 0a 75 HYGmkgJykIrGF1XIpu+ILlaS/V9lZL.u
1c90a0 62 68 7a 45 46 6e 54 49 5a 64 2b 35 30 78 78 2b 37 4c 53 59 4b 30 35 71 41 76 71 46 79 46 57 68 bhzEFnTIZd+50xx+7LSYK05qAvqFyFWh
1c90c0 66 46 51 44 6c 6e 72 7a 75 42 5a 36 62 72 4a 46 65 2b 47 6e 59 2b 45 67 50 62 6b 36 5a 47 51 33 fFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3
1c90e0 42 65 62 59 68 74 46 38 47 61 56 0a 30 6e 78 76 77 75 6f 37 37 78 2f 50 79 39 61 75 4a 2f 47 70 BebYhtF8GaV.0nxvwuo77x/Py9auJ/Gp
1c9100 73 4d 69 75 2f 58 31 2b 6d 76 6f 69 42 4f 76 2f 32 58 2f 71 6b 53 73 69 73 52 63 4f 6a 2f 4b 4b sMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
1c9120 4e 46 74 59 32 50 77 42 79 56 53 35 75 43 62 4d 69 6f 67 7a 69 55 77 74 0a 68 44 79 43 33 2b 36 NFtY2PwByVS5uCbMiogziUwt.hDyC3+6
1c9140 57 56 77 57 36 4c 4c 76 33 78 4c 66 48 54 6a 75 43 76 6a 48 49 49 6e 4e 7a 6b 74 48 43 67 4b 51 WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ
1c9160 35 4f 52 41 7a 49 34 4a 4d 50 4a 2b 47 73 6c 57 59 48 62 34 70 68 6f 77 69 6d 35 37 69 61 7a 74 5ORAzI4JMPJ+GslWYHb4phowim57iazt
1c9180 58 4f 6f 4a 77 0a 54 64 77 4a 78 34 6e 4c 43 67 64 4e 62 4f 68 64 6a 73 6e 76 7a 71 76 48 75 37 XOoJw.TdwJx4nLCgdNbOhdjsnvzqvHu7
1c91a0 55 72 54 6b 58 57 53 74 41 6d 7a 4f 56 79 79 67 68 71 70 5a 58 6a 46 61 48 33 70 4f 33 4a 4c 46 UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF
1c91c0 2b 6c 2b 2f 2b 73 4b 41 49 75 76 74 64 37 75 2b 4e 78 0a 65 35 41 57 30 77 64 65 52 6c 4e 38 4e +l+/+sKAIuvtd7u+Nx.e5AW0wdeRlN8N
1c91e0 77 64 43 6a 4e 50 45 6c 70 7a 56 6d 62 55 71 34 4a 55 61 67 45 69 75 54 44 6b 48 7a 73 78 48 70 wdCjNPElpzVmbUq4JUagEiuTDkHzsxHp
1c9200 46 4b 56 4b 37 71 34 2b 36 33 53 4d 31 4e 39 35 52 31 4e 62 64 57 68 73 63 64 43 62 2b 5a 41 0a FKVK7q4+63SM1N95R1NbdWhscdCb+ZA.
1c9220 4a 7a 56 63 6f 79 69 33 42 34 33 6e 6a 54 4f 51 35 79 4f 66 2b 31 43 63 65 57 78 47 31 62 51 56 JzVcoyi3B43njTOQ5yOf+1CceWxG1bQV
1c9240 73 35 5a 75 66 70 73 4d 6c 6a 71 34 55 69 30 2f 31 6c 76 68 2b 77 6a 43 68 50 34 6b 71 4b 4f 4a s5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ
1c9260 32 71 78 71 34 52 67 71 73 61 68 44 0a 59 56 76 54 48 39 77 37 6a 58 62 79 4c 65 69 4e 64 64 38 2qxq4RgqsahD.YVvTH9w7jXbyLeiNdd8
1c9280 58 4d 32 77 39 55 2f 74 37 79 30 46 66 2f 39 79 69 30 47 45 34 34 5a 61 34 72 46 32 4c 4e 39 64 XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d
1c92a0 31 31 54 50 41 6d 52 47 75 6e 55 48 42 63 6e 57 45 76 67 4a 42 51 6c 39 6e 0a 4a 45 69 55 30 5a 11TPAmRGunUHBcnWEvgJBQl9n.JEiU0Z
1c92c0 73 6e 76 67 63 2f 75 62 68 50 67 58 52 52 34 58 71 33 37 5a 30 6a 34 72 37 67 31 53 67 45 45 7a snvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEz
1c92e0 77 78 41 35 37 64 65 6d 79 50 78 67 63 59 78 6e 2f 65 52 34 34 2f 4b 4a 34 45 42 73 2b 6c 56 44 wxA57demyPxgcYxn/eR44/KJ4EBs+lVD
1c9300 52 33 76 65 79 4a 0a 6d 2b 6b 58 51 39 39 62 32 31 2f 2b 6a 68 35 58 6f 73 31 41 6e 58 35 69 49 R3veyJ.m+kXQ99b21/+jh5Xos1AnX5iI
1c9320 74 72 65 47 43 63 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d treGCc=.-----END.CERTIFICATE----
1c9340 2d 0a 0a 41 43 20 52 41 49 5a 20 46 4e 4d 54 2d 52 43 4d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -..AC.RAIZ.FNMT-RCM.============
1c9360 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c9380 0a 4d 49 49 46 67 7a 43 43 41 32 75 67 41 77 49 42 41 67 49 50 58 5a 4f 4e 4d 47 63 32 79 41 59 .MIIFgzCCA2ugAwIBAgIPXZONMGc2yAY
1c93a0 64 47 73 64 55 68 47 6b 48 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 44 73 dGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDs
1c93c0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 0a 41 6b 56 54 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 xCzAJBgNVBAYT.AkVTMREwDwYDVQQKDA
1c93e0 68 47 54 6b 31 55 4c 56 4a 44 54 54 45 5a 4d 42 63 47 41 31 55 45 43 77 77 51 51 55 4d 67 55 6b hGTk1ULVJDTTEZMBcGA1UECwwQQUMgUk
1c9400 46 4a 57 69 42 47 54 6b 31 55 4c 56 4a 44 54 54 41 65 46 77 30 77 4f 44 45 77 0a 4d 6a 6b 78 4e FJWiBGTk1ULVJDTTAeFw0wODEw.MjkxN
1c9420 54 55 35 4e 54 5a 61 46 77 30 7a 4d 44 41 78 4d 44 45 77 4d 44 41 77 4d 44 42 61 4d 44 73 78 43 TU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxC
1c9440 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 54 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 47 54 zAJBgNVBAYTAkVTMREwDwYDVQQKDAhGT
1c9460 6b 31 55 4c 56 4a 44 0a 54 54 45 5a 4d 42 63 47 41 31 55 45 43 77 77 51 51 55 4d 67 55 6b 46 4a k1ULVJD.TTEZMBcGA1UECwwQQUMgUkFJ
1c9480 57 69 42 47 54 6b 31 55 4c 56 4a 44 54 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e WiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcN
1c94a0 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 0a 67 67 49 42 41 4c 70 78 67 48 70 AQEBBQADggIPADCCAgoC.ggIBALpxgHp
1c94c0 4d 68 6d 35 2f 79 42 4e 74 77 4d 5a 39 48 41 43 58 6a 79 77 4d 49 37 73 51 6d 6b 43 70 47 72 65 Mhm5/yBNtwMZ9HACXjywMI7sQmkCpGre
1c94e0 48 69 50 69 62 56 6d 72 37 35 6e 75 4f 69 35 4b 4f 70 79 56 64 57 52 48 62 4e 69 36 33 55 52 63 HiPibVmr75nuOi5KOpyVdWRHbNi63URc
1c9500 66 0a 71 51 67 66 42 42 63 6b 57 4b 6f 33 53 68 6a 66 35 54 6e 55 56 2f 33 58 77 53 79 52 41 5a f.qQgfBBckWKo3Shjf5TnUV/3XwSyRAZ
1c9520 48 69 49 74 51 44 77 46 6a 38 64 30 66 73 6a 7a 35 30 51 37 71 73 4e 49 31 4e 4f 48 5a 6e 6a 72 HiItQDwFj8d0fsjz50Q7qsNI1NOHZnjr
1c9540 44 49 62 7a 41 7a 57 48 46 63 74 50 56 72 0a 62 74 51 42 55 4c 67 54 66 6d 78 4b 6f 30 6e 52 49 DIbzAzWHFctPVr.btQBULgTfmxKo0nRI
1c9560 42 6e 75 76 4d 41 70 47 47 57 6e 33 76 37 76 33 51 71 51 49 65 63 61 5a 35 4a 43 45 4a 68 66 54 BnuvMApGGWn3v7v3QqQIecaZ5JCEJhfT
1c9580 7a 43 38 50 68 78 46 74 42 44 58 61 45 41 55 77 45 44 36 35 33 63 58 65 75 59 4c 0a 6a 32 56 62 zC8PhxFtBDXaEAUwED653cXeuYL.j2Vb
1c95a0 50 4e 6d 61 55 74 75 31 76 5a 35 47 7a 7a 33 72 6b 51 55 43 77 4a 61 79 64 6b 78 4e 45 4a 59 37 PNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7
1c95c0 6b 76 71 63 66 77 2b 5a 33 37 34 6a 4e 55 55 65 41 6c 7a 2b 74 61 69 62 6d 53 58 61 58 76 4d 69 kvqcfw+Z374jNUUeAlz+taibmSXaXvMi
1c95e0 77 7a 6e 31 35 43 6f 75 0a 30 38 59 66 78 47 79 71 78 52 78 71 41 51 56 4b 4c 39 4c 46 77 61 67 wzn15Cou.08YfxGyqxRxqAQVKL9LFwag
1c9600 30 4a 6c 31 6d 70 64 49 43 49 66 6b 59 74 77 62 31 54 70 6c 76 71 4b 74 4d 55 65 6a 50 55 42 6a 0Jl1mpdICIfkYtwb1TplvqKtMUejPUBj
1c9620 46 64 38 67 35 43 53 78 4a 6b 6a 4b 5a 71 4c 73 58 46 33 6d 77 0a 57 73 58 6d 6f 38 52 5a 5a 55 Fd8g5CSxJkjKZqLsXF3mw.WsXmo8RZZU
1c9640 63 31 67 31 36 70 36 44 55 4c 6d 62 76 6b 7a 53 44 47 6d 30 6f 47 4f 62 56 6f 2f 43 4b 36 37 6c c1g16p6DULmbvkzSDGm0oGObVo/CK67l
1c9660 57 4d 4b 30 37 71 38 37 48 6a 2f 4c 61 5a 6d 74 56 43 2b 6e 46 4e 43 4d 2b 48 48 6d 70 78 66 66 WMK07q87Hj/LaZmtVC+nFNCM+HHmpxff
1c9680 6e 54 0a 74 4f 6d 6c 63 59 46 37 77 6b 35 48 6c 71 58 32 64 6f 57 6a 4b 49 2f 70 67 47 36 42 55 nT.tOmlcYF7wk5HlqX2doWjKI/pgG6BU
1c96a0 36 56 74 58 37 68 49 2b 63 4c 35 4e 71 59 75 53 66 2b 34 6c 73 4b 4d 42 37 4f 62 69 46 6a 38 36 6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86
1c96c0 78 73 63 33 69 31 77 34 70 65 53 4d 4b 47 4a 0a 34 37 78 56 71 43 66 57 53 2b 32 51 72 59 76 36 xsc3i1w4peSMKGJ.47xVqCfWS+2QrYv6
1c96e0 59 79 56 5a 4c 61 67 31 33 63 71 58 4d 37 7a 6c 7a 63 65 64 30 65 7a 76 58 67 35 4b 6b 41 59 6d YyVZLag13cqXM7zlzced0ezvXg5KkAYm
1c9700 59 36 32 35 32 54 55 74 42 37 70 32 5a 53 79 73 56 34 39 39 39 41 65 55 31 34 45 43 0a 6c 6c 32 Y6252TUtB7p2ZSysV4999AeU14EC.ll2
1c9720 6a 42 30 6e 56 65 74 42 58 2b 52 76 6e 55 30 5a 31 71 72 42 35 51 73 74 6f 63 51 6a 70 59 4c 30 jB0nVetBX+RvnU0Z1qrB5QstocQjpYL0
1c9740 35 61 63 37 30 72 38 4e 57 51 4d 65 74 55 71 49 4a 35 47 2b 47 52 34 6f 66 36 79 67 6e 58 59 4d 5ac70r8NWQMetUqIJ5G+GR4of6ygnXYM
1c9760 67 72 77 54 4a 62 46 61 61 0a 69 30 62 31 41 67 4d 42 41 41 47 6a 67 59 4d 77 67 59 41 77 44 77 grwTJbFaa.i0b1AgMBAAGjgYMwgYAwDw
1c9780 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 YDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf
1c97a0 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 46 50 64 39 78 66 33 45 36 8EBAMCAQYwHQYDVR0OBBYE.FPd9xf3E6
1c97c0 4a 6f 62 64 32 53 6e 39 52 32 67 7a 4c 2b 48 59 4a 70 74 4d 44 34 47 41 31 55 64 49 41 51 33 4d Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3M
1c97e0 44 55 77 4d 77 59 45 56 52 30 67 41 44 41 72 4d 43 6b 47 43 43 73 47 41 51 55 46 42 77 49 42 46 DUwMwYEVR0gADArMCkGCCsGAQUFBwIBF
1c9800 68 31 6f 0a 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 4e 6c 63 6e 51 75 5a 6d 35 74 64 43 35 6c h1o.dHRwOi8vd3d3LmNlcnQuZm5tdC5l
1c9820 63 79 39 6b 63 47 4e 7a 4c 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 cy9kcGNzLzANBgkqhkiG9w0BAQsFAAOC
1c9840 41 67 45 41 42 35 42 4b 33 2f 4d 6a 54 76 44 44 0a 6e 46 46 6c 6d 35 77 69 6f 6f 6f 4d 68 66 4e AgEAB5BK3/MjTvDD.nFFlm5wioooMhfN
1c9860 7a 4b 57 74 4e 2f 67 48 69 71 51 78 6a 41 62 38 45 5a 36 57 64 6d 46 2f 39 41 52 50 36 37 4a 70 zKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jp
1c9880 69 36 59 62 2b 74 6d 4c 53 62 6b 79 55 2b 38 42 31 52 58 78 6c 44 50 69 79 4e 38 2b 73 0a 44 38 i6Yb+tmLSbkyU+8B1RXxlDPiyN8+s.D8
1c98a0 2b 4e 62 2f 6b 5a 39 34 2f 73 48 76 4a 77 6e 76 44 4b 75 4f 2b 33 2f 33 59 33 64 6c 76 32 62 6f +Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bo
1c98c0 6a 7a 72 32 49 79 49 70 4d 4e 4f 6d 71 4f 46 47 59 4d 4c 56 4e 30 56 32 55 65 31 62 4c 64 49 34 jzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4
1c98e0 45 37 70 57 59 6a 4a 32 63 4a 0a 6a 2b 46 33 71 6b 50 4e 5a 56 45 49 37 56 46 59 2f 75 59 35 2b E7pWYjJ2cJ.j+F3qkPNZVEI7VFY/uY5+
1c9900 63 74 48 68 4b 51 56 38 58 61 37 70 4f 36 6b 4f 38 52 66 37 37 49 7a 6c 68 45 59 74 38 6c 6c 76 ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llv
1c9920 68 6a 68 6f 36 54 63 2b 68 6a 35 30 37 77 54 6d 7a 6c 36 4e 4c 72 54 0a 51 66 76 36 4d 6f 6f 71 hjho6Tc+hj507wTmzl6NLrT.Qfv6Mooq
1c9940 74 79 75 47 43 32 6d 44 4f 4c 37 4e 69 69 34 4c 63 4b 32 4e 4a 70 4c 75 48 76 55 42 4b 77 72 5a tyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ
1c9960 31 70 65 62 62 75 43 6f 47 52 77 36 49 59 73 4d 48 6b 43 74 41 2b 66 64 5a 6e 37 31 75 53 41 4e 1pebbuCoGRw6IYsMHkCtA+fdZn71uSAN
1c9980 41 2b 69 57 0a 2b 59 4a 46 31 44 6e 67 6f 41 42 64 31 35 6a 6d 66 5a 35 6e 63 38 4f 61 4b 76 65 A+iW.+YJF1DngoABd15jmfZ5nc8OaKve
1c99a0 72 69 36 45 36 46 4f 38 30 76 46 49 4f 69 5a 69 61 42 45 43 45 48 58 35 46 61 5a 4e 58 7a 75 76 ri6E6FO80vFIOiZiaBECEHX5FaZNXzuv
1c99c0 4f 2b 46 42 38 54 78 78 75 42 45 4f 62 2b 64 59 37 0a 49 78 6a 70 36 6f 37 52 54 55 61 4e 38 54 O+FB8TxxuBEOb+dY7.Ixjp6o7RTUaN8T
1c99e0 76 6b 61 73 71 36 2b 79 4f 33 6d 2f 71 5a 41 53 6c 61 57 46 6f 74 34 2f 6e 55 62 51 34 6d 72 63 vkasq6+yO3m/qZASlaWFot4/nUbQ4mrc
1c9a00 46 75 4e 4c 77 79 2b 41 77 46 2b 6d 57 6a 32 7a 73 33 67 79 4c 70 31 74 78 79 4d 2f 31 64 0a 38 FuNLwy+AwF+mWj2zs3gyLp1txyM/1d.8
1c9a20 69 43 39 64 6a 77 6a 32 69 6a 33 2b 52 76 72 57 57 54 56 33 46 39 79 66 69 44 38 7a 59 6d 31 6b iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1k
1c9a40 47 64 4e 59 6e 6f 2f 54 71 30 64 77 7a 6e 2b 65 76 51 6f 46 74 39 42 39 6b 69 41 42 64 63 50 55 GdNYno/Tq0dwzn+evQoFt9B9kiABdcPU
1c9a60 58 6d 73 45 4b 76 55 37 41 4e 6d 0a 35 6d 71 77 75 6a 47 53 51 6b 42 71 76 6a 72 54 63 75 46 71 XmsEKvU7ANm.5mqwujGSQkBqvjrTcuFq
1c9a80 4e 31 57 38 72 42 32 56 74 32 6c 68 38 6b 4f 52 64 4f 61 67 30 77 6f 6b 52 71 45 49 72 39 62 61 N1W8rB2Vt2lh8kORdOag0wokRqEIr9ba
1c9aa0 52 52 6d 57 31 46 4d 64 57 34 52 35 38 4d 44 33 52 2b 2b 4c 6a 38 55 47 0a 72 70 31 4d 59 70 33 RRmW1FMdW4R58MD3R++Lj8UG.rp1MYp3
1c9ac0 2f 52 67 54 34 30 38 6d 32 45 43 56 41 64 66 34 57 71 73 6c 4b 59 49 59 76 75 75 38 77 64 2b 52 /RgT408m2ECVAdf4WqslKYIYvuu8wd+R
1c9ae0 55 34 72 69 45 6d 56 69 41 71 68 4f 4c 55 54 70 50 53 50 61 4c 74 72 4d 3d 0a 2d 2d 2d 2d 2d 45 U4riEmViAqhOLUTpPSPaLtrM=.-----E
1c9b00 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 ND.CERTIFICATE-----..Amazon.Root
1c9b20 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 .CA.1.================.-----BEGI
1c9b40 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 51 54 43 43 41 69 6d 67 41 N.CERTIFICATE-----.MIIDQTCCAimgA
1c9b60 77 49 42 41 67 49 54 42 6d 79 66 7a 35 6d 2f 6a 41 6f 35 34 76 42 34 69 6b 50 6d 6c 6a 5a 62 79 wIBAgITBmyfz5m/jAo54vB4ikPmljZby
1c9b80 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 41 35 4d 51 73 77 43 51 59 44 0a jANBgkqhkiG9w0BAQsFADA5MQswCQYD.
1c9ba0 56 51 51 47 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 VQQGEwJVUzEPMA0GA1UEChMGQW1hem9u
1c9bc0 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 MRkwFwYDVQQDExBBbWF6b24gUm9vdCBD
1c9be0 51 53 41 78 4d 42 34 58 44 54 45 31 0a 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d QSAxMB4XDTE1.MDUyNjAwMDAwMFoXDTM
1c9c00 34 4d 44 45 78 4e 7a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 4MDExNzAwMDAwMFowOTELMAkGA1UEBhM
1c9c20 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 0a 62 6a 45 5a 4d 42 CVVMxDzANBgNVBAoTBkFtYXpv.bjEZMB
1c9c40 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4d 54 cGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMT
1c9c60 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 CCASIwDQYJKoZIhvcNAQEBBQADggEPAD
1c9c80 43 43 41 51 6f 43 0a 67 67 45 42 41 4c 4a 34 67 48 48 4b 65 4e 58 6a 63 61 39 48 67 46 42 30 66 CCAQoC.ggEBALJ4gHHKeNXjca9HgFB0f
1c9ca0 57 37 59 31 34 68 32 39 4a 6c 6f 39 31 67 68 59 50 6c 30 68 41 45 76 72 41 49 74 68 74 4f 67 51 W7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ
1c9cc0 33 70 4f 73 71 54 51 4e 72 6f 42 76 6f 33 62 53 4d 67 48 0a 46 7a 5a 4d 39 4f 36 49 49 38 63 2b 3pOsqTQNroBvo3bSMgH.FzZM9O6II8c+
1c9ce0 36 7a 66 31 74 52 6e 34 53 57 69 77 33 74 65 35 64 6a 67 64 59 5a 36 6b 2f 6f 49 32 70 65 56 4b 6zf1tRn4SWiw3te5djgdYZ6k/oI2peVK
1c9d00 56 75 52 46 34 66 6e 39 74 42 62 36 64 4e 71 63 6d 7a 55 35 4c 2f 71 77 49 46 41 47 62 48 72 51 VuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
1c9d20 0a 67 4c 4b 6d 2b 61 2f 73 52 78 6d 50 55 44 67 48 33 4b 4b 48 4f 56 6a 34 75 74 57 70 2b 55 68 .gLKm+a/sRxmPUDgH3KKHOVj4utWp+Uh
1c9d40 6e 4d 4a 62 75 6c 48 68 65 62 34 6d 6a 55 63 41 77 68 6d 61 68 52 57 61 36 56 4f 75 6a 77 35 48 nMJbulHheb4mjUcAwhmahRWa6VOujw5H
1c9d60 35 53 4e 7a 2f 30 65 67 77 4c 58 30 74 0a 64 48 41 31 31 34 67 6b 39 35 37 45 57 57 36 37 63 34 5SNz/0egwLX0t.dHA114gk957EWW67c4
1c9d80 63 58 38 6a 4a 47 4b 4c 68 44 2b 72 63 64 71 73 71 30 38 70 38 6b 44 69 31 4c 39 33 46 63 58 6d cX8jJGKLhD+rcdqsq08p8kDi1L93FcXm
1c9da0 6e 2f 36 70 55 43 79 7a 69 4b 72 6c 41 34 62 39 76 37 4c 57 49 62 78 63 63 65 0a 56 4f 46 33 34 n/6pUCyziKrlA4b9v7LWIbxcce.VOF34
1c9dc0 47 66 49 44 35 79 48 49 39 59 2f 51 43 42 2f 49 49 44 45 67 45 77 2b 4f 79 51 6d 6a 67 53 75 62 GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSub
1c9de0 4a 72 49 71 67 30 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 JrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/B
1c9e00 41 55 77 41 77 45 42 0a 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 AUwAwEB./zAOBgNVHQ8BAf8EBAMCAYYw
1c9e20 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 51 59 7a 49 55 30 37 4c 77 4d 6c 4a 51 75 43 46 6d 63 HQYDVR0OBBYEFIQYzIU07LwMlJQuCFmc
1c9e40 78 37 49 51 54 67 6f 49 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 43 77 55 41 41 34 49 x7IQTgoIMA0GCSqGSIb3.DQEBCwUAA4I
1c9e60 42 41 51 43 59 38 6a 64 61 51 5a 43 68 47 73 56 32 55 53 67 67 4e 69 4d 4f 72 75 59 6f 75 36 72 BAQCY8jdaQZChGsV2USggNiMOruYou6r
1c9e80 34 6c 4b 35 49 70 44 42 2f 47 2f 77 6b 6a 55 75 30 79 4b 47 58 39 72 62 78 65 6e 44 49 55 35 50 4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5P
1c9ea0 4d 0a 43 43 6a 6a 6d 43 58 50 49 36 54 35 33 69 48 54 66 49 55 4a 72 55 36 61 64 54 72 43 43 32 M.CCjjmCXPI6T53iHTfIUJrU6adTrCC2
1c9ec0 71 4a 65 48 5a 45 52 78 68 6c 62 49 31 42 6a 6a 74 2f 6d 73 76 30 74 61 64 51 31 77 55 73 4e 2b qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+
1c9ee0 67 44 53 36 33 70 59 61 41 43 62 76 58 79 0a 38 4d 57 79 37 56 75 33 33 50 71 55 58 48 65 65 45 gDS63pYaACbvXy.8MWy7Vu33PqUXHeeE
1c9f00 36 56 2f 55 71 32 56 38 76 69 54 4f 39 36 4c 58 46 76 4b 57 6c 4a 62 59 4b 38 55 39 30 76 76 6f 6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo
1c9f20 2f 75 66 51 4a 56 74 4d 56 54 38 51 74 50 48 52 68 38 6a 72 64 6b 50 53 48 43 61 0a 32 58 56 34 /ufQJVtMVT8QtPHRh8jrdkPSHCa.2XV4
1c9f40 63 64 46 79 51 7a 52 31 62 6c 64 5a 77 67 4a 63 4a 6d 41 70 7a 79 4d 5a 46 6f 36 49 51 36 58 55 cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
1c9f60 35 4d 73 49 2b 79 4d 52 51 2b 68 44 4b 58 4a 69 6f 61 6c 64 58 67 6a 55 6b 4b 36 34 32 4d 34 55 5MsI+yMRQ+hDKXJioaldXgjUkK642M4U
1c9f80 77 74 42 56 38 6f 62 32 0a 78 4a 4e 44 64 32 5a 68 77 4c 6e 6f 51 64 65 58 65 47 41 44 62 6b 70 wtBV8ob2.xJNDd2ZhwLnoQdeXeGADbkp
1c9fa0 79 72 71 58 52 66 62 6f 51 6e 6f 5a 73 47 34 71 35 57 54 50 34 36 38 53 51 76 76 47 35 0a 2d 2d yrqXRfboQnoZsG4q5WTP468SQvvG5.--
1c9fc0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 ---END.CERTIFICATE-----..Amazon.
1c9fe0 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d Root.CA.2.================.-----
1ca000 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 51 54 43 43 41 BEGIN.CERTIFICATE-----.MIIFQTCCA
1ca020 79 6d 67 41 77 49 42 41 67 49 54 42 6d 79 66 30 70 59 31 68 70 38 4b 44 2b 57 47 65 50 68 62 4a ymgAwIBAgITBmyf0pY1hp8KD+WGePhbJ
1ca040 72 75 4b 4e 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 41 35 4d 51 73 77 43 ruKNzANBgkqhkiG9w0BAQwFADA5MQswC
1ca060 51 59 44 0a 56 51 51 47 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 QYD.VQQGEwJVUzEPMA0GA1UEChMGQW1h
1ca080 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 em9uMRkwFwYDVQQDExBBbWF6b24gUm9v
1ca0a0 64 43 42 44 51 53 41 79 4d 42 34 58 44 54 45 31 0a 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f dCBDQSAyMB4XDTE1.MDUyNjAwMDAwMFo
1ca0c0 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 XDTQwMDUyNjAwMDAwMFowOTELMAkGA1U
1ca0e0 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 0a 62 6a EBhMCVVMxDzANBgNVBAoTBkFtYXpv.bj
1ca100 45 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 EZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0
1ca120 45 67 4d 6a 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 EgMjCCAiIwDQYJKoZIhvcNAQEBBQADgg
1ca140 49 50 41 44 43 43 41 67 6f 43 0a 67 67 49 42 41 4b 32 57 6e 79 32 63 53 6b 78 4b 67 58 6c 52 6d IPADCCAgoC.ggIBAK2Wny2cSkxKgXlRm
1ca160 65 79 4b 79 32 74 67 55 52 4f 38 54 57 30 47 2f 4c 41 49 6a 64 30 5a 45 47 72 48 4a 67 77 31 32 eyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12
1ca180 4d 42 76 49 49 54 70 6c 4c 47 62 68 51 50 44 57 39 74 4b 36 4d 6a 34 0a 6b 48 62 5a 57 30 2f 6a MBvIITplLGbhQPDW9tK6Mj4.kHbZW0/j
1ca1a0 54 4f 67 47 4e 6b 33 4d 6d 71 77 39 44 4a 41 72 6b 74 51 47 47 57 43 73 4e 30 52 35 68 59 47 43 TOgGNk3Mmqw9DJArktQGGWCsN0R5hYGC
1ca1c0 72 56 6f 33 34 41 33 4d 6e 61 5a 4d 55 6e 62 71 51 35 32 33 42 4e 46 51 39 6c 58 67 31 64 4b 6d rVo34A3MnaZMUnbqQ523BNFQ9lXg1dKm
1ca1e0 53 59 58 70 0a 4e 2b 6e 4b 66 71 35 63 6c 55 31 49 6d 6a 2b 75 49 46 70 74 69 4a 58 5a 4e 4c 68 SYXp.N+nKfq5clU1Imj+uIFptiJXZNLh
1ca200 53 47 6b 4f 51 73 4c 39 73 42 62 6d 32 65 4c 66 71 30 4f 51 36 50 42 4a 54 59 76 39 4b 38 6e 75 SGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu
1ca220 2b 4e 51 57 70 45 6a 54 6a 38 32 52 30 59 69 77 39 0a 41 45 6c 61 4b 50 34 79 52 4c 75 48 33 57 +NQWpEjTj82R0Yiw9.AElaKP4yRLuH3W
1ca240 55 6e 41 6e 45 37 32 6b 72 33 48 39 72 4e 39 79 46 56 6b 45 38 50 37 4b 36 43 34 5a 39 72 32 55 UnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2U
1ca260 58 54 75 2f 42 66 68 2b 30 38 4c 44 6d 47 32 6a 2f 65 37 48 4a 56 36 33 6d 6a 72 64 76 64 0a 66 XTu/Bfh+08LDmG2j/e7HJV63mjrdvd.f
1ca280 4c 43 36 48 4d 37 38 33 6b 38 31 64 73 38 50 2b 48 67 66 61 6a 5a 52 52 69 64 68 57 2b 6d 65 7a LC6HM783k81ds8P+HgfajZRRidhW+mez
1ca2a0 2f 43 69 56 58 31 38 4a 59 70 76 4c 37 54 46 7a 34 51 75 4b 2f 30 4e 55 52 42 73 2b 31 38 62 76 /CiVX18JYpvL7TFz4QuK/0NURBs+18bv
1ca2c0 42 74 2b 78 61 34 37 6d 41 45 78 0a 6b 76 38 4c 56 2f 53 61 73 72 6c 58 36 61 76 76 44 58 62 52 Bt+xa47mAEx.kv8LV/SasrlX6avvDXbR
1ca2e0 38 4f 37 30 7a 6f 61 6e 34 47 37 70 74 47 6d 68 33 32 6e 32 4d 38 5a 70 4c 70 63 54 6e 71 57 48 8O70zoan4G7ptGmh32n2M8ZpLpcTnqWH
1ca300 73 46 63 51 67 54 66 4a 55 37 4f 37 66 2f 61 53 30 5a 7a 51 47 50 53 53 0a 62 74 71 44 54 36 5a sFcQgTfJU7O7f/aS0ZzQGPSS.btqDT6Z
1ca320 6a 6d 55 79 6c 2b 31 37 76 49 57 52 36 49 46 39 73 5a 49 55 56 79 7a 66 70 59 67 77 4c 4b 68 62 jmUyl+17vIWR6IF9sZIUVyzfpYgwLKhb
1ca340 63 41 53 34 79 32 6a 35 4c 39 5a 34 36 39 68 64 41 6c 4f 2b 65 6b 51 69 47 2b 72 35 6a 71 46 6f cAS4y2j5L9Z469hdAlO+ekQiG+r5jqFo
1ca360 7a 37 4d 74 30 0a 51 35 58 35 62 47 6c 53 4e 73 63 70 62 2f 78 56 41 31 77 66 2b 35 2b 39 52 2b z7Mt0.Q5X5bGlSNscpb/xVA1wf+5+9R+
1ca380 76 6e 53 55 65 56 43 30 36 4a 49 67 6c 4a 34 50 56 68 48 76 47 2f 4c 6f 70 79 62 6f 42 5a 2f 31 vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1
1ca3a0 63 36 2b 58 55 79 6f 30 35 66 37 4f 30 6f 59 74 6c 4e 0a 63 2f 4c 4d 67 52 64 67 37 63 33 72 33 c6+XUyo05f7O0oYtlN.c/LMgRdg7c3r3
1ca3c0 4e 75 6e 79 73 56 2b 41 72 33 79 56 41 68 55 2f 62 51 74 43 53 77 58 56 45 71 59 30 56 54 68 55 NunysV+Ar3yVAhU/bQtCSwXVEqY0VThU
1ca3e0 57 63 49 30 75 31 75 66 6d 38 2f 30 69 32 42 57 53 6c 6d 79 35 41 35 6c 52 45 65 64 43 66 2b 0a WcI0u1ufm8/0i2BWSlmy5A5lREedCf+.
1ca400 33 65 75 76 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQF
1ca420 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 MAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0G
1ca440 41 31 55 64 44 67 51 57 42 42 53 77 0a 44 50 42 4d 4d 50 51 46 57 41 4a 49 2f 54 50 6c 55 71 39 A1UdDgQWBBSw.DPBMMPQFWAJI/TPlUq9
1ca460 4c 68 4f 4e 6d 55 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 41 4f 43 41 67 45 LhONmUjANBgkqhkiG9w0BAQwFAAOCAgE
1ca480 41 71 71 69 41 6a 77 35 34 6f 2b 43 69 31 4d 33 6d 39 5a 68 36 4f 2b 6f 41 0a 41 37 43 58 44 70 AqqiAjw54o+Ci1M3m9Zh6O+oA.A7CXDp
1ca4a0 4f 38 57 71 6a 32 4c 49 78 79 68 36 6d 78 2f 48 39 7a 2f 57 4e 78 65 4b 57 48 57 63 38 77 34 51 O8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q
1ca4c0 30 51 73 68 4e 61 62 59 4c 31 61 75 61 41 6e 36 41 46 43 32 6a 6b 52 32 76 48 61 74 2b 32 2f 58 0QshNabYL1auaAn6AFC2jkR2vHat+2/X
1ca4e0 63 79 63 75 55 59 0a 2b 67 6e 30 6f 4a 4d 73 58 64 4b 4d 64 59 56 32 5a 5a 41 4d 41 33 6d 33 4d cycuUY.+gn0oJMsXdKMdYV2ZZAMA3m3M
1ca500 53 4e 6a 72 58 69 44 43 59 5a 6f 68 4d 72 2f 2b 63 38 6d 6d 70 4a 35 35 38 31 4c 78 65 64 68 70 SNjrXiDCYZohMr/+c8mmpJ5581Lxedhp
1ca520 78 66 4c 38 36 6b 53 6b 35 4e 72 70 2b 67 76 55 35 4c 45 0a 59 46 69 77 7a 41 4a 52 47 46 75 46 xfL86kSk5Nrp+gvU5LE.YFiwzAJRGFuF
1ca540 6a 57 4a 5a 59 37 61 74 74 4e 36 61 2b 79 62 33 41 43 66 41 58 56 55 33 64 4a 6e 4a 55 48 2f 6a jWJZY7attN6a+yb3ACfAXVU3dJnJUH/j
1ca560 57 53 35 45 34 79 77 6c 37 75 78 4d 4d 6e 65 30 6e 78 72 70 53 31 30 67 78 64 72 39 48 49 63 57 WS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
1ca580 0a 78 6b 50 6f 31 4c 73 6d 6d 6b 56 77 58 71 6b 4c 4e 31 50 69 52 6e 73 6e 2f 65 42 47 38 6f 6d .xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om
1ca5a0 33 7a 45 4b 32 79 79 67 6d 62 74 6d 6c 79 54 72 49 51 52 4e 67 39 31 43 4d 46 61 36 79 62 52 6f 3zEK2yygmbtmlyTrIQRNg91CMFa6ybRo
1ca5c0 56 47 6c 64 34 35 70 49 71 32 57 57 51 0a 67 6a 39 73 41 71 2b 75 45 6a 6f 6e 6c 6a 59 45 31 78 VGld45pIq2WWQ.gj9sAq+uEjonljYE1x
1ca5e0 32 69 67 47 4f 70 6d 2f 48 6c 75 72 52 38 46 4c 42 4f 79 62 45 66 64 46 38 34 39 6c 48 71 6d 2f 2igGOpm/HlurR8FLBOybEfdF849lHqm/
1ca600 6f 73 6f 68 48 55 71 53 30 6e 47 6b 57 78 72 37 4a 4f 63 51 33 41 57 45 62 57 0a 61 51 62 4c 55 osohHUqS0nGkWxr7JOcQ3AWEbW.aQbLU
1ca620 38 75 7a 2f 6d 74 42 7a 55 46 2b 66 55 77 50 66 48 4a 35 65 6c 6e 4e 58 6b 6f 4f 72 4a 75 70 6d 8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupm
1ca640 48 4e 35 66 4c 54 30 7a 4c 6d 34 42 77 79 79 64 46 79 34 78 32 2b 49 6f 5a 43 6e 39 4b 72 35 76 HN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v
1ca660 32 63 36 39 42 6f 56 0a 59 68 36 33 6e 37 34 39 73 53 6d 76 5a 36 45 53 38 6c 67 51 47 56 4d 44 2c69BoV.Yh63n749sSmvZ6ES8lgQGVMD
1ca680 4d 42 75 34 47 6f 6e 32 6e 4c 32 58 41 34 36 6a 43 66 4d 64 69 79 48 78 74 4e 2f 6b 48 4e 47 66 MBu4Gon2nL2XA46jCfMdiyHxtN/kHNGf
1ca6a0 5a 51 49 47 36 6c 7a 57 45 37 4f 45 37 36 4b 6c 58 49 78 33 0a 4b 61 64 6f 77 47 75 75 51 4e 4b ZQIG6lzWE7OE76KlXIx3.KadowGuuQNK
1ca6c0 6f 74 4f 72 4e 38 49 31 4c 4f 4a 77 5a 6d 68 73 6f 56 4c 69 4a 6b 4f 2f 4b 64 59 45 2b 48 76 4a otOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJ
1ca6e0 6b 4a 4d 63 59 72 30 37 2f 52 35 34 48 39 6a 56 6c 70 4e 4d 4b 56 76 2f 31 46 32 52 73 37 36 67 kJMcYr07/R54H9jVlpNMKVv/1F2Rs76g
1ca700 69 0a 4a 55 6d 54 74 74 38 41 46 39 70 59 66 6c 33 75 78 52 75 77 30 64 46 66 49 52 44 48 2b 66 i.JUmTtt8AF9pYfl3uxRuw0dFfIRDH+f
1ca720 4f 36 41 67 6f 6e 42 38 58 78 31 73 66 54 34 50 73 4a 59 47 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 O6AgonB8Xx1sfT4PsJYGw=.-----END.
1ca740 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 CERTIFICATE-----..Amazon.Root.CA
1ca760 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 .3.================.-----BEGIN.C
1ca780 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 74 6a 43 43 41 56 75 67 41 77 49 42 ERTIFICATE-----.MIIBtjCCAVugAwIB
1ca7a0 41 67 49 54 42 6d 79 66 31 58 53 58 4e 6d 59 2f 4f 77 75 61 32 65 69 65 64 67 50 79 53 6a 41 4b AgITBmyf1XSXNmY/Owua2eiedgPySjAK
1ca7c0 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 41 35 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a BggqhkjOPQQDAjA5MQswCQYDVQQG.EwJ
1ca7e0 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 VUzEPMA0GA1UEChMGQW1hem9uMRkwFwY
1ca800 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 7a 4d 42 34 DVQQDExBBbWF6b24gUm9vdCBDQSAzMB4
1ca820 58 44 54 45 31 4d 44 55 79 0a 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a XDTE1MDUy.NjAwMDAwMFoXDTQwMDUyNj
1ca840 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a AwMDAwMFowOTELMAkGA1UEBhMCVVMxDz
1ca860 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 62 6a 45 5a 0a 4d 42 63 47 41 31 55 45 41 ANBgNVBAoTBkFtYXpvbjEZ.MBcGA1UEA
1ca880 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4d 7a 42 5a 4d 42 4d 47 42 xMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGB
1ca8a0 79 71 47 53 4d 34 39 41 67 45 47 43 43 71 47 53 4d 34 39 41 77 45 48 41 30 49 41 42 43 6d 58 70 yqGSM49AgEGCCqGSM49AwEHA0IABCmXp
1ca8c0 38 5a 42 0a 66 38 41 4e 6d 2b 67 42 47 31 62 47 38 6c 4b 6c 75 69 32 79 45 75 6a 53 4c 74 66 36 8ZB.f8ANm+gBG1bG8lKlui2yEujSLtf6
1ca8e0 79 63 58 59 71 6d 30 66 63 34 45 37 4f 35 68 72 4f 58 77 7a 70 63 56 4f 68 6f 36 41 46 32 68 69 ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hi
1ca900 52 56 64 39 52 46 67 64 73 7a 66 6c 5a 77 6a 72 0a 5a 74 36 6a 51 6a 42 41 4d 41 38 47 41 31 55 RVd9RFgdszflZwjr.Zt6jQjBAMA8GA1U
1ca920 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 dEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQ
1ca940 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 72 74 74 76 58 42 70 34 33 0a 72 44 DAgGGMB0GA1UdDgQWBBSrttvXBp43.rD
1ca960 43 47 42 35 46 77 78 35 7a 45 47 62 46 34 77 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 67 CGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAg
1ca980 4e 4a 41 44 42 47 41 69 45 41 34 49 57 53 6f 78 65 33 6a 66 6b 72 42 71 57 54 72 42 71 59 61 47 NJADBGAiEA4IWSoxe3jfkrBqWTrBqYaG
1ca9a0 46 79 2b 75 47 68 30 50 73 63 0a 65 47 43 6d 51 35 6e 46 75 4d 51 43 49 51 43 63 41 75 2f 78 6c Fy+uGh0Psc.eGCmQ5nFuMQCIQCcAu/xl
1ca9c0 4a 79 7a 6c 76 6e 72 78 69 72 34 74 69 7a 2b 4f 70 41 55 46 74 65 4d 59 79 52 49 48 4e 38 77 66 Jyzlvnrxir4tiz+OpAUFteMYyRIHN8wf
1ca9e0 64 56 6f 4f 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d dVoOw==.-----END.CERTIFICATE----
1caa00 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -..Amazon.Root.CA.4.============
1caa20 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1caa40 0a 4d 49 49 42 38 6a 43 43 41 58 69 67 41 77 49 42 41 67 49 54 42 6d 79 66 31 38 47 37 45 45 77 .MIIB8jCCAXigAwIBAgITBmyf18G7EEw
1caa60 70 51 2b 56 78 65 33 73 73 79 42 72 42 44 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 41 pQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA
1caa80 35 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 5MQswCQYDVQQG.EwJVUzEPMA0GA1UECh
1caaa0 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 MGQW1hem9uMRkwFwYDVQQDExBBbWF6b2
1caac0 34 67 55 6d 39 76 64 43 42 44 51 53 41 30 4d 42 34 58 44 54 45 31 4d 44 55 79 0a 4e 6a 41 77 4d 4gUm9vdCBDQSA0MB4XDTE1MDUy.NjAwM
1caae0 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d DAwMFoXDTQwMDUyNjAwMDAwMFowOTELM
1cab00 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 AkGA1UEBhMCVVMxDzANBgNVBAoTBkFtY
1cab20 58 70 76 62 6a 45 5a 0a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 XpvbjEZ.MBcGA1UEAxMQQW1hem9uIFJv
1cab40 62 33 51 67 51 30 45 67 4e 44 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 b3QgQ0EgNDB2MBAGByqGSM49AgEGBSuB
1cab60 42 41 41 69 41 32 49 41 42 4e 4b 72 69 6a 64 50 6f 31 4d 4e 0a 2f 73 47 4b 65 30 75 6f 65 30 5a BAAiA2IABNKrijdPo1MN./sGKe0uoe0Z
1cab80 4c 59 37 42 69 39 69 30 62 32 77 68 78 49 64 49 41 36 47 4f 39 6d 69 66 37 38 44 6c 75 58 65 6f LY7Bi9i0b2whxIdIA6GO9mif78DluXeo
1caba0 39 70 63 6d 42 71 71 4e 62 49 4a 68 46 58 52 62 62 2f 65 67 51 62 65 4f 63 34 4f 4f 39 58 34 52 9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4R
1cabc0 69 0a 38 33 42 6b 4d 36 44 4c 4a 43 39 77 75 6f 69 68 4b 71 42 31 2b 49 47 75 59 67 62 45 67 64 i.83BkM6DLJC9wuoihKqB1+IGuYgbEgd
1cabe0 73 35 62 69 6d 77 48 76 6f 75 58 4b 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 s5bimwHvouXKNCMEAwDwYDVR0TAQH/BA
1cac00 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 48 UwAwEB/zAOBgNV.HQ8BAf8EBAMCAYYwH
1cac20 51 59 44 56 52 30 4f 42 42 59 45 46 4e 50 73 78 7a 70 6c 62 73 7a 68 32 6e 61 61 56 76 75 63 38 QYDVR0OBBYEFNPsxzplbszh2naaVvuc8
1cac40 34 5a 74 56 2b 57 42 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 67 41 0a 4d 47 55 43 4ZtV+WBMAoGCCqGSM49BAMDA2gA.MGUC
1cac60 4d 44 71 4c 49 66 47 39 66 68 47 74 30 4f 39 59 6c 69 2f 57 36 35 31 2b 6b 49 30 72 7a 32 5a 56 MDqLIfG9fhGt0O9Yli/W651+kI0rz2ZV
1cac80 77 79 7a 6a 4b 4b 6c 77 43 6b 63 4f 38 44 64 5a 45 76 38 74 6d 5a 51 6f 54 69 70 50 4e 55 30 7a wyzjKKlwCkcO8DdZEv8tmZQoTipPNU0z
1caca0 57 67 49 78 41 4f 70 31 0a 41 45 34 37 78 44 71 55 45 70 48 4a 57 45 61 64 49 52 4e 79 70 34 69 WgIxAOp1.AE47xDqUEpHJWEadIRNyp4i
1cacc0 63 69 75 52 4d 53 74 75 57 31 4b 79 4c 61 32 74 4a 45 6c 4d 7a 72 64 66 6b 76 69 54 38 74 51 70 ciuRMStuW1KyLa2tJElMzrdfkviT8tQp
1cace0 32 31 4b 57 38 45 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 21KW8EA==.-----END.CERTIFICATE--
1cad00 2d 2d 2d 0a 0a 4c 75 78 54 72 75 73 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 32 0a 3d 3d 3d 3d ---..LuxTrust.Global.Root.2.====
1cad20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1cad40 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 77 7a 43 43 41 36 75 67 41 77 49 42 41 RTIFICATE-----.MIIFwzCCA6ugAwIBA
1cad60 67 49 55 43 6e 36 6d 33 30 74 45 6e 74 70 71 4a 49 57 65 35 72 67 56 30 78 5a 2f 75 37 45 77 44 gIUCn6m30tEntpqJIWe5rgV0xZ/u7EwD
1cad80 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 52 6a 45 4c 4d 41 6b 47 0a 41 31 55 45 QYJKoZIhvcNAQELBQAwRjELMAkG.A1UE
1cada0 42 68 4d 43 54 46 55 78 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 78 31 65 46 52 79 64 58 4e 30 BhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0
1cadc0 49 46 4d 75 51 53 34 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6b 78 31 65 46 52 79 64 58 4e 30 IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0
1cade0 49 45 64 73 62 32 4a 68 0a 62 43 42 53 62 32 39 30 49 44 49 77 48 68 63 4e 4d 54 55 77 4d 7a 41 IEdsb2Jh.bCBSb290IDIwHhcNMTUwMzA
1cae00 31 4d 54 4d 79 4d 54 55 33 57 68 63 4e 4d 7a 55 77 4d 7a 41 31 4d 54 4d 79 4d 54 55 33 57 6a 42 1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjB
1cae20 47 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4d 56 54 45 57 0a 4d 42 51 47 41 31 55 45 43 67 GMQswCQYDVQQGEwJMVTEW.MBQGA1UECg
1cae40 77 4e 54 48 56 34 56 48 4a 31 63 33 51 67 55 79 35 42 4c 6a 45 66 4d 42 30 47 41 31 55 45 41 77 wNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAw
1cae60 77 57 54 48 56 34 56 48 4a 31 63 33 51 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 33 51 67 4d 6a wWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMj
1cae80 43 43 0a 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 CC.AiIwDQYJKoZIhvcNAQEBBQADggIPA
1caea0 44 43 43 41 67 6f 43 67 67 49 42 41 4e 65 46 6c 37 38 52 6d 4f 6e 77 59 6f 4e 4d 50 49 66 35 55 DCCAgoCggIBANeFl78RmOnwYoNMPIf5U
1caec0 32 6f 33 43 2f 49 50 50 49 66 4f 62 39 77 6d 0a 4b 62 33 46 69 62 72 4a 67 7a 33 33 37 73 70 62 2o3C/IPPIfOb9wm.Kb3FibrJgz337spb
1caee0 78 6d 31 4a 63 37 54 4a 52 71 4d 62 4e 42 4d 2f 77 59 6c 46 56 2f 54 5a 73 66 73 32 5a 55 76 37 xm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7
1caf00 43 4f 4a 49 63 52 48 49 62 6a 75 65 6e 64 2b 4a 5a 54 65 6d 68 66 59 37 52 42 69 32 0a 78 6a 63 COJIcRHIbjuend+JZTemhfY7RBi2.xjc
1caf20 77 59 6b 53 53 6c 32 6c 39 51 6a 41 6b 35 41 30 4d 69 57 74 6a 33 73 58 68 33 30 36 70 46 47 78 wYkSSl2l9QjAk5A0MiWtj3sXh306pFGx
1caf40 54 34 47 48 4f 39 68 63 76 48 54 79 39 35 69 4a 4d 48 5a 50 31 45 4d 53 68 64 75 78 71 33 73 56 T4GHO9hcvHTy95iJMHZP1EMShduxq3sV
1caf60 73 33 35 61 30 56 6b 42 43 0a 77 47 4b 53 4d 4b 45 74 46 5a 53 67 30 69 41 47 43 57 35 71 62 65 s35a0VkBC.wGKSMKEtFZSg0iAGCW5qbe
1caf80 58 72 74 37 37 55 38 50 45 56 66 49 76 6d 54 72 6f 54 7a 45 73 6e 58 70 6b 38 46 31 32 50 67 58 Xrt77U8PEVfIvmTroTzEsnXpk8F12PgX
1cafa0 38 7a 50 55 2f 54 50 78 76 73 58 44 2f 77 50 45 78 31 62 76 4b 6d 0a 31 5a 33 61 4c 51 64 6a 41 8zPU/TPxvsXD/wPEx1bvKm.1Z3aLQdjA
1cafc0 73 5a 79 36 5a 53 38 54 45 6d 56 54 34 68 53 79 4e 76 6f 61 59 4c 34 7a 44 52 62 49 76 43 47 70 sZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp
1cafe0 34 6d 39 53 41 70 74 5a 6f 46 74 79 4d 68 6b 2b 77 48 68 39 4f 48 65 32 5a 37 64 32 31 76 55 4b 4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUK
1cb000 70 6b 6d 0a 46 52 73 65 54 4a 49 70 67 70 37 56 6b 6f 47 53 51 58 41 5a 39 36 54 6c 6b 30 75 38 pkm.FRseTJIpgp7VkoGSQXAZ96Tlk0u8
1cb020 64 32 63 78 33 52 7a 39 4d 58 41 4e 46 35 6b 4d 2b 51 77 35 47 53 6f 58 74 54 42 78 56 64 55 50 d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUP
1cb040 72 6c 6a 68 50 53 38 30 6d 38 2b 66 39 6e 69 46 0a 77 70 4e 36 63 6a 35 6d 6a 35 77 57 45 57 43 rljhPS80m8+f9niF.wpN6cj5mj5wWEWC
1cb060 50 6e 6f 6c 76 5a 37 37 67 52 31 6f 37 44 4a 70 6e 69 38 39 47 78 71 34 34 6f 2f 4b 6e 76 4f 62 PnolvZ77gR1o7DJpni89Gxq44o/KnvOb
1cb080 57 68 57 73 7a 4a 48 41 69 53 38 73 49 6d 37 76 49 2b 41 49 70 48 62 34 67 44 45 61 2f 0a 61 34 WhWszJHAiS8sIm7vI+AIpHb4gDEa/.a4
1cb0a0 65 62 73 79 70 6d 51 6a 56 47 62 4b 71 36 72 66 6d 59 65 2b 6c 51 56 52 51 78 76 37 48 61 4c 65 ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe
1cb0c0 32 41 72 57 67 6b 2b 32 6d 72 32 48 45 54 4d 4f 5a 6e 73 34 64 41 2f 59 6c 2b 38 6b 50 52 45 64 2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd
1cb0e0 38 76 5a 53 39 6b 7a 6c 38 55 0a 75 62 47 2f 4d 62 32 48 65 46 70 5a 5a 59 69 71 2f 46 6b 79 53 8vZS9kzl8U.ubG/Mb2HeFpZZYiq/FkyS
1cb100 49 62 57 54 4c 6b 70 53 35 58 54 64 76 4e 33 4a 57 31 43 48 44 69 44 54 66 32 6a 58 35 74 2f 4c IbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/L
1cb120 61 78 35 47 77 35 43 4d 5a 64 6a 70 50 75 4b 61 64 55 69 44 54 53 51 0a 4d 43 36 6f 74 4f 42 74 ax5Gw5CMZdjpPuKadUiDTSQ.MC6otOBt
1cb140 74 70 53 73 76 49 74 4f 31 33 44 38 78 54 69 4f 5a 43 58 68 54 54 6d 51 7a 73 6d 48 68 46 68 78 tpSsvItO13D8xTiOZCXhTTmQzsmHhFhx
1cb160 41 67 4d 42 41 41 47 6a 67 61 67 77 67 61 55 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 AgMBAAGjgagwgaUwDwYDVR0TAQH/BAUw
1cb180 41 77 45 42 0a 2f 7a 42 43 42 67 4e 56 48 53 41 45 4f 7a 41 35 4d 44 63 47 42 79 75 42 4b 77 45 AwEB./zBCBgNVHSAEOzA5MDcGByuBKwE
1cb1a0 42 41 51 6f 77 4c 44 41 71 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 65 61 48 52 30 63 48 4d BAQowLDAqBggrBgEFBQcCARYeaHR0cHM
1cb1c0 36 4c 79 39 79 5a 58 42 76 63 32 6c 30 62 33 4a 35 0a 4c 6d 78 31 65 48 52 79 64 58 4e 30 4c 6d 6Ly9yZXBvc2l0b3J5.Lmx1eHRydXN0Lm
1cb1e0 78 31 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 66 42 67 4e 56 48 53 x1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHS
1cb200 4d 45 47 44 41 57 67 42 54 2f 47 43 68 32 2b 55 67 46 4c 4b 47 75 38 53 73 62 4b 37 4a 54 0a 2b MEGDAWgBT/GCh2+UgFLKGu8SsbK7JT.+
1cb220 45 74 38 73 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 2f 78 67 6f 64 76 6c 49 42 53 79 68 72 Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhr
1cb240 76 45 72 47 79 75 79 55 2f 68 4c 66 4c 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 vErGyuyU/hLfLMwDQYJKoZIhvcNAQELB
1cb260 51 41 44 67 67 49 42 41 47 6f 5a 0a 46 4f 31 75 65 63 45 73 68 39 51 4e 63 48 37 58 39 6e 6a 4a QADggIBAGoZ.FO1uecEsh9QNcH7X9njJ
1cb280 43 77 52 4f 78 4c 48 4f 6b 33 44 2b 73 46 54 41 4d 73 32 5a 4d 47 51 58 76 77 2f 6c 34 6a 50 39 CwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9
1cb2a0 42 7a 5a 41 63 67 34 61 74 6d 70 5a 31 67 44 6c 61 43 44 64 4c 6e 49 4e 0a 48 32 70 6b 4d 53 43 BzZAcg4atmpZ1gDlaCDdLnIN.H2pkMSC
1cb2c0 45 66 55 6d 6d 57 6a 66 72 52 63 6d 46 39 64 54 48 46 35 6b 48 35 70 74 56 35 41 7a 6f 71 62 54 EfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbT
1cb2e0 4f 6a 46 75 31 45 56 7a 50 69 67 34 4e 31 71 78 33 67 66 34 79 6e 43 53 65 63 73 35 55 38 39 42 OjFu1EVzPig4N1qx3gf4ynCSecs5U89B
1cb300 76 6f 6c 62 57 0a 37 4d 4d 33 4c 47 56 59 76 6c 63 41 47 76 49 31 2b 75 74 37 4d 56 33 43 77 52 volbW.7MM3LGVYvlcAGvI1+ut7MV3CwR
1cb320 49 39 6c 6f 47 49 6c 6f 6e 42 57 56 78 36 35 6e 39 77 4e 4f 65 44 34 72 48 68 34 62 68 59 37 39 I9loGIlonBWVx65n9wNOeD4rHh4bhY79
1cb340 53 56 35 47 43 63 38 4a 61 58 63 6f 7a 72 68 41 49 75 0a 5a 59 2b 6b 74 39 4a 2f 5a 39 33 49 30 SV5GCc8JaXcozrhAIu.ZY+kt9J/Z93I0
1cb360 35 35 63 71 71 6d 6b 6f 43 55 55 42 70 76 73 54 33 34 74 43 33 38 64 64 66 45 7a 32 4f 33 4f 75 55cqqmkoCUUBpvsT34tC38ddfEz2O3Ou
1cb380 48 56 74 50 6c 75 35 6d 42 30 78 44 56 62 59 51 77 38 77 6b 62 49 45 61 39 31 57 76 70 57 41 0a HVtPlu5mB0xDVbYQw8wkbIEa91WvpWA.
1cb3a0 56 57 65 2b 32 4d 32 44 32 52 6a 75 4c 67 2b 47 4c 5a 4b 65 63 42 50 73 33 6c 48 4a 51 33 67 43 VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gC
1cb3c0 70 55 33 49 2b 56 2f 45 6b 56 68 47 46 6e 64 61 64 4b 70 41 76 41 65 66 4d 4c 6d 78 39 78 49 58 pU3I+V/EkVhGFndadKpAvAefMLmx9xIX
1cb3e0 33 65 50 2f 4a 45 41 64 65 6d 72 52 0a 54 78 67 4b 71 70 41 64 36 30 41 65 33 36 45 65 52 4a 49 3eP/JEAdemrR.TxgKqpAd60Ae36EeRJI
1cb400 51 6d 76 4b 4e 34 64 46 4c 52 70 37 6f 52 55 4b 58 36 6b 57 5a 38 2b 78 6d 31 51 4c 36 38 71 5a QmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZ
1cb420 4b 4a 4b 72 65 7a 72 6e 4b 2b 54 2b 54 62 2f 6d 6a 75 75 71 6c 50 70 6d 74 0a 2f 66 39 37 6d 66 KJKrezrnK+T+Tb/mjuuqlPpmt./f97mf
1cb440 56 6c 37 76 42 5a 4b 47 66 58 6b 4a 57 6b 45 34 53 70 68 4d 48 6f 7a 73 35 31 6b 32 4d 61 76 44 Vl7vBZKGfXkJWkE4SphMHozs51k2MavD
1cb460 7a 71 31 57 51 66 4c 53 6f 53 4f 63 62 44 57 6a 4c 74 52 35 45 57 44 72 77 34 77 56 44 65 6a 38 zq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8
1cb480 6f 71 6b 44 51 63 0a 37 6b 47 55 6e 46 34 5a 4c 76 68 46 53 5a 6c 30 6b 62 41 45 62 2b 4d 45 57 oqkDQc.7kGUnF4ZLvhFSZl0kbAEb+MEW
1cb4a0 72 47 72 4b 71 76 2b 78 39 43 57 74 74 72 68 53 6d 51 47 62 6d 42 4e 76 55 4a 4f 2f 33 6a 61 4a rGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJ
1cb4c0 4d 6f 62 74 4e 65 57 4f 57 79 75 38 51 36 71 70 33 31 49 0a 69 79 42 4d 7a 32 54 57 75 4a 64 47 MobtNeWOWyu8Q6qp31I.iyBMz2TWuJdG
1cb4e0 73 45 37 52 4b 6c 59 36 6f 4a 4f 39 72 34 41 6b 34 41 70 2b 35 38 72 56 79 75 69 46 56 64 77 32 sE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2
1cb500 4b 75 47 55 61 4a 50 48 5a 6e 4a 45 44 34 41 68 4d 6d 77 6c 78 79 4f 41 67 77 72 72 0a 2d 2d 2d KuGUaJPHZnJED4AhMmwlxyOAgwrr.---
1cb520 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 55 42 49 54 41 4b 20 --END.CERTIFICATE-----..TUBITAK.
1cb540 4b 61 6d 75 20 53 4d 20 53 53 4c 20 4b 6f 6b 20 53 65 72 74 69 66 69 6b 61 73 69 20 2d 20 53 75 Kamu.SM.SSL.Kok.Sertifikasi.-.Su
1cb560 72 75 6d 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rum.1.==========================
1cb580 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1cb5a0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 59 7a 43 43 41 30 75 67 41 77 49 42 ERTIFICATE-----.MIIEYzCCA0ugAwIB
1cb5c0 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 30 6a 45 4c AgIBATANBgkqhkiG9w0BAQsFADCB0jEL
1cb5e0 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 49 78 47 44 41 57 42 67 4e 56 42 41 63 54 0a 44 30 64 MAkGA1UEBhMCVFIxGDAWBgNVBAcT.D0d
1cb600 6c 59 6e 70 6c 49 43 30 67 53 32 39 6a 59 57 56 73 61 54 46 43 4d 45 41 47 41 31 55 45 43 68 4d lYnplIC0gS29jYWVsaTFCMEAGA1UEChM
1cb620 35 56 48 56 79 61 32 6c 35 5a 53 42 43 61 57 78 70 62 58 4e 6c 62 43 42 32 5a 53 42 55 5a 57 74 5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWt
1cb640 75 62 32 78 76 61 6d 6c 72 0a 49 45 46 79 59 58 4e 30 61 58 4a 74 59 53 42 4c 64 58 4a 31 62 58 ub2xvamlr.IEFyYXN0aXJtYSBLdXJ1bX
1cb660 55 67 4c 53 42 55 56 55 4a 4a 56 45 46 4c 4d 53 30 77 4b 77 59 44 56 51 51 4c 45 79 52 4c 59 57 UgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW
1cb680 31 31 49 46 4e 6c 63 6e 52 70 5a 6d 6c 72 59 58 4e 35 62 32 34 67 0a 54 57 56 79 61 32 56 36 61 11IFNlcnRpZmlrYXN5b24g.TWVya2V6a
1cb6a0 53 41 74 49 45 74 68 62 58 55 67 55 30 30 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 4c 56 52 56 51 SAtIEthbXUgU00xNjA0BgNVBAMTLVRVQ
1cb6c0 6b 6c 55 51 55 73 67 53 32 46 74 64 53 42 54 54 53 42 54 55 30 77 67 53 32 39 72 49 46 4e 6c 63 klUQUsgS2FtdSBTTSBTU0wgS29rIFNlc
1cb6e0 6e 52 70 0a 5a 6d 6c 72 59 58 4e 70 49 43 30 67 55 33 56 79 64 57 30 67 4d 54 41 65 46 77 30 78 nRp.ZmlrYXNpIC0gU3VydW0gMTAeFw0x
1cb700 4d 7a 45 78 4d 6a 55 77 4f 44 49 31 4e 54 56 61 46 77 30 30 4d 7a 45 77 4d 6a 55 77 4f 44 49 31 MzExMjUwODI1NTVaFw00MzEwMjUwODI1
1cb720 4e 54 56 61 4d 49 48 53 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 55 55 6a 45 59 4d 42 59 NTVaMIHSMQswCQYD.VQQGEwJUUjEYMBY
1cb740 47 41 31 55 45 42 78 4d 50 52 32 56 69 65 6d 55 67 4c 53 42 4c 62 32 4e 68 5a 57 78 70 4d 55 49 GA1UEBxMPR2ViemUgLSBLb2NhZWxpMUI
1cb760 77 51 41 59 44 56 51 51 4b 45 7a 6c 55 64 58 4a 72 61 58 6c 6c 49 45 4a 70 62 47 6c 74 0a 63 32 wQAYDVQQKEzlUdXJraXllIEJpbGlt.c2
1cb780 56 73 49 48 5a 6c 49 46 52 6c 61 32 35 76 62 47 39 71 61 57 73 67 51 58 4a 68 63 33 52 70 63 6d VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm
1cb7a0 31 68 49 45 74 31 63 6e 56 74 64 53 41 74 49 46 52 56 51 6b 6c 55 51 55 73 78 4c 54 41 72 42 67 1hIEt1cnVtdSAtIFRVQklUQUsxLTArBg
1cb7c0 4e 56 42 41 73 54 4a 45 74 68 0a 62 58 55 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 NVBAsTJEth.bXUgU2VydGlmaWthc3lvb
1cb7e0 69 42 4e 5a 58 4a 72 5a 58 70 70 49 43 30 67 53 32 46 74 64 53 42 54 54 54 45 32 4d 44 51 47 41 iBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA
1cb800 31 55 45 41 78 4d 74 56 46 56 43 53 56 52 42 53 79 42 4c 59 57 31 31 0a 49 46 4e 4e 49 46 4e 54 1UEAxMtVFVCSVRBSyBLYW11.IFNNIFNT
1cb820 54 43 42 4c 62 32 73 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 32 6b 67 4c 53 42 54 64 58 4a 31 TCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1
1cb840 62 53 41 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOC
1cb860 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 72 33 55 77 4d 36 71 37 61 39 4f 5a 4c 42 49 AQ8A.MIIBCgKCAQEAr3UwM6q7a9OZLBI
1cb880 33 68 4e 6d 4e 65 35 65 41 30 32 37 6e 2f 35 74 51 6c 54 36 51 6c 56 5a 43 31 78 6c 38 4a 6f 53 3hNmNe5eA027n/5tQlT6QlVZC1xl8JoS
1cb8a0 4e 6b 76 6f 42 48 54 6f 50 34 6d 51 34 74 34 79 38 0a 36 49 6a 35 69 79 53 72 4c 71 50 31 4e 2b NkvoBHToP4mQ4t4y8.6Ij5iySrLqP1N+
1cb8c0 52 41 6a 68 67 6c 65 59 4e 31 48 7a 76 2f 62 4b 6a 46 78 6c 62 34 74 4f 32 4b 52 4b 4f 72 62 45 RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbE
1cb8e0 7a 38 48 64 44 63 37 32 69 39 7a 2b 53 71 7a 76 42 56 39 36 49 30 31 49 4e 72 4e 33 77 63 0a 77 z8HdDc72i9z+SqzvBV96I01INrN3wc.w
1cb900 76 36 31 41 2b 78 58 7a 72 79 30 74 63 58 74 41 41 39 54 4e 79 70 4e 39 45 38 4d 67 2f 75 47 7a v61A+xXzry0tcXtAA9TNypN9E8Mg/uGz
1cb920 38 76 2b 6a 45 36 39 68 2f 6d 6e 69 79 46 58 6e 48 72 66 41 32 65 4a 4c 4a 32 58 59 61 63 51 75 8v+jE69h/mniyFXnHrfA2eJLJ2XYacQu
1cb940 46 57 51 66 77 34 74 4a 7a 68 30 0a 33 2b 66 39 32 6b 34 53 34 30 30 56 49 67 4c 49 34 4f 44 38 FWQfw4tJzh0.3+f92k4S400VIgLI4OD8
1cb960 44 36 32 4b 31 38 6c 55 55 4d 77 37 44 38 6f 57 67 49 54 51 55 56 62 44 6a 6c 5a 2f 69 53 49 7a D62K18lUUMw7D8oWgITQUVbDjlZ/iSIz
1cb980 4c 2b 61 46 43 72 32 6c 71 42 73 32 33 74 50 63 4c 47 30 37 78 78 4f 39 0a 57 53 4d 73 35 75 57 L+aFCr2lqBs23tPcLG07xxO9.WSMs5uW
1cb9a0 6b 39 39 67 4c 37 65 71 51 51 45 53 6f 6c 62 75 54 31 64 43 41 4e 4c 5a 47 65 41 34 66 41 4a 4e k99gL7eqQQESolbuT1dCANLZGeA4fAJN
1cb9c0 47 34 65 37 70 2b 65 78 50 46 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 34 G4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4
1cb9e0 45 46 67 51 55 0a 5a 54 2f 48 69 6f 62 47 50 4e 30 38 56 46 77 31 2b 44 72 74 55 67 78 48 56 38 EFgQU.ZT/HiobGPN08VFw1+DrtUgxHV8
1cba00 67 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEw
1cba20 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 EB/wQFMAMBAf8wDQYJ.KoZIhvcNAQELB
1cba40 51 41 44 67 67 45 42 41 43 6f 2f 34 66 45 79 6a 71 37 68 6d 46 78 4c 58 73 39 72 48 6d 6f 4a 30 QADggEBACo/4fEyjq7hmFxLXs9rHmoJ0
1cba60 69 4b 70 45 73 64 65 56 33 31 7a 56 6d 53 41 68 48 71 54 35 41 6d 35 45 4d 32 66 4b 69 66 68 0a iKpEsdeV31zVmSAhHqT5Am5EM2fKifh.
1cba80 41 48 65 2b 53 4d 67 31 71 49 47 66 35 4c 67 73 79 58 38 4f 73 4e 4a 4c 4e 31 33 71 75 64 55 4c AHe+SMg1qIGf5LgsyX8OsNJLN13qudUL
1cbaa0 58 6a 53 39 39 48 4d 70 77 2b 30 6d 46 5a 78 2b 43 46 4f 4b 57 49 33 51 53 79 6a 66 77 62 50 66 XjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf
1cbac0 49 50 50 35 34 2b 4d 36 33 38 79 63 0a 6c 4e 68 4f 54 38 4e 72 46 37 66 33 63 75 69 74 5a 6a 4f IPP54+M638yc.lNhOT8NrF7f3cuitZjO
1cbae0 31 4a 56 4f 72 34 50 68 4d 71 5a 33 39 38 67 32 36 72 72 6e 5a 71 73 5a 72 2b 5a 4f 37 72 71 75 1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu
1cbb00 34 6c 7a 77 44 47 72 70 44 78 70 61 35 52 58 49 34 73 36 65 68 6c 6a 32 52 0a 65 33 37 41 49 56 4lzwDGrpDxpa5RXI4s6ehlj2R.e37AIV
1cbb20 4e 4d 68 2b 33 79 43 31 53 56 55 5a 50 56 49 71 55 4e 69 76 47 54 44 6a 35 55 44 72 44 59 79 55 NMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU
1cbb40 37 63 38 6a 45 79 56 75 70 6b 2b 65 71 31 6e 52 5a 6d 51 6e 4c 7a 66 39 4f 78 4d 55 50 38 70 49 7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI
1cbb60 34 58 38 57 30 6a 0a 71 35 52 6d 2b 4b 33 37 44 77 68 75 4a 69 31 2f 46 77 63 4a 73 6f 7a 37 55 4X8W0j.q5Rm+K37DwhuJi1/FwcJsoz7U
1cbb80 4d 43 66 6c 6f 33 50 74 76 30 41 6e 56 6f 55 6d 72 38 43 52 50 58 42 77 70 38 69 58 71 49 50 6f MCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPo
1cbba0 65 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 eM=.-----END.CERTIFICATE-----..G
1cbbc0 44 43 41 20 54 72 75 73 74 41 55 54 48 20 52 35 20 52 4f 4f 54 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d DCA.TrustAUTH.R5.ROOT.==========
1cbbe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1cbc00 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 69 44 43 43 41 33 43 67 41 77 49 42 41 67 49 49 66 51 6d ATE-----.MIIFiDCCA3CgAwIBAgIIfQm
1cbc20 58 2f 76 42 48 36 6e 6f 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 59 6a 45 X/vBH6nowDQYJKoZIhvcNAQELBQAwYjE
1cbc40 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 34 78 4d 6a 41 77 0a 42 67 4e 56 42 41 6f 4d 4b 55 LMAkGA1UEBhMCQ04xMjAw.BgNVBAoMKU
1cbc60 64 56 51 55 35 48 49 45 52 50 54 6b 63 67 51 30 56 53 56 45 6c 47 53 55 4e 42 56 45 55 67 51 56 dVQU5HIERPTkcgQ0VSVElGSUNBVEUgQV
1cbc80 56 55 53 45 39 53 53 56 52 5a 49 45 4e 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 48 51 59 44 56 51 VUSE9SSVRZIENPLixMVEQuMR8wHQYDVQ
1cbca0 51 44 0a 44 42 5a 48 52 45 4e 42 49 46 52 79 64 58 4e 30 51 56 56 55 53 43 42 53 4e 53 42 53 54 QD.DBZHRENBIFRydXN0QVVUSCBSNSBST
1cbcc0 30 39 55 4d 42 34 58 44 54 45 30 4d 54 45 79 4e 6a 41 31 4d 54 4d 78 4e 56 6f 58 44 54 51 77 4d 09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwM
1cbce0 54 49 7a 4d 54 45 31 4e 54 6b 31 4f 56 6f 77 0a 59 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 TIzMTE1NTk1OVow.YjELMAkGA1UEBhMC
1cbd00 51 30 34 78 4d 6a 41 77 42 67 4e 56 42 41 6f 4d 4b 55 64 56 51 55 35 48 49 45 52 50 54 6b 63 67 Q04xMjAwBgNVBAoMKUdVQU5HIERPTkcg
1cbd20 51 30 56 53 56 45 6c 47 53 55 4e 42 56 45 55 67 51 56 56 55 53 45 39 53 53 56 52 5a 0a 49 45 4e Q0VSVElGSUNBVEUgQVVUSE9SSVRZ.IEN
1cbd40 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 48 52 45 4e 42 49 46 52 PLixMVEQuMR8wHQYDVQQDDBZHRENBIFR
1cbd60 79 64 58 4e 30 51 56 56 55 53 43 42 53 4e 53 42 53 54 30 39 55 4d 49 49 43 49 6a 41 4e 42 67 6b ydXN0QVVUSCBSNSBST09UMIICIjANBgk
1cbd80 71 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 qhkiG9w0B.AQEFAAOCAg8AMIICCgKCAg
1cbda0 45 41 32 61 4d 57 38 4d 68 30 64 48 65 62 37 7a 4d 4e 4f 77 5a 2b 56 66 79 31 59 49 39 32 68 68 EA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hh
1cbdc0 4a 43 66 56 5a 6d 50 6f 69 43 37 58 4a 6a 44 70 36 4c 33 54 51 73 0a 41 6c 46 52 77 78 6e 39 57 JCfVZmPoiC7XJjDp6L3TQs.AlFRwxn9W
1cbde0 56 53 45 79 66 46 72 73 30 79 77 36 65 68 47 58 54 6a 47 6f 71 63 75 45 56 65 36 67 68 57 69 6e VSEyfFrs0yw6ehGXTjGoqcuEVe6ghWin
1cbe00 49 39 74 73 4a 6c 4b 43 76 4c 72 69 58 42 6a 54 6e 6e 45 74 31 75 39 6f 6c 32 78 38 6b 45 43 4b I9tsJlKCvLriXBjTnnEt1u9ol2x8kECK
1cbe20 36 32 70 0a 4f 71 50 73 65 51 72 73 58 7a 72 6a 2f 65 2b 41 50 4b 30 30 6d 78 71 72 69 43 5a 37 62p.OqPseQrsXzrj/e+APK00mxqriCZ7
1cbe40 56 71 4b 43 68 68 2f 72 4e 59 6d 44 66 31 2b 75 4b 55 34 39 74 6d 37 73 72 73 48 77 4a 35 75 75 VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu
1cbe60 34 2f 54 73 37 36 35 2f 39 34 59 39 63 6e 72 72 0a 70 66 74 5a 54 71 66 72 6c 59 77 69 4f 58 6e 4/Ts765/94Y9cnrr.pftZTqfrlYwiOXn
1cbe80 68 4c 51 69 50 7a 4c 79 52 75 45 48 33 46 4d 45 6a 71 63 4f 74 6d 6b 56 45 73 37 4c 58 4c 4d 33 hLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3
1cbea0 47 4b 65 4a 51 45 4b 35 63 79 34 4b 4f 46 78 67 32 66 5a 66 6d 69 4a 71 77 54 54 51 4a 0a 39 43 GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ.9C
1cbec0 79 35 57 6d 59 71 73 42 65 62 6e 68 35 32 6e 55 70 6d 4d 55 48 66 50 2f 76 46 42 75 38 62 74 6e y5WmYqsBebnh52nUpmMUHfP/vFBu8btn
1cbee0 34 61 52 6a 62 33 5a 47 4d 37 34 7a 6b 59 49 2b 64 6e 64 52 54 56 64 56 65 53 4e 37 32 2b 61 68 4aRjb3ZGM74zkYI+dndRTVdVeSN72+ah
1cbf00 73 6d 55 50 49 32 4a 67 61 51 0a 78 58 41 42 5a 47 31 32 5a 75 47 52 32 32 34 48 77 47 47 41 4c smUPI2JgaQ.xXABZG12ZuGR224HwGGAL
1cbf20 72 49 75 4c 34 78 77 70 39 45 37 50 4c 4f 52 35 47 36 32 78 44 74 77 38 6d 79 53 6c 77 6e 4e 52 rIuL4xwp9E7PLOR5G62xDtw8mySlwnNR
1cbf40 33 30 59 77 50 4f 37 6e 67 2f 57 69 36 34 48 74 6c 6f 50 7a 67 73 4d 0a 52 36 66 6c 50 72 69 39 30YwPO7ng/Wi64HtloPzgsM.R6flPri9
1cbf60 66 63 65 62 4e 61 42 68 6c 7a 70 42 64 52 66 4d 4b 35 5a 33 4b 70 49 68 48 74 6d 56 64 69 42 6e fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBn
1cbf80 61 4d 38 4e 76 64 2f 57 48 77 6c 71 6d 75 4c 4d 63 33 47 6b 4c 33 30 53 67 4c 64 54 4d 45 5a 65 aM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZe
1cbfa0 53 31 53 5a 0a 44 32 66 4a 70 63 6a 79 49 4d 47 43 37 4a 30 52 33 38 49 43 2b 78 6f 37 30 65 30 S1SZ.D2fJpcjyIMGC7J0R38IC+xo70e0
1cbfc0 67 6d 75 39 6c 5a 4a 49 51 44 53 72 69 33 6e 44 78 47 47 65 43 6a 47 48 65 75 4c 7a 52 4c 35 7a gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z
1cbfe0 37 44 39 41 72 37 52 74 32 75 65 51 35 56 66 6a 34 0a 6f 52 32 34 71 6f 41 41 54 49 4c 6e 73 6e 7D9Ar7Rt2ueQ5Vfj4.oR24qoAATILnsn
1cc000 38 4a 75 4c 77 77 6f 43 38 4e 39 56 4b 65 6a 76 65 53 73 77 6f 41 48 51 42 55 6c 77 62 67 73 51 8JuLwwoC8N9VKejveSswoAHQBUlwbgsQ
1cc020 66 5a 78 77 39 63 5a 58 30 38 62 56 6c 58 35 4f 32 6c 6a 65 6c 41 55 35 38 56 53 36 42 78 0a 39 fZxw9cZX08bVlX5O2ljelAU58VS6Bx.9
1cc040 68 6f 68 34 39 70 77 42 69 46 59 46 49 65 46 64 33 6d 71 67 6e 6b 43 41 77 45 41 41 61 4e 43 4d hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCM
1cc060 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 4c 4a 51 4a 39 4e 7a 75 69 61 6f 58 7a 50 44 EAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPD
1cc080 6a 39 6c 78 53 6d 49 61 68 6c 52 0a 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 j9lxSmIahlR.MA8GA1UdEwEB/wQFMAMB
1cc0a0 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 Af8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG
1cc0c0 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 44 52 53 56 66 67 0a 70 38 78 6f 57 4c 6f SIb3DQEBCwUAA4ICAQDRSVfg.p8xoWLo
1cc0e0 42 44 79 73 5a 7a 59 32 77 59 55 57 73 45 65 31 6a 55 47 6e 34 48 33 2b 2b 46 6f 2f 39 6e 65 73 BDysZzY2wYUWsEe1jUGn4H3++Fo/9nes
1cc100 4c 71 6a 4a 48 64 74 4a 6e 4a 4f 32 39 66 44 4d 79 6c 79 72 48 42 59 5a 6d 44 52 64 39 46 42 55 LqjJHdtJnJO29fDMylyrHBYZmDRd9FBU
1cc120 62 31 4f 76 39 0a 48 35 72 32 58 70 64 70 74 78 6f 6c 70 41 71 7a 6b 54 39 66 4e 71 79 4c 37 46 b1Ov9.H5r2XpdptxolpAqzkT9fNqyL7F
1cc140 65 6f 50 75 65 42 69 68 68 58 4f 59 56 30 47 6b 4c 48 36 56 73 54 58 34 2f 35 43 4f 6d 53 64 49 eoPueBihhXOYV0GkLH6VsTX4/5COmSdI
1cc160 33 31 52 39 4b 72 4f 39 62 37 65 47 5a 4f 4e 6e 33 35 0a 36 5a 4c 70 42 4e 37 39 53 57 50 38 62 31R9KrO9b7eGZONn35.6ZLpBN79SWP8b
1cc180 66 73 55 63 5a 4e 6e 4c 30 64 4b 74 37 6e 2f 48 69 70 7a 63 45 59 77 76 31 72 79 4c 33 6d 6c 34 fsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4
1cc1a0 59 30 4d 32 66 6d 79 59 7a 65 4d 4e 32 57 46 63 47 70 63 57 77 6c 79 75 61 31 6a 50 4c 48 64 0a Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd.
1cc1c0 2b 50 77 79 76 7a 65 47 35 4c 75 4f 6d 43 64 2b 75 68 38 57 34 58 41 52 38 67 50 66 4a 57 49 79 +PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIy
1cc1e0 4a 79 59 59 4d 6f 53 66 2f 77 41 36 45 37 71 61 54 66 52 50 75 42 52 77 49 72 48 4b 4b 35 44 4f JyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DO
1cc200 4b 63 46 77 39 43 2b 64 66 2f 4b 51 0a 48 74 5a 61 33 37 64 47 2f 4f 61 47 2b 73 76 67 49 48 5a KcFw9C+df/KQ.HtZa37dG/OaG+svgIHZ
1cc220 36 75 71 62 4c 39 58 7a 65 59 71 57 78 69 2b 37 65 67 6d 61 4b 54 6a 6f 77 48 7a 2b 41 79 36 30 6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60
1cc240 6e 75 67 78 65 31 39 43 78 56 73 70 33 63 62 4b 31 64 61 46 51 71 55 42 44 0a 46 38 49 6f 32 63 nugxe19CxVsp3cbK1daFQqUBD.F8Io2c
1cc260 39 53 69 31 76 49 59 39 52 43 50 71 41 7a 65 6b 59 75 39 77 6f 67 52 6c 52 2b 61 6b 38 78 38 59 9Si1vIY9RCPqAzekYu9wogRlR+ak8x8Y
1cc280 46 2b 51 6e 51 34 5a 58 4d 6e 37 73 5a 38 75 49 37 58 70 54 72 58 6d 4b 47 63 6a 42 42 56 30 39 F+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09
1cc2a0 74 4c 37 45 43 51 0a 38 73 31 75 56 39 4a 69 44 6e 78 58 6b 37 47 6e 62 63 32 64 67 37 73 71 35 tL7ECQ.8s1uV9JiDnxXk7Gnbc2dg7sq5
1cc2c0 2b 57 32 4f 33 46 59 72 66 33 52 52 62 78 61 6b 65 35 54 46 57 2f 54 52 51 6c 31 62 72 71 51 58 +W2O3FYrf3RRbxake5TFW/TRQl1brqQX
1cc2e0 52 34 45 7a 7a 66 66 48 71 68 6d 73 59 7a 6d 49 47 72 76 0a 2f 45 68 4f 64 4a 68 43 72 79 6c 76 R4EzzffHqhmsYzmIGrv./EhOdJhCrylv
1cc300 4c 6d 72 48 2b 33 33 52 5a 6a 45 69 7a 49 59 41 66 6d 61 44 44 45 4c 30 76 54 53 53 77 78 72 71 LmrH+33RZjEizIYAfmaDDEL0vTSSwxrq
1cc320 54 38 70 2b 63 6b 30 4c 63 49 79 6d 53 4c 75 6d 6f 52 54 32 2b 31 68 45 6d 52 53 75 71 67 75 54 T8p+ck0LcIymSLumoRT2+1hEmRSuqguT
1cc340 0a 61 61 41 70 4a 55 71 6c 79 79 76 64 69 6d 59 48 46 6e 67 56 56 33 45 62 37 50 56 48 68 50 4f .aaApJUqlyyvdimYHFngVV3Eb7PVHhPO
1cc360 65 4d 54 64 36 31 58 38 6b 72 65 53 38 2f 66 33 4d 62 6f 50 6f 44 4b 69 33 51 57 77 48 33 62 30 eMTd61X8kreS8/f3MboPoDKi3QWwH3b0
1cc380 38 68 70 63 76 30 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 8hpcv0g==.-----END.CERTIFICATE--
1cc3a0 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f 72 20 52 6f 6f 74 43 65 72 74 20 43 41 2d 31 0a 3d 3d 3d 3d ---..TrustCor.RootCert.CA-1.====
1cc3c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1cc3e0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 44 43 43 41 78 69 67 41 77 49 42 41 RTIFICATE-----.MIIEMDCCAxigAwIBA
1cc400 67 49 4a 41 4e 71 62 37 48 48 7a 41 37 41 5a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 gIJANqb7HHzA7AZMA0GCSqGSIb3DQEBC
1cc420 77 55 41 4d 49 47 6b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 0a 4d 41 30 47 wUAMIGkMQswCQYDVQQGEwJQQTEP.MA0G
1cc440 41 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 44 41 74 51 A1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQ
1cc460 59 57 35 68 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 YW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1
1cc480 63 33 52 44 62 33 49 67 0a 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 c3RDb3Ig.U3lzdGVtcyBTLiBkZSBSLkw
1cc4a0 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 63 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a uMScwJQYDVQQLDB5UcnVzdENvciBDZXJ
1cc4c0 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 0a 64 48 6b 78 48 7a 41 64 42 67 0aWZpY2F0ZSBBdXRob3Jp.dHkxHzAdBg
1cc4e0 4e 56 42 41 4d 4d 46 6c 52 79 64 58 4e 30 51 32 39 79 49 46 4a 76 62 33 52 44 5a 58 4a 30 49 45 NVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IE
1cc500 4e 42 4c 54 45 77 48 68 63 4e 4d 54 59 77 4d 6a 41 30 4d 54 49 7a 4d 6a 45 32 57 68 63 4e 4d 6a NBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMj
1cc520 6b 78 0a 4d 6a 4d 78 4d 54 63 79 4d 7a 45 32 57 6a 43 42 70 44 45 4c 4d 41 6b 47 41 31 55 45 42 kx.MjMxMTcyMzE2WjCBpDELMAkGA1UEB
1cc540 68 4d 43 55 45 45 78 44 7a 41 4e 42 67 4e 56 42 41 67 4d 42 6c 42 68 62 6d 46 74 59 54 45 55 4d hMCUEExDzANBgNVBAgMBlBhbmFtYTEUM
1cc560 42 49 47 41 31 55 45 42 77 77 4c 55 47 46 75 0a 59 57 31 68 49 45 4e 70 64 48 6b 78 4a 44 41 69 BIGA1UEBwwLUGFu.YW1hIENpdHkxJDAi
1cc580 42 67 4e 56 42 41 6f 4d 47 31 52 79 64 58 4e 30 51 32 39 79 49 46 4e 35 63 33 52 6c 62 58 4d 67 BgNVBAoMG1RydXN0Q29yIFN5c3RlbXMg
1cc5a0 55 79 34 67 5a 47 55 67 55 69 35 4d 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 77 77 65 0a 56 48 4a Uy4gZGUgUi5MLjEnMCUGA1UECwwe.VHJ
1cc5c0 31 63 33 52 44 62 33 49 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 55 67 51 58 56 30 61 47 39 1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9
1cc5e0 79 61 58 52 35 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 55 63 6e 56 7a 64 45 4e 76 63 69 42 yaXR5MR8wHQYDVQQDDBZUcnVzdENvciB
1cc600 53 62 32 39 30 51 32 56 79 0a 64 43 42 44 51 53 30 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b Sb290Q2Vy.dCBDQS0xMIIBIjANBgkqhk
1cc620 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 76 34 iG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv4
1cc640 36 33 6c 65 4c 43 4a 68 4a 72 4d 78 6e 48 51 46 67 4b 71 31 6d 71 0a 6a 51 43 6a 2f 49 44 48 55 63leLCJhJrMxnHQFgKq1mq.jQCj/IDHU
1cc660 48 75 4f 31 43 41 6d 75 6a 49 53 32 43 4e 55 53 53 55 51 49 70 69 64 52 74 4c 42 79 5a 35 4f 47 HuO1CAmujIS2CNUSSUQIpidRtLByZ5OG
1cc680 79 34 73 44 6a 6a 7a 47 69 56 6f 48 4b 5a 61 42 65 59 65 69 30 69 2f 6d 4a 5a 30 50 6d 6e 4b 36 y4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6
1cc6a0 62 56 34 0a 70 51 61 38 31 51 42 65 43 51 72 79 4a 33 70 53 2f 43 33 56 73 65 71 30 69 57 45 6b bV4.pQa81QBeCQryJ3pS/C3Vseq0iWEk
1cc6c0 38 78 6f 54 32 36 6e 50 55 75 30 4d 4a 4c 71 35 6e 75 78 2b 41 48 54 36 6b 36 31 73 4b 5a 4b 75 8xoT26nPUu0MJLq5nux+AHT6k61sKZKu
1cc6e0 55 62 53 37 30 31 65 2f 73 2f 4f 6f 6a 5a 7a 30 0a 4a 45 73 71 31 70 6d 65 39 4a 37 2b 77 48 35 UbS701e/s/OojZz0.JEsq1pme9J7+wH5
1cc700 43 4f 75 63 4c 6c 56 50 61 74 32 67 4f 6b 45 7a 37 63 44 2b 50 53 69 79 55 38 79 62 64 59 32 6d COucLlVPat2gOkEz7cD+PSiyU8ybdY2m
1cc720 70 6c 4e 67 51 54 73 56 48 43 4a 43 5a 47 78 64 4e 75 57 78 75 37 32 43 56 45 59 34 68 0a 67 4c plNgQTsVHCJCZGxdNuWxu72CVEY4h.gL
1cc740 57 39 6f 48 50 59 30 4c 4a 33 78 45 58 71 57 69 62 37 5a 6e 5a 32 2b 41 59 66 59 57 30 50 56 63 W9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVc
1cc760 57 44 74 78 42 57 63 67 59 48 70 66 4f 78 47 67 4d 46 5a 41 36 64 57 6f 72 57 68 6e 41 62 4a 4e WDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN
1cc780 37 2b 4b 49 6f 72 30 47 71 77 0a 2f 48 71 69 33 4c 4a 35 44 6f 74 6c 44 77 49 44 41 51 41 42 6f 7+KIor0Gqw./Hqi3LJ5DotlDwIDAQABo
1cc7a0 32 4d 77 59 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 6d 74 4a 50 48 6f 2f 44 65 4f 78 43 2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxC
1cc7c0 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 63 77 48 77 59 44 56 52 30 6a 0a 42 42 67 77 46 6f 41 55 beKyKsZn3MzUOcwHwYDVR0j.BBgwFoAU
1cc7e0 37 6d 74 4a 50 48 6f 2f 44 65 4f 78 43 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 63 77 44 77 59 44 7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYD
1cc800 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
1cc820 42 41 4d 43 0a 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 BAMC.AYYwDQYJKoZIhvcNAQELBQADggE
1cc840 42 41 43 55 59 31 4a 47 50 45 2b 36 50 48 68 30 52 55 39 6f 74 52 43 6b 5a 6f 42 35 72 4d 5a 35 BACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5
1cc860 4e 44 70 36 74 50 56 78 42 62 35 55 72 4a 4b 46 35 0a 6d 44 6f 34 4e 76 75 37 5a 70 35 49 2f 35 NDp6tPVxBb5UrJKF5.mDo4Nvu7Zp5I/5
1cc880 43 51 37 7a 33 55 75 4a 75 30 68 33 55 2f 49 4a 76 4f 63 73 2b 68 56 63 46 4e 5a 4b 49 5a 42 71 CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBq
1cc8a0 45 48 4d 77 77 4c 4b 65 58 78 36 71 75 6a 37 4c 55 4b 64 4a 44 48 66 58 4c 79 31 31 79 66 0a 6b EHMwwLKeXx6quj7LUKdJDHfXLy11yf.k
1cc8c0 65 2b 52 69 37 66 63 37 57 61 69 7a 34 35 6d 4f 37 79 66 4f 67 4c 67 4a 39 30 57 6d 4d 43 56 31 e+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1
1cc8e0 41 71 6b 35 49 47 61 64 5a 51 31 6e 4a 42 66 69 44 63 47 72 56 6d 56 43 72 44 52 5a 39 4d 5a 79 Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZy
1cc900 6f 6e 6e 4d 6c 6f 32 48 44 36 43 0a 71 46 71 54 76 73 62 51 5a 4a 47 32 7a 39 6d 32 47 4d 2f 62 onnMlo2HD6C.qFqTvsbQZJG2z9m2GM/b
1cc920 66 74 4a 6c 6f 36 62 45 6a 68 63 78 77 66 74 2b 64 74 76 54 68 65 4e 59 73 6e 64 36 64 6a 74 73 ftJlo6bEjhcxwft+dtvTheNYsnd6djts
1cc940 4c 31 41 63 35 39 76 32 5a 33 6b 66 39 59 4b 56 6d 67 65 6e 46 4b 2b 50 0a 33 43 67 68 5a 77 6e L1Ac59v2Z3kf9YKVmgenFK+P.3CghZwn
1cc960 53 31 6b 31 61 48 42 6b 63 6a 6e 64 63 77 35 51 6b 50 54 4a 72 53 33 37 55 65 4a 53 44 76 6a 64 S1k1aHBkcjndcw5QkPTJrS37UeJSDvjd
1cc980 4e 7a 6c 2f 48 48 6b 34 38 34 49 6b 7a 6c 51 73 50 70 54 4c 57 50 46 70 35 4c 42 6b 3d 0a 2d 2d Nzl/HHk484IkzlQsPpTLWPFp5LBk=.--
1cc9a0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f ---END.CERTIFICATE-----..TrustCo
1cc9c0 72 20 52 6f 6f 74 43 65 72 74 20 43 41 2d 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d r.RootCert.CA-2.================
1cc9e0 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1cca00 2d 2d 0a 4d 49 49 47 4c 7a 43 43 42 42 65 67 41 77 49 42 41 67 49 49 4a 61 48 66 79 6a 50 4c 57 --.MIIGLzCCBBegAwIBAgIIJaHfyjPLW
1cca20 51 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 67 61 51 78 43 7a 41 4a 42 QIwDQYJKoZIhvcNAQELBQAwgaQxCzAJB
1cca40 67 4e 56 42 41 59 54 41 6c 42 42 4d 51 38 77 0a 44 51 59 44 56 51 51 49 44 41 5a 51 59 57 35 68 gNVBAYTAlBBMQ8w.DQYDVQQIDAZQYW5h
1cca60 62 57 45 78 46 44 41 53 42 67 4e 56 42 41 63 4d 43 31 42 68 62 6d 46 74 59 53 42 44 61 58 52 35 bWExFDASBgNVBAcMC1BhbmFtYSBDaXR5
1cca80 4d 53 51 77 49 67 59 44 56 51 51 4b 44 42 74 55 63 6e 56 7a 64 45 4e 76 63 69 42 54 0a 65 58 4e MSQwIgYDVQQKDBtUcnVzdENvciBT.eXN
1ccaa0 30 5a 57 31 7a 49 46 4d 75 49 47 52 6c 49 46 49 75 54 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAs
1ccac0 4d 48 6c 52 79 64 58 4e 30 51 32 39 79 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 MHlRydXN0Q29yIENlcnRpZmljYXRlIEF
1ccae0 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 66 4d 42 30 47 41 31 55 45 41 77 77 57 56 48 4a 31 63 33 1dGhvcml0.eTEfMB0GA1UEAwwWVHJ1c3
1ccb00 52 44 62 33 49 67 55 6d 39 76 64 45 4e 6c 63 6e 51 67 51 30 45 74 4d 6a 41 65 46 77 30 78 4e 6a RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNj
1ccb20 41 79 4d 44 51 78 4d 6a 4d 79 4d 6a 4e 61 46 77 30 7a 4e 44 45 79 0a 4d 7a 45 78 4e 7a 49 32 4d AyMDQxMjMyMjNaFw0zNDEy.MzExNzI2M
1ccb40 7a 6c 61 4d 49 47 6b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 4d 41 30 47 41 zlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA
1ccb60 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 44 41 74 51 59 1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQY
1ccb80 57 35 68 0a 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 W5h.bWEgQ2l0eTEkMCIGA1UECgwbVHJ1
1ccba0 63 33 52 44 62 33 49 67 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 75 c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwu
1ccbc0 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 0a 63 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a MScwJQYDVQQLDB5U.cnVzdENvciBDZXJ
1ccbe0 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 48 7a 41 64 42 67 4e 0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgN
1ccc00 56 42 41 4d 4d 46 6c 52 79 64 58 4e 30 51 32 39 79 49 46 4a 76 62 33 52 44 5a 58 4a 30 0a 49 45 VBAMMFlRydXN0Q29yIFJvb3RDZXJ0.IE
1ccc20 4e 42 4c 54 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 NBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4
1ccc40 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 6e 49 47 37 43 4b 71 4a 69 4a 4a 57 51 64 73 ICDwAwggIKAoICAQCnIG7CKqJiJJWQds
1ccc60 67 34 66 6f 44 53 71 38 47 62 0a 5a 51 57 55 39 4d 45 4b 45 4e 55 43 72 4f 32 66 6b 38 65 48 79 g4foDSq8Gb.ZQWU9MEKENUCrO2fk8eHy
1ccc80 4c 41 6e 4b 30 49 4d 50 51 6f 2b 51 56 71 65 64 64 32 4e 79 75 43 62 37 47 67 79 70 47 6d 53 61 LAnK0IMPQo+QVqedd2NyuCb7GgypGmSa
1ccca0 49 77 4c 67 51 35 57 6f 44 34 61 33 53 77 6c 46 49 49 76 6c 39 4e 6b 0a 52 76 52 55 71 64 77 36 IwLgQ5WoD4a3SwlFIIvl9Nk.RvRUqdw6
1cccc0 56 43 30 78 4b 35 6d 43 38 74 6b 71 31 2b 39 78 41 4c 67 78 70 4c 35 36 4a 41 66 44 51 69 44 79 VC0xK5mC8tkq1+9xALgxpL56JAfDQiDy
1ccce0 69 74 53 53 42 42 74 6c 56 6b 78 73 31 50 75 32 59 56 70 48 49 37 54 59 61 62 53 33 4f 74 42 30 itSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0
1ccd00 50 41 78 31 0a 6f 59 78 4f 64 71 48 70 32 79 71 6c 4f 2f 72 4f 73 50 39 2b 61 69 6a 39 4a 78 7a PAx1.oYxOdqHp2yqlO/rOsP9+aij9Jxz
1ccd20 49 73 65 6b 70 38 56 64 75 5a 4c 54 51 77 52 56 74 44 72 34 75 44 6b 62 49 58 76 52 52 2f 75 38 Isekp8VduZLTQwRVtDr4uDkbIXvRR/u8
1ccd40 4f 59 7a 6f 37 63 62 72 50 62 31 6e 4b 44 4f 4f 62 0a 58 55 6d 34 54 4f 4a 58 73 5a 69 4b 51 6c OYzo7cbrPb1nKDOOb.XUm4TOJXsZiKQl
1ccd60 65 63 64 75 2f 76 76 64 46 6f 71 4e 4c 30 43 62 74 33 4e 62 34 6c 67 67 6a 45 46 69 78 45 49 46 ecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIF
1ccd80 61 70 52 42 46 33 37 31 32 30 48 61 70 65 61 7a 36 4c 4d 76 59 48 4c 31 63 45 6b 73 72 31 0a 2f apRBF37120Hapeaz6LMvYHL1cEksr1./
1ccda0 70 33 43 36 65 69 7a 6a 6b 78 4c 41 6a 48 5a 35 44 78 49 67 69 66 33 47 49 4a 32 53 44 70 78 73 p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxs
1ccdc0 52 4f 68 4f 64 55 75 78 54 54 43 48 57 4b 46 33 77 50 2b 54 66 53 76 50 64 39 63 57 34 33 36 63 ROhOdUuxTTCHWKF3wP+TfSvPd9cW436c
1ccde0 4f 47 6c 66 69 66 48 68 69 35 71 0a 6a 78 4c 47 68 46 35 44 55 56 43 63 47 5a 74 34 35 76 7a 32 OGlfifHhi5q.jxLGhF5DUVCcGZt45vz2
1cce00 37 55 64 2b 65 7a 31 6d 37 78 4d 54 69 46 38 38 6f 57 50 37 2b 61 79 48 4e 5a 2f 7a 67 70 36 6b 7Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6k
1cce20 50 77 71 63 4d 57 6d 4c 6d 61 53 49 53 6f 35 75 5a 6b 33 76 46 73 51 50 0a 65 53 67 68 59 41 32 PwqcMWmLmaSISo5uZk3vFsQP.eSghYA2
1cce40 46 46 6e 33 58 56 44 6a 78 6b 6c 62 39 74 54 4e 4d 67 39 7a 58 45 4a 39 4c 2f 63 62 34 51 72 32 FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr2
1cce60 36 66 48 4d 43 34 50 39 39 7a 56 76 68 31 4b 78 68 65 31 66 56 53 6e 74 62 31 49 56 59 4a 31 32 6fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12
1cce80 2f 2b 43 74 67 0a 72 4b 41 6d 72 68 51 68 4a 38 5a 33 6d 6a 4f 41 50 46 35 47 50 2f 66 44 73 61 /+Ctg.rKAmrhQhJ8Z3mjOAPF5GP/fDsa
1ccea0 4f 47 4d 38 62 6f 58 67 32 35 4e 53 79 71 52 73 47 46 41 6e 57 41 6f 4f 73 6b 2b 78 57 71 35 47 OGM8boXg25NSyqRsGFAnWAoOsk+xWq5G
1ccec0 64 2f 62 6e 63 2f 39 41 53 4b 4c 33 78 37 34 78 64 68 0a 38 4e 30 4a 71 53 44 49 76 67 6d 6b 30 d/bnc/9ASKL3x74xdh.8N0JqSDIvgmk0
1ccee0 48 35 45 77 37 49 77 53 6a 69 71 71 65 77 59 6d 67 65 43 4b 39 75 34 6e 42 69 74 32 75 42 47 46 H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF
1ccf00 36 7a 50 58 51 49 44 41 51 41 42 6f 32 4d 77 59 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 0a 6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU.
1ccf20 32 66 34 68 51 47 36 55 6e 72 79 62 50 5a 78 39 6d 43 41 5a 35 59 77 77 59 72 49 77 48 77 59 44 2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYD
1ccf40 56 52 30 6a 42 42 67 77 46 6f 41 55 32 66 34 68 51 47 36 55 6e 72 79 62 50 5a 78 39 6d 43 41 5a VR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ
1ccf60 35 59 77 77 59 72 49 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 5YwwYrIwDwYD.VR0TAQH/BAUwAwEB/zA
1ccf80 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 OBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvc
1ccfa0 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 4a 35 46 6e 67 77 37 74 75 2f 68 0a 4f 73 68 38 30 51 NAQELBQADggIBAJ5Fngw7tu/h.Osh80Q
1ccfc0 41 39 7a 2b 4c 71 42 72 57 79 4f 72 73 47 53 32 68 36 30 43 4f 58 64 4b 63 73 38 41 6a 59 65 56 A9z+LqBrWyOrsGS2h60COXdKcs8AjYeV
1ccfe0 72 58 57 6f 53 4b 32 42 4b 61 47 39 6c 39 58 45 31 77 78 61 58 35 71 2b 57 6a 69 59 6e 64 41 66 rXWoSK2BKaG9l9XE1wxaX5q+WjiYndAf
1cd000 72 73 33 66 6e 70 0a 6b 70 66 62 73 45 5a 43 38 39 4e 69 71 70 58 2b 4d 57 63 55 61 56 69 51 43 rs3fnp.kpfbsEZC89NiqpX+MWcUaViQC
1cd020 71 6f 4c 37 6a 63 6a 78 31 42 52 74 50 56 2b 6e 75 4e 37 39 2b 54 4d 51 6a 49 74 53 51 7a 4c 2f qoL7jcjx1BRtPV+nuN79+TMQjItSQzL/
1cd040 30 6b 4d 6d 78 34 30 2f 57 35 75 6c 6f 70 35 41 37 5a 76 0a 32 77 6e 4c 2f 56 39 6c 46 44 66 68 0kMmx40/W5ulop5A7Zv.2wnL/V9lFDfh
1cd060 4f 50 58 7a 59 52 5a 59 35 4c 56 74 44 51 73 45 47 7a 39 51 4c 58 2b 7a 78 33 6f 61 46 6f 42 67 OPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg
1cd080 2b 49 6f 66 36 52 73 71 78 76 6d 36 41 52 70 70 76 39 4a 59 78 31 52 58 43 49 2f 68 4f 57 42 33 +Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3
1cd0a0 0a 53 36 78 5a 68 42 71 49 38 64 33 4c 54 33 6a 58 35 2b 45 7a 4c 66 7a 75 51 66 6f 67 73 4c 37 .S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7
1cd0c0 4c 39 7a 69 55 77 4f 48 51 68 51 2b 37 37 53 78 7a 71 2b 33 2b 6b 6e 59 61 5a 48 39 62 44 54 4d L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTM
1cd0e0 4a 42 7a 4e 37 42 6a 38 52 70 46 78 77 0a 50 49 58 41 7a 2b 4f 51 71 49 4e 33 2b 74 76 6d 78 59 JBzN7Bj8RpFxw.PIXAz+OQqIN3+tvmxY
1cd100 78 6f 5a 78 42 6e 70 56 49 74 38 4d 53 5a 6a 33 2b 2f 30 57 76 69 74 55 66 57 32 64 43 46 6d 55 xoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU
1cd120 32 55 6d 77 39 4c 6a 65 34 41 57 6b 63 64 45 51 4f 73 51 52 69 76 68 37 64 76 0a 44 44 71 50 79 2Umw9Lje4AWkcdEQOsQRivh7dv.DDqPy
1cd140 73 2f 63 41 38 47 69 43 63 6a 6c 2f 59 42 65 79 47 42 43 41 52 73 61 55 31 71 37 4e 36 61 33 76 s/cA8GiCcjl/YBeyGBCARsaU1q7N6a3v
1cd160 4c 71 45 36 52 35 73 47 74 52 6b 32 74 52 44 2f 70 4f 4c 53 2f 49 73 65 52 59 51 31 4a 4d 4c 69 LqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLi
1cd180 49 2b 68 32 49 59 55 0a 52 70 46 48 6d 79 67 6b 37 31 64 53 54 6c 78 43 6e 4b 72 33 53 65 77 6e I+h2IYU.RpFHmygk71dSTlxCnKr3Sewn
1cd1a0 36 45 41 65 73 36 61 4a 49 6e 4b 63 39 51 30 7a 74 46 69 6a 4d 44 76 64 31 47 70 55 6b 37 34 61 6EAes6aJInKc9Q0ztFijMDvd1GpUk74a
1cd1c0 54 66 4f 54 6c 50 66 38 68 41 73 2f 68 43 42 63 4e 41 4e 45 0a 78 64 71 74 76 41 72 42 41 73 38 TfOTlPf8hAs/hCBcNANE.xdqtvArBAs8
1cd1e0 65 35 5a 54 5a 38 34 35 62 32 45 7a 77 6e 65 78 68 46 37 73 55 4d 6c 51 4d 41 69 6d 54 48 70 4b e5ZTZ845b2EzwnexhF7sUMlQMAimTHpK
1cd200 47 39 6e 2f 76 35 35 49 46 44 6c 6e 64 6d 51 67 75 4c 76 71 63 41 46 4c 54 78 57 59 70 35 4b 65 G9n/v55IFDlndmQguLvqcAFLTxWYp5Ke
1cd220 58 0a 52 4b 51 4f 4b 49 45 54 4e 63 58 32 62 32 54 6d 51 63 54 56 4c 38 77 30 52 53 58 50 51 51 X.RKQOKIETNcX2b2TmQcTVL8w0RSXPQQ
1cd240 43 57 50 55 6f 75 77 70 61 59 54 30 35 4b 6e 4a 65 33 32 78 2b 53 4d 73 6a 2f 44 31 46 75 31 75 CWPUouwpaYT05KnJe32x+SMsj/D1Fu1u
1cd260 77 4a 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 wJ.-----END.CERTIFICATE-----..Tr
1cd280 75 73 74 43 6f 72 20 45 43 41 2d 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ustCor.ECA-1.==============.----
1cd2a0 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 49 44 43 43 -BEGIN.CERTIFICATE-----.MIIEIDCC
1cd2c0 41 77 69 67 41 77 49 42 41 67 49 4a 41 49 53 43 4c 46 38 63 59 74 42 41 4d 41 30 47 43 53 71 47 AwigAwIBAgIJAISCLF8cYtBAMA0GCSqG
1cd2e0 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 63 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 SIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQ
1cd300 51 54 45 50 0a 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 QTEP.MA0GA1UECAwGUGFuYW1hMRQwEgY
1cd320 44 56 51 51 48 44 41 74 51 59 57 35 68 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 DVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1U
1cd340 45 43 67 77 62 56 48 4a 31 63 33 52 44 62 33 49 67 0a 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 ECgwbVHJ1c3RDb3Ig.U3lzdGVtcyBTLi
1cd360 42 6b 5a 53 42 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 63 6e 56 7a 64 45 BkZSBSLkwuMScwJQYDVQQLDB5UcnVzdE
1cd380 4e 76 63 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 0a 64 NvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp.d
1cd3a0 48 6b 78 46 7a 41 56 42 67 4e 56 42 41 4d 4d 44 6c 52 79 64 58 4e 30 51 32 39 79 49 45 56 44 51 HkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQ
1cd3c0 53 30 78 4d 42 34 58 44 54 45 32 4d 44 49 77 4e 44 45 79 4d 7a 49 7a 4d 31 6f 58 44 54 49 35 4d S0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5M
1cd3e0 54 49 7a 4d 54 45 33 4d 6a 67 77 0a 4e 31 6f 77 67 5a 77 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 TIzMTE3Mjgw.N1owgZwxCzAJBgNVBAYT
1cd400 41 6c 42 42 4d 51 38 77 44 51 59 44 56 51 51 49 44 41 5a 51 59 57 35 68 62 57 45 78 46 44 41 53 AlBBMQ8wDQYDVQQIDAZQYW5hbWExFDAS
1cd420 42 67 4e 56 42 41 63 4d 43 31 42 68 62 6d 46 74 59 53 42 44 61 58 52 35 0a 4d 53 51 77 49 67 59 BgNVBAcMC1BhbmFtYSBDaXR5.MSQwIgY
1cd440 44 56 51 51 4b 44 42 74 55 63 6e 56 7a 64 45 4e 76 63 69 42 54 65 58 4e 30 5a 57 31 7a 49 46 4d DVQQKDBtUcnVzdENvciBTeXN0ZW1zIFM
1cd460 75 49 47 52 6c 49 46 49 75 54 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 4d 48 6c 52 79 64 58 4e uIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN
1cd480 30 51 32 39 79 0a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 0Q29y.IENlcnRpZmljYXRlIEF1dGhvcm
1cd4a0 6c 30 65 54 45 58 4d 42 55 47 41 31 55 45 41 77 77 4f 56 48 4a 31 63 33 52 44 62 33 49 67 52 55 l0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRU
1cd4c0 4e 42 4c 54 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 41 51 55 41 41 NBLTEwggEiMA0GCSqG.SIb3DQEBAQUAA
1cd4e0 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 50 6a 2b 41 52 74 5a 2b 6f 64 6e 62 62 33 4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3
1cd500 77 39 55 37 33 4e 6a 4b 59 4b 74 52 38 61 6a 61 2b 33 2b 58 7a 50 34 51 31 48 70 47 6a 4f 52 0a w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR.
1cd520 4d 52 65 67 64 4d 54 55 70 77 48 6d 73 70 49 2b 61 70 33 74 44 76 6c 30 6d 45 44 54 50 77 4f 41 MRegdMTUpwHmspI+ap3tDvl0mEDTPwOA
1cd540 42 6f 4a 41 36 4c 48 69 70 31 47 6e 48 59 4d 6d 61 36 76 65 2b 68 65 52 4b 39 6a 47 72 42 36 78 BoJA6LHip1GnHYMma6ve+heRK9jGrB6x
1cd560 6e 68 6b 42 31 5a 65 6d 36 67 32 33 0a 78 46 55 66 4a 33 7a 53 43 4e 56 32 48 79 6b 56 68 30 41 nhkB1Zem6g23.xFUfJ3zSCNV2HykVh0A
1cd580 35 33 54 68 46 45 58 58 51 6d 71 63 30 34 4c 2f 4e 79 46 49 64 75 55 64 2b 44 62 69 37 78 67 7a 53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz
1cd5a0 32 63 31 63 57 57 6e 35 44 6b 52 39 56 4f 73 5a 74 52 41 53 71 6e 4b 6d 63 0a 70 30 79 4a 46 34 2c1cWWn5DkR9VOsZtRASqnKmc.p0yJF4
1cd5c0 4f 75 6f 77 52 65 55 6f 43 4c 48 68 49 6c 45 52 6e 58 44 48 31 39 4d 55 52 42 36 74 75 76 73 42 OuowReUoCLHhIlERnXDH19MURB6tuvsB
1cd5e0 7a 76 67 64 41 73 78 5a 6f 68 6d 7a 33 74 51 6a 74 51 4a 76 4c 73 7a 6e 46 68 42 6d 49 68 56 45 zvgdAsxZohmz3tQjtQJvLsznFhBmIhVE
1cd600 35 2f 77 5a 30 2b 0a 66 79 43 4d 67 4d 73 71 32 4a 64 69 79 49 4d 7a 6b 58 32 77 6f 6c 6f 50 56 5/wZ0+.fyCMgMsq2JdiyIMzkX2woloPV
1cd620 2b 67 37 7a 50 49 6c 73 74 52 38 4c 2b 78 4e 78 71 45 36 46 58 72 6e 74 6c 30 31 39 66 5a 49 53 +g7zPIlstR8L+xNxqE6FXrntl019fZIS
1cd640 6a 5a 46 5a 74 53 36 6d 46 6a 42 41 67 4d 42 41 41 47 6a 0a 59 7a 42 68 4d 42 30 47 41 31 55 64 jZFZtS6mFjBAgMBAAGj.YzBhMB0GA1Ud
1cd660 44 67 51 57 42 42 52 45 6e 6b 6a 31 7a 47 31 49 31 4b 42 4c 66 2f 35 5a 4a 43 2b 44 6c 35 6d 61 DgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5ma
1cd680 68 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 45 6e 6b 6a 31 7a 47 31 49 31 4b 42 4c hjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL
1cd6a0 0a 66 2f 35 5a 4a 43 2b 44 6c 35 6d 61 68 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 .f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTA
1cd6c0 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 4e 42 67 6b DAQH/MA4GA1UdDwEB/wQEAwIBhjANBgk
1cd6e0 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 51 45 41 42 54 34 31 58 42 56 77 6d 38 qhkiG9w0BAQsF.AAOCAQEABT41XBVwm8
1cd700 6e 48 63 32 46 76 63 69 76 55 77 6f 2f 79 51 31 30 43 7a 73 53 55 75 5a 51 52 67 32 64 64 34 6d nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4m
1cd720 64 73 64 58 61 2f 75 77 79 71 4e 73 61 74 52 35 4e 6a 33 42 35 2b 31 74 34 75 0a 2f 75 6b 5a 4d dsdXa/uwyqNsatR5Nj3B5+1t4u./ukZM
1cd740 6a 67 44 66 78 54 32 41 48 4d 73 57 62 45 68 42 75 48 37 72 42 69 56 44 4b 50 2f 6d 5a 62 33 4b jgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3K
1cd760 79 65 62 31 53 54 4d 48 64 33 42 4f 75 43 59 52 4c 44 45 35 44 35 33 73 58 4f 70 5a 43 7a 32 48 yeb1STMHd3BOuCYRLDE5D53sXOpZCz2H
1cd780 41 46 38 50 31 31 46 0a 68 63 43 46 35 79 57 50 6c 64 77 58 38 7a 79 66 47 6d 36 77 79 75 4d 64 AF8P11F.hcCF5yWPldwX8zyfGm6wyuMd
1cd7a0 4b 75 6c 4d 59 2f 6f 6b 59 57 4c 57 32 6e 36 32 48 47 7a 31 41 68 33 55 4b 74 31 56 6b 4f 73 71 KulMY/okYWLW2n62HGz1Ah3UKt1VkOsq
1cd7c0 45 55 63 38 4c 6c 35 30 73 6f 49 69 70 58 31 54 48 30 58 73 0a 4a 35 46 39 35 79 49 57 36 4d 42 EUc8Ll50soIipX1TH0Xs.J5F95yIW6MB
1cd7e0 6f 4e 74 6a 47 38 55 2b 41 52 44 4c 35 34 64 48 52 48 61 72 65 71 4b 75 63 42 4b 2b 74 49 41 35 oNtjG8U+ARDL54dHRHareqKucBK+tIA5
1cd800 6b 6d 45 32 6c 61 38 42 49 57 4a 5a 70 54 64 77 48 6a 46 47 54 6f 74 2b 66 44 7a 32 4c 59 4c 53 kmE2la8BIWJZpTdwHjFGTot+fDz2LYLS
1cd820 43 0a 6a 61 6f 49 54 6d 4a 46 34 50 6b 4c 30 75 44 67 50 46 76 65 58 48 45 6e 4a 63 4c 6d 41 34 C.jaoITmJF4PkL0uDgPFveXHEnJcLmA4
1cd840 47 4c 45 46 50 6a 78 31 57 69 74 4a 2f 58 35 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 GLEFPjx1WitJ/X5g==.-----END.CERT
1cd860 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 52 6f 6f 74 20 43 65 72 74 69 IFICATE-----..SSL.com.Root.Certi
1cd880 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 52 53 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d fication.Authority.RSA.=========
1cd8a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a ===============================.
1cd8c0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1cd8e0 33 54 43 43 41 38 57 67 41 77 49 42 41 67 49 49 65 79 79 62 30 78 61 41 4d 70 6b 77 44 51 59 4a 3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJ
1cd900 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 66 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 KoZIhvcNAQELBQAwfDELMAkGA1UEBhMC
1cd920 56 56 4d 78 44 6a 41 4d 0a 42 67 4e 56 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 VVMxDjAM.BgNVBAgMBVRleGFzMRAwDgY
1cd940 44 56 51 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 DVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9
1cd960 54 55 30 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 0a 4d 54 41 76 42 67 4e 56 42 41 TU0wgQ29ycG9yYXRpb24x.MTAvBgNVBA
1cd980 4d 4d 4b 46 4e 54 54 43 35 6a 62 32 30 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 MMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2
1cd9a0 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 53 55 30 45 77 48 68 63 4e 4d 54 F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMT
1cd9c0 59 77 0a 4d 6a 45 79 4d 54 63 7a 4f 54 4d 35 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 63 7a 4f Yw.MjEyMTczOTM5WhcNNDEwMjEyMTczO
1cd9e0 54 4d 35 57 6a 42 38 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 TM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA
1cda00 31 55 45 43 41 77 46 56 47 56 34 59 58 4d 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 4d 42 30 68 76 1UECAwFVGV4YXMx.EDAOBgNVBAcMB0hv
1cda20 64 58 4e 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jw
1cda40 62 33 4a 68 64 47 6c 76 62 6a 45 78 4d 43 38 47 41 31 55 45 41 77 77 6f 55 31 4e 4d 0a 4c 6d 4e b3JhdGlvbjExMC8GA1UEAwwoU1NM.LmN
1cda60 76 62 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 vbSBSb290IENlcnRpZmljYXRpb24gQXV
1cda80 30 61 47 39 79 61 58 52 35 49 46 4a 54 51 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvc
1cdaa0 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 50 6b 50 33 61 NAQEBBQAD.ggIPADCCAgoCggIBAPkP3a
1cdac0 4d 72 66 63 76 51 4b 76 37 73 5a 34 57 6d 35 79 34 62 75 6e 66 68 34 2f 57 76 70 4f 7a 36 53 6c MrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl
1cdae0 32 52 78 46 64 48 61 78 68 33 61 33 62 79 2f 5a 50 6b 50 51 2f 43 0a 46 70 34 4c 5a 73 4e 57 6c 2RxFdHaxh3a3by/ZPkPQ/C.Fp4LZsNWl
1cdb00 4a 34 58 67 34 58 4f 56 75 2f 79 46 76 30 41 59 76 55 69 43 56 54 6f 5a 52 64 4f 51 62 6e 67 54 J4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT
1cdb20 30 61 58 71 68 76 49 75 47 35 69 58 6d 6d 78 58 39 73 71 41 6e 37 38 62 4d 72 7a 51 64 6a 74 30 0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0
1cdb40 4f 6a 38 0a 50 32 46 49 37 62 41 44 46 42 30 51 44 6b 73 5a 34 4c 74 4f 37 49 5a 6c 2f 7a 62 7a Oj8.P2FI7bADFB0QDksZ4LtO7IZl/zbz
1cdb60 58 6d 63 43 43 35 32 47 56 57 48 39 65 6a 6a 74 2f 75 49 5a 41 4c 64 76 6f 56 42 69 64 58 51 38 XmcCC52GVWH9ejjt/uIZALdvoVBidXQ8
1cdb80 6f 50 72 49 4a 5a 4b 30 62 6e 6f 69 78 2f 67 65 0a 6f 65 4f 79 33 5a 45 78 71 79 73 64 42 50 2b oPrIJZK0bnoix/ge.oeOy3ZExqysdBP+
1cdba0 6c 53 67 51 33 36 59 57 6b 4d 79 76 39 34 74 5a 56 4e 48 77 5a 70 45 70 6f 78 37 4b 6f 30 37 66 lSgQ36YWkMyv94tZVNHwZpEpox7Ko07f
1cdbc0 4b 6f 5a 4f 49 36 38 47 58 76 49 7a 35 48 64 6b 69 68 43 52 30 78 77 51 39 61 71 6b 70 0a 6b 38 KoZOI68GXvIz5HdkihCR0xwQ9aqkp.k8
1cdbe0 7a 72 75 46 76 68 2f 6c 38 6c 71 6a 52 59 79 4d 45 6a 56 4a 30 62 6d 42 48 44 4f 4a 78 2b 50 59 zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PY
1cdc00 5a 73 70 51 39 41 68 6e 77 43 39 46 77 43 54 79 6a 4c 72 6e 47 66 44 7a 72 49 4d 2f 34 52 4a 54 ZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJT
1cdc20 58 71 2f 4c 72 46 59 44 33 5a 0a 66 42 6a 56 73 71 6e 54 64 58 67 44 63 69 4c 4b 4f 73 4d 66 37 Xq/LrFYD3Z.fBjVsqnTdXgDciLKOsMf7
1cdc40 79 7a 6c 4c 71 6e 36 6e 69 79 32 55 55 62 39 72 77 50 57 36 6d 42 6f 36 6f 55 57 4e 6d 75 46 36 yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6
1cdc60 52 37 41 73 39 33 45 4a 4e 79 41 4b 6f 46 42 62 5a 51 2b 79 4f 44 4a 0a 67 55 45 41 6e 6c 36 2f R7As93EJNyAKoFBbZQ+yODJ.gUEAnl6/
1cdc80 66 38 55 49 6d 4b 49 59 4c 45 4a 41 73 2f 6c 76 4f 43 64 4c 54 6f 44 30 50 59 46 48 34 49 68 38 f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih8
1cdca0 36 68 7a 4f 74 58 56 63 55 53 34 63 4b 33 38 61 63 69 6a 6e 41 4c 58 52 64 4d 62 58 35 4a 2b 74 6hzOtXVcUS4cK38acijnALXRdMbX5J+t
1cdcc0 42 35 4f 32 0a 55 7a 55 31 2f 44 66 6b 77 2f 5a 64 46 72 34 68 63 39 36 53 43 76 69 67 59 32 71 B5O2.UzU1/Dfkw/ZdFr4hc96SCvigY2q
1cdce0 38 6c 70 4a 71 50 76 69 38 5a 56 57 62 33 76 55 4e 69 53 59 45 2f 43 55 61 70 69 56 70 79 38 4a 8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8J
1cdd00 74 79 6e 7a 69 57 56 2b 58 72 4f 76 76 4c 73 69 38 0a 31 78 74 5a 50 43 76 4d 38 68 6e 49 6b 32 tynziWV+XrOvvLsi8.1xtZPCvM8hnIk2
1cdd20 73 6e 59 78 6e 50 2f 4f 6b 6d 2b 4d 70 78 6d 33 2b 54 2f 6a 52 6e 68 45 36 5a 36 2f 79 7a 65 41 snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeA
1cdd40 6b 7a 63 4c 70 6d 70 6e 62 74 47 33 50 72 47 71 55 4e 78 43 49 54 49 4a 52 57 43 6b 34 73 0a 62 kzcLpmpnbtG3PrGqUNxCITIJRWCk4s.b
1cdd60 45 36 78 2f 63 2b 63 43 62 71 69 4d 2b 32 48 41 67 4d 42 41 41 47 6a 59 7a 42 68 4d 42 30 47 41 E6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA
1cdd80 31 55 64 44 67 51 57 42 42 54 64 42 41 6b 48 6f 76 56 36 66 56 4a 54 45 70 4b 56 37 6a 69 41 4a 1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJ
1cdda0 51 32 6d 57 54 41 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 38 47 Q2mWTAPBgNV.HRMBAf8EBTADAQH/MB8G
1cddc0 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 30 45 43 51 65 69 39 58 70 39 55 6c 4d 53 6b 70 58 75 A1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXu
1cdde0 4f 49 41 6c 44 61 5a 5a 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 0a 41 77 49 42 68 6a 41 OIAlDaZZMA4GA1UdDwEB/wQE.AwIBhjA
1cde00 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 49 42 67 52 6c 43 6e NBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn
1cde20 37 4a 70 30 63 48 68 35 77 59 66 47 56 63 70 4e 78 4a 4b 31 6f 6b 31 69 4f 4d 71 38 62 73 33 41 7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3A
1cde40 44 2f 43 55 72 0a 64 49 57 51 50 58 68 71 39 4c 6d 4c 70 5a 63 37 74 52 69 52 75 78 36 6e 2b 55 D/CUr.dIWQPXhq9LmLpZc7tRiRux6n+U
1cde60 42 62 6b 66 6c 56 6d 61 38 65 45 64 42 63 48 61 64 6d 34 37 47 55 42 77 77 79 4f 61 62 71 47 37 BbkflVma8eEdBcHadm47GUBwwyOabqG7
1cde80 42 35 32 42 32 63 63 45 54 6a 69 74 33 45 2b 5a 55 66 0a 69 6a 68 44 50 77 47 46 70 55 65 6e 50 B52B2ccETjit3E+ZUf.ijhDPwGFpUenP
1cdea0 55 61 79 76 4f 55 69 61 50 64 37 6e 4e 67 73 50 67 6f 68 79 43 30 7a 72 4c 2f 46 67 5a 6b 78 64 UayvOUiaPd7nNgsPgohyC0zrL/FgZkxd
1cdec0 4d 46 31 63 63 57 2b 73 66 41 6a 52 66 53 64 61 2f 77 5a 59 35 32 6a 76 41 54 47 47 41 73 6c 0a MF1ccW+sfAjRfSda/wZY52jvATGGAsl.
1cdee0 75 31 4f 4a 44 37 4f 41 55 4e 35 46 37 6b 52 2f 71 35 52 34 5a 4a 6a 54 39 69 6a 64 68 39 68 77 u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hw
1cdf00 5a 58 54 37 44 72 6b 54 36 36 63 50 59 61 6b 79 6c 73 7a 65 75 2b 31 6a 54 42 69 37 71 55 44 33 ZXT7DrkT66cPYakylszeu+1jTBi7qUD3
1cdf20 6f 46 52 75 49 49 68 78 64 52 6a 71 0a 65 72 51 30 63 75 41 6a 4a 33 64 63 74 70 44 71 68 69 56 oFRuIIhxdRjq.erQ0cuAjJ3dctpDqhiV
1cdf40 41 71 2b 38 7a 44 38 75 66 67 72 36 69 49 50 76 32 74 53 30 61 35 73 4b 46 73 58 51 50 2b 38 68 Aq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8h
1cdf60 6c 41 71 52 53 41 55 66 64 53 53 4c 42 76 39 6a 72 61 36 78 2b 33 75 78 6a 0a 4d 78 57 33 49 77 lAqRSAUfdSSLBv9jra6x+3uxj.MxW3Iw
1cdf80 69 50 78 67 2b 4e 51 56 72 64 6a 73 57 35 6a 2b 56 46 50 33 6a 62 75 74 49 62 51 4c 48 2b 63 55 iPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU
1cdfa0 30 2f 34 49 47 69 75 6c 36 30 37 42 58 67 6b 39 30 49 48 33 37 68 56 5a 6b 4c 49 64 36 54 6e 67 0/4IGiul607BXgk90IH37hVZkLId6Tng
1cdfc0 72 37 35 71 4e 4a 0a 76 54 59 77 2f 75 64 33 73 71 42 31 6c 37 55 74 67 59 67 58 5a 53 44 33 32 r75qNJ.vTYw/ud3sqB1l7UtgYgXZSD32
1cdfe0 70 41 41 6e 38 6c 53 7a 44 4c 4b 4e 58 7a 31 50 51 2f 59 4b 39 66 31 4a 6d 7a 4a 42 6a 53 57 46 pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWF
1ce000 75 70 77 57 52 6f 79 65 58 6b 4c 74 6f 68 2f 44 31 4a 49 0a 50 62 39 73 32 4b 4a 45 4c 74 46 4f upwWRoyeXkLtoh/D1JI.Pb9s2KJELtFO
1ce020 74 33 4a 59 30 34 6b 54 6c 66 35 45 71 2f 6a 58 69 78 74 75 6e 4c 77 73 6f 46 76 56 61 67 43 76 t3JY04kTlf5Eq/jXixtunLwsoFvVagCv
1ce040 58 7a 66 68 31 66 6f 51 43 35 69 63 68 75 63 6d 6a 38 37 77 37 47 36 4b 56 77 75 41 34 30 36 79 Xzfh1foQC5ichucmj87w7G6KVwuA406y
1ce060 0a 77 4b 42 6a 59 5a 43 36 56 57 67 33 64 47 71 32 6b 74 75 66 6f 59 59 69 74 6d 55 6e 44 75 79 .wKBjYZC6VWg3dGq2ktufoYYitmUnDuy
1ce080 32 6e 30 4a 67 35 47 66 43 74 64 70 42 43 38 54 54 69 32 45 62 76 50 6f 66 6b 53 76 58 52 41 64 2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAd
1ce0a0 65 75 69 6d 73 32 63 58 70 37 31 4e 49 0a 57 75 75 41 38 53 68 59 49 63 32 77 42 6c 58 37 4a 7a euims2cXp71NI.WuuA8ShYIc2wBlX7Jz
1ce0c0 39 54 6b 48 43 70 42 42 35 58 4a 37 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 9TkHCpBB5XJ7k=.-----END.CERTIFIC
1ce0e0 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 ATE-----..SSL.com.Root.Certifica
1ce100 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.Authority.ECC.=============
1ce120 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1ce140 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 6a 54 43 43 -BEGIN.CERTIFICATE-----.MIICjTCC
1ce160 41 68 53 67 41 77 49 42 41 67 49 49 64 65 62 66 79 38 46 6f 57 36 67 77 43 67 59 49 4b 6f 5a 49 AhSgAwIBAgIIdebfy8FoW6gwCgYIKoZI
1ce180 7a 6a 30 45 41 77 49 77 66 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 6a 41 4d zj0EAwIwfDELMAkGA1UEBhMCVVMxDjAM
1ce1a0 42 67 4e 56 0a 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 BgNV.BAgMBVRleGFzMRAwDgYDVQQHDAd
1ce1c0 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 77 67 51 32 39 Ib3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29
1ce1e0 79 63 47 39 79 59 58 52 70 62 32 34 78 4d 54 41 76 0a 42 67 4e 56 42 41 4d 4d 4b 46 4e 54 54 43 ycG9yYXRpb24xMTAv.BgNVBAMMKFNTTC
1ce200 35 6a 62 32 30 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIE
1ce220 46 31 64 47 68 76 63 6d 6c 30 65 53 42 46 51 30 4d 77 48 68 63 4e 4d 54 59 77 4d 6a 45 79 0a 4d F1dGhvcml0eSBFQ0MwHhcNMTYwMjEy.M
1ce240 54 67 78 4e 44 41 7a 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 67 78 4e 44 41 7a 57 6a 42 38 4d TgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8M
1ce260 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 31 55 45 43 41 77 46 56 QswCQYDVQQGEwJVUzEOMAwGA1UECAwFV
1ce280 47 56 34 59 58 4d 78 45 44 41 4f 0a 42 67 4e 56 42 41 63 4d 42 30 68 76 64 58 4e 30 62 32 34 78 GV4YXMxEDAO.BgNVBAcMB0hvdXN0b24x
1ce2a0 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 62 33 4a 68 64 47 6c 76 GDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlv
1ce2c0 62 6a 45 78 4d 43 38 47 41 31 55 45 41 77 77 6f 55 31 4e 4d 4c 6d 4e 76 0a 62 53 42 53 62 32 39 bjExMC8GA1UEAwwoU1NMLmNv.bSBSb29
1ce2e0 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 0IENlcnRpZmljYXRpb24gQXV0aG9yaXR
1ce300 35 49 45 56 44 51 7a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 5IEVDQzB2MBAGByqGSM49AgEGBSuBBAA
1ce320 69 41 32 49 41 0a 42 45 56 75 71 56 44 45 70 69 4d 32 6e 6c 38 6f 6a 52 66 4c 6c 69 4a 6b 50 39 iA2IA.BEVuqVDEpiM2nl8ojRfLliJkP9
1ce340 78 36 6a 68 33 4d 43 4c 4f 69 63 53 53 36 6a 6b 6d 35 42 42 74 48 6c 6c 69 72 4c 5a 58 49 37 5a x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z
1ce360 34 49 4e 63 67 6e 36 34 6d 4d 55 31 6a 72 59 6f 72 2b 0a 38 46 73 50 61 7a 46 53 59 30 45 37 69 4INcgn64mMU1jrYor+.8FsPazFSY0E7i
1ce380 63 33 73 37 4c 61 4e 47 64 4d 30 42 39 79 37 78 67 5a 2f 77 6b 57 56 37 4d 74 2f 71 43 50 67 43 c3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgC
1ce3a0 65 6d 42 2b 76 4e 48 30 36 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 4c 52 0a emB+vNH06NjMGEwHQYDVR0OBBYEFILR.
1ce3c0 68 58 4d 77 35 7a 55 45 30 34 34 43 6b 76 76 6c 70 4e 48 45 49 65 6a 4e 4d 41 38 47 41 31 55 64 hXMw5zUE044CkvvlpNHEIejNMA8GA1Ud
1ce3e0 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU
1ce400 67 74 47 46 63 7a 44 6e 4e 51 54 54 0a 6a 67 4b 53 2b 2b 57 6b 30 63 51 68 36 4d 30 77 44 67 59 gtGFczDnNQTT.jgKS++Wk0cQh6M0wDgY
1ce420 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d DVR0PAQH/BAQDAgGGMAoGCCqGSM49BAM
1ce440 43 41 32 63 41 4d 47 51 43 4d 47 2f 6e 36 31 6b 52 70 47 44 50 59 62 43 57 0a 65 2b 30 46 2b 53 CA2cAMGQCMG/n61kRpGDPYbCW.e+0F+S
1ce460 38 54 6b 64 7a 74 35 66 78 51 61 78 46 47 52 72 4d 63 49 51 42 69 75 37 37 44 35 2b 6a 4e 42 35 8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5
1ce480 6e 35 44 51 74 64 63 6a 37 45 71 67 49 77 48 37 79 36 43 2b 49 77 4a 50 74 38 62 59 42 56 43 70 n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCp
1ce4a0 6b 2b 67 41 30 7a 0a 35 57 61 6a 73 36 4f 37 70 64 57 4c 6a 77 6b 73 70 6c 31 2b 34 76 41 48 43 k+gA0z.5Wajs6O7pdWLjwkspl1+4vAHC
1ce4c0 47 68 74 30 6e 78 70 62 6c 2f 66 35 57 70 6c 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 Ght0nxpbl/f5Wpl.-----END.CERTIFI
1ce4e0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 45 56 20 52 6f 6f 74 20 43 65 72 74 69 CATE-----..SSL.com.EV.Root.Certi
1ce500 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 52 53 41 20 52 32 0a 3d 3d 3d 3d 3d 3d fication.Authority.RSA.R2.======
1ce520 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1ce540 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1ce560 2d 2d 2d 2d 0a 4d 49 49 46 36 7a 43 43 41 39 4f 67 41 77 49 42 41 67 49 49 56 72 59 70 7a 54 53 ----.MIIF6zCCA9OgAwIBAgIIVrYpzTS
1ce580 38 65 50 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 67 59 49 78 43 7a 41 8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzA
1ce5a0 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 51 34 77 0a 44 41 59 44 56 51 51 49 44 41 56 55 5a 58 JBgNVBAYTAlVTMQ4w.DAYDVQQIDAVUZX
1ce5c0 68 68 63 7a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 53 47 39 31 63 33 52 76 62 6a 45 59 4d 42 hhczEQMA4GA1UEBwwHSG91c3RvbjEYMB
1ce5e0 59 47 41 31 55 45 43 67 77 50 55 31 4e 4d 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 39 75 0a 4d YGA1UECgwPU1NMIENvcnBvcmF0aW9u.M
1ce600 54 63 77 4e 51 59 44 56 51 51 44 44 43 35 54 55 30 77 75 59 32 39 74 49 45 56 57 49 46 4a 76 62 TcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb
1ce620 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 3QgQ2VydGlmaWNhdGlvbiBBdXRob3Jpd
1ce640 48 6b 67 55 6c 4e 42 49 46 49 79 0a 4d 42 34 58 44 54 45 33 4d 44 55 7a 4d 54 45 34 4d 54 51 7a HkgUlNBIFIy.MB4XDTE3MDUzMTE4MTQz
1ce660 4e 31 6f 58 44 54 51 79 4d 44 55 7a 4d 44 45 34 4d 54 51 7a 4e 31 6f 77 67 59 49 78 43 7a 41 4a N1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJ
1ce680 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 51 34 77 44 41 59 44 56 51 51 49 0a 44 41 56 55 5a 58 68 BgNVBAYTAlVTMQ4wDAYDVQQI.DAVUZXh
1ce6a0 68 63 7a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 53 47 39 31 63 33 52 76 62 6a 45 59 4d 42 59 hczEQMA4GA1UEBwwHSG91c3RvbjEYMBY
1ce6c0 47 41 31 55 45 43 67 77 50 55 31 4e 4d 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 39 75 4d 54 63 GA1UECgwPU1NMIENvcnBvcmF0aW9uMTc
1ce6e0 77 4e 51 59 44 0a 56 51 51 44 44 43 35 54 55 30 77 75 59 32 39 74 49 45 56 57 49 46 4a 76 62 33 wNQYD.VQQDDC5TU0wuY29tIEVWIFJvb3
1ce700 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdH
1ce720 6b 67 55 6c 4e 42 49 46 49 79 4d 49 49 43 49 6a 41 4e 0a 42 67 6b 71 68 6b 69 47 39 77 30 42 41 kgUlNBIFIyMIICIjAN.BgkqhkiG9w0BA
1ce740 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 6a 7a 5a 6c 51 4f 48 57 54 QEFAAOCAg8AMIICCgKCAgEAjzZlQOHWT
1ce760 63 44 58 74 4f 6c 47 32 6d 76 71 4d 30 66 4e 54 50 6c 39 66 62 36 39 4c 54 33 77 32 33 6a 68 0a cDXtOlG2mvqM0fNTPl9fb69LT3w23jh.
1ce780 68 71 58 5a 75 67 6c 58 61 4f 31 58 50 71 44 51 43 45 47 44 35 79 68 42 4a 42 2f 6a 63 68 58 51 hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQ
1ce7a0 41 52 72 37 58 6e 41 6a 73 73 75 66 4f 65 50 50 78 55 37 47 6b 6d 30 6d 78 6e 75 37 73 39 6f 6e ARr7XnAjssufOePPxU7Gkm0mxnu7s9on
1ce7c0 6e 51 71 47 36 59 45 33 42 66 37 77 0a 63 58 48 73 77 78 7a 70 59 36 49 58 46 4a 33 76 47 32 66 nQqG6YE3Bf7w.cXHswxzpY6IXFJ3vG2f
1ce7e0 54 68 56 55 43 41 74 5a 4a 79 63 78 61 34 62 48 33 62 7a 4b 66 79 64 51 37 69 45 47 6f 6e 4c 33 ThVUCAtZJycxa4bH3bzKfydQ7iEGonL3
1ce800 4c 71 39 74 74 65 77 6b 66 6f 6b 78 79 6b 4e 6f 72 43 50 7a 50 50 46 54 4f 0a 5a 77 2b 6f 7a 31 Lq9ttewkfokxykNorCPzPPFTO.Zw+oz1
1ce820 32 57 47 51 76 45 34 33 4c 72 72 64 46 39 48 53 66 76 6b 75 73 51 76 31 76 72 4f 36 2f 50 67 4e 2WGQvE43LrrdF9HSfvkusQv1vrO6/PgN
1ce840 33 42 30 70 59 45 57 33 70 2b 70 4b 6b 38 4f 48 61 6b 59 6f 36 67 4f 56 37 71 64 38 39 64 41 46 3B0pYEW3p+pKk8OHakYo6gOV7qd89dAF
1ce860 6d 50 5a 69 77 2b 0a 42 36 4b 6a 42 53 59 52 61 5a 66 71 68 62 63 50 6c 67 74 4c 79 45 44 68 55 mPZiw+.B6KjBSYRaZfqhbcPlgtLyEDhU
1ce880 4c 6f 75 69 73 76 33 44 35 6f 69 35 33 2b 61 4e 78 50 4e 38 6b 30 54 61 79 48 52 77 4d 77 69 38 Louisv3D5oi53+aNxPN8k0TayHRwMwi8
1ce8a0 71 46 47 39 6b 52 70 6e 4d 70 68 4e 51 63 41 62 39 5a 68 0a 43 42 48 71 75 72 6a 32 36 62 4e 67 qFG9kRpnMphNQcAb9Zh.CBHqurj26bNg
1ce8c0 35 55 32 35 37 4a 38 55 5a 73 6c 58 57 4e 76 4e 68 32 6e 34 69 6f 59 53 41 30 65 2f 5a 68 4e 32 5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2
1ce8e0 72 48 64 39 4e 43 53 46 67 38 33 58 71 70 79 51 47 70 38 68 4c 48 39 34 74 32 53 34 32 4f 69 6d rHd9NCSFg83XqpyQGp8hLH94t2S42Oim
1ce900 0a 39 48 69 7a 56 63 75 45 30 6a 4c 45 65 4b 36 6a 6a 32 48 64 7a 67 68 54 72 65 79 49 2f 42 58 .9HizVcuE0jLEeK6jj2HdzghTreyI/BX
1ce920 6b 6d 67 33 6d 6e 78 70 33 7a 6b 79 50 75 42 51 56 50 57 4b 63 68 6a 67 47 41 47 59 53 35 46 6c kmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl
1ce940 32 57 6c 50 41 41 70 69 69 45 43 74 6f 0a 52 48 75 4f 65 63 34 7a 53 6e 61 71 57 34 45 57 47 37 2WlPAApiiECto.RHuOec4zSnaqW4EWG7
1ce960 57 4b 32 4e 41 41 65 31 35 69 74 41 6e 57 68 6d 4d 4f 70 67 57 56 53 62 6f 6f 69 34 69 54 73 6a WK2NAAe15itAnWhmMOpgWVSbooi4iTsj
1ce980 51 63 32 4b 52 56 62 72 63 63 30 4e 36 5a 56 54 73 6a 39 43 4c 67 2b 53 6c 6d 0a 4a 75 77 67 55 Qc2KRVbrcc0N6ZVTsj9CLg+Slm.JuwgU
1ce9a0 48 66 62 53 67 75 50 76 75 55 43 59 48 42 42 58 74 53 75 55 44 6b 69 46 43 62 4c 73 6a 74 7a 64 HfbSguPvuUCYHBBXtSuUDkiFCbLsjtzd
1ce9c0 46 56 48 42 33 6d 42 4f 61 67 77 45 30 54 6c 42 49 71 75 6c 68 4d 6c 51 67 2b 35 55 38 53 62 2f FVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/
1ce9e0 4d 33 6b 48 4e 34 38 0a 2b 71 76 57 42 6b 6f 66 5a 36 61 59 4d 42 7a 64 4c 4e 76 63 47 4a 56 58 M3kHN48.+qvWBkofZ6aYMBzdLNvcGJVX
1cea00 5a 73 62 2f 58 49 74 57 39 58 63 43 41 77 45 41 41 61 4e 6a 4d 47 45 77 44 77 59 44 56 52 30 54 Zsb/XItW9XcCAwEAAaNjMGEwDwYDVR0T
1cea20 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 66 42 67 4e 56 0a 48 53 4d 45 47 44 41 57 67 42 54 AQH/BAUwAwEB/zAfBgNV.HSMEGDAWgBT
1cea40 35 59 4c 76 55 34 39 55 30 39 72 6a 31 42 6f 41 6c 70 33 50 62 52 6d 6d 6f 6e 6a 41 64 42 67 4e 5YLvU49U09rj1BoAlp3PbRmmonjAdBgN
1cea60 56 48 51 34 45 46 67 51 55 2b 57 43 37 31 4f 50 56 4e 50 61 34 39 51 61 41 4a 61 64 7a 32 30 5a VHQ4EFgQU+WC71OPVNPa49QaAJadz20Z
1cea80 70 0a 71 4a 34 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 p.qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCS
1ceaa0 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 42 57 73 34 37 4c 43 70 31 4a 6a 72 qGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr
1ceac0 2b 6b 78 4a 47 37 5a 68 63 46 55 5a 68 31 0a 2b 2b 56 51 4c 48 71 65 38 52 54 36 71 39 4f 4b 50 +kxJG7ZhcFUZh1.++VQLHqe8RT6q9OKP
1ceae0 76 2b 52 4b 59 39 6a 69 39 69 30 71 56 51 42 44 62 36 54 68 69 2f 35 53 6d 33 48 58 76 56 58 2b v+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+
1ceb00 63 70 56 48 42 4b 2b 52 77 38 32 78 64 39 71 74 39 74 31 77 6b 63 6c 66 37 6e 78 0a 59 2f 68 6f cpVHBK+Rw82xd9qt9t1wkclf7nx.Y/ho
1ceb20 4c 56 55 45 30 66 4b 4e 73 4b 54 50 76 44 78 65 48 33 6a 6e 70 61 41 67 63 4c 41 45 78 62 66 33 LVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3
1ceb40 63 71 66 65 49 67 32 39 4d 79 56 47 6a 47 53 53 4a 75 4d 2b 4c 6d 4f 57 32 70 75 4d 50 66 67 59 cqfeIg29MyVGjGSSJuM+LmOW2puMPfgY
1ceb60 43 64 63 44 7a 48 32 47 0a 67 75 44 4b 42 41 64 52 55 4e 66 2f 6b 74 55 4d 37 39 71 47 6e 35 6e CdcDzH2G.guDKBAdRUNf/ktUM79qGn5n
1ceb80 58 36 37 65 76 61 4f 49 35 4a 70 53 36 61 4c 65 2f 67 39 50 71 65 6d 63 39 59 6d 65 75 4a 65 56 X67evaOI5JpS6aLe/g9Pqemc9YmeuJeV
1ceba0 79 36 4f 4c 6b 37 4b 34 53 39 6b 73 72 50 4a 2f 70 73 45 44 7a 0a 4f 46 53 7a 2f 62 64 6f 79 4e y6OLk7K4S9ksrPJ/psEDz.OFSz/bdoyN
1cebc0 72 47 6a 31 45 38 73 76 75 52 33 42 7a 6e 6d 35 33 68 74 77 31 79 6a 2b 4b 6b 78 4b 6c 34 2b 65 rGj1E8svuR3Bznm53htw1yj+KkxKl4+e
1cebe0 73 55 72 4d 5a 44 42 63 4a 6c 4f 53 67 59 41 73 4f 43 73 70 30 46 76 6d 58 74 6c 6c 39 6c 64 44 sUrMZDBcJlOSgYAsOCsp0FvmXtll9ldD
1cec00 7a 37 0a 43 54 55 75 65 35 77 54 2f 52 73 50 58 63 64 74 67 54 70 57 44 38 77 37 34 61 38 43 4c z7.CTUue5wT/RsPXcdtgTpWD8w74a8CL
1cec20 79 4b 73 52 73 70 47 50 4b 41 63 54 4e 5a 45 74 46 34 75 58 42 56 6d 43 65 45 6d 4b 66 37 47 55 yKsRspGPKAcTNZEtF4uXBVmCeEmKf7GU
1cec40 6d 47 36 73 58 50 2f 77 77 79 63 35 57 78 71 0a 6c 44 38 55 79 6b 41 57 6c 59 54 7a 57 61 6d 73 mG6sXP/wwyc5Wxq.lD8UykAWlYTzWams
1cec60 58 30 78 68 6b 32 33 52 4f 38 79 69 6c 51 77 69 70 6d 64 6e 52 43 36 35 32 64 4b 4b 51 62 4e 6d X0xhk23RO8yilQwipmdnRC652dKKQbNm
1cec80 43 31 72 37 66 53 4f 6c 38 68 71 77 2f 39 36 62 67 35 51 75 30 54 2f 66 6b 72 65 52 0a 72 77 55 C1r7fSOl8hqw/96bg5Qu0T/fkreR.rwU
1ceca0 37 5a 63 65 67 62 4c 48 4e 59 68 4c 44 6b 42 76 6a 4a 63 34 30 76 47 39 33 64 72 45 51 77 2f 63 7ZcegbLHNYhLDkBvjJc40vG93drEQw/c
1cecc0 46 47 73 44 57 72 33 52 69 53 42 64 33 6b 6d 6d 51 59 52 7a 65 6c 59 42 30 56 49 38 59 48 4d 50 FGsDWr3RiSBd3kmmQYRzelYB0VI8YHMP
1cece0 7a 41 39 43 2f 70 45 4e 31 0a 68 6c 4d 59 65 67 6f 75 43 52 77 32 6e 35 48 39 67 6f 6f 69 53 39 zA9C/pEN1.hlMYegouCRw2n5H9gooiS9
1ced00 45 4f 55 43 58 64 79 77 4d 4d 46 38 6d 44 41 41 68 4f 4e 55 32 4b 69 2b 33 77 41 70 52 6d 4c 45 EOUCXdywMMF8mDAAhONU2Ki+3wApRmLE
1ced20 52 2f 79 35 55 6e 6c 68 65 74 43 54 43 73 74 6e 45 58 62 6f 73 58 0a 39 68 77 4a 31 43 30 37 6d R/y5UnlhetCTCstnEXbosX.9hwJ1C07m
1ced40 4b 56 78 30 31 51 54 32 57 44 7a 39 55 74 6d 54 2f 72 78 37 69 41 53 6a 62 53 73 56 37 46 46 59 KVx01QT2WDz9UtmT/rx7iASjbSsV7FFY
1ced60 36 47 73 64 71 6e 43 2b 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 6GsdqnC+w==.-----END.CERTIFICATE
1ced80 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 45 56 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 -----..SSL.com.EV.Root.Certifica
1ceda0 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.Authority.ECC.=============
1cedc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d ==============================.-
1cede0 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 6c ----BEGIN.CERTIFICATE-----.MIICl
1cee00 44 43 43 41 68 71 67 41 77 49 42 41 67 49 49 4c 43 6d 63 57 78 62 74 42 5a 55 77 43 67 59 49 4b DCCAhqgAwIBAgIILCmcWxbtBZUwCgYIK
1cee20 6f 5a 49 7a 6a 30 45 41 77 49 77 66 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 oZIzj0EAwIwfzELMAkGA1UEBhMCVVMxD
1cee40 6a 41 4d 42 67 4e 56 0a 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 51 48 jAMBgNV.BAgMBVRleGFzMRAwDgYDVQQH
1cee60 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 77 67 DAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wg
1cee80 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 4e 44 41 79 0a 42 67 4e 56 42 41 4d 4d 4b 31 4e Q29ycG9yYXRpb24xNDAy.BgNVBAMMK1N
1ceea0 54 54 43 35 6a 62 32 30 67 52 56 59 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 TTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F
1ceec0 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 46 51 30 4d 77 48 68 63 4e 4d 54 59 0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTY
1ceee0 77 0a 4d 6a 45 79 4d 54 67 78 4e 54 49 7a 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 67 78 4e 54 w.MjEyMTgxNTIzWhcNNDEwMjEyMTgxNT
1cef00 49 7a 57 6a 42 2f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 31 IzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1
1cef20 55 45 43 41 77 46 56 47 56 34 59 58 4d 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 4d 42 30 68 76 64 UECAwFVGV4YXMx.EDAOBgNVBAcMB0hvd
1cef40 58 4e 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 62 XN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb
1cef60 33 4a 68 64 47 6c 76 62 6a 45 30 4d 44 49 47 41 31 55 45 41 77 77 72 55 31 4e 4d 0a 4c 6d 4e 76 3JhdGlvbjE0MDIGA1UEAwwrU1NM.LmNv
1cef80 62 53 42 46 56 69 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 bSBFViBSb290IENlcnRpZmljYXRpb24g
1cefa0 51 58 56 30 61 47 39 79 61 58 52 35 49 45 56 44 51 7a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 QXV0aG9yaXR5IEVDQzB2MBAGByqGSM49
1cefc0 41 67 45 47 42 53 75 42 0a 42 41 41 69 41 32 49 41 42 4b 6f 53 52 35 43 59 47 2f 76 76 77 30 41 AgEGBSuB.BAAiA2IABKoSR5CYG/vvw0A
1cefe0 48 67 79 42 4f 38 54 43 43 6f 67 62 52 38 70 4b 47 59 66 4c 32 49 57 6a 4b 41 4d 54 48 36 6b 4d HgyBO8TCCogbR8pKGYfL2IWjKAMTH6kM
1cf000 41 56 49 62 63 2f 52 2f 66 41 4c 68 42 59 6c 7a 63 63 42 59 79 0a 33 68 2b 5a 31 4d 7a 46 42 38 AVIbc/R/fALhBYlzccBYy.3h+Z1MzFB8
1cf020 67 49 48 32 45 57 42 31 45 39 66 56 77 48 55 2b 4d 31 4f 49 7a 66 7a 5a 2f 5a 4c 67 31 4b 74 68 gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kth
1cf040 6b 75 57 6e 42 61 42 75 32 2b 38 4b 47 77 79 74 41 4a 4b 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 kuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR
1cf060 30 4f 0a 42 42 59 45 46 46 76 4b 58 75 58 65 30 6f 47 71 7a 61 67 74 5a 46 47 32 32 58 4b 62 6c 0O.BBYEFFvKXuXe0oGqzagtZFG22XKbl
1cf080 2b 5a 50 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 +ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDV
1cf0a0 52 30 6a 42 42 67 77 46 6f 41 55 57 38 70 65 0a 35 64 37 53 67 61 72 4e 71 43 31 6b 55 62 62 5a R0jBBgwFoAUW8pe.5d7SgarNqC1kUbbZ
1cf0c0 63 70 75 58 35 6b 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 6f 47 cpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoG
1cf0e0 43 43 71 47 53 4d 34 39 42 41 4d 43 41 32 67 41 4d 47 55 43 4d 51 43 4b 35 6b 43 4a 0a 4e 2b 76 CCqGSM49BAMCA2gAMGUCMQCK5kCJ.N+v
1cf100 70 31 52 50 5a 79 74 52 72 4a 50 4f 77 50 59 64 47 57 42 72 73 73 64 39 76 2b 31 61 36 63 47 76 p1RPZytRrJPOwPYdGWBrssd9v+1a6cGv
1cf120 48 4f 4d 7a 6f 73 59 78 50 44 2f 66 78 5a 33 59 4f 67 39 41 65 55 59 38 43 4d 44 33 32 49 79 67 HOMzosYxPD/fxZ3YOg9AeUY8CMD32Iyg
1cf140 6d 54 4d 5a 67 68 35 4d 6d 0a 6d 37 49 31 48 72 72 57 39 7a 7a 52 48 4d 37 36 4a 54 79 6d 47 6f mTMZgh5Mm.m7I1HrrW9zzRHM76JTymGo
1cf160 45 56 57 2f 4d 53 44 32 7a 75 5a 59 72 4a 68 36 6a 35 42 2b 42 69 6d 6f 78 63 53 67 3d 3d 0a 2d EVW/MSD2zuZYrJh6j5B+BimoxcSg==.-
1cf180 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c ----END.CERTIFICATE-----..Global
1cf1a0 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 52 36 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Sign.Root.CA.-.R6.==============
1cf1c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1cf1e0 2d 2d 2d 2d 2d 0a 4d 49 49 46 67 7a 43 43 41 32 75 67 41 77 49 42 41 67 49 4f 52 65 61 37 41 34 -----.MIIFgzCCA2ugAwIBAgIORea7A4
1cf200 4d 7a 77 34 56 6c 53 4f 62 2f 52 56 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQ
1cf220 41 77 54 44 45 67 4d 42 34 47 41 31 55 45 43 78 4d 58 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 AwTDEgMB4GA1UECxMX.R2xvYmFsU2lnb
1cf240 69 42 53 62 32 39 30 49 45 4e 42 49 43 30 67 55 6a 59 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 iBSb290IENBIC0gUjYxEzARBgNVBAoTC
1cf260 6b 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 0a kdsb2JhbFNpZ24xEzARBgNVBAMTCkds.
1cf280 62 32 4a 68 62 46 4e 70 5a 32 34 77 48 68 63 4e 4d 54 51 78 4d 6a 45 77 4d 44 41 77 4d 44 41 77 b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAw
1cf2a0 57 68 63 4e 4d 7a 51 78 4d 6a 45 77 4d 44 41 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 WhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYD
1cf2c0 56 51 51 4c 45 78 64 48 62 47 39 69 0a 59 57 78 54 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 VQQLExdHbG9i.YWxTaWduIFJvb3QgQ0E
1cf2e0 67 4c 53 42 53 4e 6a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c gLSBSNjETMBEGA1UEChMKR2xvYmFsU2l
1cf300 6e 62 6a 45 54 4d 42 45 47 41 31 55 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 0a 55 32 6c 6e 62 6a nbjETMBEGA1UEAxMKR2xvYmFs.U2lnbj
1cf320 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 CCAiIwDQYJKoZIhvcNAQEBBQADggIPAD
1cf340 43 43 41 67 6f 43 67 67 49 42 41 4a 55 48 36 48 50 4b 5a 76 6e 73 46 4d 70 37 50 50 63 4e 43 50 CCAgoCggIBAJUH6HPKZvnsFMp7PPcNCP
1cf360 47 30 52 51 73 73 0a 67 72 52 49 78 75 74 62 50 4b 36 44 75 45 47 53 4d 78 53 6b 62 33 2f 70 4b G0RQss.grRIxutbPK6DuEGSMxSkb3/pK
1cf380 73 7a 47 73 49 68 72 78 62 61 4a 30 63 61 79 2f 78 54 4f 55 52 51 68 37 45 72 64 47 31 72 47 31 szGsIhrxbaJ0cay/xTOURQh7ErdG1rG1
1cf3a0 6f 66 75 54 54 6f 56 42 75 31 6b 5a 67 75 53 67 4d 70 45 0a 33 6e 4f 55 54 76 4f 6e 69 58 39 50 ofuTToVBu1kZguSgMpE.3nOUTvOniX9P
1cf3c0 65 47 4d 49 79 42 4a 51 62 55 4a 6d 4c 30 32 35 65 53 68 4e 55 68 71 4b 47 6f 43 33 47 59 45 4f eGMIyBJQbUJmL025eShNUhqKGoC3GYEO
1cf3e0 66 73 53 4b 76 47 52 4d 49 52 78 44 61 4e 63 39 50 49 72 46 73 6d 62 56 6b 4a 71 33 4d 51 62 46 fsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF
1cf400 0a 76 75 4a 74 4d 67 61 6d 48 76 6d 35 36 36 71 6a 75 4c 2b 2b 67 6d 4e 51 30 50 41 59 69 64 2f .vuJtMgamHvm566qjuL++gmNQ0PAYid/
1cf420 6b 44 33 6e 31 36 71 49 66 4b 74 4a 77 4c 6e 76 6e 76 4a 4f 37 62 56 50 69 53 48 79 4d 45 41 63 kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc
1cf440 34 2f 32 61 79 64 32 46 2b 34 4f 71 4d 0a 50 4b 71 30 70 50 62 7a 6c 55 6f 53 42 32 33 39 6a 4c 4/2ayd2F+4OqM.PKq0pPbzlUoSB239jL
1cf460 4b 4a 7a 39 43 67 59 58 66 49 57 48 53 77 31 43 4d 36 39 31 30 36 79 71 4c 62 6e 51 6e 65 58 55 KJz9CgYXfIWHSw1CM69106yqLbnQneXU
1cf480 51 74 6b 50 47 42 7a 56 65 53 2b 6e 36 38 55 41 52 6a 4e 4e 39 72 6b 78 69 2b 0a 61 7a 61 79 4f QtkPGBzVeS+n68UARjNN9rkxi+.azayO
1cf4a0 65 53 73 4a 44 61 33 38 4f 2b 32 48 42 4e 58 6b 37 62 65 73 76 6a 69 68 62 64 7a 6f 72 67 31 71 eSsJDa38O+2HBNXk7besvjihbdzorg1q
1cf4c0 6b 58 79 34 4a 30 32 6f 57 39 55 69 76 46 79 56 6d 34 75 69 4d 56 52 51 6b 51 56 6c 4f 36 6a 78 kXy4J02oW9UivFyVm4uiMVRQkQVlO6jx
1cf4e0 54 69 57 6d 30 35 4f 0a 57 67 74 48 38 77 59 32 53 58 63 77 76 48 45 33 35 61 62 73 49 51 68 31 TiWm05O.WgtH8wY2SXcwvHE35absIQh1
1cf500 2f 4f 5a 68 46 6a 39 33 31 64 6d 52 6c 34 51 4b 62 4e 51 43 54 58 54 41 46 4f 33 39 4f 66 75 44 /OZhFj931dmRl4QKbNQCTXTAFO39OfuD
1cf520 38 6c 34 55 6f 51 53 77 43 2b 6e 2b 37 6f 2f 68 62 67 75 79 0a 43 4c 4e 68 5a 67 6c 71 73 51 59 8l4UoQSwC+n+7o/hbguy.CLNhZglqsQY
1cf540 36 5a 5a 5a 5a 77 50 41 31 2f 63 6e 61 4b 49 30 61 45 59 64 77 67 51 71 6f 6d 6e 55 64 6e 6a 71 6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjq
1cf560 47 42 51 43 65 32 34 44 57 4a 66 6e 63 42 5a 34 6e 57 55 78 32 4f 56 76 71 2b 61 57 68 32 49 4d GBQCe24DWJfncBZ4nWUx2OVvq+aWh2IM
1cf580 50 0a 30 66 2f 66 4d 42 48 35 68 63 38 7a 53 50 58 4b 62 57 51 55 4c 48 70 59 54 39 4e 4c 43 45 P.0f/fMBH5hc8zSPXKbWQULHpYT9NLCE
1cf5a0 6e 46 6c 57 51 61 59 77 35 35 50 66 57 7a 6a 4d 70 59 72 5a 78 43 52 58 6c 75 44 6f 63 5a 58 46 nFlWQaYw55PfWzjMpYrZxCRXluDocZXF
1cf5c0 53 78 5a 62 61 2f 6a 4a 76 63 45 2b 6b 4e 0a 62 37 67 75 33 47 64 75 79 59 73 52 74 59 51 55 69 SxZba/jJvcE+kN.b7gu3GduyYsRtYQUi
1cf5e0 67 41 5a 63 49 4e 35 6b 5a 65 52 31 42 6f 6e 76 7a 63 65 4d 67 66 59 46 47 4d 38 4b 45 79 76 41 gAZcIN5kZeR1BonvzceMgfYFGM8KEyvA
1cf600 67 4d 42 41 41 47 6a 59 7a 42 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 0a 41 77 49 42 gMBAAGjYzBhMA4GA1UdDwEB/wQE.AwIB
1cf620 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 BjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
1cf640 44 67 51 57 42 42 53 75 62 41 57 6a 6b 78 50 69 6f 75 66 69 31 78 7a 57 78 2f 42 2f 79 47 64 54 DgQWBBSubAWjkxPioufi1xzWx/B/yGdT
1cf660 6f 44 41 66 42 67 4e 56 0a 48 53 4d 45 47 44 41 57 67 42 53 75 62 41 57 6a 6b 78 50 69 6f 75 66 oDAfBgNV.HSMEGDAWgBSubAWjkxPiouf
1cf680 69 31 78 7a 57 78 2f 42 2f 79 47 64 54 6f 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 i1xzWx/B/yGdToDANBgkqhkiG9w0BAQw
1cf6a0 46 41 41 4f 43 41 67 45 41 67 79 58 74 36 4e 48 39 6c 56 4c 4e 0a 6e 73 41 45 6f 4a 46 70 35 6c FAAOCAgEAgyXt6NH9lVLN.nsAEoJFp5l
1cf6c0 7a 51 68 4e 37 63 72 61 4a 50 36 45 64 34 31 6d 57 59 71 56 75 6f 50 49 64 38 41 6f 72 52 62 72 zQhN7craJP6Ed41mWYqVuoPId8AorRbr
1cf6e0 63 57 63 2b 5a 66 77 46 53 59 31 58 53 2b 77 63 33 69 45 5a 47 74 49 78 67 39 33 65 46 79 52 4a cWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJ
1cf700 61 30 0a 6c 56 37 41 65 34 36 5a 65 42 5a 44 45 31 5a 58 73 36 4b 7a 4f 37 56 33 33 45 42 79 72 a0.lV7Ae46ZeBZDE1ZXs6KzO7V33EByr
1cf720 4b 50 72 6d 7a 55 2b 73 51 67 68 6f 65 66 45 51 7a 64 35 4d 72 36 31 35 35 77 73 54 4c 78 44 4b KPrmzU+sQghoefEQzd5Mr6155wsTLxDK
1cf740 5a 6d 4f 4d 4e 4f 73 49 65 44 6a 48 66 72 59 0a 42 7a 4e 32 56 41 41 69 4b 72 6c 4e 49 43 35 77 ZmOMNOsIeDjHfrY.BzN2VAAiKrlNIC5w
1cf760 61 4e 72 6c 55 2f 79 44 58 4e 4f 64 38 76 39 45 44 45 52 6d 38 74 4c 6a 76 55 59 41 47 6d 30 43 aNrlU/yDXNOd8v9EDERm8tLjvUYAGm0C
1cf780 75 69 56 64 6a 61 45 78 55 64 31 55 52 68 78 4e 32 35 6d 57 37 78 6f 63 42 46 79 6d 0a 46 65 39 uiVdjaExUd1URhxN25mW7xocBFym.Fe9
1cf7a0 34 34 48 6e 2b 58 64 73 2b 71 6b 78 56 2f 5a 6f 56 71 57 2f 68 70 76 76 66 63 44 44 70 77 2b 35 44Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5
1cf7c0 43 52 75 33 43 6b 77 57 4a 2b 6e 31 6a 65 7a 2f 51 63 59 46 38 41 4f 69 59 72 67 35 34 4e 4d 4d CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMM
1cf7e0 6c 2b 36 38 4b 6e 79 42 72 0a 33 54 73 54 6a 78 4b 4d 34 6b 45 61 53 48 70 7a 6f 48 64 70 78 37 l+68KnyBr.3TsTjxKM4kEaSHpzoHdpx7
1cf800 5a 63 66 34 4c 49 48 76 35 59 47 79 67 72 71 47 79 74 58 6d 33 41 42 64 4a 37 74 2b 75 41 2f 69 Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/i
1cf820 55 33 2f 67 4b 62 61 4b 78 43 58 63 50 75 39 63 7a 63 38 46 42 31 0a 30 6a 5a 70 6e 4f 5a 37 42 U3/gKbaKxCXcPu9czc8FB1.0jZpnOZ7B
1cf840 4e 39 75 42 6d 6d 32 33 67 6f 4a 53 46 6d 48 36 33 73 55 59 48 70 6b 71 6d 6c 44 37 35 48 48 54 N9uBmm23goJSFmH63sUYHpkqmlD75HHT
1cf860 4f 77 59 33 57 7a 76 55 79 32 4d 6d 65 46 65 38 6e 49 2b 7a 31 54 49 76 57 66 73 70 41 39 4d 52 OwY3WzvUy2MmeFe8nI+z1TIvWfspA9MR
1cf880 66 2f 54 0a 75 54 41 6a 42 30 79 50 45 4c 2b 47 6c 74 6d 5a 57 72 53 5a 56 78 79 6b 7a 4c 73 56 f/T.uTAjB0yPEL+GltmZWrSZVxykzLsV
1cf8a0 69 56 4f 36 4c 41 55 50 35 4d 53 65 47 62 45 59 4e 4e 56 4d 6e 62 72 74 39 78 2b 76 4a 4a 55 45 iVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUE
1cf8c0 65 4b 67 44 75 2b 36 42 35 64 70 66 66 49 74 4b 0a 6f 5a 42 30 4a 61 65 7a 50 6b 76 49 4c 46 61 eKgDu+6B5dpffItK.oZB0JaezPkvILFa
1cf8e0 39 78 38 6a 76 4f 4f 4a 63 6b 76 42 35 39 35 79 45 75 6e 51 74 59 51 45 67 66 6e 37 52 38 6b 38 9x8jvOOJckvB595yEunQtYQEgfn7R8k8
1cf900 48 57 56 2b 4c 4c 55 4e 53 36 30 59 4d 6c 4f 48 31 5a 6b 64 35 64 39 56 55 57 78 2b 74 0a 4a 44 HWV+LLUNS60YMlOH1Zkd5d9VUWx+t.JD
1cf920 66 4c 52 56 70 4f 6f 45 52 49 79 4e 69 77 6d 63 55 56 68 41 6e 32 31 6b 6c 4a 77 47 57 34 35 68 fLRVpOoERIyNiwmcUVhAn21klJwGW45h
1cf940 70 78 62 71 43 6f 38 59 4c 6f 52 54 35 73 31 67 4c 58 43 6d 65 44 42 56 72 4a 70 42 41 3d 0a 2d pxbqCo8YLoRT5s1gLXCmeDBVrJpBA=.-
1cf960 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 54 45 20 ----END.CERTIFICATE-----..OISTE.
1cf980 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 43 20 43 41 0a 3d 3d 3d 3d 3d 3d WISeKey.Global.Root.GC.CA.======
1cf9a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
1cf9c0 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 61 54 43 43 41 65 EGIN.CERTIFICATE-----.MIICaTCCAe
1cf9e0 2b 67 41 77 49 42 41 67 49 51 49 53 70 57 44 4b 37 61 44 4b 74 41 52 62 38 72 6f 69 30 36 36 6a +gAwIBAgIQISpWDK7aDKtARb8roi066j
1cfa00 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 74 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 AKBggqhkjOPQQDAzBtMQswCQYDVQQGEw
1cfa20 4a 44 0a 53 44 45 51 4d 41 34 47 41 31 55 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 69 4d JD.SDEQMA4GA1UEChMHV0lTZUtleTEiM
1cfa40 43 41 47 41 31 55 45 43 78 4d 5a 54 30 6c 54 56 45 55 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 CAGA1UECxMZT0lTVEUgRm91bmRhdGlvb
1cfa60 69 42 46 62 6d 52 76 63 6e 4e 6c 5a 44 45 6f 0a 4d 43 59 47 41 31 55 45 41 78 4d 66 54 30 6c 54 iBFbmRvcnNlZDEo.MCYGA1UEAxMfT0lT
1cfa80 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 VEUgV0lTZUtleSBHbG9iYWwgUm9vdCBH
1cfaa0 51 79 42 44 51 54 41 65 46 77 30 78 4e 7a 41 31 4d 44 6b 77 4f 54 51 34 4d 7a 52 61 0a 46 77 30 QyBDQTAeFw0xNzA1MDkwOTQ4MzRa.Fw0
1cfac0 30 4d 6a 41 31 4d 44 6b 77 4f 54 55 34 4d 7a 4e 61 4d 47 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 0MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAY
1cfae0 54 41 6b 4e 49 4d 52 41 77 44 67 59 44 56 51 51 4b 45 77 64 58 53 56 4e 6c 53 32 56 35 4d 53 49 TAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSI
1cfb00 77 49 41 59 44 56 51 51 4c 0a 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 wIAYDVQQL.ExlPSVNURSBGb3VuZGF0aW
1cfb20 39 75 49 45 56 75 5a 47 39 79 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSV
1cfb40 4e 55 52 53 42 58 53 56 4e 6c 53 32 56 35 49 45 64 73 62 32 4a 68 0a 62 43 42 53 62 32 39 30 49 NURSBXSVNlS2V5IEdsb2Jh.bCBSb290I
1cfb60 45 64 44 49 45 4e 42 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 46 4b 34 45 45 41 EdDIENBMHYwEAYHKoZIzj0CAQYFK4EEA
1cfb80 43 49 44 59 67 41 45 54 4f 6c 51 77 4d 59 50 63 68 69 38 32 50 47 36 73 34 6e 69 65 55 71 6a 46 CIDYgAETOlQwMYPchi82PG6s4nieUqjF
1cfba0 71 64 72 0a 56 43 54 62 55 66 2f 71 39 41 6b 6b 77 77 73 69 6e 38 74 71 4a 34 4b 42 44 64 4c 41 qdr.VCTbUf/q9Akkwwsin8tqJ4KBDdLA
1cfbc0 72 7a 48 6b 64 49 4a 75 79 69 58 5a 6a 48 57 64 38 64 76 51 6d 71 4a 4c 49 58 34 57 70 32 4f 51 rzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ
1cfbe0 30 6a 6e 55 73 59 64 34 58 78 69 57 44 31 41 62 0a 4e 54 63 50 61 73 62 63 32 52 4e 4e 70 49 36 0jnUsYd4XxiWD1Ab.NTcPasbc2RNNpI6
1cfc00 51 4e 2b 61 39 57 7a 47 52 6f 31 51 77 55 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAM
1cfc20 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 0a 42 67 CAQYwDwYDVR0TAQH/BAUwAwEB/zAd.Bg
1cfc40 4e 56 48 51 34 45 46 67 51 55 53 49 63 55 72 4f 50 44 6e 70 42 67 4f 74 66 4b 69 65 37 54 72 59 NVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrY
1cfc60 79 30 55 47 59 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 43 67 y0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCg
1cfc80 59 49 4b 6f 5a 49 7a 6a 30 45 0a 41 77 4d 44 61 41 41 77 5a 51 49 77 4a 73 64 70 57 39 7a 56 35 YIKoZIzj0E.AwMDaAAwZQIwJsdpW9zV5
1cfca0 37 4c 6e 79 41 79 4d 6a 4d 50 64 65 59 77 62 59 39 58 4a 55 70 52 4f 54 59 4a 4b 63 78 36 79 67 7LnyAyMjMPdeYwbY9XJUpROTYJKcx6yg
1cfcc0 49 53 70 4a 63 42 4d 57 6d 31 4a 4b 57 42 34 45 2b 4a 2b 53 4f 74 6b 0a 41 6a 45 41 32 7a 51 67 ISpJcBMWm1JKWB4E+J+SOtk.AjEA2zQg
1cfce0 4d 67 6a 2f 6d 6b 6b 43 74 6f 6a 65 46 4b 39 64 62 4a 6c 78 6a 52 6f 2f 69 39 66 67 6f 6a 61 47 Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaG
1cfd00 48 41 65 43 4f 6e 5a 54 2f 63 4b 69 37 65 39 37 73 49 42 50 57 41 39 4c 55 7a 6d 39 0a 2d 2d 2d HAeCOnZT/cKi7e97sIBPWA9LUzm9.---
1cfd20 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 --END.CERTIFICATE-----..GTS.Root
1cfd40 20 52 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 .R1.===========.-----BEGIN.CERTI
1cfd60 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 6a 43 43 41 30 4b 67 41 77 49 42 41 67 49 51 FICATE-----.MIIFWjCCA0KgAwIBAgIQ
1cfd80 62 6b 65 70 78 55 74 48 44 41 33 73 4d 39 43 4a 75 52 7a 30 34 54 41 4e 42 67 6b 71 68 6b 69 47 bkepxUtHDA3sM9CJuRz04TANBgkqhkiG
1cfda0 39 77 30 42 41 51 77 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 9w0BAQwFADBHMQswCQYDVQQG.EwJVUzE
1cfdc0 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e iMCAGA1UEChMZR29vZ2xlIFRydXN0IFN
1cfde0 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 lcnZpY2VzIExMQzEUMBIGA1UEAxMLR1R
1cfe00 54 49 46 4a 76 0a 62 33 51 67 55 6a 45 77 48 68 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 TIFJv.b3QgUjEwHhcNMTYwNjIyMDAwMD
1cfe20 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 AwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQ
1cfe40 59 44 56 51 51 47 45 77 4a 56 55 7a 45 69 4d 43 41 47 0a 41 31 55 45 43 68 4d 5a 52 32 39 76 5a YDVQQGEwJVUzEiMCAG.A1UEChMZR29vZ
1cfe60 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 2xlIFRydXN0IFNlcnZpY2VzIExMQzEUM
1cfe80 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 55 6a 45 77 67 67 49 69 0a BIGA1UEAxMLR1RTIFJvb3QgUjEwggIi.
1cfea0 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
1cfec0 41 6f 49 43 41 51 43 32 45 51 4b 4c 48 75 4f 68 64 35 73 37 33 4c 2b 55 50 72 65 56 70 30 41 38 AoICAQC2EQKLHuOhd5s73L+UPreVp0A8
1cfee0 6f 66 32 43 2b 58 30 79 42 6f 4a 78 0a 39 76 61 4d 66 2f 76 6f 32 37 78 71 4c 70 65 58 6f 34 78 of2C+X0yBoJx.9vaMf/vo27xqLpeXo4x
1cff00 4c 2b 53 76 32 73 66 6e 4f 68 42 32 78 2b 63 57 58 33 75 2b 35 38 71 50 70 76 42 4b 4a 58 71 65 L+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqe
1cff20 71 55 71 76 34 49 79 66 4c 70 4c 47 63 59 39 76 58 6d 58 37 77 43 6c 37 72 0a 61 4b 62 30 78 6c qUqv4IyfLpLGcY9vXmX7wCl7r.aKb0xl
1cff40 70 48 44 55 30 51 4d 2b 4e 4f 73 52 4f 6a 79 42 68 73 53 2b 7a 38 43 5a 44 66 6e 57 51 70 4a 53 pHDU0QM+NOsROjyBhsS+z8CZDfnWQpJS
1cff60 4d 48 6f 62 54 53 50 53 35 67 34 4d 2f 53 43 59 65 37 7a 55 6a 77 54 63 4c 43 65 6f 69 4b 75 37 MHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7
1cff80 72 50 57 52 6e 57 0a 72 34 2b 77 42 37 43 65 4d 66 47 43 77 63 44 66 4c 71 5a 74 62 42 6b 4f 74 rPWRnW.r4+wB7CeMfGCwcDfLqZtbBkOt
1cffa0 64 68 2b 4a 68 70 46 41 7a 32 77 65 61 53 55 4b 4b 30 50 66 79 62 6c 71 41 6a 2b 6c 75 67 38 61 dh+JhpFAz2weaSUKK0PfyblqAj+lug8a
1cffc0 4a 52 54 37 6f 4d 36 69 43 73 56 6c 67 6d 79 34 48 71 4d 0a 4c 6e 58 57 6e 4f 75 6e 56 6d 53 50 JRT7oM6iCsVlgmy4HqM.LnXWnOunVmSP
1cffe0 6c 6b 39 6f 72 6a 32 58 77 6f 53 50 77 4c 78 41 77 41 74 63 76 66 61 48 73 7a 56 73 72 42 68 51 lk9orj2XwoSPwLxAwAtcvfaHszVsrBhQ
1d0000 66 34 54 67 54 4d 32 53 30 79 44 70 4d 37 78 53 6d 61 38 79 74 53 6d 7a 4a 53 71 30 53 50 6c 79 f4TgTM2S0yDpM7xSma8ytSmzJSq0SPly
1d0020 0a 34 63 70 6b 39 2b 61 43 45 49 33 6f 6e 63 4b 4b 69 50 6f 34 5a 6f 72 38 59 2f 6b 42 2b 58 6a .4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj
1d0040 39 65 31 78 33 2b 6e 61 48 2b 75 7a 66 73 51 35 35 6c 56 65 30 76 53 62 76 31 67 48 52 36 78 59 9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xY
1d0060 4b 75 34 34 4c 74 63 58 46 69 6c 57 72 0a 30 36 7a 71 6b 55 73 70 7a 42 6d 6b 4d 69 56 4f 4b 76 Ku44LtcXFilWr.06zqkUspzBmkMiVOKv
1d0080 46 6c 52 4e 41 43 7a 71 72 4f 53 62 54 71 6e 33 79 44 73 45 42 37 35 30 4f 72 70 32 79 6a 6a 33 FlRNACzqrOSbTqn3yDsEB750Orp2yjj3
1d00a0 32 4a 67 66 70 4d 70 66 2f 56 6a 73 50 4f 53 2b 43 31 32 4c 4f 4f 52 63 39 32 0a 77 4f 31 41 4b 2JgfpMpf/VjsPOS+C12LOORc92.wO1AK
1d00c0 2f 31 54 44 37 43 6e 31 54 73 4e 73 59 71 69 41 39 34 78 72 63 78 33 36 6d 39 37 50 74 62 66 6b /1TD7Cn1TsNsYqiA94xrcx36m97Ptbfk
1d00e0 53 49 53 35 72 37 36 32 44 4c 38 45 47 4d 55 55 58 4c 65 58 64 59 57 6b 37 30 70 61 44 50 76 4f SIS5r762DL8EGMUUXLeXdYWk70paDPvO
1d0100 6d 62 73 42 34 6f 6d 0a 33 78 50 58 56 32 56 34 4a 39 35 65 53 52 51 41 6f 67 42 2f 6d 71 67 68 mbsB4om.3xPXV2V4J95eSRQAogB/mqgh
1d0120 74 71 6d 78 6c 62 43 6c 75 51 30 57 45 64 72 48 62 45 67 38 51 4f 42 2b 44 56 72 4e 56 6a 7a 52 tqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzR
1d0140 6c 77 57 35 79 30 76 74 4f 55 75 63 78 44 2f 53 56 52 4e 75 0a 4a 4c 44 57 63 66 72 30 77 62 72 lwW5y0vtOUucxD/SVRNu.JLDWcfr0wbr
1d0160 4d 37 52 76 31 2f 6f 46 42 32 41 43 59 50 54 72 49 72 6e 71 59 4e 78 67 46 6c 51 49 44 41 51 41 M7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQA
1d0180 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 Bo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwY
1d01a0 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 D.VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFg
1d01c0 51 55 35 4b 38 72 4a 6e 45 61 4b 30 67 6e 68 53 39 53 5a 69 7a 76 38 49 6b 54 63 54 34 77 44 51 QU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQ
1d01e0 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 0a 42 51 41 44 67 67 49 42 41 44 69 57 43 75 34 39 74 YJKoZIhvcNAQEM.BQADggIBADiWCu49t
1d0200 4a 59 65 58 2b 2b 64 6e 41 73 7a 6e 79 76 67 79 76 33 53 6a 67 6f 66 51 58 53 6c 66 4b 71 45 31 JYeX++dnAsznyvgyv3SjgofQXSlfKqE1
1d0220 4f 58 79 48 75 59 33 55 6a 4b 63 43 39 46 68 48 62 38 6f 77 62 5a 45 4b 54 56 31 0a 64 35 69 79 OXyHuY3UjKcC9FhHb8owbZEKTV1.d5iy
1d0240 66 4e 6d 39 64 4b 79 4b 61 4f 4f 70 4d 51 6b 70 41 57 42 7a 34 30 64 38 55 36 69 51 53 69 66 76 fNm9dKyKaOOpMQkpAWBz40d8U6iQSifv
1d0260 53 39 65 66 6b 2b 65 43 4e 73 36 61 61 41 79 43 35 38 2f 55 45 42 5a 76 58 77 36 5a 58 50 59 66 S9efk+eCNs6aaAyC58/UEBZvXw6ZXPYf
1d0280 63 58 33 76 37 33 73 76 0a 66 75 6f 32 31 70 64 77 43 78 58 75 31 31 78 57 61 6a 4f 6c 34 30 6b cX3v73sv.fuo21pdwCxXu11xWajOl40k
1d02a0 34 44 4c 68 39 2b 34 32 46 70 4c 46 5a 58 76 52 71 34 64 32 68 39 6d 52 45 72 75 5a 52 67 79 46 4DLh9+42FpLFZXvRq4d2h9mREruZRgyF
1d02c0 6d 78 68 45 2b 38 38 35 48 37 70 77 6f 48 79 58 61 2f 36 78 6d 0a 6c 64 30 31 44 31 7a 76 49 43 mxhE+885H7pwoHyXa/6xm.ld01D1zvIC
1d02e0 78 69 2f 5a 47 36 71 63 7a 38 57 70 79 54 67 59 4d 70 6c 30 70 38 57 6e 4b 30 4f 64 43 33 64 38 xi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8
1d0300 74 35 2f 57 6b 36 6b 6a 66 74 62 6a 68 6c 52 6e 37 70 59 4c 31 35 69 4a 64 66 4f 42 4c 30 37 71 t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q
1d0320 39 62 0a 67 73 69 47 31 65 47 5a 62 59 77 45 38 6e 61 36 53 66 5a 75 36 57 30 65 58 36 44 76 4a 9b.gsiG1eGZbYwE8na6SfZu6W0eX6DvJ
1d0340 34 4a 32 51 50 69 6d 30 31 68 63 44 79 78 43 32 6b 4c 47 65 34 67 30 78 38 48 59 52 5a 76 42 50 4J2QPim01hcDyxC2kLGe4g0x8HYRZvBP
1d0360 73 56 68 48 64 6c 6a 55 45 6e 32 4e 49 56 71 0a 34 42 6a 46 62 6b 65 72 51 55 49 70 6d 2f 5a 67 sVhHdljUEn2NIVq.4BjFbkerQUIpm/Zg
1d0380 44 64 49 78 30 32 4f 59 49 35 4e 61 41 49 46 49 74 4f 2f 4e 69 73 33 4a 7a 35 6e 75 32 5a 36 71 DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6q
1d03a0 4e 75 46 6f 53 33 46 4a 46 44 59 6f 4f 6a 30 64 7a 70 71 50 4a 65 61 41 63 57 45 72 0a 74 58 76 NuFoS3FJFDYoOj0dzpqPJeaAcWEr.tXv
1d03c0 4d 2b 53 55 57 67 65 45 78 58 36 47 6a 66 68 61 6b 6e 42 5a 71 6c 78 69 39 64 6e 4b 6c 43 35 34 M+SUWgeExX6GjfhaknBZqlxi9dnKlC54
1d03e0 64 4e 75 59 76 6f 53 2b 2b 63 4a 45 50 71 4f 62 61 2b 4d 53 53 51 47 77 6c 66 6e 75 7a 43 64 79 dNuYvoS++cJEPqOba+MSSQGwlfnuzCdy
1d0400 79 46 36 32 41 52 50 42 6f 0a 70 59 2b 55 64 66 39 30 57 75 69 6f 41 6e 77 4d 43 65 4b 70 53 77 yF62ARPBo.pY+Udf90WuioAnwMCeKpSw
1d0420 75 67 68 51 74 69 75 65 2b 68 4d 5a 4c 37 37 2f 5a 52 42 49 6c 73 36 4b 6c 30 6f 62 73 58 73 37 ughQtiue+hMZL77/ZRBIls6Kl0obsXs7
1d0440 58 39 53 51 39 38 50 4f 79 44 47 43 42 44 54 74 57 54 75 72 51 30 0a 73 52 38 57 4e 68 38 4d 35 X9SQ98POyDGCBDTtWTurQ0.sR8WNh8M5
1d0460 6d 51 35 46 6b 7a 63 34 50 34 64 79 4b 6c 69 50 55 44 71 79 73 55 30 41 72 53 75 69 59 67 7a 4e mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzN
1d0480 64 77 73 45 33 50 59 4a 2f 48 51 63 75 35 31 4f 79 4c 65 6d 47 68 6d 57 2f 48 47 59 30 64 56 48 dwsE3PYJ/HQcu51OyLemGhmW/HGY0dVH
1d04a0 4c 71 6c 0a 43 46 46 31 70 6b 67 6c 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 Lql.CFF1pkgl.-----END.CERTIFICAT
1d04c0 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 20 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a E-----..GTS.Root.R2.===========.
1d04e0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1d0500 57 6a 43 43 41 30 4b 67 41 77 49 42 41 67 49 51 62 6b 65 70 78 6c 71 7a 35 79 44 46 4d 4a 6f 2f WjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/
1d0520 61 46 4c 79 62 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 48 4d 51 73 77 aFLybzANBgkqhkiG9w0BAQwFADBHMQsw
1d0540 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 52 32 39 CQYDVQQG.EwJVUzEiMCAGA1UEChMZR29
1d0560 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzE
1d0580 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 0a 62 33 51 67 55 6a 49 77 48 68 UMBIGA1UEAxMLR1RTIFJv.b3QgUjIwHh
1d05a0 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 cNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMD
1d05c0 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 69 4d 43 AwMDAwWjBHMQswCQYDVQQGEwJVUzEiMC
1d05e0 41 47 0a 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 AG.A1UEChMZR29vZ2xlIFRydXN0IFNlc
1d0600 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 nZpY2VzIExMQzEUMBIGA1UEAxMLR1RTI
1d0620 46 4a 76 62 33 51 67 55 6a 49 77 67 67 49 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 FJvb3QgUjIwggIi.MA0GCSqGSIb3DQEB
1d0640 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4f 33 76 32 6d 2b 2b 7a 73 AQUAA4ICDwAwggIKAoICAQDO3v2m++zs
1d0660 46 44 51 38 42 77 5a 61 62 46 6e 33 47 54 58 64 39 38 47 64 56 61 72 54 7a 54 75 6b 0a 6b 33 4c FDQ8BwZabFn3GTXd98GdVarTzTuk.k3L
1d0680 76 43 76 70 74 6e 66 62 77 68 59 42 62 6f 55 68 53 6e 7a 6e 46 74 2b 34 6f 72 4f 2f 4c 64 6d 67 vCvptnfbwhYBboUhSnznFt+4orO/Ldmg
1d06a0 55 75 64 2b 74 41 57 79 5a 48 38 51 69 48 5a 2f 2b 63 6e 66 67 4c 46 75 76 35 41 53 2f 54 33 4b Uud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3K
1d06c0 67 47 6a 53 59 36 44 6c 6f 0a 37 4a 55 6c 65 33 61 68 35 6d 6d 35 68 52 6d 39 69 59 7a 2b 72 65 gGjSY6Dlo.7JUle3ah5mm5hRm9iYz+re
1d06e0 30 32 36 6e 4f 38 2f 34 50 69 79 33 33 42 30 73 35 4b 73 34 30 46 6e 6f 74 4a 6b 39 2f 42 57 39 026nO8/4Piy33B0s5Ks40FnotJk9/BW9
1d0700 42 75 58 76 41 75 4d 43 36 43 2f 50 71 38 74 42 63 4b 53 4f 57 49 0a 6d 38 57 62 61 39 36 77 79 BuXvAuMC6C/Pq8tBcKSOWI.m8Wba96wy
1d0720 72 51 44 38 4e 72 30 6b 4c 68 6c 5a 50 64 63 54 4b 33 6f 66 6d 5a 65 6d 64 65 34 77 6a 37 49 30 rQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0
1d0740 42 4f 64 72 65 37 6b 52 58 75 4a 56 66 65 4b 48 32 4a 53 68 42 4b 7a 77 6b 43 58 34 34 6f 66 52 BOdre7kRXuJVfeKH2JShBKzwkCX44ofR
1d0760 35 47 6d 0a 64 46 72 53 2b 4c 46 6a 4b 42 43 34 73 77 6d 34 56 6e 64 41 6f 69 61 59 65 63 62 2b 5Gm.dFrS+LFjKBC4swm4VndAoiaYecb+
1d0780 33 79 58 75 50 75 57 67 66 39 52 68 44 31 46 4c 50 44 2b 4d 32 75 46 77 64 4e 6a 43 61 4b 48 35 3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5
1d07a0 77 51 7a 70 6f 65 4a 2f 75 31 55 38 64 67 62 75 0a 61 6b 37 4d 6b 6f 67 77 54 5a 71 39 54 77 74 wQzpoeJ/u1U8dgbu.ak7MkogwTZq9Twt
1d07c0 49 6d 6f 53 31 6d 4b 50 56 2b 33 50 42 56 32 48 64 4b 46 5a 31 45 36 36 48 6a 75 63 4d 55 51 6b ImoS1mKPV+3PBV2HdKFZ1E66HjucMUQk
1d07e0 51 64 59 68 4d 76 49 33 35 65 7a 7a 55 49 6b 67 66 4b 74 7a 72 61 37 74 45 73 63 73 7a 0a 63 54 QdYhMvI35ezzUIkgfKtzra7tEscsz.cT
1d0800 4a 47 72 36 31 4b 38 59 7a 6f 64 44 71 73 35 78 6f 69 63 34 44 53 4d 50 63 6c 51 73 63 69 4f 7a JGr61K8YzodDqs5xoic4DSMPclQsciOz
1d0820 73 53 72 5a 59 75 78 73 4e 32 42 36 6f 67 74 7a 56 4a 56 2b 6d 53 53 65 68 32 46 6e 49 78 5a 79 sSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZy
1d0840 75 57 66 6f 71 6a 78 35 52 57 0a 49 72 39 71 53 33 34 42 49 62 49 6a 4d 74 2f 6b 6d 6b 52 74 57 uWfoqjx5RW.Ir9qS34BIbIjMt/kmkRtW
1d0860 56 74 64 39 51 43 67 48 4a 76 47 65 4a 65 4e 6b 50 2b 62 79 4b 71 30 72 78 46 52 4f 56 37 5a 2b Vtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+
1d0880 32 65 74 31 56 73 52 6e 54 4b 61 47 37 33 56 75 6c 75 6c 79 63 73 6c 0a 61 56 4e 56 4a 31 7a 67 2et1VsRnTKaG73Vululycsl.aVNVJ1zg
1d08a0 79 6a 62 4c 69 47 48 37 48 72 66 51 79 2b 34 57 2b 39 4f 6d 54 4e 36 53 70 64 54 69 33 2f 55 47 yjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UG
1d08c0 56 4e 34 75 6e 55 75 30 6b 7a 43 71 67 63 37 64 47 74 78 52 63 77 31 50 63 4f 6e 6c 74 68 59 68 VN4unUu0kzCqgc7dGtxRcw1PcOnlthYh
1d08e0 47 58 6d 79 0a 35 6f 6b 4c 64 57 54 4b 31 61 75 38 43 63 45 59 6f 66 2f 55 56 4b 47 46 50 50 30 GXmy.5okLdWTK1au8CcEYof/UVKGFPP0
1d0900 55 4a 41 4f 79 68 39 4f 6b 74 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8
1d0920 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 BAf8EBAMCAQYwDwYD.VR0TAQH/BAUwAw
1d0940 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 75 2f 2f 4b 6a 69 4f 66 54 35 6e 4b 32 2b EB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+
1d0960 4a 6f 70 71 55 56 4a 78 63 65 32 51 34 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 0a 42 JopqUVJxce2Q4wDQYJKoZIhvcNAQEM.B
1d0980 51 41 44 67 67 49 42 41 4c 5a 70 38 4b 5a 33 2f 70 37 75 43 34 47 74 34 63 43 70 78 2f 6b 31 48 QADggIBALZp8KZ3/p7uC4Gt4cCpx/k1H
1d09a0 55 43 43 71 2b 59 45 74 4e 2f 4c 39 78 30 50 67 2f 42 2b 45 30 32 4e 6a 4f 37 6a 4d 79 4c 44 4f UCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDO
1d09c0 66 78 41 33 32 35 42 53 30 4a 54 0a 76 68 61 49 38 64 49 34 58 73 52 6f 6d 52 79 59 55 70 4f 4d fxA325BS0JT.vhaI8dI4XsRomRyYUpOM
1d09e0 35 32 6a 74 47 32 70 7a 65 67 56 41 54 58 39 6c 4f 39 5a 59 38 63 36 44 52 32 44 6a 2f 35 65 70 52jtG2pzegVATX9lO9ZY8c6DR2Dj/5ep
1d0a00 6e 47 42 33 47 46 57 31 66 67 69 54 7a 39 44 32 50 47 63 44 46 57 45 4a 0a 2b 59 46 35 39 65 78 nGB3GFW1fgiTz9D2PGcDFWEJ.+YF59ex
1d0a20 54 70 4a 2f 4a 6a 77 47 4c 63 38 52 33 64 74 79 44 6f 76 55 4d 53 52 71 6f 64 74 36 53 6d 32 54 TpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T
1d0a40 34 73 79 7a 46 4a 39 4d 48 77 41 69 41 70 4a 69 53 34 77 47 57 41 71 6f 43 37 6f 38 37 78 64 46 4syzFJ9MHwAiApJiS4wGWAqoC7o87xdF
1d0a60 74 43 6a 4d 77 0a 63 33 69 35 54 31 51 57 76 77 73 48 6f 61 52 63 35 73 76 4a 58 49 53 50 44 2b tCjMw.c3i5T1QWvwsHoaRc5svJXISPD+
1d0a80 41 56 64 79 78 2b 4a 6e 37 61 78 45 76 62 70 78 5a 33 42 37 44 4e 64 65 68 79 51 74 61 56 68 4a AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ
1d0aa0 32 47 67 2f 4c 6b 6b 4d 30 4a 52 39 53 4c 41 33 44 61 0a 57 73 59 44 51 76 54 74 4e 36 4c 77 47 2Gg/LkkM0JR9SLA3Da.WsYDQvTtN6LwG
1d0ac0 31 42 55 53 77 37 59 68 4e 34 5a 4b 4a 6d 42 52 36 34 4a 47 7a 39 49 30 63 4e 76 34 72 42 67 46 1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF
1d0ae0 2f 58 75 49 77 4b 6c 32 67 42 62 62 5a 43 72 37 71 4c 70 47 7a 76 70 78 30 51 6e 52 59 35 72 0a /XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r.
1d0b00 6e 2f 57 6b 68 4c 78 33 2b 57 75 58 72 44 35 52 52 61 49 52 70 73 79 46 37 67 70 6f 38 6a 35 51 n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5Q
1d0b20 4f 48 6f 6b 59 68 34 58 49 44 64 74 61 6b 32 33 43 5a 76 4a 2f 4b 52 59 39 62 62 37 6e 45 34 59 OHokYh4XIDdtak23CZvJ/KRY9bb7nE4Y
1d0b40 75 35 55 43 35 36 47 74 6d 77 66 75 0a 4e 6d 73 6b 30 6a 6d 47 77 5a 4f 44 55 4e 4b 42 52 71 68 u5UC56Gtmwfu.Nmsk0jmGwZODUNKBRqh
1d0b60 66 59 6c 63 73 75 32 78 6b 69 41 68 75 37 78 4e 55 58 39 30 74 78 47 64 6a 30 38 2b 4a 4e 37 2b fYlcsu2xkiAhu7xNUX90txGdj08+JN7+
1d0b80 64 49 50 54 37 65 6f 4f 62 6f 42 36 42 41 46 44 43 35 41 77 69 57 56 49 51 0a 37 55 4e 57 68 77 dIPT7eoOboB6BAFDC5AwiWVIQ.7UNWhw
1d0ba0 44 34 46 46 4b 6e 48 59 75 54 6a 4b 4a 4e 52 6e 38 6e 78 6e 47 62 4a 4e 37 6b 32 6f 61 4c 44 58 D4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX
1d0bc0 35 72 49 4d 48 41 6e 75 46 6c 32 47 71 6a 70 75 69 46 69 7a 6f 48 43 42 79 36 39 59 39 56 6d 68 5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmh
1d0be0 68 31 66 75 58 73 0a 67 57 62 52 49 58 4f 68 4e 55 51 4c 67 44 31 62 6e 46 35 76 4b 68 65 57 30 h1fuXs.gWbRIXOhNUQLgD1bnF5vKheW0
1d0c00 59 4d 6a 69 47 5a 74 35 6f 62 69 63 44 49 76 55 69 4c 6e 79 4f 64 2f 78 43 78 67 58 53 2f 44 72 YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr
1d0c20 35 35 46 42 63 4f 45 41 72 66 39 4c 41 68 53 54 34 4c 64 0a 6f 2f 44 55 68 67 6b 43 0a 2d 2d 2d 55FBcOEArf9LAhST4Ld.o/DUhgkC.---
1d0c40 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 --END.CERTIFICATE-----..GTS.Root
1d0c60 20 52 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 .R3.===========.-----BEGIN.CERTI
1d0c80 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 44 44 43 43 41 5a 47 67 41 77 49 42 41 67 49 51 FICATE-----.MIICDDCCAZGgAwIBAgIQ
1d0ca0 62 6b 65 70 78 32 79 70 63 79 52 41 69 51 38 44 56 64 32 4e 48 54 41 4b 42 67 67 71 68 6b 6a 4f bkepx2ypcyRAiQ8DVd2NHTAKBggqhkjO
1d0cc0 50 51 51 44 41 7a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 69 4d 43 41 PQQDAzBHMQswCQYDVQQGEwJV.UzEiMCA
1d0ce0 47 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a GA1UEChMZR29vZ2xlIFRydXN0IFNlcnZ
1d0d00 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a pY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJ
1d0d20 76 62 33 51 67 0a 55 6a 4d 77 48 68 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 68 vb3Qg.UjMwHhcNMTYwNjIyMDAwMDAwWh
1d0d40 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 cNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQ
1d0d60 51 47 45 77 4a 56 55 7a 45 69 4d 43 41 47 41 31 55 45 0a 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 QGEwJVUzEiMCAGA1UE.ChMZR29vZ2xlI
1d0d80 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 FRydXN0IFNlcnZpY2VzIExMQzEUMBIGA
1d0da0 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 55 6a 4d 77 64 6a 41 51 42 67 63 71 0a 1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq.
1d0dc0 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 66 54 7a 4f 48 4d 79 6d 4b hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymK
1d0de0 6f 59 54 65 79 38 63 68 57 45 47 4a 36 6c 61 64 4b 30 75 46 78 68 31 4d 4a 37 78 2f 4a 6c 46 79 oYTey8chWEGJ6ladK0uFxh1MJ7x/JlFy
1d0e00 62 2b 4b 66 31 71 50 4b 7a 45 55 55 0a 52 6f 75 74 37 33 36 47 6a 4f 79 78 66 69 2f 2f 71 58 47 b+Kf1qPKzEUU.Rout736GjOyxfi//qXG
1d0e20 64 47 49 52 46 42 45 46 56 62 69 76 71 4a 6e 2b 37 6b 41 48 6a 53 78 6d 36 35 46 53 57 52 51 6d dGIRFBEFVbivqJn+7kAHjSxm65FSWRQm
1d0e40 78 31 57 79 52 52 4b 32 45 45 34 36 61 6a 41 32 41 44 44 4c 32 34 43 65 6a 0a 51 6a 42 41 4d 41 x1WyRRK2EE46ajA2ADDL24Cej.QjBAMA
1d0e60 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf
1d0e80 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 42 38 53 61 36 6f 43 8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC
1d0ea0 32 75 68 59 48 50 0a 30 2f 45 71 45 72 32 34 43 6d 66 39 76 44 41 4b 42 67 67 71 68 6b 6a 4f 50 2uhYHP.0/EqEr24Cmf9vDAKBggqhkjOP
1d0ec0 51 51 44 41 77 4e 70 41 44 42 6d 41 6a 45 41 67 46 75 6b 66 43 50 41 6c 61 55 73 33 4c 36 4a 62 QQDAwNpADBmAjEAgFukfCPAlaUs3L6Jb
1d0ee0 79 4f 35 6f 39 31 6c 41 46 4a 65 6b 61 7a 49 6e 58 4a 30 0a 67 6c 4d 4c 66 61 6c 41 76 57 68 67 yO5o91lAFJekazInXJ0.glMLfalAvWhg
1d0f00 78 65 47 34 56 44 76 42 4e 68 63 6c 32 4d 47 39 41 6a 45 41 6e 6a 57 53 64 49 55 6c 55 66 55 6b xeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk
1d0f20 37 47 52 53 4a 46 43 6c 48 39 76 6f 79 38 6c 32 37 4f 79 43 62 76 57 46 47 46 50 6f 75 4f 4f 61 7GRSJFClH9voy8l27OyCbvWFGFPouOOa
1d0f40 0a 4b 61 71 57 30 34 4d 6a 79 61 52 37 59 62 50 4d 41 75 68 64 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 .KaqW04MjyaR7YbPMAuhd.-----END.C
1d0f60 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 20 52 34 0a 3d 3d 3d ERTIFICATE-----..GTS.Root.R4.===
1d0f80 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1d0fa0 2d 2d 2d 2d 0a 4d 49 49 43 43 6a 43 43 41 5a 47 67 41 77 49 42 41 67 49 51 62 6b 65 70 79 49 75 ----.MIICCjCCAZGgAwIBAgIQbkepyIu
1d0fc0 55 74 75 69 37 4f 79 72 59 6f 72 4c 42 6d 54 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 Utui7OyrYorLBmTAKBggqhkjOPQQDAzB
1d0fe0 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 HMQswCQYDVQQGEwJV.UzEiMCAGA1UECh
1d1000 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 MZR29vZ2xlIFRydXN0IFNlcnZpY2VzIE
1d1020 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 0a 55 xMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg.U
1d1040 6a 51 77 48 68 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e jQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwN
1d1060 6a 49 79 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 jIyMDAwMDAwWjBHMQswCQYDVQQGEwJVU
1d1080 7a 45 69 4d 43 41 47 41 31 55 45 0a 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 zEiMCAGA1UE.ChMZR29vZ2xlIFRydXN0
1d10a0 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c IFNlcnZpY2VzIExMQzEUMBIGA1UEAxML
1d10c0 52 31 52 54 49 46 4a 76 62 33 51 67 55 6a 51 77 64 6a 41 51 42 67 63 71 0a 68 6b 6a 4f 50 51 49 R1RTIFJvb3QgUjQwdjAQBgcq.hkjOPQI
1d10e0 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 54 7a 64 48 4f 6e 61 49 74 67 72 6b 4f 34 4e 63 57 BBgUrgQQAIgNiAATzdHOnaItgrkO4NcW
1d1100 42 4d 48 74 4c 53 5a 33 37 77 57 48 4f 35 74 35 47 76 57 76 56 59 52 67 31 72 6b 44 64 63 2f 65 BMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/e
1d1120 4a 6b 54 42 61 0a 36 7a 7a 75 68 58 79 69 51 48 59 37 71 63 61 34 52 39 67 71 35 35 4b 52 61 6e JkTBa.6zzuhXyiQHY7qca4R9gq55KRan
1d1140 50 70 73 58 49 35 6e 79 6d 66 6f 70 6a 54 58 31 35 59 68 6d 55 50 6f 59 52 6c 42 74 48 63 69 38 PpsXI5nymfopjTX15YhmUPoYRlBtHci8
1d1160 6e 48 63 38 69 4d 61 69 2f 6c 78 4b 76 52 48 59 71 6a 0a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 nHc8iMai/lxKvRHYqj.QjBAMA4GA1UdD
1d1180 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 wEB/wQEAwIBBjAPBgNVHRMBAf8EBTADA
1d11a0 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 41 54 4e 62 72 64 50 39 4a 4e 71 50 56 0a QH/MB0GA1UdDgQWBBSATNbrdP9JNqPV.
1d11c0 32 50 79 31 50 73 56 71 38 4a 51 64 6a 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e 2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNn
1d11e0 41 44 42 6b 41 6a 42 71 55 46 4a 30 43 4d 52 77 33 4a 35 51 64 43 48 6f 6a 58 6f 68 77 30 2b 57 ADBkAjBqUFJ0CMRw3J5QdCHojXohw0+W
1d1200 62 68 58 52 49 6a 56 68 4c 66 6f 49 0a 4e 2b 34 5a 62 61 33 62 73 73 78 39 42 7a 54 31 59 42 6b bhXRIjVhLfoI.N+4Zba3bssx9BzT1YBk
1d1220 73 74 54 54 5a 62 79 41 43 4d 41 4e 78 73 62 71 6a 59 41 75 47 37 5a 6f 49 61 70 56 6f 6e 2b 4b stTTZbyACMANxsbqjYAuG7ZoIapVon+K
1d1240 7a 34 5a 4e 6b 66 46 36 54 70 74 39 35 4c 59 32 46 34 35 54 50 49 31 31 78 0a 7a 50 4b 77 54 64 z4ZNkfF6Tpt95LY2F45TPI11x.zPKwTd
1d1260 62 2b 6d 63 69 55 71 58 57 69 34 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 b+mciUqXWi4w==.-----END.CERTIFIC
1d1280 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 43 41 20 47 6c 6f 62 61 6c 20 47 32 20 52 6f 6f 74 0a 3d 3d 3d ATE-----..UCA.Global.G2.Root.===
1d12a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1d12c0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 52 6a 43 43 41 79 36 67 41 77 49 42 41 67 49 51 FICATE-----.MIIFRjCCAy6gAwIBAgIQ
1d12e0 58 64 2b 78 32 6c 71 6a 37 56 32 2b 57 6d 55 67 5a 51 4f 51 37 7a 41 4e 42 67 6b 71 68 6b 69 47 Xd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG
1d1300 39 77 30 42 41 51 73 46 41 44 41 39 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 44 54 6a 45 9w0BAQsFADA9MQswCQYDVQQG.EwJDTjE
1d1320 52 4d 41 38 47 41 31 55 45 43 67 77 49 56 57 35 70 56 48 4a 31 63 33 51 78 47 7a 41 5a 42 67 4e RMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgN
1d1340 56 42 41 4d 4d 45 6c 56 44 51 53 42 48 62 47 39 69 59 57 77 67 52 7a 49 67 55 6d 39 76 64 44 41 VBAMMElVDQSBHbG9iYWwgRzIgUm9vdDA
1d1360 65 46 77 30 78 0a 4e 6a 41 7a 4d 54 45 77 4d 44 41 77 4d 44 42 61 46 77 30 30 4d 44 45 79 4d 7a eFw0x.NjAzMTEwMDAwMDBaFw00MDEyMz
1d1380 45 77 4d 44 41 77 4d 44 42 61 4d 44 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 4f 4d 52 EwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMR
1d13a0 45 77 44 77 59 44 56 51 51 4b 44 41 68 56 62 6d 6c 55 0a 63 6e 56 7a 64 44 45 62 4d 42 6b 47 41 EwDwYDVQQKDAhVbmlU.cnVzdDEbMBkGA
1d13c0 31 55 45 41 77 77 53 56 55 4e 42 49 45 64 73 62 32 4a 68 62 43 42 48 4d 69 42 53 62 32 39 30 4d 1UEAwwSVUNBIEdsb2JhbCBHMiBSb290M
1d13e0 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a IICIjANBgkqhkiG9w0BAQEFAAOCAg8A.
1d1400 4d 49 49 43 43 67 4b 43 41 67 45 41 78 65 59 72 62 33 7a 76 4a 67 55 6e 6f 34 45 6b 32 6d 2f 4c MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/L
1d1420 41 66 6d 5a 6d 71 6b 79 77 69 4b 48 59 55 47 52 4f 38 76 44 61 42 73 47 78 55 79 70 4b 38 46 6e AfmZmqkywiKHYUGRO8vDaBsGxUypK8Fn
1d1440 46 79 49 64 4b 2b 33 35 4b 59 6d 54 0a 6f 6e 69 39 6b 6d 75 67 6f 77 32 69 66 73 71 54 73 36 62 FyIdK+35KYmT.oni9kmugow2ifsqTs6b
1d1460 52 6a 44 58 56 64 66 6b 58 39 73 39 46 78 65 56 36 37 48 65 54 6f 49 38 6a 72 67 34 61 41 33 2b RjDXVdfkX9s9FxeV67HeToI8jrg4aA3+
1d1480 2b 31 4e 44 74 4c 6e 75 72 52 69 4e 62 2f 79 7a 6d 56 48 71 55 77 43 6f 56 0a 38 4d 6d 4e 73 48 +1NDtLnurRiNb/yzmVHqUwCoV.8MmNsH
1d14a0 6f 37 4a 4f 48 58 61 4f 49 78 50 41 59 7a 52 72 5a 55 45 61 61 6c 4c 79 4a 55 4b 6c 67 4e 41 51 o7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQ
1d14c0 4c 78 2b 68 56 52 5a 32 7a 41 2b 74 65 32 47 33 2f 52 56 6f 67 76 47 6a 71 4e 4f 37 75 43 45 65 Lx+hVRZ2zA+te2G3/RVogvGjqNO7uCEe
1d14e0 42 48 41 4e 42 53 0a 68 36 76 37 68 6e 34 50 4a 47 74 41 6e 54 52 6e 76 49 33 48 4c 59 5a 76 65 BHANBS.h6v7hn4PJGtAnTRnvI3HLYZve
1d1500 54 36 4f 71 54 77 58 53 33 2b 77 6d 65 4f 77 63 57 44 63 43 2f 56 6b 77 38 35 44 76 47 31 78 75 T6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xu
1d1520 64 4c 65 4a 31 75 4b 36 4e 6a 47 72 75 46 5a 66 63 38 6f 0a 4c 54 57 34 6c 56 59 61 38 62 4a 59 dLeJ1uK6NjGruFZfc8o.LTW4lVYa8bJY
1d1540 53 37 63 53 4e 38 68 38 73 2b 31 4c 67 4f 47 4e 2b 6a 49 6a 74 6d 2b 33 53 4a 55 49 73 55 52 4f S7cSN8h8s+1LgOGN+jIjtm+3SJUIsURO
1d1560 68 59 77 36 41 6c 51 67 4c 39 2b 2f 56 30 38 37 4f 70 41 68 31 38 45 6d 4e 56 51 67 37 4d 63 2f hYw6AlQgL9+/V087OpAh18EmNVQg7Mc/
1d1580 0a 52 2b 7a 76 57 72 39 4c 65 73 47 74 4f 78 64 51 58 47 4c 59 44 30 74 4b 33 43 76 36 62 72 78 .R+zvWr9LesGtOxdQXGLYD0tK3Cv6brx
1d15a0 7a 6b 73 33 73 78 31 44 6f 51 5a 62 58 71 58 35 74 32 4f 6b 64 6a 34 71 31 75 56 69 53 75 6b 71 zks3sx1DoQZbXqX5t2Okdj4q1uViSukq
1d15c0 53 4b 77 78 57 2f 59 44 72 43 50 42 65 0a 4b 57 34 62 48 41 79 76 6a 35 4f 4a 72 64 75 39 6f 35 SKwxW/YDrCPBe.KW4bHAyvj5OJrdu9o5
1d15e0 34 68 79 6f 6b 5a 37 4e 2b 31 77 78 72 72 46 76 35 34 4e 6b 7a 57 62 74 41 2b 46 78 79 51 46 32 4hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2
1d1600 73 6d 75 76 74 36 4c 37 38 52 48 42 67 4f 4c 58 4d 44 6a 36 44 6c 4e 61 42 61 0a 34 6b 78 31 48 smuvt6L78RHBgOLXMDj6DlNaBa.4kx1H
1d1620 58 48 68 4f 54 68 54 65 45 44 4d 67 35 50 58 43 70 36 64 57 34 2b 4b 35 4f 58 67 53 4f 52 49 73 XHhOThTeEDMg5PXCp6dW4+K5OXgSORIs
1d1640 6b 66 4e 54 69 70 31 4b 6e 76 79 49 76 62 4a 76 67 6d 52 6c 6c 64 36 69 49 69 73 37 6e 43 73 2b kfNTip1KnvyIvbJvgmRlld6iIis7nCs+
1d1660 64 77 70 34 77 77 63 0a 4f 78 4a 4f 52 4e 61 6e 54 72 41 6d 79 50 50 5a 47 70 65 52 61 4f 72 76 dwp4wwc.OxJORNanTrAmyPPZGpeRaOrv
1d1680 6a 55 59 47 30 6c 5a 46 57 4a 6f 38 44 41 2b 44 75 41 55 6c 77 7a 6e 50 4f 36 51 30 69 62 64 35 jUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5
1d16a0 45 69 39 48 78 65 65 70 6c 32 6e 38 70 6e 64 6e 74 64 39 37 0a 38 58 70 6c 46 65 52 68 56 6d 55 Ei9Hxeepl2n8pndntd97.8XplFeRhVmU
1d16c0 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 CAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgE
1d16e0 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 GMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0
1d1700 4f 0a 42 42 59 45 46 49 48 45 6a 4d 7a 31 35 44 44 2f 70 51 77 49 58 34 77 56 5a 79 46 30 41 64 O.BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad
1d1720 2f 66 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 41 54 5a 53 /fMA0GCSqGSIb3DQEBCwUAA4ICAQATZS
1d1740 4c 31 6a 69 75 74 52 4f 54 4c 2f 37 6c 6f 0a 35 73 4f 41 53 44 30 45 65 2f 6f 6a 4c 33 72 74 4e L1jiutROTL/7lo.5sOASD0Ee/ojL3rtN
1d1760 74 71 79 7a 6d 33 32 35 70 37 6c 58 31 69 50 79 7a 63 79 6f 63 68 6c 74 71 34 34 50 54 55 62 50 tqyzm325p7lX1iPyzcyochltq44PTUbP
1d1780 72 77 37 74 67 54 51 76 50 6c 4a 39 5a 76 33 68 63 55 32 74 73 75 38 2b 4d 67 35 0a 31 65 52 66 rw7tgTQvPlJ9Zv3hcU2tsu8+Mg5.1eRf
1d17a0 42 37 30 56 56 4a 64 30 79 73 72 74 54 37 71 36 5a 48 61 66 67 62 69 45 52 55 6c 4d 6a 57 2b 69 B70VVJd0ysrtT7q6ZHafgbiERUlMjW+i
1d17c0 36 37 48 4d 30 63 4f 55 32 6b 54 43 35 75 4c 71 47 4f 69 69 48 79 63 46 75 74 66 6c 31 71 6e 4e 67HM0cOU2kTC5uLqGOiiHycFutfl1qnN
1d17e0 33 65 39 32 6d 49 30 41 0a 44 73 30 62 2b 67 4f 33 6a 6f 42 59 44 69 63 2f 55 76 75 55 6f 73 70 3e92mI0A.Ds0b+gO3joBYDic/UvuUosp
1d1800 65 5a 63 6e 57 68 4e 71 35 4e 58 48 7a 4a 73 42 50 64 2b 61 42 4a 39 4a 33 4f 35 6f 55 62 33 6e eZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n
1d1820 30 39 74 44 68 30 35 53 36 30 46 64 52 76 53 63 46 44 63 48 39 0a 79 42 49 77 37 6d 2b 4e 45 53 09tDh05S60FdRvScFDcH9.yBIw7m+NES
1d1840 73 49 6e 64 54 55 76 34 42 46 46 4a 71 49 52 4e 6f 77 36 72 53 6e 34 2b 37 76 57 34 4c 56 50 74 sIndTUv4BFFJqIRNow6rSn4+7vW4LVPt
1d1860 61 74 65 4a 4c 62 58 44 7a 7a 32 4b 33 36 75 47 74 2f 78 44 59 6f 74 67 49 56 69 6c 51 73 6e 4c ateJLbXDzz2K36uGt/xDYotgIVilQsnL
1d1880 41 58 0a 63 34 37 51 4e 36 4d 55 50 4a 69 56 41 41 77 70 42 56 75 65 53 55 6d 78 58 38 66 6a 79 AX.c47QN6MUPJiVAAwpBVueSUmxX8fjy
1d18a0 38 38 6e 5a 59 34 31 46 37 64 58 79 44 44 5a 51 56 75 35 46 4c 62 6f 77 67 2b 55 4d 61 65 55 6d 88nZY41F7dXyDDZQVu5FLbowg+UMaeUm
1d18c0 4d 78 71 36 37 58 68 4a 2f 55 51 71 41 48 6f 0a 6a 68 4a 69 36 49 6a 4d 74 58 39 47 6c 38 43 62 Mxq67XhJ/UQqAHo.jhJi6IjMtX9Gl8Cb
1d18e0 45 47 59 34 47 6a 5a 47 58 79 4a 6f 50 64 2f 4a 78 68 4d 6e 71 31 4d 47 72 4b 49 38 68 67 5a 6c EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZl
1d1900 62 37 46 2b 73 53 6c 45 6d 71 4f 36 53 57 6b 6f 61 59 2f 58 35 56 2b 74 42 49 5a 6b 0a 62 78 71 b7F+sSlEmqO6SWkoaY/X5V+tBIZk.bxq
1d1920 67 44 4d 55 49 59 73 36 41 6f 39 44 7a 37 47 6a 65 76 6a 50 48 46 31 74 2f 67 4d 52 4d 54 4c 47 gDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLG
1d1940 6d 68 49 72 44 4f 37 67 4a 7a 52 53 42 75 68 6a 6a 56 46 63 32 2f 74 73 76 66 45 65 68 4f 6a 50 mhIrDO7gJzRSBuhjjVFc2/tsvfEehOjP
1d1960 49 2b 56 67 37 52 45 2b 78 0a 79 67 4b 4a 42 4a 59 6f 61 4d 56 4c 75 43 61 4a 75 39 59 7a 4c 31 I+Vg7RE+x.ygKJBJYoaMVLuCaJu9YzL1
1d1980 44 56 2f 70 71 4a 75 68 67 79 6b 6c 54 47 57 2b 43 64 2b 56 37 6c 44 53 4b 62 39 74 72 69 79 43 DV/pqJuhgyklTGW+Cd+V7lDSKb9triyC
1d19a0 47 79 59 69 47 71 68 6b 43 79 4c 6d 54 54 58 38 6a 6a 66 68 46 6e 0a 52 52 38 46 2f 75 4f 69 37 GyYiGqhkCyLmTTX8jjfhFn.RR8F/uOi7
1d19c0 37 4f 6f 73 2f 4e 39 6a 2f 67 4d 48 79 49 66 4c 58 43 30 75 41 45 30 64 6a 41 41 35 53 4e 34 70 7Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p
1d19e0 31 62 58 55 42 2b 4b 2b 77 62 31 77 68 6e 77 30 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 1bXUB+K+wb1whnw0A==.-----END.CER
1d1a00 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 43 41 20 45 78 74 65 6e 64 65 64 20 56 61 6c 69 TIFICATE-----..UCA.Extended.Vali
1d1a20 64 61 74 69 6f 6e 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d dation.Root.====================
1d1a40 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1d1a60 2d 2d 2d 2d 0a 4d 49 49 46 57 6a 43 43 41 30 4b 67 41 77 49 42 41 67 49 51 54 39 49 72 6a 2f 56 ----.MIIFWjCCA0KgAwIBAgIQT9Irj/V
1d1a80 6b 79 44 4f 65 54 7a 52 59 5a 69 4e 77 59 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 kyDOeTzRYZiNwYDANBgkqhkiG9w0BAQs
1d1aa0 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 44 54 6a 45 52 4d 41 38 47 41 31 FADBHMQswCQYDVQQG.EwJDTjERMA8GA1
1d1ac0 55 45 43 67 77 49 56 57 35 70 56 48 4a 31 63 33 51 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHF
1d1ae0 56 44 51 53 42 46 65 48 52 6c 62 6d 52 6c 5a 43 42 57 59 57 78 70 5a 47 46 30 61 57 39 75 0a 49 VDQSBFeHRlbmRlZCBWYWxpZGF0aW9u.I
1d1b00 46 4a 76 62 33 51 77 48 68 63 4e 4d 54 55 77 4d 7a 45 7a 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d FJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNM
1d1b20 7a 67 78 4d 6a 4d 78 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 zgxMjMxMDAwMDAwWjBHMQswCQYDVQQGE
1d1b40 77 4a 44 54 6a 45 52 4d 41 38 47 0a 41 31 55 45 43 67 77 49 56 57 35 70 56 48 4a 31 63 33 51 78 wJDTjERMA8G.A1UECgwIVW5pVHJ1c3Qx
1d1b60 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 56 44 51 53 42 46 65 48 52 6c 62 6d 52 6c 5a 43 42 57 JTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBW
1d1b80 59 57 78 70 5a 47 46 30 61 57 39 75 49 46 4a 76 62 33 51 77 67 67 49 69 0a 4d 41 30 47 43 53 71 YWxpZGF0aW9uIFJvb3QwggIi.MA0GCSq
1d1ba0 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 GSIb3DQEBAQUAA4ICDwAwggIKAoICAQC
1d1bc0 70 43 51 63 6f 45 77 4b 77 6d 65 42 6b 71 68 35 44 46 6e 70 7a 73 5a 47 67 64 54 36 6f 2b 75 4d pCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM
1d1be0 34 41 48 72 73 0a 69 57 6f 67 44 34 76 46 73 4a 73 7a 41 31 71 47 78 6c 69 47 31 63 47 46 75 30 4AHrs.iWogD4vFsJszA1qGxliG1cGFu0
1d1c00 2f 47 6e 45 42 4e 79 72 37 75 61 5a 61 34 72 59 45 77 6d 6e 79 53 42 65 73 46 4b 35 70 49 30 4c /GnEBNyr7uaZa4rYEwmnySBesFK5pI0L
1d1c20 68 32 50 70 62 49 49 4c 76 53 73 50 47 50 32 4b 78 46 0a 52 76 2b 71 5a 32 43 30 64 33 35 71 48 h2PpbIILvSsPGP2KxF.Rv+qZ2C0d35qH
1d1c40 7a 77 61 55 6e 6f 45 50 51 63 38 68 51 32 45 30 42 39 32 43 76 64 71 46 4e 39 79 34 7a 52 38 56 zwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V
1d1c60 30 35 57 41 54 35 35 38 61 6f 70 4f 32 7a 36 2b 49 39 74 54 63 67 31 33 36 37 72 33 43 54 75 0a 05WAT558aopO2z6+I9tTcg1367r3CTu.
1d1c80 65 55 57 6e 68 62 59 46 69 4e 36 49 58 53 56 38 6c 32 52 6e 43 64 6d 2f 57 68 55 46 68 76 4d 4a eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJ
1d1ca0 48 75 78 59 4d 6a 4d 52 38 33 64 6b 73 48 59 66 35 42 41 31 46 78 76 79 44 72 46 73 70 43 71 6a HuxYMjMR83dksHYf5BA1FxvyDrFspCqj
1d1cc0 63 2f 77 4a 48 78 34 79 47 56 4d 52 0a 35 39 6d 7a 4c 43 35 32 4c 71 47 6a 33 6e 35 71 69 41 6e c/wJHx4yGVMR.59mzLC52LqGj3n5qiAn
1d1ce0 6f 38 67 65 4b 2b 4c 4c 4e 45 4f 66 69 63 30 43 54 75 77 6a 52 50 2b 48 38 43 35 53 7a 4a 65 39 o8geK+LLNEOfic0CTuwjRP+H8C5SzJe9
1d1d00 38 70 74 66 52 72 35 2f 2f 6c 70 72 31 6b 58 75 59 43 33 66 55 66 75 67 48 0a 30 6d 4b 31 6c 54 8ptfRr5//lpr1kXuYC3fUfugH.0mK1lT
1d1d20 6e 6a 38 2f 46 74 44 77 35 6c 68 49 70 6a 56 4d 57 41 74 75 43 65 53 33 31 48 4a 71 63 42 43 46 nj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF
1d1d40 33 52 69 4a 37 58 77 7a 4a 45 2b 6f 4a 4b 43 6d 68 55 66 7a 68 54 41 38 79 6b 41 44 4e 6b 55 56 3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUV
1d1d60 6b 4c 6f 34 4b 52 0a 65 6c 37 73 46 73 4c 7a 4b 75 5a 69 32 69 72 62 57 57 49 51 4a 55 6f 71 67 kLo4KR.el7sFsLzKuZi2irbWWIQJUoqg
1d1d80 51 74 48 42 30 4d 47 63 49 66 53 2b 70 4d 52 4b 58 70 49 54 65 75 55 78 33 42 4e 72 32 66 56 55 QtHB0MGcIfS+pMRKXpITeuUx3BNr2fVU
1d1da0 62 47 41 49 41 45 42 74 48 6f 49 70 70 42 2f 54 75 44 76 0a 42 30 47 48 72 32 71 6c 58 6f 76 37 bGAIAEBtHoIppB/TuDv.B0GHr2qlXov7
1d1dc0 7a 31 43 79 6d 6c 53 76 77 34 6d 36 57 43 33 31 4d 4a 69 78 4e 6e 49 35 66 6b 6b 45 2f 53 6d 6e z1CymlSvw4m6WC31MJixNnI5fkkE/Smn
1d1de0 54 48 6e 6b 42 56 66 62 6c 4c 6b 57 55 34 31 47 73 78 32 56 59 56 64 57 66 36 2f 77 46 6c 74 68 THnkBVfblLkWU41Gsx2VYVdWf6/wFlth
1d1e00 0a 57 47 38 32 55 42 45 4c 32 4b 77 72 6c 52 59 61 44 68 38 49 7a 54 59 30 5a 52 42 69 5a 74 57 .WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtW
1d1e20 41 58 78 51 67 58 79 30 4d 6f 48 67 4b 61 4e 59 73 31 2b 6c 76 4b 39 4a 4b 42 5a 50 38 6e 6d 39 AXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9
1d1e40 72 5a 2f 2b 49 38 55 36 6c 61 55 70 53 0a 4e 77 58 71 78 68 61 4e 30 73 53 5a 30 59 49 72 4f 37 rZ/+I8U6laUpS.NwXqxhaN0sSZ0YIrO7
1d1e60 6f 31 64 66 64 52 55 56 6a 7a 79 41 66 64 35 4c 51 44 66 77 49 44 41 51 41 42 6f 30 49 77 51 44 o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQD
1d1e80 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 32 58 51 36 35 44 41 39 44 66 63 53 0a 33 48 35 61 42 AdBgNVHQ4EFgQU2XQ65DA9DfcS.3H5aB
1d1ea0 5a 38 65 4e 4a 72 33 34 52 51 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f Z8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/
1d1ec0 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIh
1d1ee0 76 63 4e 41 51 45 4c 0a 42 51 41 44 67 67 49 42 41 44 61 4e 6c 38 78 43 46 57 51 70 4e 35 73 6d vcNAQEL.BQADggIBADaNl8xCFWQpN5sm
1d1f00 4c 4e 62 37 72 68 56 70 4c 47 73 61 47 76 64 66 74 76 6b 48 54 46 6e 71 38 38 6e 49 75 61 37 4d LNb7rhVpLGsaGvdftvkHTFnq88nIua7M
1d1f20 75 69 35 36 33 4d 44 31 73 43 33 41 4f 36 2b 66 63 41 55 52 0a 61 70 38 6c 54 77 45 70 63 4f 50 ui563MD1sC3AO6+fcAUR.ap8lTwEpcOP
1d1f40 6c 44 4f 48 71 57 6e 7a 63 53 62 76 42 48 69 71 42 39 52 5a 4c 63 70 48 49 6f 6a 47 35 71 74 72 lDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr
1d1f60 38 6e 52 2f 7a 58 55 41 43 45 2f 78 4f 48 41 62 4b 73 78 53 51 56 42 63 5a 45 68 72 78 48 39 63 8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9c
1d1f80 4d 0a 61 56 72 32 63 58 6a 30 6c 48 32 52 43 34 37 73 6b 46 53 4f 76 47 2b 68 54 4b 76 38 64 47 M.aVr2cXj0lH2RC47skFSOvG+hTKv8dG
1d1fa0 54 39 63 5a 72 34 51 51 65 68 7a 5a 48 6b 50 4a 72 67 6d 7a 49 35 63 36 73 71 31 57 6e 49 65 4a T9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJ
1d1fc0 45 6d 4d 58 33 69 78 7a 44 78 2f 42 52 34 0a 64 78 49 4f 45 2f 54 64 46 70 53 2f 53 32 64 37 63 EmMX3ixzDx/BR4.dxIOE/TdFpS/S2d7c
1d1fe0 46 4f 46 79 72 43 37 38 7a 68 4e 4c 4a 41 35 77 41 33 43 58 57 76 70 34 75 58 56 69 49 33 57 4c FOFyrC78zhNLJA5wA3CXWvp4uXViI3WL
1d2000 4c 2b 72 47 37 36 31 4b 49 63 53 46 33 52 75 2f 48 33 38 6a 39 43 48 4a 72 41 62 0a 2b 37 6c 73 L+rG761KIcSF3Ru/H38j9CHJrAb.+7ls
1d2020 71 2b 4b 65 50 52 58 42 4f 79 35 6e 41 6c 69 52 6e 2b 2f 34 51 68 38 73 74 32 6a 31 64 61 33 50 q+KePRXBOy5nAliRn+/4Qh8st2j1da3P
1d2040 74 66 62 2f 45 58 33 43 38 43 53 6c 72 64 50 36 6f 44 79 70 2b 6c 33 63 70 61 44 76 52 4b 53 2b tfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+
1d2060 31 75 6a 6c 35 42 4f 57 0a 46 33 73 47 50 6a 4c 74 78 37 64 43 76 48 61 6a 32 47 55 34 4b 7a 67 1ujl5BOW.F3sGPjLtx7dCvHaj2GU4Kzg
1d2080 31 55 53 45 4f 44 6d 38 75 4e 42 4e 41 34 53 74 6e 44 47 31 4b 51 54 41 59 49 31 6f 79 56 5a 6e 1USEODm8uNBNA4StnDG1KQTAYI1oyVZn
1d20a0 4a 46 2b 41 38 33 76 62 73 65 61 30 72 57 42 6d 69 72 53 77 69 0a 47 70 57 4f 76 70 61 51 58 55 JF+A83vbsea0rWBmirSwi.GpWOvpaQXU
1d20c0 4a 58 78 50 6b 55 41 7a 55 72 48 43 31 52 56 77 69 6e 4f 74 34 2f 35 4d 69 30 41 33 50 43 77 53 JXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwS
1d20e0 61 41 75 77 74 43 48 36 30 4e 72 79 5a 79 32 73 79 2b 73 36 4f 44 57 41 32 43 78 52 39 47 55 65 aAuwtCH60NryZy2sy+s6ODWA2CxR9GUe
1d2100 4f 63 0a 47 4d 79 4e 6d 34 33 73 53 65 74 31 55 4e 57 4d 4b 46 6e 4b 64 44 54 61 6a 41 73 68 71 Oc.GMyNm43sSet1UNWMKFnKdDTajAshq
1d2120 78 37 71 47 2b 58 48 2f 52 55 2b 77 42 65 71 2b 79 4e 75 4a 6b 62 4c 2b 76 6d 78 63 6d 74 70 7a x7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpz
1d2140 79 4b 45 43 32 49 50 72 4e 6b 5a 41 4a 53 69 0a 64 6a 7a 55 4c 5a 72 74 42 4a 34 74 42 6d 49 51 yKEC2IPrNkZAJSi.djzULZrtBJ4tBmIQ
1d2160 4e 31 49 63 68 58 49 62 4a 2b 58 4d 78 6a 48 73 4e 2b 78 6a 57 5a 73 4c 48 58 62 4d 66 6a 4b 61 N1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKa
1d2180 69 4a 55 49 4e 6c 4b 37 33 6e 5a 66 64 6b 6c 4a 72 58 2b 39 5a 53 43 79 79 63 45 72 0a 64 68 68 iJUINlK73nZfdklJrX+9ZSCyycEr.dhh
1d21a0 32 6e 31 61 78 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 2n1ax.-----END.CERTIFICATE-----.
1d21c0 0a 43 65 72 74 69 67 6e 61 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Certigna.Root.CA.==============
1d21e0 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1d2200 49 49 47 57 7a 43 43 42 45 4f 67 41 77 49 42 41 67 49 52 41 4d 72 70 47 34 6e 78 56 51 4d 4e 6f IIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo
1d2220 2b 5a 42 62 63 54 6a 70 75 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 57 +ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwW
1d2240 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 4e 56 42 41 6f 4d jELMAkGA1UE.BhMCRlIxEjAQBgNVBAoM
1d2260 43 55 52 6f 61 57 31 35 62 33 52 70 63 7a 45 63 4d 42 6f 47 41 31 55 45 43 77 77 54 4d 44 41 77 CURoaW15b3RpczEcMBoGA1UECwwTMDAw
1d2280 4d 69 41 30 4f 44 45 30 4e 6a 4d 77 4f 44 45 77 4d 44 41 7a 4e 6a 45 5a 0a 4d 42 63 47 41 31 55 MiA0ODE0NjMwODEwMDAzNjEZ.MBcGA1U
1d22a0 45 41 77 77 51 51 32 56 79 64 47 6c 6e 62 6d 45 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 EAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0
1d22c0 78 4d 7a 45 77 4d 44 45 77 4f 44 4d 79 4d 6a 64 61 46 77 30 7a 4d 7a 45 77 4d 44 45 77 4f 44 4d xMzEwMDEwODMyMjdaFw0zMzEwMDEwODM
1d22e0 79 4d 6a 64 61 0a 4d 46 6f 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 yMjda.MFoxCzAJBgNVBAYTAkZSMRIwEA
1d2300 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 65 57 39 30 61 58 4d 78 48 44 41 61 42 67 4e 56 42 41 YDVQQKDAlEaGlteW90aXMxHDAaBgNVBA
1d2320 73 4d 45 7a 41 77 4d 44 49 67 4e 44 67 78 4e 44 59 7a 0a 4d 44 67 78 4d 44 41 77 4d 7a 59 78 47 sMEzAwMDIgNDgxNDYz.MDgxMDAwMzYxG
1d2340 54 41 58 42 67 4e 56 42 41 4d 4d 45 45 4e 6c 63 6e 52 70 5a 32 35 68 49 46 4a 76 62 33 51 67 51 TAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ
1d2360 30 45 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 0a 0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC.
1d2380 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4e 47 44 6c 6c 47 6c 6d 78 36 6d 51 57 44 6f 79 55 DwAwggIKAoICAQDNGDllGlmx6mQWDoyU
1d23a0 4a 4a 56 38 67 39 50 46 4f 53 62 63 44 4f 38 57 56 34 33 58 32 4b 79 6a 51 6e 2b 43 79 75 33 4e JJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3N
1d23c0 57 39 73 4f 74 79 33 74 52 51 67 58 0a 73 74 6d 7a 79 39 59 58 55 6e 49 6f 32 34 35 4f 6e 6f 71 W9sOty3tRQgX.stmzy9YXUnIo245Onoq
1d23e0 32 43 2f 6d 65 68 4a 70 4e 64 74 34 69 4b 56 7a 53 73 39 49 47 50 6a 41 35 71 58 53 6a 6b 6c 59 2C/mehJpNdt4iKVzSs9IGPjA5qXSjklY
1d2400 63 6f 57 39 4d 43 69 42 74 6e 79 4e 36 74 4d 62 61 4c 4f 51 64 4c 4e 79 7a 0a 4b 4e 41 54 38 6b coW9MCiBtnyN6tMbaLOQdLNyz.KNAT8k
1d2420 78 4f 41 6b 6d 68 56 45 43 65 35 75 55 46 6f 43 32 45 79 50 2b 59 62 4e 44 72 69 68 71 45 43 42 xOAkmhVECe5uUFoC2EyP+YbNDrihqECB
1d2440 36 33 61 43 50 75 49 39 56 77 7a 6d 31 52 61 52 44 75 6f 58 72 43 30 53 49 78 77 6f 4b 46 30 76 63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0v
1d2460 4a 56 64 6c 42 38 0a 4a 58 72 4a 68 46 77 4c 72 4e 31 43 54 69 76 6e 67 71 49 6b 69 63 75 51 73 JVdlB8.JXrJhFwLrN1CTivngqIkicuQs
1d2480 74 44 75 49 37 70 6d 54 4c 74 69 70 50 6c 54 57 6d 52 37 66 4a 6a 36 6f 30 69 65 44 35 57 75 70 tDuI7pmTLtipPlTWmR7fJj6o0ieD5Wup
1d24a0 78 6a 30 61 75 77 75 41 30 57 76 38 48 54 34 4b 73 31 36 0a 58 64 47 2b 52 43 59 79 4b 66 48 78 xj0auwuA0Wv8HT4Ks16.XdG+RCYyKfHx
1d24c0 39 57 7a 4d 66 67 49 68 43 35 39 76 70 44 2b 2b 6e 56 50 69 7a 33 32 70 4c 48 78 59 47 70 66 68 9WzMfgIhC59vpD++nVPiz32pLHxYGpfh
1d24e0 50 54 63 33 47 47 59 6f 30 6b 44 46 55 59 71 4d 77 79 33 4f 55 34 67 6b 57 47 51 77 46 73 57 71 PTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq
1d2500 0a 34 4e 59 4b 70 6b 44 66 65 50 62 31 42 48 78 70 45 34 53 38 30 64 47 6e 42 73 38 42 39 32 6a .4NYKpkDfePb1BHxpE4S80dGnBs8B92j
1d2520 41 71 46 65 37 4f 6d 47 74 42 49 79 54 34 36 33 38 38 4e 74 45 62 56 6e 63 53 56 6d 75 72 4a 71 AqFe7OmGtBIyT46388NtEbVncSVmurJq
1d2540 5a 4e 6a 42 42 65 33 59 7a 49 6f 65 6a 0a 77 70 4b 47 62 76 6c 77 37 71 36 48 68 35 55 62 78 48 ZNjBBe3YzIoej.wpKGbvlw7q6Hh5UbxH
1d2560 71 39 4d 66 50 55 30 75 57 5a 2f 37 35 49 37 48 58 31 65 42 59 64 70 6e 44 42 66 7a 77 62 6f 5a q9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZ
1d2580 4c 37 7a 38 67 38 31 73 57 54 43 6f 2f 31 56 54 70 32 6c 63 35 5a 6d 49 6f 4a 0a 6c 58 63 79 6d L7z8g81sWTCo/1VTp2lc5ZmIoJ.lXcym
1d25a0 6f 4f 36 4c 41 51 36 6c 37 33 55 4c 37 37 58 62 4a 75 69 79 6e 31 74 4a 73 6c 56 31 63 2f 44 65 oO6LAQ6l73UL77XbJuiyn1tJslV1c/De
1d25c0 56 49 49 43 5a 6b 48 4a 43 31 6b 4a 57 75 6d 49 57 6d 62 61 74 31 30 54 57 75 58 65 6b 47 39 71 VIICZkHJC1kJWumIWmbat10TWuXekG9q
1d25e0 78 66 35 6b 42 64 49 0a 6a 7a 62 35 4c 64 58 46 32 2b 36 71 68 55 56 42 2b 73 30 36 52 62 46 6f xf5kBdI.jzb5LdXF2+6qhUVB+s06RbFo
1d2600 35 6a 5a 4d 6d 35 42 58 37 43 4f 35 68 77 6a 43 78 41 6e 78 6c 34 59 71 4b 45 33 69 64 4d 44 61 5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDa
1d2620 78 49 7a 62 33 2b 4b 68 46 31 6e 4f 4a 46 6c 30 4d 64 70 2f 0a 2f 54 42 74 32 64 7a 68 61 75 48 xIzb3+KhF1nOJFl0Mdp/./TBt2dzhauH
1d2640 38 58 77 49 44 41 51 41 42 6f 34 49 42 47 6a 43 43 41 52 59 77 44 77 59 44 56 52 30 54 41 51 48 8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH
1d2660 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 /BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQY
1d2680 77 0a 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 69 48 56 75 42 75 64 2b 34 6b 4e 54 78 4f 63 35 w.HQYDVR0OBBYEFBiHVuBud+4kNTxOc5
1d26a0 6f 66 31 75 48 69 65 58 34 72 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 42 69 48 56 75 of1uHieX4rMB8GA1UdIwQYMBaAFBiHVu
1d26c0 42 75 64 2b 34 6b 4e 54 78 4f 63 35 6f 66 0a 31 75 48 69 65 58 34 72 4d 45 51 47 41 31 55 64 49 Bud+4kNTxOc5of.1uHieX4rMEQGA1UdI
1d26e0 41 51 39 4d 44 73 77 4f 51 59 45 56 52 30 67 41 44 41 78 4d 43 38 47 43 43 73 47 41 51 55 46 42 AQ9MDswOQYEVR0gADAxMC8GCCsGAQUFB
1d2700 77 49 42 46 69 4e 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 33 63 75 59 32 56 79 0a 64 47 6c 6e wIBFiNodHRwczovL3d3d3cuY2Vy.dGln
1d2720 62 6d 45 75 5a 6e 49 76 59 58 56 30 62 33 4a 70 64 47 56 7a 4c 7a 42 74 42 67 4e 56 48 52 38 45 bmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8E
1d2740 5a 6a 42 6b 4d 43 2b 67 4c 61 41 72 68 69 6c 6f 64 48 52 77 4f 69 38 76 59 33 4a 73 4c 6d 4e 6c ZjBkMC+gLaArhilodHRwOi8vY3JsLmNl
1d2760 63 6e 52 70 5a 32 35 68 0a 4c 6d 5a 79 4c 32 4e 6c 63 6e 52 70 5a 32 35 68 63 6d 39 76 64 47 4e cnRpZ25h.LmZyL2NlcnRpZ25hcm9vdGN
1d2780 68 4c 6d 4e 79 62 44 41 78 6f 43 2b 67 4c 59 59 72 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 hLmNybDAxoC+gLYYraHR0cDovL2NybC5
1d27a0 6b 61 47 6c 74 65 57 39 30 61 58 4d 75 59 32 39 74 4c 32 4e 6c 0a 63 6e 52 70 5a 32 35 68 63 6d kaGlteW90aXMuY29tL2Nl.cnRpZ25hcm
1d27c0 39 76 64 47 4e 68 4c 6d 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 9vdGNhLmNybDANBgkqhkiG9w0BAQsFAA
1d27e0 4f 43 41 67 45 41 6c 4c 69 65 54 2f 44 6a 6c 51 67 69 35 38 31 6f 51 66 63 63 56 64 56 38 41 4f OCAgEAlLieT/DjlQgi581oQfccVdV8AO
1d2800 49 74 0a 4f 6f 6c 64 61 44 67 76 55 53 49 4c 53 6f 33 4c 36 62 74 64 50 72 74 63 50 62 45 6f 2f It.OoldaDgvUSILSo3L6btdPrtcPbEo/
1d2820 75 52 54 56 52 50 50 6f 5a 41 62 41 68 31 66 5a 6b 59 4a 4d 79 6a 68 44 53 53 58 63 4e 4d 51 48 uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH
1d2840 2b 70 6b 56 35 61 37 58 64 72 6e 78 49 78 50 0a 54 47 52 47 48 56 79 48 34 31 6e 65 51 74 47 62 +pkV5a7XdrnxIxP.TGRGHVyH41neQtGb
1d2860 71 48 36 6d 69 64 32 50 48 4d 6b 77 67 75 30 37 6e 4d 33 41 36 52 6e 67 61 74 67 43 64 54 65 72 qH6mid2PHMkwgu07nM3A6RngatgCdTer
1d2880 39 7a 51 6f 4b 4a 48 79 42 41 70 50 4e 65 4e 67 4a 67 48 36 30 42 47 4d 2b 52 46 71 0a 37 71 38 9zQoKJHyBApPNeNgJgH60BGM+RFq.7q8
1d28a0 39 77 31 44 54 6a 31 38 7a 65 54 79 47 71 48 4e 46 6b 49 77 67 74 6e 4a 7a 46 79 4f 2b 42 32 58 9w1DTj18zeTyGqHNFkIwgtnJzFyO+B2X
1d28c0 6c 65 4a 49 4e 75 67 48 41 36 34 77 63 5a 72 2b 73 68 6e 63 42 6c 41 32 63 35 75 6b 35 6a 52 2b leJINugHA64wcZr+shncBlA2c5uk5jR+
1d28e0 6d 55 59 79 5a 44 44 6c 33 0a 34 62 53 62 2b 68 78 6e 56 32 39 71 61 6f 36 70 4b 30 78 58 65 58 mUYyZDDl3.4bSb+hxnV29qao6pK0xXeX
1d2900 70 58 49 73 2f 4e 58 32 4e 47 6a 56 78 5a 4f 6f 62 34 4d 6b 64 69 6f 32 63 4e 47 4a 48 63 2b 36 pXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6
1d2920 5a 72 39 55 68 68 63 79 4e 5a 6a 67 4b 6e 76 45 54 71 39 45 6d 64 0a 38 56 52 59 2b 57 43 76 32 Zr9UhhcyNZjgKnvETq9Emd.8VRY+WCv2
1d2940 68 69 6b 4c 79 68 46 33 48 71 67 69 49 5a 64 38 7a 76 6e 2f 79 6b 31 67 50 78 6b 51 35 54 6d 34 hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4
1d2960 78 78 76 76 71 30 4f 4b 6d 4f 5a 4b 38 6c 2b 68 66 5a 78 36 41 59 44 6c 66 37 65 6a 30 67 63 57 xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcW
1d2980 74 53 53 0a 36 43 76 75 35 7a 48 62 75 67 52 71 68 35 6a 6e 78 56 2f 76 66 61 63 69 39 77 48 59 tSS.6Cvu5zHbugRqh5jnxV/vfaci9wHY
1d29a0 54 66 6d 4a 30 41 36 61 42 56 6d 6b 6e 70 6a 5a 62 79 76 4b 63 4c 35 6b 77 6c 57 6a 39 4f 6d 76 TfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omv
1d29c0 77 35 49 70 33 49 67 57 4a 4a 6b 38 6a 53 61 59 0a 74 6c 75 33 7a 4d 36 33 4e 77 66 39 4a 74 6d w5Ip3IgWJJk8jSaY.tlu3zM63Nwf9Jtm
1d29e0 59 68 53 54 2f 57 53 4d 44 6d 75 32 64 6e 61 6a 6b 58 6a 6a 4f 31 31 49 4e 62 39 49 2f 62 62 45 YhST/WSMDmu2dnajkXjjO11INb9I/bbE
1d2a00 46 61 30 6e 4f 69 70 46 47 63 2f 54 32 4c 2f 43 6f 63 33 63 4f 5a 61 79 68 6a 57 5a 53 0a 61 58 Fa0nOipFGc/T2L/Coc3cOZayhjWZS.aX
1d2a20 35 4c 61 41 7a 48 48 6a 63 6e 67 36 57 4d 78 77 4c 6b 46 4d 31 4a 41 62 42 7a 73 2f 33 47 6b 44 5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkD
1d2a40 70 76 30 6d 7a 74 4f 2b 37 73 6b 62 36 69 51 31 32 4c 41 45 70 6d 4a 55 52 77 33 6b 41 50 2b 48 pv0mztO+7skb6iQ12LAEpmJURw3kAP+H
1d2a60 77 56 39 36 4c 4f 50 4e 64 65 0a 45 34 79 42 46 78 67 58 30 62 33 78 64 78 41 36 31 47 55 35 77 wV96LOPNde.E4yBFxgX0b3xdxA61GU5w
1d2a80 53 65 73 56 79 77 6c 56 50 2b 69 32 6b 2b 4b 59 54 6c 65 72 6a 31 4b 6a 4c 30 3d 0a 2d 2d 2d 2d SesVywlVP+i2k+KYTlerj1KjL0=.----
1d2aa0 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 3c 3f 70 68 70 0a 0a 69 66 20 -END.CERTIFICATE-----.<?php..if.
1d2ac0 28 50 48 50 5f 53 41 50 49 20 21 3d 3d 20 27 63 6c 69 27 20 26 26 20 50 48 50 5f 53 41 50 49 20 (PHP_SAPI.!==.'cli'.&&.PHP_SAPI.
1d2ae0 21 3d 3d 20 27 70 68 70 64 62 67 27 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 27 57 61 72 6e 69 6e !==.'phpdbg').{.....echo.'Warnin
1d2b00 67 3a 20 43 6f 6d 70 6f 73 65 72 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 76 6f 6b 65 64 20 76 69 g:.Composer.should.be.invoked.vi
1d2b20 61 20 74 68 65 20 43 4c 49 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 6e 6f 74 20 74 68 a.the.CLI.version.of.PHP,.not.th
1d2b40 65 20 27 2e 50 48 50 5f 53 41 50 49 2e 27 20 53 41 50 49 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a e.'.PHP_SAPI.'.SAPI'.PHP_EOL;.}.
1d2b60 0a 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 41 4c 4c 2c 20 27 43 27 29 3b 0a 72 65 71 75 69 72 65 .setlocale(LC_ALL,.'C');.require
1d2b80 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 73 72 63 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 .__DIR__.'/../src/bootstrap.php'
1d2ba0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 ;..use.Composer\Console\Applicat
1d2bc0 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c ion;.use.Composer\XdebugHandler\
1d2be0 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 XdebugHandler;..error_reporting(
1d2c00 2d 31 29 3b 0a 0a 2f 2f 20 52 65 73 74 61 72 74 20 77 69 74 68 6f 75 74 20 78 64 65 62 75 67 0a -1);..//.Restart.without.xdebug.
1d2c20 24 78 64 65 62 75 67 20 3d 20 6e 65 77 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 28 27 43 6f 6d $xdebug.=.new.XdebugHandler('Com
1d2c40 70 6f 73 65 72 27 2c 20 27 2d 2d 61 6e 73 69 27 29 3b 0a 24 78 64 65 62 75 67 2d 3e 63 68 65 63 poser',.'--ansi');.$xdebug->chec
1d2c60 6b 28 29 3b 0a 75 6e 73 65 74 28 24 78 64 65 62 75 67 29 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 k();.unset($xdebug);..if.(define
1d2c80 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 76 65 72 73 69 6f 6e 5f 63 6f 6d d('HHVM_VERSION').&&.version_com
1d2ca0 70 61 72 65 28 48 48 56 4d 5f 56 45 52 53 49 4f 4e 2c 20 27 34 2e 30 27 2c 20 27 3e 3d 27 29 29 pare(HHVM_VERSION,.'4.0',.'>='))
1d2cc0 20 7b 0a 20 20 20 20 65 63 68 6f 20 27 48 48 56 4d 20 34 2e 30 20 68 61 73 20 64 72 6f 70 70 65 .{.....echo.'HHVM.4.0.has.droppe
1d2ce0 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 43 6f 6d 70 6f 73 65 72 2c 20 70 6c 65 61 73 65 20 75 d.support.for.Composer,.please.u
1d2d00 73 65 20 50 48 50 20 69 6e 73 74 65 61 64 2e 20 41 62 6f 72 74 69 6e 67 2e 27 2e 50 48 50 5f 45 se.PHP.instead..Aborting.'.PHP_E
1d2d20 4f 4c 3b 0a 20 20 20 20 65 78 69 74 28 31 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e OL;.....exit(1);.}..if.(function
1d2d40 5f 65 78 69 73 74 73 28 27 69 6e 69 5f 73 65 74 27 29 29 20 7b 0a 20 20 20 20 40 69 6e 69 5f 73 _exists('ini_set')).{.....@ini_s
1d2d60 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 31 29 3b 0a 0a 20 20 20 20 24 6d et('display_errors',.1);......$m
1d2d80 65 6d 6f 72 79 49 6e 42 79 74 65 73 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 emoryInBytes.=.function.($value)
1d2da0 20 7b 0a 20 20 20 20 20 20 20 20 24 75 6e 69 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 .{.........$unit.=.strtolower(su
1d2dc0 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 31 2c 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 24 76 bstr($value,.-1,.1));.........$v
1d2de0 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 73 77 69 alue.=.(int).$value;.........swi
1d2e00 74 63 68 28 24 75 6e 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 tch($unit).{.............case.'g
1d2e20 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 ':.................$value.*=.102
1d2e40 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 20 28 4;.................//.no.break.(
1d2e60 63 75 6d 75 6c 61 74 69 76 65 20 6d 75 6c 74 69 70 6c 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 cumulative.multiplier)..........
1d2e80 20 20 20 63 61 73 65 20 27 6d 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 ...case.'m':.................$va
1d2ea0 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 lue.*=.1024;.................//.
1d2ec0 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d 75 6c 61 74 69 76 65 20 6d 75 6c 74 69 70 6c 69 65 72 29 no.break.(cumulative.multiplier)
1d2ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 3a 0a 20 20 20 20 20 20 20 20 20 .............case.'k':..........
1d2f00 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 7d .......$value.*=.1024;.........}
1d2f20 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 7d 3b 0a ..........return.$value;.....};.
1d2f40 0a 20 20 20 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 3d 20 74 72 69 6d 28 69 6e 69 5f 67 65 74 .....$memoryLimit.=.trim(ini_get
1d2f60 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 29 29 3b 0a 20 20 20 20 2f 2f 20 49 6e 63 72 65 61 ('memory_limit'));.....//.Increa
1d2f80 73 65 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 20 69 66 20 69 74 20 69 73 20 6c 6f 77 65 72 20 74 se.memory_limit.if.it.is.lower.t
1d2fa0 68 61 6e 20 31 2e 35 47 42 0a 20 20 20 20 69 66 20 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 21 han.1.5GB.....if.($memoryLimit.!
1d2fc0 3d 20 2d 31 20 26 26 20 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 28 24 6d 65 6d 6f 72 79 4c 69 =.-1.&&.$memoryInBytes($memoryLi
1d2fe0 6d 69 74 29 20 3c 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 35 33 36 29 20 7b 0a 20 20 20 mit).<.1024.*.1024.*.1536).{....
1d3000 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 27 31 .....@ini_set('memory_limit',.'1
1d3020 35 33 36 4d 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 53 65 74 20 75 73 65 72 20 64 65 536M');.....}.....//.Set.user.de
1d3040 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 69 6d 69 74 0a 20 20 20 20 69 66 20 28 24 6d 65 6d 6f fined.memory.limit.....if.($memo
1d3060 72 79 4c 69 6d 69 74 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 4d 45 4d 4f 52 ryLimit.=.getenv('COMPOSER_MEMOR
1d3080 59 5f 4c 49 4d 49 54 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 6d Y_LIMIT')).{.........@ini_set('m
1d30a0 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 3b 0a 20 20 20 emory_limit',.$memoryLimit);....
1d30c0 20 7d 0a 20 20 20 20 75 6e 73 65 74 28 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 2c 20 24 6d 65 .}.....unset($memoryInBytes,.$me
1d30e0 6d 6f 72 79 4c 69 6d 69 74 29 3b 0a 7d 0a 0a 70 75 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f moryLimit);.}..putenv('COMPOSER_
1d3100 42 49 4e 41 52 59 3d 27 2e 72 65 61 6c 70 61 74 68 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 BINARY='.realpath($_SERVER['argv
1d3120 27 5d 5b 30 5d 29 29 3b 0a 0a 2f 2f 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 70 70 '][0]));..//.run.the.command.app
1d3140 6c 69 63 61 74 69 6f 6e 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c lication.$application.=.new.Appl
1d3160 69 63 61 74 69 6f 6e 28 29 3b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 29 3b 0a ication();.$application->run();.
1d3180 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 2c 20 4a 6f .Copyright.(c).Nils.Adermann,.Jo
1d31a0 72 64 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 rdi.Boggiano..Permission.is.here
1d31c0 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 by.granted,.free.of.charge,.to.a
1d31e0 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 ny.person.obtaining.a.copy.of.th
1d3200 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d is.software.and.associated.docum
1d3220 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c entation.files.(the."Software"),
1d3240 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 .to.deal.in.the.Software.without
1d3260 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 .restriction,.including.without.
1d3280 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f limitation.the.rights.to.use,.co
1d32a0 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 py,.modify,.merge,.publish,.dist
1d32c0 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a ribute,.sublicense,.and/or.sell.
1d32e0 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 copies.of.the.Software,.and.to.p
1d3300 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 ermit.persons.to.whom.the.Softwa
1d3320 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 re.is.furnished.to.do.so,.subjec
1d3340 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a t.to.the.following.conditions:..
1d3360 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 The.above.copyright.notice.and.t
1d3380 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 his.permission.notice.shall.be.i
1d33a0 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e ncluded.in.all.copies.or.substan
1d33c0 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a tial.portions.of.the.Software...
1d33e0 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 THE.SOFTWARE.IS.PROVIDED."AS.IS"
1d3400 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 ,.WITHOUT.WARRANTY.OF.ANY.KIND,.
1d3420 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 EXPRESS.OR.IMPLIED,.INCLUDING.BU
1d3440 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 T.NOT.LIMITED.TO.THE.WARRANTIES.
1d3460 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 OF.MERCHANTABILITY,.FITNESS.FOR.
1d3480 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 A.PARTICULAR.PURPOSE.AND.NONINFR
1d34a0 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a INGEMENT..IN.NO.EVENT.SHALL.THE.
1d34c0 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 AUTHORS.OR.COPYRIGHT.HOLDERS.BE.
1d34e0 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 LIABLE.FOR.ANY.CLAIM,.DAMAGES.OR
1d3500 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 .OTHER.LIABILITY,.WHETHER.IN.AN.
1d3520 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 ACTION.OF.CONTRACT,.TORT.OR.OTHE
1d3540 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 RWISE,.ARISING.FROM,.OUT.OF.OR.I
1d3560 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f N.CONNECTION.WITH.THE.SOFTWARE.O
1d3580 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 R.THE.USE.OR.OTHER.DEALINGS.IN.T
1d35a0 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 19 c7 fd 7b 93 ca c4 59 05 0e 73 86 7b a4 4d 86 13 47 HE.SOFTWARE......{...Y..s.{.M..G
1d35c0 eb 38 02 00 00 00 47 42 4d 42 .8....GBMB